{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./ClientApp/app/components/app/app.ts","webpack:///./ClientApp/app/components/app/app.html","webpack:///./ClientApp/app/components/app/app.scss","webpack:///./ClientApp/app/components/app/colors.ts","webpack:///./ClientApp/app/components/attributes/auto-focus.ts","webpack:///./ClientApp/app/components/attributes/blur-on-enter.ts","webpack:///./ClientApp/app/components/attributes/draggable.ts","webpack:///./ClientApp/app/components/attributes/index.ts","webpack:///./ClientApp/app/components/attributes/mdx-no-collapse.ts","webpack:///./ClientApp/app/components/attributes/resizable.ts","webpack:///./ClientApp/app/components/aurelia-chart/attributes/chart-attribute.ts","webpack:///./ClientApp/app/components/aurelia-chart/elements/chart-element.ts","webpack:///./ClientApp/app/components/aurelia-chart/elements/chart-element.html","webpack:///./ClientApp/app/components/aurelia-chart/elements/chart-element.scss","webpack:///./ClientApp/app/components/aurelia-chart/index.ts","webpack:///./ClientApp/app/components/aurelia-chart/observers/model-observer.ts","webpack:///./ClientApp/app/components/aurelia-tree-view/common/deep-equal.ts","webpack:///./ClientApp/app/components/aurelia-tree-view/index.ts","webpack:///./ClientApp/app/components/aurelia-tree-view/tree-view/data-source.ts","webpack:///./ClientApp/app/components/aurelia-tree-view/tree-view/node-model.ts","webpack:///./ClientApp/app/components/aurelia-tree-view/tree-view/tree-node.ts","webpack:///./ClientApp/app/components/aurelia-tree-view/tree-view/tree-node-template.ts","webpack:///./ClientApp/app/components/aurelia-tree-view/tree-view/tree-node.html","webpack:///./ClientApp/app/components/aurelia-tree-view/tree-view/tree-node.scss","webpack:///./ClientApp/app/components/aurelia-tree-view/tree-view/tree-view.ts","webpack:///./ClientApp/app/components/aurelia-tree-view/tree-view/tree-view.html","webpack:///./ClientApp/app/components/aurelia-tree-view/tree-view/tree-view.scss","webpack:///./ClientApp/app/components/collections/dictionary.ts","webpack:///./ClientApp/app/components/controls/busy-indicator.ts","webpack:///./ClientApp/app/components/controls/busy-indicator.html","webpack:///./ClientApp/app/components/controls/busy-indicator.scss","webpack:///./ClientApp/app/components/controls/index.ts","webpack:///./ClientApp/app/components/controls/language-selector.ts","webpack:///./ClientApp/app/components/controls/language-selector.html","webpack:///./ClientApp/app/components/controls/language-selector.scss","webpack:///./ClientApp/app/components/controls/location-management.ts","webpack:///./ClientApp/app/components/controls/location-management.html","webpack:///./ClientApp/app/components/controls/location-management.scss","webpack:///./ClientApp/app/components/controls/measurement-system-selector.ts","webpack:///./ClientApp/app/components/controls/measurement-system-selector.html","webpack:///./ClientApp/app/components/controls/measurement-system-selector.scss","webpack:///./ClientApp/app/components/controls/navmenu.ts","webpack:///./ClientApp/app/components/controls/navmenu.html","webpack:///./ClientApp/app/components/controls/navmenu.scss","webpack:///./ClientApp/app/components/controls/notification-status-selector.ts","webpack:///./ClientApp/app/components/controls/notification-status-selector.html","webpack:///./ClientApp/app/components/controls/notification-status-selector.scss","webpack:///./ClientApp/app/components/controls/notification-type-selector.ts","webpack:///./ClientApp/app/components/controls/notification-type-selector.html","webpack:///./ClientApp/app/components/controls/notification-type-selector.scss","webpack:///./ClientApp/app/components/controls/temperature-scale-selector.ts","webpack:///./ClientApp/app/components/controls/temperature-scale-selector.html","webpack:///./ClientApp/app/components/controls/temperature-scale-selector.scss","webpack:///./ClientApp/app/components/controls/water-tank.ts","webpack:///./ClientApp/app/components/controls/water-tank.html","webpack:///./ClientApp/app/components/controls/water-tank.scss","webpack:///./ClientApp/app/components/converters/battery-format.ts","webpack:///./ClientApp/app/components/converters/boolean-converter.ts","webpack:///./ClientApp/app/components/converters/date-format.ts","webpack:///./ClientApp/app/components/converters/decimal-format.ts","webpack:///./ClientApp/app/components/converters/degree-format.ts","webpack:///./ClientApp/app/components/converters/dielectric-permittivity-format.ts","webpack:///./ClientApp/app/components/converters/distance-format.ts","webpack:///./ClientApp/app/components/converters/distance-value.ts","webpack:///./ClientApp/app/components/converters/dropdown-value-converter.ts","webpack:///./ClientApp/app/components/converters/electrical-conductivity-format.ts","webpack:///./ClientApp/app/components/converters/filter-child-devices.ts","webpack:///./ClientApp/app/components/converters/filter-on-property.ts","webpack:///./ClientApp/app/components/converters/has-data.ts","webpack:///./ClientApp/app/components/converters/has-property-value.ts","webpack:///./ClientApp/app/components/converters/humidity-format.ts","webpack:///./ClientApp/app/components/converters/index.ts","webpack:///./ClientApp/app/components/converters/locations-to-delimited-string.ts","webpack:///./ClientApp/app/components/converters/measurement-systems.ts","webpack:///./ClientApp/app/components/converters/moisture-format.ts","webpack:///./ClientApp/app/components/converters/precipitation-format.ts","webpack:///./ClientApp/app/components/converters/precipitation-value.ts","webpack:///./ClientApp/app/components/converters/pressure-format.ts","webpack:///./ClientApp/app/components/converters/pressure-value.ts","webpack:///./ClientApp/app/components/converters/soil-moisture-format.ts","webpack:///./ClientApp/app/components/converters/solar-radiation-format.ts","webpack:///./ClientApp/app/components/converters/speed-format.ts","webpack:///./ClientApp/app/components/converters/speed-value.ts","webpack:///./ClientApp/app/components/converters/split-word.ts","webpack:///./ClientApp/app/components/converters/temperature-converter.ts","webpack:///./ClientApp/app/components/converters/temperature-delta-format.ts","webpack:///./ClientApp/app/components/converters/temperature-delta-value.ts","webpack:///./ClientApp/app/components/converters/temperature-format.ts","webpack:///./ClientApp/app/components/converters/temperature-value.ts","webpack:///./ClientApp/app/components/converters/tree-view-icon.ts","webpack:///./ClientApp/app/components/converters/view-model-from-pascal-case.ts","webpack:///./ClientApp/app/components/converters/volumetric-water-content-format.ts","webpack:///./ClientApp/app/components/dialogs/add-user-dialog.ts","webpack:///./ClientApp/app/components/dialogs/add-user-dialog.html","webpack:///./ClientApp/app/components/dialogs/admin-dialog.ts","webpack:///./ClientApp/app/components/dialogs/admin-dialog.html","webpack:///./ClientApp/app/components/dialogs/admin-dialog.scss","webpack:///./ClientApp/app/components/dialogs/location-management-dialog.ts","webpack:///./ClientApp/app/components/dialogs/location-management-dialog.html","webpack:///./ClientApp/app/components/dialogs/location-management-dialog.scss","webpack:///./ClientApp/app/components/dialogs/settings-dialog.ts","webpack:///./ClientApp/app/components/dialogs/settings-dialog.html","webpack:///./ClientApp/app/components/dialogs/settings-dialog.scss","webpack:///./ClientApp/app/components/events/data-events.ts","webpack:///./ClientApp/app/components/events/hub-events.ts","webpack:///./ClientApp/app/components/events/locale-events.ts","webpack:///./ClientApp/app/components/events/measurement-system-events.ts","webpack:///./ClientApp/app/components/events/temperature-events.ts","webpack:///./ClientApp/app/components/logging/logger.ts","webpack:///./ClientApp/app/components/mapping/leaflet-map.ts","webpack:///./ClientApp/app/components/models/add-device-request-view-model.ts","webpack:///./ClientApp/app/components/models/application-claim-types.ts","webpack:///./ClientApp/app/components/models/application-error.ts","webpack:///./ClientApp/app/components/models/application-user.ts","webpack:///./ClientApp/app/components/models/claim.ts","webpack:///./ClientApp/app/components/models/device.ts","webpack:///./ClientApp/app/components/models/device-measurement-request-view-model.ts","webpack:///./ClientApp/app/components/models/device-metadata.ts","webpack:///./ClientApp/app/components/models/device-type.ts","webpack:///./ClientApp/app/components/models/device-type-view-model.ts","webpack:///./ClientApp/app/components/models/digital-output-toggle-request-view-model.ts","webpack:///./ClientApp/app/components/models/index.ts","webpack:///./ClientApp/app/components/models/location.ts","webpack:///./ClientApp/app/components/models/location-api-proxy.ts","webpack:///./ClientApp/app/components/models/location-hierarchy.ts","webpack:///./ClientApp/app/components/models/measurement-request-view-model.ts","webpack:///./ClientApp/app/components/models/measurement-view-model.ts","webpack:///./ClientApp/app/components/models/notification-recipient.ts","webpack:///./ClientApp/app/components/models/property.ts","webpack:///./ClientApp/app/components/models/structure.ts","webpack:///./ClientApp/app/components/models/tree-node-types.ts","webpack:///./ClientApp/app/components/models/user-preference.ts","webpack:///./ClientApp/app/components/models/web-api-response.ts","webpack:///./ClientApp/app/components/models/zone.ts","webpack:///./ClientApp/app/components/pages/admin-dashboard/admin-dashboard.ts","webpack:///./ClientApp/app/components/pages/admin-dashboard/admin-dashboard.html","webpack:///./ClientApp/app/components/pages/admin-dashboard/admin-dashboard.scss","webpack:///./ClientApp/app/components/pages/admin-dashboard/device-admin-card.ts","webpack:///./ClientApp/app/components/pages/admin-dashboard/device-admin-card.html","webpack:///./ClientApp/app/components/pages/admin-dashboard/device-admin-card.scss","webpack:///./ClientApp/app/components/pages/admin-dashboard/dialogs/add-location-dialog.ts","webpack:///./ClientApp/app/components/pages/admin-dashboard/dialogs/add-location-dialog.html","webpack:///./ClientApp/app/components/pages/admin-dashboard/dialogs/add-location-dialog.scss","webpack:///./ClientApp/app/components/pages/admin-dashboard/location-admin-card.ts","webpack:///./ClientApp/app/components/pages/admin-dashboard/location-admin-card.html","webpack:///./ClientApp/app/components/pages/admin-dashboard/location-admin-card.scss","webpack:///./ClientApp/app/components/pages/admin-dashboard/structure-admin-card.ts","webpack:///./ClientApp/app/components/pages/admin-dashboard/structure-admin-card.html","webpack:///./ClientApp/app/components/pages/admin-dashboard/structure-admin-card.scss","webpack:///./ClientApp/app/components/pages/admin-dashboard/user-admin-card.ts","webpack:///./ClientApp/app/components/pages/admin-dashboard/user-admin-card.html","webpack:///./ClientApp/app/components/pages/admin-dashboard/user-admin-card.scss","webpack:///./ClientApp/app/components/pages/admin-dashboard/zone-admin-card.ts","webpack:///./ClientApp/app/components/pages/admin-dashboard/zone-admin-card.html","webpack:///./ClientApp/app/components/pages/admin-dashboard/zone-admin-card.scss","webpack:///./ClientApp/app/components/pages/common/battery-css-classes.ts","webpack:///./ClientApp/app/components/pages/common/common-functions.ts","webpack:///./ClientApp/app/components/pages/common/common.scss","webpack:///./ClientApp/app/components/pages/common/signal-css-classes.ts","webpack:///./ClientApp/app/components/pages/common/status-colors.ts","webpack:///./ClientApp/app/components/pages/devices/devices.ts","webpack:///./ClientApp/app/components/pages/devices/devices.html","webpack:///./ClientApp/app/components/pages/devices/devices.scss","webpack:///./ClientApp/app/components/pages/devices/location-tableau.ts","webpack:///./ClientApp/app/components/pages/devices/location-tableau.html","webpack:///./ClientApp/app/components/pages/devices/location-tableau.scss","webpack:///./ClientApp/app/components/pages/devices/quick-indicators.ts","webpack:///./ClientApp/app/components/pages/devices/quick-indicators.html","webpack:///./ClientApp/app/components/pages/devices/quick-indicators.scss","webpack:///./ClientApp/app/components/pages/devices/structure-card.ts","webpack:///./ClientApp/app/components/pages/devices/structure-card.html","webpack:///./ClientApp/app/components/pages/devices/structure-card.scss","webpack:///./ClientApp/app/components/pages/devices/types/base-device.ts","webpack:///./ClientApp/app/components/pages/devices/types/card-header.ts","webpack:///./ClientApp/app/components/pages/devices/types/card-header.html","webpack:///./ClientApp/app/components/pages/devices/types/card-header.scss","webpack:///./ClientApp/app/components/pages/devices/types/curtain-controller.ts","webpack:///./ClientApp/app/components/pages/devices/types/curtain-controller.html","webpack:///./ClientApp/app/components/pages/devices/types/curtain-controller.scss","webpack:///./ClientApp/app/components/pages/devices/types/curtain-enum.ts","webpack:///./ClientApp/app/components/pages/devices/types/decentlab-t12-soil-moisture.ts","webpack:///./ClientApp/app/components/pages/devices/types/decentlab-t12-soil-moisture.html","webpack:///./ClientApp/app/components/pages/devices/types/decentlab-t12-soil-moisture.scss","webpack:///./ClientApp/app/components/pages/devices/types/decentlab-water-level.ts","webpack:///./ClientApp/app/components/pages/devices/types/decentlab-water-level.html","webpack:///./ClientApp/app/components/pages/devices/types/decentlab-water-level.scss","webpack:///./ClientApp/app/components/pages/devices/types/decentlab-weather-station.ts","webpack:///./ClientApp/app/components/pages/devices/types/decentlab-weather-station.html","webpack:///./ClientApp/app/components/pages/devices/types/decentlab-weather-station.scss","webpack:///./ClientApp/app/components/pages/devices/types/lansitec-temperature-humidity.ts","webpack:///./ClientApp/app/components/pages/devices/types/lansitec-temperature-humidity.html","webpack:///./ClientApp/app/components/pages/devices/types/lansitec-temperature-humidity.scss","webpack:///./ClientApp/app/components/pages/devices/types/netvox-temperature-humidity.ts","webpack:///./ClientApp/app/components/pages/devices/types/netvox-temperature-humidity.html","webpack:///./ClientApp/app/components/pages/devices/types/netvox-temperature-humidity.scss","webpack:///./ClientApp/app/components/pages/devices/types/null-device.ts","webpack:///./ClientApp/app/components/pages/devices/types/null-device.html","webpack:///./ClientApp/app/components/pages/devices/types/null-device.scss","webpack:///./ClientApp/app/components/pages/devices/types/sensum-soil-moisture.ts","webpack:///./ClientApp/app/components/pages/devices/types/sensum-soil-moisture.html","webpack:///./ClientApp/app/components/pages/devices/types/sensum-soil-moisture.scss","webpack:///./ClientApp/app/components/pages/devices/types/strega-smart-valve.ts","webpack:///./ClientApp/app/components/pages/devices/types/strega-smart-valve.html","webpack:///./ClientApp/app/components/pages/devices/types/strega-smart-valve.scss","webpack:///./ClientApp/app/components/pages/devices/types/temperature-base-device.ts","webpack:///./ClientApp/app/components/pages/devices/types/things-node.ts","webpack:///./ClientApp/app/components/pages/devices/types/things-node.html","webpack:///./ClientApp/app/components/pages/devices/types/things-node.scss","webpack:///./ClientApp/app/components/pages/devices/types/ursalink-soil-moisture.ts","webpack:///./ClientApp/app/components/pages/devices/types/ursalink-soil-moisture.html","webpack:///./ClientApp/app/components/pages/devices/types/ursalink-soil-moisture.scss","webpack:///./ClientApp/app/components/pages/devices/types/ursalink-uc1152.ts","webpack:///./ClientApp/app/components/pages/devices/types/ursalink-uc1152.html","webpack:///./ClientApp/app/components/pages/devices/types/ursalink-uc1152.scss","webpack:///./ClientApp/app/components/pages/devices/types/valve-state-enum.ts","webpack:///./ClientApp/app/components/pages/devices/zones/google-map-zone.ts","webpack:///./ClientApp/app/components/pages/devices/zones/google-map-zone.html","webpack:///./ClientApp/app/components/pages/devices/zones/google-map-zone.scss","webpack:///./ClientApp/app/components/pages/devices/zones/map-zone.ts","webpack:///./ClientApp/app/components/pages/devices/zones/map-zone.html","webpack:///./ClientApp/app/components/pages/devices/zones/map-zone.scss","webpack:///./ClientApp/app/components/pages/devices/zones/structure-zone.ts","webpack:///./ClientApp/app/components/pages/devices/zones/structure-zone.html","webpack:///./ClientApp/app/components/pages/devices/zones/structure-zone.scss","webpack:///./ClientApp/app/components/pages/devices/zones/weather-zone.ts","webpack:///./ClientApp/app/components/pages/devices/zones/weather-zone.html","webpack:///./ClientApp/app/components/pages/devices/zones/weather-zone.scss","webpack:///./ClientApp/app/components/pages/notification-recipients/notification-recipients.ts","webpack:///./ClientApp/app/components/pages/notification-recipients/notification-recipients-editor.ts","webpack:///./ClientApp/app/components/pages/notification-recipients/notification-recipients-editor.html","webpack:///./ClientApp/app/components/pages/notification-recipients/notification-recipients-editor.scss","webpack:///./ClientApp/app/components/pages/notification-recipients/notification-recipients-list.ts","webpack:///./ClientApp/app/components/pages/notification-recipients/notification-recipients-list.html","webpack:///./ClientApp/app/components/pages/notification-recipients/notification-recipients-list.scss","webpack:///./ClientApp/app/components/pages/notification-recipients/notification-recipients-tableau.ts","webpack:///./ClientApp/app/components/pages/notification-recipients/notification-recipients-tableau.html","webpack:///./ClientApp/app/components/pages/notification-recipients/notification-recipients-tableau.scss","webpack:///./ClientApp/app/components/pages/notification-recipients/notification-recipients.html","webpack:///./ClientApp/app/components/pages/notification-recipients/notification-recipients.scss","webpack:///./ClientApp/app/components/pages/notification-rules/editors/base-range-rule-editor.ts","webpack:///./ClientApp/app/components/pages/notification-rules/editors/base-range-rule-editor.scss","webpack:///./ClientApp/app/components/pages/notification-rules/editors/battery-rule-editor.ts","webpack:///./ClientApp/app/components/pages/notification-rules/editors/battery-rule-editor.html","webpack:///./ClientApp/app/components/pages/notification-rules/editors/battery-rule-editor.scss","webpack:///./ClientApp/app/components/pages/notification-rules/editors/property-editor.ts","webpack:///./ClientApp/app/components/pages/notification-rules/editors/property-editor.html","webpack:///./ClientApp/app/components/pages/notification-rules/editors/property-editor.scss","webpack:///./ClientApp/app/components/pages/notification-rules/editors/rssi-rule-editor.ts","webpack:///./ClientApp/app/components/pages/notification-rules/editors/rssi-rule-editor.html","webpack:///./ClientApp/app/components/pages/notification-rules/editors/rssi-rule-editor.scss","webpack:///./ClientApp/app/components/pages/notification-rules/editors/sensors/decentlab-water-level-rule-editor.ts","webpack:///./ClientApp/app/components/pages/notification-rules/editors/sensors/decentlab-water-level-rule-editor.html","webpack:///./ClientApp/app/components/pages/notification-rules/editors/sensors/decentlab-water-level-rule-editor.scss","webpack:///./ClientApp/app/components/pages/notification-rules/editors/sensors/netvox-temperature-humidity-rule-editor.ts","webpack:///./ClientApp/app/components/pages/notification-rules/editors/sensors/netvox-temperature-humidity-rule-editor.html","webpack:///./ClientApp/app/components/pages/notification-rules/editors/sensors/netvox-temperature-humidity-rule-editor.scss","webpack:///./ClientApp/app/components/pages/notification-rules/editors/sensors/things-node-rule-editor.ts","webpack:///./ClientApp/app/components/pages/notification-rules/editors/sensors/things-node-rule-editor.html","webpack:///./ClientApp/app/components/pages/notification-rules/editors/sensors/things-node-rule-editor.scss","webpack:///./ClientApp/app/components/pages/notification-rules/editors/temperature-rule-editor.ts","webpack:///./ClientApp/app/components/pages/notification-rules/editors/temperature-rule-editor.html","webpack:///./ClientApp/app/components/pages/notification-rules/editors/temperature-rule-editor.scss","webpack:///./ClientApp/app/components/pages/notification-rules/editors/water-level-rule-editor.ts","webpack:///./ClientApp/app/components/pages/notification-rules/editors/water-level-rule-editor.html","webpack:///./ClientApp/app/components/pages/notification-rules/editors/water-level-rule-editor.scss","webpack:///./ClientApp/app/components/pages/notification-rules/editors/weather-station-temperature-rule-editor.ts","webpack:///./ClientApp/app/components/pages/notification-rules/editors/weather-station-temperature-rule-editor.html","webpack:///./ClientApp/app/components/pages/notification-rules/editors/weather-station-temperature-rule-editor.scss","webpack:///./ClientApp/app/components/pages/notification-rules/notification-rules.ts","webpack:///./ClientApp/app/components/pages/notification-rules/notification-rules-editor.ts","webpack:///./ClientApp/app/components/pages/notification-rules/notification-rules-editor.html","webpack:///./ClientApp/app/components/pages/notification-rules/notification-rules-editor.scss","webpack:///./ClientApp/app/components/pages/notification-rules/notification-rules-tableau.ts","webpack:///./ClientApp/app/components/pages/notification-rules/notification-rules-tableau.html","webpack:///./ClientApp/app/components/pages/notification-rules/notification-rules-tableau.scss","webpack:///./ClientApp/app/components/pages/notification-rules/notification-rules.html","webpack:///./ClientApp/app/components/pages/notification-rules/notification-rules.scss","webpack:///./ClientApp/app/components/pages/notification-rules/tree-node.ts","webpack:///./ClientApp/app/components/pages/structure-detail/charts/base-device-chart.ts","webpack:///./ClientApp/app/components/pages/structure-detail/charts/base-device-chart.scss","webpack:///./ClientApp/app/components/pages/structure-detail/charts/curtain-controller-chart.ts","webpack:///./ClientApp/app/components/pages/structure-detail/charts/curtain-controller-chart.html","webpack:///./ClientApp/app/components/pages/structure-detail/charts/curtain-controller-chart.scss","webpack:///./ClientApp/app/components/pages/structure-detail/charts/decentlab-water-level-chart.ts","webpack:///./ClientApp/app/components/pages/structure-detail/charts/decentlab-water-level-chart.html","webpack:///./ClientApp/app/components/pages/structure-detail/charts/decentlab-water-level-chart.scss","webpack:///./ClientApp/app/components/pages/structure-detail/charts/decentlab-weather-station-chart.ts","webpack:///./ClientApp/app/components/pages/structure-detail/charts/decentlab-weather-station-chart.html","webpack:///./ClientApp/app/components/pages/structure-detail/charts/decentlab-weather-station-chart.scss","webpack:///./ClientApp/app/components/pages/structure-detail/charts/lansitec-temperature-humidity-chart.ts","webpack:///./ClientApp/app/components/pages/structure-detail/charts/lansitec-temperature-humidity-chart.html","webpack:///./ClientApp/app/components/pages/structure-detail/charts/lansitec-temperature-humidity-chart.scss","webpack:///./ClientApp/app/components/pages/structure-detail/charts/netvox-temperature-humidity-chart.ts","webpack:///./ClientApp/app/components/pages/structure-detail/charts/netvox-temperature-humidity-chart.html","webpack:///./ClientApp/app/components/pages/structure-detail/charts/netvox-temperature-humidity-chart.scss","webpack:///./ClientApp/app/components/pages/structure-detail/charts/sensum-soil-moisture-chart.ts","webpack:///./ClientApp/app/components/pages/structure-detail/charts/sensum-soil-moisture-chart.html","webpack:///./ClientApp/app/components/pages/structure-detail/charts/sensum-soil-moisture-chart.scss","webpack:///./ClientApp/app/components/pages/structure-detail/charts/strega-smart-valve-chart.ts","webpack:///./ClientApp/app/components/pages/structure-detail/charts/strega-smart-valve-chart.html","webpack:///./ClientApp/app/components/pages/structure-detail/charts/strega-smart-valve-chart.scss","webpack:///./ClientApp/app/components/pages/structure-detail/charts/things-node-chart.ts","webpack:///./ClientApp/app/components/pages/structure-detail/charts/things-node-chart.html","webpack:///./ClientApp/app/components/pages/structure-detail/charts/things-node-chart.scss","webpack:///./ClientApp/app/components/pages/structure-detail/charts/ursalink-uc1152-chart.ts","webpack:///./ClientApp/app/components/pages/structure-detail/charts/ursalink-uc1152-chart.html","webpack:///./ClientApp/app/components/pages/structure-detail/charts/ursalink-uc1152-chart.scss","webpack:///./ClientApp/app/components/pages/structure-detail/structure-detail.ts","webpack:///./ClientApp/app/components/pages/structure-detail/structure-detail.html","webpack:///./ClientApp/app/components/pages/structure-detail/structure-detail.scss","webpack:///./ClientApp/app/components/pages/warnings/warning-card.ts","webpack:///./ClientApp/app/components/pages/warnings/warning-card.html","webpack:///./ClientApp/app/components/pages/warnings/warning-card.scss","webpack:///./ClientApp/app/components/pages/warnings/warning-tableau.ts","webpack:///./ClientApp/app/components/pages/warnings/warning-tableau.html","webpack:///./ClientApp/app/components/pages/warnings/warning-tableau.scss","webpack:///./ClientApp/app/components/pages/warnings/warnings.ts","webpack:///./ClientApp/app/components/pages/warnings/warnings.html","webpack:///./ClientApp/app/components/pages/warnings/warnings.scss","webpack:///./ClientApp/app/components/services/api.ts","webpack:///./ClientApp/app/components/services/http-service.ts","webpack:///./ClientApp/app/components/services/hub-manager.ts","webpack:///./ClientApp/app/components/services/location-hub.ts","webpack:///./ClientApp/app/components/store/actions/current-measurement-actions.ts","webpack:///./ClientApp/app/components/store/actions/device-actions.ts","webpack:///./ClientApp/app/components/store/actions/location-actions.ts","webpack:///./ClientApp/app/components/store/actions/measurement-actions.ts","webpack:///./ClientApp/app/components/store/actions/structure-actions.ts","webpack:///./ClientApp/app/components/store/state.ts","webpack:///./ClientApp/app/components/store/store.ts","webpack:///./ClientApp/locales/en/translation.json?3ce0","webpack:///./ClientApp/locales/es/translation.json?9d53","webpack:///./ClientApp/boot.ts","webpack:///./ClientApp/locales/en/translation.json","webpack:///./ClientApp/locales/es/translation.json"],"names":[],"mappings":";QAAA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA,QAAQ,oBAAoB;QAC5B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA,iBAAiB,4BAA4B;QAC7C;QACA;QACA,kBAAkB,2BAA2B;QAC7C;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;QAEA;QACA;QACA;QACA;QACA,gBAAgB,uBAAuB;QACvC;;;QAGA;QACA;QACA;QACA;;;;;;;;ACvJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7Q+C;AAEb;AACE;AACc;AACH;AAI0B;AACpB;AACC;AACiF;AACvI,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AAItD,IAAa,GAAG,GAAhB,MAAa,GAAG;IAef,YAAY,MAAc,EAAE,IAAU,EAAE,KAAoB,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","file":"app.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"dist/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"vendors~app\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","import { autoinject } from \"aurelia-framework\";\r\nimport { Router, RouterConfiguration } from \"aurelia-router\";\r\nimport { Colors } from \"./colors\";\r\nimport { I18N } from \"aurelia-i18n\";\r\nimport \"materialize-css/dist/css/materialize.css\";\r\nimport \"@mdi/font/css/materialdesignicons.css\";\r\n//import \"leaflet/dist/leaflet.css\";\r\nimport { Subscription } from 'rxjs';\r\nimport { IState } from \"../store/state\";\r\nimport { getLocationHierarchy } from \"../store/actions/location-actions\";\r\nimport { HubManager } from '../services/hub-manager';\r\nimport { applicationLogger } from \"../logging/logger\";\r\nimport { localStorageMiddleware, logMiddleware, LogLevel, MiddlewarePlacement, rehydrateFromLocalStorage, Store } from 'aurelia-store';\r\nconst greenhouseStorageKey = \"greenhouse-storage-key\";\r\n\r\n\r\n@autoinject\r\nexport class App {\r\n\r\n\tprimaryColor: string;\r\n\taccentColor: string;\r\n\terrorColor: string;\r\n\tsuccessColor: string;\r\n\tlinkColor: string;\r\n\trouter: Router;\r\n\ti18n: I18N;\r\n\tstore: Store;\r\n\thubManager : HubManager;\r\n\tloading: boolean = false;\r\n\tapplicationState: IState;\r\n\r\n\r\n\tconstructor(colors: Colors, i18n: I18N, store: Store, hubManager: HubManager) {\r\n\t\tthis.primaryColor = colors.primaryColor;\r\n\t\tthis.accentColor = colors.accentColor;\r\n\t\tthis.errorColor = colors.errorColor;\r\n\t\tthis.linkColor = colors.linkColor;\r\n\t\tthis.successColor = colors.successColor;\r\n\t\tthis.i18n = i18n;\r\n\t\tthis.store = store;\r\n\t\tthis.hubManager = hubManager;\r\n\t\t\r\n\r\n\t\tthis.store.registerMiddleware(logMiddleware, MiddlewarePlacement.After, { logType: LogLevel.log });\r\n\t\t// LocalStorageMiddleware should be the last one in the chain.\r\n\t\tthis.store.registerMiddleware(localStorageMiddleware, MiddlewarePlacement.After, { key: greenhouseStorageKey });\r\n\t\tthis.store.registerAction('Rehydrate', rehydrateFromLocalStorage);\r\n\t\tthis.store.dispatch(rehydrateFromLocalStorage, greenhouseStorageKey);\r\n\t}\r\n\r\n\tasync bind(bindingContext: any, overrideContext: any) {\r\n\t\tapplicationLogger.info(\"app.bind() called.\");\r\n\t\tapplicationLogger.info(\"app.bind() called.\");\r\n\r\n\t\tconst this_ = this;\r\n\t\tsetTimeout(async () => {\r\n\t\t\tthis_.loading = true;\r\n\t\t\tawait this_.store.dispatch(getLocationHierarchy);\r\n\t\t\tthis_.hubManager.start();\r\n\t\t\tthis_.loading = false;\r\n\t\t}, 100);\r\n\t}\r\n\r\n\tdeactivate() {\r\n\t\tthis.store.unregisterAction(rehydrateFromLocalStorage);\r\n\t\tthis.store.unregisterMiddleware(localStorageMiddleware);\r\n\t\tthis.store.unregisterMiddleware(logMiddleware);\r\n\t}\r\n\r\n\tconfigureRouter(config: RouterConfiguration, router: Router) {\r\n\t\tconfig.title = \"Nursery Sentry\";\r\n\t\t//router.baseUrl = \"/app\";\r\n\t\t//config.options.root = \"/app\";\r\n\t\tconfig.map([{\r\n\t\t\troute: [\"\", \"warnings\"],\r\n\t\t\tname: \"warnings\",\r\n\t\t\tsettings: { icon: \"warning\", t: \"warnings\" },\r\n\t\t\tmoduleId: \"../pages/warnings/warnings\",\r\n\t\t\tnav: true,\r\n\t\t\ttitle: \"Warnings\",\r\n\t\t}, {\r\n\t\t\t\troute: [\"devices\"],\r\n\t\t\t\tname: \"devices\",\r\n\t\t\t\tsettings: { icon: \"router\", t: \"devices\" },\r\n\t\t\t\tmoduleId: \"../pages/devices/devices\",\r\n\t\t\t\tnav: true,\r\n\t\t\t\ttitle: \"Devices\"\r\n\t\t\t}, {\r\n\t\t\t\troute: [\"notification-rules\"],\r\n\t\t\t\tname: \"notification-rules\",\r\n\t\t\t\tsettings: { icon: \"send\", t: \"notification-rules\" },\r\n\t\t\t\tmoduleId: \"../pages/notification-rules/notification-rules\",\r\n\t\t\t\tnav: false,\r\n\t\t\t\ttitle: \"Notification Rules\"\r\n\t\t\t}, {\r\n\t\t\t\troute: [\"notification-recipients\"],\r\n\t\t\t\tname: \"notification-recipients\",\r\n\t\t\t\tsettings: { icon: \"send\", t: \"notification-recipients\" },\r\n\t\t\t\tmoduleId: \"../pages/notification-recipients/notification-recipients\",\r\n\t\t\t\tnav: false,\r\n\t\t\t\ttitle: \"Notification Recipients\"\r\n\t\t\t}, {\r\n\t\t\t\troute: [\"admin-dashboard\"],\r\n\t\t\t\tname: \"admin-dashboard\",\r\n\t\t\t\tsettings: { icon: \"dashboard\", t: \"dashboard\" },\r\n\t\t\t\tmoduleId: \"../pages/admin-dashboard/admin-dashboard\",\r\n\t\t\t\tnav: false,\r\n\t\t\t\ttitle: \"Admin Dashboard\"\r\n\t\t\t}, {\r\n\t\t\t\troute: [\"structure-detail\"],\r\n\t\t\t\tname: \"structure-detail\",\r\n\t\t\t\tsettings: { icon: \"dashboard\", t: \"dashboard\" },\r\n\t\t\t\tmoduleId: \"../pages/structure-detail/structure-detail\",\r\n\t\t\t\tnav: false,\r\n\t\t\t\ttitle: \"Structure Detail\"\r\n\t\t\t}\r\n\t\t\t]);\r\n\t}\r\n}\r\n","module.exports = \"\\r\\n\";","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"app nav{background-color:#f8f9fa}app a,app i.material-icons,app nav a{color:#007bff!important}app .icon-image-preview{display:inline-block;width:48px;height:48px;background-repeat:no-repeat;background-size:contain}app .container{margin:0 auto;max-width:1600px!important;width:95%!important}app .card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:0 solid rgba(0,0,0,.125)}app .card-action,app .collapsible-header{background-color:rgba(0,0,0,.03)!important}\", \"\"]);\n\n","export class Colors {\r\n\tprimaryColor = \"#f8f9fa\";\r\n\tsecondaryColor = \"#007bff\";\r\n\taccentColor = \"#007bff\"; \r\n\terrorColor = \"#f44336\";\r\n\tsuccessColor: \"#4caf50\";\r\n\tlinkColor = \"#007bff\";\r\n}","import { autoinject, customAttribute, TaskQueue } from \"aurelia-framework\";\r\n\r\n@customAttribute(\"auto-focus\")\r\n@autoinject\r\n\r\nexport class AutoFocus {\r\n\tconstructor(private element: Element, private taskQueue: TaskQueue) {\r\n\t\tthis.element = element;\r\n\t\tthis.taskQueue = taskQueue;\r\n\t}\r\n\r\n\tattached() {\r\n\t\tthis.taskQueue.queueTask(() => {\r\n\t\t\tlet inputs = this.element.getElementsByTagName(\"input\");\r\n\t\t\tif (inputs.length > 0) {\r\n\t\t\t\tlet input = inputs[0];\r\n\t\t\t\tinput.focus();\r\n\t\t\t\tlet label = input.nextElementSibling;\r\n\t\t\t\tif (label.nodeName === \"LABEL\") {\r\n\t\t\t\t\tthis.taskQueue.queueTask(() => { label.classList.add(\"active\"); });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tconsole.warn(\"No input element found for auto-focus\");\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}","import { autoinject, customAttribute, inject } from \"aurelia-framework\";\r\n\r\n@customAttribute(\"blur-on-enter\")\r\n@inject(Element)\r\nexport class BlurOnEnter {\r\n\tconstructor(private element: Element) {\r\n\t\tthis.handleKeyUp = this.handleKeyUp.bind(this);\r\n\t}\r\n\r\n\tattached() {\r\n\t\tthis.element.addEventListener(\"keyup\", this.handleKeyUp);\r\n\t}\r\n\r\n\tdetached() {\r\n\t\tthis.element.removeEventListener(\"keyup\", this.handleKeyUp);\r\n\t}\r\n\r\n\thandleKeyUp(e) {\r\n\t\tif (e.keyCode === 13) {\r\n\t\t\t(this.element as HTMLElement).blur();\r\n\t\t}\r\n\t}\r\n}","//import { customAttribute, inject, bindingMode } from 'aurelia-framework';\r\n//import * as $ from \"jquery\";\r\n//import 'jquery-ui-dist/jquery-ui';\r\n////import \"jquery-ui-touch-punch\";\r\n\r\n//@customAttribute('draggable', bindingMode.twoWay)\r\n//@inject(Element)\r\n//export class Draggable {\r\n// constructor(private element:Element) {\r\n// this.element = element;\r\n// }\r\n\r\n// attached() {\r\n// // TODO: asp.net core 2.1\r\n// ($(this.element) as any).draggable();\r\n// }\r\n//}","import { Aurelia, PLATFORM } from 'aurelia-framework';\r\nexport function configure(aurelia: any) {\r\n\taurelia\r\n\t\t.globalResources(PLATFORM.moduleName(\"./blur-on-enter\"))\r\n\t\t.globalResources(PLATFORM.moduleName(\"./auto-focus\"))\r\n\t\t.globalResources(PLATFORM.moduleName(\"./mdx-no-collapse\"));\r\n\t//.globalResources(PLATFORM.moduleName('./draggable'))\r\n\t//.globalResources(PLATFORM.moduleName('./resizable'));\r\n}","import { inject, customAttribute, bindable, bindingMode } from 'aurelia-framework'\r\n\r\n@customAttribute('mdx-no-collapse')\r\n@inject(Element)\r\nexport class MdxNoCollapseCustomAttribute {\r\n\telement: Element;\r\n\tconstructor(element) {\r\n\t\tthis.element = element;\r\n\t}\r\n\r\n\tattached() {\r\n\t\t$(this.element).on(\"click.collapse\", (evt) => {\r\n\t\t\tevt.stopPropagation();\r\n\t\t});\r\n\t\t\r\n\t}\r\n}","/**\r\n * Aurelia-Resize\r\n * an aurelia attribute add-on that detects DOM-element resize events\r\n * either via window size change or CSS animation.\r\n * Meirion Hughes (github.com/MeirionHughes)\r\n **/\r\nimport * as ERD from 'element-resize-detector';\r\n\r\nexport class ResizeableCustomAttribute {\r\n static inject = [Element];\r\n element: HTMLElement;\r\n callback;\r\n erd;\r\n\r\n constructor(element) {\r\n this.element = element;\r\n this.erd = ERD({ strategy: 'scroll' });\r\n }\r\n\r\n bind() {\r\n var element = this.element;\r\n\r\n var widthOld = element.offsetWidth;\r\n var heightOld = element.offsetHeight;\r\n\r\n this.callback = (x) => {\r\n var event = new CustomEvent(\"resize\", {\r\n detail: {\r\n width: this.element.offsetWidth,\r\n height: this.element.offsetHeight,\r\n widthOld: widthOld,\r\n heightOld: heightOld\r\n }\r\n });\r\n this.element.dispatchEvent(event);\r\n widthOld = this.element.offsetWidth;\r\n heightOld = this.element.offsetHeight;\r\n };\r\n\r\n this.erd.listenTo(this.element, this.callback);\r\n }\r\n\r\n unbind() {\r\n if (this.callback) {\r\n this.erd.uninstall(this.element);\r\n this.callback = null;\r\n }\r\n }\r\n}","import { inject, customAttribute, bindable, bindingMode } from 'aurelia-framework'\r\nimport { ModelObserver } from \"../observers/model-observer\"\r\nimport { Chart } from \"chart.js\";\r\n\r\n@customAttribute('chart')\r\n@inject(Element, ModelObserver)\r\nexport class ChartAttribute {\r\n @bindable type;\r\n @bindable data;\r\n @bindable shouldUpdate;\r\n @bindable throttle;\r\n @bindable({ defaultBindingMode: bindingMode.twoWay }) nativeOptions = {};\r\n\r\n _activeChart: any;\r\n _modelObserver: any;\r\n _isSetup = false;\r\n _chartData: any;\r\n\r\n element: any;\r\n\r\n constructor(element, modelObserver) {\r\n this.element = element;\r\n this._modelObserver = modelObserver;\r\n }\r\n\r\n attached() {\r\n this.createChart();\r\n this._isSetup = true;\r\n\r\n if (this._isObserving) { this.subscribeToChanges(); }\r\n }\r\n\r\n detached() {\r\n if (this.shouldUpdate == true) { this._modelObserver.unsubscribe(); }\r\n\r\n this._activeChart.destroy();\r\n\r\n this._isSetup = false;\r\n }\r\n\r\n propertyChanged = (propertyName, newValue, oldValue) => {\r\n if (this._isSetup && this._isObserving) {\r\n this.refreshChart();\r\n this._modelObserver.unsubscribe();\r\n this.subscribeToChanges();\r\n }\r\n }\r\n\r\n get _isObserving() {\r\n return this.shouldUpdate == true || this.shouldUpdate == \"true\";\r\n }\r\n\r\n get _clonedData() {\r\n return JSON.parse(JSON.stringify(this.data));\r\n }\r\n\r\n createChart() {\r\n this._chartData = {\r\n type: this.type,\r\n data: this._clonedData,\r\n options: this.nativeOptions\r\n };\r\n\r\n this._activeChart = new Chart(this.element, this._chartData);\r\n this.nativeOptions = this._activeChart.options;\r\n this.refreshChart();\r\n };\r\n\r\n refreshChart = () => {\r\n this._chartData.data = this._clonedData;\r\n this._activeChart.update();\r\n this._activeChart.resize();\r\n };\r\n\r\n subscribeToChanges() {\r\n this._modelObserver.throttle = this.throttle || 100;\r\n this._modelObserver.observe(this.data, this.refreshChart);\r\n };\r\n}\r\n\r\n\r\n","import { inject, customElement, useView, bindable, bindingMode } from 'aurelia-framework'\r\nimport { ModelObserver } from \"../observers/model-observer\"\r\nimport * as Chart from \"chart.js\"\r\n\r\n@customElement('chart')\r\n@inject(ModelObserver)\r\n@useView(\"./chart-element.html\")\r\nexport class ChartElement {\r\n @bindable type;\r\n @bindable data;\r\n @bindable shouldUpdate;\r\n @bindable throttle;\r\n @bindable({ defaultBindingMode: bindingMode.twoWay }) nativeOptions = {};\r\n\r\n @bindable canvasElement;\r\n\r\n _activeChart: any;\r\n _modelObserver: ModelObserver;\r\n _isSetup = false;\r\n _chartData: any;\r\n\r\n constructor(modelObserver) {\r\n this._modelObserver = modelObserver;\r\n }\r\n\r\n attached() {\r\n this.createChart();\r\n this._isSetup = true;\r\n\r\n if (this._isObserving) { this.subscribeToChanges(); }\r\n }\r\n\r\n detached() {\r\n if (this._isObserving) { this._modelObserver.unsubscribe(); }\r\n\r\n this._activeChart.destroy();\r\n this._isSetup = false;\r\n }\r\n\r\n propertyChanged = (propertyName, newValue, oldValue) => {\r\n if (this._isSetup && this._isObserving) {\r\n this.refreshChart();\r\n this._modelObserver.unsubscribe();\r\n this.subscribeToChanges();\r\n }\r\n }\r\n\r\n get _isObserving() {\r\n return this.shouldUpdate == true || this.shouldUpdate == \"true\";\r\n }\r\n\r\n get _clonedData() {\r\n return JSON.parse(JSON.stringify(this.data));\r\n }\r\n\r\n createChart() {\r\n this._chartData = {\r\n type: this.type,\r\n data: this._clonedData,\r\n options: this.nativeOptions\r\n };\r\n\r\n this._activeChart = new Chart(this.canvasElement, this._chartData);\r\n\r\n this.nativeOptions = this._activeChart.options;\r\n this.refreshChart();\r\n };\r\n\r\n refreshChart = () => {\r\n this._chartData.data = this._clonedData;\r\n this._activeChart.update();\r\n this._activeChart.resize();\r\n };\r\n\r\n subscribeToChanges() {\r\n this._modelObserver.throttle = this.throttle || 100;\r\n this._modelObserver.observe(this.data.datasets, this.refreshChart);\r\n };\r\n\r\n handleResize(detail) {\r\n if (detail.width < 450) {\r\n this.canvasElement.height = 450;\r\n this.canvasElement.width = detail.width;\r\n // this._activeChart.aspectRatio = 0;\r\n\r\n }\r\n\r\n this._activeChart.update();\r\n this._activeChart.resize();\r\n\r\n }\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"@media (min-width:0){.chart-wrapper{position:relative;margin:auto;height:450px;width:90vw}}@media (min-width:576px){.chart-wrapper{position:relative;margin:auto;height:80vh;width:90vw}}@media (min-width:768px){.chart-wrapper{position:relative;margin:auto;height:80vh;width:70vw}}@media (min-width:992px){.chart-wrapper{position:relative;margin:auto;height:80vh;width:70vw}}@media (min-width:1200px){.chart-wrapper{position:relative;margin:auto;height:50vh;width:60vw}}\", \"\"]);\n\n","import { ModelObserver } from \"./observers/model-observer\";\r\nimport { Aurelia, PLATFORM } from 'aurelia-framework';\r\nexport function configure(aurelia) {\r\n aurelia.globalResources(\r\n PLATFORM.moduleName(\"./elements/chart-element\"),\r\n PLATFORM.moduleName(\"./attributes/chart-attribute\")\r\n );\r\n\r\n aurelia.container.registerTransient(ModelObserver);\r\n}","import { BindingEngine, inject, ObserverLocator } from 'aurelia-framework';\r\n\r\n@inject(BindingEngine)\r\nexport class ModelObserver {\r\n throttle = 100;\r\n\r\n _throttleTimeout: any;\r\n _activeSubscriptions = [];\r\n\r\n bindingEngine: BindingEngine;\r\n observerLocator: ObserverLocator;\r\n\r\n\r\n constructor(bindingEngine: BindingEngine, observerLocator: ObserverLocator) {\r\n this.bindingEngine = bindingEngine;\r\n this.observerLocator = observerLocator;\r\n }\r\n\r\n observe = (model, onChange) => {\r\n var subscriptions = [];\r\n this._getAllSubscriptions(model, subscriptions);\r\n\r\n var throttledHandler = (args) => {\r\n if (this.throttle <= 0) { return onChange(); }\r\n\r\n if (!this._throttleTimeout) {\r\n this._throttleTimeout = setTimeout(() => {\r\n this._throttleTimeout = null;\r\n onChange();\r\n }, this.throttle);\r\n }\r\n };\r\n\r\n for (var i = 0; i < subscriptions.length; i++) {\r\n let outstandingSubscription = subscriptions[i](throttledHandler);\r\n this._activeSubscriptions.push(outstandingSubscription);\r\n }\r\n }\r\n\r\n unsubscribe = () => {\r\n for (var i = 0; i < this._activeSubscriptions.length; i++) { this._activeSubscriptions[i].dispose(); }\r\n\r\n this._activeSubscriptions = [];\r\n }\r\n\r\n _getObjectType(obj) {\r\n if ((obj) && (typeof (obj) === \"object\") && (obj.constructor == (new Date).constructor)) return \"date\";\r\n return typeof obj;\r\n }\r\n\r\n _getAllSubscriptions(model, subscriptions) {\r\n if (Array.isArray(model)) {\r\n let subscription = this.bindingEngine.collectionObserver(model).subscribe;\r\n subscriptions.push(subscription);\r\n }\r\n\r\n for (var property in model) {\r\n var typeOfData = this._getObjectType(model[property]);\r\n switch (typeOfData) {\r\n case \"object\":\r\n { this._getAllSubscriptions(model[property], subscriptions); }\r\n break;\r\n case \"array\":\r\n {\r\n var underlyingArray = model[property]();\r\n underlyingArray.forEach((entry, index) => { this._getAllSubscriptions(underlyingArray[index], subscriptions); });\r\n\r\n let arraySubscription = this.bindingEngine.propertyObserver(model, property).subscribe;\r\n if (arraySubscription) { subscriptions.push(arraySubscription); }\r\n }\r\n break;\r\n\r\n default:\r\n {\r\n let subscription = this.bindingEngine.propertyObserver(model, property).subscribe;\r\n if (subscription) { subscriptions.push(subscription); }\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n}","// source: http://stackoverflow.com/questions/25456013/javascript-deepequal-comparison\r\nexport function deepEqual(x: any, y: any): boolean {\r\n if ((typeof x == 'object' && x != null) && (typeof y == 'object' && y != null)) {\r\n if (Object.keys(x).length != Object.keys(y).length)\r\n return false;\r\n\r\n for (var prop in x) {\r\n if (y.hasOwnProperty(prop)) {\r\n if (!deepEqual(x[prop], y[prop]))\r\n return false;\r\n }\r\n else\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n else if (x !== y) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n}\r\n","import {FrameworkConfiguration} from 'aurelia-framework';\r\nimport {PLATFORM} from 'aurelia-pal';\r\n\r\nexport function configure(aurelia: FrameworkConfiguration) {\r\n aurelia.globalResources([\r\n PLATFORM.moduleName('./tree-view/tree-node'),\r\n PLATFORM.moduleName('./tree-view/tree-node-template'),\r\n PLATFORM.moduleName('./tree-view/tree-view')\r\n ]);\r\n}\r\n\r\n//export * from './tree-view/tree-node';\r\n//export * from './tree-view/tree-node-template';\r\n//export * from './tree-view/tree-view';\r\n","import { observable, Disposable } from 'aurelia-binding';\r\nimport { getLogger, Logger } from 'aurelia-logging';\r\nimport { TaskQueue } from 'aurelia-task-queue';\r\n// import {deepEqual} from '../common/deep-equal';\r\nimport { NodeModel } from './node-model';\r\nimport { TreeViewSettings } from './settings';\r\n\r\nexport interface DataSourceApi {\r\n collapseNode(node: NodeModel): Promise;\r\n deselectNode(node: NodeModel, deselectChildren?: boolean, recurse?: boolean): Promise;\r\n expandNode(node: NodeModel): Promise;\r\n expandNodeAndChildren(node: NodeModel): Promise;\r\n focusNode(node: NodeModel): void;\r\n selectNode(node: NodeModel, selectChildren?: boolean, recurse?: boolean): Promise;\r\n settings: TreeViewSettings;\r\n}\r\n\r\nclass DataSourceApiImplementation implements DataSourceApi {\r\n settings: TreeViewSettings;\r\n\r\n constructor(private dataSource: DataSource) {\r\n this.settings = this.dataSource.settings;\r\n }\r\n\r\n collapseNode(node: NodeModel): Promise {\r\n return this.dataSource.collapseNode(node);\r\n }\r\n\r\n deselectNode(node: NodeModel, deselectChildren?: boolean, recurse?: boolean): Promise {\r\n return this.dataSource.deselectNode(node, deselectChildren, recurse);\r\n };\r\n\r\n expandNode(node: NodeModel): Promise {\r\n return this.dataSource.expandNode(node);\r\n }\r\n\r\n expandNodeAndChildren(node: NodeModel): Promise {\r\n return this.dataSource.expandNodeAndChildren(node);\r\n }\r\n\r\n focusNode(node: NodeModel): void {\r\n this.dataSource.focusNode(node);\r\n }\r\n\r\n selectNode(node: NodeModel, selectChildren?: boolean, recurse?: boolean): Promise {\r\n return this.dataSource.selectNode(node, selectChildren, recurse);\r\n }\r\n}\r\n\r\nexport class DataSource {\r\n api: DataSourceApi;\r\n flatNodes: NodeModel[];\r\n focusedNode: NodeModel | null;\r\n log: Logger;\r\n nodes: NodeModel[];\r\n selectedNodes: NodeModel[];\r\n subscriptions: Set<(event: string, nodes: NodeModel[]) => void>;\r\n\r\n @observable() settings: TreeViewSettings;\r\n\r\n private suspendSettingsObservable = false;\r\n\r\n constructor(private taskQueue: TaskQueue) {\r\n this.suspendSettingsObservable = true;\r\n this.flatNodes = [];\r\n this.focusedNode = null;\r\n this.log = getLogger('aurelia-tree-view/data-source');\r\n this.selectedNodes = [];\r\n this.settings = {\r\n compareEquality: (args) => { return args.a === args.b; },\r\n expandOnFocus: false,\r\n processChildrenKey: 'shift',\r\n processChildrenRecursiveKey: 'alt',\r\n multiSelect: false,\r\n templateInfo: null\r\n };\r\n this.api = new DataSourceApiImplementation(this);\r\n this.subscriptions = new Set<(event: string, nodes: NodeModel[]) => void>();\r\n this.suspendSettingsObservable = false;\r\n }\r\n\r\n private addToFlatNodes(node: NodeModel) {\r\n if (!this.flatNodes.find(n => this.settings.compareEquality({ a: n.payload, b: node.payload || node }))) {\r\n this.log.debug('(after compareEquality) adding to flat nodes', node.payload);\r\n this.flatNodes.push(node);\r\n }\r\n }\r\n\r\n private notifySubscribers(event: string, nodes: NodeModel[]) {\r\n this.subscriptions.forEach(sub => sub(event, nodes));\r\n }\r\n\r\n private setNodeSelection(node: NodeModel, isSelected: boolean, setChildren: boolean = false, recurse: boolean = false): Promise {\r\n if (typeof node === 'undefined') {\r\n return Promise.reject(new Error('node is undefined'));\r\n }\r\n\r\n let expandPath = false;\r\n let promise: Promise;\r\n if (node instanceof NodeModel) {\r\n expandPath = true;\r\n promise = Promise.resolve(node);\r\n } else {\r\n const found = this.find(node);\r\n if (found) {\r\n node = found;\r\n expandPath = true;\r\n promise = Promise.resolve(node);\r\n } else {\r\n promise = this.openPathTo(node);\r\n }\r\n }\r\n return promise.then(n => {\r\n this.log.debug('setNodeSelection got node', n.payload.title, n.payload);\r\n\r\n if (isSelected) {\r\n if (this.settings.multiSelect) {\r\n if (this.selectedNodes.indexOf(n) === -1) {\r\n this.selectedNodes.push(n);\r\n }\r\n } else {\r\n this.selectedNodes = [n];\r\n this.flatNodes.forEach(node => {\r\n if (node !== n) {\r\n node.isSelected = false;\r\n }\r\n });\r\n }\r\n } else {\r\n if (this.settings.multiSelect) {\r\n const index = this.selectedNodes.indexOf(n);\r\n if (index > -1) {\r\n this.selectedNodes.splice(index, 1);\r\n }\r\n } else {\r\n this.selectedNodes = [];\r\n }\r\n }\r\n\r\n if (!this.settings.multiSelect) {\r\n // FIXME: correctly, this would be \"if this select came from a mouse event\"\r\n // n.suspendEvents = true;\r\n }\r\n\r\n n.isSelected = isSelected;\r\n if (!this.settings.multiSelect) {\r\n // n.suspendEvents = false;\r\n n.isFocused = true;\r\n }\r\n\r\n if (expandPath && node.parent) {\r\n const path = this.getPath(node);\r\n this.expandPath(path);\r\n }\r\n if (setChildren && node.hasChildren && node.children) {\r\n return this.expandNodeAndChildren(node).then(() => {\r\n return node.children ? Promise.all(node.children.map(child => this.setNodeSelection(child, isSelected, recurse, recurse))).then(() => { }) : Promise.resolve();\r\n });\r\n }\r\n this.notifySubscribers('selectionChanged', this.selectedNodes);\r\n return Promise.resolve();\r\n });\r\n }\r\n\r\n private validateNode(node: any): boolean {\r\n if (!node.title) {\r\n throw new Error('node must have a \"title\" property');\r\n }\r\n return true;\r\n }\r\n\r\n private visitNode(item: any, parent: NodeModel | null): NodeModel {\r\n if (this.validateNode(item)) {\r\n let node: NodeModel;\r\n const nodeFound: NodeModel | undefined = this.find(item);\r\n if (nodeFound) {\r\n node = nodeFound;\r\n } else {\r\n this.log.debug('creating new item', item.title);\r\n node = new NodeModel(parent);\r\n node.dataSourceApi = this.api;\r\n node.payload = item;\r\n node.taskQueue = this.taskQueue;\r\n\r\n if (typeof item.children === 'function') {\r\n const ch: () => Promise = item.children;\r\n node.childrenGetter = () => {\r\n return new Promise(resolve => {\r\n ch().then(children => {\r\n const nodes = children.map(child => this.visitNode(child, node));\r\n node.children = nodes;\r\n resolve(nodes);\r\n this.log.debug('childrenGetter resolved', children, nodes);\r\n });\r\n });\r\n }\r\n } else {\r\n if (item.children && item.children.length > 0) {\r\n const ch: any[] = item.children;\r\n node.children = ch.map(child => this.visitNode(child, node));\r\n }\r\n }\r\n this.addToFlatNodes(node);\r\n }\r\n return node;\r\n } else {\r\n throw new Error('invalid node');\r\n }\r\n }\r\n\r\n collapseNode(node: NodeModel): Promise {\r\n return node.collapse()\r\n .then(() => this.notifySubscribers('collapsed', [node]));\r\n }\r\n\r\n deselectNode(node: NodeModel, deselectChildren: boolean = false, recurse: boolean = false): Promise {\r\n return this.setNodeSelection(node, false, deselectChildren, recurse);\r\n }\r\n\r\n expandAllNodes(): Promise {\r\n return Promise.all(this.nodes.map(node => this.expandNodeAndChildren(node))).then(() => { });\r\n }\r\n\r\n expandNode(node: NodeModel): Promise {\r\n return node.expand()\r\n .then(() => this.notifySubscribers('expanded', [node]));\r\n }\r\n\r\n expandNodeAndChildren(node: NodeModel): Promise {\r\n return Promise.resolve().then(() => {\r\n if (node.hasChildren) {\r\n return node.expand().then(() => {\r\n if (node.children) {\r\n return Promise.all(node.children.map(child => {\r\n return this.expandNodeAndChildren(child);\r\n })).then(() => { });\r\n } else {\r\n throw new Error('node has no children (=== null) after expand');\r\n }\r\n });\r\n }\r\n return Promise.resolve();\r\n });\r\n }\r\n\r\n expandPath(path: NodeModel[]) {\r\n return Promise.resolve().then(() => {\r\n path.forEach(p => {\r\n p.expand();\r\n });\r\n });\r\n }\r\n\r\n filter(visitor: (node: NodeModel, i?: number) => boolean): Promise {\r\n return this.expandAllNodes()\r\n .then(() => {\r\n return Promise.all(this.flatNodes.filter((node, i) => visitor(node, i)));\r\n });\r\n }\r\n\r\n find(item: any) {\r\n if (this.settings.compareEquality) {\r\n return this.flatNodes.find(node => this.settings.compareEquality({ a: node.payload, b: item }));\r\n } else {\r\n throw new Error('no equality comparer set');\r\n }\r\n }\r\n\r\n findRoot(node: NodeModel): NodeModel {\r\n const visit = (n: NodeModel): NodeModel => {\r\n if (n.parent) {\r\n return visit(n.parent);\r\n }\r\n return n;\r\n };\r\n\r\n return visit(node);\r\n }\r\n\r\n focusNode(node: NodeModel) {\r\n this.flatNodes.forEach(node => node.isFocused = false);\r\n node.isFocused = true;\r\n this.focusedNode = node;\r\n\r\n if (this.settings.expandOnFocus) {\r\n node.expand();\r\n }\r\n if (!this.settings.multiSelect) {\r\n this.api.selectNode(node);\r\n }\r\n }\r\n\r\n getPath(node: NodeModel): NodeModel[] {\r\n let path: NodeModel[] = [];\r\n const visit = (n: NodeModel) => {\r\n if (n.parent) {\r\n visit(n.parent);\r\n }\r\n path.push(n);\r\n };\r\n visit(node);\r\n return path;\r\n }\r\n\r\n load(source: any[]) {\r\n this.nodes = source.map(item => this.visitNode(item, null));\r\n this.notifySubscribers('loaded', this.nodes);\r\n }\r\n\r\n openPathTo(node: any): Promise {\r\n this.log.debug('opening path to', node.title, node);\r\n const visit = (n: any): Promise => {\r\n let promise: Promise;\r\n if (n.parent) {\r\n this.log.debug('before visit recursion', n.parent.title, n.parent);\r\n promise = visit(n.parent);\r\n } else {\r\n promise = Promise.resolve();\r\n }\r\n return promise.then(() => {\r\n this.log.debug('after visit recursion', n.title, n);\r\n const found = this.find(n);\r\n if (found) {\r\n this.log.debug('expanding', found.payload.title, found);\r\n return (found as NodeModel).expand().then(() => found)\r\n .then(() => {\r\n this.log.debug('expanded', found.payload.title);\r\n return found;\r\n });\r\n } else {\r\n return Promise.reject(new Error('node not found: ' + n.title));\r\n }\r\n });\r\n };\r\n return visit(node);\r\n }\r\n\r\n selectNode(node: NodeModel, selectChildren: boolean = false, recurse: boolean = false): Promise {\r\n return this.setNodeSelection(node, true, selectChildren, recurse);\r\n }\r\n\r\n selectNodes(nodes: NodeModel[]): Promise {\r\n const mutableNodes = [...nodes];\r\n const rest = mutableNodes.splice(0, 1);\r\n return rest.length > 0\r\n ? this.selectNode(rest[0]).then(() => this.selectNodes(mutableNodes))\r\n : Promise.resolve();\r\n\r\n }\r\n\r\n settingsChanged(newValue: TreeViewSettings) {\r\n if (!this.suspendSettingsObservable) {\r\n this.log.debug('new settings:', newValue);\r\n this.api.settings = newValue;\r\n }\r\n }\r\n\r\n subscribe(callback: (event: string, nodes: NodeModel[]) => void): Disposable {\r\n this.subscriptions.add(callback);\r\n\r\n return {\r\n dispose: () => {\r\n this.subscriptions.delete(callback);\r\n }\r\n }\r\n }\r\n}\r\n","import {computedFrom, observable} from 'aurelia-binding';\r\nimport {getLogger, Logger} from 'aurelia-logging';\r\nimport {TaskQueue} from 'aurelia-task-queue';\r\nimport {DataSourceApi} from './data-source';\r\nimport {TreeNode} from './tree-node';\r\n\r\nexport class NodeModel {\r\n children: NodeModel[] | null;\r\n childrenGetter: (() => Promise) | null;\r\n dataSourceApi: DataSourceApi;\r\n element: TreeNode;\r\n isExpanded: boolean;\r\n isFocused: boolean;\r\n isLoading: boolean;\r\n @observable() isSelected: boolean;\r\n isVisible: boolean;\r\n log: Logger;\r\n parent: NodeModel | null;\r\n payload: any;\r\n taskQueue: TaskQueue;\r\n\r\n private suspendEvents = false;\r\n\r\n constructor(parent?: NodeModel | null, children?: NodeModel[] | null, childrenGetter?: (() => Promise), payload?: any) {\r\n this.log = getLogger('aurelia-tree-view/node-model');\r\n this.suspendEvents = true;\r\n this.children = children || null;\r\n this.childrenGetter = childrenGetter || null;\r\n this.parent = parent || null;\r\n this.payload = payload || null;\r\n\r\n this.isExpanded = false;\r\n this.isFocused = false;\r\n this.isLoading = false;\r\n this.isSelected = false;\r\n this.isVisible = true;\r\n this.suspendEvents = false;\r\n }\r\n\r\n @computedFrom('children')\r\n get hasChildren(): boolean {\r\n let result = false;\r\n if (this.children) {\r\n result = this.children.length > 0;\r\n } else if (this.childrenGetter) {\r\n // has a childrenGetter, so children state is undefined\r\n result = true;\r\n }\r\n return result;\r\n }\r\n\r\n collapse(force: boolean = false) {\r\n if (this.children && (this.isExpanded || force)) {\r\n this.children.forEach(child => {\r\n child.isVisible = false;\r\n });\r\n this.isExpanded = false;\r\n }\r\n return Promise.resolve();\r\n }\r\n\r\n expand(force: boolean = false): Promise {\r\n if (!this.isExpanded || force) {\r\n this.log.debug('expand called', this.payload);\r\n let promise: Promise;\r\n if (this.childrenGetter) {\r\n this.isLoading = true;\r\n promise = this.childrenGetter();\r\n } else {\r\n promise = Promise.resolve();\r\n }\r\n return promise.then(() => {\r\n this.isLoading = false;\r\n if (this.children) {\r\n this.children.forEach(child => {\r\n child.isVisible = true;\r\n });\r\n }\r\n this.isExpanded = true;\r\n });\r\n }\r\n return Promise.resolve();\r\n }\r\n\r\n isSelectedChanged(newValue: boolean) {\r\n if (!this.suspendEvents) {\r\n this.taskQueue.queueTask(() => {\r\n if (this.element) {\r\n this.element.isSelected = newValue;\r\n } else {\r\n this.log.warn('element is not defined yet - use TaskQueue - ', (this.payload ? this.payload.title : 'no payload!'));\r\n this.log.warn('local taskQueue', this.taskQueue);\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import { computedFrom, createOverrideContext } from 'aurelia-binding';\r\nimport { inject, Container } from 'aurelia-dependency-injection';\r\nimport { getLogger, Logger } from 'aurelia-logging';\r\nimport { TaskQueue } from 'aurelia-task-queue';\r\nimport { bindable, ViewCompiler, ViewResources, ViewSlot } from 'aurelia-templating';\r\nimport { NodeModel } from './node-model';\r\nimport { TemplateInfo } from './template-info';\r\n\r\n@inject(Element, ViewCompiler, ViewResources, Container, TaskQueue)\r\nexport class TreeNode {\r\n log: Logger;\r\n isSelected: boolean;\r\n templateTarget: Node;\r\n\tviewSlot: ViewSlot | null;\r\n\tcaption: \"properties\";\r\n\r\n @bindable() model: NodeModel;\r\n\r\n constructor(public element: Element, private viewCompiler: ViewCompiler, private viewResources: ViewResources, private container: Container, private taskQueue: TaskQueue) {\r\n this.isSelected = false;\r\n this.log = getLogger('aurelia-tree-view/tree-node');\r\n this.viewSlot = null;\r\n }\r\n\r\n attached() {\r\n this.updateTemplate();\r\n }\r\n\r\n @computedFrom('model.dataSourceApi.settings')\r\n get hasTemplate() {\r\n return !!(this.model.dataSourceApi.settings && this.model.dataSourceApi.settings.templateInfo);\r\n }\r\n\r\n modelChanged(newValue: NodeModel) {\r\n if (newValue) {\r\n newValue.element = this;\r\n if (newValue.children) {\r\n newValue.children.forEach(child => {\r\n child.isVisible = false;\r\n });\r\n }\r\n }\r\n }\r\n\r\n focus(e: Event, permitBubbles: boolean = false) {\r\n this.model.dataSourceApi.focusNode(this.model);\r\n return permitBubbles;\r\n }\r\n\r\n toggleExpanded(e: MouseEvent): Promise {\r\n let promise: Promise;\r\n if (this.model) {\r\n promise = new Promise(resolve => {\r\n this.taskQueue.queueTask(() => {\r\n let promises: Promise[] = [];\r\n if (this.model.isExpanded) {\r\n promises.push(this.model.dataSourceApi.collapseNode(this.model));\r\n } else {\r\n promises.push(this.model.dataSourceApi.expandNode(this.model));\r\n }\r\n Promise.all(promises).then(() => {\r\n resolve();\r\n });\r\n });\r\n });\r\n } else {\r\n promise = Promise.reject(new Error('no tree-node model'));\r\n }\r\n return promise;\r\n }\r\n\r\n toggleSelected(e: MouseEvent, permitBubbles: boolean = false) {\r\n if (this.model) {\r\n this.taskQueue.queueTask(() => {\r\n const processChildren = (e)[`${this.model.dataSourceApi.settings.processChildrenKey}Key`];\r\n const processChildrenRecursive = (e)[`${this.model.dataSourceApi.settings.processChildrenRecursiveKey}Key`];\r\n if (this.isSelected) {\r\n this.model.dataSourceApi.selectNode(this.model, processChildren, processChildrenRecursive);\r\n } else {\r\n this.model.dataSourceApi.deselectNode(this.model, processChildren, processChildrenRecursive);\r\n }\r\n });\r\n }\r\n return permitBubbles;\r\n }\r\n\r\n unbindTemplate() {\r\n if (this.viewSlot) {\r\n // @vegarringdal said, switch detached and unbind\r\n this.viewSlot.detached();\r\n this.viewSlot.unbind();\r\n this.viewSlot.removeAll();\r\n }\r\n }\r\n\r\n updateTemplate() {\r\n this.unbindTemplate();\r\n this.useTemplate();\r\n }\r\n\r\n useTemplate() {\r\n if (this.hasTemplate) {\r\n if (this.model && this.model.dataSourceApi.settings && this.model.dataSourceApi.settings.templateInfo) {\r\n const templateInfo: TemplateInfo = this.model.dataSourceApi.settings.templateInfo;\r\n const viewFactory = this.viewCompiler.compile(``, this.viewResources);\r\n const view = viewFactory.create(this.container);\r\n this.viewSlot = new ViewSlot(this.templateTarget, true);\r\n this.viewSlot.add(view);\r\n this.viewSlot.bind(this, createOverrideContext(this, createOverrideContext(templateInfo.viewModel)));\r\n this.viewSlot.attached();\r\n } else {\r\n this.log.warn('hasTemplate is true but something was not set');\r\n this.log.warn('templateTarget', this.templateTarget);\r\n this.log.warn('settings', this.model.dataSourceApi.settings);\r\n this.log.warn('templateInfo', this.model.dataSourceApi.settings ? this.model.dataSourceApi.settings.templateInfo : 'null');\r\n this.log.warn('model', this.model);\r\n }\r\n }\r\n }\r\n}\r\n","import { inject } from 'aurelia-dependency-injection';\r\nimport { getLogger, Logger } from 'aurelia-logging';\r\nimport { customElement, bindable, noView, processContent, TargetInstruction, ViewCompiler } from 'aurelia-templating';\r\nimport { NodeModel } from './node-model';\r\n\r\n@customElement('tree-node-template')\r\n@noView()\r\n@processContent((compiler: ViewCompiler, resources: any, element: Element, instruction: any) => {\r\n const html = element.innerHTML;\r\n if (html !== '') {\r\n instruction.template = html;\r\n }\r\n element.innerHTML = '';\r\n})\r\n@inject(TargetInstruction)\r\nexport class TreeNodeTemplate {\r\n @bindable() model: NodeModel;\r\n template: any;\r\n private log: Logger;\r\n\r\n constructor(targetInstruction: any) {\r\n this.log = getLogger('aurelia-tree-view/tree-node-template');\r\n this.template = targetInstruction.elementInstruction.template;\r\n // this.log.debug(targetInstruction);\r\n }\r\n}\r\n","module.exports = \"\\r\\n\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"tree-node{display:block}tree-node span.badge{min-width:1.5rem;float:none}tree-node.tree-node--focused>div>ul>li>div{background-color:#d3d3d3}tree-node ul.tree-node__wrapper{list-style:none;padding:0 0 0 20px}tree-node ul.tree-node__wrapper li div.tree-node__title-wrapper{border-radius:5px;display:flex;line-height:31px;padding:5px;width:fit-content}tree-node ul.tree-node__wrapper li div.tree-node__title-wrapper span.tree-node-border-icon{visibility:hidden}tree-node ul.tree-node__wrapper li div.tree-node__title-wrapper span.tree-node-arrow{cursor:pointer;margin-right:8px;position:relative;top:4px}tree-node ul.tree-node__wrapper li div.tree-node__title-wrapper span.tree-node-rotate{animation-name:spin;animation-duration:.4s;animation-iteration-count:infinite;animation-timing-function:linear;height:13px;width:13px}tree-node ul.tree-node__wrapper li div.tree-node__title-wrapper span.tree-node-title{cursor:pointer;display:inline-block;flex-grow:1}tree-node ul.tree-node__wrapper li div.tree-node__title-wrapper span.tree-node-title__pad-left{padding-left:6px}tree-node ul.tree-node__wrapper li div.tree-node__title-wrapper span.tree-node-title__pad-right{padding-right:0}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}\", \"\"]);\n\n","import { Disposable } from 'aurelia-binding';\r\nimport { inject } from 'aurelia-dependency-injection';\r\nimport { getLogger, Logger } from 'aurelia-logging';\r\nimport { TaskQueue } from 'aurelia-task-queue';\r\nimport { DOM } from 'aurelia-pal';\r\nimport { bindable, child } from 'aurelia-templating';\r\nimport { DataSource } from './data-source';\r\nimport { NodeModel } from './node-model';\r\nimport { TemplateInfo } from './template-info';\r\nimport { TreeNodeTemplate } from './tree-node-template';\r\n\r\n@inject(Element, TaskQueue)\r\nexport class TreeView {\r\n dataSource: DataSource;\r\n private log: Logger;\r\n private nodes: NodeModel[];\r\n private subscriptions: Disposable[];\r\n private templateInfo: TemplateInfo;\r\n\r\n @bindable() compareEquality: ((args: { a: NodeModel, b: NodeModel }) => boolean);\r\n @bindable() expandOnFocus: boolean = false;\r\n @bindable() multiSelect: boolean = false;\r\n @bindable() processChildrenKey = 'ctrl';\r\n @bindable() processChildrenRecursiveKey = 'alt';\r\n @child('tree-node-template') templateElement: TreeNodeTemplate;\r\n\r\n constructor(private element: Element, private taskQueue: TaskQueue) {\r\n this.compareEquality = (args) => { return args.a === args.b; };\r\n this.log = getLogger('aurelia-tree-view');\r\n this.nodes = [];\r\n this.subscriptions = [];\r\n }\r\n\r\n bind() {\r\n this.multiSelect = ((this.multiSelect as any) === 'true' || this.multiSelect === true);\r\n if (!this.dataSource) {\r\n this.dataSource = new DataSource(this.taskQueue);\r\n }\r\n // TODO: use a settings service or something similar\r\n this.dataSource.settings.compareEquality = this.compareEquality;\r\n this.dataSource.settings.expandOnFocus = this.expandOnFocus;\r\n this.dataSource.settings.multiSelect = this.multiSelect;\r\n this.dataSource.settings.processChildrenKey = this.processChildrenKey;\r\n this.dataSource.settings.processChildrenRecursiveKey = this.processChildrenRecursiveKey;\r\n this.subscriptions.push(this.dataSource.subscribe(this.handleDataSource.bind(this)));\r\n }\r\n\r\n unbind() {\r\n // this.log.debug('disposing subscriptions:', this.subscriptions.length);\r\n this.subscriptions.forEach(sub => sub.dispose());\r\n }\r\n\r\n attached() {\r\n // if (this.templateElement) {\r\n // const template = this.templateElement.template;\r\n // const viewModel = this.templateElement.model;\r\n // this.templateInfo = {\r\n // template,\r\n // viewModel\r\n // }\r\n // this.dataSource.settings.templateInfo = this.templateInfo;\r\n // this.log.debug('template element found - template info:', this.templateInfo);\r\n // } else {\r\n // this.log.debug('no template element');\r\n // }\r\n }\r\n\r\n handleDataSource(event: string, nodes: NodeModel[]) {\r\n // this.taskQueue.queueTask(() => {\r\n this.log.debug('data source', event, nodes);\r\n let customEvent: CustomEvent;\r\n switch (event) {\r\n case 'collapsed':\r\n customEvent = DOM.createCustomEvent('collapsed', { bubbles: true, detail: { nodes } });\r\n this.element.dispatchEvent(customEvent);\r\n break;\r\n case 'expanded':\r\n customEvent = DOM.createCustomEvent('expanded', { bubbles: true, detail: { nodes } });\r\n this.element.dispatchEvent(customEvent);\r\n break;\r\n case 'loaded':\r\n this.nodes = nodes;\r\n break;\r\n case 'selectionChanged':\r\n customEvent = DOM.createCustomEvent('selection-changed', { bubbles: true, detail: { nodes } });\r\n this.element.dispatchEvent(customEvent);\r\n break;\r\n }\r\n // });\r\n }\r\n\r\n templateElementChanged(newValue: TreeNodeTemplate) {\r\n this.log.debug('templateElementChanged');\r\n const template = newValue.template;\r\n const viewModel = newValue.model;\r\n this.templateInfo = {\r\n template,\r\n viewModel\r\n }\r\n this.dataSource.settings.templateInfo = this.templateInfo;\r\n if (this.nodes.length) {\r\n const temp = this.nodes;\r\n this.nodes = [];\r\n this.taskQueue.queueTask(() => { this.nodes = temp; });\r\n }\r\n }\r\n}\r\n","module.exports = \"\\r\\n\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"tree-view{display:block;position:relative;border:1px solid transparent}\", \"\"]);\n\n","export interface IKeyedCollection {\r\n\tadd(key: string, value: T);\r\n\tcontainsKey(key: string): boolean;\r\n\tcount(): number;\r\n\titem(key: string): T;\r\n\tkeys(): string[];\r\n\tremove(key: string): T;\r\n\tvalues(): T[];\r\n}\r\n\r\nexport class KeyedCollection implements IKeyedCollection {\r\n\tprivate items: { [index: string]: T } = {};\r\n\r\n\tprivate count_: number = 0;\r\n\r\n\tpublic containsKey(key: string): boolean {\r\n\t\treturn this.items.hasOwnProperty(key);\r\n\t}\r\n\r\n\tpublic count(): number {\r\n\t\treturn this.count_;\r\n\t}\r\n\r\n\tpublic add(key: string, value: T) {\r\n\t\tif (!this.items.hasOwnProperty(key))\r\n\t\t\tthis.count_++;\r\n\r\n\t\tthis.items[key] = value;\r\n\t}\r\n\r\n\tpublic remove(key: string): T {\r\n\t\tvar val = this.items[key];\r\n\t\tdelete this.items[key];\r\n\t\tthis.count_--;\r\n\t\treturn val;\r\n\t}\r\n\r\n\tpublic item(key: string): T {\r\n\t\treturn this.items[key];\r\n\t}\r\n\r\n\tpublic keys(): string[] {\r\n\t\tvar keySet: string[] = [];\r\n\r\n\t\tfor (var prop in this.items) {\r\n\t\t\tif (this.items.hasOwnProperty(prop)) {\r\n\t\t\t\tkeySet.push(prop);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn keySet;\r\n\t}\r\n\r\n\tpublic values(): T[] {\r\n\t\tvar values: T[] = [];\r\n\r\n\t\tfor (var prop in this.items) {\r\n\t\t\tif (this.items.hasOwnProperty(prop)) {\r\n\t\t\t\tvalues.push(this.items[prop]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn values;\r\n\t}\r\n}","import { bindable } from 'aurelia-framework';\r\n\r\nexport class BusyIndicator {\r\n\t@bindable active: boolean = false;\r\n\t@bindable label: string;\r\n\t@bindable size: string = \"big\";\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".spinner-blocker{z-index:9990;height:100%;width:100%;background:#000;opacity:.2;left:0;top:0;position:fixed}.outer-container{z-index:9991;position:absolute;display:table;width:100%;height:100%}.inner-container{display:table-cell;vertical-align:middle;text-align:center}.centered-content{display:inline-block;padding:20px}\", \"\"]);\n\n","import { Aurelia, PLATFORM } from 'aurelia-framework';\r\nexport function configure(aurelia: any) {\r\n\taurelia\r\n\t\t.globalResources(PLATFORM.moduleName('./busy-indicator'))\r\n\t\t.globalResources(PLATFORM.moduleName('./language-selector'))\r\n\t\t.globalResources(PLATFORM.moduleName('./location-management'))\r\n\t\t.globalResources(PLATFORM.moduleName('./measurement-system-selector'))\r\n\t\t.globalResources(PLATFORM.moduleName('./navmenu'))\r\n .globalResources(PLATFORM.moduleName('./notification-status-selector'))\r\n\t\t.globalResources(PLATFORM.moduleName('./notification-type-selector'))\r\n\t\t.globalResources(PLATFORM.moduleName('./temperature-scale-selector'))\r\n .globalResources(PLATFORM.moduleName('./water-tank'));\r\n}","import { I18N } from 'aurelia-i18n';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\nimport { BindingSignaler } from 'aurelia-templating-resources';\r\nimport { autoinject, observable } from 'aurelia-framework';\r\nimport { applicationLogger } from \"../logging/logger\";\r\nimport * as Linq from \"linq-es2015\";\r\nimport { LocaleEvents } from \"../events/locale-events\";\r\n\r\n@autoinject\r\nexport class LanguageSelector {\r\n\r\n\tprivate readonly i18N: I18N;\r\n\tprivate readonly bindingSignaler: BindingSignaler;\r\n\tprivate readonly eventAggregator: EventAggregator;\r\n\tprivate locales: any[];\r\n\t@observable selectedLocale: any;\r\n\r\n\tconstructor(i18N: I18N, bindingSignaler: BindingSignaler, eventAggregator: EventAggregator) {\r\n\t\tthis.i18N = i18N;\r\n\t\tthis.bindingSignaler = bindingSignaler;\r\n\t\tthis.eventAggregator = eventAggregator;\r\n\t\tthis.configureLocales();\r\n\t\tthis.selectedLocale = this.getLocale(this.i18N.getLocale());\r\n\t\tapplicationLogger.debug(\"Locale \" + this.selectedLocale);\r\n\t}\r\n\r\n\tgetLocale(name: string) {\r\n\t\tvar enumerable = Linq.AsEnumerable(this.locales);\r\n\t\treturn enumerable.FirstOrDefault(locale => locale.name === name);\r\n\t}\r\n\r\n\tselectedLocaleChanged() {\r\n\t\tthis.i18N.setLocale(this.selectedLocale.name);\r\n\t\tlocalStorage.setItem(\"user-language\", this.selectedLocale.name);\r\n\t\tthis.bindingSignaler.signal(\"i18n\");\r\n\t\tthis.bindingSignaler.signal(\"aurelia-translation-signal\");\r\n\t\tthis.eventAggregator.publish(LocaleEvents.localeChanged, this.selectedLocale.name);\r\n\t}\r\n\r\n\tconfigureLocales() {\r\n\t\tthis.locales = [\r\n\t\t\t{ name: \"en\", language: \"English\" },\r\n\t\t\t{ name: \"es\", language: \"Espa�ol\" },\r\n\t\t]\r\n\t};\r\n}\r\n\r\nexport class UpperValueConverter {\r\n\ttoView(value) {\r\n\t\tif (value === \"en\") {\r\n\t\t\tvalue = \"us\";\r\n\t\t}\r\n\t\tif (value === \"es\") {\r\n\t\t\tvalue = \"mx\";\r\n\t\t}\r\n\t\treturn value && value.toUpperCase();\r\n\t}\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".flag-selector input{margin:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:none}.flag-selector input:active+.flag{opacity:.9}.flag-selector input:checked+.flag{-webkit-filter:none;-moz-filter:none;filter:none}.no-filter{filter:none}.flag{cursor:pointer;border:.5px solid grey;background-size:contain;background-repeat:no-repeat;display:inline-block;width:40px;height:26px;-webkit-transition:all .1s ease-in;-moz-transition:all .1s ease-in;transition:all .1s ease-in;-webkit-filter:brightness(1.8) grayscale(1) opacity(.7);-moz-filter:brightness(1.8) grayscale(1) opacity(.7);filter:brightness(1.8) grayscale(1) opacity(.7)}.flag:hover{-webkit-filter:brightness(1.2) grayscale(.5) opacity(.9);-moz-filter:brightness(1.2) grayscale(.5) opacity(.9);filter:brightness(1.2) grayscale(.5) opacity(.9)}.ui-flag{background-repeat:no-repeat;margin:.5em .25em;width:40px;height:26px;background-size:cover;background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAABRElEQVR42u3aoROCMBTHcf5lo2fxNHgaPItapGjRRKJooWjBIEGD/8y81xCmrjhg7xte4VZ+n21vgyMyxkSaS3V4AAAAAAAAAAAAAACKx1NlVQGMsgIAAAAAAAAA3wDpKTOb3cH0BuO3kmdJegwX4FrczXwV14JXazhdmOyShwUg4SXYr/Dl8oDgD8C25F1WQhAAMpO2gOX9Ln3h15jOAmwPiVOwfZLWxi3jXfcBJov1W6j+aGYdd8zONQBpmp0HkMAuoWzbIIgV4FoStgog20IFwKdT4pLfwgb4djn68+w3DyDhqw3SY/jmAWzLXhqmnAbBvw3K7Ntufn/e8+0BsB15Hme+eQC5CbpcjtQAeHjx4YsQAG0CsH0cUdUEAQAAAN0AHIMAAAAAAAAAAEDbANT/KKkXgJ+lAQAAAAAAAAAAABTWC/MCectA2CykAAAAAElFTkSuQmCC\\\")}.ui-flag.AD,.ui-flag.ad,.ui-flag.AND,.ui-flag.and{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyZmQ3OTZiOS02Mjg3LTQ2NDAtOGIyZi1lMTJkNDY1OGE1MjAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjAwRTYyMEU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjAwRTYyMEQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowMWE3ODNiNC0zNzNkLWRjNDEtOWFiNS01OThmYTU4ZWM0YzQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo5ODY0ZDk3MC02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7vulD2AAAAwFBMVEX/S1VBR5v/4Vr67Kv01mf+sVn5llwoM6T5eVr/VF7tjGLlyHjzp3j+wlr/5VVLUKDZuX74pFzwkYf/OFTbvYP/+Vu+rHL/SVU/RZz/+0//VmD/42PoxWbwbGL7u5H/6FLUs4PUtozTqnH/4Fv/4ljavon/5FjStZHXu4vs0HPw0mz/Ql3BsHn/+WP+S1V8gLr/fobgwn13fLjzw2D+S1b63GD84VzSkW/+4Fv+4VrhfWn/4VvPrHPer27438PcvW5sDHqEAAABVElEQVR42uzWy3KDIBQG4LQFYjQlYEgviQYJqEivNCVN09v7v1VpsrSLEqc7/2Hhxm84c/DI4GHSzvB2tmjlDt6M2nkcnLRzNby4Pm1lBqeXg18y6QbMe6AH/h+Qiiu/5HGAfxtvgVLAYV7JcEDiN4CdsFY4DLZYBgPY2dpUTGtWgZo5HAxwIAizxMcyIgAPBSTmyS5PEY0pjJHlXAYC2CUkH32iKKLnUUQSh0MBW5N8vFjmB6C2wUCiSbo8W6YHQNsquARNxuM89QCMY6KDS/BdKBBCc5p9GZAVhqsjAHiOphDs7qOsCG8jBiWBEE2p7yNdkRKElsCBJvsdrHfP8xXRhocCRrAPSkcoW7+/rJgIBqqNFaIoyH4JYTdV8FFWpmmSkrEyaRrzimXw56w455jVgv08KHnURFIVMMbPlA4zEftd9P+FHvgD0Pma99TxovktwADZvExs46D+RQAAAABJRU5ErkJggg==\\\")}.ui-flag.AE,.ui-flag.ae,.ui-flag.UAE,.ui-flag.uae{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1MDFjYmE2Ni03NTcwLWUzNDAtYjIwNC00NGQzZWYwZmNjYjIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjI1NTEwMjk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjI1NTEwMjg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyM2ViNDgwYS05MjczLThkNDItYTVmNi0wM2UyYzk4N2RiZDQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDplMTgyYmY4OC02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5q5QjRAAAAwFBMVEX/S1VGRlVzrwD19fX/VF7/////+v9oqQA4OEnv8upPT157sw96sw1PT13s7O3/OEP+ZGzkSlX/TFXrWkk8RlVwsQBstAD/QF5DRlX/SmZSUmD1+Pj29vb0/v19tBHs+PNjrQB4tQ//U139Y2v/VV7//f8uOEhzuA2cx0vw8+s1OEjv9e3+//9ERFT/g4p5eYRGUF5GT17t7e7/S1T/P1x3tQ3s7/D/f4ZxrhBaWmdMT13sYlJNT17lU151uRDpWUYacu9KAAAAoklEQVR42uzWxw6CYBCF0UGxggWxNxAL2Htv7/9WJCxlTK75426+BziZzU2GVvpnrfvRN9ECitewa/UEHHlqgEG6GtAXQIBvwNt1M2gXBjjYg5eBxl1QGs6dHNqUA8rjRRqOBTq9JFpXAAH+B6R+iB3TySmi7Rhgb902BbQrA1Ss2SSLtmSBZlVDawsgQAR4qgCpARqdY4/m6PnY5tHWoQADAEbxL6oCvVGyAAAAAElFTkSuQmCC\\\")}.ui-flag.AF,.ui-flag.af,.ui-flag.AFG,.ui-flag.afg{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpkZjBkYjAzNy0wNDFhLWM1NGItYjc0Ni1hOTRkMDYwNjhhNGEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MUQ2ODY1OTI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MUQ2ODY1OTE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5OGM4M2FjNi03YWE2LTQ5NDctODk4NS1kMWMxOTlkNTY3NTciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3NGVhYWI5NS02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7RfKA2AAAAwFBMVEVGRlVzrwD/S1VPT17/TFUuRlZxsABhvADSazr/VF7/O2NERlV6sw3ASlZ8tBD+Y2z26uv32938dn38fIP19fX7lJr9anL7jZP24+T4wMP6nKH4vsH6oab8hYz5tbn30tT/UFr4xsl9fYj18fGbxkn5qq74ur36pKn8goj7mJ34ycv5rbH/Ulz8hItPT13+WGH23+A5T15OT17Uc0T3y86/SVX8gIf5s7f/RWv7h43DVF9pvw3319n+Vl/3ztD+VF3icxZYAAABKklEQVR42uzWyVKEMBAGYMyMC26BEJZAAsTINoCDioyjKO//VqJVc2IOJly0iv+SU75D0t3V2t1qkqfHN32a1+f362nutSO5On1Zg0kuL87PTqbRHo4BN78GbrXVAizAHweQe7jrWipAZSYHwPe2CkCIXQC/4wAmAnnAEjsAusAzCAMgwUwWiO3EAaCOPqNofAqYFbokAKkJ4VCkuzCklbPtEygJIIILSBhLec1SxDC3JIE9L6o4SH2MaUk+YnvDJIHO82qK8sAQwd7JusboZH/BN7ENXB6GZDywSdeyAGp9eyBN3zd8cGmbKxRSGxkl1CuYGdGGKFQiEoJwymqfEwPnSt1YCNx4XiMwVW3nEv8kVZ8HDh0LES0zcQH+AzB7yZq95s1dNL8EGADNEjLWPgysCQAAAABJRU5ErkJggg==\\\")}.ui-flag.AG,.ui-flag.ag,.ui-flag.ATG,.ui-flag.atg{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3MTZmMjVlYy0zMDE3LTM2NGYtOTZiMC04NjM2NzgyN2M0MTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjBEQjUzQzM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjBEQjUzQzI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxYWIxMTM1Yy0xZjk4LTA0NGMtYjI3NS0wMzZkMjdiZDAzODYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxNWRjODMwNi02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5c0JUaAAAAwFBMVEX/S1VGRlX+41pKZqTRqrCKn6JBc83OnKI1OFX19fX/+1vu1lr1TFZsZlYDCVPItVlyR1UlKVSSiFfXwlnTwcVbWFZPT17MSlXWVGfp5+jjeoJLSlVSTVX2YmqFe1e8q1ilu+NBQlUjXcaunFj///xNRlWPVX5ERFWoSVWZSFXeSlVIR1UsL1T+UlwYH1Q+P1X9TlhHRlX4S1Vxi6FDQ1X9S1be1tg6PFX9S1UxNFSgcnyacXzwTl63VXVFRVVGRVVS1/V9AAACI0lEQVR42qSUDXeaMBiFr1FXFkAK1FUlwhgT2iaF1VoZ+2D//18tKy0K8qW7x+NR39yH8JAjfnz6r/wErkcd4UnCu+bXALa8revzkc+YP+J+K0UDNNw2z3bz3e5JuJZ4yuXH5jW3si4Z943DzLJMx/Q8+eZaWeOSexSAEw08TyOe6YRlwrZF9ofo2etPDQIKgLap7Z7pIo0UYseZqiqxQRM/Fbq0Ub2MVgLqGiIl8DIhPKqbhIg5NYT8EihRXcABgLsqO1WIymYutXVCdJtaM6aSNOV1AUeAIw0893NHOJTqjFCVEPliOqXMdEZ+zisCjgHbUkPkMGEqsUupIbv/ohqUWrFiCsbKu9hoNQAeSoOJa1jzdBZQSt5CaTBT5pbh+n5FQAVQapCn16JUDQJylCBQ5S4O5/oOp4BSA4/M1KOH679twkvMHa8KqAG+s/Im4tnIrvSJ7czi5P1Ab7aNgELDU+77THddowowXFeepKR4DA9oBiAcv+Z52pLnYh6iDbAYfxiSRSsAL0P6v9AOwKK//xtdAIR9/RDdAPRoGKMP0EN46Qcshj6ANgDCL60JMQSA6eeWTDEMgP3Xxiy/DQWslx+bssZQAFZN/RWGA3B12p/gHABu6v09zgM8LgcI6ALUNaxwLqCqYYLzAcca9rgEcNCwXF8EOGhY4TLAu4YJLgUUGm7QCdh2jbGXAh67Ad1Zdwoo/oC0ruBqgs4Fi78CDAD2hU4y1OJnZAAAAABJRU5ErkJggg==\\\")}.ui-flag.AI,.ui-flag.ai,.ui-flag.AIA,.ui-flag.aia{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4NmEwNzhmMC0wOWI3LWQwNDItODRmZi01ZGQ5OTI4MGMwMGYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjAwRTYyMTY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjAwRTYyMTU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5Y2RiOTU1MC1mNmZmLWRkNDMtYjJiYS1lOTQ2MGE5MzRjNjkiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDplYjcxMWE2My02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4DMwFmAAAAwFBMVEVBR5uTtr34+PdMUaD7fob61Nb+jJJvdLL/S1X94uP9slSqrm315cpvc23P0eKtr9L+pamVmHD/oi2ut4b9wcTGxt0zOpT+cHeYTH5ESpwjKoz42rT7wHY6QZd+rv36zpdxTY4TGoT07uEvNpEbIojr7MHLzJXh4uyKjsF7gLmEh2ACCHr9X2hbYIHX2KlFS5coL4/w8fZMUZA+RJm8T3O/wNpARppHTZ7v7vH57+7AwoJ5fHPs3uaOtNDi4rJWWKPuuI+ZAAACs0lEQVR42uyVa3eaQBCGtwMI4aaCoMulRCBRiNY1igbThv//rzrLxUvPaWzMl37Iezy6usyzs3OTiBI4gkcF1N51eorSMzf7+pu3LyRFvK+3/qqMiEoPIPMYJWSTFAgQTTckhDIvW/eUXlkl5H1lI0UZQbFPQ9oAegigYUqKkbKQIHM375oLhO36A0UEmHvergNs8PgXURlAQdIdvQIQWCpLC3TCEaZeEwM23fPj716am10D0E0aohPjEubTPgcU06wc8+PDdHPNHgEuY2z6JBQLbmLWQSw4zqyepox57OoV5Fp72RyNRwDcA+CrGf5Ui14L4l0jSSpLSZJE9KBdthtX0igQ5Yq27n8PkI7igcAYjNtlq/s2Bka+XBG6HGrGMyHPxusRkNWqZBMkcdRkAQZiOZOrZoeGzZPawR4Oh9pbfNDw41E7AhLPwzqgRYld1daBw9eOgHXgYX23dXB4gDKOfUDFMYB9Vom71O0DL92uEtM5SNhh/fC8ERAA4FuqGvnRJSBJ5RkvXbM69YJgAnbYTE4TegEILCuILLU8B7CwD7x05+ysGz02h7vFhRP2G/puWTrEug7ngGzGn3Sq1L2cB4LDuT9ld9cG8Ycf+KrloxfBGuAURO5ricOATyRmniaS52XAb9alcfgYW3oU1G4EEA+PABGPF3AckW6k9RwOIOjEvoDBYtKm8dUGXwU8O/aR8JAfAZNtlXRjYydMttuJ0DpNWVJVk/t2b6nB2op0VfXBUqMfxhFAkyTsQk3dxMVXF3ganu2t8geILMtS8T2Gw/KURvKPMh7RFKsgwCyutdXHAXgHHStIx0zCW04+DiC5CWuU/rIGbXkLYGV/75STWwDE+Nbaa+Q2AMl/1fb26lYAMfgttBW5GUCeNfv1z38m8il9Ab4ADeDTyoRPKfstwABlyFeUOgEPXwAAAABJRU5ErkJggg==\\\")}.ui-flag.AL,.ui-flag.al,.ui-flag.ALB,.ui-flag.alb{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDphMTBlY2U0Yy1mNzgwLTIwNGYtOGFlMS03YmM4MzBjNmE2NmUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MUYyODM5Nzc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MUYyODM5NzY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmZDM5YzFjYS0zNzIwLTI3NDMtOTFiZC02NmRmYWVhZjJkMDUiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDphNzE2Nzg0My02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6Z7ujFAAAAwFBMVEX/S1X/VF7/TFVGRlX/VmBaR1VTRlX0S1VBRlUaRVWzSVUjRVVqR1XKSlWeSVXqS1U5RlUsRVWhSVU8RlVxR1XdSlW9SVVJRlV9SFXFSlWNSFWESFXVS1VgR1XmS1XZSlUxRVVHRlXhS1WpSVWSSFU1RlX5S1WuSVWWSFXRSlV1SFUSRVXBSVWJSFWZSFVDRlW6SVVPRlVmR1X/gon+S1V5SFUARFWmSVX/TlUORVX/foX9S1X/U11uR1X8TFX3S1V2GqbCAAACS0lEQVR42uRWXXeiMBClwwKBSMAEwoeAfIqoiFirtl3W//+vSrt98OxLs+Vtdx7ISTi5Z+ZemDvS48OkeJQmx89p139ID/8yAIxxv4oDrD6elkm5ext3LidBcvfiSwAwZAncYs22uvq+VfStXV5cAK8AMYAEZznkzYAxOwDsGMazJoek13MxAAk0z94s2mZ51LGlYT2OonCxYbIGgiU0juYSrMsRHLdP/jYG19PxfqltAsEMVkfbpyra+tcI2zY2r4st6olvx5qgClYQmXuE0mO+T7suLfNZitjajD61+LqEnCktVZnHEMtk+X3xmEpCxV4KliC5pB4BMpl1I0DWMTljKq2JK0piHockRJ18Fx1qaRm7ohk0nC/+BPA5bwQ/ZbAWw1Ac7XsAOy6GwU9EZaTECtQ5Qtnv2xlC835nUXITlDHhh6F2mNxVyHsnseo6NhjDgQtmAG7fR3XJKVEUJMtIUQjl68JVPWEZb0moNE5BXXvuefPUpYXTxG1yE+4Hjt6/7mvNmFUOQo4dG5pRgqrPRDmQCgoSSKX3nEvVXLKe5XA1HhQX0Qy03doCoOdzeT1gbFzJ+Ux+gbXnoj+TQep4c4l2LeS2zSoX2kNUbOKa1CdBDvZKTWYcgnVfeV7llQEEM1IrpSgHYNQAuXkLaZjKWdpeWs0cW+J4KghwkuCjmy9DrsxT9RBGn+399S99IfAJjRVC/B18z5mgibVY1WITvmttJ1jregin73sjBBhzmGKu8OTANHderf6DAWPykDU5XqYNmi9vAgwAiTk5JGGHER0AAAAASUVORK5CYII=\\\")}.ui-flag.AM,.ui-flag.am,.ui-flag.ARM,.ui-flag.arm{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxNTJkNGUxZC1hNWVmLTA3NGYtODE0YS02ODNhYjZjZmNjZTEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjE1NEFFMDA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjBEQjUzQ0E5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowNTk2NjNhZC04ZGI1LWExNDItOTMzYi1hMzFhZGJhODQ3YmYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4MGMwNGVhNi02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4cbn+GAAAAeFBMVEX/S1X/tABBR5v/VF7/uA31rggzR6BLTZP/S0/zS1lJR5gyP6f/vABNU6FLUKD/uRD/VmD2sxdAU6b/Vlr0VGH0VmP/g4r/gIf/yUn/yUY9UKX/Vl9UU57/wBD/VFg8Sav2shU/S61UVpn/uAxSUJ1WWJr/vw3/U12CB+ERAAAAaElEQVR42uzMRxKCABQE0SGIIFGiShBE4P43tIortMv/9t1qPaQTdrC8l8cGhQ1scA6mEKlUR0ij7w0Z9AqQUpmLpDawwX8G7xhZ9Lkim+YLcteeIKN8B8ltYINzsNKBA+nhI8+fAAMAaYweprzNq5oAAAAASUVORK5CYII=\\\")}.ui-flag.AGO,.ui-flag.ago,.ui-flag.AO,.ui-flag.ao{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozMzRmMzkzZS04ODY1LTYxNGItOTk3Ny1iN2IyOWM0OWVhNzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjAwRTYyMTI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjAwRTYyMTE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDplODUzZTM4My04MmY0LWZmNDYtOGYzZi1hMGFjMDUyYTNkM2YiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3MTA4YTVlNi02ZWE4LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz57671GAAAAwFBMVEX/S1VGRlX/4Vr/VF5PT143RlVSR1b3TFb/wlnIs1n/VmBrZVbkyln/lVeFe1eUiVf/VFX/XFb/t1n/clZSUmCsnFi9qlj/jFf/o1j/3FpQTlV0aVdEUFVcWFZLSlWMgFf/alby1lr/rFj/TlXr0Fl6cVZiXVZVUlX/gon12VrQull6eoX/g1f3S1WgkVfcxFn6hlhPT13/0VlbUF74Vl//Vl9CUF6fkFddUmD/U12wmlmllliimVipl1nDr1j3TlY1mZLdAAABeElEQVR42tyS607CQBCFdw+ohbb0gpQFrOXWAgUUEfGKvP9bOYVyMVlIlo1/PE3TmWTm65nZZcOCloZMW+967S+soAco/39AVXiupwOoQ9i2DqALkqEB8CYGEeqXAjbjt+fnCOcB1a15HxCeOoB+b8Nl3pbQvcCBgQY9mXu3AXjqgJ6/318d5EV9B9SW95GFiSqgx9hcuI38FvkQioCqYG6bbd5MNuaeGkCgd5xOcGKGMltMb2TyYayP0hkwk5VNF+z5WqoVMGod0g9Y8ro3tryS6m5ER+Ds0xRf8rolK3K5wj4RSrsEiOVltycBnH8SoWNuQhpooA7g4WM2BgUJfUMVwMDMA2c7BoFqXAFgWqjkYbME9Adh32mqAGLa3/euI+mcXOCZHViZ9chMzEoQ8wcgUAVUcJB1H1p0qdQAPIziILsIozR6jTiZqLUuOEYnDZoHT6k64JcidBItQHada1oAvkojPYDmDv4O8KQL4Jpi46KWxj8CDADBBiF/o8tYWgAAAABJRU5ErkJggg==\\\")}.ui-flag.AR,.ui-flag.ar,.ui-flag.ARG,.ui-flag.arg{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4OGNhODQwNC02MWI3LWI5NDYtYjYzMy03YTYzZWJjMjdlYWYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjBEQjUzQzc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjBEQjUzQzY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NjRjNTg0Yy0xNzY0LTdjNDYtYmI5ZC0zNmU4ZTE5NWVkMDgiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoyMjAwYjk0Yy02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4O0Ns5AAAAwFBMVEWCr//19fWIs/+Hsv/29vaKtP/xw6v049X02cPzzrDzzK7305n00bT1+Pn01bmnx//xzcL82GL/4D77zVHzvJD1+v/05tv19vjyuozz18H19vf2///19fT16uH19PP/6U71/P//7FP17eb/4Fr3zo717+v19PSPt//1+v319fb03czxyrj2+Pf1+vv1+fz30ZH2/f32+frwuZvxt5jxvqKQuP/2z5PxtZX18O31+Pv2+fj18/H2+/uJtP/31aD1/v/z8LPVAAABBUlEQVR42uyWy3aDIBCGSZoCUkwwlhAUFbVRU5O0Nr1fkvd/qxy7lwUs2oX/luE7w/APA1hMnbQAzpq6bf9xBVyPgBHwC3BW7dZML2A2MejwwbVoTBEzMLymoqZIEeqSRqjhKEMG0XssqSQUnzeRIYNBQMXjW8yOkN2vY11ZALqC4vYmDO4gpkVnAfAVYadlni1PjCgrAJJPYV6WeXiUyLcCEBhkZZkFkFgBxCdtX/sjPLTezgawT+YY9kV8xvPV3gKQ8niN2Vt/jWedWgAm0eZRepJ4+NtoJIOVhU6+ENqttKgMVt4aOkXxA+c+NzXTFtRXTqr/fDaOz/oI+C+z0fWjeRFgAJ9mGStn4IsQAAAAAElFTkSuQmCC\\\")}.ui-flag.AS,.ui-flag.as,.ui-flag.ASM,.ui-flag.asm{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo5MWE2ZmM0Zi1lNTM1LTk3NGYtYjI3Mi04ZmQzMTBmZTU0MGQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MUYyODM5N0Y5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MUYyODM5N0U5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDphYTBmZTZhMS03MzQ0LWI3NDQtYmVlMC03NzNhZDMzOWVhMDciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDplMzVkM2E5OS02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7jWGGXAAAAwFBMVEVBR5v+4WL19fX0//8mR6b4sLX0z9BuSov58MrRfGn/Nzi5VUaxS3DKS2b667L76ZT/REj6iZD9bXb8SlJLUKD05+j7eoL79OI5R57VinKUSXr/KyrZlI3GbFvnS1swR6HmxbweRqlCR5pSSJT/XGb/LjLZpqDfsqj/UVv29e7/OkOASYL/MS1MR5b3v8P09fj07u83UKg/R5z/QD7z395fSZBFR5lBR5r19/f08/R6frm+X0/5nqTfpZFJR5e0S0GbLRXYAAACbUlEQVR42qSW22KiMBBAIVgE0WCXarzAKlRrqdv1Rndl1e3//9VmknArEsGdBy8P58wwJJMof57ujV1r99F1lXsiCEYtf/Yx6fU7S+XpXvp7/8f0bXFuKBB0l9HfzrqmNREECqVHbZa7z2hNi2sLWO5RuyvoiMJHhFBNgcgt6IeErimgtO/vv+SOURTVEgTKjNOHQu7t5TJ+uS1g9O810EtnmFUer0zT9G4JgG79gtxToAfZc88pbp6sgUzA6GBdpreuOeZ8NNhsKgTBntJ/Of36mM+NXk6WB+VbljmmTdxcEbDc7+uuA/TwYZuj0fxkWSAA3g0JIeHmi0Dk7jH68SfQKIvISsMzLxedGKQgYPQzz73g9BHlQzc978QF0AadVnBMBYx+p7k70w7NHRdz84CXZ4oCzNUGQvQg2Ldo7gmjF6XK09hGbsK7A5QuZaBhOAg6rqAhyODifTLFaZwKdv6M5n49AK0fJTTlCdFW7pz1wUsFdKk5jkOXObxuCY2QYWMC3y5dRVaUCXoOE7AnlwpsFfMf409rhfKPAA04wHzTZQ5iG/QzRKEhNmLaxHTCiil3xUGwysMWXzazpZspcbAXcdZRyREa2AbKxirGqk3/FQWJgy+FN+nrMFTqsDEOyyMNFqNsQRg0Lc1PCwhRvgfFzVS9JGlqtVzQle1ctSkw7yE0IldC9UB5nuQ39ZGtgzRsuSA/GDq5wUBw4sDhLYFsNBFJE+sPx3oC2XhGTY62qgOiyeF6/YiqLUjq2PM6codk3PCC4fsKP6adITumtbjpFQcchYvCnZeszHHfNS+7LC2V/7potrvDfwIMACsFdty8b3v1AAAAAElFTkSuQmCC\\\")}.ui-flag.AT,.ui-flag.at,.ui-flag.AUT,.ui-flag.aut{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxODExYmYxZS05ODAyLWIxNDItOTQ5ZS1mMmFhZWNmNmM3ZjEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjIxNzJDRDM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjIxNzJDRDI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowMjdkZGZlNi04MGVmLTQyNDItODdhZC0yNDI4YmEzZTI3MjkiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0YjBiZWUxZS02ZWFlLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4/Ycv6AAAAMFBMVEX/S1X19fX/VF7/U1z29vb/VmD29fX/XWb/U13/g4r/fIT/gIf/XGX/X2j/Vl//f4ZT+I9kAAAAWElEQVR42uyVOQ7AIBADzREgEMj/fxuJLwxSGk/vqdZe3RExhGksvhSZ4LLAgi3AVFamqRIQRQGizPLZAgvOCPAp4zI9CVH5oHiVLTgiaL//xpf9xv4JMACvxwb0pL7OvwAAAABJRU5ErkJggg==\\\")}.ui-flag.AU,.ui-flag.au,.ui-flag.AUS,.ui-flag.aus{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxNmUwMTc2NC01MTVlLWUxNDYtOTU4NC0xODQ0NGQ3ZmVlNTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjE1NEFFMDg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjE1NEFFMDc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDplMDEwYzcxYi0zNzk2LTIzNGUtOWFiYy04ODU0M2Y0ZTI2MDAiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4ZmUwZjUyYi02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6WhbVTAAAAwFBMVEVBR5v/S1X55+f+p6v81tiSlcRESpyWUoQzOpS4utb+bXTZ2uhLUKChSXgjKox3e7b+/v1WWaQ7QZjDw9v9v8P8e4JxTY719fX+jZT9hItNU6GHi78TGoRlaq3Jy+AuNZGjpcz+lZsbIohucrHl5e4CCHp9gbn9XGbq6u9cYqn+7+9HTZ73zM+pq9AoL46QTIFQVaI/RZqcn8lqb7C8T3Ows9NARprv0te9v9rP0OPv7/L17u/s3ub/4eL3+Pjtz9fF478OAAAC4klEQVR42sSVjXKiMBSFE4UUCw0BpJGgomDxB2QR1Ipd3fd/q01EbHUGnK070zvRMYR8kHvPuQI7JkOGEdM0LVKsMYS9woz4hEU4smJovyKtKXRgwx6hIU4QACvP6kFoF4oJAEqwvnfgeGF4oDnCGMKYWJFvohLgcAAyfbDrwqlEQ2XVuJ2BZLUZQ4ccXYy3FWCV4PDDhm3SAf4K3QGwxNf/TGGXWKyPS4DX18TjD3v9dLI7AA2tfHPThs8L4vY3ArDrh61n8XiTHwvcBShJkvTfUkts2Q1Pb9ARuMJ46ycJTu4eQQ945NFA7dpdQkQZifil5lF+WkHm9Y50DtAV4FCG9P7RkiTJ4WWUpNaH9C6dF67LiMLh0GVXAHgn1spXQNShVNUeABgjSjeDBwBAy5aD6yRK54jjViuObZ6DOJZah7i6/urdZB2w63mo63qoG4FKJJ58XgWHkLbTUgODX+bjtgpVMkAuvjjAw5jrAFnUhmOr1IG1cGBvqHEdYIxrdGBk6i5npRK3vjIiQrryWYm+S6QpjJdmgxEGlFLZOHnB8weTBddhYVReSPppwQ9jT3LfqyOEFp3IwcmN5pII6crJFzfixCUH7rCN6W9rEPpIPkt5wp3THRq+ct0PmCW4v/VTP9CCLAu0myyKwQHHNrQXvBmIjpSIJNrqqSNh7B7FycoyLrl+aszkwK7FSt+uvJ0o41AAAH+JaHdsT1/EZL6htDOv/JDKGvoEvKxTr2obW+1pvX5i2/ONiZcav17FGgtUVa8EpHXoRvsEIM+7tA2keAofF+uZlzUjiozLa2cT+WtHAv8cDKSPAW564n8GIPQgwO08AIh0ADoUgNz4JgBZM1ml8nBvfPsIKhUx/34ORmJ/0XA/SsOQsTqAu6dlLOtr6+5nI1QLGMkTvn2UZbWAlP8vFPOGMs72BW2SVurOaNYACOgA1Bi/suIgnzckMQj5x/1ZL/wA4OHQtYdC/yvAAE/7WpPSCzKaAAAAAElFTkSuQmCC\\\")}.ui-flag.ABW,.ui-flag.abw,.ui-flag.AW,.ui-flag.aw{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplNzE4MDk2OC0xN2ExLWEyNDYtOTZiZi1jOTJhY2NiYjQ4MDIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjE1NEFFMDQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjE1NEFFMDM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiMjBmMDE0NC0wMGU3LTI3NDctODYxMS0wYjFkMDJiMGM5NTMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDphNTA0Zjg4Mi02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6jayjYAAAAwFBMVEVBc81LetD/4Vq3t4bj0Wv731yxtIlNfNCOo9heidT7lZttlNhIeM/czXHx2WT+XWdljtb5nKFFds5Ddc3/BBL/MT2ytIl2mtv+UVv/OkVgi9X/Lzu0t4v/P0r4pausuN7ju8hYhNJ/ndiIodhpkdfn7/ZQf9HmrbmwtI7tsLn5rbLL2u+9tNKest7Hr8nLts7ascJWg9KvtI//SFO/r83/CBb/ChhHeM7Z4O/U5vZ5nNxMe9B8ntz6s7egtN+ntd1d3/tEAAAAq0lEQVR42uzWtxKDMBREUckZZIIwUYATzjnn8P9/ZXf0bxuPh9tzikWaEXtwqBuD49jn9xzYtihAPQeuPQxQzz4GvNIFBnTddpMO2MuNFYfjt3BIgJrP0lNsRUdPXgQFOGvZQYbRXl81bE7dYDR1dQWN2PHW2F8QMgNP4lADgYEDArQKoAD+BkjKUAkrgTGzCmX+wIhGBcrAR5z4NSB/V9yFLwAXYA/N4CPAAGsJEFR0jhehAAAAAElFTkSuQmCC\\\")}.ui-flag.AZ,.ui-flag.az,.ui-flag.AZE,.ui-flag.aze{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmM2U3MmJiNy05Y2Y4LTQ5NDItYmQ2OC02MWIzMjJhNjMxNjMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjIxNzJDRDc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjIxNzJDRDY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozNTRiYzY5NS0zNjJhLTFjNGMtYjBlMS01MGFjNDg0MzJhOWYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowY2QyODcwMC02ZWE4LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7FFD4RAAAAwFBMVEWCr/9zrwD/S1WIs/96sw34UFF4t//5T1xotwB6qgSKqfT/REj/Q1z19fX/VF78hYz/VmD9d3x8tBCKtP/25Ob5srb+Ymr/TWT4ubz5tbj+WGL/Tliaxkj7j5WCrxP31NX31tj+Vl/4wsX23d/5WWX8gYf/TFb8fYT9aG+RrvX4WluoyP/7kJ/3ytBwuw3/TlH+XmeAvP/+W2T5sLRxvBD/UFr/Ulz/UFN6swz19PT3y81/u//4xs37kJb6mJ78fo6wXafyAAAA4UlEQVR42uyR2XKCQBBFWzBuyRWNo6KAgGLAJXHL4u7//5UyVuXNqWLaR87L7YeeU93TNDNZzIiNyXveygW54DmCQ4nFiiY1FhOKyiwiWryqiG2/l6ga/qhuPCYRgNgPPUVLQyVIgOD3ls2+piCAkOmEY6PuZBdYgCWLsT+yOxoTbIClHKAHwOtnF7SB9b/gtM4u8ID4vkKgt0Io4MviJ7SMUOMTjRiw01zqnjG9w264sc8fKkH3TUF3/imOF2UHTV9YTGlQZTGgrwqLbyoWWLznglwgBVuuoMCE3CIL9yrAAKUaKZYPIBvYAAAAAElFTkSuQmCC\\\")}.ui-flag.BA,.ui-flag.ba,.ui-flag.BIH,.ui-flag.bih{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowOTc2OWQ3Yi03YWY2LWQ0NGQtOWU2My0wNzUxY2U1NzQ3YTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjZBRjY2NkQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjZBRjY2NkM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyN2M4OTk1NC0wNTk5LWVjNDQtOWE3OS0wNmZjMjUxNjllOTEiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDozMTYzYTIzMS02ZWE4LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz60+czUAAAAwFBMVEVBR5v/4VpLUKCFiL3X2Oa2udb//U4+RZxESZxVW6UUI6snMqSVmcV1ebb19fWkpsz/8VNNU6F4cYpjZ6xpaI3/42L/7FWCeYb/5lj/3lvGyN7m5u5tcrGTiIXs7PB9gbnMzeCdoMlKUKB9dYeQk8KqrdBHTZ41Pqjz8/Tw8PNHTaFpbq+wstJPVKHQ0uMfLK5LUaCAe4/e3+n/41k/Rpz/7V5QVqRdYaggLa7/+lm9v9kYJqmKjb9JUKJMU6P/81yUWwcEAAAB5ElEQVR42pzW7VaCQBAG4Akw0GJJ6VM2FklME6msrMjs/u+qHcQ0A3a2OYD/njMzLu8BhCFrOmZW14hvH9+/zkj10rs1ihJQFGeTIIbZ7KN3eHJ1oK7L89MjKCvGx3AJAxe8gd2hCVugCwb+OPI23bnlCprwB8A6ZrKOn0lCJYDCEoA0RTUQJWkOIFYEoRLocvlvwEPACVNUdyCr3c+YlU2VQi1QbDJxlHuoB2DOwgU4jkKoB0QLkiEI1YmqB+IRbjINRv59k9AwAh5JPFGtxh6aARRazSdKAXhBZAH4i85NnaDqoI1X37RrBQUga+R5rO+JOkENgCcXGfh1PRAAyBnjuMlKgQC8WtPUg9eh/VElEIBFGxwfxHhk31/8FSgjYNSGIZtYq4opiAAscZFQMQUVmI5DeaJmn539KagApj0v0n6vByog094x+TzjYm8KKoA1wHdzaP+eQgf4SfvdHrSAfprLtOd3uz3oAOu078793Sm0OijTPov8raALFJvEtN8I2oATsIlM++eNoA2YOaTLIu3XgjbwUKa9478VgjZQvlmM5ese/gWgkMN6k0//AgZBFsmoWqGwA8T0DtogFhCZ2MPhFtCq2EtYlLhS6P185rmGTqVswkJ+d3T9WH5out8CDACYYkDWYRjOVAAAAABJRU5ErkJggg==\\\")}.ui-flag.BB,.ui-flag.bb,.ui-flag.BRB,.ui-flag.brb{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4Y2MyOGJhYy05NWU5LThiNGYtOTdhZi1lMTE3Y2M2YWYxOTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjM4RDBFMkI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjM4RDBFMkE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowMmVlMTE0NS1iN2FkLTZjNDYtYWY2YS1kZGZiNzg2NzRlZGUiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDplYzM2MWNkNi02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5SnfDeAAAAwFBMVEVBR5v/4VpLUKD53Vr/81uXiVe+rHIpM6NERFU/RZw+RZwkKlRNU6HCr28oM6TiyVn/+0//+k//42Lbw1nLtVn//1s5O1W3o1j/+lqrmliBelcCDFNaV1Z8dFf/4loWHlT/7VoyNVX/31oMFVNzbVbDsnjVvFkuMVX/6FrAq1hoY1Z3fLdLSlX12Vry1VphXFY0PalJTqEeJVQ2OVX/5Frq0Fr//1D37VuNgVfQwFk/QFXDsG9KUKAnMqT/+U98gLqZa8WnAAABbklEQVR42uzWy3aCMBAAUJXQprUttTgYQEJ4SERFlIc82tr//6vqcYkLQxbtwlkn9ySTSTKDn1En9rsF+egEWez23bHrwZV4+n54H3Zi8vr4fG301xXg7XbgZTC6A/8foFQO8BnzpQAURUgKgHAF/QDGzptnBTYUdk4FY4KAlgChPsTjbAY+JaBox08R4DDLrYYwtBrzlDHSWLl5EANIanOnilyM3WllcXuODkJbmBDN42rVqLitm0rlXIOjWA4oOLYJQA2uAJh2SKjoMULs4gQ0w9NB2binTIoC7DQtvgBxhrdIuJAocuz6Aqh2iArxSgQzSElpeBqsAhV6lDKZjg2Ecr4kbRb3AZBu5HXdtnVt5DrpA5SYB8FmEwS81VAPgG0xDi3cOiFuS9YDoIqegGJ4W0h0pegB+BQxcj7G050q/J4PCjoDSOJFQnrmRkQGKNO5JrOCIV0u6fBPgfvnehMg3WRJt3lryUbzV4ABAFWrOv5h8BoCAAAAAElFTkSuQmCC\\\")}.ui-flag.BD,.ui-flag.bd,.ui-flag.BGD,.ui-flag.bgd{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4Y2NkODU5NC1hNDQ1LTgyNGUtYTFmNy01ZjY2ODA1MmJkZmUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjM4RDBFMjc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjM4RDBFMjY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5MTQzNzA2YS1kZTFmLTFlNGUtOTdiZC1hNWRiNzY4ZmMxYjMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmMmFjZTNiYy02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7P2rDIAAAAwFBMVEVzrwD/S1V6sw3Vajt1rgDnWUp8tBC3ezCFow5ZwgCjjR7/PGH/Rln/TFT1TVRxsQCcx0pWxAD/QV1qtQBluQD/Nmb/TVP/O2P/OGVuswD/NGmshiPLbjiRmhWakxqpiSL/SlZjuwBdvwDwVkt7qgh8qQX/P19gvQBcwACLnw//SVZYwwCalBb7SlZstAB/pQuugSrBdjL/SlVotwB1rwXeXUfBeC96swxysAD/S1RkvABougB7tA//RFv4SFiVlRdKvthWAAABr0lEQVR42sSWeXOCMBDFQdZKCIhccqkcKiLUEw960H7/b1Xa6YxThRKacfr+399skt33wgw6VBow1DrTlb8yHTrAw70AkGeLOI5D3YY/AACyNJiNBU943+ipzkBLAGjpweP6KsY4Wh23G6RDKwCEz9u+ZRWJ7/uJiI1iJ6f1TdwCIJ0dHVWS2G9JhdMfKzKQAiDlC+NS/qkhtgQlJwQA4iM8ZH9qqBqCAkQA0LW+dV1fEqKIj4EEkKORc1tfEoxpsCYAQLjEIlspx6s+xFUHaGRIlfUSnmZ2MyCbs0V1A2yCH8NmABLMmnpWMk6IAHCy6gCsyQVyEyBfjGo7YKOuvW4CyAFXD1CnoN0dQH0EBu0sieYS6Z9Rn/t1g+QTDdKvo6zZNMv05LhEy5QjrnqdramuERlKYK/MCkNR8ZLMUEpLXOJbSyvq3KDKVJVxZF2bquHW2vItgFH4bmnrl/sXnbeJYgN5LgB66b0Zppj4+71fBos6Oig5tIq2LJ1tj6vINM1I7Pb4OIDW4VpG6mbiue6E19JF63D9Ysh6GKM4Duz/+mC0AJxpAdSi/Wh+CDAAKvgpPS6mXwMAAAAASUVORK5CYII=\\\")}.ui-flag.BE,.ui-flag.be,.ui-flag.BEL,.ui-flag.bel{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozYzA0NDZiYi05ZTdkLTZiNGItYjE5Zi1mMjEyMWJjN2IwNzciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjQxQTQ0MjI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjQxQTQ0MjE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmZDUyODY0MC01NWU4LTMzNDUtODg3Ni0xMGUxZDUwOTNlNWIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDphNzdkMGFiNy02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6w6udxAAAAXVBMVEVGRlX/S1X/4VpPT17/+1v/sVj/OFT/SVX/+VtERFUuMlXArFn/VmD/VF7/42L/+2P/+WPDsGL/Ul7/Ql05PF1PT10tMVS/q1j/tWFOTl7/gId/f4p7e4b/Vl//fIRainS+AAAAW0lEQVR42uzWxxGAMBAEwQPhnZBAeMg/TAJYPai6H7UTQL9HTgPts7MDNG6T76FDItXLmqVQlRdlgkmIAE37GbjF6ICOAAECBAgQIEDgj0DQAurNu3Sj+bwCDAAMMRpNcKfN5gAAAABJRU5ErkJggg==\\\")}.ui-flag.BF,.ui-flag.bf,.ui-flag.BFA,.ui-flag.bfa{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4NmVmYmI1Mi02MWYwLTY5NGQtODY4MC05MDE3ZjY4ZDYwNjYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjhCNjZGMjg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjhCNjZGMjc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpkYjVjZWIwMC1iZTJmLWI4NDItYTMyZi01ODJmZDkyZjFjOWMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkMGVlNzVjOC02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4TlmF9AAAAwFBMVEX/S1VzrwD/VF56sw2KtBNotwD5UVL/Q1t8qgf/5mT/4Vqyxij6rlf/alpYpQD/+Fr/LVb/xVr/Q1X/PFRrrAB8tBD/VmBkqgB9swb/3Vr//2T/TVX/nFh2sAF0rwBwrgDz3lX/gomaxkjt4VT/SFXd1UR8owf/9Hr5W1xxjwb5SlL/7G5ouAD/VlX/TmR8rQd6swxzrQD/4mD/Vl++zDZxuw//U13t20/u3FJvugz4T1KjwCFyrwD44FdptgD/51oBlwhcAAABCklEQVR42uzQXXeCIBjAcSraBiki0lBKtLKy7GVz7a22+f2/1WzX0tmBTlf+b+Di8XceBJOuVRNg3Zvd5y+gawc8tkAL3AIYsWBkBbDtllkB1HGoDZAFEQ4yQyBjjNHc81xaXzKTDc7AWMrxGbiwwe6+OeqWvu/jqsL1UbpUM7YD+V1z66MjpVdFUeVJ6RzXmrEcDB+a2y9WcIZwHZrB1WKvGYPgs69p0yf8oxZQ+kx+NrqpV9DraBPxd4lQiUOhnxleABQZFMV8XhQDooyARLwvD4QclqlIjAAB0xPhnJxSKMw2CGOSxOqLxKHZBirhf29XPDH7B/+qBVrgSsCTLdCxDEx7Vk1/BRgAGjIhXKS+v1gAAAAASUVORK5CYII=\\\")}.ui-flag.BG,.ui-flag.bg,.ui-flag.BGR,.ui-flag.bgr{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozYWQxMjI2NS0wYzNkLTRkNGYtODVlMy0xNWMyNzY5MTEyMmIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjdFQzM5MjE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjdFQzM5MjA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDplYjM1YmYxNy00ODA4LWIxNGItOGI2YS0yMmU0MmE0NzQyMGEiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo5YmZjYzY1Ni02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7XjJmOAAAAZlBMVEX19fX/S1VzrwD29vb/VF7/+//t8eZ6qgR5sgtpqgD4UFFotwD/Q1z/VmB8tBB6sw34+Pj/T2aBtxqCrxSAthdyrxCBrhFxvBD/U13/TWT4WVru8uf/f4b/fIRwuw3u8uhxrg34W1y1uhc8AAAAYElEQVR42uzMxw2AMBQE0TU2OdjknPpvEkQLa4nLf3MfOE1x+Jt+k4EMPAxCEtaIcqJLKA2ulNLDBpRKBjLwMzhyyoghprRYMsqNuaDUMIpSykAG32BiB4qEzVD2R4ABAL8VHYNU2WYgAAAAAElFTkSuQmCC\\\")}.ui-flag.BH,.ui-flag.bh,.ui-flag.BHR,.ui-flag.bhr{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo5YTg4OTA4OC03YzI1LTZlNDgtYWFmMy03OWMyODhkNDUzMTEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjJDQzA2OEE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjJDQzA2ODk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4ZmFlYWMwZS1kNDFjLWUyNGEtYTkwNy1kZWE3NDE4NmZkMTEiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxODNjN2E2MS02ZWE4LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7GcAPaAAAAwFBMVEX/S1X19fX/VF729vb5tbj8g4rz////TFb/Qk30////VmD8e4L/Mj3/Gif1+fj8cnr19PT23N76nKH/KTX/Dhz24uT/SFL19vb7i5H5par6lZv+WmP27O3/OEP/PUj18fL/SlT/NUD309X3y875r7P/RlD9ZW35qq76oKX/Ljr1+/v3ztH9anL+UVv+U1z319n+X2j4+Pj19PX/VV//SVP/S1T19/f29fb18/T+VF3+Vl//JjL/IC3+SlT+S1X4u78hg6XcAAABo0lEQVR42qSW2XaCMBCGEyUEDEIUZXFBQJTNrRap1lrf/60KnNOLWi5yhrnPf8KXmY9Bb/2/VX6sZzsl8C69955AEYRfituynOWJQT2LIpHCLZXJsowTqggcH6D+6w2wKstq6JIdtUABJc9jZ+uZmkIpKEDnLv0amgoSI9DyCbaajSJGU62A3aBmWFMYOY8NMKCszmejJ/GBAfZqJDmnpRkgIMSr+z2ZmBsKhWjzxVEiB80MfChEvWKwyiVCoRCbBHU6hrayrapTie0DzYJ2YjS/D02vgEIscZ6wwRI+C800XtcJO6ECCrHxwbkDxGoQYrbfFAgIUTIOXpoqQn3UHrDza4aIgn0gZ0fXKDy4DxqIVyhEXD+jHsZki4BSxWHsnDwzBUsVR7dKqp7fQapNG2jQYfqV6nQGhljroDw+HbBQVtOnMw/ASquk+mikioAQMV6EEalusERdpHoOI3axOr5CAYPIy1qq5KZBf646j/f3Lp1Y8nVC5l2lqq/HbEvFpNqiA177QBddsnCbVI8u+1QE17z/i2aYGEWwtA5Ciyb7EWAAiK0soUQJDkEAAAAASUVORK5CYII=\\\")}.ui-flag.BDI,.ui-flag.bdi,.ui-flag.BI,.ui-flag.bi{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozOWQzNTNlMC1hMWU4LWRiNGEtOTlmZi01NWJlMjM2Y2JmMjkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjhCNjZGMkM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjhCNjZGMkI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmYzY3MjY4My02MTJmLTU5NDktYjllOC1lZGJkZTBjNmQ3ZDUiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2MDkyZjkyNS02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz50S0vmAAAAwFBMVEVzrwD/S1X19fXj6dDS5LXjh23D25r4UVJ6sw3+/f+xzXTYuZG61Ybqdmbb2LXv8un319nUXzOuqE/a58KMvS/8ho36LDe2cR+axEisjTP/IUvm/vDwZ1/d/N58tBD5trr26Ony8u37+P38fYTz8/Pz9PH9TFTJgUbR8MOmyF2TwDzo7tz19fb09PT4+Png3sL29Pb19fT8TVP+UFn39/b19PXk1Lzv//91sATepYX7TlP08/T29PX09fT19PSGuiTG9IRNAAACRklEQVR42pSWiXaiMBSGL4FSA6goKirSJeqg4DJt6RRn6/u/VYOBEFkKued4wJzk+3+y3FxwhjQGK+X1Xip+K6tBOtIBdI3hRZGMy5CNzAAIURMSsRrk40DP354v8vII6dDbR9xEX1Y+2j9AD3rcBOpk4rLl8j1IAQBzbuLcaqJ/5vJzOpQBIClMmC3yL4J8AQAI1S4mSvIiABKr3YTJu1j5sAIgmlDv+Ji3txp5dc4HiQCAson1o/30ZD+uy/LCkFsAhI5gYm0jdCTkiJC9Vu64PSeEZoBo4hf9xcTzSJz9qcrXAWDCTaTb+8PYfzwLDc4E2gAABu+Od+PR/VjDvMGodK4DwKeW9SdesFyOPNIk3wSgJqLMwWI2W+yYg8io69kAyOYyjvzx2I/i7ODKANKPeIkPBPs+Joc4PQCOFCBd9b8Yvx8x3rxj/DP9hEQOsCFY1zDZHAnWLIqRBGiIaIYbGCrBqhGMDI1IfoJFV8BdzhYeId5itnTpSkhNIs2TDOAXgGjfGXDdSCdHdwNdPZ1UPXB150SbtM9uAOO6+TcYazs2iTs9nUQa2y5bme9jRJfwT/b8n7dprYepOElndDiwN/o8N52nEmDC5SOWUFjYUyGh3Jq4BRTy5jUVTllKm5ZSmtEAmDjfJ9XarCYArJL892m9Agjr5CtRmFDDW4DV9WoTTCQFoPZKab3d1PxyTTrLl03oSQqYq93v9qqJh6LE+Wd2L3HMosYAWflKkcUeW/kyL7uwgBWafeWHXKH5mheaXwIMAIsPOiHx3Df2AAAAAElFTkSuQmCC\\\")}.ui-flag.BEN,.ui-flag.ben,.ui-flag.BJ,.ui-flag.bj{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowOTczNTRmYy0wYTU1LThmNDItYTA2ZS0yZWE3ZjMwNjU4YjUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjUwMDUxQjc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjUwMDUxQjY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3MWZiNjNkNy02YzY4LTRmNDgtYTQ4Ny05NmNmMjEzZTg1OWQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1NGRiZGFhMi02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4q1yWkAAAAqFBMVEX/S1X/4VpzrwB6sw3/42L/7Fr/P1X/VF7/VVb/2ltyrgBysADMzzlfvQDMcDb/6WlfqAD/OmP/VmD/42R0rwBnwA10sQ3/RWVnrA3Pd0BtswCpzFT/X2D/9mn/6ov/6nH/7WTMyzpfqQDP0UNfvADMdzd0tw1fvwB5tA3/Sl96swylvU3/fIRfpgD/LGJ5sg3/RGt0rgD/4Wr/2lrM1jn/3GXMaDZtrQAH1Q7OAAAAhElEQVR42uzWyxZCUBSA4Z0jpJJLkoTcdVG6yPu/mZkBZ1l7LdP9P8A3/sE7sGGvYxKKyAJo98IwVd/sFtjgJswCLGAEEEAAARNA9fOXyC5cII4+K1zfhges08xRkJ25QPF/SsiuXGCrGYDMJIAAAgjogdN7FgBwz0ejWdpuLSN7dAIMALhpHs8tQVd2AAAAAElFTkSuQmCC\\\")}.ui-flag.BM,.ui-flag.bm,.ui-flag.BMU,.ui-flag.bmu{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxMzNmNTljYS00YTdlLWIyNDctYWRlYy04ZDg5ZTFmMWZiNmIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjUwMDUxQkI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjUwMDUxQkE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3MmYzYzk1My01YmQwLTEyNDctYTZiYi1jOTA4NTY4NTBiZDEiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmOTk3NDIwMi02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6O87fYAAAAwFBMVEX/S1X50tQoL49sqgLvo2z7tLj8fIT246essNH+jJJusPn/VF7/O0WJoSF0ebXt3WyVjbzYwML94uKqyrf3aXfO0ONFSZs4QZn+WGKZUzAdJoqdk2dOU6H19fX/RUyLw9v//v3ydlv678XNZSj7MjHBwdsUG4TwS1vm5OqMORXcrEP0///iPlLHgUC9rLECCHr+7evu8vf27e3+UFj/TE/SO07Q3vP/RE//SFD//fHrYVGgwx+92IP3yj56a5SygHBTCCVyAAACzElEQVR42uyVW3eiMBDHk0hAFgW8EJBCG1DwgrZUqlXbrt//W3XCxWLPnnJo92Ef9v9iBshvJpmLSMY88gjzQMyO1CxTLbuwCIswklGmfSUZvlC5r7uEMWaTSEVItmwbDOLqjypSU6eHvpaONQRBsNguAaoA2K5w7wwf9fXhy+0aIqyrIpn7JgRRAYT7rYwoj2x3/tQA8OBj7IiPvbgEkNiLaO4eoM0ACNfuUiSn3Iy7AhDFejoGYhde2M0AmxASP3gDsSWy8ksE9+PU8h5iQlzSCNBzMX1PZcq5iIBTSO0CHuWaN13isBDG2y3GWIYIymX5oiGNGmpS9pcAMv0ktSWA+rkSjJNiRSsAvkhcRHEH+bKUUwckuDcrCfQ6C55ucQxpyLMAaUj38KjIwm0d4KzvnU8AktcBi3zoqqoOUrG+roMckAzRboeGyRXAYwwqkYvSrSrRNbnoMKhEdqlEAUgSfHh+PuAkuQJALyxE6Vpe7F56wYLDyItaLxQRbGe93uxTBCR3P05N4l66Ecrb5EPosO6lG6mfdE1VlUCqakZJ7RIXw8L99TyAhgQuBFHOA+rz/b10fzca3cHPnn8AjhDro+lC49nVRCJi7cJEEifTqjQeldHrqvv7F2ikHD8AMDcizxVDjIkj5DMxt8RQ8qlzeK7uQDHepivTtPZ3Sli7A5Q56928lKZlmeZU1m7tVPsFQA2M1Wp1XuIwkGuArNe7fap02xOqm+V+AOBMelutpsvlOZUy/AFo7oYCQB3JUN42k8lkuQgljbYGbCmcfOufJwPshwqYbQGcH0NADAa+ooTDlLcFSK8gwxA1aBhiLbUEnPqdznQ2NcLQCNAUjFNLAAo6N+N5/8UwXvrj8U0nQG0BaNPpg2Ohm3Nng9oD8lMU6p/QdwCA2ACjvzldTeU2AJQFm02Qoe8D/vS/8B/wLwB+LFn7keR3AQYAHnph7dGRup8AAAAASUVORK5CYII=\\\")}.ui-flag.BN,.ui-flag.bn,.ui-flag.BRN,.ui-flag.brn{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyNTVjNmI3My02NmQ4LTZiNDEtYjFlYy02YTA5MmNjMzRhMzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjdFQzM5MUQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjdFQzM5MUM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowNzJhZTE5Ny0zNmE0LTlkNDItOGNhZC03NGQ0M2Y2NDA0MzUiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2ODhjN2NjMS02ZWE4LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4SzZoLAAAAwFBMVEX/4VonKlT/42NGRlX/wFP+TFWRTFSqqrGfk1f76JT3pln8ipH19fUoKDn//////Fz9cnqBfVjHx8t3SFX477319vpTU1v5yM1qanXn5uf/c1jPSFRiN0epRVP/8Fr3WWD/3T70+P//31r38+D25eb/4Vv/31RdR1bItVn/42BfW2iBfIb/30v/6Vr/4Vjizlr/9PP/5Fr5y3lraVbu7u/17PWnkYLPVWCRkJnb2935qK323d46OlBYUUD14Fv8+vq7qCeaAAACjElEQVR42pyWaXuiMBSFA+EiCAQUt0otrhW32o4zztQy9f//q97EhcW4QB4e8dPLuSc5B8jInPWXM7XsMslgMDLVfv91Qkou2x4MBg1z2V+SMgwVAbbdLC/jABAIW8iYTMoBbDHJyCT9/tukGIA1zwgho+AkKnlibG+nZTTM1wKGqoQu6owxOy0jbaimafcAjtOp/M7JSAytdqt3AC2KCPrvMyNDGDrjhmoA9wGUxk7cqe9zkwhDUcHwAQBHOPNLGQ0TwuXNfT0DKJ8kzhva9gC62q19VUkcnwlCRmJo2wpBrLCrXT2hKqnFSgohDK2zPUd8wXmJfR3KAe7aoIpC0zLiTgiMNS1v5+EIHt4sNBS6MhkqUV33O9ooWRkBbD/foY0ywpAPA38Gbei+SYKCAEJWrhvVMjJ0gOcFvKOhloWAMXzhPLuRJCgCQIYfKMOYp2QEoDswrzwxzxOA8Q48afMcAHy9uC9RYugUehR8hy4A9szeAV5jafMkADLESdZG6zCJDwEFQEODvxWbQWhbwpFjUNSkeVKAg4xVtOEydAQgZEqDnjMNoc082EmbJwcQhq7R0B4+nuJPIK7eoh6ClY38wdDJBeBgaBRVqxsfNYil0+f/Ve1XQ9Y8lwAxyctqHeFWTqmv6z46CjXDMLay5llKAYR8uBp/dqD7vh7wfz4Piqx5rgB4FYUQijQF3Aj9FJR85K8C0I3qCvfVV5Rpb5oOSgWbJ6nyGwAxCZ7QTSavp+bZPwQ4ndBsXjPNcxdwDEpLUeTNcx9wGZRU8zD2GCAblERGp/KggqOM72iTl9EpAJA1D6WFAJLmaRUDXBpaApA1tAwg0zytsh93onn4G4WYpb8x+RvF2P4IMAAUIl85lKf2+AAAAABJRU5ErkJggg==\\\")}.ui-flag.BO,.ui-flag.bo,.ui-flag.BOL,.ui-flag.bol{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxMWQ1ZWViZi1iZWYxLWNmNGMtYmZkMS00MWQ2NDk5NmFhNzAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjVEQjFDQkM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjVEQjFDQkI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmNDUxMjlhOC1mMjlhLTRkNGQtODE0ZC0wMGYyZDcyMWJjY2MiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDplNjk2MGRjZC02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4xXkQ8AAAAwFBMVEVzrwD/S1X/4Vr26Jf/5WL/PVWuzZWRuCqleVv+w3P89VhzQzWlx1X/iVv/VF5sx9F6sw3/2lpoqwB6sgX/VFX/7Vv/VmD43lU1yuj9tVf/fVn/omH/4FL/yVp+tBDx0U7/amT/rjFu1Z7/Wl3/yE7H2Tf93mD/Sl/Kp1b/gom50y3k0lx6vAX/hmX/TlX/STT85ljfz0aOgXLWxn5twhvgz0ZxsA//QEP211T32FWCYD780Fc0xb2LjB2ExqDh7dGJ4ZCyAAABH0lEQVR42uyQa2+CMBSGK4Ui5VKZ68alIIriBZ1MNt1g4P//V2PZ5zaB+pEnOTlNznuenBTsHSn2YCIJcOT2X0bBKHiMYKtJsQXps4A0/S9BAmSugO93N/v8EkUyQEUcNpRuDsIIUBUebLGrTAjNardg3JDKFTAVwrypptOqySFkrK/gb98woG6aOvQNCDPWXxDdktK7XDyY3Ayo9hUoeK1N8p/yfC690tHWuPcf4EhLVmTZNEuySrSov4DWWtK28w9kte0gQXdBioh1t3SChl4Q+KjV4xb59hCBgoO34IQIQafugQu+gAelYRDWtl13TaXcGMheeRQYY8UP3a4V3FAG4rmQ41E8j8H1SYormAEp4lEwCh4jkMaaSWH9CjAA11NEZ5uAnFAAAAAASUVORK5CYII=\\\")}.ui-flag.BR,.ui-flag.br,.ui-flag.BRA,.ui-flag.bra{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjMjZlNTZiNS1kNDQxLWI3NGYtYjE1Zi04YWQwMjBmMzc5NjIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjczMjUxNkE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjZBRjY2NzQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpjZmI0NzgwOC0xMTMzLWU2NDAtOWVhMy03OWFkODFiMTg3ZDYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDozZDkyNjFhZC02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7DTI5UAAAAwFBMVEVzrwBXpADKwqyuxi7/4VqPuhdrcLDz8/QlMaV0cIpCR5t6sw3/7GxQVqPU1UX/3lsZJ6r/9VKTi39kqQBqrADv3IeqrM//7lX/5mJ1sADq3VLTzcTX2OV9tBBeY6p0rwD//k7CzjvlzmNdXZKcx0qgo8v/412Ul8X14Vn/6Wf/5F/g2Uz/5FkyO6JurgD/51fYxmacvyFyrgX541tyrwB1rwdvrQNPUJhepwB4sAnw31g4QJ4TIay+wN3BurV9grmIZ94mAAACoUlEQVR42rxWaXeiQBCUFRRwCHKsMK5cGg9UQswhxODy///V9gyHwGqi8nb7A/KEqVfVXd1N53HQKh47rWPQ7rj1jwEcR9M6zv0AWGc4LtbwnQD4idE90/f2zBO+A8DBcbwbo/UCHXZxjJ1bAYD94AH5LISPHixGxzcB4DdG667RgqWxQOuufkHHWQAHaww3Riac3YbhFn5MNObO6zgHAOzfPd9nZVZxFcOAC9yCjo9zOv4GoOxfgb1suFNVgFCnriGDjkVXY97wdwCE/YawlxVDDYY8xDBQDUUmOjYc0zRFAwBK/0LYk/OrKAlEGkESHVyZ1MP33hs6agCOA6VfZbk3jFkiljGMDCOrxyvoqJq7CgDsLcqehPt7PlqmvYgch0uiutn/TR0nAGC/90yUvcYqP/tZHJe22AMVwVTJH/k1cxcA1LgHtM5fYt0fx+NxkmFMlkREQYFl19TcjlMDwFphXBpbRRgS8nY6oihLkReUbfnYBHPnMgqAmPMRe4rQmPG2lCWwNyIs7FkYVl5AaBfXAXaoCSBJRQ2iOUDMawB+E8DRTgXIJPCpCDWwbQphT/qTmoQNp9VzABbQCgvQJKp8j/Lv5SyOv8okUjM0k1g1IS3jNAhSkv10RJSkUq2MFTs2jMSdjKQmQF+SRn24RvZQKI00vmAkoqOTNyK1cgRW7qWiBLW0gyg0ZMq+2ZLNZtKZj7yZ3EOUfGb6PxOxaKaHwVfNVOgYN9qZF0JXztk3x9LZgaLTcQgD5VkVZjNBfSYDhUUmDMbvB0plINORFoblSLOuG2n1zsqHaq1/rhrrsJS6ZW8D+4vr6avFYuX9Cca1GA3fvNry+bZAqwvsr1muezCF93Lfcs1MEbdZ79TccdzmA+P/fCO1jrYfmn8EGAAKj2EWCqIchQAAAABJRU5ErkJggg==\\\")}.ui-flag.BHS,.ui-flag.bhs,.ui-flag.BS,.ui-flag.bs{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3NGIzNmRkYy0xYzQ0LTVkNDEtYjY5OC00Mjc0YmRjOGRiMGQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjJDQzA2ODY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjJDQzA2ODU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1ZTlkYjUwNS1kMDI2LTIyNDQtODNiMS02ODY5ZTY1YWU2ZWEiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2NDY5MjEyYi02ZWE4LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7pxiA6AAAAwFBMVEWCr/9GRlX/4VqIs/+LtPmRt/P/42f/4mBXZIZui8UqL1R9p/VKTF6KtP9id6VNU2lPT17/7Vqyplo5O1VJSVX/42T//lt4nuT/31r/7mT//2UfJFRBQlX25Vr/9lt2hahHR1X/4Fqmxv9pYVaDqvKAq/lHSFiBrfuFpNg+P1VEQVVGRlYYH1T/5loyO2d2mt2PhVdJS17XylqJf1cwMVQ2OVX+5XD/4l9fWVZgWVb/5Gr/32C6rGWYu/OQuPSSufpJduU9AAAA7UlEQVR42sTW1w6CQBAF0B0rqKAgIorYG/bey///lbyYgGiy7DXhvu8JDMPssFY/iaTLqFhlUAo0lIHjigcQqShA0gAExAvxBmgqg4BoIXyAWCH8ABWXIEAko0D0QihsHQBIykdv5WAW40c6Qu6s9AG4rl6vXbOcOV5CgFG2V2bTSvAmBJDRsHuO2enwna+EAWq37cnGnFvCgPcQuZ1uapY4QMbe3ja5hB+AV4jZydEw4IwA6CuARUQ/I9pIcCu77q1ey3Dn8OV3TkXJ898DRY13qKJjHb1Y1HgvV/R6l0axrjjgkgWveeii+RJgAPLGH97VT9vTAAAAAElFTkSuQmCC\\\")}.ui-flag.BT,.ui-flag.bt,.ui-flag.BTN,.ui-flag.btn{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiNGQxYjI4Ny1iMzNiLTU2NDAtOWQ3MC1lMzA1ODVlN2UyNjkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjVEQjFDQjg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjVEQjFDQjc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyNTAxNDg4Yy1lMWUyLTg4NGUtOWViYS1hNjhjMzc3YTU1MmIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDphZGUwMWZmNi02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7wM41gAAAAwFBMVEX/4Vr/blX/dV719fX/d2D+9dv9p5T/WFT7t6j/42L969X/+Vv/5nn9mIX/pFj36uX98sn72Mn/kVf/54X/1lr7xbj329b+65n98rz+jHX89eL877H/+WX+lH794c7/073/cFX/7lv59er/YFT+9qf/tXH/wFn4zcX/4l728+//wqv/b1X/4mz+gWr/31r/9ob/7ab/5lr38uD/bFX/Z1X/cVj/fFb/4Vv/fWD/6GL9c3L/4lr/zIf+8XL/5V7/2Kb2SsUlAAACV0lEQVR42pyVa3OaQBSGWZcFROhCqXJTQTQB5BKhUpK2tv//X/WsNEbSTFl4PzDDzDnPu+fCIlgv8+lav0hCJUxVuVs8hnthPjW9WlSf5b04FcDskfw1nAgA+xLsQ4SmAZj9GezRFEA+f7PnBrSJ9hqWWHlnnyFuQJtrlmFo3Ytl39lzAVpN006G4RuOb9tCe3h6OMsoQ/yA3LZtUmMmYtiOEQSbZ4RGACzLh/yU5Ufw8I76RhwD0E4OqdPII8TDtYpXRYh6GgK0iWCBb2oQQlI1UL1ML0YBoAceA2h+VFMcq0c3kMRxAI1c+3f5tJcV7EpH1MzGAeYWOwJeymeo3iVEmvGXYHXLY7Hu43SpuxL1IlPiBzjEsR1ttyYU30nhBCSWcY2PnAeVARSFmhsxXukNH6DtSmdamWyNiiPppw6dwIak2qhfKbRBYjYGkMD0/MVj9l1ZfVD5MCA/RThK2HcLti6UwYL7G/B/QAIVUKTo180/ppjNTl+K3IDyF1RApZQq0LhG3bJNUjDd8ALK3aFr3ZYsEbs9CsmEVaIfEP4FJPm8evLZ6uEVALa3SGwSEvCcwHIM2N20iPHMVQL3Fkq3hJjDgFI7sM/PRFKE9V5ooZiqOwhILg7Mz4OpFxsT924/lA0vUlmtHc/Upc4ohkEUaEB9wPryG4r+axRTSqXNCAD8sXJdP98uzZgQ6qIRgMUObq27OhVCtiI3AOy/fJPP93d2KC0HO/AGeG/PrSuA/e7f2Y8C/AB7eZJ9BwD7ZqL9FbCowD7M0FQJP5/lRpxNlv5HgAEACgs890xTlJ0AAAAASUVORK5CYII=\\\")}.ui-flag.BW,.ui-flag.bw,.ui-flag.BWA,.ui-flag.bwa{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozOGU5YjJiMi0yNTJjLTkxNGUtYTQ0NC01YjFjNTg1MjM2ZjgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjZBRjY2NzE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjZBRjY2NzA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4NmQ4OTMzNy04M2EyLTNmNGMtODA1Yi00M2FlMmMwMGFkMDYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0Yjg1MzA5YS02ZWE4LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6qzuZ+AAAAbFBMVEWCr/+Is//19fXJ2vlGRlXL1OXM1ehFRFI9Nz1FRVM/OUCKtP9PT17I2vlGRVRRUWCnx/9KQ0pJQ0pOTlzJ0+dKRUw9Njs/OD9FQ1HK1OfJ0uTI0uSmxv+kxf+JtP9HQUdQT11OTltQUF6pyP/LV1MBAAAAZ0lEQVR42uzWSRKCUAxF0fcR+QjSKr30+9+ji7iMqJx57iiVik6HlMIcG19oILWABe4SyB6MAkhDhHxVJ0TXaPdEv+kdEnnBA58X4Q+tMdFWGp/IxBcJr7LdAwtY4KIA9mOP5vwXYAAePhNBUqoxSwAAAABJRU5ErkJggg==\\\")}.ui-flag.BLR,.ui-flag.blr,.ui-flag.BY,.ui-flag.by{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxN2MyYjFkOS01NTQ0LWEzNDgtOTgxOC1hZTQ4MTU2MWEwNTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjQxQTQ0MUU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjQxQTQ0MUQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyMTE2YmU2Mi1lZTEzLWYzNGQtYTFjZS1hODhlMjk0MzA4YzgiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoyNTBmYTVkOS02ZWE4LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4INez2AAAAwFBMVEX/S1VzrwD/LDhotwD9mKr/Q077l538g4r6pqvf9dl6sw3/VmCZxUb/VF7g5cj24OL/Q1z4UFF6qgT1//726+v6vcP+Y2z9dHv28/P/O0d7tBD8fIP/4vb1+fn5u77/1+79a3P30dP23N74ycv/Rk9urQD7jZP4wcT3ztH5srb/R1L4xsn5trn9///5qq/25uf32Nn0////SlT4y87/Tlj+S1Z1pwTe/OD56+v31Nb2+Pj/9ft2qQT4W1zt9eb1/PyE4h5AAAABkUlEQVR42qRWDVrbMBQzXnkO60pgSWynIVmaFucXu2kKrIXN97/VOtguoOgA+qT3nmSzn5H3Z++j6nhcARBM62njpyk/7a4ZhHAvs7Es46aDCJYsqqUphHLxDiTITTIc+9bCBFqciutNQQ61MBLZ0lKtUQVxs1JeyniDKtCVoYZMHKIKvCiG58QG8BDPqmjTJKAYtZBvAxtYCh2qwIXLbJRSw5c41nxVp2kMzyAqu6zLUtJwFlRqJPEAJvAttzbgFWzBbZvhkNQhPMRYbEqpGqrgLRguwoy3ORymWpCgzMEK/hJkJNx+hgVTZXzALYhtWaqewg5e46ntir6C1+iH9JLGGYcUKf55yniYDmI3J0xjwo9Fyp2eUSjqo1Du0jsAK3ae6NJpl0q7390D+PW/VBc37y/fAaxZfqn1Q2IXr18grJneG+rJPNw8Pl4BWDN3WqpIyodblGAkY5Wl5BUl+Pe8L2ALZ1EXh227gBWMRUmtUD9ggs9P1owhat1Pvu/fQIIr9vvp46P5dPsVwrc/AgwA7wtHv5HnVQQAAAAASUVORK5CYII=\\\")}.ui-flag.BLZ,.ui-flag.blz,.ui-flag.BZ,.ui-flag.bz{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyMTZmZGMzMi0zZGQ5LTU2NDYtOWZkZi1hYWJhYWM4MjJiYTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjUwMDUxQjM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjUwMDUxQjI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpkMzc5NDNhZi1lNWI5LWU4NGUtYjE4Yy1iOWY0ZTVhMDI0NzciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowOTg3YzRkYS02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4cQmdiAAAAwFBMVEVBR5vIs5nAoYmKrCt6rwytr86Kb6TPwq7/S1WoxmR3e7bVt2TF2Jrq02qyuXbQ36+UVy9MUaDm7dD2u0P///95mNsjKoynx/yzinDBw9bU1+aWrkT/VF6jcFjr8/W7z4X19fWxjU/x8+w2PJWksFlESp3l5uTayir33aqYlEkvNZI7QZhahkTZ6Pfp7fHb6MH7/PgeJYns7+Dz+vvj0M4pMI/u9vtiZ6z/gIdARpv5++8+RZr18LHt6+mEnGmRvjfAp2m9AAAC50lEQVR42tyWXXerKBSGg+gwKpE0IVS0EaLSVtP4lRJPk9Px//+rwa65O7a1K3fzXrlc7GdtNpt3s/j1cJN+Lf6+UYuH2+Ifbs/grxu1+EqHUjOmy8OXi+4++a+uus3uPKP+0Oqr+jT8MwBjvRM11KiJnF6zhfoJQGVtz00oloSkxGB432ZqPkCVzKF0nYM4tyCAIKgpdVip5gJMPKe1a8GA4BrXLoAhrinXU4RJQMZ4s0YwqAkRBNsuEcgOuoaziV1MAlqHpnGxFrYrbCigSCUWIVxTp32bA1Csp7UIXem9FIBYcL+3//GkKNCa9kzNAFxZRLGNU7nZP+Z2HuT73W4luxq6NNLXGYAxAQuJztos10iEFrTtcIXecWCtqcdmAFqnERD7+81m8zwMeWzbYLXahRaKXcrZ27eA7PpIEcC+id8sY1gUcbBbGYVBDppKZd8Cyr4hsSu75+eNH1pR5C+XpgYAvKY4xrTX3wKYR1NAOinfLQtYlvzt/0bVu5QyFbn8swiTABJjE5AkFUfhZdn4r8npbAA1IDMB2CLpB8CxGg6WflgliSFiOBfQ5OIDkPDL0blfPqFkBHQEzNqC7imOgxEgEx7x6nXro7McM8hjMqeI2aK6vObEALqEbx3Ot1t+6gyAAESru2xGJzrUhUQONVz6Lx8qwoEM0nRXM6eRxiLUKMfiaRig/fL09GLbw7AT2AI19doZrXzQERUQSHk8nokrhIvPx6OUJisa/WnQU9e5NSm8F7m8v78/U3mmJ/ORuiE2h9jOuc6LN2Mo9RDmYzedmuY0tgAoXGkM5TrLkVSmo0tH7H1AZDf2MEEFfKwv0ZQpTpuqLiNKCIBWDAQKghwiUdMo02q2rWttbJ1gNHp6HiN3bWy91OoHg6VsvYjSC04x6URjhpM3PRY+HW3q2pYer+iHKu6V7VX9cDaqA2Oq97Zbr1eMHdQPZ/N/90KztmU6e/tq0c0PjP/BI+vWh+a/AgwAN/l7bG0oZ4EAAAAASUVORK5CYII=\\\")}.ui-flag.CA,.ui-flag.ca,.ui-flag.CAN,.ui-flag.can{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozNDdiYWZmZi0yNTNlLTFmNDktYjUzNi01MjQyY2Q4YjQxY2UiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjlBQzQ3ODE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjlBQzQ3ODA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3ZTA1N2E1NS05ZWQwLTljNGQtOGQzMC0xYWQ0ODg2MzcwYTgiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2Y2FkM2ViOS02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5hNeODAAAAwFBMVEX/S1X19fX/VF729vb5srb5ub3+Vl/4wsX9aHH18PD+Y2z32Nr5tLj8foX/Ulz8eoH5rbL19PT24OL4vMD3zM7+XWb17e331tj8gIf7iI77kJb+VF330NL7ipD8hYz31Nb9cXn+WWL24+T6mZ7/TVf23+D/Tlj/UFr5q6/25uf7jpT+VV77lZv8hIv3ztD4xsn4ysz5uLv4ur76m6D5uLz+VmD309X+VV/9bHT26er5sbX4vsH4v8L7kpj7lpz8g4pfjrtmAAABKklEQVR42uzWaVODMBAG4N1aC+UoN3JfPb213lr1//8r69BOTYtDyH7tfmHyMvsMZJIABL2/pZ20lsM06MCWia2l7bX0mFG/HThlGl6owOAItAPOIxGIJzTgDkASBqxlUnkAZfV8b4kBBsx+swkUYgD2t+lCcA7cbXorAqhTfJtt0gpttRPgniGmJaJShx6iF6xJ1+IFIijCGDIc12GEFzAPCwi5n8CpB+PNcWM81FeNG1ChsRJu4LwZsDmB4ftrMyCbQz4ghX8q83nn4LupXc87LCTp4C3kVceVaDI35ovue2H6tItHqshm8nZxKbIbl+vhpRKPlAGbcwOJlNs+XkXo27l0I3yofn0ST+U0IwLXOhEIDCIgK0Rg9XH8vLcD5N88nfajafwIMABMWRYhXnK3VAAAAABJRU5ErkJggg==\\\")}.ui-flag.CD,.ui-flag.cd,.ui-flag.COD,.ui-flag.cod{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjNTUxMzZmMS0xMTc1LWIyNDQtOWZlNy1iZDAxZTJlMjI4ZmQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkY3NTU4Mzk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkY3NTU4Mzg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyNDUyOWY0NC1hMzIxLTIwNGItOWY5Ni0xMzY3OTc4YzI4ZDAiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1NGU3YTQyNi02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz546bX1AAAAwFBMVEWCr///S1X/4VqIs/+Xt+TpaHTb0orFyqfnp3muwcbhjH/imX7t2nLig37/2VrrtXTx3GyKsvS7xrOKtP/kdnujvNSFsPv0VWSovs3ifX2fu9r71F7hfpDl1n78Tln5UV7tunDW0ZDLzJ/yw2v2zWXuXm3zymn632Gnx//g1IT4UmDlbnnxWWn1xWeDsP7Tz5X84F7yWGezwr+5xbePtO713WfrYXDodHbvtm7vwG/rwHTp2Hf/4Vv/TFfAyK34zGKUZqqGAAACGElEQVR42pyW6VqCQBRAmSsuuOQKoa1qRmpZgbRR9P5v1WUV7gwDMX/q0+8cneUMKg+NukPzADqXSt1hXgE8vTOmNGrhOuLrGWNsV0ugbwHu54wRgdquhi+WAHfza8YJJnCogKuIXwxiPC9YglmOPwOcdXeMiQQWLEvw4woAsjhj1yeBBmAZwT+GDO+9MsYLVlbf8yx8e+R5I1c8kXH7m8fZ+1coUHFb0tEei3D/BfENwfe3APEU7AT3VAF+mODX67wRvDkE6GvJGqj9kBcuozNCvEnxDs7YVqbpIkYCn8dtxIcUf0PcdfDdVGBGM3AprqF4uBfg1iTcrVSAW+QEa6lyyd1S/LEH8OLHS50IDHB1/OPDVpRcdrz2cjuVCPRW9JLZMnLJUfw8wFfH04ek3+C0ZXFyLUxuQPBd9wzx3Cyn4vuAJBef2gB/JudEKIiSuyH44AKPCXfMBAJ1RYoNx/wOoLXgP4wTRMmdE3z2BLDVRZMlgmM7wB8p/glwVXDZ5ARhch1Rcp5WdMdkBEaYnAjva8WXVCowHLeoWFt2yyUCu7BYR35NRgJblNwmSM4xlHJB8JDkktvgobf8cek9Pw2LLUtOKijEj5Wec1MlfkhmkwOanFRADv2NKDmpgE/uH3ggyFT7M/gVJ1dRML/H5Bb//K1xEszWiJuKUlMgK7aCYP8hK7Z0F5ofZclJx2WYXO1fmw9/AgwAMt8t91RcjcEAAAAASUVORK5CYII=\\\")}.ui-flag.CAF,.ui-flag.caf,.ui-flag.CF,.ui-flag.cf{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1OTU0MDA1ZC0xMzExLWQ1NDgtYTE4MS0wMTg4NGM2MDU4YWYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkFENjNERTE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkFENjNERTA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyZWM5YmMxYS1hOGQ0LWQxNGUtYWUzYy04YjI4YTZhMDFlMjMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpiZTExNTU1Yi02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6t1cu7AAAAwFBMVEX/4Vr19fUmR6aTlhRzrwBBR5v/O0eTlsT/S1X+/f+3yCz/vVpnqQB/thb4zM8yO6FLUKD/+FtUQ3twSYtdvQD/42LyzGOwonX/R1Px8+7/S07/6mpZpgD/VF0JE5T/P1chKIsBJZb0/////kp9hMv/+2gNG67Ww2f/S1ODe4VMUJh7tA//TlBUVpX/4tr/R1x7dYj93F0gLKf/7lStg6nJqjcxN4z/Ql7/6ojr4VpsxBf/63NBswDw/vhprQ57f7n2qflWAAABO0lEQVR42uzWS1eCUBiF4S8MsSgPN4Ws8HJUJO+g4hX//7+yEOww2K0lTRz4DNDBXu/iIAPpqJ3JTMuTzM8LU9KAI8mpsc/kHMlsDCqJQcOUZIS082cwC2VWIKClAda3+azPigaYvfHmYd3biMe4KjD2eDgPuS0XDCQnCLmfO8N1zyDweJ3bQeGHGPjcD+zwq8gdrFrfXMNwXXecfM+0jVEWGBntFrAiJdHt/lyUnIXjnAOOs1AgeoIm5SxQnuAVPSCd6m+g2oGze+AmAvgXFgN/vAdvyEEMHOCMXpFtKUoDlai0hTOKXwCrFE0vAQutYho+ApZ4BxZaDe+BmwjEH8BeDOzRKqZnaNnMAs0lXtHuHeipWcBpqj202lGNAF0M6GhVuwduIkD/CxCta4CuTrP/mVO1h1brkwADAEaFa0rkTgj6AAAAAElFTkSuQmCC\\\")}.ui-flag.CG,.ui-flag.cg,.ui-flag.COG,.ui-flag.cog{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiY2FiODJjYS0zMDkzLWEyNDktYWNhOS05MTMzZTE1MmZjNDQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTIxMDk4MTg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTIxMDk4MTc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1OWU3MGZmNy1mMTNmLTIwNDItOWRhZC1mNGUxYWYyYmU4ZGMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjODUwNjA5My02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6dnbFFAAAAwFBMVEVzrwD/S1X/4VqzxitnqwD/5GL/3Vr//lv/62x6sw3/a1f/rFn/jVj/KlT/VF7/TlX/4FhUpABZpQCuzVj/VmCVuhn/MlXDzDX/6GX/OlV2sAD/7Fr/QVX/9Fv/yVrW1UP/4Fp0rwD/4lr/413/51qLtxPj2kyCsw7/Wlb/SlX/7W/x4Ffr3VFfqABzrgX/Ulb/R1X541turQD//2NZqA3/6Wn/4Fv65F3/rYn04VdxrgD/fIT/UF//gFlwrQSjwCJKtRSfAAABoklEQVR42pyWa1OCQBhGWQMXso1YjXBBA7OLpGkWlaX5//+VsJOjLHt57f1+jjDznEGr64HvfesIF799WdBjy2AbOVeto2vH+CK0PDjvRnV+gDdkDRQwOzhzhd8fDM7JogcTMJveiDwu+QmCCSo+vxP4+IkgBBOw2ew2H9X4FKdz4gMFbGaXfA1PcXvCeYiAUfshb9X4Fh4mIecBAkZfpgI/wsP+H28WMOqt3Prrj3En3PMmQZYFj59Fk+/veYMgs4J7R+Bj3CEHXi/IvoPrqGjMnyQHXivIyvkXkvkf8zpBlU/hNPnFMa8RqPKZIAQS8PmL+cQNXimQ5jPm+YAEPB+RH/nEBwrk+SzCJi8XlLwmH7OA0d+pq87HJMhY4D27uvnrBVU+r3C+IZDk067ySRS8KOD5RPp8dAImyScW89EI+NfHmI9aAMxHKZDlU/EIwQTgfBSCZj7l/D/mxAcKFPkY+b2A0SU4H5mgyieH5iMRlPmsTpi/KOD5FP/k+RPIvz4JiK8Ep+YjCqiYT3oKj5DVzYv6n8co3oTr3iXwfnYCDAChYkHqozFt8wAAAABJRU5ErkJggg==\\\")}.ui-flag.CH,.ui-flag.ch,.ui-flag.CHE,.ui-flag.che{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1ZjBmYTg5Ni0wODlmLTAwNDMtODA2MS02YjdiMjY5YjAxY2MiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUQ4QkQyNUE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUQ4QkQyNTk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5ODdjN2U5Yy1hNDQ2LTJlNDktODczMC1mZGQwNzRlOGE0MjQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowNjQxODhhYy02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5Jwa1BAAAAwFBMVEX/S1X19fX/VF7z///19vb/VmD0////LDj/Ljn7lpz7j5T1+Pj1+fn/MDz8eoL/TVf/Mj78gYj/SlT6m6H5u77/Q07/SFL/Kjb9c3v/Chf/Ljr/Mj30+/v9dHzy////MTz/NUD8hYz9eYD8foX8fYP6k5n/RlD19/f/MT39anL18/P/MDv8eH/7mZ319PT9bnb/U139Z2/7j5X7oKX/Vl/7fIP7fYT/ND/7hoz+hIv4wMP7hYv/gIf9cHj/f4b/fITXwSrwAAABKklEQVR42uyWyXaCMBSGwaRBmQJRKqgFkWpVnDpY7Pz+b9UMRRd1EZMu2lO/VXLPud8i+U9ujKeGFq+GNhu99gejoSe4+NUCTIZZn5JVBCsJSDRbXFEW6wlREkx9gDggLJUE3WXqctL7rpKgaQNoUiBoWWfBaQJsBFaTkVzXgl3CC9b0e6KOCEg0Gt/ZlMfOQAgGnS3b2+NtRCQEw1sgQGhlclY0S4J1JSHwRsiFjBtofkGXDAeFPQlBECPXPIqDfO9/CPaHCA+t8JRDrGagvse5aJ/XtwjeAqkghe0WY7cP0vMLL7RzqSBh4lmcQ5TzRFRKqSif34OfFFjL1OGoPutZUQ+WvKc22iZx4VOKWHG0YRKUHqXsX6oN1z/zwdjoCrR51/tofnwKMABKgxsUoGhuBAAAAABJRU5ErkJggg==\\\")}.ui-flag.CI,.ui-flag.ci,.ui-flag.CIV,.ui-flag.civ{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpkYzFjZGQ1MS1mNzVmLTUzNDItYTllZC0xN2EzZTk0MTNiNDEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0QyRDJDOEQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0QyRDJDOEM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyOWZlMjQzYy0xZWQ3LTc4NGMtODJiNi1kMDRhZDhkZTdmZWMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpiODI3ZTI3Ny02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7brgo9AAAAWlBMVEVzrwD/m1X19fX/oF7/////mlNxrgDz//9jpgDN36n507r/jj98tBB6sw329vb51r3/oF3/jj5rqw30///507n/n1x4sg3/lEnQ4a2cx0uZxUZ7tA//uor/uIZxGbeJAAAAWklEQVR42uzWxxGAMBAEwQMJb2TwLv80CWD1oOp+1E4A/R65DbRsbhohu8d1gA7JsCLMVQ7Zpi4lkU8AXfsZuMTogJ4AAQIECBAgQOCPgNcC6s17dKN5vgIMAI5MGh6qthbsAAAAAElFTkSuQmCC\\\")}.ui-flag.CK,.ui-flag.ck,.ui-flag.COK,.ui-flag.cok{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3ZjE5NzU3Ni1lMDQ2LTYxNGMtYTA1OC04NmMxMjlhZDcwZDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkQwNDNFMzY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkQwNDNFMzU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiMDVlNzRkMC0xMmYyLTc4NDktYTYyMS0zMzY3YjIyNmUxNTEiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmYmY3NzRhNy02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz558sA/AAAAwFBMVEVBR5v/S1X55+hESpx3e7b+p6v81tiPk8KWUoQzOpRVWqXY2ef+bXRLUKChSXgjKoy4udfExNz+/v1maq07QZj9v8P8e4JzSov+jZSGir79hItNU6H19fUTGoTLzOAuNZGkps3+lZsbIojj4+xvc7J9gbldYqmqrdACCHrt7fH9XGb+7+++v9n3zM9HTZ5QVqMoL46QTIFqb7C8T3M/RZqwstPv0tdARprQ0eP07/Gbnsj/4eLtz9fs3uZiVZv3+PnI+wRdAAADJUlEQVR42uyVbXuaMBSGT0yEEcZSXqRFoihv1gqBUa3Wbuv//1dLEHvZlqva7uuOfMAk3CTnPM8B/NKxQ4ZDy7KEYc8Rutl5Qv4JBRN2ifxrbH0UBHx04/CM1RhgHdk3CPlTwwPANSOPYzRf0Qg+jqxESG5CxB4+AMYSgL0YihG603hmrD98PIR6vZmjsfMcMLY9AtY1yx59NHSuIF7jM4CwjsmvOzSSmZiwFrCLJpZ6/dOStCc7A7DwOvY2Q/R95QSTjQIUk2zwXb3ek8eCswCjruvJbWWrR4ppu4MrhdvR20lds/rsEUgqoxGuOfJHjqPK6Kg7sxFNO4O90/V58w7wdAjt4XGgadpYllHTBo/ag9ZN/DktI7XNCmiY4hMAOhP3RreUNLkoON8BWdrwFUDBZ2AteQMB59kXAHTHN3IXTQDuYg+WnrodQOuiLAeDsvRlDspSGzyVx/E2B5SmQAIrPLBECBnnR0BGCMkITU1Hk8mXVRg7znA8MFMqh+XVViHg9uvkp8ky7QARY1IH2OY+mnc6sFdjdGNbUgeMsVYHM568qV+Wg8CdErexMXOUdPVOibHuaHeoXHhHI4h8H7xVEIZ9evBCFLvJSupwR49eqCfVVB7GT5o4aglU4Pd6XPDEbd3oLRwlXb0+cSOrA+dJOmzjxVtM00KnPX2ATw9STqRzRlMaG6/7QWgr7u/UWEv5SP29C5e6oQI8D5G/ks1AdaRaJdE3247EWPCsTHkdQbCc9RoJWwowRiM7PPh2HRXzww7UrBeL4nl498PDMlF9liRXugL8uK+iY9vYWt/u77+F2+4FdVT9+XmNgVrQB5C1zSUAR9FL28BGZMjrZYveYU5P9L4D6MlGKB2c6zmQ797q8DiRw0UAyIqspwp51fXE84CQ9o3qS/1SANA8S9+Nmby4GAAmX/QcjFSXAqodn4nXJSBgXZ4DqaOggjQ/IS6SBYXLAa3uTNvtfBwKuGoT8ClAwJcUssCFaj91geyzzwLcvQ54KpMplrK7wlHclwOw/FFbAvLF1H31cYVPRJOp9bn4MqD38/4fAP8cxPqnIH8FGADAEl/KvL16TwAAAABJRU5ErkJggg==\\\")}.ui-flag.CHL,.ui-flag.chl,.ui-flag.CL,.ui-flag.cl{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4Njc3MjA1ZS00ZjY1LTFhNDMtYjQzZS04MmZiMmQwZjc1YjciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkJCMkRGMTg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkJCMkRGMTc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiM2IxNTgzNy03ZjQ3LTJmNGQtOTM1MS03MDAzODNjNjY0ZjAiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDozNTc4OWMxMy02ZWE4LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz51+zViAAAAwFBMVEX/S1X19fVBR5v/VF40SKD29vYyOJNESpz+VmCNkMGwstP/PUj0///27e5LUKA8Qpn/S08mLY7///spNpVOVKLv7/Jkaa3///9ISZnwTFz6+vkcI4jrSlwPF4L/W2Px8fN7f7j/foU4PpdMUaH78vH09Pb09PWcn8nb3OgwNpP/VFs3SaF9gbo/RZry8/Tt+/309PT/TVB7UY++wNozNI/9VV92cq5JTp9bYKj+YGpGSJpARpv29vlYXab/SFP/U11t3n3PAAABAklEQVR42uzT21KDMBCA4UAlW6oWg8hqUgpNaynFeMJj0fr+b6W3Fi8ym850xuF/gG8yuxsWwng3XUgZWCaZ9jvx9iL2bGPjP4DEHgj2B0AkInABjF+AcQFEiqmgAqA5z0osM841UACTzAFWuAKYJy0BaMUI81wGMs9xJAzhBRoaRO/eQ2xAk2bAVXEtPendqIo0Ax+EWSJiAAKIa1Qhxk2MoSLeQVTdyjRLP5Y8IgJQvimjPsvXiHqJ4md6UIlD/kYyUB91Oq/v8MQ29lhvLn+3eXpZLE5tY+vJ1W6T6fR5aNk7W591etgeW7dlA+bUsAd6oAf+D/DlCjg3Gzg1+xZgAJjRKqf/MdZyAAAAAElFTkSuQmCC\\\")}.ui-flag.CM,.ui-flag.cm,.ui-flag.CMR,.ui-flag.cmr{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyYTE4YjI0OS1jN2U4LTY5NGQtYTRhNi0yM2Y4YTI1YzlkNzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjlBQzQ3N0Q5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjlBQzQ3N0M5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5NmJiZjM5My01NDI4LWU2NGUtYWYzZS04ZjU4MGI5OGIyY2MiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4Y2JjZGE5Ny02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6YAQv7AAAAsVBMVEX/4VpzrwD/S1V6swz/4mLQbTr/OmNysAD/pX1hvQH/VF7/42J6sw3/TVX/Y1b/VFX/qYJpwQ7TdET/pn15tA1gvQD/4mH/RGv/X1b/01r/yVn/cFb/V1X/6YX/6Yj/tlmbxkj/fVf/wln/o1j/rVj/dVb/YVb/tFn/flf/uFn/0Vn/3Vr/XFb/tFiex07/WlX/nVj/a1b/f1f/uVn/UFX/c1b/sFj/UVX/2Fr/jFf/YFZR2D1xAAAAnUlEQVR42mLQY2TmQQMigkLiXBiASYBBjBsdMMgxMDNiAHZRVjYmTCDMgAWwYDWAE6sBHKMGjBowasBAGsDPT6EBBsoUGiClRYEBhkY60gwMqvoafGQaYCoJUWRhRa4XeFVAatRNyA8DGW2gGgkKAlGRQVOXwZICA+SNmZjMlMg3gJePF0iqmY/mxlEDRg0YsgaQ1MxToKyhKQsQYACxgBpfWVY2VAAAAABJRU5ErkJggg==\\\")}.ui-flag.CHN,.ui-flag.chn,.ui-flag.CN,.ui-flag.cn{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxOTFlY2EyMC1mMjlhLTkxNDEtODU5Yi1kYjUzMWRkOGNhZDYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkJCMkRGMUM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkJCMkRGMUI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpjODgyOTIwZC02NWRhLTllNDItYjU4OC1jODljZjY5YTY4MmQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjNjA1MDJlMS02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5FCJz+AAAAwFBMVEX/S1X/VF7/4Vr/VmD/TVX/fIT/UVX/Wlb/hVf/eVf/klf/YFb/uFn/3Fr/f1f/nVj/T1X/ZVb/bVb/slj/dFb/b1b/VFX/Xlb/jVf/cVb/UlX/gVf/alb/xVn/qlj/zFn/oFj/U13/p1j/d1b/1Fr/U1X/qVj/vVn/g4r/zVn/jlf/tFn/r1j/wFn/Vl//W1b/iVf/V1X/llf/TFX/WlX/WVX/llj/gIf/oVj/fVf/clb/XFb/mFj/m1j/dlb/g1e3aoPeAAAA7ElEQVR42uzWx67CQAwFUHMJKaQAocOj9/4K9TX+/6+AMGQBGxyzjFeTK/lEM9ZIQ+OEqHYkro6sfUmJ++iLCt7zQPIRoG2/ZYmAI/AeBSh+qoXXzJeiABlo14VOH9Qzsmyggf8wHizcNAd4s6o5D8iX/UMuiKcAC6g0cCs1weHM5G2he213fZVvNO4hmpf+VthWy3KB+gWYqFSj7q/NBByM/oBCOFLeIRKt0DwPA3MV2y6qPMAI/l3+Dj5K65+e4Ue+C3rFactu4x4wRUAbjiYBarptybbAqhiIgRiIgRcCHSkgrp3soZk6CTAAGqQMSj1RjMAAAAAASUVORK5CYII=\\\")}.ui-flag.CO,.ui-flag.co,.ui-flag.COL,.ui-flag.col{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiMWI3YmMwMy00YWIxLThjNDMtOTRmNi04YmMwNDFhYjI4MTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkM3RjEwQjU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkM3RjEwQjQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDphZTAxNjVmZS0xYmY5LTAwNDMtYWExZC02M2Q1ZWIzMDVkMDciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3NmZmNWUxYi02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz57tGy6AAAAclBMVEX/4Vr/S1VBR5v/42L/VF6dSXkeRqgyO6D/TEj/7VVNUZj22l7/42RNU6FLUKD/VmBNUZf22l3/6o2jVIH/VVGiUoD23Gb/fIT/7mD/7l7/U108RKRWWp3/6ospT6z33GgsUq3/4mL/f4Y+R6b/V1NYXJ5bysuFAAAAYklEQVR42uzMtwGAMBAEwRPCW+G9h/5bJKGDIyD4yXdRaMoM2s7lMbQMZCADGbyDPqB0aPKIkK+YTEgwN0aPciK1KIkMfjFYXMqG2qGUqHzKBVtRMhl8MRjYgSLhsCntI8AAYCQZEWUr2fUAAAAASUVORK5CYII=\\\")}.ui-flag.CR,.ui-flag.cr,.ui-flag.CRI,.ui-flag.cri{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyZDc0ZTQ4Ny05MjcxLTQzNGEtYWUwOS05ZWNhZDRiODhlNTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkRGN0RDMTk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkRGN0RDMTg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4ZjAwYTcwYS01YjllLTdmNGMtYmM1OS1mODkyOGYyMmJmYjIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjZDMxNTQxMS02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4fY6t3AAAAwFBMVEVBR5v/S1X19fVs0fGfrCp0sBFLUKDwy2fuqgb7sbW4zG9xWV88Qpn7j5TLzODz///////v7/P19vYzOZP/LjnuqS3jskv15LqU3/D23N38ZW285/i028/26+Xw6Mv/VF729vb7nqPw3qX8fIH/VmBFS577qKz2wMN3fLf8hYv6r7P/OkT7lpqMi7e8tsPR48L5fVGMmnz+SVO8zaI/Q6BYUYT08PD19PBITp/PnTD1lDh8gLrg8PbB2Kv0yYjb2+ftslm9AAAA80lEQVR42tzWS1PCMBSG4ZMmIaeFqii0VcA2rZSrcscLqP//X+nSuqL5Fjo8y8zknUnS6Rw6NCBjgjXQ7X8fGLYgL9S6gRBdgOgKRJkHyf5D4BqS0SWI5iFkTrNOxZ0tw3XndDNKxU9+T0q5D8XJHqqBUU9ugr48Fo6BwntXgQlUe5+6BUZxvkiS5N48T9wCt4M8+b6Dfu5Zt8BHFCm90rprHAMRK60CrZkdj1AY3j59Pu44Tl2f0bzumk2OXZ9RiGnOzINJnQ/p98pbdynqIL9iWlprS78G8kBoIDuHnyp8iW0QPqEM0e1nMOLAxuCg+SXAABfoQG+h+8lkAAAAAElFTkSuQmCC\\\")}.ui-flag.CU,.ui-flag.cu,.ui-flag.CUB,.ui-flag.cub{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjMzk3NWQ0OS02MGFlLTNkNDgtODcyYS00NmQ0YWQ5MTIzN2UiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkRGN0RDMjE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkRGN0RDMjA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmYzI3YWI3Zi0zM2JiLTgwNGMtYmQ1My0yNDc4YzY4ZGVhYTEiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkYTA0ZTEyYy02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4qOs+oAAAAwFBMVEVBR5v19fX/S1X/LDeRSX71zM/+OURLUKAyOZT5srb0///DYoL9anH/Rkr7ho2wSnH/////VV51SYg9Qpna2+nW1+bQ0eO20u7Oz+H26er/TFb1TFkkRaTISWj/T1nlSVr/SFP18PH19PT29vb/S1b/SlR3fLdFR5v/R1CaPGsLOKNJT5/V3e3/S1RNR5fX2OcYQqj6mp9cRI7a4e9AR5v23uA/Q5lARpv19PXfnq/19vb1+vn/SlXT1OXT0eH/IzA8MLuUAAABmElEQVR42qyWbVuCMBSGYZMppw0DU2vaRJK0sswMK6n2//+Vk0LQrite5vNpX3ZfZ8/Om3HmNXV0ayDUMLQ0QOjaq3+9uQMg1NYFoJGnCVBBPGkC0KChCVBmvtRBiAwQko/5fNGtokXXcDMA+sTUAgjMKjoAcI7JEiCugLg5ACAkmHQrBXEMUEEQ7IzLB/EHoBAzGdoAZlAVIAgR6UnSqOQ7MgAnlLL0jBIzz8toDwjx2MY8C0dSq9//vixSLwFwnzHsgoUJYyFPzSR3rftWkdYJwHeFj5fw7pLd6TeIyYyNvOfhet35Tw8JgFAziIJNfBWBNWH7/5g8svZ0OC0opiQC4uzyLwCIXJL7UUVgjeFrMUC5PrPA3MASE1EHoFyXKncAqDy6X/IJygURg22BjfMZ+WNip4SJCGEbHElsoCSriVLf+JZG4FAZqjJKAWki9Yr0lXqgCoFzHzNRO5XzTaFWMeXL2a9VzqdpKJotLWmqsU5TxW71tn44WFari4rSH20nG66a4113wdBccfSWLO01T3fR3AowAFcESH8AMUmAAAAAAElFTkSuQmCC\\\")}.ui-flag.CPV,.ui-flag.cpv,.ui-flag.CV,.ui-flag.cv{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1YTQ3OWU0Zi1mNzE5LTIwNDgtOTRmOS00YzI0NjJkNDVlMDQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkEzMTY5NzI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkEzMTY5NzE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2MGRlYTc3Yi0zN2VkLTU5NDgtODhkMC0wYjIwNjU1Mjc5NDMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpiNWU5MDMzMy02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4Vi5ehAAAAwFBMVEVBR5v19fVLUKD/S1W6vNioq8/hVmvngZBNU6FRVJbpiIz/4VvKtm3rkYjky2P57bdraY1JTpjkY2lCSJtlZI92con47sJ3fLf28+P63Vyyo3WLhIL76ZdgYJBaW5P38ttNUZdxbotGS5n86I/19fJKUKD29O24utepq8+DfYT0tHTcWnCnqs7FwsSqrM7YwWjy11+5qXJ8gLrjX2r9S1b95XX7S1funYCdkXzkg5PhV2v48MpMUqHjg5P666v95oB68TWkAAABGElEQVR42uyW2XKCMBSGDy5oeiwlBlwBIbUu1Vat3Tff/63KjFWBOEVzbnrBd5U5mXyZycmfCTyUSLSBzA1t+SeUaIJ6ISgEheBfC5hPEwRWN9IVhK+NCOQCfQh6K0dDwC3sg+ScQYCoIwC7z7YD4U65hkCc34Vx5cBdJYNSUBiDcaCF1yMjyRV6AyOHjGCYFXRyBTNzT7O5fjeTxIW1+TczeCyTeIYyEXir7bm8fbmoJVEKKl+QOrOndBe+cXNWFzpeKz058D6GuYL5pLrjvqpyrJZgMs9eZbYLsvAdoZEF1sDpduR30dZJY29pg3RcCXxhMZ00SoifgiVGEGc51H3SxOqkzX8FRz5ZwnHD0wVk2sSP5o8AAwBPiBoFMlwnhwAAAABJRU5ErkJggg==\\\")}.ui-flag.CY,.ui-flag.cy,.ui-flag.CYP,.ui-flag.cyp{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmYTQ3MDYxYy1kNmQwLTg2NGItOGM4MS02ODQyNTJjMWY1YmMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkVBREQ0QjA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkVBREQ0QUY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxZWEyOWI2MC01MTNkLTQ2NDktYTYyMi1jMTQzZGZhNWE1YWYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0ZjA5ODFlYy02ZWFlLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7M/GRxAAAAwFBMVEX19fX29vb/yFDV5Lj+zmfj69L+y1r547L37NT64aquz27+zWF6sw328OTz8+600nr90nOXwkTt8eeBthr73Jr636OUwT6exlKEuCHS4rPB2ZOqzGf37tv72IuRvzn4+Pj81oL09PHL3qby9PD81Hz458H/yVO41IPG25z46su814rQ4a/f6cz09fTn7tv36s3814jY5b719PONvTHO4Ky/2JCoy2P279+hyFfq7+F2sAX45r+31IHI3Z9zrwCIuifLpwh3AAABRklEQVR42uyW23KCMBCG1wASwADlqCAoKFIUD9BWe7K8/1uVXrSV2nYIufDGzVUy83+T3X9nE5j0mGICl45eva4ASgDBhAmQWVsWANb7GUMKBwUpEUMNRISk7kVMgj7ql7QuzKfSyxbjTKzVCPGY2sYP2VfYHfrgFLCgbCRbmWLx9AILtT1AJCChs5i3B+j8L3qEgtaA8bnYFnVLJ20BZdvr/1nE3U9AQgnATbkiUs8D+9s9Pki6DJRDoOiSjnZEZZlIBI0ZR5pFOgPiGB6aJ/lqdqQAHE33zm/oB475SpMC5xdmxX3uIm8oL2WaFAwv9MB/1m439abQBk6hProCVRHzoWdw2psLIFRhOnq6cWldUPdhXMyWAKt7KORqVFLbuBEccy94acGFZqoaHfpgHWnaWsgNweWM6/P+LwAuDABg/Wi+CzAAn4IV/YVfmrUAAAAASUVORK5CYII=\\\")}.ui-flag.CZ,.ui-flag.cz,.ui-flag.CZE,.ui-flag.cze{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmNjRhMmRhZC00ODE3LWI2NGQtYTFmZi1jYWY4ZTVjYzg4N2YiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkVBREQ0QjQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkVBREQ0QjM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1N2M0ZTUzMC00MDU2LWMwNDQtYTVkNy05OTZlZTlmMjg2ZjYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDplYTc3ZmQxYi02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4lyVD7AAAAwFBMVEX/S1X19fVBR5v/fIQrR6T/VF6aSnj///7+WmP/TEdLUKD29vZucrJ3SYY2R59ESpw2PJUcRqqttNfO0OMcI4j0////PEf18PAiKYuXmsfAS2n/S1b09PRDR5pdSZFFR5otM5HmTFqEgrj/S0/89/X29vXf4OzZS2AoL47z8/T09PX/S1P7+vjCxN4+R53/VU6kOWP19fRPVKL+ZGxgZar09PfwVF7/R1L6TFL3TVXn6PHv8PVRSJYZIIb5+fk9Q5kHgRjhAAABU0lEQVR42qTTbVuCMBSH8bmwhSiIUaFBKD5ERlZmz4nf/1t1GJeVuo3tdN7z+98vGOk/s7zhoK8goddjLGqgjyyzoP3JcizhkJa3CTb4CAAo9YZB+wMZwQEKEd0yYo4FqogZJmILUI/yiMc5FuARqxljN2iAR/QZm0ZYoIxYm0bsAhARDs0i9gAguuvVqcFvdQDAhZlBhAiAiKV2hAgAgkc4ERowiJAAPCLNWRGhgTKidVcfIQeAyMK0YGc1pwDKV271JhfqUwHxws8eTtT3pABiy++82+fqe5UCMJ8M7PElUV9TBlTzt3Xfy4DY1ZqXArFvdd5sovG9EID5L715MQDzx2O9eRFgNC8AzOYPgMT1r64N5veAmJrO7wKI+b8An7dtw89/gcTCzP8AMO9i5rdAOT/CzFcAvFvsfAXAux1pvFsp4C8G6Hl+6ct98x939C3AACMnM/GENTxaAAAAAElFTkSuQmCC\\\")}.ui-flag.DE,.ui-flag.de,.ui-flag.DEU,.ui-flag.deu{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowZGFhMGRhYy1iNTYxLTRiNDItOTRiMi1jNjJkNWFjZWJhNzQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzVEMTk2RUU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzVEMTk2RUQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2NDQ4ZGQ0Mi1mZDMzLWVlNGUtYWZlYy00ODk5N2M4YmUwYTUiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpiNDFlY2Y4MC02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7bPmB+AAAAb1BMVEX/4VpGRlX/S1VPT17/42L/P1X/2Vr3S1VSRlX/7Vr/U1U3RlX/VmD/VF7/42RSUmD/6on/6Yf/22T/7mL/7mR8fIf/S2D3VF5BT17/SV5PT11EUmBdUmD/XmBbT15RUV//XF74VmD/22J/f4r/4mJodn5TAAAAYklEQVR42uzMtxGDABQE0cMbARIehBWi/xqZoYVNCP7Ld/X3kFYOpC/rN3ls8LaBDe7B8EImrTEyq4+Qn3IXyWxgg4cMxgDptKfIoiNEKtUJ0sgXUtjABvfgpAPs4yPlJcAAFo8bytT4oLQAAAAASUVORK5CYII=\\\")}.ui-flag.DJ,.ui-flag.dj,.ui-flag.DJI,.ui-flag.dji{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1N2U0MGNiYS05NjY2LWE2NDUtYjZlYi0xYThmNWJmYzdjMmYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzAxMERFQUE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkY3NTU4NDA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1ZDJmZTdjNi1hMWZkLWIyNGUtODBiNi1hMmRhMDg2YzQyNWEiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDozNDcyNDNmNi02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4nh5TaAAAAwFBMVEWCr/9zrwCZxFD+WWP19fVtov/6mZ+Js/97syL/FSPz//////Otyfz//v/30NNlqADF3Z5dowF6sw729vaDr/9yrwCCr/jB1vnv9OPl79HW4/h1sACx0X323d/09PX19PT19/bi6/j09PSDuDDY5711sBeZvf3/N0JWnwD8eYB0rwD27+/39/Xz9PX09PP6+P709fTq8Pb19fR6qv7z9PP1+fn7+fT19PX29fj5u79oqBeArveEsP9wrAyCr/5sqwB5BMHBAAABtklEQVR42qST21bCMBBFC0kDTahYCypiG0Qxoqgoplqt+v9/5fQewVWbcB66Fg+z95kkWBeJnfTMM7DYemDbiWUezNjZl22ZInqWH67YyrwEADAOoUTP3iTGABz6LEpLjEwBe5QoAcYlKgDG90YlFAAOcV4iMQUAImIXmiV+A9IS7MS2R4kpIC9xrVFiB5CX2LR+2yqAS8mz64jYU+sSCoDPpJ//WGuUUAAzSg5ofRItS1QA36d3glDsly+zZYkCwCWlNHaW8KVcq0QBkMFySZBAhKCYlkvlJZJRY0oAJ44jEHIcFMj6RlfMHWw+jptSrxBAASHiagXI/M1l3fdFY/rFIXK4A0cIpMw/z133cOGNm3NU3gKVQhDkxBVg/uiedr3htNOcGkCgPkdI5kfwHIL+82b833wNkHFAZ3CVdxngIdXf/KtXATzdHj4+rLB+balXAUpAP2mn/xOQ6s+H3rjd/C5AS78LKPSd1vNbgBfQX2rotwDwcjX1vwEvbqr/1hpXAIV+etsxA8Af50pfXwEyvaevLwGpvm+izwGgjwz1GQDvoc8AbtQ11qexJn3vaI90fwQYAFAqTpNYBvnXAAAAAElFTkSuQmCC\\\")}.ui-flag.DK,.ui-flag.dk,.ui-flag.DNK,.ui-flag.dnk{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozYjIzNzI1Mi1mMTgwLTk1NDktODFkZS02ZGU3MjIxMjBhYzgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkY3NTU4M0Q5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkY3NTU4M0M5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2MzU3NGY4Mi02YTc0LWM5NGMtYjhhYi1lYmYyMDIxMjJlM2QiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4Mzk4OTc2OC02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7by5DFAAAAwFBMVEX/S1X19fX/VF70///19/f/Ljr7ipD1+Pf8f4b/MDvz///1+vr1/f3/N0L/LTn6par9Zm7/VmD29vb19PT1+Pj19vb1///1+/v7kJb6qq71/v7/DBr2/f3/GCX/OkX9bnX2+vr/U13/QUz0/Pz8h4329PT/OEP7l537fYT7kpj7d3729/f1+fj2+Pf4wsb/fIT4vsH+Tlf/Lzv/PUj/gIf6m6D/g4r/Vl/0//7+T1j8a3P7mJ719/b8cnn/PEb8gId8Z3AEAAAAxUlEQVR42uzWyQ6CMBCA4SllUXEtFVBERXHfFfft/d9KVE4lsST12O/a5D9M22TgoLB6nW6LEIIbQ4UvgrRS1SwihAqVMmQRiAWOoIgFajIgAzKQBNp5ln92mu/A1ctzbXcQ5lj3CXXiQH99yXE9Q7BxmmXFAeuEM7BhYbCoij7q1OCaEyBIRH0gHpipKbfkUOWj5McQcbYhujprvKfm+xqXU53PhbbG8jffhzTyNL6H/I0yIAP/CgSiAeE1LxJbNFcvAQYAQqgjBqVP86kAAAAASUVORK5CYII=\\\")}.ui-flag.DM,.ui-flag.dm,.ui-flag.DMA,.ui-flag.dma{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiNTMwNjQ5ZC01ZmJiLTE4NDctYWEyYy0wMzdlNGM2ZjljMzgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzAxMERFQUU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzAxMERFQUQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDphYjdmNDhkZS1kNjMxLWY3NGYtODU2OS1lMWI2ODY5MTVmYmYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1MzI3YzVmNi02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4aJxaqAAAAwFBMVEVzrwD+SlXIcDQnLFX/6WkmJjirxCWsz21bpAD/NWGKZPagoah6sw28eCr9blL+R0f///+rmljjXUXOVp3/LT7os4OxW8pouAD//l7jUn2mkBuNgX9ZxACyv2WsgB/XkCiEpQyUmBRIvADXZT92rQDaTzR8tBD5T1X+cXn/qsjyU03oSFOvuCecx0rmQzb/oWZkqQ16qgV+qAmvn2GloFhmqxC9NBfpVUyqaWz/0XlbwACBj2N2rAZguR6TkDN9pRTlG5UOAAABzElEQVR42uyWXXebMAyGJdOPmNY4oV1MKUlJMFNC0iYh3bKl+/j//2omcFfRcyjbrvrecXj9HEmWZcPjdZu2F2fR3vOuhsPLbavpEdo1cICRd14BBm/YrvsBPn8A/j3guR8g6hOBNfP1JiDUtFhO5sZ2BdijUSglxbG+vUVhjrYbwB7LQ3ZALAAOSGJVlIntArDHHa4gRkSlKkosseRjaAEYU8hwNkXUWjvAbEqSjOEB2wGjuZJYSd+NbyqEkxRzzvkFLjitsV4UfPL9mxqAuGatcMYo2uTT8LToIXnx7xyBlFptIs4LEadAgTiF8O3nj/sqBEohD1gr7Eev9DwizKgqAY1fAIoKVYRI7scr7cHj1GTtAPcA0+YLWSt454yQGsLY/w1p2AA4pwdXnEhTs43+L6jL4cJhrTDktBC7rF7lUgDXjDQr8wVr5QHLvAHIGOoixOnTkgdccpo0WedfHyLVtISesNaWVhZ1KxdPwfdYvN3KrYeJRJ1FGJIKURKYTse5dMc5dVtRuDYKYSZlmthOAyVJD6HLPStdNYtsRWm3gXIaacKNNNzt3EjTAhL7zqGqVPG+odp/rP+Vi+Xjdv5fgN7PvL4PzT8CDAAr10yVyNIqbAAAAABJRU5ErkJggg==\\\")}.ui-flag.DO,.ui-flag.do,.ui-flag.DOM,.ui-flag.dom{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjM2RmM2IzNy0wZWRjLWFjNDgtOGYzYS1jM2E0NzY4OTc1ZGEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzAxMERFQjI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzAxMERFQjE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxZWFkOTljZC02MjQzLWEyNDEtODM5Ni1kZGQ5M2Y0YmQ2ZmEiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4ZWQ5ZTlmMC02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5y+gYHAAAAwFBMVEX/S1VBR5v19fX5tbjVxtb/VF5KUJ/7lJm1t9X7jJL1ydKOkcGFib329vbxub9qb8a63Nb6aW/7e4La2uSoqtHb6eRNUqBdZLL8hIqnmIx3e7b+Vl+UmMn/WWKFj8KEuKGAhLrh7Oj25ebx8fOez72Nx7F8v6a2r6NmtZfRxbuJjb+Bwan/T1m6h37AwN1GTJ3q8O5lVonu8vBITp52foull77V5+Clrcu4veGpvc+pvNJ7g4v/VFxZUYr/VVzYvMws4h1nAAAA+ElEQVR42uzWuRKCMBCA4ZiogErABAFRPPC+b8X7/d/KxtjtjhM7h78mXyiyM0uiIpRv2u94XIASJAcX0XchQSrCQEUBBny8kQEZ8C/ACgY6XwA3bBo/gIVNo1mBmspl0wkCJ6WJYUExYlMwGTiy15NOIOFvbAzwTst9ml69lqcJbAeXe72+OQ/WmsBx7OZ5Ke+Oj5qAO5uEh1I4mbmaQHc4uj3ZYzSs6QL99kKIRbvf1QQSHotqVcQswQBugDFGKeeUMt4sQ5nYI7XUNWXkvZM5DIQKmMLnd6Tw2x/4GZAB/wIgCQV0sGkU4A7ZYGrRNH1wG41eAgwAgG8i5bcn+iUAAAAASUVORK5CYII=\\\")}.ui-flag.DZ,.ui-flag.dz,.ui-flag.DZA,.ui-flag.dza{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmZDA5MDcwNC04OTgxLWIyNDAtODFmZS03YjJhNzkyNGUxODgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MUYyODM5N0I5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MUYyODM5N0E5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpjNGI1MTBjMC0yOWZkLTczNDQtYmEwMC0wNGMzMTE1NWQ5YjciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmZTk2MDYxOS02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7U8t10AAAAwFBMVEX19fVzrwD29vZ6sw3/S1Xt8eZpqgD+VV7/+/96sgzrWUnLczn3x8j9tLr6hIiuhSS5eC326ur+ZW78lJuFoguOkxX9bnadx0zhYUOkjR79dn3+XGX9pKr23d77jZN8sA2ejxv6nKH6mJ74+PjXaD3+TFT319l9qAbyVU2Athh5sgtxrg11rgKQmhH3kpN6swz0rap+pwfeY0H18PD5q7D19PT/T1n8e4L4UFDAeC+VlxX3mJn31Nb/8/j/2N32oaBUV2hYAAABFElEQVR42uyW2ZaCMAyGq4I6WmAEZ8QFrLvO6LgruL7/W9mU41yWk3DLf9WbfKdJ/qZhrZJOvwuzWtRpxApalX/MKtNrrQd8pACKrJQDckAKYCY+639WQAY4NUOpMyUBViq8Zve87+5wjwesIHwuVA0aHkcDthMZ7y/pRRzL+GhJ70ITEhDvNt7CIxYQQ/3AB/3Ng7GKi77BTgJiZaSncbYNDw2AFjqJEz15dA8BHXBP3GThAP5/CqYLN7CCPbWI9mkQGgN0DZQPLwDgso2nDt5IkMP87QM+xAOUk8ZZ5oFQb/ErAfQ44TmLCBD+1TrY3bBBGSizOEos4HLqSGu2YaRN838hB6QDMi9Zmde8rIvmS4ABALgBGlUK9+4pAAAAAElFTkSuQmCC\\\")}.ui-flag.EC,.ui-flag.ec,.ui-flag.ECU,.ui-flag.ecu{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozMDI2MmY5ZC03MTVkLWNjNDgtODA1NS1hZGRmMjc1OTE4OGQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzBERjc4MjM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzBERjc4MjI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3YmE1OWE3OS1lMWFlLTAwNDItYjg4YS04NmEwMDdmNzJhOTciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo5MzBmZDA0Zi02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4sLDSTAAAAwFBMVEX/4VpdS0n/S1UeRqj12l4AkkGmZGv71o4zOZ+JrwdBR5tgw/604NfItmv/42L/VF7lrJGggLJjo/jmzV8jnKji5uuzpXM0nfz/TEiVi37VtlatlkydSnn/7VWkl3dMUqHLy7FNUZh7dIXY1Tvcx2fAlFf6Nku3vC/xuHqdxnqbuc15mIuxJXP88VOchE7/V1//iEz/dXn65FbLzVuUfU21SXBXW56n1MX/51jFnXD/V1Lr2Uri6EP972NhXbBiKYiTib6kAAABd0lEQVR42uzPy3KCMBSA4QNSIWDUGo0SKsZIBfFeL4jW9v3fqoFuIzPAxoX/ImSYk28SMNu1MqF27brHX8CTA8TbELluPFINMI6a5gF4mnYkVQB5UAaQf7zSAMvPaanp/280VvoGhDH5Bs7lCxgj5Z9AMdzQRktTbYNugHFpwPVnKDQiziMjRDPfLQtQ4Yfo23Rk5jcKqYtLAtl5FMUZEEcIhY+u8BBwKQlF5ORF5zCgD4H7WBnFgdXkrcFAAlxYAabquTsY6ohBrCtvJa2+4yRXK5A/1MF5qoyOibVfvOUt9lYwpuq5M9iWsgzY8n4e30rAV8/ZMLGVZcA86uVF8+wG6rlJIbBLhr3eMNlVBOzuezceDuPu76ga8DMYBCxNGZtaFQDXuIgYe59ZTIiL4ZcEpu5lfW/7uNnE/td6fXGnJQHbFhiLw3K1Wh6y3aOpCTSKEg1dl0tR8FHYSddPxRNwHdXqCh29VtsX8BSAXjPYd2q1/xNgALDzWUNrd5NCAAAAAElFTkSuQmCC\\\")}.ui-flag.EE,.ui-flag.ee,.ui-flag.EST,.ui-flag.est{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2NWVlMzUzZC05ZWNmLWI4NDYtYjBlZS03Mjk1MTllNWY5ZTEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzI3QTFDMTc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzI3QTFDMTY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0N2U5NTE2My0zYzU2LTYxNDItYTI4YS03ZDFlNDk0MWY3YWEiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDozNTYwNDhkMC02ZWFlLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5y9uJTAAAAZlBMVEX19fVBc81GRlX29vZLetD///84OEns7O1GQ0xBd9dPT11GSFpBcMZSUmBPT15NfNDt7e74+PhCQlJ8ntxKes9PUWJERFRLd8lNgNpYWGVNecpaWmdMe9BPTVVSU2R5nNxST1dLftn48xa5AAAAZUlEQVR42uzMWQ6CQBQF0ZJmlqEZVSZ1/5sk6S1cEn7e+a9iiCVfHiJGrd+ItUFrAxuEwb+QvHlVkoXpKTnYc8mPJpLUNrDBNYM+lcx8SsmKzySeRIRD4mxggzDg5gF0TtKdAgwAVFgdha4nZMoAAAAASUVORK5CYII=\\\")}.ui-flag.EG,.ui-flag.eg,.ui-flag.EGY,.ui-flag.egy{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozNzkyMWZhYi1mMTYwLWQzNDktOWUyMC0xNTA3M2Q2YTcwNzYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzBERjc4Mjc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzBERjc4MjY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NTM1NzljNy04MjIwLTdjNGItOTcxMS04OGJjYjg3YmRiZDkiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjNDU0MzI2NC02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6cpWqzAAAAwFBMVEX/S1VGRlX19fVPT17/VF7+Vl//PUg4OEn0//////9PT1317e7s7O3xyzf/54f29vb19fzz6KjvugDt9P/wxiPy2nz2/P5SUmDy3obwxBjxz032/v//VmD18uT09dzy1mr19fb3+f/y2HTutgD/8bPvwAT/gon17e31///wyC96eoVZWWb19fP27u/t7e7z57Ps6uv/43T07tT07Mz+X2f19/X+YWn/SVP/U11ERFT/Vl/z4Z7y13D/R1HwxyhCQlIZrby6AAAA5UlEQVR42uzPW3OCMBCG4VWsxyIRAxVjpBKR4Fnbehb//7+q43ibvcje8l5/+8wszGqkZkDuRDu/QI0GjEqgBF7AvU7qCL8fpA6w6pjLMjZhWYYsOivQTSTdG4zRQVODVzU3+RuqSAqGTDwUYEKmamMPhFe3yHPuXkNLQATKXT6/uIlvS2Cg9kJIFRCAROuAAvjpzz717YEg4rnLo8QWYPKWxHESS88SCDc+L3jh90IMaCFNd91nuym2gfWnsW3/3da8WcOibc55h0wW8GiQOoNTIfVVAiXwAtpUoEIM5g6p+b8AAwAo4C5dEpWlhwAAAABJRU5ErkJggg==\\\")}.ui-flag.EH,.ui-flag.eh,.ui-flag.ESH,.ui-flag.esh{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACCElEQVR42u3Xu2pCQRAAUCtBsLXyDwTBVhD8EsuYRvAPJIKVleAH+A2CrZVglaiRPEyVKEYjBBLyMCji5M7CvXnc971EsrOzMLDsrsIc9zFGACCiciidPAMwAAMwAAMwAAMwAAMwgBZHWjeiUJgATrWuSgiWACoh2AKoguAIoAKCKwB1BE8AlBE8A1BF8AVAEcE3ADWEQACUEAIDUEEIBUABITQAxqJaBYlbeIAgCPvNBlbNJtzk8zCIx2FWLsN6NIL9bicngB+E7XwOV5mM+Mx5Mgnvw6Extx6PRUgJ4AUBf/nLdFqsPYtGTcneVyoipAVwQ8Btr6+blUqm+YtUSoTUAE4Ik1zOWPPa68FLtwt3xaKI20LBmMO+Po5rpAOwQ8Btr8/jccD22GqJi/D353EM56TcARhWZ9kKANvHZAKDWOxH8jgm7RGwu8ius1ljzVu/b4xvplPTd+CYlABOt/iq0fi6BLW3X28P9TqMEgl4arfhudMRfRyTDsDtCbN7Bhe1GmyXS2Md9nFMKgCv7zcWQjoCFkIHLnz+BsBv8SJKYe04YCmMOwGPw/eKUCqAA1du/wvgOK/9rTyRN0IByJ58KAAKyQcGoJJ8IABKyfsGoJa8LwCKyXsGoJq8JwDKybsCUE/eEUCF5G0BVEneEkCl5C0BVA0GYAAGYAAGYAAGYAAGYABF4xOKeU19AuWeVAAAAABJRU5ErkJggg==\\\")}.ui-flag.ER,.ui-flag.er,.ui-flag.ERI,.ui-flag.eri{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo5NzM4N2Y2MC04MTA1LTY1NGEtOTE3Yy1hNTYzYWU3ZGM2ZWEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzI3QTFDMTM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzI3QTFDMTI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpkOWM2OWYyYy0xOTRlLWNkNDMtYTFkNi0xZDBhOTU4MTUxMzYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0MGY4ZTc4Yi02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6PcXuNAAAAwFBMVEX/S1VBc81zrwAxdtf/N1T/V1p6sw2RYZb/jVf/zVn/blb/r1lzaa3//Vv/RkZptwH/51pawwFLetD/OWQzgOT/RD7MVHCWlhr/QVX/K1TIbzomed+LnhZ7tRD/QV6nhyX/T1XjTmbpVk27eDIee+X/S1b/F1N0rgD/R1X/SE70T1PVZUG2WIL5S1XsTVxgvgH/SVf/SlNUbr//SVXeX0d7qAqApA3/Rll1rQbxTFmcx0vbhZvhmHfXdRVPftH8SleoKq1GAAACkElEQVR42qTUi1YaMRAG4EUmNRcCEbROStWtFQwV62Wt2pu+/1t1kmVvEHHZ5qDnyPH/MpnJbvLn6+fRwc3Jh47rVzKZnD4EY6/bSlhyS8Z5MEaXO+dPCKB1e1oa3YDSON7b0aiAunEw6gbQmnnjU25cdgHyOibt64gAqzq+tasjDuTGhM7y/J6xBiACOKRPYVAdzzfbjDrgHDAmOf2Qk7nwXTDOthgVkGIG3BjDLddCSHCuOgsZP94wKgCZlFobniI3WmsuoToZGddvGBVguRCCgzRqDlxoo1Ksd+dpMnm9ihgl4FAYCdYyrYA6yZSWkDUHkxuPTaMAHOPCcGDSMiV4Bqkyqn6IyrgNddwURgEgE0YwcEKB0QKd7yeH2AUp68iNCjBUuwNFEzCcAPqb2/gd88bT1Vn+EiqBVFDAodIGkdrnwXgFlfFw9jg6KABfMoMEaQCcM+q/VXptDjHj/O/xCvC3h/4/Q0sTJICaoEWyDZjdDY/wdDnIgSyUbJEpqZSvgJpKPdmaHn7Zv+9fHOaAY1J5QBojYJ6wDBKagoxXMFsMjxYf9wf9i2mv91L2gHZEK402VEOKnlIM43tT+j6kaY2LKVD/tbKOc0X3AEgyZvMizRZHjXQNSOkOac0szDk9UEAzMGvXYJZspmtA4hIetp4rY+c0E908gN/7jtLTRroO0BVg/hRMqfAwcoTG3tF0A6BGUtLQM02/eGqxlr4O6X4vsupA6iyE4gEstEqvAb4ToIRQiFV6OdiS3gSoCgBMV+mfy/3t6QhAr2bnVulB7710DKC9h63Tm4BPD79T+qJVeg0o09O26TqQP6C77F0HuqZz4D/SAQivFkpPO6T9Sn4vB+PDw3HX9fJPgAEAy3lb09GVM0sAAAAASUVORK5CYII=\\\")}.ui-flag.ES,.ui-flag.es,.ui-flag.ESP,.ui-flag.esp{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxYWFiYTRmMS1hODc0LThjNDQtYTk0My0xYjU0ZmI2OTkzNjYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUI3MUU2MTk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUI3MUU2MTg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyMjRhNDE4NC1iZDFkLTgyNDgtYjQ4YS05MzZjZGU0NmFkZDkiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0MmZhM2E3YS02ZWE4LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5deacCAAAAwFBMVEX/0lDIQUvlhkn91Wv09PZRZKjZa1DVcHDkqJ+JY4j/2lDLS1TCMEr45rr/1lDsqnL379n+qdb6tUjBLkrRWEzTXkz3xGr+1Fv3vWHglIWRjYn/zDn40uf8w0zypDf0pkj44an/01DVUTDQrGbNVFy6l2/MTkz74ZnZe3ned0z/2ln81nr/00zFO1T+zU/PUkrpyc7TV0nSoV7IQkysV2TIQkvL0OXVZEz901H/0lLKSEvRYWbpl1PiqVTkulvyrFgeInAjAAABh0lEQVR42uyWyVKDQBCGm6FZQiQhrWExQdBsTCIYVzSM5v3fSsCTnuyMR7/iNFV8zN9UdzUUQy0KMDSBod77w39BKyjPtChheqFFDduRFhFsPS22EMF3Ip92OfyW6+inwAzwOseNeaJgh7iXtp0gbk4TBCikUR+mMkQAz+MLTNeAA8isWo5hBN3DEIi1ajMkSiophAsjb12+egxBShmlcaHoeIyJ8ty8vblJeQKitGg/LpfYkaehmd5yIvjoQ5MRZQ7OJ3P0TcTdjCFQjuPYwymR7AQTzCOmoO67855IDfobuM+PjzZHUPURbCEGlvXS1SDEeThj1WDfUFgrZVnWoGmaRLm8CNIwiiq+E+LJstSVsh21NCSriEkboRPcxeuZJFFEuFcz7m8Me8GBRC/gRah2eViZncB36sxexpHvRxzBYrVaLWA8HruIrpOYsHh/ePhgCC7b6l+2/ZgHQeBv3uDD+jrgTiQmrUBvKrdDVXsq11MtbCjPtSj/94O/EGivebqL5qcAAwChqk8ZdMhGvQAAAABJRU5ErkJggg==\\\")}.ui-flag.ET,.ui-flag.et,.ui-flag.ETH,.ui-flag.eth{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozZWRkODhiYi1mZDg3LWJiNDgtOWZlYi1jOGEyNmZlNGI5MmUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzMwQkNFQzY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzI3QTFDMUE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5MWJkYWM2Mi1lNTk5LTMxNDgtYmZkYS0yY2IwMjBmNWQ5NDAiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0MmJlMTI5YS02ZWFlLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4+B2ZPAAAAwFBMVEVzrwD/S1X/VFs4aPHRyU783FiMYpr/4VpBc83/5GKwtWtsjKnv2zOSpIXwYnFWfLv/P1V8sgY2bNl7lpnSVG40dtWGnJAYfOjUyHT/90R6sw1ZgrJqoyz/Rkb/70kned9oqwBakW8ZXul8tBD/7Vv33mMoZNx9ugCdqntLecRAcdZ3tQCFuA9vqR+fqJVwrRH/61D/Qz1Edr/+Vk08ctCdyE3Av13/S1f/SU//PUD/81P/41hSfb9Id8dGcsr4SlJNWIsDAAACSElEQVR42tyTYXOiMBCGUVIvkqTcEYm1VDm9IghaRG20rdL//6+6iZ27mUt0sH7rOyMkzu6TN7uL83x/lZ6dq3V/Xfqfbw8oijQtiq8CirQoH0AlLL4AKNJyHOE8CHIcjcuTiJOAtBhj18214D0u0ssA6WLlBhjk++qZu6tFegkgfQhcrJVlx7frPqR2QPnbVLGAfMI1AKknJ0BYFJbQ0pn/MpTOV3D+TIL7SKII472cgYfVPDVj505yY2jwNFHHEg8MeB7cwSNqP3kamLGJ0zX02M11/TBjGHGC1FspyJNXM9rp/vhfnwZAArIxIuJzCxaMYAvgbUQme54JljEmpRAIMZZley72U7J8awBYJrMAE0SlhzyaSSkRLDxKCQ4OybIBYHQXbHT/oPJoD91AB/hJ+GsT3I2aAzCjgushQJxTXcbN9CIAHEt1+zhVZi4GzLiIKIVpFBL6wGfNr6CK6HPGxF7IiBJBiYQlY9wP6kZFhDZOCVPmZYaJqn6mKkgEadjGv4NUI7g+E1Rg6IPa2wfp0dBrEupR5jKjESE+9Tz9YQZhMjCjHfP7uBkdLXgUrHPIRVQcDYxsH1Pb1Hpd92t8QKoOCgAjccB1XK/XlmBn+9PUSy+O6+g4BNo9ieo47r1YQrdOu2VRpQj4HwCr/MoW2bYDgFD3Q4Ugykcd9rE9/ySgVb13wn4cbkBh3A877/b804DtsOp1fEgGiN/pVcPthQDQsNr1tHbV8GTQOUCrtRtq7c6EnAc00LcAtK6Uc9u+SrcfAgwAmudokDVkx+UAAAAASUVORK5CYII=\\\")}.ui-flag.FI,.ui-flag.fi,.ui-flag.FIN,.ui-flag.fin{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDphMzI4YjNkZS00YWM2LTliNGMtYTkzYi05ZDAyOTFjYmNhYjgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzNFMzE3ODE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzNFMzE3ODA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0Mzc0ODE0OS1iMzNjLWQ1NDYtOTY3YS1mODc0MjU4ZTU2ZTgiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0Zjg3YmQ5Yi02ZWE4LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7qpsCNAAAAwFBMVEX19fVBR5v////29vY/RZq9v9mztdQnLo4rMZA+RJo8Qpg4P5fZ2ueWmcUgJ4pLUKA+RJn4+PgqMI8mLY1GTJ0rMpBARpo2PZYbIofb3Oibnsg7QZg1O5VCSZxNU6G5vNpCSJxCSJvFx+DFxuAyOZQ7QplITp89Q5m3udYuNZJLUaA3PpZARpvCxNukp8yhpMtFS505P5cqMY93e7YsM5B8gLi4utdCR5uqrdDy8vPz8/Skpsw7Qpg2PpbAwttJTp9JGe6FAAAAxUlEQVR42uzW1w7CIBSA4QNttXVBp6Nq3Xvv7fu/lVTvqAnVmnjDxyXJf0EOyQFT4eGyUyOEuBWsiJkQhXOZLEKokMfwnY8CCjsyIAMy8JMAjjr6YxYonXEccNN47QO9sMBq29LEplDUedaw2WCBRdHShawl9AweVVFo71FDqE+AoCS8evLAXY16XU5UMTqCTppnu89HdKp2WsiuwiDFC+a0ywKbdZAS270bpJN/DQdpFm+Q5G+UARn4UQD+HABIumg+BBgAHqAdcsgClXoAAAAASUVORK5CYII=\\\")}.ui-flag.FJ,.ui-flag.fj,.ui-flag.FJI,.ui-flag.fji{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpkYjJlYjhkNy05OWU5LThlNDQtOWRkNC1hODc3ZmQwNTU4Y2MiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzNFMzE3N0Q5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzNFMzE3N0M5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxYzdmMzE4MS1hYmQ5LTcwNDUtOTA0Ny00MjVhMTQ5MGFlMGUiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxY2RhNWRhMC02ZWE4LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7lnqaBAAAAwFBMVEWCr//OdZr/S1Vvl+n71dYoL460u66Vn7Oi2cn/m1eJtP95i6T9iZD8/f374+N4fbeFya79pqn+y1p4eJfOz+Kxs9ROU6LCw9v9d36BWXK3T1f7wsVDSp3q16g6P5ZiwaTN7eb/JjMdJIhfbY6rksf+7eC8b1gOFYGkc3rfxb3/aUuxOUf+X2j/PknKk4zi4uuBib/o+/nLtpWXquy95tvNSlV7qPr66+pqcrDr2demxv/7rnzy8fTm8O338fGBSVbsb+a8AAAC1ElEQVR42uyU23aiMBSGY0g8IBEEBIEUFTzUU8WWClSHvv9bzQ4Hbbtm1dre9GJ+1yJEki87yb83GnrMtii3QNy3FYwV0y97lNsEK1Mkf6YXNMQKO6mUcs59KgBD0/ehQwP1pGAllw/oc6kexhAED/wKoAiAH3DbwxtyiiT50+kyonzQhyBYFFBeA2D5KB/iPhv4weEawIJYs40IwgoqAF1YYvneSQ0Cfh0A4foQxDBn0WIgAPZCTarlYTNXAT6ldAFLbmCKbRYRCFxiWosFpQG9ClBTIZ6aHlwoEwAm3nbwV6GrgF4pkuUJIURcIyFJTjJSfXg6XAHgK2r8FoDhfJBRA0glDzZNyLA4g+K1UnUGzuuz67pz+MFz7j6/OjUgUoWs1GQEDr+4BdZXkl1qFR/UageOO1nhjr7Sjx0h7J4BtPABt8G6SuUDO4Esst/7wHF1IYxXZXMBWBzyqMWEdVtB6cQgYgQyDJzIz0503L1XzNU7R/F4A6BBuhPWBesF51wwGbhxl0KC1YB1B6atIHpdX01W+vyyBX8gBicRvWQj2DtivU0RRA24Hx6PigKHrENzPN6fb0HdiZGm9bEeWLbgZmpVD4xuuz1ux7vt9jSO93Hc6taAcvkAEs+vKxIV7wFUpAQybFr5oDuKtbGWbbdJrI1GbwBKtbzQuaAIlUFsGuVAo6W1tVjrFQBN+3MBNBqyJB0qoWmjMUV1T5Lkp+m0BjQf5s2xAOzHyya7AGD4pe4Wc991a88brV32mLEEAIwtl28AMvqSHHdTCOOyvfjgq4D1pBDGZbu+FWAYy6XnEW+79by7/kPfMG4ERGG7PZvN4Azy/aN+l4XRjQCUhvFslhfXONLujBTdCkBhK5kxARiNtG6Ibgeg0MhnAMge20aIvgNAatiEM8juQxV9D4AOYbheG6mEvgtASHIc6UNVvg3wj7L+H/AbAD/Wi/wjvfwVYABnN2tnXJ8xVAAAAABJRU5ErkJggg==\\\")}.ui-flag.FM,.ui-flag.fm,.ui-flag.FSM,.ui-flag.fsm{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozNmIwYTBjNC0yMGY2LWIxNGItOWE5MS02OGZlNTljOWM1YTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDZCRDUwMEI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDZCRDUwMEE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2MjJkZjE1ZS03YWY1LTVhNGQtYWY0MC0zZDcwOTM4MzZlYmQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo5MmM4ZmVjYy02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6oXBNXAAAAwFBMVEWCr/+Is//19fWKtP/w8vWyzPuwy/unxfyEsP/p7va1zvutyfuvyvuXvP3b5feZvf3i6feUuv3e5/ft8Papx/yoxvynx//l6/bZ5Peavv3H2fnY4/jy8/WLtP6dv/23z/rq7va60fqRuP6xzPuNtv7s8PbF2Pm50PqiwvzS4Pjj6velxPy/1Prd5vff6PeryPvz9PWpyP+Is/6kxf/u8fa80vr09PXV4fiHsv+KtP6Gsf/x8/WJtP/E1/nQ3viWu/11msrzAAABDElEQVR42uTWWW+CQBAH8HVcTgERvBUVDxRvq63aenz/b9Wtb3ikG/8xJjoPPEx2f2Rmhw1skYKiyOBIYdt3KJB+OHC0QUA1QcAzECATWl+k9jt3AwU6RQYooUbkQT1ocf8HAQp+8G10AOCoi4f93El8DmBp1xcPFEngkxjTcslcO8/YvCoJaOSU6t1kLugZNVJlgKxS5mJ8P85X6iLLHdP+F2g0XbG/fvkuX6RLYUWmhDy5PR4kc9sWn5JsE0PRROu8iaJ+2ksCyo3vV2u+zygnjl8HgXEEAsMVAqhxRBTF5t2APfm71d0KUEJM5EA9IK9MGwCYrRk7KAAwaIgLYvTy1zocRexHc/krwACREw3KSFk4bAAAAABJRU5ErkJggg==\\\")}.ui-flag.FO,.ui-flag.fo,.ui-flag.FRO,.ui-flag.fro{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2OGMwMjdiYS0yNmEzLTYzNDUtOTdjZS05MWNkNDk5OWMzNDciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzNFMzE3Nzk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzNFMzE3Nzg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3ODM5YWEzNy0wNDVkLTdlNDMtYmY4Yi1mZDk0Y2NiMTllNGEiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1Y2M2MmU2Ny02ZWE4LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4BwEcpAAAAwFBMVEX19fX/S1X////29vb/S1T/TEv/TEyHSYF7SIWdoMkBJpYAJpaWmcX/S1P/S1L/TEimSXb4+PZ4fbdcRY8CKpkVMZgGSrW9v9mIU4r/VF0MMZuWSXwVO6H/VVRoSI2jps0AJZTFSmuCh7ybnskhPJ34+PhcYamrUn3U1eX/TEbAwtv/S1D/TEp8SIVeR5BkTpV/hLv/S1dFSJr/S04RLZYAJZYQNp6fosl5SYb/TEmVmMWXmsb/TE1xSIl7R4RbRI9kLb0AAAAA8ElEQVR42uzW2W6CQBSA4TMDg6KidakCOoLi1qp1x92+/1sVlQtnGj0aTEwMH/d/cuDMBGgrIvrdGllHvOuPaV5BtEFGK59FI0sIyX2UCjQPD3swoARPHIgDbxGgst78NwwsmhQHji5yxq2fMOB3nKWOcMBOiVy7PD0FvqrlmptCuD6YScmwXlWNIKA16sMk5mAC12RsRo4mWaahGAdL/e8UIOodDAssEoX6jMDVEch9I3AmG4Qvsb9mqAEHMyFbnT/jrrFP4Eyw0yJxkdKIYJG8jMgrXKyyt83cttGjH6b4RooDbxKAFwcAov5o/gkwAGQCNwtozzvCAAAAAElFTkSuQmCC\\\")}.ui-flag.FR,.ui-flag.fr,.ui-flag.FRA,.ui-flag.fra{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3ZGY4OGZjOS1jMGM1LTEyNDAtODgxMi0xZDE1YTM2OTU0NjkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzQ4QTZBMkE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzQ4QTZBMjk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDplY2Y5OGYwNS0xNjA0LWZmNDAtYjEwMC05ZTViNDIxMWI0MGYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoyZWMxOWYwZS02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7JV2g4AAAAWlBMVEVBR5v/S1X19fVLUKD////z////NUA/RZr/SVP4vsEpMI+3udb/VmD/VF729vZKUKA0OpW2uNb4wcT/UlwoL4/0////P0pJTp+6vNj/Vl93fLj/gId8gLr/fITnfLayAAAAWklEQVR42uzWyRGAIBBE0VHAFQX3Pf80DaA5WDU3q38A7/zlNtAWd9tDy7hOHXRJonIebA65uqgyTEICaNrPwCFGB3gCBAgQIECAAIE/AkELqDfv1I3m8wowAA35Gh6EqX3fAAAAAElFTkSuQmCC\\\")}.ui-flag.GA,.ui-flag.ga,.ui-flag.GAB,.ui-flag.gab{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiMDk1ZWE4OS1mZGJhLWE1NGQtYTZiNS0yNTBmNjM2NGIyNDQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzQ4QTZBMzI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzQ4QTZBMzE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiNjMwZDQ1YS05NGQ5LWRkNDctOTc3Ny1hN2EyNmZkOWNhZDkiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1ODdjMzMzZS02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/sDNBAAAAeFBMVEVzrwBBc83/4Vp6sw1LetAyatb122D/6lF8sgb/5WH531ZoqwBLecf/42RNfND/42J8tBD23WpxsBD/52v/61z23Wh1mdtUgMqDthM/c9l6swxKes/54V+cx0v/5mk8ctieyE+EtxZWgcv54WF3m9t7tA9wrw3/61rvOs8uAAAAaElEQVR42uzMRxKCABQE0SGIIFGiShBE4P43tIortMv/9t2aPWQU9mL5Jo8NChvY4BzsMVLqESKLhhuyaoqQSrmLpDawwX8GxxWp1QTIXV2CfPS+IE/5DpLZwAbnoKcDB9LXR9qfAAMAj6EepvBkK0cAAAAASUVORK5CYII=\\\")}.ui-flag.GB,.ui-flag.gb,.ui-flag.GBR,.ui-flag.gbr{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozN2M1ODc5ZC02YjQxLTkyNGUtOWU5YS01YWE0YTUzNDZiNjYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjMyMjBFRjY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjMyMjBFRjU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5YWZhMWI3NC0wMmZjLTBkNDUtOGIzOS1kNDkyYTQ5NGVlMmYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoyYTE1YmZiYy02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6kaQoIAAAAwFBMVEX/S1VBR5vU1eb9a3P5trr////09PRpbrCYm8ciKYszOpT36OhMUaCgo8sbIohDSZz519n6pKj4wMNUWaT/VF4uNZH7lJr+/vv+XWYgJ4oXHob8hYw5P5f4vcHo6fD7ysz39/b7jZP8eYCChrze3+wAA3j/8/Gmqc+ytNb7mp9eY6r50NL6+vmKjcCdoMr6rrEmLY2Qk8P29vZ5fbf/T1n/TVf/+vgqMY/IyeFHTZ73zc/4x8r64OG+wNysr9L5w8VYppAuAAADiElEQVR42tRWa3eiMBAN1knlodFFpKBQrK/SoiC6alu3/v9/tTOJFqjV3T39tNNzeo7JcO9NMrkT9pDmee7uLF1Y1dgu4EdXRgAz59Pki27t3Khzx24YY32Tc8hHeia0cngNCJiMOjT1ypTI9BWH9gNj3ZT18X8dEWD30hqIvwEQg5b4BdDBmR6PGBzuGHvY8wiSua6LPwOIzBvl8Izab16Rl63C6ZCxdSpF2CURXwMgvfUL3BiHY55AOGLZ4BHuSUQbRcAy04W4AiCybO7CPdE/I+OjljHL8W7DDSF2OHehZvuGuAQgBr69g81QJiP9rbe1mSW01uBdrelZitgqEWcAQuhEf1BykX7Q0oTFLJxxWrchqGUVIj4DCMO3azDFU/uZSvqWg1kSQCMRTWiTiDeeAzQcTxNVAKF52wZAHen7e6SfEb12AiAR/u34eLQk4qll6GWAzGg91cBURePCWNGXABDNcxawx+K6O9CJNp1JGWCChQ1pV5YtThqKvgxAaySSdM3Y0CQSbVQAzLWxAg9o5ulEXwWQIhpgUoUHKCKpRSeAqJZAyiQywML5oJcAW68I3Z8Yj3kdld69IRU/AfBNoMai6HEw8fXSJw5bNCqxmofJvhP3sap4AWDG/ZhGknC5quYvGHyOnH/EswJ4K0bys3R2+HE5YgXQu5JyYN+O9fc+7+Lffw/w7Qjql6OnUoZXUoLzQoquFVJ0XkizZiVGyzDBxLQzjM2ilDlvD3udgEp5VM2fMUcvIvMnziyPOLnuur4pAFzX7Mkelr8bEz8rfeKUrrOGprmkJVBuB9xxcZ3HeDXJjtYp+l3mVa5z2VDQs12uXBdCq2woL2OcqcseJv3u3FDQs7dIn5tDcl0AlFqxNGMGKII6Qno03SoAejb6mcsDIjGlaVZN1Wk9jU/y9uhqfsVUlZlBvifXRYYZmeaZrRsLMgu1QbAwSrZOdirXiDezPz3Bf9FYZNYrtY/2yVot2dqMJi5QuS6ZplrgeWvTdKmTU/uIjzoR4Li69CfW7BS3+FpzPe6UaqSyu9ksk/vblh0F93era1fa++mspIjeBt4HW7Yi+uPvml064QsPDFktH4zhCi+TUnRfeV1cfuJQk1+6WK+yh02BJTxWe1J531x/ZPnW7rjr3YBRfd68gjuv0P/pmZeNEuCcehi+FLud3K3ZuvYvD02h2zs3z82Hm98CDABHnHTjSntEFgAAAABJRU5ErkJggg==\\\")}.ui-flag.GD,.ui-flag.gd,.ui-flag.GRD,.ui-flag.grd{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjY2EwNDk4OS01YTE4LTg0NDItYmFkZC1hMWEyNDgzM2Y2MDQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Mzc4MzMyRkM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Mzc4MzMyRkI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4MTZiNThlOS1mNTVjLWM3NGUtOTUyYi03NzhjYmI1ZTk1NTYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmMThiZTY3NS02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz55e9ElAAAAwFBMVEX/S1VzrwD/4Vr/VF7/41rQdTm0xir/MFTMzzn/glf/MlT/xVn/i1eDtQqXvBf/pVj/tVj/+Vv/91v/alb/QVWoniH/VmD/ZFbY00GqwyOooSH/e1d4sQP/cFb/W1b/1Fr/mFjilkbs2k3/UVXz3VL/T1X/LVSaphn/2Vqdkhnm2Urg1kb/gon94Fn/foWOuRH/PFT/NlS+yjDU5D/+4VnV40CiwB50rwChvx7631f/U13/SFWgjxz/Vl//4FqzgSccsSPmAAAB/klEQVR42qSWf3uaMBDHc9eBSlDYQouOBqgIpVqrdf210q3v/10t2FUSwBoevn/4cF7uAznI3ZHbs166JXWlgWJyrphB0gh4VU0W05hJAZRKQD+mDlPX/yFn6h9hhFFYmTFiLDkpRr66/qIOIE7kyDuglB91SoDUywbWXvfEIvfWQcV2W1SWcBbbj8tB5qUSwDOuRh11ZXgSILseP/7opMfxdSYBrHOAyfKbtpYTgJ+DGgBgtkAtLWbl6hYAXO504neXcAwAMB6eCh+O/y9tB4hUrL4KX00OC48BvkrFx+ZPAuDZfGgLfzCfQQ/QnorD5nUAAJvpPsq1bXd/Md3UV5wAADzNEW3CGBkhzp+a/haAOV2t5DuZNiGuK4qCCaAFGP4Wz7qutnrjB36ei58bfYBLsbqd4f/d758ZmoDdAl0WSQCSUkSaEF3AZlcWsCqfb4SUAELeNAEibcup8V4lccSiMMw5N7UBsl7K1yjqa1i+xpfOgJ4fUt9P2Vy3Haa1qQmYzY8d57nOce5ZUHqWtL5FtWdZnyxRW43GIlrbr++dVGttornaHaU217K9f6oYyPI8xSysz6vMS1oHjJC7vJpQ0sRxkrRyMjcIT0woLMdcGoMcRGkm8SPMeR3wWh9x5AjCREFTnG5jxKkr8OU5j3HOVGdjzrvrN2je/RNgADzEQRfy/BOBAAAAAElFTkSuQmCC\\\")}.ui-flag.GE,.ui-flag.ge,.ui-flag.GEO,.ui-flag.geo{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3YmEwZDUwZC05OTdkLWExNDctOWNmZC1hYTBmZmMwZGU5ODEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzVEMTk2RUE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzU0QjE1M0U5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyNTQ4OWQ1NC1hZDMyLWU4NDYtOTUzOC0wZTc2MDg4MDBiYjAiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDozOWU0MmNjYS02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7SQZ7DAAAAwFBMVEX19fX/S1X29vb5trr4wMP4vsL19PT/VF74wsX9ZW74ycv6nKH4ur39anL26On6par/UFn6oab5sbX8hIv25OX6mZ78foX6qK37lJr5rbH24OL32Nr17u/27O330dP9cnr4+Pj3ztD/Ulz+Xmf30tT+YWn7kJb/Tlj4y8323N723+D31tj5tLj5trn5t7v4xcj+X2j18vL/TFb+VmD+Vl/7ipH7jpT26+z7kpj+WWL329324+T7lpz17e37jZP31Na1fr5DAAABeElEQVR42syWW1PCMBCFcwB7DZQWSlsuFQRqEbkoYkVU/v+/stPqk91EDc548tY5/SabOdkNG9doNfRCXGAZM5E4Cnnst7ooAXWBpZavMwJabhBpYoDmBe6RBByBnWwHU+CZLsFEIgP4mBIljHxnbaK3sgONAmiRfdvBnDsvrQrAHT7UpHdw+ekZVQCG+ffrfEkAhQVVOxhya9HEfmAYZAlsYwwSmIuUZ8QhHtCRHeIeOp2DG2Aqy4EJDEhAZk1SGWAysVp/F+WzA+ISYAkBRoOWXQJCgWXDoCh2pfa/znQ1wIM6QLkE5UPkqzqldVh6kjVpWXFhkGbfCdL/ugtZvJzJrvNpGWeihjJXaihsh56shA7aRAlDI+428dZPLbqppmk/hNmdGVRbb+dL0tZzy311W//RYHmtGm2J7eWjLQpderQ5YdTD3LMfq3agFcP1ST5ct3QOusBBBtgCCxrgu4EsB4Hr94VRlgG+RFn5kaX8zFN9aL4LMABrNBw4or20owAAAABJRU5ErkJggg==\\\")}.ui-flag.GG,.ui-flag.gg,.ui-flag.GGY,.ui-flag.ggy{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2ZTBlY2IxNi0yNTBhLTJlNGItOGYxNS1hNjJmMzMzMzk5YWIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Mzg3NTZEMTE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Mzg3NTZEMTA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiYzkxY2ExMC0zZDY2LTE1NDMtYjk0Mi01MzA2YzE0YzBjYzAiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowYTA2NDkxNy02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6ZGuJfAAAAwFBMVEX19fX/S1Xz////SlT29vb/4Vr6qq75sbb/MTz/Ljr/qlj/tln/qVj/t1n/VF70////U13/rFj5ur3/LTj/PEb/0ln/OT34+Pj/pljx///5trr/tFj/V2D/slj/O0b/oVj/o1j/T1n/sVj/MDv4sLT/sFj/uVn6rrL/OUT/xVn8hIv/KTX/Nj3/NTv4w8f/qFj/SVT/SVP/PUn/v1n/Vl//OkX/wVn6sLT8gIf/tlj/zFn/UFr/q1j8iZD/PT3/Mjxw0+6dAAABOElEQVR42uyWa2+CMBSGW/AoisitIsKGCG5eptONufvm//9XK2n1Q7VzocmWLDx8KG3ePEkPLS0aNGTYEXF6FGc2taWhAZKjtQwdU/R2U0NV+JGgQZ9a8J0gcN31+j37rCxYxkApAoUpWABzpRqMAK6UBF0A8/8LbE3G8NZnghtvKA3ZKGrJ8D4SXArwduFJQxEihsiOt3kyZoIxyQ0J+T1ydJHLmLUbuhPKdUB3w4aNuK6YvXtAPSxiwXVnzytA/9AxIRaz+sUJQQhSRr8jiGFuWgyzT6dw6DyW9TgSHBfRKvgL3hcR84GX7EQRZ22RgLf+ln/Gt8TnQysx6xM0bcqYLAgTJM8TaehJfSnX/4NzghQgUxLQg6FQECw75QaIV9WPtrCbpqEb1PeDMwL0xwKEVC+aXwIMABj8JgYFdfTpAAAAAElFTkSuQmCC\\\")}.ui-flag.GH,.ui-flag.gh,.ui-flag.GHA,.ui-flag.gha{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0ODhiODc2ZC1iYWFjLTQ3NDEtODZmMy04Y2RiYTQwNTkzYzgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzVEMTk2RjI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzVEMTk2RjE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMzA1Y2FmOC02NGNhLWQ0NGQtYWFjOS05OGIwNmQ4ZTc5YzciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3MTMyODBjYi02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5bBsfAAAAAwFBMVEVzrwD/S1X/4Vp6sw3/VF7/VFX/P1VoqwB6sgX/2lpyblb/7Fr/5WH43lXFu1n/VmA7PFXy0l4pLFR8tBAJElP/81v//lu5pVhYVlZFRVX/41r/4mT/4mL/7GKXh1dLSlUeJVT/8lb/5Vqkmlj/3lr/71r/gon/6lr421Waxkj/4FqCtxQwM1T/1lr//2L/52p6swz44F59dVf84Fr/Xl//7Vr/U11xsA//Sl//Vl9RT1VjXlb44GD63FrIr13/7FsO5hOjAAABAklEQVR42uzRzVKDMBSG4SOtVgFjiORgqBRKSe0PbRWrraD0/u9KpzMuyUxztjyLrL68EwaYD0nmcEUEn7T7XzCkBR76QB84B443JEfYX5Ps4c5oo/XGOBhD4pkgY2gcJPDsmGCdonEw7g6s4jyXP5wHMs/jlUWgeNEaI5FFqLVnEYjlRLluzXntumoi48tfIBkPBU9TLsKSSZtPQF1x9YdXJywsAk6hsRJKCRdlYfMXHMfLm1KI8un9w7ELYBuK2UyEEdoGmowhsqzB2BDY+Z2SNtj6/jZok+7NDt7uOy2m08X/2eUb1rckaziMSA4wAJLHPtAHzoFXaoBsOSBZ/gowAGofMI/oJFnCAAAAAElFTkSuQmCC\\\")}.ui-flag.GI,.ui-flag.gi,.ui-flag.GIB,.ui-flag.gib{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0MTEzNDZmYy0wOTQ4LTgzNDYtODM1ZS0zZjQ4MzRlNzY2OTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzZBNTVERUI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzZBNTVERUE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxNzAwYmUxMS00MmExLTI5NGItYTA0ZS1iNjNiMDZjMDg4MDYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDplNDg1ZmU4Ny02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6ek+jgAAAAwFBMVEX19fX/S1X29vb6pKj+tln+VV9GRlXjSlWqSVX31Nb/ilfYSlX5t7v5uLz8gIdoR1X27e7+ZG3/Z1b8eoG5SVX24+T/dleShleSSFX/4VpXR1X/TVf9cnr4x8r/UFn23N7/VF6vcVb+Vl9PRlWKSFXup1j/q1j9a3R8R1X/VVX+X2j5S1X+v1mfSFX6m6H25+j3z9H/21r8zI3xS1X/U1z4+Pj5rLD23+D/V1X+4GT+3277ipD319n5vL/6mJ7+VV7Q6RULAAABrElEQVR42tSS63KCMBCFEy8BsRUlokZEa1W8IN61tmr7/m/VXdTamdJI4Eenh5lkdrL7ZXMWss2k0pb8tTLw/a5FKZSbGLCjobLKgHI2lHs8YP2h4J7jcmyAfb55SMq4zUnrHHfid8DbkD/JkgLWLchuAlubzxU8qJyffgGEZkyUTETADAFBgIBsYoDfbPrJAIGpAeCoMaYhQDMDRQBjOnhgIwDM3+mMKQBszjcAmHDeQsCQ8woA2px3YgLQ+6qu4QTWur7GXdOrsLoxAfOZQ6P0bsf2oB1V78Q3cR4NsJMA1uvEAB+LAsYCegnUAJrJRj6FKcIcqT9ipqYIMBneXURAEftgpiIAK/tXQB/WngoAxtiDmsYV0IC1qTBGu0TDDkbWoM5YfWCNMKK09BITsADLG6CqlRPdrphaVQgChV+ZPH5pJcTqFkU+4fTwQ6fCTW+v34KoXEIl2teE5wljL8shG8mhIQSlS2FIUj7IkwxPc2I5lSY83wHQnLz+PsD75wBnTL1cGkBtKoSXBjA2nHRPiNWB7E/cW9b0jgd5Ij+nNeNOAinlU4l/CjAANbEtZMabMAQAAAAASUVORK5CYII=\\\")}.ui-flag.GL,.ui-flag.gl,.ui-flag.GRL,.ui-flag.grl{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1ZjQ0NTQwMy1kYzUzLTNlNDQtYjQyMi1hMTQ1M2E0NzlmYjciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzZBNTVERjM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzZBNTVERjI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2YzQyZTI3My05ZTc2LTgzNGQtODA1Yi05N2I0ZWIxZTNmMzciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2Y2E0OTgzZi02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz45QVqfAAAAwFBMVEX19fX/S1X/VV729vb26+v/Ulz5tLj/VmD/VF77i5L4wcT+Y2z9foX5sbX9anL+XWb5uLz30tT5rLD4xsn4vcD8e4L/U1z5qq76pan7iY/25uf6nKL32Nr4+Pj37O39bHT8gon4ysz6oab6m6D+W2X17+/18vL8d378gYj/gYj9b3f4vL/5trn31tj/Vl/3zM/8hIv/TFb/Ulv3ztH/U135t7v6n6T24OH+V2D19PT31df32tz23N717e37kZf7lpwv54gWAAABH0lEQVR42tzU2VLCQBCF4TkK6gSSmCC7sm+KCiiLu+//VgpoVSpOtz2ZG8v/JlfnqyQ1ibpQTjnOtx26zv8l8OT3tX6P7x+zAV0dYtfD5CwDEI2RKPBsgTVSaTuggx+1hxZAHYbacqAGYx0psAFRSQiMKWAgA55BdioC+jRQFgEBDdwNBUADTDPB7+ScA6bca2zldkVHTF6OrKUGlfw27k0rP09VCdXXXVY5oMY8njrZX+sjBtD0/vgbKET0flQQAOjRQAkSIKSBiQgA+ftiz1gCID+6shDAm3k/hRTAtWnPnvEUYPrwbxY2AJrp/QqwAhB0k/OXImwB4Mpv7Nev3u9zE/B5qufNOO7pAMgIWPUXgKUrAMfU5e2BS8UPAQYAWd4Tzaibr4IAAAAASUVORK5CYII=\\\")}.ui-flag.GM,.ui-flag.gm,.ui-flag.GMB,.ui-flag.gmb{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2MWIwMmY3Mi03NzVmLTU4NDQtYjA3YS1hMGNhZGVjZDIxMTEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzU0QjE1M0I5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzU0QjE1M0E5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2ZDAwYzgwMS1hMzI5LTUzNDItOGJiZC04MzIxZGJhZGFiNmYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmNmI0MzU2ZS02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4ZHNOSAAAAclBMVEX/S1VzrwBBR5v19fV6sw3/VF7Ot8v/TEv/S1Snqs6vsdJ5vAB0sAC3wMB8tBD/VmBLUKBNU6G1v7+4wcGusNHNtcn/Vl+ZxUZ7tA16swz/VF3/U12Avw19tRD/V1b/gIenqc6mqc3/VVSBwBCbxkn/g4r8dqZqAAAAbElEQVR42uzSSRJDABhE4RbEHDMhEUO4/xVVucLbqf/b91u1Dh+ZhX3YvJPPArkFLHAFxhDptAXIT+0TaeVCamKkUfFASgvcI7BEyMqvXNUZUFf6Jshf7xSZ5DnIywIWuAIDDTiQdg/pTwEGAPbHIX8xj4NcAAAAAElFTkSuQmCC\\\")}.ui-flag.GIN,.ui-flag.gin,.ui-flag.GN,.ui-flag.gn{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowZGY4MzhiZi01MzY4LWZlNGUtYWQyOS1lMjY5ZTU2N2ZiNmQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzkwRTdBQTg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Mzg3NTZEMTg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0M2YyODc4OC1jNTg5LWNlNDEtOTliNC0yMGU5YTVhMGI3MTUiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3OGNjMDRkYS02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6gemqeAAAAXVBMVEVzrwD/S1X/4Vr/VF7/6Wn/+1tiqQD/SVVxrgDU0j7/NlX/qll8tBB6sw3/42L/Ul7/U13/rmL/6nFqrQ3/+2P/NVT/qVh4sg3W1Ej/QF2cx0v/f4b/g4qZxUZ7tA9DtAoRAAAAWklEQVR42uzWtxGAQBAEwYNHqxdomX+YBLBvUHUetRNA2yOXgezupwEK27j20CEJVs5LnkJZXVQSyUWApv0MPGJ0QEeAAAECBAgQIPBHwGkB9eadutG8XwEGAJWNGk0l/uTcAAAAAElFTkSuQmCC\\\")}.ui-flag.GNQ,.ui-flag.gnq,.ui-flag.GQ,.ui-flag.gq{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4ZjlkODJlYi1jOGQ0LWYxNGQtYThhMy0zYzEyODRhYTI1NjIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzE5QTJGOUM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzE5QTJGOUI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1YzA5ZmJlMy00ODZkLTk1NDQtOWM3Ny1iODgwZWIzNTNjNGIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0NzM5NzM1Ny02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz67fT4CAAAAwFBMVEV6tAv/S1VzrwDb27JBc83U0tL19fU1b9b//f44aPVKfaWiYJP/VF5ta7TWnpyTrNv/Zm5WjHPO2+G5w9aex2L+997y8NdoqQD/Pkn/SEnv8urm4PP27O30///U4/zTVG9MetAbe+XHiHDr4P+5zZAnYMddqwYbWMX//fPn5+uDuxb/QzyOxBp7sw/+6Yns8PX68fHf3OBImgD27P9xrhBssgA0igCyfFv/PD3rTl56fhD5+/b68f9lnjxtqCEeY9Xgke3bAAABdklEQVR42qTU2XKCMBSA4aCJCS0qVdC6VVEU3NCoXW3r+79VI7JEpzhw8s/oDZxv4Agia7FWyUL6LyqphHRcUhHWaKQ/KAJYf0JqANZ/kBpAKXyRIYAVFnkBMHyREQBfZAxQ6CJjAOv0gJSAcA3t4h0SQKxhBXiZFimAT3W/e1tL1L2bBNDTC5Oz/SDKt1lmEoCndMMqaUFACJn0xFcQVDKTAeyNmJ8essvN+d5199/Nsp0TwF6dHZNDjHPmtl+t1pywvAD2mkwCeuXdbPa2cyf5ATptJCezHlnNvt4ti/ACgCcBnByPtRoTEPQWCGNEfHh+4GaJYvh8BfkB8TNKp4bAeFwAuHmQEoDkBM6P8uCqRtRmkN31y9S/arvlnBDO+9t+dingVI1/Mk3jbmYCOLjz8Vw8LQYo/VxqgIz4T9UZguYTwHmEzceAU112VACxQOD8BQAvIAYU5kMAvMAIgC/wAjhYU7iAMzBUmdc0VNMMlcw/AQYAxINoEuKbOOwAAAAASUVORK5CYII=\\\")}.ui-flag.GR,.ui-flag.gr,.ui-flag.GRC,.ui-flag.grc{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0NzU5YTg5NC1hNzllLTQxNDItOWE4OS1jZDRjNWJjZDM1YTEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzZBNTVERUY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzZBNTVERUU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDphM2I3ZTBiNy03MWZkLTM4NGEtODBkOS03OWUwNWYzYTY2ZDMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo5MzgzNjYzYy02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4/xDZAAAAAwFBMVEVBR5v19fVLUKD///+ChrwlLI1GTJ2AhLuztdXs7PG7vdmGib58gbnZ2ud5fbdOU6GDhrzv8PKztdSLj8H29vbHyd7v7/JUWqXl5e1KUKDx8vNOVKJKUJ8yOJSxs9Ooq891ebbf4OuytNV8gLqHir+/wduAg7q3udfLzOB9gbp5fbi6vNft7fGIjL+6vNmvstNJT5+Dh7xLUaDt7fKGir3y8vSBhbu1t9WytNSrrdGEiL2EiL6ChrtESp1CSJt3fLjlY3zQAAABBUlEQVR42szU2VKDQBAF0DuoWVSCCg4GjJCFYNS4ZXHX//+rOFixTBVU9eS6nbd+6JvuojPoOx9GSms1dWydYaml3t3AXvtrwJ51+y0cLgAVAeloV+apYoULJYXj0gBX2h/wASsrPC8DtHyF+/MDIzk01WlSFPndw2BHxq/4rRP5ZyQDPH6Cpto3dGT6Il0UanYl/TOFCGPPwNwE+CiK2HObQpOKSzz6xUssnyCST1AekGzLXGY/9R5YtF+zT9rKo/q4xgp5r1HIuq7bzRqWejkUCQHXH/yDCeIaJcQrKC+fl7gmD50tSgeDYZ0wHGOD9OeH9A2XON6k+KC12UOivTmUdCHAAKejI3xfhI2xAAAAAElFTkSuQmCC\\\")}.ui-flag.GT,.ui-flag.gt,.ui-flag.GTM,.ui-flag.gtm{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjZGUxZThhYy0wZmE0LWI2NDUtYjQ1YS1jMWVlOGI2ZTlhNjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Mzc4MzMzMDQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Mzc4MzMzMDM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2NzNmOTQ1Ny05YzliLTI4NDQtYjQzYy0yZGQwNmYxOTA5YzQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDphY2I0NzVjMi02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6t5+cDAAAAwFBMVEWCr//19fWIs//V47jn7drJ2bD///Nzpv+Brv/q7OerzGavrbPjzpGMvDKRrUStzq3045nQ3/jN3fmkyl2KtP/29va71YrJxWO9xonB38Hc58iOWznI253v8eb46qOz0XmawU9wtG/l2sanx/+Ze2Pz9PKf0Zv09PPj4qrb2+D88Kjd6t56q/+Hsv/78bPz8/PS4fj19fb09fT19fTw8e7GvaD09PWRxqu+0Xzh4emtl3ro15+kz6Lp5FabkyzQ40Mpx7Y2AAABFElEQVR42uzWXW/CIBQGYI+Uapl0dWzMUtriB2Lr15zdptbN//+v1vuaLLR3S98LEhJ4ckKAnN68X8t2M3ZfanHfNtv62nnvToaDJxdqcceD4b3V/XbAcwd0wP8HCi8Wh/UniDgumgBacI7MNTwgzoW2B94h9ZVzXE7DWPlpNbUFNCIKj5IgCFZYMaTtAUkxlNX+YFIgKo01gBjTEOd5PluHhjFkDQjFYH/c5flOPAJRwr4CQsy+TKqsloY0qMBJqYZyFCTVGQAljj3AqTw/QJbB9CwptwcAcboAL/Ou3sXnqMlVllH0OgP4Ov1EkyZX2eAFuZ0E5t/k8qEbvUYHSYRwNTjdj9QBHfA30LrNa9to/gowAKKMK37joY6nAAAAAElFTkSuQmCC\\\")}.ui-flag.GU,.ui-flag.gu,.ui-flag.GUM,.ui-flag.gum{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxM2I5YjI5Zi1mYmM1LTE1NGYtYjQwMC00ZGQwYzMzYWY5YjgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Mzc4MzMzMDA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Mzc4MzMyRkY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDplMjcyYjljMC0wNTQ2LWI5NGEtOGU3Yi0xNDAxNGFmNzBkNzEiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmZGYyMjg5My02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7L7vDMAAAAwFBMVEVBR5vAdIYlRqX/S1JIMYhFxNHlsFT/VF1jweFqSIxguFv/4Vr/S045yf5CccxwsRpzSIm5t4xzja3GwX5sNHy0SG881/5WvISSSX5+c6iNbVfgcIDnWGjSUGekaS8nbdxSQo/tS1xCP5Irzv9BSJyKX2/8clkh1P8FRbGDq8Bpj5xBRJhPv6c74P9AjNtRv5pBRpr/mUNBQZfcdjVBR5xCR5uJgSnSckGVgnxgRY0+xvBXnLI4QJunQXCAhY2hqpPqwheCAAABiUlEQVR42uSW23aCMBBFwUGpYAKigArUAMEbUCy9ktb6/3/VpM9qV8Kj+z17zYHJZLTI7EWkAUx6AKCZk0XnKtItwOSCbjdQZEcmQuAONEUG43sQ0LalfQTU8H2DUlUBpUYKkBoaVRXMIa7rCOaKFVAD9AChQAeDqgh4/VGNKobqKL1iuC1oT1AzZoU5q+HUygt4gD3Kh5bVVGh/JcRNQevHdRU2juNUwyD2W2kBL6CxHOf90bKGogRpwRwChqpmtQqbkH+F+VFSwBMEaMjQ4RAixq5kuCXIkoj3AEJfhzzfbrd6kikKvJ8HQZR8y0eog2A7ffl4Fpi+rEBz4YmzLIolxwNX+i9ksMQYr9fFmrOE7E1WUPopFhSf5/Ms9kv5Viagex7G08eRPQIi38q8BLDtKcajkQ2XC/jvOmfpZsYzzOxNmlGlgUIgwWfb3gB5VRyqHcTifKc+lYkYquTYY6xnycVLIPGwlGWvh+VuXuceK073J1iQsSJELFnA9zxQRBzU+i6avwIMALuqPNiI3lwjAAAAAElFTkSuQmCC\\\")}.ui-flag.GNB,.ui-flag.gnb,.ui-flag.GW,.ui-flag.gw{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2MDc0ZjFlNy1kNzBmLWYzNDUtYjZhNi1lYjQ2OWU1MzI1ODYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Mzg3NTZEMTU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Mzg3NTZEMTQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1NzhkMDQ0OS05ODhkLTg3NGUtYjVlNy1jYWFhYjZjMjgxODQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2NGM2MWJmMy02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6pSSOPAAAAwFBMVEVzrwD/4Vr/S1X/VF5oqwD/42L/5WF6sw18swf531coRVXmS1X/QlxERlX/TVXKSlUIRFX/VlX1Uk//PlV4qwP/3FpptgD/7Fr/42R8tBCEtxYXRVU9RlW4SVWMSFX/S15rR1X/TmNZR1ViR1X6S1V2SFX9S1X+S1V+sAj/U1346lf/4GFtpwD/52t/rxCZxUb2W1j/6ov/RldxsA9zugf6iYJxug3/8GFdsgD/3mL/7WL54WHvS1X/X17531b52lc3ehOuAAAA1klEQVR42uzW1w6CMBSA4QrO1tq6V0E27oF7v/9biQjGqBdNue1PcsLVl5xzVbA11e8G1+Mpx9kKBMpP9WqzneENjNIBHaBKQAIS+AKIlw5AGKUCKhrVKqKA74TDpW44HV8E8HRmGxhjw2a69wQm+zxns9cKyKAwBCA1ULTCfVzi63ZObqBhFn5a9F+uDTdFznrvI1oQQkuJgekhy9k6AUifuYySGGi0AGfdBLD7RCHQFgYuOormRRRw4ks4wit8JgEJSEAECNIBAPx5aJrL+a7A2eIhwACwyCoLWsGwNAAAAABJRU5ErkJggg==\\\")}.ui-flag.GUY,.ui-flag.guy,.ui-flag.GY,.ui-flag.gy{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACj0lEQVR42u3az0sUYRwG8HF02WBnHctFCj1FlEQQBBKEQaGisuCvQ7eO4lEECSIMhILy0k3x4iXKhXIhRZBAKdKrGmLZMcKUvdQhqGy3p0PtstvMzr478847+777HXj/gOfzPDN72FcDoFXz0QiAAAiAAAiAAAiAAAiAAKocoCfeg/HVaZxbGIY216v8sQBomoaYaSKZTGL3y0fc3XysNIYtQPbcGBhEKpUCAGUxLAD3I6dg1Og5hOwa8h+VMCwAm8fPYsU8jeshAwVr6OvKrUElDFuA7LGsIVqHhbmbwPcPsHtkxHAEKLaGoWvHcLBxCZnDh9JjlAQougZDx/NHJtJvm5B+f1laDGYAxzW8iv2FkBCjLACmNeQfCTBcATCvQQIM1wBlr6FCMTwDuFpDBWFwAfC0hoAxuAJ4XkMAGNwBuK1BEIZvAFzX4COGrwC+rIEzhhCAYmvobAtjb6nROwQjxr3tebQtjgYDkL+GSN4a9BoND8YMPgiMGD/SR1j7vI2OldviAWajLTip1xUATIxE+ALsXkBm/w5+f9uwBfiZ+YXXBzvofTkhDmC94QyGwmbBK9B+MYR3L04ICb339ROmdp6hfXlc/CswG21Bsx7KBW80dDydqhcSenLrCc4nR4L5CNq13n817O1nkENoIQDTBsfWOYf2FYBb6z6G9g3Ac+uCQnMH8NR6AKG5ArhqPeDQXADKbr2CQnsGYG69QkO7BmBqXYLQrgAcW5csdFkARVt/0yptaGYAa+u1mJ8ZlD50SQDb1ruv2P49LmNoR4D/W4/Vm0gkEkqFZr4iMxCP51pXKXTpS1L/Wlc1tCNAZ3cHbq3NKB3aEYBuihIAARAAARAAARAAARAAAVTV+QNb67QTgsdLJQAAAABJRU5ErkJggg==\\\")}.ui-flag.HK,.ui-flag.hk,.ui-flag.HKG,.ui-flag.hkg{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4MWRmZjY3Mi1kMGQ3LWY4NDAtYmM0Yi01N2NhNDY2ODhiYTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzlGRDZEQzU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzlGRDZEQzQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2YjIxMDE0MC1kMTNlLTgwNDQtYmQ3Mi0xNDI2OWIzNTY4MWQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1ZjEwMTE4ZS02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz52tiwkAAAAwFBMVEX/S1X/VF719fX/VmD6naL4ub37k5n9dHv5rbH32dr5sbX18vL7jZP309X8gon+XWb9fYX26en5tbn24OL8eYH3z9H4ysz6qKz+Ymv19PT6pKj4wsX4xMf/Tlj4xsj/Ulz8hoz9aXH7iI/5q6/23uD4vcD6oqf+gIf25uf/UFr9Zm//TFb8fIP9b3f+Y2z+Vl/319n+WWL4wMP3zM7+X2j7mJ7+VF3+V2D17+/25+j24+T+VmD26+z8hIv+W2T5qa3EBbElAAABoklEQVR42uyWWVfCMBCFw7W0oSkt3YEubC2LAqKCAm7//185rXqObzbm+MY85aH5Tu7cO02Y3VKqBVOultr2qwvgd8CzxpUAkwieCkADXjIFQAxgcPd3QICBEFDoQYToLoe4lQVkX6odoGQcMGQBOv9WgDIVgMNW234mATAxvzXGE9aDTy5AY8kAEOW+McBDXUMHOQkw7coKQiBuCiDzBBUOYZfDukY61B5m1hFoNwSsfaA3BR6so1m0drEZdnZbdqYz6A1dmMEd7el7x+vaNg8rPWEKuJ3loVkOnAF8blZHtsZOcM0OdU92K7YxGgZpWvVQzxE/OSzQSrsXVpGQSeKYCB3ePsXZZJPO4PdvHMkov3ln95Ss2TR/TPwFsP3DLATvlhGGSaBhzlHIA9p15/TCilBQIMeyAL3eP9dAm937JUxZQAp/3uUaoldKM81kJAs4k282RXJBQ30/SSQBN1US3Bm5nzO2oyUkJWzdz4Gsx2fUrVZTOQmGVwixLDdfhgq4mbSNo9HPv7utdrXFnuLduO5f3gf/C1CuhdpDs/chwAD+JByBGgYw/QAAAABJRU5ErkJggg==\\\")}.ui-flag.HN,.ui-flag.hn,.ui-flag.HND,.ui-flag.hnd{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmYzY2ODIzNy05YmE2LTM1NGMtOTE4MS1hOWNlYjNhZWEyMjkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzlGRDZEQzE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzlGRDZEQzA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0MjIyZGM1OC1kYTM3LTFiNGItYjYyNi0zZTZkNTkwMzBmNTkiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDplZjdkZjA2ZC02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7XQBAJAAAAwFBMVEVBc8319fVLetBJec9NfND29vZKes/19fbt7/PT3e2+zenq7fLV3u5UgdLI1Ouft+LB0OqyxebN2Ox6nNr09PWZs+G7y+iuwuWCotxFds7Z4e+2yOfv8PSOq97h5vCRrd/F0uq3yOfC0OrG0+vD0ep8ntzz8/WmvONWgtLp7PLj6PF/oNttk9eJp91Les9Me9DBz+m5yujQ2u2qv+Ty8/RahdJ5nNxTgNLS3O29zel2mdmdteF1mdtylth3m9tSf9HAo7TtAAAA5klEQVR42uyVaQuCQBCGRzPPvNKyQzO7s/u+8///qyAQAofamKAvvp9mX959mIXZXejzJO2BLJG2fQE8DSDkgBzwBJCl0y7TCCSOJAkwV5HR8BEzoYiY4RqLtgLELCKA0w2ETTbaTGCqMgG4FcyxDnYwZOvAby7tOF1YUVqNvY4ts3XwokoihoN3gU8ABaDNfQ8wtLQqVy69tHbbjICuKZ6r2WinVjcNJkAjAEAGoVSHSYPtCJFTQ0ZxO3M8FwFkk76qWHHW1tRSFeHSL9OhQJJOf1DyVzkH/AQg/v1vvNP+xutDgAEAzc0Q0WqTjJ8AAAAASUVORK5CYII=\\\")}.ui-flag.HR,.ui-flag.hr,.ui-flag.HRV,.ui-flag.hrv{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyNzNlZjYyMC03NDkwLTNkNGQtOTA5ZS1jZjNmOTIzNTdlYWMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkRGN0RDMUQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkRGN0RDMUM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ZmZjYzdlNS0xZDE3LWNjNDctOWY0Ny0xYzk4ZWRmNGUzNjIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDphYzI0MzMwYy02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7Zw89fAAAAwFBMVEVBR5v/S1X19fX/PUj/VV77i5H33V2hqZFLUKC4R23UTWj9aHHetcPbdIn17e74wcRxc7KRVYv5trr+XWaxWoVGcsozOZR6To331tf6o6j///z0///s7PCbSXqdgYj29vb6rbH6mZ/2zM/q09r4TVlYa7vaaH6DZaRcW6X/UFnOo7n19PTZg5hNR5f23+DZmazbw9H+S1a+u4LjPFpARZtaR5L1RVT1S1n/R1FdYZI9Q5n/SVOKZJ9ucoxaU5L2Pk2VjiEcAAABh0lEQVR42uyTa2+CMBSGT8+slXIVytRtVcErXtDp7jf//79aZ2biktYM+LIlPh8KJC9P2r4t0FolKJCKQK3a/7Wz4LSAS86DgKtHCcHt5E22JO8yFgCAfJsMiwlEzJh45FZ3s+l22fOUsVgUFozUDARj03q9PmKbggJliGOrdd8Kgtby/WM7FMK0hKcLLbt41JTWdqfetpZsjsSDPvcKkf6SZIJnR3CR6XMReHpoZNs0SehhjKghCNd6koiQHDElxEf0CIk6hiD0UEtiHwlyJUj0uZ5ZYNvt+Ty1bX8+z9VHYUEfMSQkRWwT0kHs/z8BtTvUT9OQfo+0sEAd0xDR37fQL9HCD4FaS+EWaBKGagP8LCspSPL9zNv7TQw9LzcKrvSE/pFANeL3DUG40TOgiJ2DQNVIU0MQpg09TdedOc7CdReOM3MXTUNsCi+XBiwyQBwTMkYcEMuUuoMGmOCrg2DFjaHGCQHI8fpLsHYllBPAUlqcW3IJZQW/4Cz4G4LKBI1KBJ8CDAAVt0RwwPFECwAAAABJRU5ErkJggg==\\\")}.ui-flag.HT,.ui-flag.ht,.ui-flag.HTI,.ui-flag.hti{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDphOTdjYWY4My0zZDhiLTY1NDktYjQzMS1hMmE2N2E5ZTA5MzMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzkwRTdBQUM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzkwRTdBQUI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0YWVlYmY4Mi0yMzBiLWViNGQtYTg3Yy1iYzk3M2QwNDI5ZjgiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1NzFlOTMxZS02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5mKSs2AAAATlBMVEVBc83/S1X/VF5LetD/SEv0Tl0zdtZLcsf/VmBNfNBKccdMe9D/UVN8ntx5nNxUecr1WWf1V2U9fdj/fIT/f4ZWesxAf9n/U11Kes//U1YGK7dzAAAAT0lEQVR42uzMxxHAIADEwAMccc52/426CP2Y01+rKaFm4V62D0oM6A0YMFAOsDeoW0tuQfnSVqNWjRXqUwyozoABA+UADwUCTGdEHb8AAwDQMA1letlccAAAAABJRU5ErkJggg==\\\")}.ui-flag.HU,.ui-flag.hu,.ui-flag.HUN,.ui-flag.hun{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0MDk5ZjgzMS1lMzNiLTY2NGYtYWE2NC1kOTQ4OTUwYmQzYzMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzlGRDZEQzk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzlGRDZEQzg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyOWZjNjliNy1hNzk2LTc5NGUtYjNmOS0yMzkwNmRjMzQ1ODciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2MTI2ZDk0Ni02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7WeREsAAAAY1BMVEVzrwD/S1X19fV6sw3/VF7/+v/+Vl/u8ehpqgD/PUj17e70///29vZ8tBD/VmD27u/v8un1//9xrg3/R1FyrxB6swz/U12bxkn/Vl+CuBz+X2f+YWn/gIf/g4r/SVOZxUaBtxlparMzAAAAYUlEQVR42uzTtxGAUBADUcHHe+9d/1UyQwtLeC/XZtIZIIc8SBPbLwpYoLKABb5AnyKXtgjZVWdIrTZHWhU+UljAAv8EQkhNjDR6HLKqS5BBTkhpAQt8gZEGsJmd6X4FGADl4huRNtrp7wAAAABJRU5ErkJggg==\\\")}.ui-flag.ID,.ui-flag.id,.ui-flag.IDN,.ui-flag.idn{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMWE0NThjMi0yZGIzLTRjNDgtOTc1OC1mNGZiNWFiOTQyMDAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0FFRjBFNkU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0FFRjBFNkQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NTVlMmVjZi1mNGQ4LTRhNDQtYWI0YS0xZjBhZGM5MWRiZTciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmNTlkMjM0OC02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4hKdhdAAAAPFBMVEX19fXIQUv29vbLS1T5///y6uvFMz7KSlTLTVbKSVP4+Pjz6+zLSlPYeYDIPUjJQErOVV7ZfIPNU1zLTFbWlNPxAAAATUlEQVR42uzMyQ3AIBTEUOeTDchO/71SxBwiofHdjzdJnUxiHNrfSBqwGzBgYBzgWqVuvrwJ5Ye6SFVmMQKpMGDAwDgAPwNQQqp0AQYAhtUMjcU+92oAAAAASUVORK5CYII=\\\")}.ui-flag.IE,.ui-flag.ie,.ui-flag.IRL,.ui-flag.irl{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxMDM2YTc1Ni1iYmVkLTNlNDctYmMzZC03OTQ1N2I0MjFlMmQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0M0ODM3MTg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0JDREQ2QjI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3N2NlZDdkOC0wN2YxLWMwNGItYjBkZC0wODA4NWYwZTUyODAiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2ZWVlZDI2MC02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5sy0b5AAAAWlBMVEVzrwD/m0b19fV6sw3////42Lzz////jy//mkRxrgBipQHI3aH/oVL29vb/oE94sg342r//n07I3aB6swz0///L36ZhpQD/lTpqqg6eyE//tnn/oVH/uHybxklEwlB1AAAAW0lEQVR42uzWxxGAMBAEwQMJb4QkvMk/TQJYPai6H7UTQL9HDgO5fbEDNE+bH6FbEjVrsDlUFlWdYRITQNt9Bi4xOqAnQIAAAQIECBD4IxC1gHrzHt1onq8AAwASVRoeDLly1wAAAABJRU5ErkJggg==\\\")}.ui-flag.IL,.ui-flag.il,.ui-flag.ISR,.ui-flag.isr{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2MTY4NWEwNy05YjZhLWIzNDUtYWQ1NC1iMzQwY2U5YjI4MTMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0M0ODM3MjA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0M0ODM3MUY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxYTZjODcxMy0wYzRhLWVkNDMtODU3MC0zOTVlZDQwZjZkYTAiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkMTNhZWZiYy02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5zcVKzAAAAwFBMVEX19fVBR5tLUKAzOZT///////xzeLRtcbEmLY4lLI35+fe2uNX4+Pfj4+wNFYH29vYEDH3Y2eeGir6RlMNVWqX09PX6+vnq6u+Ym8cvNZL09PR/hLpHTJ5NU6Flaa319fQbIoj///06QJfBwtrx8fPy8vX39/YqMZB8gLn6+vxKUKD29vT09Prv7/L7+/hdYqkiKYsjKoxLUaC6vNdKUJ/7+/qeoconLo5zd7N3fLh5fbglK41RVqOjpsyvsdL19vaydMhoAAABhklEQVR42tyW227CMAxAw+yWDWgael1Tbg3QFkbDbd2FMfb/f7V00h7XKeRpOy+1FOVItR3LpLwx4kQ6hpC12f0xufn7Arg1AojdNcImmRFokV47UrYeRzlxSRvTDKdt527YLuB47CO/XhBKHAmsw6sFUzxSemn7iR8FXFoKjCAIig9sYsm1BG4cL6rFymfDIfNWKowdV0uAczgLOMNOiL36iCA5opZA1gGbeKJIbTtNwOuycVTr5QCH9H5JX1BR0uqdDlEvByRHbyagQtfFUMAsxYFmGblVr1m/qeAU57QzyLi2wBqzYyPgSjCSlq4gR38GgqvUZ3knmXmYazYSOtSv6KlJYkrjJ+0kRtmWdX2ReGnpJeDbLKilZiMVBygeYQewTw4FHArNRnIdJ47jjde0crpRoaPZylw2LwjzZDt5Xn6Fmo/p+zn3Kbvgw/UDpcaO0UBR1exfTEaaIsvIL0N10EoeybztvOcSNISUthElSe5MeIP/sGAYL1nGa96r2aJpfwowAFn5PYQuHpAiAAAAAElFTkSuQmCC\\\")}.ui-flag.IM,.ui-flag.im,.ui-flag.IMN,.ui-flag.imn{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjZDQ3ZDE2Yi01YWI1LTA1NGEtYjRjMS1mZWY3YTczNDU4MjciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0M0ODM3MUM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0M0ODM3MUI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ZTY2OGNlYi1mZWVmLTRiNDctYjg5ZS1lNmZmZGFiNjE5MmUiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjYjdlYzQ5YS02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4ai/sQAAAAwFBMVEX/S1WQbnX/VF64UFive4XQiY/ieoLIcHm1qrCPaVzq6OnkS1XUvsLTX2nCpKqtnaS5mJzXSlWtiIislVmrinj09PTJSlW4aXPm1dfZzM2yVmD/VmCoZFfIxMh0a2yjemXMnqTyS1W6gYqWhFqYgYrGVl2oa3SocnrX1tnBtbrUtbm6YGr6TFW7jZHUU1qiTFecXWfPztGliJH+S1X/gIfe3uDCrbPRsKrlnqPga1aqkJiyn4fXfFqZkXjvoKW/qJi/HHddAAABr0lEQVR42uyW23KbMBCGIYRyBgm8wlAwFsgHjABjAj2l7fu/VZviNpcGa3KV7tVqR/vNSqv5V9LTg5A9ScL2IJb+8T/gLQD81W3yLPy3oHwm4HDNsZTQjb55+Bq2kgRLPaW3Afkmedkfu163zS5jNUX7OPiJzpnBwpsAy5D3pEFHOKFV8QjuVEJP2kPpycbeuX2JX+SLm6aoZLKWl2uzup6dHroY81ldqHQUPoaqg/nnzv1bAtdSn85so4XOhPYvnma6MDRTUB63cwE7o2gnT4NTBPmfAlR9UOcC+E6xJs852qaZ7X8nfpBtCJe/RMXI6mDV1Qr9wepytxTA49T8FPieDUc1v5wQXgpQUoDSWAOqt6kc6DlfCCAjRH65QgCwtl0j2lrLADSHtQ/mPs7HowmDXmR0EYCeB3DNMaaShXHjVGj1vEwPqtE91Cp5fV1LBSX77geFJqBIDUt9xGJ+v6RZbRrJniOiia0ONsMCAB7bJtMkTO5XZYKGS5sE5H5Zx1rH6kIRmAtW3nkJFwF8lYnQZHreZEKjjScbTQhA2a4Xq4DQ9/A/EDbRj+YvAQYAWCsrrqCY5ZcAAAAASUVORK5CYII=\\\")}.ui-flag.IN,.ui-flag.in,.ui-flag.IND,.ui-flag.ind{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3MjI0ZjQ2NC0wMzRhLTJlNDUtOTY5YS1lYTdkZjY3NGQyNzAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0FFRjBFNkE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0FFRjBFNjk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmNjUwNGY5Yy03MGNiLTc3NDEtOTFiMC1lMDRlMzI0YWE5NzUiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2MGU1NzNhMS02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz50F/epAAAAwFBMVEVzrwD6tEb19fV6sw36uE/6uFH6rzhpqgD18u3u8ej/+v/1+v/29vZBR5tjaa5cYah8tBCRlcOjpsxVWqVNU6H6uVLl5e2OksHS0+Po6e+0ttW1t9WrrdCEiLyCuBv8y36cnMuwstJ8gLmaxkhZX6f6vFvHyN6Wmsbf4Or2+v+rsdb28+7v8ulZXahRV6O9v9l1ebVxrg3y8vS4utZ6swyfosr6s0L6tETg4eqZncdyrxBscLCztdTX2ObY2efe3+oQeaTmAAAA40lEQVR42uzTxxbCIBCF4RF7GSMSQ5BYEmNLNPbe3v+tPMe9LJht/vXl2wAwKpEaQYEYlGjny1SglwM58APOFVIXmJZJTSGtkUph2TSUtBHbiWmxhBb72/6BURBE+Pg/YS0T4OCV+T5boGMHBOh7mnPt+RhYAdlA6Sh2Iq0GwgpA3efxbe5wHaIlsJFizoXcPO0Al3t6K8RWezKzAk74/oRShosXdu2u0UXFZjOmMLN8BypGfjhIjJUJaJgar113PTZOYFUntYJhkdQQdlVSdygCqU4O5MAPOFIBchPaZ5p8BRgAdAkpOoXeFsEAAAAASUVORK5CYII=\\\")}.ui-flag.IQ,.ui-flag.iq,.ui-flag.IRQ,.ui-flag.irq{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjNTUyMGNkNC1lZTAwLWZlNDQtODM1Ni03MWNiZWQ3OGRmZDQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0JDREQ2QUY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0JDREQ2QUU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3YzhhMmY4ZS0zMmFhLWNlNDktOTk1YS0xNDliM2ZlZTRkOTAiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowMDEyYzlhNy02ZWFlLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7AZUdEAAAAwFBMVEVGRlX/S1X19fVPT17/VF7///9PT13+Vl/17e7s7O04OEn/PUj0//+axErb58Ts8OVzrwDl7NbI3aDV5LnF25v29va41IOBtxpSUmCJuyqFuSL/VmCkyVyUwT7N4q2y0Xaszmvv9Ox/thb/gompzGXC2ZWhyFeny2J6eoV5sgu71ohZWWbL3qSSvznp796NvTC31ID1///27u/t7e5DQ1P/R1HM36f+X2f+YWmvz2//U13/SVP/Vl+Huifg6cyfx1PLfpeUAAABDklEQVR42uzQyW6DMBCA4ekkTVewAQMNZQkESCAs2bqkbZL3f6sC7aGHqDKaK9/BGlvyL9kwH5PM4YoIPmj3v2BMCzwPgSHQBV4eSD7h7YbkHba3JFvYPErxw8vnGzBRis4un5v/BeocMfTUdlTzXFXduF/AjipElhntbAgjdV2lVyCbtmtoqz9bt7QWaY9A5SyaVTmzaRdIZgdFOhAiCmZwYQWeHR2U5h3oR7MkXcv+gecVUSnOx6NTx7alBAxVnpWekwf1SSpg8D9eHb5GvxutnHOpgGUngf6rCA2hISsauqYJXSoQV3hCWSZcE8HujmQHqwnJCvb3JHsYAcnTEBgCXWBCDZAtRyTLbwEGAK7QMeAq+WDIAAAAAElFTkSuQmCC\\\")}.ui-flag.IR,.ui-flag.ir,.ui-flag.IRN,.ui-flag.irn{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplN2QwYmY4MC0yMGZmLTY2NDUtODcxMi03NGY1YjU5NzExNDMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0JDREQ2QUI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0JDREQ2QUE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3YzI5MTQ5Ny1jYTE4LWNhNDctYTA1Yy0zOTBlZmIxOGMxMmMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoyMTI4NWY1NS02ZWE4LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4xs49bAAAAwFBMVEX19fX/S1VzrwB6sw34w8b/VF731tj/V2Gkylz7lZr9anP8hYy51YT8eYH6nKHK3qPG3J2NvTD6paq00nv9dHz7i5Gx0HTP4a327Oy81on5ub39Y2vC2pX24+T29vb6qa35tbn6oab5rrL5sbWmyl+szmz7mJ6VwUGbxUz7iI58tBCozGS31ID4vsGvz3C+2I2fx1T7kJaTwDz9gIeYw0X19PS/2JD23t/+VF7+VV7/T1n3z9Gex0/09fT19vX/UluUgeKEAAAB8klEQVR42uyTy3abMBRFrxpim7csQCDAlYSJbAr4HZPUafP/f1Vhd9jQtfDUh8FeWtLZA+kCH093ZQ3f7gw83df/8RA8BFcBfZmVs8O83pRlfZrvblhTjfXqROuy3q1WVxwOm5eynJ3m9a1RbmZlefoAJ3Aww1tKHf+MMW3O2Mkxddi2wbHTMIfheNsEzfkcM0obnMc5DbY+w2caMNxgHyjDQYPPu8BvmhzPAt+hW1xSv9kwf7PRKxYHdc6oEwc7ljfMZztHH8V536B5DMO5GMbl3zu/bvj9H0G7N8Xgge/6+zJLuQBvDwvCxwlEZgj4RNAaFh8jSNBEdZC9QbLvUDJCoN4WFkA2BbC6zBwhyNzuXZe1YHqJrBECy03QTYAWUThCwDNARS8wEHx9i0OvYC08BK7W2En2OkYwkfDuHkMbAbmMGyT9dlOEfiaQDA3SUBZCZVNTdIOj/Dqwm0y6y6WbJMO/y9KTrbSXKSEpr3jLybKopME9LkzP4Iq0SrU9vChdeqSVkRCEtMQuUiJFocBIpSCe0gLBPSWMQq9MbhSFlB439FkupSFkwaUSS92Qnkh5SpRZpFxIT8LRrSp7X1mhrbEP3R6mFR4jO1Khe4yqynT/wnJ72D3sfXRrKHhGd2X6EDwEVwG6M3B8vivuHwEGAM/GRba+o4+eAAAAAElFTkSuQmCC\\\")}.ui-flag.IS,.ui-flag.is,.ui-flag.ISL,.ui-flag.isl{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3MzE5YWJmMC1jZTVmLTNhNGEtODA4Yi1hOGNhYmQxMzk0NjciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0FFRjBFNjY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0FFRjBFNjU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDphMjZkMTBjOC0zOGMxLWEyNDktOTYyNC03OGRkY2Q4ZjcxYzgiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmZDc2NTE0Yy02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6y/qCmAAAAwFBMVEVBR5v/S1X///9LUKD5t7r/LDj/SVP/Mz74wcT/NkH/SFOgo8shKIuZnMf/Q00gJ4r/RlD53d15fbf6m6ArMpC9wNokK4w+RJr6pKlNU6EDCnuAhLu0t9X/VF7/TFb/SFIdJIr/T1n/SlT6////N0IvNpLa2+ieocr/NUBITp82PJbv///18vPw///4vMDAw9z3yMtjaKz/P0lKUKD+///+VmCXmsb8gon8foT/SVR8gLqMkMD/OUT4xMf6rrKTlsRbiIiKAAAA80lEQVR42uzWXW+CMBSA4dOiKH6AIipTC0NF2FRUtqkbY/7/fyWBLZN2ybnorgzP7UneBGjJgQ+lzJ/SvucwxpY23T0/KQgTeCOT9ns6IaQ+oENrDKgXucADKFWgCtxHwDLKJoffwGzyaCB8CLplyWzxE1iskmMXEQAVbDdFwF6/UhykTd7+y+1lAe20b+JSiDVe+Ok4WcDTQw0V6uC1eK5KcnO3hXIZMCJj/vYPAVXw/j1UcdkjxA2BVrzEPyaiGKIaL7Lzz7g8iyNRJH+Q2pzL8OYoH4M2BqxOGXeZOgi/+iNVgXsJSC9Z0mueKbloXgUYADo2PS6bAoPtAAAAAElFTkSuQmCC\\\")}.ui-flag.IT,.ui-flag.it,.ui-flag.ITA,.ui-flag.ita{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4ZjJjMWFlMy1iNWE3LWU5NDMtYWVkZS05N2E2ODE5YjhlYjkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0QyRDJDODk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0QyRDJDODg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3YmM2OTQyYi1lYWJjLWRkNGItYTljYS0xMDA4OTNlNWRiNzYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxZmY3OWZmNi02ZWFlLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6ftJ0XAAAAWlBMVEVzrwD/S1X19fV6sw3////z//9xrgD/NUD4vsH/SVPI3aFipQH/VmD/VF729vZqqg54sg3L36bI3aD0//9hpQD4wcT/P0r/Ulx6swyeyE//fIT/gIf/Vl+bxkln2MFpAAAAW0lEQVR42uzWxxGAMBAEwQMJb4SEEy7/NAlg9aDqftROAP0eOQw0OW9HaF63fYAuSVQuweZQUVdNhklMAF37GbjF6ICeAAECBAgQIEDgj0DUAurNe3Sjeb4CDAAI/xoeF8Uo9wAAAABJRU5ErkJggg==\\\")}.ui-flag.JE,.ui-flag.je,.ui-flag.JEY,.ui-flag.jey{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplZjA3NzI3ZS00NTYxLTMzNDUtOGQyNC02MDg3ZmIzMjMxZjkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0UxNjI3RDY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0UxNjI3RDU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpkZTZmNDUwNi04YjU5LWI4NDctOTQ3Ni1hYTJhZTgyNGI1OTAiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2NGNiOTUyMi02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7PWkyxAAAAwFBMVEX19fX90Fn8qV3/S1X88Y70///319n29vbz///4xsn/MT325uj/Tlj5pan19PT/Q03/JjL/KjX/OkX6lJn+WmP+U1z4t7v7hoz1+fn9anP29eT/LTn9Y2r8eFD7jJL7c3v19vr/NkH19vb/P0n28fL8fYT6nKL/R1H1fWD9WEv5rbH29PT18/P0+P/19fb/Iy/29O719fP1+Pfz+P/23+D19vX4v8L/lkP3ztHuVlz1/Pz19PX5Qjr3npb27O3kbn2lbeB8AAADQ0lEQVR42pRWa2OiMBCMxWhEyssXCsUiWq3V0qpnPa7n/f9/dbtJkEeDtfGDaGBmMtkdQkJjYC3ONCXtHw3i0fliOTBCEhma4SyHjJpEMd6323fV/yZlQ83RNMMlfWdpGK497bJ0U7nr9ZU8vr094nfl8ZSdF3ZkGEunT+YjB640x1pTRsoqzO1232zuqyJMoF9byBs5izOh7GjYFhdxKIt4fGtOts3mdtIEFSX67tR2gd7WYOWEeGw38nUU4d6XRLwCvRj7fA0mYWwdOxqnN5lHSBsN6QyEiPGhaOZ20viA0Zjsi+Ydxkhv2cYR723Dh5ge80L9qwja/fccafGyS3N6Kuh1fzRjnkkEAAc+DRIQEdtBi1HpBO2sGnd3jecjE783Of2gI6VKAGLuWNrTfQ1FPFE245Ps+PsOxmrIAcwZo08up9dDME7ozACEiL4dg4gkEwEAK+NhoHMAoG8FSYz0/VPuVA4gGFCE4es9LoIeVg0YDy0qJiNUyCd3F6cLAFxEK7BzkpROH4KP51Waojw+Ax6dSlVfApDLlCJSNmPgYuPhCBcUDIJd8qNeZpASQBgdJGh0gkazv5+ffyl3xyq6Uw9AzF+M3sfSaxQElF6PF4mf788VgOJuowgYHV4hrh0cqvRqgHK9UTrSVY1yDUA2nMMbLhjzLnHKXfIdADBhy/sQVhEmlh+vlfT1AFyEF7oaH+4ICt1U31cP4MHeZwAh5Z33EwAMzaWPoeniEqy60K038bzweWgGgQg/DN2bTTQZHVq2CM1dKpBsa33rNm7yPdQgtTB0RSGNFcmvKGWsIktW0Ry8Azf/yNCNFbX0pZmyzM5CUxhaDN1rzYT0966k311iA/MulMn/dK2dTUVoXmY6oqPtcasuUHgjZ6GZFlJLiqCiqZ2oJCIH2FzyLOmfFGWzwVhJ4iz5q6FaCLOoV6UviBC5GuW5KgGQXsIj/UZd93myJ5e7xKutgK1IrUroRiWb2uLlKkPT/hqaKhGF5Ed+oA9V/taIKJQKioA3aLbDyfg7euUrlrRD/1po1onIQndOAgerPBkfbqKvdowTwDEP9t5a30pf6ll41CVw0FxOuzR9+dlB8yWlZzxojv4LMADB12vAof2NFAAAAABJRU5ErkJggg==\\\")}.ui-flag.JAM,.ui-flag.jam,.ui-flag.JM,.ui-flag.jm{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo5ZTcxZTJiMS05MjljLWZmNDktYjdhOC1jYjkxZDJlYjkzNTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0QyRDJDOTE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0QyRDJDOTA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowNWI3MTQ0Zi1jYTM5LWQ4NDItYTAwNi1kMjBmOTM0YjFjNjMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpiOWVkOWJlMi02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7n96JcAAAAwFBMVEVGRlVzrwD/4VpnqwD/5WLn3VGtrEv/4FiOlEZrdkR6sw2ItxTX1kj/6mm6yzXay1ZapgD/7W5JTVG+uE9VpACpxCp2sAB7hURaZEb/6GVSWkmRuhn/4150rwDEzjtNU03/5F91sQ3/62z/4lvMwlJyrwDPvmb/4VtcqA1+tBXz5oH/5Wf44ltsrABGR1Sxxy9gqAD/4Frv31bz31mBtA/331775FxKTlBHR1R2sAdwrgTf2E9HSVL05X7/62qewCMPrybvAAACpElEQVR42pSWa3uiMBCFR4gCCgoVUVSUBqltLSur1m7rrv7/f7XhEhIgeOFTfcqc95DLmYH3DUJoo7+9PncfeJ5f3/S08B3mEnkUfLyYseO17no8JzYvHzgplAJASqrgWnrXjpx76p3I/taxm9b9RvCS/aUE2B+Z5m0TCX50xEHOfQFtYM2zHwjrh5smCL5L8UpgDTQAUM/5bwmjUWx63jW8GY+Qtc7xZ/UPwBPAhDNxumaC4A86zldtbg0mAF+JADFhZCYkYmLbZMLzEjyWcryh/oKEnwrwJqxTz5YdMf5klfCcQGLCyE0Ybl82WxUTXsuUtyjbe0kxMnxJAKYry6cm2lUTjmz3CrxvrSa0ihMAGLuGxJkIPR7fp/8k+DGrKQkkJgpIe1aYIPhZm9rj8TUBzgTh9KPURAlPvI1LBVUBmA7ZQu8SEwl+x1ZnOIXrAsQEoiZcY/FjmlGf259x9W2BQMnEvtfbsRNSxTcIAGg+psfd99lFGQteFQvAslOc+OKWdJZwvwAxcaQfnu0J0sTvNQrAXxUFtD5AatNrzQKgukzAVeFRAW1vSPwnfD72CU8dmlrcIn7dL6B9WjQ0ESryT2hCJMD2MLA+ZrM9O0iCnRQIcKfovPi27Z9FfpSVNa5vZk1g2eHO8cWOHSdOLlOjiaqAVtwk47yI7JAkghPa0aLxPlUCpXqXWaA03WhxpJE0yfG5QmjLDZeaD9UhyzMOL0w1ZoIJcHi3z+PzXA3FwUYFWKb79UxnyV6P1lyA4K91laK1yVtumdRCYHIbz7UX1lxXaXMtNzXSWVvX2jvpr1uX66+Q4m+11VqH51qsRkccgm9u7IImvy5GnE2BP9w/ZHWpCTJkZWOe4ZPh5oExLx75dMzLBs1T7+FB85QW/vsvwADa4lU00uAwFAAAAABJRU5ErkJggg==\\\")}.ui-flag.JO,.ui-flag.jo,.ui-flag.JOR,.ui-flag.jor{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo5MzgyNWZiNy1hZTc4LTJmNGYtODc1ZS1lYjkwMDM1YzE0ZmUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0UxNjI3REE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0UxNjI3RDk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDplOTE0YWIzMS1kOTk3LWVjNGYtODlmZi01OGZiZGY5MzA0YTgiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowZDk2NmZiNS02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7EhcaFAAAAwFBMVEX/S1X6qK5GRlVzrwD/N2UkRlb19fV6sw1YxQGUmBv/Kjb//f+iSVX0/v7KSlX4w8b9bHXt7e5ouAH/VF7/TFV0SVdPT15TU2FpqgA4OEhRUV/9W2TPjH3u8ejIbTpeSFb/Ql5KRlWvgCxLZ3T/TljpVU51rgHs/vz/OER5xSDwTFT/R1LfS1X/Qk7/SlRewAA4R1b/RlnaX0b27O3/SlX29/f/8/98fIf13NuZxUb5SVb8S1X/SVNyrxD4h4z/SVYG0OwcAAABtklEQVR42qTUe1vCIBQGcHDMC7nyglla5oUUXVNXWlZzff9v1XGmbmw6oPP/+3vgPTygh5a9vDWfD8RYdWAvBwXTQU3EvqsFY6IDAEJsVl3aBSOiHQFwj5cWEObAjrhu2fY/gIh40idiADJaSAKICM2FSMDfQjSIFACE1kIygGinym1mAYeF3KtMIRPYE6NRJ3/aZwCEXC+sTyb13DkLsEA08VX+xAAWzBMCF5Rjx1kXL836BARIeCxgEtG9uUycAD6nYY1y6R6I0hoQKoAI8XqDa0KqggeUhpvzhzgCnHYdx3kTXqpN7sIpik4e4HlwUqcYigBlnEEBcPmuLszduRRfQXxzvoUjwKDDEMstMiaiEtcqa+QeFYjJL6GJVdcIt0CBGwdADLBzaYcSID0Bn/r4XespJ+I/xAs3k8lj7mT/BytCepXptKQwWT8SIuS1sljcqcw240/sk+fKomyNLZVJnQDis2FDNZ4CmE++hla5oRqXAKi+3xvrxBMAxElvqxePAfvqywtLL38A2L567fgB2MV1qpeAqPqG7uVPgE/6w7FhfAfA5rbGcRj0ANWXzOfzV4ABAKtwWULGc7pmAAAAAElFTkSuQmCC\\\")}.ui-flag.JP,.ui-flag.jp,.ui-flag.JPN,.ui-flag.jpn{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplYWVjOGVmYS01MTQ0LWZiNDUtODk1MC1mNjg5M2RhOThlODYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0UxNjI3RDI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0UxNjI3RDE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowZDEyYzEzZS1mMTAyLTA2NGItYjBhOC0xZjk0MTJiZWFjMzIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0OGI1MzE2MC02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5W3goiAAAAwFBMVEX19fX/S1X29vbz///0///19PT1+fn19vb25uf32dr/TFb1/Pz9ZGz/Qk3/RE7+XWb7jZP18/P/QEv30dT/SFL/KDT/Tlj/LTj7k5n/Kjb8hYz4zdD1/Pv/HSr0/v3/OUT4wcX/IC3/RVD/TVf/NkH4+Pj4trr/Lzr/SlT4ysz8fYX7m6D/TVb/Ljn33+H9aXH/P0r/MDv7iI71/v7/SVT0/v70//74x8n6oaf3xsn19/f1////LDf7gIf4vcH/KTV9fvchAAABh0lEQVR42uzW2XKCMBQGYOJJRAmLAoIgoOC+4K5tqa3v/1bFTqfjEm2QmXrjzwV33yRwzkmEbiFXusKjU0ifJ3ALEClOQ8X7AOIB0FK5XErfHskMkARwaylbUdSW3U8MCckGVCk0ZnGto6uq3qnZ8hCCahaguoVxvFtP0HcmA3tXB1zlB4iHK6Fuod9YSuhi5odgAwm8+lEbHUUy/TEkvAABI9Yn6CSS4jSAcAIenu0sdBbLlgOPDyDQWJjoIoP4hbEEFiBCpSZdAtJ+CSIXQKncQYw0teKKC8Clts4CFHOK+YCyqrKASDf+CyhJ+bZAvZwf8epvdBnFzC6kYX/NKCS7xVlIgreRGaXc1yjlbyZbOduEpO6H3M2UtvPYN08Eae3X+dv5ME/dUDnaRVsNR5iSDCMNQ93po59FSGhRq+AsIy0VAnjTHKepRJHSdBytdWUk3hjrRXjvfWjmfG5qo94KiiT7wRIAJFPDmIoAAbnvaEs2h6NtmzzvB38AwoMBQch70fwSYAAc4B/6z3LamAAAAABJRU5ErkJggg==\\\")}.ui-flag.KE,.ui-flag.ke,.ui-flag.KEN,.ui-flag.ken{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyNjIxOTIzNS0yN2YyLWUyNDQtOTI3OS05NjUwOTA2OTA5ZTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0VCQjIwQjE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0VCQjIwQjA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiMTVkOWJiYS05OGE3LTdlNGItODUwZi1hZDk3N2VlMTU5ZTAiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDozOGM1NGFjMS02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6Nzr9yAAAAwFBMVEVzrwBGRlXIQUt6sw3iqq/QcHb19fXbi5C1Qk3X47tTU2GysLbHxclzRFFPT16axkrimZ3ilaGHRlJsuAA7RlbLTFV7tRDV1dieQ07lu72Li5VnZ3Ow0HPTeoHi4uPgoKXx5eZJSVju2ty+QUx+fol0rwKhhTLMU1zi69KyXjmhy1pLRlVHUWB8owjS4rTa5sLv3uD08fFHR1bAZW57pQfER0fETUvIQkzJRU+VwkBaYG3P0NSfn6bQYmre3d/N462REIXxAAABbElEQVR42uyT23KCMBCGk5WsIBWUFgsqIioe0FqtPSmo7/9WDTptnc4kI6G963eRIcPPN9kNS0ZWKUaEloRY5b63ygpqfyaIaj+CUUHBU9a53HayogKa9S53vaxwDyI0vzcmWsWbmGJehOPwZYepwi208RDR+WYzp9E9thUEESKluqbplKKwAi5Y3IlYpDtvPxgwb5dKQuRGiHnwoYrrBvg9U5wiKGECDVyHMJFlSENMAPkJQoBAEiIuCKkPgfX7AQzr4owrEQypB+++PwGP6koCjzoAjNfhcJOKwKH86NUqLyU3KQjqXBAihqcHVYGGqCkLTiU0Q/USzk1k6k3U+Xdvvu8qX+OVP1JTDIPzMAGThKTD5J6HyZUO09IQsvwcZ0OSIa1bIfZxtl+tgtkxEWdapEKETO34RdNe4+1UnJEJuo+EPDD2TIjRVRHES5uv4zFftkasIki+XlUSFcF1/At+RVAau1IK+0OAAQBDAjuydmdJNAAAAABJRU5ErkJggg==\\\")}.ui-flag.KG,.ui-flag.kg,.ui-flag.KGZ,.ui-flag.kgz{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyZDIzYmVhYy1mOTliLWEwNDktYmFhNC01MzU3Mzg0ODRhMTMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDAyMDQxOTc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDAyMDQxOTY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpjZmQ1MmRmOC1lYjBlLTNlNDctYmZlNS1lYmY1OTM1YWMyOGUiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkZDg2YWViMC02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4JXycqAAAAwFBMVEX/S1X/VF7/4Vr/VmD/U1X/pVj/tVn/alb/uVn/elf/TFX/rlj/qlj/dVb/kVf/sFj/T1X/blb/UVX/cVb/VlX/nVj/2Fr/l1j/jlf/rFj/1Fr/0Vn/XFb/VFX/oFj/gVf/zFn/3Fr/oVj/qFj/Wlb/Xlb/TVX/ilf/wVn/Ylb/ZVb/vln/xln/hlf/s1j/mlj/nlj/fFf/gon/jFf/31r/foX/dlb/yVn/TlX/UFX/WFX/4Fr/U13/lFf/o1j/WlVcf/m6AAAB2ElEQVR42uyW2XraMBCFT6beJeFNXoqFjU3ZwWQhhKU07/9WdfsEFv5yl3OhO/3fzOhoZvD6NEivGKzfw67/wNM34GsBARAFQwCRgrLhyccA5w285Cob2KMO9UgEoxz+HQUaDldoA+YVQPJuxTVoruoIytMDeM0WrZXvnNacgnL8qbQimMTAmIW0pU4s9Re7rV4K0X66BDE6HoS412SS35XE1kpBEeNkytjkwmiIvbTj7Nwb4F332dqrjxx7p1OOpCa/M4MR9AUYsXn7mKVBaYXq0/ZNFNYhmyWbSMcHMzrYlIj15nSn05J27Uj1TmFiP+8Kv4iZ4zIR86p1NrV1ushffSOI1PzqOrXrPvPQ2Ybs8CLGVvrRhLK/D5Z81T0dz5Y3ypccJc10fHBZJ6wsrVRVp4SoFG+yYNNbE0ZeT0Aw6Q7zWHPYBVEaI6E62CRvatH/FfLxtuLEApFl7qIkxuhTy8p2ZqAhTjSKwzwln5BP94YGoIu1LaR5ZP8+04oESwEhtf6Cy+CSsfJ/rnaZ72BlajcUeKltEMYuSwzyUM21W1pYoeQogtxCfn+kqXY1G4UwlSwXsIPH2ro8w55DGUMm08X4P1++p/PXAgYvWYP1PmzRfP8rwACqXCaoiUs7wAAAAABJRU5ErkJggg==\\\")}.ui-flag.KH,.ui-flag.kh,.ui-flag.KHM,.ui-flag.khm{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2ODQxYTRkZS02NzcyLWYzNDctYTlhOS0zNmNkNzNjY2Y0YWIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjhCNjZGMzA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjhCNjZGMkY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiZDY3NTE3Ni01YjNiLTU3NGMtODYyYy0zYzQ4MmEyZTllNDMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjMDZjMWVkMy02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7sSDN7AAAAwFBMVEVBR5v/S1X19fVLUKD+7On/S1D+VF7/Kzb7jpT0//9QR5UtR6IwR6H5S1f4x8ry//9aSJJbOoX31df/S1T8V2L/TVf9c3r/OkT/Q036o6j/MDv+Pkn1+fn5trn5T1v/DBr+YWr+anFNU6H19PT/NkH6m6A7Uqf/RlD19vZ3fLf/SVP//vtaUpz18/P/VVpjUpn/EiBaRpD4vcH1/PtKUKD/TlP/WV3/9fD27e78gon5q7D19vX/8u/19PV8gLr+UFkmAUtpAAABo0lEQVR42uyWXXubIBSAgbaas7XJpkMQSWuGhpQ2bRrW1H7//39V3G4WYwx72GXfG3l4Dq+cIyDo7SiISxTMr7DhP9HRpyBcMD8NYo6uvwRxjaKzIc6L4nww4Ae6ORngnm027H4o4gZFuA9j/jziJBH6754uUb8gZZWmGFNRwmQm2pauWPoPAlGvC46xrsYAY+amoNk6F/4ChuXkMaaYbSwAlBWmcTaBd+YrMCIHSDjH8QikhJHAukgAnoTxFHB+DBKy2LgMlqrNQcxcR6O5n4CKmZQLyFcraoEQC9FqVcNC2sxl5SPgbr5KySavp1YSIu20rhuplpAU3EvASnAvXrb1U4oQpVwDloS4cjIvgammsCC7wJppvxq44vcKRn41oOnF4x7BhaEegpSXU9snsOuSm8OCdv2D6hlPXDF/74sDAi3GvQk4nmEs9EFBlYEle7CQVYcENM77E2h5nTx1P8SOoHhvYIAmKrqCzpFWza4ejvfycpWJnSMt3QZHg1CzHR6h22/b3H0f5K4TfovmX4OYf/6d/4cg+JIVzGXgRfNDgAEABERAH+yvpgYAAAAASUVORK5CYII=\\\")}.ui-flag.KI,.ui-flag.ki,.ui-flag.KIR,.ui-flag.kir{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0NDYyYmFhYS1iNjJlLTNlNDYtYWRlYi0yMGM5YWE2YzQ3MjciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0YzMzI0NjA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0VCQjIwQjQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpkYmEzYTlhMS1mNmQxLTM3NGUtOWM0MC1lNGJiOTFjYjJhNGMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoyNjA5Nzg3NS02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5UZCp6AAAAwFBMVEX/S1X/VF719fVBR5vTucb/0Fr66a2Odqj15uf/cFb/q1j/kVf/4Vr5srashKm6lLPSqr5qT5P8jJB3aaO1sa79aHH+5neziqxdU5xMSJf/V2HnydKTaptXS5aZga3m0drEnbejfKb02txPTJpiW6Dw3ODjvsnz69ZFSZz/RVVUVaDaxNL4w7317u7/SFX/TVaniK//O1T/SlW6kK/t4eb9fIT18/L6naP/V1VPT52qnK97WJX28+VKSJn0z9Kkj6fdlUYxAAACsElEQVR42qxU7XaiMBRMEQwBBVq1YLEIigi1IJWKUfvx/m/VGxKs3bNuD7L3+CMjuZObmQG0vWlVW9S6btq1P/ydgJJztKaE6JpOmxDomqbpOoEeqvWq0kiTCRAiOnAoPUKVnqJoOlk3uwLnYAxwNKXNNRDX4MMrOrmKAEpXfmn/jQDGoNfZ2DoHojZJkiXJJruSIMsSMI+ukyy7iiChLyyBOiH0H0NcJsjWGeS3BznSNPJCk+YTvFDWznIAWQK6hgRJRlgOxQ9maEiQZewlUkQUez2dZptGBJukGqAuiOOFO1wiSNYQ4xMDLMkmuUDQ34nP2s121+/vRgLcPXe73Xvefw/L57sH/mTEdm3FsdCCUrV6th7dPatSOetvK7D7SKVyyRnuu8tSSj92I4jVw7Y/KyVoqQC0pKiUoFQ1lU71A7y9lad1qqrSn6BEUstCQRHxA1WrCAw/4n/PLPtzKC85WMrDT9uacRD5RmBbfJQ0KgzU6XTmuDBt3OHlBIVpDAQYHIbDwwkYphmEAmDbLPAeFqjTslCOn8QyxHmO4/o4L/fqo3+AmO2q53jCBhPR9T3s+VNxLdPDubXgskQHzzvI/MILK8eeKQSbVi0uE7GlCSU6s1ZK03NQnm1LL+1S0TwM5AUkbWZhJ45DIwLG9MMf7OP5oHABqG4BYD/wIZxwKSOMYwdbM0jqQg7COXfh0Zl/6+o47+fge/1+DubOY6VpexvdyOSmDPzIdeV8z3NiAbA8vsezXAA8aftcdt3I56aGZuRWLkxlebWo9WLgtdZrBaCW+RXAtFZ2wYD0H2yUkC0SJEkr07D9+my5MGxL+JVatlHI9Ry+bZgrAaa+zUS8ndimPbnlSh/ZyzSpFO6MjwG8P0cOHieGWQTHcQW+W9B7OxPG7W08jlvV8UuAAQDCzFkflSVL1wAAAABJRU5ErkJggg==\\\")}.ui-flag.COM,.ui-flag.com,.ui-flag.KM,.ui-flag.km{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1NGE2NjU5Yi1iYzZmLTQyNDItOTI1YS0wYWE3ODk3MTdiZTQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkQwNDNFMzI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkM3RjEwQjg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3ODkyZmQ0Ni02MTZiLTM4NGUtYTQyYS03NmZiNDY4MDZhNTgiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkYWE2ZDkzYi02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6ZPz1bAAAAwFBMVEVBc83/4Vqny2b/S1X/5GNzrwD19fWgX5L/PEjz/P91mdtdpQA3aPWVwT+IuimPuRj666VKfbNLetDW5bpoqwDr79j+VmB1sABppi1huwR6sw3s3lO51Ygde+T/3T1/thv/Qz5ZwwD27e7//v/T23JYj3XIaDT/OWPE25h+vADt8ef09O0+b9vM4qi/zThWogD79PqliiV4tgCakh57qwvSZkDf6cv5+fT29vc7a+WOt4X/7IFjqRLMfhB2sQf+YGr05IPRAAABqUlEQVR42qSTXUOCMBiFJzCy+ChFJIlahIqYRFmZZq3//696GSDMCx3juYGbPedse4emvb3WgT3K6Ium9eRB/ii7vpM3aMj3cIblS4AAY69DCSbAUGIkWaIQlCX2mrxAusRBUJ2EJi8AWImHdnCCvMTUvWkFJwCMnyCKLltQCezA1R3CSthOFOmibAsBTeFfKfdhGEoUbVsJyFLXXYqtgJQnQYRLMIHn6voS1i50qy7xJVaCCYKyP7H8+joES+QCAt8NW0YbNypYIhco8A3yRYpjczNB0vMlckF+A2zzQXUGVYlMeY4E5mADAhbtE8oNFTywSfr6dBpegI8Ijfn4NH/8Fmxu+SR8V+P+aVTuEF1OENJ5HKtnGHPX6HlH8aoqIoAJLAbJtprxn7HA+kJA81H2G6MM8W8i8ZUA2/CYNvCYFuU1hB9i8QcB9p36OeNQOL4WYEhf6ilpGd8UVKyT337/URyVF3jJz0VLOEGynq3M+3Y0BF5yOzBXqB3DWgDxOxMhWcFaJr4hkIs/CGTjK4F0fCGAeCQZzwQJne12qAPfA3PYgat/AQYAASpjo70ck+MAAAAASUVORK5CYII=\\\")}.ui-flag.KN,.ui-flag.kn,.ui-flag.KNA,.ui-flag.kna{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjNjcwY2ZlMS1hMzIwLWM5NGEtYTVlYi1kMmUxOGE4NjQ4NmQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTM3NkU4NDQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTM3NkU4NDM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4ZGE0NDJjYS1iYjk0LTFiNGYtYjg4NC04OTg0MTc5YTQxNzQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjYTFmNDY3Ni02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5bnyYQAAAAwFBMVEVGRlVzrwD/S1X/4VqSuhXkbEfXxlGMjJX12lWxxSh6sw2rq7LmsklaZElcXGrn5+lJTFLT09bfi0PHzTelpEb5UFL19fVTWkngmkWZmkXKvk2GjEL1U1Df1kW9tUp9hEJ0fEJra3dOVExgakVpckNMTFvExMjwWEx/f4nxylHswE2xrEjqYUlRUV/u1lWMkERISVP731iZmaHe3uD+S1XfzFL+3Fr9TFSeyE+4uL7gfENGR1R4sQT6T1JISFdMUE+V1g7VAAACGklEQVR42pyW24KaMBCG0+AuihWkdaN78oRrbV1UZO1p2+77v9VmJqGYmBFwbrwg832YZH5lP4MG1XrMMu+Q9MtK2IcG1ck8z7vtM6OC2u3Bo2w/JGZ7vz6gI9u97Y5dCGiB/s7SNwAoPWMXApS+xy4FoP6eERXU0w/d3W+DSsBn0E/YbC+XpzOrf7rxKgCoH0v9TKwYWy6N9vlAPjwPQP0UV0eiGwvf0MO9HJ0DtDZyxVp/+19CiPyofbiWD789cxrwB/TZVK9fRRIQpaUe3u3TC38gAa026Od6fS5UrRRiOFZ6TgJQ3y70LN37fiTybh7DYbAJ6jmnAaa+2AS9haWeAgSg3yysM/fFE37el3oC0AH94M2+dCG+QO9OPvz4zGmAW18U6n9zTgOcqVWUrT8FoP5A6F+3tv4EoPQ7d39yDfovnAbg4FwnLISzfrIGb3crH3639CYAYwP0qYhZGsWm/uDSHwOUXqXWUuQRTG+ZW6Bvn+qPACq1XtX6LszNv7J/AfrRA6cBZmh2cWz8MrXgYlxxTgOM0PRjPXh6ExYbWq8AKrX+Z3YahqHcBH+/DIvU+krpEaBD05ob/QUWMBajG34OoEPTqJnA3JivK/QKkE1OLl2KLzBF/V9eARgTPxl19AggSqXWD14NcI6OkVoVgD6p5/xCQK+23g1ooHcBHKnV6BS27tg4U+z4XyPoM6l/ualdV+8CDADlbTwbo6Dc8AAAAABJRU5ErkJggg==\\\")}.ui-flag.KP,.ui-flag.kp,.ui-flag.PRK,.ui-flag.prk{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplNTU5ZGJhNy1jM2ZjLWU2NGQtYjAwYi04MWE3NjU3YmE2NjEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEQwQzRGQkQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEQwQzRGQkM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpjYTgzMjBmOC02NmFlLWE5NGQtOTkyMy1hNzdhNTg2MzdmNGIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkNjdiZjNkOC02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz597khIAAAAwFBMVEX/S1VBR5v19fVLUKCxs9Pqe4nle4z8hIvz////QUz31df0////TFb0TFr/LDj/KTX2TFn/TVf6pKn/MTz7lpv8dn3+XWb9a3P/OUT28fH3ysz/P0n1+fn/NkH9ZGz25Ob8foX/FyT/RlD19PT/SFL19vb/JjL/SlRNU6H7jZN3fLf/DRv26+z5ur74vcD+Vl+vsdL5sbX1/Pz6rbH6nqPnf47le4vhfo9KUKD34OL18PD1+/t8gLr/SVPz9vb3zdCiQr06AAABoUlEQVR42sSWT1erMBDFI/oeEyYGw0BBApaGAtZWavHfq8rz+38r0Y0LXZhm4d0km/mdkzlzb4a9HDvpih05iv1zq79kx78OuDlx0g3zHMXu/zjpnjnrzK389AugG7vDAaorJfFMklEHAVRJaZQH+a7iclTWACHkNgeAeA8w9yVXtgAVJggFztsIaoTdDwmfACVTxLqG23WCRV3ArezsAFxvoG4KrFq+x8Z7hkQqG4BoY0BEaAwPdx+3gJY2AGNeV6nv+6lWejad1UVQlTaAbIY9rYkyJRSncrHw/99JG0CZDvCctB+tF6IVAUBkCcABITJmuo86acCzBGSzBusB/PciLRBqD2IrgNHBND/nWz2SVtRDPWBq1UQRxtDANWWlvyWqsIAgM1aDpPkTwGqd9bCZLcYnhCpUlqOcwEDbDTSI8TqCa7m0tXMYz6PJDt5kpT7Pp1bY2rkLL6ZXvE8x4J3U1nZmQlGZ7IJ90K+YNOqgSFuSzLimn6bJt6E6mmXnlMrWse6sx4e/Dnp4dP9cnb/3399QnJcs5zXvynHRfBNgAAkXMMCO7RTdAAAAAElFTkSuQmCC\\\")}.ui-flag.KOR,.ui-flag.kor,.ui-flag.KR,.ui-flag.kr{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2N2U5ODBlZS1jZTVkLWViNDctOWM0ZC0wOGJhMGM1Yzc1ZTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUE0MjFDNEU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUE0MjFDNEQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0YTNkM2NhZC1hNTg3LTc5NDEtYmJmMC05ZWE0NWI5MjZiZjciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjMTE1MjQ2YS02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz76IuINAAAAwFBMVEX19fWIiJGipcvn5+lGRlVBR5tmZnKYmKDeKkQzOpXV1dj29varSXP/S1X///6UlsT/Rkj1m6JXV2QqRaP0////KDS4t70gKIwbR6r25OXAwMWkpKve3uA3SJ92doFLUqLx8fJnbK6vr7Xr7O3QQmD09PTOztH2cXzmSl3+WmQVHIX19PRSPIpaSJL+U1v1+vr28PH5+fj09Pb19fTc3er39vX19vWNR3xrSI3s9fj67ev19veBf7b09fX19PU5KIE0yITKAAACp0lEQVR42sSWDW+bMBCGYRwwKDiG8A1JCAynCW1SVtpsTbf9/38126FtQOVj6qReJBAi9+D3zn5tobr6UFTCZ8cV/f1fgCTqQ/9PxGQEEEMsFH3phZCBOgzQQZFA7AOokCyBDAIUSFTIPO+99MjzQJQA8gEAFaCDmsCyeT45NA7Ngwh6DCSDtB9ABeQ25AqwQpaPNLkMwzt6eyxZAcFmbwsl6gVwAeRcqNJxQmuzNc3txgopiY9P1UFMQOkBFDFkXIByzrew62Ia9GodnPK3ICxVqiPyQE3fBahUADQCSifcuthsArv70OE1YiKk5UUvLwGRSMRGQOk8Yde8CBeHTIXKK0zEqK8LjcLicNi28s29uz8xwhJ0tdXHDiAVuIBHx2rnszFYzol3Ik0Hp7KX0QvKr3EXgDEvA38/thp/oexrOxefhzB1OVfO8wUAXxuGQUfkbl7n5BgA/Vx9e2uhsQiCYH408f7OmQqQguMLAB+DuSzLi+AHNsPpgMW8GQI2goXMIzDwdICw8ucGr50xb/Ll+c3+aSqgQmt/Edwej8fbl+9TEX82aGoRC/TFp59ktZPlN4CFprQx8vhEkjW5E9pNyABds+oAivNUfkCzXRewm6ErPpUHASDqfDGhauW38335OyrYYiL9i4moZMlsL2YESWsRfK1m+TH3G/rHfkOxJZuJuEf1avdaB20n1+hsuonSbygpNXQCnsRFUBXPmu9rNOj1+YTuC25pGUQRiHmvqZLEy1X+gQKherZeyfJqPasRGz9NFqUoIa06dm3dppDG1osHhFBe1zm9PRSvti5Idr+t0zLE5HJjqWgyqi43liiz09GtzevazotZRaNbm0DGN9doeCpTEUI6tL2LowcMMnTA0EcPGP9+xBE+GUBb/cGD5l8BBgCj/UlQMP6JmwAAAABJRU5ErkJggg==\\\")}.ui-flag.KW,.ui-flag.kw,.ui-flag.KWT,.ui-flag.kwt{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2MWQyMmYyZS1kNWZlLTQzNGYtOTMwNy1lNTA0MTcyMmZlN2IiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0YzMzI0Njg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0YzMzI0Njc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyYzM1NjFkMS02NGViLWVhNGMtYWQyZS1lYTNhMmFkNGE2ZjciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4NGNhZGFjNC02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6BhBhzAAAAwFBMVEX/S1VzrwD19fVGRlU9MGYwRVV6sw3/+/9oqQD/VF6hSFXWfIUoKTx7e4dceS3/PknLTFf27O30///v8upPT17/V2F9xQH5+Pd2tgBBOl5KRlUfRVX/TFWCuhdsR1VURlVnkxz29vZ7sw9HSFNyrQB5vQBIS05HRlXx9OxGR1REQFpwqQxyrgBzrgBxrhCcx0tSYz9vohZMU0tPUFxQXUJ3uAL/SlT0TVf5S1X6TFX/SFHdS1VFRVY+RlVGRVaMn2+87ufBAAABDUlEQVR42uzTW1PCMBQE4OBJUW6KggESEKWFWkS5iTdA/v+/omUKJowPnu34xr7vNzk7E7HJq3yGjIWcPanccw6OmMvhvWoGaL8n6n5LXqp+gAPkD+VkoQIcoGglB+gQO4DIly1wiBQgeIg9kA4xwgGKvndDjGAAHMIGoCEcIBniddG/4OTFASgiOZh2eox0XCB+RLnSeKwxcgxQuXLOym9A4+zveTgBJ+DfgBtOjgEdf6ZrTlwgDI2uFji5dQC9NnfvX1ecvNmA9kyx3Ras2C/Qnldk1m0gJKOX7P4PkJz/we8fAOR8Cwjj86tIPQXA8w9Acv4n2E8A+Pw9YNDzU8B0lxn6cUqFTCltBRgAmm5AHuiZXqcAAAAASUVORK5CYII=\\\")}.ui-flag.CYM,.ui-flag.cym,.ui-flag.KY,.ui-flag.ky{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1NWQ1NzMwZi05MjU5LTE4NDMtOGU0OC03NzA0NTJjZWNhMjYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkEzMTY5NzY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkEzMTY5NzU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NTExZmU5ZC02YzkyLTQ3NGYtYjU0Ny04ODZjMWI1YjFlMWIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3YjUwYWZhNy02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz46zthgAAAAwFBMVEVBR5suMHisqczoeYdwcq+OkcD61NZMUaGdkHr//v3+iZBnpw//S1Xi2af70Vn84uPP0OP8dHx8gLj+pakzOpT7wsX588uGsxlESpxYklv+uFiYTH4jKoz/dVbujGnExNs6QZd5eIhzSotcWZUKEX8vNZHk4urqzWK/q3DBTm8ZIIb9mljHxljOlGn7+OL/4FpITZxSWnfabmT9YWahtkjNkalKU5AoL48+RJm5u9fjmaX57u5ARprXzXtlaqz19fXgp1H+AAADEElEQVR42uyV63aiMBSFM5SrIgKiUkQDpSDGC1gvSGPh/d9qTkArds3U0f6dvWQtNMmXnXOJyOgrWHJtCZRauKWqLf2QVt/cFIvq00s19FeZqKW2lNJ0MxuhQ8gAhm55CNmZa5YwRqUQfS+zr6pgIiWeXQNaALA9gvK+uhFL0zp8u1xC2THvMROC6x7PgANsTw21p+SIHO0bACkjvLhhJiTi1oCMpBi279L6ZLcA9oF4XE81qCK8cgyQk9P2HjncWg8AK8sy8irhDVuiVw5yhtODV5JlbnbzCHyltND7kFCFART2FsFP1Yh9FcQ0CNIvgG4tUaRUFEWWxtPraSBopNFO/Tj2U/sKoN7QzLrMDmINFAcPA/bxYrudxvtHAe32M9P+OgbiSX2RBcKoYlC9ntSIwfq5JjyvmwCzUsDrigjBr7Kg9Fo04oN6xPYus9dtMAHPvgkIXRfqwMalobZwXQeYQhdhCerAhfpuxHzvo0hA8vBLJR6JxSmsdAVyqkRBEaHDOO+qEXhut8PFTiy4/o7jG4CQFBErXT249IKkK1CNEU/CC2FnTNSxNh474/HGMBvd6HFsMhWyRje6maB0ocPyhomd4TiaNgc5zqQBMCM2U5eIdX0fSLg2YR0/AaqjJdo8SZwrB/X2rstupEy/3Egu3EjsZC/nNO6elo62eXPG6nLeBDypfbgJPGb0EObMAWYABCZSXPY2o3Mau3TiULqZU/r2RvMLYDSTwvO1cZRGs9lIOpm2s1AKRi/nGOhlWa7gKQfwcBeAHYbeeY5thRZ8PpvPa4yhgh90tmtK19uPTtFMI/pHCcJ62F6QX9v20BfMRwB6vtgO8ryzXeT6I4CCW62KYjDw+dWKK+4FBP5y9s6HoTwcylbIv8+W/n0AOUnGkw6vDNrtgcLjyTiZ3nkEIGidCONOB+OooyXJvQ5gSSIL5hpyYQpASzT5LoAfTwEhm0JRCCasn05j/94ssFMk04+PKfOCHkgjpEJmi5OpHKDHACj15TiW/es/lnsAf/53/g/4OeDHMqUfyfwtwAC1anDKnS/E+wAAAABJRU5ErkJggg==\\\")}.ui-flag.KAZ,.ui-flag.kaz,.ui-flag.KZ,.ui-flag.kz{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3ZWFjMWQ3NC02MzFlLTYwNDUtYTUyZC1jZDZhOWMwMzM3OWIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0VCQjIwQUQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0VCQjIwQUM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0YmUzOTFlYy04YjdmLWUxNDktOTVmOS01OGMwYWRjNWQyZDgiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxYTBhZWFkMC02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6im7R8AAAAwFBMVEWCw9KIxtT/4VqKx9Xt3WvC0pWbybrF05LZ2H6yzqS+0ZnI1I/132Stzane2XqHxM3M1YvL1I2XyL60z6LR1oa50J2Sx8PX14DV14KhyrSpzK3i2nbT1oTO1Ym70ZuKxcqrzaqeyreQxsS30J/m23KDw9GPxsazz6Pc2XzP1oiiy7Om1N+nzK7g2XmExNCMxci/0peIxczw3Wj+4Vuky7HD05SUx8GVyMCEw9Dk2nTp3G/64F+p1uCwzqb84F220KDHZdR2AAACYUlEQVR42qSWaXPaMBCGN6qxhIVvWTa+zWkcDAZCDlqa//+v6kySUgeZdqr9Ysk7emalfVcr+HEnZfcgbXdyy7+9AUw9ejBlAEtM8FIGYMWUHGUAtCyNRgpAiBzAii2CZQCht0pzqTQOcq3Hn411D+vcvA2orISqQvfationX1M8vglIk2g1FXmXrJpvVceE1A9vAsqoFghp5zJwIoTQIYEiyG8BfINcA+Y8mKvo3UaQ24t+gGYZiXftm64BfVoETdEPWDOSXJ8St7n2G4B4qG3604h1gRCfrE10AQwd2+wFFK7tdiN4aA9dPcPpAsCbYQawUIUAmzG/U40OPemwaKC+APRJMwfVYqawFoy4Hvz5dzhjijmx1PMFkLnpc0biqBEBcFD7XS1bI1SB58Loc33yTMfgoD1RhVtY0aATwSL4iV5aDN/u39eX4KbtvB1wEcA7Brijgwx/V9oQCn+7GezRYabDcuWAM1IOp0IEyFLd6x5OiGZ8BvMxc03ITNjZSRv6qaiROAsOHeCuUDlF47xuPRobhtordR2AyG2F6QgBU//kf60FBcHRaL+TIj8Xc4DHEwbjOoCPWvCN0v3iUBEFe7b+mG0axYUjsnqU6MWlP/zqeUR7UOkxrXiIWYDbOwFN+6Tc2ERQjRyzNF3pAfK9Apzl1A17a+EcRLHIu9W9/KhU7UgfKaXWX84Zfe1rTATtKavLNzEF/QC+bM5cDKg2g/cLhe5uNpagv7FMHnS92P6lMxHLGMg0liF7iaU6U0JoLdUbKbN9qS3w6b4vC/8GgII+/f8jS9ruJR+avwQYAJWAMtoMFV3lAAAAAElFTkSuQmCC\\\")}.ui-flag.LA,.ui-flag.la,.ui-flag.LAO,.ui-flag.lao{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3YWQxYmQxNy0xNjFmLTFhNGMtYTY2Ni05ZDUyNWM3YzY2MzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDAyMDQxOUI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDAyMDQxOUE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2M2Q0MDQ0Ny0yOWNmLWM2NDYtYWRmZi01YzVjZWY2MGJjM2IiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3MGFkYzRkOS02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4tsmODAAAAwFBMVEVBR5v/S1X19fX/VF6KUoqMVoz///+4udWWmcYlLI1VWqVLUKAtM5FNU6HR0uM9Q5nk5e7Cw9xFSp0eJYlCSJz/VmD09PSqrdCSWY39/fvc3erq6/H19fQgJ4oyOZQ2PJb09PUxOJP///40OpT/gon///z/foVITZ+eocsqMI9ARpovNpJARpsnLo7/U11bYKg5P5eMVYxCSJs6QJePVoz6+vc/RZr29vX29fX7+/j/Vl/8/Pmjps3W1+aws9TIyuCbL21EAAABUUlEQVR42uyWbVOCQBDH6awNiQKOUxQ9njSVp0gzykz5/t9KsqakCZr1ml40/Rlecfebu93/LiuNW0IaSyeCkm7E9j9JLTFA5y8AhLOwPBXSUhLWtPFromlJ44KL8qnTgvk8dZyU+2xRu+iyHkBdU5GNzcaQFdOleABN4+cAIChfsPyUYgE0zG1Yd0mp7gp0WkeoA7BRrMN++x4BA8dnuBNwCx7Iu4ZwzhMUIFau+94HwOsHmYoCcBkeCTk8gswxgDw1wDsEEDDUHAHQRldAqoDN7d1vAr64QoG6wksQyacgmqgsqNU0knWQhUgjbWFYNVKEs7LjV63sxkgrl9Wjw+q1mO5hMG1TfDk7FryV89Zt0yMayshUZoVtF7PMdI5oKGUcWMxD1w15zFhDS2tuqpGmRd80VWH15mcCmvfEf23/80FHdMj6gQFjIjZoTnYCDAB8HCWj/d84lwAAAABJRU5ErkJggg==\\\")}.ui-flag.LB,.ui-flag.lb,.ui-flag.LBN,.ui-flag.lbn{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmNjAwMzQ5ZC1jYWRmLTRjNGYtOGE0Yy00N2I1YzUwMWYxODMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDEwRkQwODI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDEwRkQwODE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4ZDkyOWQ3Yy1mZWRlLTY3NDItODQxMC1hNTk5MjU4MmNiNDQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowOGUwMGU2Ny02ZWFlLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz70xX3WAAAAwFBMVEX19fX/S1X/VF5yrwCZxE6ny2iEuCV1sAXU5Ljl7dP4vsLu8uXC2pW814x9tSpbogD5v8JhpQBsqwD9+v7////29vbd6cd9tBaKvDL49/qhyFxwrRv39vlmqACx0XX6+f3/VmDy8vD19vL6+fo1jgDSqnmrlzH09PSRwDn/xcj/gon19PZMmQBvrQr/foX5vcD/U135v8Pz8/OYjC2Ctx6Ovkbx9Oz4v8P29/T29faTwUB1sA7H3aDr8N/09PWx0m8XnK2dAAAByUlEQVR42uyWW1ujMBCGo2k4LISYzCwnG9FSxWq1irVuW1n//78ytI/77EWLHG79uAokL8l8wzDk7nSQ7sjJQJGnYesvyekPYLgLi1+Nms2any9Ik4o1AuC6ID1VAjpB4CCUx+f8NtdRQRULKUXsQj9AiatAUaoCD8teAHBeI2oUvTqw7gG4Rz+waoAVcOwDSFw+2u9gxN28OyBBdr7cA5bnDLOOgGKMJPTT3RGWIz+cYFJ0AuR/NsZBRXdSxsvbSdYFUCJesHRj2fV629qk7AIPe3kYUIDH0tjWUmhqayG1HafMw6I1AFZqOhcquv1gSqUfm0iJ+VR70B5wxbhTJQDZu5Z+DpBUIWdtAWWGkIHn8DTeakmp1ts45Y5nbmJWtgDkHosjJYU5+pcLuh6pKGZV3gKA79P5l4H/S8n51McWgITUCWTeqf9RlDY7oNbInyQtACYJcR8CW8o6DbS090FAHBctE2lsJiOsQqZNENNwtRuOu9YDQwnNFqRzZO33Je0vckGp4HjfVNIaajJWW3ME9eBiv7oM7laar8mWD2FDVSVnb2eH9Ty7frnZ6eV69nxk0tti+K/tpz+4HN5kDXbhcVij+fgpwACi8zYRCXEU9wAAAABJRU5ErkJggg==\\\")}.ui-flag.LC,.ui-flag.lc,.ui-flag.LCA,.ui-flag.lca{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjOGJkYzM0OC03NzFlLTMzNDgtOWJiNC0xOTdkMGNmZTZmMmYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUJGRTFGODY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUJGRTFGODU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5NjExZjQ4ZC1jYWRjLTZhNDgtOGIzNC0wM2NkYTMwZTEwNDYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4YjlkMzI4Mi02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4yuQKkAAAAwFBMVEU8yP8mxP//4C5HRlX///7t2lpx1PkiIjRGy//I6PX/4Vr//VvJyMy0tLk6OkqG2flvbnK04/gVv//n5ucICjT+5ECfn6hIy/9Yzfz95HIvxf///PY4yP9YWGb/7JLR23eLi5YdwP/L2oeum1mAcU81NlU9yP8+yP8oLFUdJFPy9PT/71t7eoTr7/E7x/1kWlbgx0vEsVn59/b/8aFRRjOU3vyi3/c9yf/c6vf7+/0ZHkzd3N59hK3/4VgsLD0yMkMgVsIKAAACJ0lEQVR42qTW63KiQBAFYIdpUcEr0WgGvBB1BkSMwRgkF3n/t9qG2trayAxG7L+mv+rKGU9Z05t3jV67e5qlnwrGxJX1UoCzyYTxsr8YlwOxNWhZ4g6AsShyWHUgtnq23bPiyoBDTrZ9Yk5VQLi6DWDrrqh6gTuATgdabsULOJnYMJ2CPXF5JUBY7/CQnj9hYFUD2G4Di0ZjARtBeAVAWD3Y0G6XhnBUP6YSwGEhdBqUNh4hZOx2ADMEmJ4pTacJ6MoTSi5wW9DGA/CELEnnVoC7mOE2B8797DHxGwH8HsJn2s0AmpYkqQI4ERFmmO/TxhaisSJJFRBbRwgxQrpeU4zyAd4V/0YVwJwQHvEAf7n08yQ3O3YLEFs6JNOU+ivTXPk0pRH05CcoACyC7BH5L0EQmC9+luSJOL8HeFYE/bNHDdMwzIB6mCTIk1RcgBm2U29dx30U6l3v3FbUghTgZBzBdujt830U9uvhFmtBlqQcyIvg4/XvPgqvvqoWpADjWATD5b99FJbDBURN8jsgzorAW5mB8Z+w8kOQFbwMyDL8evuxbwTm25e0FiSAwEd06td/7KMw6p9ktSC7ICuCvWlcjLlvy2qhCGARJMnTyCjMyIigWPASAB+RbB+FJxi41y8gzWSmGdLRZkmhFgqAsI4H7VsOfGuHQsEXANY8aCPlaLMxuQIQfT5/Vs58rl8DxI6Uzi6+BC5DqDmlUyt8oe79oflHgAEAxjNKCDj2hJ0AAAAASUVORK5CYII=\\\")}.ui-flag.LI,.ui-flag.li,.ui-flag.LIE,.ui-flag.lie{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo5MTkzZGZhYy04ZjJkLTMxNDYtYTRmYi0zNjk3NTYyYWYwM2QiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDIyMkZGM0Y5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDIyMkZGM0U5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0YzgxNzA4Yi1hNjI3LTljNGYtOTQyNC04MGQzNDlmNzMwYzIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoyOTM4YmE0Ny02ZWE4LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4x5xBqAAAAwFBMVEX/S1VBR5tsaGkqNKNqZlb/VF5+fFNLUKD/41n0TFr/S08zR6A9Q5z+VmBLSJiMiVMdKafRxVORiVX121nItVhTVH6rmlhDSZpmZHa8qVhNU6HnzlljYXSzoVgjLqaIfmVKTYo2Pp+ak1RvamICELOhkldGRlVcWVaklVh4cnRFSpO0p1bArVm4plj/foVVUp9KR5hzb1inp1HXv1l5fbhgYG69vFBXWYt3cW5iX398gLpAU6YuOKLw1Fo9UKWvn1heHLjgAAABO0lEQVR42uzTXVeCMBjA8cUe5qqZE2iTkMFEEg1UJCoL8/t/q148vdzO3fK/2dnFfmdnL+h1YNUjurAMDf5NMJOm6+/+AMnwnml5PsDYEhKpzwUY06u6rp87xs4AJFO4U3Pm7eeqw8rkJL4BqfEE6myajZM2q8HpDE7itAPlwM4jBBZAyGhXZ5iZAfh2EYi4Co+iiKsqb2CqzADeklKUYVUFR1EGohxl3AxQLZRxXog89HKRi4A4psDUqyCKgFAPGh/E7MUQ0GnpB4U4BFBG1ayJxntseI18WUdNQal3oHFIScJNH1KXPlDq+3508H1Knybc9B0wnMD9T+AxbfwX9Kp1slNOm2ppDEitOFdffQ6dNPpM79dWvaHN9sai7QYNL60aIvfKKhe5yKphD/RAD/TAL2Dd2rVq/SHAAATKMjpTKp8IAAAAAElFTkSuQmCC\\\")}.ui-flag.LK,.ui-flag.lk,.ui-flag.LKA,.ui-flag.lka{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1OTkzMDgxNS1lMjVlLWQxNDEtYjc3YS1kOGYzMjA2MzAzMDciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUI3MUU2MUQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUI3MUU2MUM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxZDUwNDM4Mi01MDhhLTdhNDItOWE2Ny00ODI1NjljZDQ1YTciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0NzVlYzdjMy02ZWE4LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4+o5y8AAAAwFBMVEWWPDyHUEbQqU//2Em1aUL/01D/hVCFJTl6RkfgtlD/1Fn/5FKEP0I+rpCJYUuVZ0qNs3aYkXJapYdvCzf/c1B7VkyYdU7/3FFwOUb/bEj3zVD/Z1BsSUzEnU///E68nFGie02sXECpgk63kU+xiU0/npCQPj7/c0+LPUCkUD5SSFPowVH/WUx5tXyoh1CAX03/34Osl1CTPD2ZeU+4pmjYyF1AnpCPbk7zvlAfn5uQOz2eb0qegE+EZk9yWE//7FFtuDwaAAACgElEQVR42qSWfVebMBTGk9RoYjOi07QdJkALZlmjjVIdUwr9/t9qvNR150xpXJ8/4dzfebgJz73g4fwoPQB8pMA5xqM3TXdqno+344PajjE+bwCj54tO90+nvX5N8RjNTw5qTsc94OLlttXL5d1Nq7vr0XT842pGzgZFZlfz7Q5w+7XVl8tv368b3Zzi6XQ+s1sBBuS2dnYyHgC4KIoH6nMURWIQcOYQMh8DGH0SZ8MA8CrJxwAiX8EhAAC6M/suoH11GNBalfmHLnwArOB9z7QxGhjGOWSfAkAEQVPByqBISlnHm1StAuYPMJlluoCwoKFNV0tFCKyrxwk0xhPAEGVGYazqyiXYFQEhhhFXTSrjC0AMyEmKQ4wyxQXewDzXRASB9gUoo+vlUtGqcutABummqqqgcP6foDRzKCmsVZNUaG0Y1M1prEvwCQckEBlKkmRN8u5maQY30PcUUNqYNcsaJVWaSl5yzstkRbsW+FxlEacQaG6Leu2yZP0nxxLmBzBNxwQgFGNELaL7IKTEtwfrWLLy3yS13gCKU8f7or8dKOYLqOsUF01xiPHaYqti1AFK33tgnKxDleJF4zqlEzhLsraTFnr/TEXJHK3qBrCqSeOb46ywuy/wAch4RXLCmAgt6YKFLbCUyBLt24PKsf5GhqJPWIhXBOKYeCdSV2+IoqK3TWgJCOK+Dvr85JnCRVcPeRoGToXeTewBwWLBYdcCWSVc1otSeDrYBXJuzNuI0U205m2+5j6A4cFyECAeB0cbeiTDABFFani4bskgQI6i4fEehfvx/vKz1X7BwN2CAYcXDLhfMJ7v/3PFQb2D95csL7VL1tFr3rGL5m8BBgDeO5GlB48ifwAAAABJRU5ErkJggg==\\\")}.ui-flag.LBR,.ui-flag.lbr,.ui-flag.LR,.ui-flag.lr{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozYTM0NTQ5Zi01MzYzLWM4NDgtYjNjOC03MTljNjljMzQzM2YiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDEwRkQwOEE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDEwRkQwODk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmNTdjODlmNy1jODFkLTRjNDAtOTk1YS00NmJiNGI4MzI3NTgiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo5N2Y1NDNjOS02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4Wn/aNAAAAwFBMVEX0///z///1+PisrtH/S1VLUaBBR5v/LjprcLH/Mz//MDv////5t7ra2uc4Ppf/VF7/QEv/SFL8golsSo3/NUH9cXn09PX8f4agUoH24+T/TVf5rLA9Q5ktNpMnR6ZFS536p6v9bHT23+H1+/r4vsH1/v0oLYwfJorj5Oz8w8Tq6/H/O0b1///94N4XH4b/Sk3/Pkf7+/n/V2D/NDn/NT4pMI+Njr/29vmOSX/e3+oaPaHGyN1bPohcSJEGDn76///UvwT/AAABWklEQVR42qTUW1eCQBSG4e0BnNw5oCakzjCVJoqGYomZHf7/vwrEWEvtYsb93HHzLljfDJBaZ4J7x4APwj4TfC3rBsC6CHRf3+60uWVAyDLwaKBXBpR1/JgJw59nfX8BySLFy8BI3yEgOI9TZDHnoghUtMEhoASXe6yF3Fb5u8xmY22zPDBJk90u2XqtaMs216zA7Rri1ksQ0+wbgu6yrc/JA4rHLEq8ZGfFQmWBhoF5sYKUESLuw3xJ2R0+6BsWgTDFaYrIJvZ1Kwg5bYlvy9uH2cOGYVLVVwQUExsVWkwc3wC0LY4nccOVraRUh7vQMfHfbWw0mtrmwLNzfOLj0zUwACbFqeDd5Ieyhmrr3MuTgT7gBYMN8hUWQLKAPhGsByRrqLskdZg3SVbQ8Uk69BWqRAAVEoAhEX0Fp03iwOqGxIXxLcmYvsKIiH4SezQ+fYU6EfgOif8rwAACPZ1KrCf1gAAAAABJRU5ErkJggg==\\\")}.ui-flag.LS,.ui-flag.ls,.ui-flag.LSO,.ui-flag.lso{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpkNThkYjgxMC1kMTg4LTY1NDktOWE3MC1jMTI0OWZkZDViMDAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDEwRkQwODY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDEwRkQwODU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpjYjQzNmZjMS04M2Y0LTdjNGQtYmFlMi0xZTgzZGRmNTJhMjQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3YjMxYTQyZS02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7v2IHRAAAAwFBMVEVzrwBBR5v19fV6sw1LUKBMUqFpqgAyOZTt7fH///z/+v/u8ei0r8P29vb///8mJjhHR1ajo6p8tBDJyc3Z2dxNU6E0NEWcnKPy8vP5+flUVGJ3d4K7u7v8/Ps+RJpxcXyaxkiCuBvExMhpaXVZWWdWXKfu7vL///1eXmvv8ulmZnPS0tVubnrs7PD///v+/v0fHzH8//X09PR6swz28v98gLrw6/qBgYt5fbjOztG/us5KUKByrw9BQVAvL0DX19nE2AzdAAAA7klEQVR42uzTy3aCMBSF4VMvbW3NBgpCAOMFELyjtlVrtb7/W5XlnAxypvzjfb61Mgh9d1id6YkZ/fLuu9ThAYMGaIAHMHphNaJZl9WM8ldNmxyQG90ip56mLTAcFtjqNiRa9QnlZpkbaidaAPckCNwVjIHSS8brxDMHRPiTpm7L/AkSnu+vIE2Bg8LJsmKogxkgFZydbe8CKGkEhNW9f7v5lRCaAAKOlUZ2lM3/HAgToHSi9TKOl+N5UGqAt/rwdelXXY7QjGjxXt8eKApgr9ksaNpmNaXrM6srtYnVRwM0wAP45ALsJrzPNPkXYAD1kyoewOaT3gAAAABJRU5ErkJggg==\\\")}.ui-flag.LT,.ui-flag.lt,.ui-flag.LTU,.ui-flag.ltu{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpkNDU4Yjc2Yy1hMmE0LTVhNDYtYmZhMy1mOTA4OTlmM2U0MTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDJCM0VGM0U5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDIyMkZGNDI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxNjE2NzdmYi1iZDFhLWJmNDMtODY2Yi1iNzllZGFmZGI0NDgiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0NGRjZDhkNi02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5zoq8uAAAAdVBMVEX/4Vr/S1VzrwD/VF7/42L/5WH4UFF5sQR6qgRotwBpqwD23lT/Q1z/VmB8tBB6sw3/42T/52v/T2b/6o1wuw3/5mn34F//f4b4W1z/U12BrhGBthSAtRGCrxT/TWT/fIRxvBD/4mJxrw324F3/6otysBD4WVrpMUENAAAAYklEQVR42uzMxRHAMBAEwZUlMzMz5B+iq5zC+nn9n0FpKBdoO5dnMDKQwR+D2qbkOENKg8mljDgCyo3UoiQykME/g8qnbBg8yozHoXRYIkoBrSixDGTwDXp2oEhoNWV9BRgAmucej/qNEuAAAAAASUVORK5CYII=\\\")}.ui-flag.LU,.ui-flag.lu,.ui-flag.LUX,.ui-flag.lux{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2OGFlODI2MS0zOGZhLTZkNDEtYmM1OC0wMDFkZTkzOGZmZDAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDJCM0VGNDI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDJCM0VGNDE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxZjI2Mzk2YS0wZGYwLTE1NDUtYWUyZi04MGQzMjg5MGYzYWQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjMjBiMTg5OC02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz56eT/rAAAAaVBMVEX/S1WCr//19fWIs///VF7+Vl/0//+Is/717e7v8fZ5qv/++vT/PUj29vaKtP//VmD++vX27u/1//+PuP7w8vekxf+mxv//U13/R1H+YWnw8vb+X2eBr///g4r/SVP/Vl+Arv+Ot/7/gIfhWiggAAAAYklEQVR42uzMxxHAIBAEwUUg7wB5b/IPUlVKYXle/2dwGMoL2sTlFww3aGUgg38wV5QTW0xZ4DKKg08oHnVEqWUggzADW1Is1pzS40kpHe6CskMrSiMDGYQZKBJGTRk+AQYAC14eFnUedt0AAAAASUVORK5CYII=\\\")}.ui-flag.LV,.ui-flag.lv,.ui-flag.LVA,.ui-flag.lva{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplOWNjMmQ2NC05YTVlLTY0NGMtYjhhYy00NmNmNDYzMGM5ZGEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDAyMDQxOUY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDAyMDQxOUU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmN2U1ZDFhMi0zZTQyLWQ4NDYtYTE4MC04NWU5MmQzZmYzM2IiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo5YzVhMmZlNy02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4+SO0wAAAAYFBMVEXIQUv19fXLS1T6///7///t1dfGN0LGOUTGOUPHP0nv3N7LTVb19PT19vb29vbLSlPv3d7KRU/u19nKSVLJQ03KRE7YeYDXdXzw3uDJQ07ZfIPJQUzLTFbKRVDYd3/5//8zuWhUAAAAX0lEQVR42uzWtxHAQAwDQehf3ntv+u9SiTq4TMPNeSGG2h0yC2vY+SnHAoUFLPCXwJYgl8YU6dRHjELGqw6IqvxDwDOP1pxoWw0Z4nTEyGR7YAELfIGGBrCbPZrLK8AAkEASEay+eZgAAAAASUVORK5CYII=\\\")}.ui-flag.LBY,.ui-flag.lby,.ui-flag.LY,.ui-flag.ly{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplNTA2OTRjZS1iMmEzLWYwNDUtOGFhMi05YWIyNTYwODdlODQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDIyMkZGM0I5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDIyMkZGM0E5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ZGQxNDZlNS01NTkwLWJjNGMtOGNjMC0zZDBlYzE2YWQ3YzEiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo5YWRhNDI3Zi02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7tt/UPAAAAwFBMVEVGRlX/S1VzrwD/VF56sw1IS1E1RlVXRlVxqgR2twBDPlz7S1X19fVmZnJPT15SUmCDg42lpazGxsqdnaT/VmC1tbrT09Z8tBBiYm56eoTLy87/gom4uL1JSVju7u7y8vKaxkhSVVuNjZZ5rxOTk5xOSWVHR1bW1tlZWWZfX2xzc37Dw8fZ2dt+vA//U13h4eNgT14/T177VV+7u8DPz9JCUmBiUmBMTFtXV2Wxsbf/Vl96swz09PRVVWPn5+jf3+EWMSXhAAAA8UlEQVR42uyTyVbCQBRES0AFqWBIIBKZ5yGggoIIDv//VzQeYMkhXSxYcFfdi779RpSTEmXciOBFe79CUhMUroKLEMyyEjO83UssML2TmCMHicfjAsePgqhlLyiSrPWDKOzZCfrkh7ONw7UTmP+fd8fSyEIwJOufewGHyI1iCnyyeLjwL08/pqBC7uq/dL/q5DusBeGr6QZdCCk4NX4zFIoIVn46cWuwzWHfxoFXtZiD3tgYSv+DtLSbxKqJgb+BGWX7Zcp7Y68jbOMp69x9kOiieSvRRDst0cYkIzFBKiHxdBWcQ7BWBQkRNFISjY0AAwDGBigi+LCXpwAAAABJRU5ErkJggg==\\\")}.ui-flag.MA,.ui-flag.ma,.ui-flag.MAR,.ui-flag.mar{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3MzY0ZmM1Ni1lMTkwLWJiNGItODFlZC1lYmMyZTFhOGRlODgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDhDNkQ2MTY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDgzMzYzRkU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpkODFkNWZlYi1hODY5LTNiNGItOWM4MC1jZjJiMzhhZDM1OGYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDphMzk3N2JiNC02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6BvBc/AAAAwFBMVEX/S1X/VF7/PVa2Y1Mrkk//VmD/QFZThFD/TFVsfVGdbFLjU1QklE7/SVWGc1F+dlFPhlA1j0//RVa5X1PqUlRbglC7YlOXblI5jU9Fik/JXFSialNzelBBi0//R1X/Q1byTVW/X1PdVFTSW1SLclKvZVNfgFBJiE8/i09Mh1DTV1T/SlVKiFD/RlbZWVT/gon/foU8jE9HiVBmflCoaFL/U115eFEwkU+MbVL5R1b/SFb/Vl+QcFL+S1X7TFX8R1UrEHU5AAAByklEQVR42tTWa2+bMBQGYGq8gwkmYIcGKAFy4+Km0HJpsrFs/f//qmzKJk1rJFxLu5xPxpIfYZ+Xi/Z4o1SPmnI9qy3/rN2oAR/+eYDYNvm7d5Au9VQJAGcFKsBg3xpaogCkdVjuQAGAWRD4CsBgm2HbfUneDaTbwnXbGt4NQE/PZxpJAsSGS6HUpOuvtEvRj5nfY/kGkFh+v9S/1aJ33Uw3RLT4frnsfSuZANhrH9O4jBnFce5i7OYxpmycoPi8HiZtAW07ZhjORycXpuOYIh+HhsHyLRrItEOE6hw0q0+DCD0Ar2i1l2PJ9i8wuQuEw8Kl5r45VsnAnWBuUqEDJ9PbOHbCW+G20REhaNm02LTg7RfD1RwQ4LMH0d0jdG+KwudAZINE0K4Up3CxabFo7hCRTuKBO3iWFXHcZhE+VrY0wL2HNvFEHIstF6GVSgOQ4WMv2GrF2sjBGUgD6bzMg9M84fsTy2OHHyQBvr41miIDzkEXgWF4XBKADWOmhWwyJtsy2UkHOeAwPsmzS/NJyiPaXdnDNYDXxgaqS/NJgu7cXSoFJLUHh5/hIRp4dSIFkKH6JXukGsh/+nn/E8CzKqBcT2o/mk+vAgwAVCYpQ9VOLmwAAAAASUVORK5CYII=\\\")}.ui-flag.MC,.ui-flag.mc,.ui-flag.MCO,.ui-flag.mco{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3Yjg2ZThmZS0yMDk2LWU4NGQtOTE5My1mMWFkYThhZTRiNGEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDc2NzE3NkU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDc2NzE3NkQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDphODZlY2U5MC1kZWE5LTU1NGItYTk4My1lYzk5OTZkOWMxNmIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpiMWQ3OTk0ZC02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4K4IYYAAAAQlBMVEX19fX/S1X29vb/VF726+v0////Pkn+VF3/VmD+U1z1///4+Pj+XGX27Oz/SFL+Xmf/g4r/U1337Oz/SlT/Vl//gIclw4vZAAAAT0lEQVR42uzMxw3AMBDEQPrkJMk59N+qi9iHAWH553AkqZdOjFP7H5IGzAYMGGgH2EapmyVPQnln7aUuyiBVCKTCgAED7QD8DEANqfoJMABV5gyuHWYAPQAAAABJRU5ErkJggg==\\\")}.ui-flag.MD,.ui-flag.md,.ui-flag.MDA,.ui-flag.mda{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxMDgxNGM2My00NmNmLTFjNGEtYmJhZS0wMTNkYWU5ZTg3MjIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDc2NzE3NkE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDc2NzE3Njk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmMTlhYjE3Mi02NGFkLTBiNDQtODE3OS0wZDg5MTliM2FjZTkiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDplOTc5OTk3Mi02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5Of8ZlAAAAwFBMVEVBR5v/S1X/4VonM6T/42KnniK0uiy5qXP/VF6EbIT/2lr/1Fr/+VtLUKD/zFr/cFX/s1j/xFr/mFdrbY3/pVn/SVX/+0//OFQ/RZzRtmr/VmDAnTH/vVqzlHSZfHxLVZj+zFb/31rr0mH/4lr9vlf0x1Pzu10iRab/t2H/Ql3/41n/0VbVvkD/zk//3VH/0k9bU5K/2jf/RFXFwDPvwFDut11BSpz/41d3fLj/6Vp8gLrw0FH/foYXQarzs1L/WFRE06/FAAABQklEQVR42uzW23KCMBAGYBurlI0ubKRWSkQCHijpufbc6vu/VddrOtNJuKz/hOHuy4ks6X2M2+kHo9NWRvXVWTtfvV8y6wdT0coovjg/aac37gZcHoEj8DeAKKXpBCgWfAEjQdiEHyPgMAxnADUZwf1bY6hGD0BzGgYkoNZo3AHSOrE8dtBJ7AUg1UolHKW0tB6ArOhR7RW3iIz0AQTtZcSREYEHIG1D+6VQSmgGQIIjcD1cNZSHqRBpOCfeCHIFsu0rLb43ZbnZTIg/Cuk6hWX2QPciT9PJPKT3mIwrUAyyIpwsynLxkhNqcF5EY7OnddgPglm4xthrG4eD4u45z9c3tkbwAAB3n1RMby2i9gKQszXN4SXJ+hxnEKud4SOhtQH0rEiAgARVh6IKiKbqVJWr5vhn+hdA52veW8eL5o8AAwBU0D9yvfVIGwAAAABJRU5ErkJggg==\\\")}.ui-flag.ME,.ui-flag.me,.ui-flag.MNE,.ui-flag.mne{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmOGVlYmQ3My1hZjg0LTE2NDUtYmE1Yi0xOTRjMjBmZTU4NjciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDgzMzYzRjc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDgzMzYzRjY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5NjY4NDZiMi03YzlhLWU3NDAtOGFkYS0yYThkNDA3NzcxMDAiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3YzQ3MjQ2Mi02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7zWNX5AAAAwFBMVEXIQUvmtDLbiDzSZ0PNsyfOWkbovD3ovDDoujzelDnQX0TpwS/EMU7DL0/gmzhzaHtNT5R5uwDYfT6YembLTEnNVEe1pDGneVvkrDSmkTzlsTO6mU7hTTvVckCoiV5tYIbtym6MamyOd2rJRkq0i1TfojfIQ0vAlEzEQU2/HVPnuDzSQUXMT0jeQD7WV0LKQUrJQUrAnji7RFLouzHMZUaZmDyBvwOgpRc4NbaSgEFUSaFqSIPjgzeEbH2BeXOplVhwa62JAAACAklEQVR42ryWXXejIBCGGdAYaEstSiRkaZsYzZdpu5v9brf7///VDnizl6Ln9L1RPGceh2FmGPJ4nE/Q8ZEAZFejlQGQY+a0GCntLnMyv9KHm5E6lNkMAeKGjNR1+gEAzSYCGJ8EaJUFricAqKWKGzYG0P+WKueEVOFDGQNoBQ1PB8ZA0/lXpWIAHQ+xa1unlNKk9c4YMRzQMmlT4gzIMgTCoj+NVfVgQE0lKKIpAMavtNAIkkLDxVBAq7kBq0mHhJpw4CkhEoxk5VAPRAMoPAgOToPBEPgPxumBgJoZDzA1USA5SA9CWZUOBHTOWm/Byqoo1tWG1RAAlMV5IEmV55vbPF9r13sghsZAN94Dqar7DaweijWnYUusHghweIpB2/cGVrebql/JwYmkleoJRb4Fg4geEJGJHUuDycPP+99/trsiLGhMLfCOeZvFt8+/lsvlItg/RwEk6ZSkyfeghHL6dH572sdUY1/MsLi7+5Gg96f96+7LKaKhcIdVCNDQJOGYhs25Wv19PT8PB7iGCH/yvgYYltbb9h0pEQC0Buwk4TAU5ja3sPsaswUEOBJ2gf6HFvPpfNrHNFXh80b9l4IvL5FtnWHtpqEogy9jLxbcA+8mXW2KT7wb06mX64fMB/pwPVKHzgMyV6YjVbrLDMe8SzZaFxzzcNCcjRYOmv8EGAD/pz0p2mCG6wAAAABJRU5ErkJggg==\\\")}.ui-flag.MDG,.ui-flag.mdg,.ui-flag.MG,.ui-flag.mg{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpkNjNmYmZmMy01NjgwLTIzNGEtOWFkMy1kMmE2MjA4YWIzYzciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDM5RDkyRDk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDM5RDkyRDg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxN2JlY2I2Ny05ZjU5LWEzNGQtOTQ2ZS1kYzE0YjA4ZTY4OTIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3MDJiYTczNC02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6KAVdjAAAAnFBMVEX19fX/S1VzrwD29vZotwD/Q1v/VF56sw18qgf5UVL/+//26ers8OT0//9qqgD/P0l5sgr/Ulx8tBD/VmD1///4+Pj/S2KErxZ/thf++//36Op8qQZeswD26uv/gIf/T2X5XF3/Vl//SVKZxUbt8OTz///5V1h0pQZtugL/N09xuw9yrg3t8eX5UFGBrRD/UVv/W2T4RUbr8eR4sgkLnFBtAAAAg0lEQVR42uzWRxKCABAF0RFUFAwgQQwEyUhQ4f534wDO4ldZbqjpA7x1k6t+5QTvZA0WEtPeeB0XaDxgwcCD1N8AWwABBJg1kF+9egUWcYBjFJ8tVhdzwCXryw3W7cwB+lDdl2BPFtiZBwXsJIAAAswHoL8AIwwoxIym3vqNBpZOAgwAiw0d5NriA/YAAAAASUVORK5CYII=\\\")}.ui-flag.MH,.ui-flag.mh,.ui-flag.MHL,.ui-flag.mhl{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo5ZTA2NWE2Mi0yMDUwLTIyNDctYjNhNi0xNDFlNDg3ZDllMDAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDUxODk2NTU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDUxODk2NTQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmOTgzN2NiYi00MjY1LWZhNDMtOWI5ZS05NDM1NGMyYjkwZjkiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo5NzI0NmU5Yy02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7gELDvAAAAwFBMVEVBR5tLUaD/izM6QZprcLD/qUeytdX7yp6gc3T/nFX///709PVDSZzQ1OgoPKb2uYs2PJWRlcTz/v/8qG0iKYz/lUrQjGIaNars7PH24dARGIMcI4jExt39/feHi74vNpJsW4r49uhbVJTnl1nj5O1HTJxcYan41ry6gWrThFJARptCSJt3YYaGZ36fost5fbcpMI8+RJr16+D19/hAR5tTWKT/kD7a3evm9P/5+PegsOFST5VTS449Rp9FSJpfVpBoZdGWAAADEElEQVR42pyWa3+bIBTGIZAbmAxb27hodGujW3VDWGaydmv7/b/VQPDW5lrfJfk9zzn5H84joIAff5L5HQcffnKwmP+cDgHsfilRfq7+Zb64ux0Op30DJ8nOlD8v0ETJp30DWRbovPbnix/3Wt4zyCRLOZLydHm0SL4Pjb5rkCCBQ8Ckc6L67wredNo3cBQ/LAqfQcyQzI/Ce72ty98MrmsDVIIlxykRPFpCKE/Dq+Q3Y9oYOCMIQ75xwyBymTwIb17D0/JPv66ujEGWZMuSFjPiEx6tRZA4B+D9reFZ+cZ2IBHmslDyzcqnScpTlO2FN2nkWy2n1BpIJuIiHPmEUkp2o1EqYiTfw/tya7tX8s+6ujWQTpliXLpE65UDLdTHFIKsDy+ryw+211ZuDVBS8NAnK2ofn5Bd6GLQ9pCrk1ePfjBo5ZSuiDLIJUIAMW4tyKqIFZQOhQ687eD6WyPfELIKLUTmuCG3DHhYINbK86yB15M/EuLzklkDiaPApTuyITOaxlFnChre/Xs5ISQsQCCgPUgOWxbrMqT+I099GCCn7f7FdN+Vq+J0hEXA8hw2JxFykYbRqghF6tYzVPDs3twMpuONHnwFjuzcJPCqrWsMJGQBLzERUbSUdhdU+Sp0Kjk1cg1uhFkQ52bhGoNcyiT1ijUCqYqE3MAze9ORq97XvPS85i+2BpoDinEomf2xhletnJFX4FAgss62dw1AhnQiZd3QsTtTTy2twHVPOOxnIsSok9gduSo+cx0L7rCB7qJN7HblCHkc4bgBd8QgU/jq0DErZ6fWA3e0A11eh45ZOQuOBQIciMm3BhaeWbkW3OGg7htYePbUanCRE4hjGd03MIlt5Kr4Rh/3feAOGBh4Rk40OHgI3H4Dk9hWvtLgYnDGq7o2MPCqlatywvOYc9Zr1hhUiV1tbDW1rH/cTxtoeA9K3smJs+8pykDBe54MhmOTE54nnUsuOspAhY6RVzkB8stuShDM/z1o+R9enjO1PQaTrZLP3ubEBQbjr1dP6WXg+s/uCYo4+fBds/gvwACucmzvgGcOhgAAAABJRU5ErkJggg==\\\")}.ui-flag.MK,.ui-flag.mk,.ui-flag.MKD,.ui-flag.mkd{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiMDhiODkzNS1kNmJmLTVmNGUtOWQxMC0zMDE1OGQwNzdkYjkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTIxMDk4MTQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTIxMDk4MTM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3YjFmMzU0Yy0xMTI4LWFjNDEtYjlhOC03NjEyYjUxNWFlYmUiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4ODAzNzQwNi02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7Mtm2rAAAAwFBMVEX/S1X/4Vr/VF7/2lv/VmD/eVf/bVb/3Vr/uVn/yFn/aVb/TFX/wVn/VlX/g1f/UFX/nlj/jFf/Zlb/qVn/XVb/YFb/2Fr/xVn/pFj/z1n/fVf/1Vr/dFb/mlj/ZFb/TlX/4Fr/cVb/k3z/vVn/oVj/iVf/k1f/rFj/tFn/WVX/0Vn/U1X/Ylb/d1b/kFf/lVf/sVn/l1j/01r/21r/fVz/eV3/zFn/3lr/21v/0ln/U13/zlr/gF7/pVz/loD/0VoQJhqWAAAC8UlEQVR42pRW2WKiMBS9aYd9lUUBgWrdtVhbp44dO+3//9WEQALBMGPzxD05OQnJ3eDzCyn39fDv+PF2LtHzzw78h/IV9PoJkKuIDRe4EVRozqNZw1c9gN8AyZghLzw3LrGxwWFLRh7aAD/gDmM7n4F7jkwON+OgAaP6FlABACmm8KLNnhNiG7Epb5sQmwqAE9EZu0VfdA+VsO13wAsApKd6Tmr409IuGruoKTHDWgLwMK+nUwaFpekxU64JkQMiAbyhVhFkCjhDhJQdtfRq9pK2lvACYFRvPGGbmghp9PtJqXzFgX4BfMpRSVLC2lwhdKBeNSxntCnPvxIAeCY+EjAjq76s1xLPumyBAMj43Ojdos9WPatzwaApwy0ClbeeyK969Y0+aNd+/g8ByGcIjcoQcBCy6ss0PbhdAGA/QSb5B7uOiaWY1ysAoYpiA0Jdxw+ioVkOfQJv3sYQz72MDJf4HZiZmGFY3hvgR9+a6+hlkUxzq0Nwa8/twFY+TRbP0dqMsWuB0uQXdIyx1NJOvY3DIoFFg7PxUnsZHczLsbXkDPdINCbDd61IqSVNte1wIiQOewSwQiw1Amncsx4LnNurxprqu4NEDkkE5hTXS2sXyskg81Vt3Na6h1JFm63cvV3ogcPfVp2lVjzqBHph790VlsKT8CF3lzFfmj0QBd9Qn8UMJ5A/eh0pWJf53JNlfP4tUgP4picujkgrHayQqlBQBt8SCNd1OOJgKu/TwGlGzW8XGOB73u7a4eycropOvwApluMNn1BIQpp5twiQ2nUMWWrJ2ilx+V8Bz+TSciuphiRqulmtK7DsFIZ2WtcnggLOC+ijTmniC0tdmDS5TyC7Ko4h31/Q6HINkYA8ui7P3eJKi3NTXhoBV9QgkPI+ELUHc4MXSDVhizK/ymisQTlJLQHH7WmSBC1O0yJFOyKAm6wi7mvTLoImq2nS3qVSAMJDk1+iW9q85rho/QTweEK/aON4uK3R9JtG8/L4V4ABAMpGMtc8ZOodAAAAAElFTkSuQmCC\\\")}.ui-flag.ML,.ui-flag.ml,.ui-flag.MLI,.ui-flag.mli{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3ZDAwYzNjYi03NzQ1LTMyNDItYjMwZS1mZWYzMzNjN2E4NDEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDQ2MzM3MTg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDQ2MzM3MTc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiYWE0ZTY4My04ZTdhLTljNDEtYjBlMy1hYTExZTE2OGYwYjIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4N2IxYjljMi02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5hyTIxAAAAXVBMVEVzrwD/S1X/4Vp6sw3/SVX/s1hyrgD/6mn/OFT/+VvLzjpgqAH/VmD/VF7/42LLzjj/Ul5orQ7/Ql1fqADO0UR5sg16swz/63H/t2H/+WP/fIT/gIebxkn/Vl+eyE9xNYwmAAAAW0lEQVR42uzWxxGAMBAEwQPhnZAA4ck/TAJYPai6H7UTQL9HHgMtbl4HaN/82EOnRComW6ZQnVdZgkmIAG3zGbjF6ICOAAECBAgQIEDgj0DQAurNu3SjebwCDAA1NhpNjAJ0cAAAAABJRU5ErkJggg==\\\")}.ui-flag.MM,.ui-flag.mm,.ui-flag.MMR,.ui-flag.mmr{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmOGNjNzIxMy04MTAzLTc5NDktYTcyNC00NzhkNWI2NDNlY2YiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDhDNkQ2MUU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDhDNkQ2MUQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1ZDdjOTYxNS03NWM4LTI1NGQtODc1Yi1iMWI3N2Y1YTlkY2UiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1YzdhOGE1NS02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz69Z68iAAAAwFBMVEX/4Vr/S1X5o6hnqgBzrwD/5GLn7db+Kzb19fXz/v+Ethr//f9ZoQCjxl7/VF7/VWF9tBD/N0P23lR5sQSSvURQnQD5ub5otwD4UFF6qgT/Q1z09/709er+6o/9dHx1sADU5LH/4EL42zu41IX/30n/Pkz65On/RVB6sw3/TFZyrhP8hYz/T1jC2pj/4Vvw8uH39vr/4VhmmwH4Wlv34F7/4V795XT57PH29/j/SlRvswz76pzZ5sD/4Vb3293G26KwK5KKAAAB0klEQVR42syRb1+qMBiGBwO3OSwppU6z+W9ECApmmSer8/2/1RmUibJRyJuuN4797vvanglu7UbcgsbYTeu/XfAkxFMTwUKs12LRQLAcD/B42UAgbMZscbpgMd4ytp0sThYsRcJYIt5OFgg7ZYytRbWgAjkBxmw7roisweOFnkkrEySTisgj6F5qge0NxThN21CfaYMZ1NLvyD7GtNPXZ2bg3joC7lejD8FrYcsaHqa7xwJ42UpaO1Kck35tJMk9/EZgwTn9YifY7/w76pcFQ8vpDXbNI+ig53w7QmaYjShV1OloVuorBFIBnWnZQOnUcYalsEogDf1ecjhGml0flvtqwecYm+L5quvrBfkl5oUp6LyvOr5CYA3lOxQEU0fdl4KXKw1JUTDQxV5A94+Sh17xFVPaeVDnumB1rQR5JGsSSf7ruercCsQ3KvybO5L3zSg3kGe5peIcnBkqECcbvCGYI8Sf8yVHoSqoEYTIJPJ4L0ByGXjyEsSsJQj8dzl8hNzYMGIXyTHIXRDUELickPcVCuLsIw7QufRxVEMg/wPTReHnpcMYuSbx6gh8HiE/3n/HPoq4X0Mg5/578Gahkb/HjwU/5zcIjIaA6KwR/L8AAwDmOlT0JOOisgAAAABJRU5ErkJggg==\\\")}.ui-flag.MN,.ui-flag.mn,.ui-flag.MNG,.ui-flag.mng{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDphZDQyODRiZS1iZWQ0LWI1NGUtOTRjNi0yNjM4YjQ5OThkMjAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDc2NzE3NzI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDc2NzE3NzE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpkNTQ5NzQxZS1iMjE5LTk1NDgtYmU3OS02ZGJlNDg1MmRlYmIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDozMjEzZTg2MS02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6AKN6FAAAAwFBMVEX/S1VBR5v5zwL/VF7/S1R8SIX/TEwiRqYhRqeJSoL/TUz/VmBLUKD6wgr9gjL6rxb7nSL6tBT+XUr9ezf+aUP+ZUT6vQ38kSn8lib8jiv/U1D7oh77pRz7myP9cj39eTj8ii7/VF0tT6v9dTv/VlX6ug//gon/foX7nyD7qRr9bz/5yQb7mST+bED8mCX6uBD/T1P8jCyISYH/U13/TEv/VE+PVIiDUYv5xgj7oCD8iC/5zQP/Vl/+YEj7pxv7nSF/YtiMAAABRklEQVR42sTW23KCMBAA0HS19xIUMBFIAEW8oASstaW21v//q6bP+NDudsZ9DmeyFzLL5r1OTGav06dOTN9mk+7ZOTsT/Zfnu6tO3F7f9M+d3p0BHu5/DXyyHg14/E8gaIiA4jSgdIYRBYiUEgfSDQRASgKicUKrgX+SHgWQANBGBKC1AHAC4NAAL8jt9+4xQd+g5pXeeiJFA0cQ7yvQhBo00v0KkG3kscrZWGcyrpqlXqZ/BlyAmAV2lKXNBGCAAxhL7CCOsEBoB7FuYZ1iAVMabrIwTAgpcJcTUhjYUR6pItmja2An2WxWToAGQlg5SgC6iCH/MJsCRIUFNItFtQQ/InShGrolvgv6mOUyS9ISC0gJrRDrtY+fA7P1uQ48fA34z5OG/BuN44SM7ZVv38aiLg4X2w8uBeyoAHnNW9AWzcW3AAMAMjcsUFdaYz8AAAAASUVORK5CYII=\\\")}.ui-flag.MAC,.ui-flag.mac,.ui-flag.MO,.ui-flag.mo{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo5YTg4NjI0OC0yMmY1LTQxNDAtOWI0OC1iODAxOGM0N2EyNDAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDJCM0VGNDY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDJCM0VGNDU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2ZjBmYWViNS1mOGFlLWJjNGUtYTM3Mi1kMjMyOWQ3YjI4MGQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo5ZmUzYjUwNy02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6vLP50AAAAwFBMVEVapYdiqo319fVkq4+DuqRrrpOZxrR5sH7R4tuEtXzb6OKLvqq4x25rq4Pj7Oi51sqVw7FkqYXV0mbi1mJcponK3tZxrYHx8/KhyrnF3NP/4Vp7tp50sprN4dmRwq7HzWmlzLyw0sSdyLaTunjB2tC21cm718yozb+pwnFepobs8O+NwKz09fV+uKHo7uyqzsBbpYfh6uZkqo7u8fCv0cPz9PRhqIxiqY1jqo1wsZefybiGvafs2mCjy7vA2c+jwHOCi8ehAAABuElEQVR42uSWbW+CMBDHuyotFkGmFGwrKHXCJkM3nU9zzO//rVYgWZZs2ai83P8Fd23SX+/K0QNkN61kgdY6tFu+ATftAJ1/APD9VoAH0O+rx/WA2yHnw9vrADa21daYc1wmgn1tQI+/qa3nl8scgKcp7z9pA0ZT+/Mo7t/m2gBQp75Ovww0APUCo3uCcJIbvzB+BvT6o15pXwmFkBJZ+ng4xI0B/ojPS7sgAYRbsqjmOPcbA2wfVwEvnqGSM6gmMba1C2mwLAFBol9I3t4wPABeYKUXNWEYe0/nLRQhZbEQQRWBEDGjYaETwXFMTbJyEucRwsfnxFkRk46PzQHprgo9gEEJUKYa7orGABf+KLd5Ct3t9+XbbvMUTu93tA4bMlbbgN29nxoDPGmqMyxryMosy1GOOkVTejqFlLtIRvkkJSSd5JFErtAqpHwWZQihNVWfwYKmCLlZNMs1AIKZYRjSWADDACKmamAyoXWhRCp5K5IzJRkpN4s0byRvHUv0KRmvPd0rrXNmJksGSolyup0r+oI1ZmS1XK4IG1tXNpbNGRUFOm/+eXv/G3BoC2gtq92P5vlDgAEA+dskEMBbBzQAAAAASUVORK5CYII=\\\")}.ui-flag.MQ,.ui-flag.mq,.ui-flag.MTQ,.ui-flag.mtq{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjOWM3ZTZlMy1kMGZjLTBkNGYtYTJiNC0wZTZiZmExMWJiODAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDVEMDMzOTQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDUxODk2NTg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4NzMyNTY1Yy0zOGZmLTkwNDktYmRhNC04YzUyMjY5ZmM1MmQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxNjI3ZjQ2Yi02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6D5oxxAAAAwFBMVEVBR5v19fVLUKBscbFyd7Rlaq3t7fGRlMNNU6Frb7BGS53Dxdyxs9NUWaXT1OTc3eihpMt2erV9gbm7vdiChbtcYaiIjL5vdLLMzeCZnMerrdCFib5oba7l5u3o6e/Jyt9hZqtRVqNITp94fbeVmMXZ2ueusNFKUKCeocq4utbw8PNOVKKLjsCNkcGlqM3h4etXXKbf3+ry8vT09PW1t9W+wNnP0OLj4+zj5OyprM/X2OZLUaCbnsh3fLjv7/L09PQrOFdvAAACh0lEQVR42qSW2ZaiMBCGU60QEZBVllb2xQ0RbLG7dXTe/60mjnNau00yF9ZVyCk+Tv0V/goyXzghiSRcXkaGuDEFEi4/Z3a3niud3PnJbUO4AKS7DKe0ZFmPbxsD9PJvdcR5fUkXYTlgACZ5fs0AgQIY2pXRqCjFACyAUZnjBiEzhCkFcA1ThI3EKYHIUsBygliAOVjT++dHQAYj4/75B6ADfOQDMCgJB7DqyAut3rABw1eyEyoSSwNSIx4BzNgaIBQ7MnzJ+BOQCI7yDkXKBhxjsz6AOKYC7BYgiH4JbA16e1LAvnbpGmCISh3b0pEJmMJBqXPbVSkAR9dhWy72WiCKXkwDnOo5wE7xtA9RLIwHgLnoLHibDP9+x6MBpF2nAOQrsmx+A1WDqgBxU2jhxmVpYOxh+aFpQVgxuiD5yqJ0Us5RjnG5ULDKPgffu3oBNLyMAer32CE5F0AlcVL6CJ4MtHzu/TM6PwcQny/h1OfE+pKCeRkZv42rC0Dlt/EeYDjYzw2eIwkT7PtmSgOktulfq9qnDMDJnFwz3sc0QO6vM0NVK4CENRd8bGbjlfkOLtPWVQvA4do6IuOnZpqqDcG84bqysH0rBbYre2Ajvq37oHO6gGKNWJ5lcwBJRI6vvB4wf2fXXwTQclwZCVgh0y1m+sF4/b+5oNrybT5/B8QWGd3n6OY3D4DkNQDYjuYCtQQDWmtuT2dsEZswkGunl9BEzEwTQJFHbfi2LKka9OxsA7tupAVbkJsHwDryCjjj8RCtTOioc0H2iDy6kKKZS3yApkEZbiLls4ygYmngfwTe7vNV3pZfgPtLFmpyuWgPO4F9DgaVdWiLzrhp8PQ17/TcRdP4I8AA8Gk4DQnAFqAAAAAASUVORK5CYII=\\\")}.ui-flag.MR,.ui-flag.mr,.ui-flag.MRT,.ui-flag.mrt{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4ZjFkYjNkNC02MDc5LTYwNDctYWMzZC1kODYwNGI1MTFmYTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDVEMDMzOTg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDVEMDMzOTc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0MzkyZmExNi1jMGY4LTQyNGEtYjk1MC05YmJjYWNiNjQ5YzYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3ZjMzNDE2Ni02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5DFqfWAAAAwFBMVEVzrwB6sw3/4Vp8tBCBtAmmwiGzxil8sgbMzzr531akwB+txCXc1USSuhOevhzY00Hy3FLt206hvx51sAHKzjiPuRK3xyu+yjCpwiPGzTacvhrm2Erg1kbQ0DyDtQt6swx0rwGcx0r33lWbvRqiwB61xyq4yCy8yS/74FiJtw7+4Vl/swh7tA+qwySswySZxUaeyE/13VN5sQTo2Uzv21DByzJ+sweAtAjk10jS0T3T0T6xxSiuxCaMuBCgvx3Z00IJ1CTUAAABBElEQVR42uyWWXOCQBCE185yBwREjYq3xvvIZRJN9P//KykKvKvcdV7pp56umu+Bmt6CLXMktRlZTdr6lOVogKcMkAFEAMqMCNiFFEDPLBqwffNhwByxNrKAViF12ifg8uv8DsD6O9ga4B2Gl5kg4DefOgf2P5R0quuCgNBYJa5rM1Z0kuHdfRYEVNC/9b0sBIIAJ8QtgPFhCgI0FYPrtIRXLnoHDaB3mVWBkfgh6cD2POkCa4lL1IZA5TT4ig6Sy5yyHy28lZKVb9WNRkWuC1bcglpQLgc/sVVly1Qd41S+fBtX+nG9zh+q80TNe52Ot+vz7FnPAPcATSqArDbtR3OxF2AAbwsNWzYM/j0AAAAASUVORK5CYII=\\\")}.ui-flag.MS,.ui-flag.ms,.ui-flag.MSR,.ui-flag.msr{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDphNzUzZjVlOS1hOWM2LTY2NDEtYmFjYy1kMDA4ZjU1NThmNmQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDgzMzYzRkI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDgzMzYzRkE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1NjI3MzY2Ni1lY2VhLWM5NDAtYWRiZS0yOGRkNjMxNGU0ZTMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDphMGZiNTZiZS02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4kjvlxAAAAwFBMVEVBR5uPkqJMUaD7ztH7fob+i5F1erayweiZWWFWXVhvswT/S1X+/v3YvcWtsNZ1b5b66OnP0OOrnVHZrlrJZWWAhrv+rbLKpa2VlsgzOpT+cHfc36cjKoxESpyouOTz0WM6QZd6qi6DTIaBsP/BwtsTGoSUu/7AUHMvNpGWqcxVYH4bIohpcrBzeIYCCHr9X2jVg3778+LSWlHg4ewoL48+RJlHTZ5ARpr93t/9naBZWqOdtJDz8vXp8un88PDs3uZQv/6IAAACoklEQVR42uyVYXOiMBCGYwJUIHCgRkDJlVqsVGi1GhUpZ///v7oNllY6d+W0X25u7h1nDME8ebPZXZFCaIxDjkHbIFZNU3U32+op3MbEVCbVq99KQ4qp0pKFgiO0SSRAcYMIIS5CrVRN9VAk6HMxYppgYptG/AhQAcCjFMH2i7xkwebT5RiJnb03FWki3NWAjQhZqZh7GqN0x1sAWKQaWUgTeBoeAWKK46HcXqtO1gbgmzQCE6MDZVNbAuIpc0bmkNpRumlbD4BACDF9xJZcErtVEGOJc4vHqRChaD2ClkltM5eMCKXSAZWjNUxV4m1BzF9FSofkuQIOcuKUOannW64RI7NFs+CvB9QhIMRxCIEYjOQQnj/EwL5q6P4NwDSpInMpgbray1ugQ8VZa4WcZxqPjr+8uruVmmfV1933N0AShpAHPD5A6tZ54ECFxRjyIIT85u+ATJ/r82+ScQLAfJcG91Smrv+aialPZYVBJp5kkQSwOdM7e501AUmarQ+Qh25xUgsuHEZZZ2nCTwG3t+t558d98wgismH70cEXJ9UYCkbzRcPEEfA0f7h5bgK0tbOQ26dBsx/gWHJftGDXDKI+HjcB0usBmoHsSMJ970hhyCgU5X6SNAHPTx8cKCaJMbQjVLc0tQIgMLGNy+Gi27jGq07H+ADozoqkbhs7PJnNJvjVNBcJLiaTRgzGD7px0wTwJInqUPMgCeBTB55HJ+8qwPi5rxtGE4DRnym2fe+6o/V6huH7vm2fDfCWq/51t9vtG8ZqtVp6ZwOYNxgM+hUABh47G4AsWDe47h0BFj8fkB0JN0YP1mvofADyJaHfW5KB5aNLAIhZ3nIwW1oWQ5cBEPY9kI/RpQBUMN9nBboc8Mv/xv+AfwHwZWn4S9J+CjAAUcBopcZeeuYAAAAASUVORK5CYII=\\\")}.ui-flag.MLT,.ui-flag.mlt,.ui-flag.MT,.ui-flag.mt{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozZmMxMjk1MS02NTQxLTM5NGItYjI4Ny1kZmMyNGFlYmFjODUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDUxODk2NTE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDUxODk2NTA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiN2Q1OGVjMi0zYjVmLWUzNGMtYmMwNS00NjRhNWUwOTliZTciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDozMjc2ZWM1Zi02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4uGlMzAAAAwFBMVEX/S1X19fX29vb/VF7/PEf+WmP0///18PDqqa3Itrf/VmD/wsX+7e761tjE2di6q5zRlZnFxcP1+fnturzbo6X99PX1///Bwbr3ubzqmZ7+8PH09vbynqP3///7///WsrPxo6f19PS/1dS0oIzOo5m/5uX8/f329/fHqqH/RlD+Y2v1/Pz28fH4+Pj/Vl/29fX09fX18/PE3t3ssLTwrbDWnqD3/Pz44OL/fob69fb4wcTgjJC/pZX8ztC1o5D18/RU7IkUAAAA90lEQVR42uzWXVuCMBiH8W29wNKJe5wbmEwBRYvoBSsLM7//two6rejyOemg3cfb72T/g5GStQHAin2Tvrm+OunqhdCmBF77k/Kefu3cOzsl3bXHim3kR+EzQwC3pL2l908p93MMcEFYorUWquKPVmtIEABs90KtU7noCeGx4wEYT5VaB01qtqs1Auj7aTUIsswMlhwFTCJuZJC9GymHIQJYsXCzWQTGvM1HviiOB+4u49z2VCWn49wWmFegzWDFbClHljHUDj6HtOPDuUUOqTkGXl2HAigaeAAdx/qAB37OAQ5wgAMc8N8A+scAISXr6veP5ocAAwBbpR1hCDuU5gAAAABJRU5ErkJggg==\\\")}.ui-flag.MU,.ui-flag.mu,.ui-flag.MUS,.ui-flag.mus{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo5ZmU1NDQzYy1lODFmLTQ4NDUtYjExNi0yNzM4NzFhMzJjOGQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDVEMDMzOUM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDVEMDMzOUI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowOTg0Nzg2Mi04NWE4LWI2NDYtYWMyMC0xZmI1ODI4ODA2NzgiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1MzFlNDc0Ny02ZWFlLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6hT+MiAAAAnFBMVEVzrwD/S1VBR5v/4Vp6sw3/VF7/TEgzO6D/6mtZpgC5yC302F//7VWmSndLT5ggR6j/42RNU6FLUKB8tBD/42L/VmClSncfRqhKTpj/63T/VVG9yzqbxkn/63NWWp8uUq49RaWqVH5jrBBhqw3/Vl//U13122n/V1P/7l29yzh6swyZxUZAR6b/gIcrUK3/7l//g4qrVoD12mdUWJ6y1aJSAAAAfElEQVR42uzM2QKBUAAG4T8KRSFUlsqaJS14/3fzENNFF+e7n1HrIJUsSDfWX+WwwcYMuhjsRshdp8gHoo/qeA7EucIBsjSDXgyOY+StXxIASabvFCn0mCGN1kNkYQa9GKQTZKunh+x1cZGzbCErM+hi8KID7GAj5V+AAQAShS1rn82ZcgAAAABJRU5ErkJggg==\\\")}.ui-flag.MDV,.ui-flag.mdv,.ui-flag.MV,.ui-flag.mv{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpkOTM0OTVhMS1hODkxLTRjNDAtYWMxZS1kNTRkYjE4Y2YwYzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDQ2MzM3MTQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDQ2MzM3MTM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiMDg3NjA3ZC01ZTk0LWRmNDQtODhmYi02NmI1NDE3MzYwOTAiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpiMmJkNWExMi02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz46/z2bAAAAwFBMVEX/S1VzrwD/VF7/PmBbogD/P1/pW0hrqwC61olrtQDjX0RvsgBtswBstABuswD/VmDU5LNipgD////hYEP/PGFlqwBptgDmXUavz3OFuShjugBusgB1sADo7tyLvTXG3Jbx9eb9+v7/SVeTwDZ0rwCBtxlpsQD/gon6TlL/TVT/foV6sw7b58T/U11WnwD/PGJxrgDr8N/nXEj/Vl/29/TM3qN2sQmiyFTgYUJmuACexkx/tSH4+fhvrQD/TVOPvkUtviBnAAABPElEQVR42tyW3XKCMBBGQWKDrW3JIlFotCSiglZb+ittqe//VoXpXchFSC4647nMzJ4Jye4XnM3Aio1jzd6u/MUZ2Aluz0hQiGEfPFFIApFf9OE5F5JgOKX0SptRdZxIAm9aVddK1lG0lteq5PjY2cF47HbIGEFkt1jV0vodDSc6AoYPX36Z+jE2EzBCZhzSE8HMSMAiEgDcI+TK9ZqCGr0BBIiw7tloCRj6BP69Q4p6PUGN5wD+QVWvJyBL4DwmmbEAzYDPn7BrLvABHnD9nwLbT7A+RIxLu2tk6AP46zsxbqSmlYO2lSPTVm6GMfobpixzjce5ucpyYTrObaCg2E/NA6UxZATh1VIv0ii9UdKGqrxGE0UqJ8lIG0UqizwML/UJOw9LIbxeiJ/ze97NBXtbgTVbux/N7a8AAwDJ/DZBS3eltwAAAABJRU5ErkJggg==\\\")}.ui-flag.MW,.ui-flag.mw,.ui-flag.MWI,.ui-flag.mwi{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0M2UwMDIwYS1hOWFlLTM4NGQtYjZjOC0yZTIxNjAyOWY5NzQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDQ2MzM3MTA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDQ2MzM3MEY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozMzBlMjYwMi1mYjdhLTEzNGYtYjE2Yy05YjgwZGUxYjc1YzYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDplMGE0ZDI5My02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6gyy87AAAAwFBMVEX/S1VzrwBGRlVPT156sw3+UFrGeDb+WWJQT17+W2TFSVVsR1VbR1XTSlWzSVWiSFWTSFVLRlV8tBD/VF7LSlX/VmDaSlWaSFVSUmCtSVV2R1XqSlW9SVW4SVWpSVXiSlV+fonxS1V5R1VlR1VRRlXlSlXGSVVyR1WaxkhRT17+WGKJSFWPSFVVRlVgR1X+YmuESFX+S1XGfTrGdzb/UFp/SFX2S1X+WmPCSVX8S1VbWmhRUV9aWWb/TVdST15PT108QYtUAAABNUlEQVR42uyTyW6DMBBApyZtEww2tK6pWcOaDci+dP//vyq5VGkCEpFz5F0seWbeaOQxDBUphoAkgZ/mmDla5ETkBjabcz5AaQrFlgohh10KIaO4Keu1SZCIMAhC4XPmEe4EjqtdJ8BOmrGDscipZUUz5qrA8TWCKASXELvUqunNQrMF8/jbtr0gWnLhzorjJHGcVIdmUMKXdltB4aQejaoyP4CKVJQI2T7Rd7ilQOcerbpR+MNHaGSwJWsnIKAb2wQxOEFH5owKx20lwN7BL1EA/3DM0nDVUY2gdgkwinmmnpBVr4iL2lX+nPQvUJT+9/mvmRxvL5i8w3z6WMd+cMa+Nm06B2me5cpfOkEnuI1Aki+Ybu4l2AxgtX6QYL2CO0mgJ1f/1Ak6wW0E0qs87kkx/hVgAAYrKJRKYH0VAAAAAElFTkSuQmCC\\\")}.ui-flag.MEX,.ui-flag.mex,.ui-flag.MX,.ui-flag.mx{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4MjZmODcxNS03MTFlLTMzNDUtYjMzOC0yZGM0ZWFhYjY1OGMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDZCRDUwMDc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDZCRDUwMDY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozZmMwNzkzOC1iY2NmLTdlNDItOWNjYy0xY2FkZDcyOGJhNzMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0OTAxZGQxNi02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6JDmBAAAAAwFBMVEX/S1VzrwD19fW5mJ7hsoJ1M0KTSFf/mX9ipQJt1Nj/NUC1gXag5NlLyZ96sw2v1Wzj6dDO3Wjr4nfI3aHN9Yn06a+Ti1D////z////SVP4vsFxrgC473T/VF7/VmD29vbW6Lrpz3nr5ITE35LN336YX2y73oYExKApsfTJ5/ff6sSgcX3y8+ydx0zt8ub14F/19fTz8vL19PDP2lygXGTS070Xm4Z6m5V/rbru5+jw7u709/mQ03PezNC01GDJv69K1s09AAABCUlEQVR42uzWy1aDMBAGYJwwsRFoAhRtK2rl2qaUUFu13uj7v5W4xk3Csvz7fOdkZpIz1m7azyS8e+plvlw89HNtXfVz3wHQy3x5s7D+yXQY8DgCI3ApAMnJhylQryqHAKX0xxAQXD0jcTrB9AoyfkXszlNiAjQViIIg5jmlR32gAeAVF5+IW3D+7tBoAgWHIhTxGRHPXR0hTjWBlNeMp7PbrdMR7/leG5Aqccvv2f4rso/45iZK6hYx8QFYWXpeWTIAP9HvAg+aDXM9z2UbSFqDNkYqhPXJtk9rWKnIZJCqVkXCtoVUbW02iU1w8LPMPwQvxq9RpFmWyvFLG4GLAAaveUMXzV8BBgCVJ0VZ+X9SMwAAAABJRU5ErkJggg==\\\")}.ui-flag.MY,.ui-flag.my,.ui-flag.MYS,.ui-flag.mys{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjZGE2OTkyNC0yMDc5LTRlNDEtYTJlZi1mMmNiNzI0OTExZjIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDM5RDkyRTE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDM5RDkyRTA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0YWE4MWE5MS03NTE4LTM0NDktYTA0OS01ZDNjZWFjNGFlYjciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2Y2VlYTJmMS02ZWE4LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5RNkgiAAAAwFBMVEVBR5v+WWL+VF326On/Pkb/MDvz///27OzMuGuDfIW1pXNwSIpUV5UmLY3//fymmXk0R6D0//9ISZlLUKD29vb17e7+Vl9wdbH/4VqVi36Lg4LmzWL/UFn17+8kRqXwTFzaw2f02F58d4f79PP27e5nZo5FSpr18PH/Ulz/VF726Oj/LjL+YGn/UFP66+pPUpbsS104R59eXpH47u5xbov/WlxLT5hDR5o1UKmblsD/VFn/8fBFRplbcrenUn//gIfNJelhAAABl0lEQVR42uyU2XaCMBRFr1MNEUqtrQaoCjh1wKJo0drp//+qQWUql5KuvHY/wVpwIGfnBgY9EfafhweUL1jvoJrdqNMsAXogwqizvEOp5QMCg1hEnxUDtMHb8yNGIxsQ2Iwxm1JqzosBl90LjG4mwOSvK8crNQTw/R8BkwVKGsDft8Lzte+C4YKb7eClhuIlASpjzvmjoQ8k0BWFgj9PAp5aKKkFypgZf49utzahRDV0cQszhzlJdTubOLxOQv5gwWAsfjzUDX7HcUzdmIla4Cug6W6wjwGMmOo8tTDEWGQCkgUHZhygxAHVFnJL0AtLqLaQKxEKJXIL9yieoMbIQgMlCQiwjRRXIDQLfN1W/LyvRFtZyc/C7xZOCY6bDJPq58+DylmIirQideg4C8zCKUInlk232Il0qKN4gkeaNphs2iiwX18JoH2UWuisr6t5114nmynGBg6rcTWrsdfH8WDZFKLVKrNQq0vhQVsSwMsVpgtTuR+YgifbQWm/YjTl/0C6g38L3EJfCg+Gt1JwC5LAjSTfAgwAWxl8qau5NGsAAAAASUVORK5CYII=\\\")}.ui-flag.MOZ,.ui-flag.moz,.ui-flag.MZ,.ui-flag.mz{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjOGNiMzAyZC0wMjcwLWY4NDItYmMxOC00MGMyODYxZjYxZjgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDhDNkQ2MUE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDhDNkQ2MTk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowMzYzNmE0Mi04MmU1LWQ0NDgtYjFlNS1lZGU2YWUyYzRmOTYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpiNjg0NWQ4Yy02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4nFNsSAAAAwFBMVEX/4VpapYf58rhGRlWom17/S1X/L1SkpKliqo3/VVX/dFb/zln/lFf/tVn19fX//Fv/42OaNVSWSFWNi4xSUWC92s63RlVFP1GyqZI4OlVuTFj7c23PzHZURlX/P1WNgnL/T1XSSlWBYlZycnnOzMrxd5L4S1WzdWxun4X5TlfTY2OlY1byUFjkSlX+UFnHgon329z/XVnb11rl4MeZmJuLv6r/1GJ2l3/cmFjJgn7RpFi0rm59eFf/mW/DwbujT2U59m+JAAABg0lEQVR42qSU61LCMBBGV0MChMRw0YoU0iqCKBctIl6K8P5vRXqxUH812TPTSTvTPe1+3RS+Zw0MH0AXswsM8ExpgKhvJAL6hBXQF6yALj6RAucgTgLHIM4EbkGcC5yCKAlcgvgnsA+iAau8NNQ6NIt/Y0kh0FGkkzV6u7KiaIFJybKz17oNMM2qphpA0+UiOfduq3OdCzzClYq6XnZ1PyJVMYJQM9YhnQelBh1moCbL6cBCoCMxJ3Ne2+0CbhBZll0LQXO7rrWHdULe47VSLarzpixaEGrYI5v9Zh8rwdJxMCy7FQVmhJgfkPG4tx/3fVYMZXWBYULIph889sikqK/eQnL3gMRBXIuHweGv3iJE87AR+VFKSnPkHVh9xmRuDsqkZ7JUobYfJPM870txpjXjRpO0f1cdkm4mLaL03RkX2nozrU7/gnS13s6r0h+J+peWQFiqF2BJuyyQgBI0W4AScACUQABOIAElcGn/XMABUAIBOIEEjMC9/ZzfbRvFUYABAAoHRvLdBrBQAAAAAElFTkSuQmCC\\\")}.ui-flag.NA,.ui-flag.na,.ui-flag.NAM,.ui-flag.nam{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowYzIzNDFiNS04YzVjLTUzNDktYWU2OC02OWMyOTJjOWI4NmIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDk4MTMxM0Q5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDk4MTMxM0M5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0MjE0ODQyNC1lODQ4LWU4NDEtYmY1Zi02ZTZiMjA2MDg4ZGIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0Y2UxNGYzYi02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6tfUgFAAAAwFBMVEWWjH794Fv/KTWxonVzrwD/S1WSwEZBR5spMI/z//////6anclLUKBzb4qDfIX30NKiyWT7ho35q6/9bnZoqQDM4Kj/NUF7sw7S0+VESpxdowH26uteXpHYwmdtcrH18/T/P0rn79b/VF7/Tlj9X2ggJ4qHuje41Yc2PZb8+P77+vjr6/NXoAD/RlD0+flITZh7syHd6sT6mZ8ZIYft89/29vZaX6j4wMOChr1wrQ23udjc3erIyuHz9ulSVJb23d/RkYNJAAACZklEQVR42pTWa3uaMBiA4XAyhpko1dKiZDrQrqUCq5apa2f//79qEkBOATHf/JDn5pT3EhxH/ZezOX+aSYQWVuily7cA7L2c4fAYmEuE7kLVN7IVglHf7c/70adpMn6q2pf9htc34GyGR9NMGL9SjWJ/JRCfu/i/jEfoq8KXA7EDXQ3ClsZm+EPGG+xHHnAoAYpLQQv/mPGr6vZQXaeBOIaUYoIVV3INF96u87ZqLbMApWdCqRYDhTT5D8Gvm7x/QCi7hVgjCluUaNXtcPOc8jvGG3U+QdGLCJyx5lIeUAgBZwk/lvAe41/MXyLgsivPAhp1pbzf4CMUmebvh/wtYC0N4NKXu//5YQYyfqWux4IfbE9pwKGKwwsYKLjGR01etXcIJYyfbfXsCmLiAkAI0bCLL/yr4D01bOGftjNdv9wCZG+A4uwlOnAP//GDE1l29cs1jIKf63opEBOIFfY6KvxBxn8VfDlQHKYLn1i1g+PX+Vogf/ibY8r7TX4q+LeclwTYp5PySwm/ukv5ec43A5xfCt6o8zbnI8b/Kfh6gPGx4BetfDAp87UA5wPOs6HZ5BcSvhJoGZrpwQnlfDnAh2Ygn1o5f9/giwDnH1v5A+cTCV8E2ocmO7cLfm4Zr+stgc6haYix8X+yneutgZzfSYem4E9yXgRgB+8L/n0ieXhFoGtoRvzL7eBF4MrQfB908CIg51U7G5qdvAiIqdUYmt64Dy8CzalVGZr61cC0Y2bP9B6BsHVoXudFwJPy5al1S+BGvhaQDs0bnoEvptayPLP7LGD52X/GkPNJ8PY0Pz30X4NvAQYAHWmMelbEUpQAAAAASUVORK5CYII=\\\")}.ui-flag.NE,.ui-flag.ne,.ui-flag.NER,.ui-flag.ner{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjYjM1ZDI4Ny1jYWE1LTk4NDgtYmUzMS01MDM5YzgyNTAxNDEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEIyRjJBMTM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEIyRjJBMTI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4NGQ4OTMzYS1iY2M4LWUyNDctODNlNi1iYmQwNmFjOTJiNTQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpiZWNhNmJlNS02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4puhooAAAAwFBMVEX/m1VzrwD19fV6sw3/oF7/lEj+oV9pqgD/+v/18e7u8ej0/P//oWD/izn34tH29vbz///8zLH/nVj/iTX/2Mp8tBD1+/30////m1b9///t////uYmaxkj19fb19PSCuBv42sX/nFbu8Of/mVH28u/43cn51r719/f6xJ76yKX/+//1/P/v8un/m1T/mlT19fNxrg319/X19fT19PX0+fhyrxD/n1z19vj+oF7/oV/18O3+p2j28O3u9/Pt+PR6swxeiwXMAAAA7UlEQVR42uzTWXeCMBCG4XGpdZs4EIVYwK3SKuC+tbXq//9X4nYZLjK3vNdfnnNIDuCVWXnArsw7/ssFmjmQA3fg843VDI4VVkcY1/T9H9y0w1/GZAxxQx+5oWWFLmVMYmgVtZGooJS4FxRoNy090COBeLtoREE9A8DZNtG+ATbuV44BQAOcPx8bv8gEmEr1OD+UEx6gDIEBzlif4Hz/vC7RXjimz6iUGqIMaWMAFAMStkyDkIK1Hqjqi7pR27La1W6UMYKkrm90+kg7jzImCfRLrPqwfGe1g1KBVScHcuAOXLhAgRn4vJ/JvwowACF9KEieTXnoAAAAAElFTkSuQmCC\\\")}.ui-flag.NG,.ui-flag.ng,.ui-flag.NGA,.ui-flag.nga{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozNTU3YWYyZS0wZDA0LTNmNGQtOGZkZC1mNmU1NzlhNmVlZmYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEJGOEFFNDA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEIyRjJBMTY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyOTdmZWEzOS1hODk4LTY1NGUtYjRiOC0yZGRhYzhmNWExYjQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDplNDIxNzljNS02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4KOS99AAAARVBMVEVzrwD19fV6sw3///9xrgDL36ZipgDI3aFipQF8tBD29vZ4sg1qqg56swxhpQDO4atqqw3I3aB7tA+eyE+cx0ubxkmZxUYjmKYHAAAAWUlEQVR42uzWOxKAIAyE4UgAHwgICvc/qgdICmfSOfvXO1+9dDtROgMfIq5XktuHlHxpvIg4RK+tswJs62egk7MBOwAAAAAAAAAAwB+BbAXMN2/YjuZ8BRgAwiIN1LRprIkAAAAASUVORK5CYII=\\\")}.ui-flag.NI,.ui-flag.ni,.ui-flag.NIC,.ui-flag.nic{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmZWU0MzQ2YS04MmU1LTQzNDQtYTEzYy01YjgyZGVjNDNmZjMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEIyRjJBMEY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEIyRjJBMEU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4NmE4MWMwZi04Y2M3LTViNGItYmZhOC0yNzZkYTRlZGMzMjMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDozYTk4YTZhNy02ZWFlLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7k6jR5AAAAwFBMVEVBR5v19fVLUKBJT5/29vZNU6HLxKn98MPt5Lf485bq7Kb///f/+e3+9/STirL09PVUWqV3fLekqp709fV/lcNelkeywa77+vb++/b29fXk3reAlsP19fZKUKBillrKzHX39vX//vJuisZdkHHU12HR2IT/99FcjnZglGR2sALz9PXExlzn5GL13Fz/4lrA5aX47Kv477yRuhPV3Hp8gLrv4Jjw4Zv094y20oHaz2St6s7JyLy2w1O3wW3W3pv3+PbUUTeBAAAA0klEQVR42uzWxxKCMBRA0aBIh1AEpIiAith7L/z/X+nCcQfM5DHjJneb5Cxg8gAdWqAMBK4PO95BLQpQoAkAnA67TDoKGVAhqtngeTUbEFu9zvPV62w1YKmSpFjkgKWKHCeqFjHgZY6mOVlMCmBFXHP321nBZMCstx0vRq/LftPDJAB2ped0vlpedw/JxQRAnAzsKJ8M88geJDEBIJ/MNOh+ClLzKBMAheAL33yhKAfK34Er/yp/BgxigCG9DUqHDxQ6lSnQCND/+7fRAP5ovgUYAGceErgNeLDVAAAAAElFTkSuQmCC\\\")}.ui-flag.NL,.ui-flag.nl,.ui-flag.NLD,.ui-flag.nld{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0NmViY2Y3My04YzRiLTRkNDgtYmY2Yy03NWM5MGU0ZWNiYzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEEyQjE4QzQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEEyQjE4QzM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyNzZkODJkNy0yMTBjLTgwNDYtYjYzOC1mYmI1MWIwYjVkMTgiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4NDdjODAyMC02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7ddFG/AAAAY1BMVEVBR5v/S1X19fVLUKD/VF7///xKUKD+Vl/s7PD17e70////PUgzOZT29vZNU6H/VmD1///t7fH27u9TWaX/g4pARZv/U13/SVP+X2f/Vl91erb+YWn/gIc9Q5l3fLhVW6b/R1F9edRcAAAAX0lEQVR42uzMxRGAUBTF0Asfd3frv0pmaCEs39knGgLkkAdpYv2qgA1qG9jgGzw5MmuJkV1dinRqMqRR6SOlDWzwzyCE1CZIqz5Cbp0FMsoJqWxgg28Q0QF2OWR7BRgAJXkd4CIhtXsAAAAASUVORK5CYII=\\\")}.ui-flag.NO,.ui-flag.no,.ui-flag.NOR,.ui-flag.nor{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjMDYyMmUyYS0zZDhjLWY4NGQtOWU1MS1jYmY3NjZhMzMyZDIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NERCREE3OTY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NERCREE3OTU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowMzdhMDcxMS0yNTRjLTUyNDEtYmM0Zi1jNDQ5OWEzNDRhZDkiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowMjhjMGZmYy02ZWE4LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7MpmRbAAAAwFBMVEX/S1VBR5v/////VF4/RZq9v9mztdQqMJA+RJonLo76nqP6par/Kzf/LTnY3Ok4P5c8QpggJ4r5wcSWmcX8f4b/NkFDSZz/SFP/MDv/VmA1O5VLUKD9hYv6lJn/OkSjpsw+RJk7QZj/UVz6uLsqMI9ARpv33N0rMZD9anL/QEsbIof/DBn/EyHz8vNHTZ76qq7Fx+DBw9ubnsgmLY2qrdC3uda4udV8gLj4vsG9wNpCSJtARpp3e7b/Vl/6o6guNZLmh0UvAAAA70lEQVR42uzWyW7CMBRA0WcnFAhjIUBrk4HRtECApoxt4f//ijBI1M7iIZkFC5+tpSt5lKFtyfw2LUdNzrn4orWProVwQfXm0nK1Qgh5rdNaowUoSy/wpxt4NwETeJJAoygbj26B3qSI8WHvyLzeLTD0HMweaNq0cwp8BvQesMio5t9hNQmI9TyD2i6ACVX/sNslgSbrC1S2AlFOFdrk7CfM4ThwomPwgEBkp10HbVwyBZZXxeK8iBGL86iYwfJFtQwu2/ibHkpb6R+kWUHmbf4dZaeAmYFfkimXqYTwzYtkAiZwDWh/81zNj+ZRgAEAr9pB8+wZBJYAAAAASUVORK5CYII=\\\")}.ui-flag.NP,.ui-flag.np,.ui-flag.NPL,.ui-flag.npl{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0ZTNmZDY0My04ZWQ1LTI5NDAtOTc4NS0xNTM4NzY0YThiN2QiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEEyQjE4QzA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEEyQjE4QkY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozMzcyMDgwYy00ODVhLWZiNDUtODgwMS0wN2U3MDExNzM0NGMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxMTMzZGQ1Yi02ZWFlLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7Gfb9mAAAAwFBMVEX19fWiqtH/S1ULI5H///7/TEiIl8krTqv5r7L9bnMpKor29vZNMYPZ2ehqOH8CH5L9UVn8hIurSXRRbbj4zc/PS2QGM6AVRKqnPmuSQna9SWzm5+9QV6T+XGT25OVnebrrTlv09PStRm5IS5w1TaVAYbP/T07z8/T69va2THL6nqP/Tjrz8PP6+vh1iML29vX09PXu6/Dz9PT27+/4vsL19PTAwtz28vX18/P09PczP5n19fTCP1yIiLyCQ383WrDsqI72AAAB6klEQVR42pyW23KCMBRFY0iKAWxA8W4U8FYvVG3RtrbV//+rJhERZ5xpkv1C8sCa7JN9DoCDi1zgGisF1qCG0jdgroHTqiAUm77ugsmiQxt75MamALu36lntA0JzU0Ad48ijT4Y2JADiWZdOdyiNTQEQ4qZjZuMKgNj36CtC31tTgLRxrmnbuAGkDRGJuTGAH+KZjlK0iQ0ALAgEASeWXdM6hAD4EJIhAFX+ZDjSTLYAVAOYiTXzQ8JtnGjjQz3ZAkBANhTrDGSyElrJljUI8k2Y11In2ZcikpAvh8vbbfBk99UiUdwCIbikVeQd1WwUOajXF52SfhKHjr4UbFwBs1PbntolTcZjZ1BLNZqpy++/f6+DDgDi5xbP4L3SWKsbPU6IjeeBIDjtnTbhrp19x37RHUo5gEFWhT6LrKnhPFhmVbAcMtykDU2CBJBgKTckmDX5YNT60F0An3K9B6GPE95HOnPxYiHLd4EIFK0gd6s3kcJiyxsSn+gBbbZaJ2DFCXzRFiKSehbYOq9Bdo1kH8UmtxDIE8hIrlUJ1xyEPAfvrIikdVaNQw4gIomMFTMtUg5U0Qs+gSXxSI7Uxurdp61M6CkGSv7i4AdaNa2K2kA5npL6I/U8iwdKwcTvxH6swZFP9v9/NP8EGABAWDZIBV1DnQAAAABJRU5ErkJggg==\\\")}.ui-flag.NR,.ui-flag.nr,.ui-flag.NRU,.ui-flag.nru{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0NTVmZTRjMC1iYTBkLWQ4NGEtOTAzNi05ZDdjMTdiOTkwMGUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDk4MTMxNDU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDk4MTMxNDQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3Mzk4MTJhMy0yYzdjLWVkNGQtYTNlYy1lMjhhNGM3ZjZlMjAiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDphNzBjMDZmZS02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6S5bkrAAAAwFBMVEVBR5tLUKBubIwjL6V1con/5Vj/5Fn/71T/8lMlMaRNU6FnbK52era3udZDSZw1O5WYm8d2dJM/RZr///48QpnZ2uj19fUyPao4Ppaoq9Dj5O3/5WJdYqlITp//8V06QJgnLo6doMlTWKRARpp7f7ksMpFKUKCjpswwNpLKy+H7+/n8/Ptvc7L/9FPq6/Hv8PF9eZAlMKQuOqr/7l4pMI9AR5saIYhqb6/3+Pj5+ff/5Vn/5lj/8FRKUJ+Hir+NkMKOIaNlAAAA7ElEQVR42uyWSXLCQAxF5YzE2DJ0N22Bh/bEaJKQAZyZ+9+KMyCxyMJvr1eSSr9K0HgiGhCzkJX74PWCXtAL/okgfpDwEsP4SsQY8nsJP2+Q3Er4TiC5k/CVQD6Q8JjD7kbEDl6vRcQXvkQ0CgUCjAggIuQKFHXzLqVhVPMEyjtsy3C6rApPsQSUlcdnrSd/I2V4IxTdR7v5bJ+qOXIENXXlbGNtOxmltOd0UNNWa2u1TQ1vB06VU6v1bHkk3g5M5dJwvQ6zzOcJ0Lw3Jhj6QaGQe4m0+s1WDvlZUOgc1mdmQfxkiQlkj2ZwEmAAVFoeNqGHTEAAAAAASUVORK5CYII=\\\")}.ui-flag.NZ,.ui-flag.nz,.ui-flag.NZL,.ui-flag.nzl{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyZDk5N2Y2My0wZGE4LWNkNDgtOWNmMi1jMzU1M2IzODg1ODgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEEyQjE4Qzg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEEyQjE4Qzc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NDgwZTFlMS0yNTczLWQyNDktYjM2MC0zMTllZWY4ZTdkYzkiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2MGI2YjA0My02ZWE4LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6Eg4MWAAAAwFBMVEVBR5v/S1X6rrP+/fz+2dv95ubP0OL+bnYzOpTPtspESpxLUKAjKoy7uNQ7QZh3fLf8fISHir/Dxd3/HSpTWKT9hIzMp72TlMKwlbhNU6ETGoT+jpX2oaguNZH+mJ37xcgbIohucrHVnbGkpcyGdKr9vcFlaq0CCHrj4ezr1tx+grr9Xmf10NNcY6r48PHqyNAoL45ZVZ5PVaKprNFHTZ4/RZr/PkmwstNARpq9v9pqcLBSSJXw7vP33d6knsXaiZ3hOSr6AAAClElEQVR42uSVa3eiMBCGEyO3EMNFUEGoWC+1iJhSKOpW+///1QaReumpdA9fds++hw9ITp6ZSd4ZgTRDpkOwo6pqKpsPENoiTfkPJyWpOYI6xuo9acCGNopDwjAAmW/aEOqiTAHAjGjvOnyILR/cVxhBOEJmGlDMAcMiA5liGoDtDC7bcShnd7c7gGX5A9QRMgjZVICMkTDm4VEHBBmuATgs0NZLWJyES0qA76pFeOFdO1ZWA1BxFtDcg1KMDDcvAFs3FCTYQh3KywK1AJkx5j4ligQ9tBWPGXQ4ThCtJ5cxwmpL0MZcu3QuzviFIg4Yopk0QotdujuuYFoDEErtn+O4vd8X17hvx/H+eX9aSPwaAKzRi/zXA9onRZEgRJHOzyA6vlbfb6w8mdwCQq2QNRZRpM9Q0UwItXRhMbaK76F2dQvzleet5tcAnxDuA2xy6w6V0gemYMOhqXIfEEKufJB7b29efuvETSBPUIt7p39yYmCg9hKOXunXRhh0u4ObEhI/mC9ibl3RqnqBuYnIi9EXu8C/ISitlnLbjfS1DM8uupEwAwm8w3IabC4R2FBVozyN5NPKC+EYPpCv54FjIo8nMf5mHkRGBSjCx3wYFBOJieeJREhYJNE6WTl1Lrd3etKH0i8BNpyZTtm3mb8tMjALAOBJpNvYW9LyGsPnS0Cud9/W4xLwy7L8amxs1BcuZ3MqmPlJQo/o8PCoH/rpmfAIbe1UAvb9z7GBZV/mz+eR0WrNGMGuLp73r9Y75VD5APxEmtR9vLwNjsV/BDis+6PVNzPxR4CVBVZJE8C9qfyvAVS1IUBRGgGmA88bTBsAOvyvPFKalDCQpEGjM1B6PaURoDed9vD/7sSvgMbS1EbSfgswAM4XSvnnVhMoAAAAAElFTkSuQmCC\\\")}.ui-flag.OM,.ui-flag.om,.ui-flag.OMN,.ui-flag.omn{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo5ZjlmNjYyNy1hNThjLTY2NDAtODA1YS0yYWYxYTkxYTY0ODMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NERCREE3OUE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NERCREE3OTk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowODVlMTZlNC0zZjIwLWRjNDUtYWQwMS02ZTg3NjljOGQ1MzUiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0NzJiMGExYS02ZWFlLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4Cm5NdAAAAwFBMVEX/S1X19fVzrwD29vb+U116sw3/U12ArQ/26+v+VF3kUlrodHvpg4rv1tfqWGDteoHCdzD4UVL7lpvjZWzpSlR8tBD9XWX/VmDmbHTkQkzytrryW2TsY2v9SlTycnnslJn+S1X0RlD9TVf2Ulz6m6H/Tlj7S1X+SlTeW2P4UVv9UVv7kJb26+z37OzIdTX0TFbbS1T4+PjjblLxRU/tjZPxwMP9gYe9ei3iYGjzZm7z6eqZxUb1X2jzUFnoaG/BezNsu1qZAAAA+0lEQVR42uzTy1bCMBSF4c1FsGlswGItpIEUuaMoKFLk4vu/lXV1Iu3oHB046D/K5HwrTVK8O5eNaqTWyLes0EIjHTqNcRzMsTil61vafA1OOiQ0tHyGJ7iA9jF3p0N/wgWg+vEsdhWYgLGTUITChTGWA6hBryMSMet4WxlzgL5863bPN1Hs9RQLWIiXj62qRMDU8s7APmiZ7LMz5N5CaGCka5hA4EffivXDITCiPmUHOsk2Dyu9Vywfryk9ZZ/wo7HToBQUAHK/BO5LoAT+BQDU8z9TnVSAdg5YNWkVgF2VVgFo0ebvSqAE/gbIt6I+5U37ss8rUocvAQYAVeghdjqWtq8AAAAASUVORK5CYII=\\\")}.ui-flag.PA,.ui-flag.pa,.ui-flag.PAN,.ui-flag.pan{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDphMTcyY2Y4NS0xZTJhLTAyNGItYmFmNC1jNGNkYjBmOWFmOGMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEVGRTdCODI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEVGRTdCODE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozNjUyNDNlMy04YjVmLTdlNDYtYjgwMi04NmRlOGEzMTk2MTciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4OGMzZGFhYS02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6ChJB9AAAAwFBMVEX19fVBc83/S1X29vb0///9a3PC0OpIeM//V2Dx8vT4ycz/UFpOfdD/P0pMe8//VF65yuj26Ojm6vL27u6KqN38ipD/SlT/PUj+Vl9sktf/Q011mdljjNX18PBFds78e4KSq9324uP6pKn6nqP/TVdDdc3u8POuwuX4vsH/TliIpt32/Pz2+vr4+PhVgtJHd875trry6+3/S1T/SFL19fb/RlH/U13Z4e/25+iJrOH/MDzw/P7/Pkn5rrKBodupvuT3YCNqAAABG0lEQVR42tSW21LCQAxAk5RCW0DXlipFsNx6QQFRVPDK//+VjTM+EmayzCjnIbMvOTObTXYXFo7EfB63X873M4tBphatP0hifVDQvZLyL7vg2Am8owuMsRQkfTuBf4O5WpCHIRjEAsIwVwk2iPcZVgFxo9tCvUplMqOuwTXnJ76+iEMWdCxOYYn9BFu5WmDwC+AWjVpQ33EszJ/Owj8UPL61JZ7hyZd4f/B6TYFeWjVfSyBbDrcX+9mO7qCBIo3XmshhQUe+dZ3TE5QrS0HqWgqaFKkFg2gAAdHqZ6ERjImm3P9VmOi2EPyOUKCuQcrprkURJyyILQQeuS7N9IKAUoCYSr1gzPGzPO1hOrqAH+QzAUwK8SPqLL4FGABwzylV6zIU4AAAAABJRU5ErkJggg==\\\")}.ui-flag.PE,.ui-flag.pe,.ui-flag.PER,.ui-flag.per{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyNGE3Y2JiNS02YTg5LWRiNDUtYjI3Mi1jMTkyMDVlM2JjODMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTAxOUEzNDk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTAxOUEzNDg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowYjg2NWEyZS02NDNmLTk3NGQtYWM3NS0xMDYyNDk1ZDk1MWIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0YWQxNjEwMC02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5HgXKKAAAARVBMVEX/S1X19fX/VF7z////SVP/NUD4vsH5u77/VmD29vb/Ulz/P0r0////ND/5vsH4wcT/U135ur3/Vl//f4b/fIT/g4r/gIfsIRsaAAAAWUlEQVR42uzWNw7AMAxDUcUldlziknL/o+YA0hBAm8E/E28mPYaV8lkOVmk58e1LQq4Ou7Hs7p207gLgw29gktEBEQAAAAAAAAAAYEWgawH1zbt0R/P+BBgA7HwNQx8aSJ4AAAAASUVORK5CYII=\\\")}.ui-flag.PF,.ui-flag.pf,.ui-flag.PYF,.ui-flag.pyf{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplNTQwMjhmYy0wNWY4LTdjNGYtYWI4ZC0zMTUzNmUwNTI2MDciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzQ4QTZBMkU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzQ4QTZBMkQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmOTgzNzgxNy1kMGRlLTM1NDUtYjYxZS0yZGNlMGNkNjU4YWYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2YWQ3NzEzZi02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6DDSWKAAAAwFBMVEX/S1X19fX/VF78y4j29PT+j2r6l5x1l9b/Z1e1yOhKes/NcVb5sLT0/f//TVf/s0X36df5fojklJ39ZWX+uGb29vb616SWaY3/V2DL1uz53raKptulu+P9xXmlV29ahNL+d1/19/rdlGjk6fKJfreKmrv/nQvHpbP19fb19PT/oxz19Ozhd2H19PD19vj19fTCZYf/rDPx8vTWh12XseDlX3P9cHD09PX548TjlV/cZn3kz7Lk0LX5xLzpW272bXMK4SO4AAABTklEQVR42uzWy3KCMBQG4GgKJNgUBQwQCBhRBLTxUm3t/f3fqgx7mMZ00QX/nAFmAh9ZhBPAbKyVGdDOWO/xcAD+BaCd8EErIbgb6QX0jFWSCNMURFR9wLxrZF+SR/Y5NqdsS2QnMe8GSrm9Fh4gtGDbUqoDFZnWV46A6fNrPSWVMkAY5T5DACyYzykjqoAksA4NuADAgIZXQyIVAcIgRQZELYAo7JpCN0Ad7hnceAaL5sAdSkolQEgKIdotX5dN7RCEtBRqgHCKI5pMntpCx8IRaoAUH2vLc4N0s0kD99tavwupBOwrnGWXS5DGcRp8vWUZrvaK6yA/RysAZrbddP5VdM7VlzK2E/eQRVF2cJvLG76FF8uKm4rb0+kGoJ0Dtm2c2Lj7nl5glCdWFFlJPuoD+vtN8258urkj/a6l3Wtm2N4H4G+2d90fzR8BBgAq3ymB+t5iEwAAAABJRU5ErkJggg==\\\")}.ui-flag.PG,.ui-flag.pg,.ui-flag.PNG,.ui-flag.png{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmZjdkYzA0OC0wZmFjLTJkNDAtYjM3OC0xNTVmNzZjNDE0NDYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEVGRTdCODY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEVGRTdCODU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1ZWQyY2M0ZC1iNDgxLTcyNDMtOWY0NC1hYzg0NTdmYmNhMDciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpiMDM5MTk2MC02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5WHm9zAAAAwFBMVEVGRlX/S1X/4VrKSlVOT16zs7nvfob/tVmwSVX/Zlb/qlhYWGb/TFX/VF7/iVdKRlX/1Vr/elckRVX19fVXR1WISFX/VmAzRVXfS1VnR1V7e4XW1tn/UFU5RlVqanbi4uT/l1grRVX/w1mUlJ0eRVV3R1WKipPs7O2bSVVIRlX/WVWDgIo/RlW4uL1zc35KSljuS1VHR1ZISFegoKdDRlVfX2zBwcZKT175S1X/3FpPT160gIkoTl7yVF5NTVv+S1XwjDnEAAACRUlEQVR42qSUa3uaQBBGx02aLQslAk3SKgEEqwVU6gVT6O3//6sOF4XF3UDMfNLncY9nZ2Zf+PXn03vqDubwUdNG1xfkT+a3H9cTHiEPD/PV9RIIALhHiS8DCYYiAABKPA+TYCQSAUqJrwMkGCGKGAAhmP0SCiFElwAKiXmfhE7kBrXEd4mErUR40iDE9xhTJACUeJZJ2AolfnGFDCWoFPA3BvNJJqGT8ZhU5csA6rGQ+HxzSdB9FnnkXIYQkKqx5aRpaM4uJHTCVxaJABsLa5kKJBTSLV14hRTP35bzmM0e/mmvnG+6wAE21tFSq3Gs5veNhOHpjFGDVvZ0TFmm2yLAIobF5DRRlPjJd8IoAeNR5HlUE0+hXZUEh/BLA5yAJ+lBFzEzeQmb0ay6vn/Rg0BtnXQWZ4lu3kW0HKGWKW1AAjtrArvq1HYHwRLqbyjRzTuv2CKFsDZg4rqWu4zr/w+W+G26qR/Yan7oSuAAMsYBYIIbtD9dYLfGdXCaTnRCV7MNL6MjyvfAtazmCOKmrY50QxcBxsj2eYM17M8G8GEBR4cbB+ZdpxM+b5DsYJucfl58ShJuoOHBbEtEBqO2dA82iXAn2nkX6cyQLtK+6SYvIcm7wQBZ3l0A0jSVrXYoyrvX3sIgCR6QBz2EUmKkSQBbcDBPtr0SXN61AcWTmLpO3z0wdB80caDs8UkEgzrRSHAAFV/Rdkgzi9CtJThAsIZjPGwcq0JCe/MYBXl3NeAUuo+wCgHeIwHxy21+bb38zu/+CzAAlsZVv+kMABgAAAAASUVORK5CYII=\\\")}.ui-flag.PH,.ui-flag.ph,.ui-flag.PHL,.ui-flag.phl{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjZGVjNWZjZC03MmRlLTkzNGYtODBhMy03ZDk0ZjA3NGJhMWEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTAxOUEzNEQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTAxOUEzNEM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4MzNjYTUxMC00MDk5LTE2NDQtYmFiYS01NWU0ZWVjOTBlNzciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDozYWJiZWMwNi02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5YsTK+AAAAwFBMVEVBR5v/S1X19fX86I/38NH67LD6mp+lqM9LUaD/KjY0R6D28+P///70////S0/+5HH/4Vv9OUX+V2H3y87KzOL9a3N0eLX/VF5ESp1ISJk0OpQiKYv29vYdJYrvTFz16ev/TVZTV6KGib7z8/T19PT6+vf/Tlj09PT29O318/P19fT8fYQZIIff4O31+PgpMI//SlT/SFJGRpj29vX09PVzjsk8Qpg4N4//Q0333N5iZ6v+SlRCSJv18/T4trrp+/86GNoAAAAB1klEQVR42pyVDVeCMBSG4W4zaSMQSym1SFGIkr6/qf7/v+puEystYnvP8Tg9Z8/77t47cJbxKO7aa+CI2WB0GVeOtUCI/eriIbbc3nXG2VzMphPbEAgAyDBE1zKEBHCWUTGf2lVCAoogJNYhEEBJGBLISgxxOTIOgYC8IAHjADMMcXpxFFsUkVKQysZCYIiqMgasZRHiJwCyWyF2jEJsAFSI5YtBiB+AvKhDHI2cyhyQB9Q8RA3IcwASBgAFLu5Ahpg4sQGA4SzVH6MQNYCGIcPN8kv9vitahljXgIVapKg7OhfLAd7ydoCcYgWkAuBc/0HlBdt5mOw2SwN4+F2qF8hjfC4+7h9vDpt0+guArY5EaOmLTu+4UdHWEag6QsEYSX3//dXba9Zws4isHquU+yfnXm+RuI2K/mgjSPtr7/qf7V8AhuHlEBE9SG++tnfdtgDZPDXKOS5SQPunFvbfAKqSuoFwhvYHrew3APo6K/ued5W45oCV/XNr+22AtO+0t98CmNrXAD18kI6VvZu4pgBCJELbP5nYa4B+ta3sk8Q1BqgxRvt+ZGy/AnDGmZ19XYPU1l4D0tIvO56VvQLg6PSHlvYK4JctHhsNcp4jbxENrXX+KcAAWLNJ2dIIwTUAAAAASUVORK5CYII=\\\")}.ui-flag.PAK,.ui-flag.pak,.ui-flag.PK,.ui-flag.pk{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0MDgxOWVhMS02M2Q3LWM0NDItYTBhYy03ZDc2M2FiYzNjZDEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEU3QjRGRTU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEU3QjRGRTQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDphMDA1YWQxZC02MTBiLTJmNDItOWJkNS1jMzkxZTU0YjQxOGMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDphMzFjYjRmYi02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz56WxCyAAAAwFBMVEVzrwD19fV6sw329vZ6swzU5LTJ3aF1sAR9tBKYw0WEuCGx0HTu8eiGuSSLvC2NvjKhyFfl7NZ4sgnp7t5/thaWwkF7sw7M36iJuymUwT7B2ZPR4rHc6MXs8OXO4Kuw0HLH3J7T5LLg6c2y0XiCtx2qzGb4+Pi+14yaxUicxU6szWuuz295sgyRvzjn7tuvz3GbxUz09PPY5r/V5LmHuiadxlDS4rN0rwHI3aD09fSmymDE2pjw8+y31IHz9PGrzWnNbSYLAAABPklEQVR42uyW21LCMBCGs4C21TQ9YQu1AlIQhHquWEXl/d9KUsCmeGE2mXG8YO/+f7ffpDvJJuQKoCkEXJIGIsiUNKEeRwQVrQPgbwBhqAd47plagGOY6vxCNgRXWAzDAjIPBoKM3gm5H2MACwBHkKcQFZAiAH2AhVhdwJ7xC8CkAPNKnpf5DwQgXUvrWxnpIOEFK3nAcC07YjWDi9kjNWUBOZcnYvWId7DhywKuuczF6nZsYvbBjMuuxmHiPYSxBuCOy0gD4MKPLuIATqkn6gA/KA1HfSLFpeFlygC2cRK//o3BpE/jcmPd1vYziSfSgDDYmstqBzJKDfmBcrNzX6O3rj3qWPMEPm3MTDyD/aA2birbXj39lKHvhT6tkoGrcjMZbo8388ErLOW78aWd5+bhffCPAVoPzRaxvgQYAIgXFVv/zhauAAAAAElFTkSuQmCC\\\")}.ui-flag.PL,.ui-flag.pl,.ui-flag.POL,.ui-flag.pol{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmZTAyMDcxOC0wNDdhLWI5NGUtYTZlMS1lZmJjNjNlYzNkMDMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTBGMUJDOTQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTBGMUJDOTM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2NTExNDgxNC1iNjdhLTJjNDYtOGZkMC05OTJhYWI0NzY2OTkiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDplZDZhNzMyZi02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4FaJ7PAAAAOVBMVEX19fX/S1X29vb/VF70///18PD+WmP/PEf/VmD1///28fH4+Pj/f4b/RVD+Ymv/fIT/R1L/U13+ZGxRVpQqAAAATElEQVR42uzMyw2AIAAE0QX8ASpC/8VqYglzMDE7c3+qEVX1dfHZgAEDBl4gT6isMqOKzgU1dKyoSymgNgMGDPwH6BQIMO0J1W4BBgBe1QyIAsA7FwAAAABJRU5ErkJggg==\\\")}.ui-flag.PCN,.ui-flag.pcn,.ui-flag.PN,.ui-flag.pn{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozMjllNWFiMi0xOWUxLWU3NDEtODBkNy01NDRiZGQ0Y2ZjNWMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTBGMUJDOTA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTBGMUJDOEY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmM2MxMTlmMy01NWY5LWYyNGQtODNiZi05N2RiMjU1ZjA1MTkiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpiY2Q5MDBmNy02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7NG5gxAAAAwFBMVEVBR5uainr8+vr+jpWvl43rfYosM5BSa2h2sANMUaD609WprcmNsSOtxCNuc7Hz6jEoYuI4P5f/S1WVSn7Q0eN+hbv/4VpolCv02Vx3c4n+trq9qm9ESpz9eYHNzj9MfJpZWZ/VwGfizmI/ZLtJWYJepwJBcs52ToXDxNwUHIRbfE/65mcgJ4oxjAxFUJDd1YQCCHpRU5f+YWptpBW8T3O5u9hLnwBmhD9HTZ5aRZBdXo765OatwIjIbmv+f0ybymdxXAYxAAADbUlEQVR42uyWe3eaTBDGZ5HCgiwKchUk4IUA2Zoa4qWY9v3+3+qdXdQmp6c1Jv92PJ4jLvPjmdlnR2FmKpXBUwPj4FQD1x14cJBX/FCZ7pd7ufTH8GHmDhTF51oKAJoAzDzHAUg1bisDXMs1+Hv4puuiiEPtpD1ggIDU4bA13SdT8Z2/pxugwXbgzoQIfgGAxv2jkLYFDukVgIFazSd3ip2oeQ/Q6kM1dZ+Ox1NlVwAp1M6wF1EPBWBb+0dB3Do1XMsXJWDU34xKpniyiVvxeC//Vmsa166WYMs42N50NlUUoUARnzz8SsabfL3V7398fws49mGaCr7NGSowTXFpnhZeb+M+XIb7n5O3APdKPL8CrCFsAUie3w7YJIm8v+tiFV9YTLi8BUCijGJWR4iKsUEtEaPNUgLMS4jK+x70TehD9mAeNFSXAJKI50MaJFR8gwBfRm57ionNl7uA23D07Fwu2KnwMiENhUZfk5ZZVpjGCRTz5b5XoHGOPkgrBa1bedKJlbBxZaAPOO+tLLoXUtoUrWVFWRwE8yLa5BcncmeoCO+cnch9RZywoXM+CE0bYjptYiKCQhxFQZQE5HIWjsK6Xv7rLBgeFjM72qezoGP2HrACVUWA1QABEgSB2pcgHz87+tqr08g1XxHQbS9i2bQU69BpIRQUsntRkHS9lc+PfzsPaqOSXPs0D6iVFPP5gwAkEQ33VtCdfCC0imEgJ1J/mDQxkTiXIgb3vRPXIcuiByaMkATUYvP47MQv7hQngSNr1bZCQSVGGuBQOqCIp4mUkJIieCnLO1X1bbu8Ez1ZnwCT51y7jA1j8vw8MU4XqaYZ+eRerMURtuyuLMfq6GVclmWst72PEIC3Oef81BHT4TIFxWW/ZuGWEQF4ZCMfCckad4adthHeEZS2G3ZXjoejr+xxXI7ne0jO2/guABIyuijHD+zFQgnjxMJ8AjcAwiZrFihgpfyHEsbArLiAWwAdydaL8QNdPbY7lACMruObAOjc+WI42mUjtmKPiz2loX4TALogNlAAzRjdjWxo979+F94HALQeo9aOoYdYB7vlzQAcIjqLdmyVZV9xwMDNAEgItIxlLKNriDYfAKgBWa6sOaN6F0TwAUBcEFi3q5UOXVF8BNCf6mb5268zfCr+AeCz6fJvnvGpsP8XYABDZ25dWHI3xgAAAABJRU5ErkJggg==\\\")}.ui-flag.PR,.ui-flag.pr,.ui-flag.PRI,.ui-flag.pri{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplYzI2M2Q2NS1lMjlmLTdjNGItODkxNi00MDQyNzk2NTJlY2EiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTFBMEE3MUY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTFBMEE3MUU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2YjA1YjkxNi1iM2U0LTFlNDQtODYxYS0xMTQwYzg3M2Y2ZTYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkZWYxMDY3OS02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4ogYX8AAAAwFBMVEX/S1X19fVBR5uZYJFUWaS+dZX7jJOytdT47e7///7/fIMyOJOxSHFESp2TlsXO0OTz////VF7/Ulz/SlT/Lztvc7L5rbFLTJz53+ElLI14R4XXTWc5QJcNFYEsM5EbIojjSl/Dxd339/ebPW+IjL9cYqn+8/JLUKCbn8lLR5fySln09PTw8fPf4OtoXqLy8vRDR5o/RZq8vdj39vUoLo1LSJjnzdfWma1YUJpTR5ShU4FARpt+grn09Pb/PEc4KYJEqq3aAAABoUlEQVR42qyWa1eDMAyGMUNZ1nW46dQ6LoKwobjNMrzOy///V1JwjO14zkrr+4HDlzxJ0ySN0ZkMddQzAPqGlp4Arm/UzYcCAI99TYBGEBuAcia2gCKIMwUNjTuodXveXl/G5RYAi5eL1jJm0FRy2lZ7AIjto1Za7QMABqkmAOJAE1AEsVQB0JzQzb8ZKADIOCbbICLZIOo6cDwM/MYxXo9PpFRV4ppzFuOcOJyva8T1vVQ3lAAvz90EMXbzRiLgTaLBRqKZHCezLeshDOdWZkd54xyHgyi7kZPCO2Kaiu/Y27nRiVQ7c9+cY5HREC3CaNOeygGA+o4goOWSpj2XPILIovkp4s9YfQl07X33ZSZSNVD8AWKSIZqbDFAvf5cbamUhOWQZjl2WoFXVEnX8WdadTqfdg6pKmdNB7BdWH1FZzZSxKESUK+XfXmAie5R5tHIfFLeq2s7CPWKYKs4D4d6Wdf8HgLK8uI9VqjiRKPHNNu73AZR47dzvDBQxkxbPV62187SpLhig8cL/2/OuuWDorjh6S5b2mteZjHTU+xFgAMl7SWmklwhbAAAAAElFTkSuQmCC\\\")}.ui-flag.PS,.ui-flag.ps,.ui-flag.PSE,.ui-flag.pse{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDphYzhlZmY5Yi0wODQyLWQyNDktYTViMi05NzhkNDJjMzY5YmQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEVGRTdCN0U5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEU3QjRGRUM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5N2QwNGJiMC1jMzA4LTNiNGMtYjE3NS1hNTQ2YWFmY2YzZWMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmOWE1Y2FjZi02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5o1DfLAAAAwFBMVEVGRlVzrwD/S1X19fV6sw0kRVX//f/4oKVVxQCXlhz/NkXGSlX/JjJPT15TU2F4R1VpqgA4OEhRUV//Nmbu8ejt7e70//5rtgH/TlX/VF5YSFf/P13s/fv9Z297txOfSVV2rQBJRlX309X29vbmSlT0S1L18fL/Qk7/TVT19PT/Tlj/RlBfwAJHRlU6RlVCRlW8eDHTmm58fIfbX0T+W2RBaXb1+fnDcjXqU0+/gYlERFP/SFJyrxCZxUb/R1j18/MUh2kFAAABPElEQVR42sTTa1eCMBwG8DFZIE4rV7NCTcKUW9j9Xnz/b9WGIQinc7b/XvS83+/wPBvobZgPDXKP8PKCoADBc47xIcnBwlgC+BIujEoAD3IS3JgA8CEqADxEDYghSGAEwIZoAnKITWACQIZoAfpDtAE82JBjnby3ATHE02isns4X4HTtTKen6ukAydpzDjTSAYRAZyHvxT2lhF1AhCZX/Dk2ABLPczgv4IAQqKLwB4CTlM4KbgJ80MeVASBuQlSI/29EmoprLKDXKPdb8RD8kM4Mn3Lke+JnOlHPPhBhdt3P5rZ65ntA9M0eLPdIJ59NIPLZS5YtLJ3YDSBift+d6J1vAGV919I8XwOy/sS1tFMBov6tbv0mAKpfA7L+Qr/+DtjWBx0vAXD9CgDX/wXYK7T+NujOzmyDfP0IMACmXEDGNGMZcwAAAABJRU5ErkJggg==\\\")}.ui-flag.PRT,.ui-flag.prt,.ui-flag.PT,.ui-flag.pt{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo5YTkzZWU0Mi0yMzc1LTJlNGUtYTE5Ni02YTI0NmVlYzhlYzgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTBGMUJDOTg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTBGMUJDOTc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDplZDU0OTAxZC0xOTg5LTYwNDktYjAyNi1iYjgyNjk5MDJjNTIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpiNjcwOGU0NC02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6l78OWAAAAwFBMVEX/S1VzrwD/5FtotgD/slj/6mn/VmCYvBvW2ehZpgD0/v7/Ezj//Fv/OFT8ioj+3Fmmr9PgYkNKUKD/VF57sw3/mFj/PWL+hWr9aXH/ilj/8lvX1UX6rbD/xlnNzzq2yC11sAH/TVVhqwD/QlX/VVb/GkX/d1b/lk+Eir7/I0N0rgD/NUL/ZFb/LVSnvlFwuw16gblvsgByrwD/bkl1tw3ByODeWED/SFX24eL/UFD+gIZxrgD+XV3/c0v6nZ3o208JQQZDAAABgElEQVR42uyW21LCMBRFS0zFNAmR2mIbCPSCFIQqV4Gi8P9/ZQLIAzDS0BfHYff5rDnX3RhvU+dU0/dq7SmXMmP0WjrV6K5aM3LKKRUC3N8AfxnwcT0gWEUokhnQNA6vAQQRKrfqGyagH6fzUBswRk7dNE3AOSHMv5zEMWCMyjKaga04gZSGWoBAxZODFCHWAkQBMJmbuDv5ghM/DXUAqGkSKAYYTyDGPQEJB22qAYgcAAhcfmZZpZJVvKXPAXFTDQBqmYzAnmdZj0PLauCOBAg6zw0YywrADtC19wDO2nFuwCqqK0Dy/DBTXyOBXA5zQPUBQ7trD219wKGEfQbaJagmAi5of7HtgYd9IpsYz/XGCPhg4i9mXWudUEGY3hjVIjEi3K+wsvb60CVAc5ECmYIitF8wxtSVLbyUwNljYgS4nY4viFpLzWMqrbYEoA6RsyvO+dhQLsaf80QUlZsbpizNyOGKZ00VoVEBU/2x9d+P8PZv/G+Aws+8og/NbwEGAHyaPTstGYO+AAAAAElFTkSuQmCC\\\")}.ui-flag.PLW,.ui-flag.plw,.ui-flag.PW,.ui-flag.pw{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmMzI2YThkZS1mYmQ3LWNmNDctODIyZi1hY2E1ZDZlMmIzOWMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEU3QjRGRTk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEU3QjRGRTg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDplMDE2MzhlNi1iNWFiLTk2NDQtYTE1Yy1lODg0MzJhNjg3YzQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3MmU4MDZjMi02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7DYD2bAAAAwFBMVEU8yP//4VpGy/9Iy/+a1aM9yP//4F7/5T0bxP//5zXX3XZLyus0x/7/4lX/400Vw/9lzdv/4lEpxv/o32j/5UFXzONJyvMkxf//4Vwtxv8+yP+q1qj/5EZ12P9rztYhxP9Ayf9dzOJEyfIRw/9fzd704VpPy+r/40qm15eZ1bM6x/vo4GI5yP9yz9D14GTQ24L74V7O3Hr/4Vf/5EtFy//24VVDyftEyfpHy/+f1p3v4Vxzzs83x//84laQ1K2h1a8aCWddAAABjklEQVR42tSWWXOCMBSFwXqFWEgkRjAYwRWs+9bd5f//q6LT6bQaO8HMOO15ysv95t7AOTdGs6ClpqGttV75i1HQA9z9bQBseBDHAd/ANQAIKaF+L4p6fnYIIS+gxUlnt+h7aer1F7sOoa1cAAhtp9hHDLuZMEOPr44tb0IOACBJFaV181N1jEY1YoAyIOxWVtZX+RFhiagbqgJadrJiJfOHSkzU7JYaADitWif1GcGacgpKgLC7R3XzTHXUkAwhA9DOMjUlwp5PVQBAHmQNHFrYE1AAjIOZZUplzehYAcCfplgOwHOfKwCCtufKAS6uxAqAOEovAJZiYt8CoD0Cf/7lEqnWZ2RlurnFj2RQ35XOgHESKJqpccFMBBTtzKcyO88dRTtngVITZ4EiWE81UA5DROIk0hh7V4+0LD1Je4Tw91B96+UJ1SzWyXDgIea5y6XrCeQNhgQg32Kh5L5Y3mIh8LZcTPIuluNuoIQnlcmkknASAFy1XB0a23ZMHYD/+j5QA6x1AdrSfWh+CDAAnWAkW7OSypwAAAAASUVORK5CYII=\\\")}.ui-flag.PRY,.ui-flag.pry,.ui-flag.PY,.ui-flag.py{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0ZmQ2YmYyMS1hNDc4LTJlNGEtOTJhNi00YmQ3Y2JiNWIxM2UiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTAxOUEzNDU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTAxOUEzNDQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3M2QwMGU3NS05ZGEwLTg2NGItOWMzMy04MjE5MWM2ZWY5NzQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDphOTYwYjFmMy02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4SP7FEAAAAwFBMVEVBR5v/S1X19fW09tL/PUh3brPQt0Jx+Y//JzlLUKD/VF72/v3+Vl9KUKAzOZT+YGj///z17e7s7PDJ+Oz4ycv/ZHyQ/6n6mp/8trfq/f729vb0///Y3Mz/UGr31Nb/Dhz/WnBNU6F61pn+gomrxbj19vb19PRZXKaL1ar9jpL4vsHs6++f7q7/Qk70+PhARZvx/vSJsrj/R1H/TF09Q5mtuN7O0Lv/SVP/EyGP5ZyBa7iKcMT/bIb/U13g2s7o2dOSOW8GAAAA9UlEQVR42uzSS3eCMBCG4akkJBqtbYFKHUQqBgqivdgrvf3/f1WOe2aR6ZJn/fGeQxLIJyw5nDHBN+/7KUyGwBD4j8CTYHmD+ZRlDpcUi50DOQEk1YtFTS9gOeqFqdD7vRYp2t7Nsj9QYPqepQ/mN1uHWDgEzEFkngqMF2TCGocA1vpVPcry5TrRMboEqtXH5tP35V2zyh0Dzab1/dY5UOtEbVu5VY6/0B1i1B1io4JIF8bpGsN19OM1yVd3jS7vYGQxFPp41DpES7yDC1JcVTG9gCvC7uZkR22gnLGU8HzOcg9jYLkdAkPgFJhxA2xyzCL/BBgACnw+jKcMzIoAAAAASUVORK5CYII=\\\")}.ui-flag.QA,.ui-flag.qa,.ui-flag.QAT,.ui-flag.qat{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDphNmMwMzNmMS02MDA2LTdmNGMtYjViYS04ZjgxZTBmZDE1NTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTFBMEE3MjM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTFBMEE3MjI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyOWExNGEwMC05YjViLTE5NGMtOTM5Zi1iYWQ1ZTFjNGQ3YjIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDplNzMxMjY1ZS02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4hblc5AAAAwFBMVEWHMlD19fX29vaNPFn////j09ltBCl1EjX5+vmPP1uINFHLqbXs4uV+I0OaU2y0gZPp3eGGME+mZ3309PSELUyscYbFnqyBJkZ6GjyeWnL7/PyweY3CmaeHM1HBl6aELEvy7vCHM1CpbIL4+Pjz8/Px7O6gXnVyDjH2+PfRs7739/eBKEhiABi5iptfABT+//+3hpf5+/rZwcr29/aRRF/19PSNPVqOPVmLN1SSRWDYv8jIoq/29/eEK0v09fSNPVm+0j4zAAABJUlEQVR42uyWWVODMBSFQxvWkpYAmrQFWoyCWhdwa93//78yPDeVePOAznje75nck/PNXCRG+xJ2UVHOqf857tMJsvb1mGCM7ePlNKWoX5ZKiZAWOCNp7/gWjVTz7W30Gm83Gg/wlQaLcOpcOYTmUANxdnE9f6/dIAcaJOcygbU9YxRqcC8N2qhhKdDgcn2XxbkLX6EL8cYhJThES3RdzHW+4YBB0nZFKgg0g1M5H06aagX9BS9cPjO3JuAQvfAo4LXLghK6wkKbxkMhatPof0PjeENLMxqRGY2rwWn0fgGNyIjGrAoGpjGaNHMTGh9YbUbj7p/Gv0/jmzQQRjS+FDEalkZPn0blkfXxAxqVRcQdjTMdGhFSHpqyhzvOU/+p/9D8EmAA2R0pCMW+CLUAAAAASUVORK5CYII=\\\")}.ui-flag.RO,.ui-flag.ro,.ui-flag.ROU,.ui-flag.rou{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiM2JlZWU3Yi1lN2ViLWNiNGEtODU3MS0zZmE1NjhiMzQ4Y2EiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTJDMzc5RTU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTJDMzc5RTQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozOWY4YzNkNC0yZTFhLTA2NGUtODIzOC1kYzcxN2U2Y2I4YmQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3Y2NiNmQ2OC02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6QZabQAAAAXVBMVEX/S1VBR5v/4VpLUKD/+Vs/RZz/+0//SVX/sVj/OFS+rHIoM6T/VmD/VF7/42L/tWHBsHlKUKAnMqQzPan/+WO9q3FJTqH/Ul7/Ql3/+1j/Vl//fIR8gLp3fLj/gIe8GT6gAAAAWklEQVR42uzWxxGAMBAEwQPhnZDwNv8wCWD1oOp+qp0A+j1yG2idxmOAZrtvPfRKguV+KVIoq+pSArkA0Da/gVOMDugIECBAgAABAgRiBJwWUG/eoxvN6xNgAJR5Gk0urkK7AAAAAElFTkSuQmCC\\\")}.ui-flag.RS,.ui-flag.rs,.ui-flag.SRB,.ui-flag.srb{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplZTE2NzBkZi01NjIzLTNjNDItYjBlOC1lMzY5ZTA2N2U0MjUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTU2NzVFNjc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTU2NzVFNjY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozNDcxMjJjMy1iMmEwLWZmNDEtOGMyNi02OWYyYjFjYTg0YzkiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoyODA4NTAxMS02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7slbd0AAAAwFBMVEX19fX/S1VBR5v0NlGwSnT7VWhKUKD/Ei33sLT9zlX7ipL+slf7a3T/VF75ycwzR6D/llb/S0////z+eFf+7Vn29vbOjZHz///16+z2lWqMcYDs7PDzdYDzS1kzOZRJR5jWrK7vq2v/PlBWVp6wP2nOQl7jTFb2+Pj/S1f18PD/VVb/RFb39tI/RJr/SVTxO1zxS1X/S1m0rG319PX12tzRnaD/Tj79MD7xw8f09PT/RlD8SlT66qLO02j+xXLdYGcpqtmIAAABd0lEQVR42uzQ0VKjMBSA4YMUGpKAqQEOLdVWWsFSLepS00V3+/5vJb2h1vEiBme88ctMcnX+yRygfi8UrJ7A7zfv/wY+C8iyT6As5WL8lcRpQDLPY5Pr9hJmASakWLPNWmw80x9IZnlSCMH0A+XoyPbC9hyIZqSnBOfyyJ78E+GTZ7FJdanJAXfWybOKjauqml5LuxnMtCzAPe8oSthdxJO/r+OdWp5rccE969jJ6kWmaUoUQb4803IS4IjxTb7b5zEiMQlMEeL8FrgVF0gGRoEozq02sAXzAFlBkuyMAxDvfaB8+8c0UMz37Q4e5mgaQEryhG9pbRqgGc7j+PAERgE6FGMH6eN/5VDtwP1Vx34WoZpiMPS8Z7W80nIPC7dzw0Khdlj4ozC0Bq6WBaRHRLJsvWo3ORSM16keuHjHWSuKEQZqkwUXmiCCo/oQQKybjICm6CQANc8cyptGe/5jACCgU0oSMA981W/gWwLwwwGAIuqleBNgAHkuUdy26Xi4AAAAAElFTkSuQmCC\\\")}.ui-flag.RU,.ui-flag.ru,.ui-flag.RUS,.ui-flag.rus{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyZTcyYmJjYS01NTgwLWRhNDAtODI0MC1mMjhlMWM2Mzc2ZmIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTJDMzc5RTk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTJDMzc5RTg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyODFlY2QxNS0yNjdiLTU3NGItYTM3YS05MWIzMDUyYmY4ZDIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1OGUwMTUzOC02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5EpG4EAAAAY1BMVEX19fX/S1VBR5v29vb/VF7///z/S1Dq6u8yR6BLR5c0OpT1S1lJT59NU6FLUKD/VmD4+Pjr6/BUWqX/f4b2VGFSWKRWU57/U108UKX2VmP/VFn/fIRBRps+RJn/VltUUJw/U6bH/uRsAAAAX0lEQVR42uzMRxKAIBQE0UEwB8Cc9f6n1PIKQ5Wb/3rfcJri8Df9JgMZBBjEJPiU4jFUlBZHQdnRRJRaBjIIM5gzyo0rp4zoS8qCNaGcMIpiZSCDbzCxA0VCZyjbI8AAYlYdc6EB82YAAAAASUVORK5CYII=\\\")}.ui-flag.RW,.ui-flag.rw,.ui-flag.RWA,.ui-flag.rwa{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3YWMwMzUyYS00ZTk0LTMxNDMtOGYyZC0yY2Q0YTVlMTNmYjMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTJDMzc5RUQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTJDMzc5RUM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowZTZhOTUwOC1hNzg3LTNlNDQtOThkMi0yYWU1NzFjOGJkOGIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowMjIyODY0OC02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7TeOSsAAAAwFBMVEVBc83/4VpzrwBLetD94Fu3t4ZapgBxrAz+6mqxxSpSfcKFm6Ragr6iq5JNfND63l2ztYqTo5t1ka5NesVCdMytsYx7lar022JCc81tjLLZy3FFdspoirW8uoJyrAtxqw323GBihrnKw3pId8nEv37+4Vp0qUV7ndybp5arwTSeqZXdzW/Rx3bk0Wvs1mby2WKyxipapAz/6mqnro/v2GTp1GhrjLP15HGOoJ5Kes9wjrHgz2z+4FuYppmKnqBMe9CmsAKEAAABP0lEQVR42uyU23KCMBCGd5WeIsghEG2CrSniAbAeULS22vd/q8Y605leJrnxwm+4yF7wTf7sJjBpWzEBaz50f+irj8YA8W/1DW1tQSTgJCC6CLq6AtoHr4A3CBO1NhGQRMJQcrmgbkL0BSq//GIV5sgjPz3XmgIRHSlD3Ay2iJ0sZJl2BOLNR/mgCZsAR/PaNTgDaPyNXKAv53gwiEBOA/5eTxHRKzZ8tCe6glioHWxTJUhLJwIRa0egYVnlSTM91Fh9Hinod8GTEWIZcETmevpdUONLnE6lInDmu+faYBIPMHzmTS9OA2I0yhkUtboL0xqEkUD1nlHYx4IZ3sbLe0D+3gMDwX+6cGdHAD3HigXkaIUDQztB7ya4CsFu/WjBegez5ZMFyxms7q1YwUvLiteb4CoELUtg/GDF+EeAAQAZaivvTj12+QAAAABJRU5ErkJggg==\\\")}.ui-flag.SA,.ui-flag.sa,.ui-flag.SAU,.ui-flag.sau{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmMzJiM2ZiMS03ZmQzLTBjNGYtYWI2MS1kZTRkOGUzNzk4NWUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTQ5REQzQzA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTQ5REQzQkY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2MDMwMjQyYi05ZWJhLTM5NDQtYjc0ZC04YzZkZjFhOTI1MTgiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoyZGI4OTdkYS02ZWE4LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5V/h+YAAAAwFBMVEVzrwB6sw319fWbxUzu8eji69HF25rK3qO00nqCtxx8tBDB2ZPW5Lq51YSKuyu71oix0HWkyVyEuCGszmt1sASOvTJ8tBGUwD3O4KuexlHZ5sHR4rHg6s6WwkLe6cmRvznw8uzS4rSZw0d/themy2CqzGa+2I6vz3Dm7Nh6swx9tBPo7tx4sgrz9PHQ4a/M36ihyFfU47e31IB7sw50rwH09POgx1XH3J/r8OLX5b2HuiZ7tA95sgzc6MZ2sQaeyE9Cfd3WAAACSUlEQVR42uyW246bMBCGJwMYCAEMgXAIhGOAhAQCm4WQ7mbf/61Krypty3YrVPVm/wvL9sifZ0a/LMPbYpYYmK3DvOPfYDEPsPwCvAcsNuNgJT+mCbQiPP4WkOagH4iSPMCRLqyhZCcw77AUN4uXBJ7uMAYg+QhgZXqT0svKAhtr9b465ykiR9KqlxpniW3PVZtCekwCrEC9eRcfi7tRuAGgYBDa+2Gk7207IpDiqj9X7OtxEpCdJTtcQ7VNXR5WOerAwU6M0EwkQaUwpsVkAu6nSwhuXBU18XCjyi5XQ9pUYeUR8aYWw5r2Qh27hLzQxpgEGK+3nGWHQFpDx18NhWQbqvkgeeATQV4jyFiCsjOnm3iCAy+Bk3mWlZNVmARut0XdHGuphQpMRvLwevW0D4zUrpztlmMRkQqeRqD1OBXMcwM15cVtRrpIhXFnCnCsXUtz+Qgl7QR6ZXAcYn/ReFq3MpVitRuYPRo9/5GVVRRAwkCT4MLBLWSfx2Q4TSn7NIIxEDMoCNMALVaasyN4RaK0MVrHEpLnkJe1LYgNsS0M5FSo1VKeBBRE5k1ebcYrCJrAYyyrIFhBCU9lmBO+uYlmAIU9CZAw4xxTLsR16Xm6zZkcDgpifveRaXkPDoqdg3N2ppvYGYo7mtD0YqCefRqtRe8L4ZFjB/rzaEWgZGD9P78H13drZvlzHl+/3sT/CFh+GuDvO+ZXXUqNYfTPASL8rUKWxeCTJTwdN++V4G4Y0J/RA5pl2frLSP8GcJgLmC1m3kcz/i7AANr+OoBJFqWvAAAAAElFTkSuQmCC\\\")}.ui-flag.SB,.ui-flag.sb,.ui-flag.SLB,.ui-flag.slb{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowOGNjYmEzNS1lMWI3LWRmNDYtYjc5Yy1kY2U2ODEyNDljZGMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTkxOEFCNzE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTkxOEFCNzA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDplOTdiYTdmMy1mZjljLTBiNDAtOGRiNS0yYzYyM2UzNmI3ZWUiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDplODQyNzQxNy02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7XJtzgAAAAwFBMVEVzrwBBR5u1yTKmqM2SlsRYpQGSuxtucrF2dYlkqQCkwi8ZJar//kx1sABLUKBESpr/7G2yqnEoMqXU1UXVyWTm2F7+4Vr/42J6sw3X2Ob/9VH+61SLiIAhLKd7shBgYZA7QZ719fUwOKHDumz/6WL/313Fzzzm5+50rwBSV6P25FnGyN5SVJY3Pp//41drrAB1sAn/6Gjt7fHh2k5GTaBLTZnz4ItxrQRxrgBCSJtjaKyhnHe6vNd+gro/RZzu31UsvFSqAAACMklEQVR42pyUYXeaMBSGkxqKCgJjaylausbqAJmtsK4TCu3//1dLAsZIiUTywXM48T4PCfe+oLIGrtfAelqs3gActHLbDcYb89ZbAWtIvf1o5E/mfO1spjWgKsRtXe/X32/M59T5tdMIIIfQR/S33s1hWfInif5vo9cmDwSglyEOw+qwj8IsC9F5/YLp/2n7GQVAy8dYqCgxLuX6rfGb6T+vtckMAAaASYar439GGI+k+sAl+ts0ZXrQAGIEdeENUBwjuf6HueD6A4CvOD57+TnXv2igrm8BSnTu8mu9J+hbAIQyH1UyPQzc9znVX000EIEuQIUxDguJfmn8ZPo/or59BHL9lUy/ZPrVqb4NSApUyvQ3TP+gvYj6FuCV9tTXHrY/jC3Rrx2qjyLQCUAn44OQor4BFIWVjSx+e0We+HYh6L/RzvWmHfoGoJPLw5i/A6JPiOvHN+az53zv1PMjEILw+apDPdE/NnpNm0VADvBHvjiNScI+hu0a40+mv5PohWEqhAZAloVYbHwc9BOJ/sssnMSGQUKT6ndyvRxA9DZPLbleBmCZvVDQSwBkbpvQbA2OGoCkVh2aPLUuA7RD80IASa3gns6tQ1Jrr1DfAnSE5iUAFprzJjT3avUigKeWul4E8NRKr46ZfQFAGppqABsaVL/uCE0lwDG1rvs6twtAYmP5TlunMzQVACy1pKHZD3C3TO8N0TNAf2r1AOZNZs+iIfWkY95WKTn97m7gmv4XYABLP1uuO/j4TQAAAABJRU5ErkJggg==\\\")}.ui-flag.SC,.ui-flag.sc,.ui-flag.SYC,.ui-flag.syc{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiZjUyM2ZiNS0zMDkxLWU0NDYtYjY2MC05ZmQyNjBiNWU0M2UiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTYxOENCM0M5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTYxOENCM0I5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiMmYxNGVjMi0xNjk1LTY0NGEtYjU3NC00YmFhMzNmMWRkOTQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0NGU0YzMwZi02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4u1fTAAAAAwFBMVEX/S1UaJ6j4n6T/sFn/y1qizWJBR5tzrwD//Vv/Kjb/4Vr19fVnqQCzoHb/OFT0///H36X/VF3//v/3ztGIvTC404D/42L/NED/Tlb9ZHb8foX/V2F6sw1LUKBcowD5t79YWZP/LlT16era58Ts02MuOKP/8VR8tBL/QFfj7Nf//0z/P0n/Ylju9Or6+P3/8V18gLqYi35MUJf29/f/R1L23t7/6lj/E0CUwkTLrXD/4//08vFlaI1rqw7Y/+L/rDjcW+K+AAACJ0lEQVR42pyTa1vaMBhAAwhNLxqosMaKRacFLA50rRXmZf//Xy1JS3Nvme/3c96T5Al4vtFmNHrY/VAH7p7WE31iMNKn95J56hD+DgPT3Gh8mj4sTbwRvzYIDAFW3iQwBMDS1m8S6AFwN7HxBkE68pbqfjtvEGgBrbwu0AJgiVt4XaAGQK+V1wRqQBevCZSATl4VKAHQAx08mMgCOaCTxxu3kARyAPSKdn7jbuJLSdA7z07lMYjcSf8VIVEgBbTyuHDd6/47QrkvCsSANp4cPYoXCCHf93NBkP4umwB4trbykQviywqXBUKAlcdFRNp/0nZfFZCAkvMX2NJ+tfDr5aqAB9h49mxIxEUBD4BnFzpPnw3TZ8t93yxoAkw8fbYr8ei6oAkw8Ji2L5R2VXAMMPCRW8SvZpwL0ttlaeK1Z1NnWwvqAIWvni23Ld+GYVgL0lt2A3Ag8aZnOy4mbPh+PxtOK0HvkGl8/dtyI7t9HM/2qyBJPpmgugE4uDvywm/T4V90sZMkSeA4zooJWADnxd8ms/njeDiliynLhgl6NIDz0m/jt0Wih9MgEWAuIAE1X7ULz8YW+/dksRMobCOgAYRfY+W3ybcV6HAjOGQVLzxbfVtjfluWIQISwPj6t6H8lMWS4JCR81e/LdSeqWtWIP3IBu4b+W3stsgz7ecnLBYFs79v6/4fsphGn7pYEHwMSPsXua158J9sNaB/ICf+pDP/zuz/CTAAKb+BWan/9IUAAAAASUVORK5CYII=\\\")}.ui-flag.SD,.ui-flag.sd,.ui-flag.SDN,.ui-flag.sdn{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplYmJmY2U3Yy00NWQzLWU2NDItODdhYy0xMzMwNzIwYmE1MmIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUNCQkMwQkY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUNCQkMwQkU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpkY2ZmMGFjZi01N2QyLTA0NDEtODExYS0zYWFjMWFlZDY4MjkiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxZGY1MzU1Yi02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6vvBZiAAAAwFBMVEX/S1VGRlVXxAB6uAlzrwD19fWXlhr/PUj/VV7///9PT17/VmBmuABmqwDE1pip0W1VaTpANmNsZYb/N2ddpgA8L2dTU2E4OEn17e7s7O30///nWU7/Qlz19+240YxVnwBqmhZ/qAxHSFP/TVP8+P3/TFRQWUpDP1pHR1RGR1S0fizQaT1FRFfXYkFHRlX+YWnuUFBfgCn28v5vrBBihiR6shiJujJwpw3/bIhyrgeOqWPKqGv/SVNLUEzc6b9ERFTFTQTdAAABNUlEQVR42qTS61aCQBQF4IEzFcNFQwa7kVhCStk9Sgvz/d8qIG05YGsN5+z/863Ze4Z9WZFFyIKZV08BSxk+YLr3QTTBHncYcNe8xQsVUAqHUTAhAJzjh9gA3HTvcDW2AHqIP+B3iJQAVENcBEVKAFBDKABmCBWohiiCoy4pVKAeYuFYjnYemwB33Z5ITvXTArgn+0Kca6cNcB6/X4oD3ewDeJx/i4QCcCl7usJ+gHtxX1P4B6iHSGhATgKoFaQcCUEYUb7SnpH6kbzyK+unBQAfJS9n+mkCsLwZDG39DBsAjB/Cky5ZKwDAm+9fG12i3ADgOJx2O68AZf1wPjPQAIynYZYZWADguWt9BcDU3wVguQrnmYEGqvoz1PkawNbfADm6/vYGH6vur78T9mn7NiGDHwEGAPObQ8yelnL/AAAAAElFTkSuQmCC\\\")}.ui-flag.SE,.ui-flag.se,.ui-flag.SWE,.ui-flag.swe{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpkYWFmOGNjMS0xNjBhLTg3NDktYWYxOC04MWUxYjg1NzRiMWMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUQ4QkQyNTY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUQ4QkQyNTU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMGUyNWRmNi1iZGE2LTBhNDItODdlMy0zNWI4ODFjNWYzN2YiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1YjBjNTVjNC02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz521oUhAAAAwFBMVEVBc83/4VpLetD/4ln/41h8lakiYeCHm6MhYOD/8Ur/70z/5Ff/9UX/5lSmrZArZtpfhLsfX+FNfNB3m9v/42KQoZ18ntwtaeL/5WD/8VX/51P94mQASvhFdcv/510qZ+P/80hKes//5FaDm67/9k7/+EJnir7/312rsZaNoag2btz/4Fv/7U7/70uYpZj/9EeHnKIhYOEJUu8HUfD/8Eswa+JMe9D/7kxxj6//7k3CvX95k6v/8Ulkh7fHwHxsjLNguT9jAAAAxklEQVR42uzWtw6DMBCA4TO9pOOEQBqENFJIg/Ty/m8VhFAGMxjJjP5WS/9wtqWDnkBaL/pjjPFsNRHoLChqtsw6QqjWaEMZPlvgAgJboMMDPMADecBWSKeR6aaBeTRU6BIIZNK3K03TwO7xlukCcAxSvEWbNLB0XwZV7ACWCkSUESU6EwNGLMRBBQGxKD8sQcLg6CTvmg9xr1N5DoQq6Rll13j/3FSqQwi2Rjr/H5JGdUz4b+QBHqgq4LMGmNc8i3HR/AkwAIvaJiaTwTidAAAAAElFTkSuQmCC\\\")}.ui-flag.SG,.ui-flag.sg,.ui-flag.SGP,.ui-flag.sgp{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyZGE0MTFmMC0xZWNhLWVmNDAtODA2OC03NmRkNzU4M2QzMDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTczQzg2MkI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTczQzg2MkE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpkNmFmZDM1Ni1mYzg2LTc2NGQtOTVmNi1lYmNlMGYzNjk0NGIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo5ZWI2MGQ4NS02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4b83H1AAAAwFBMVEX19fX/S1X29vb18vL/UVv+Xmj/VmD/VF7+YWr+XWb9cHj17e730dP9hoz9gon/Ulz8f4b/Tlj9c3v/TFb+VV7+ZGz5trr+VmD26er9anL18PD5rLD7iY/3ztH9aHD+V2D7jpT4+Pj9cXn4u776n6T+WWL8eoH9Zm/5r7P23t/+Z3D/Ulv9dX37h43+YGj+VF3/UFr+Vl/7kpj+W2T+ZW718/P8fIP19PT9cnn3zM/4wMP9bHT32Nn8gIf5tLj6parhFuikAAABD0lEQVR42uyUyXbDIAxFn+KmNsROnNi1Ew+Zp85zmw5p//+vCpw2WQu69FsIwTlckBBCdOKkLshR8A9uL8rq8oa5//QIENsOhmXbGhAXwIN2/FsrwAvgSe3swlBaAHIAe+ONgJEFoARCNax6lMbxPfk5E9AfAhXR1WdtTv+owwEPsFERnKn4jSUaA5IHmCvAI9Gku77U0zTe5zzAGL9ns/WXgw4QmYWdNpL/Cl/Amxom2euSkm9vm3IBQsWwVjd5R0lJhkWfXYkVUGyIgrn6TcEgsPgLU3WHa+skmhpePON8KewBRHdyWq3YAMeGlOBJtB0kLlB4TlIV6KqW6/YG0AAaQAP4l3aiNWs5afYjwADmwhYkRRMukQAAAABJRU5ErkJggg==\\\")}.ui-flag.SH,.ui-flag.sh,.ui-flag.SHN,.ui-flag.shn{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4NGE3NjY4OC03MDI3LTk2NDEtYTQ2YS02NGM4MjYwMTFjNDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTM3NkU4NDA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTM3NkU4M0Y5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1YTk4MmJlYS0zOGFlLWI1NDUtOTA0ZC1kYzllZmMxOTNlM2EiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowZGUxYjI2OC02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4ZoS+kAAAAwFBMVEVGRlVzrwD/S1X19fWXSVV6sw39cXn5rrJPT15UU2E4OEhRUV9pqgDu8ejt7e6QnRT/+v////9rSVeGphD8lpz31df7jpT17u74w8b/VF7JSFT2TFb+W2T4UVLqS1X29vZ9tBG9ei2jjR3Vajv24eL/Tlj+fob+S1VMRlXtWErxVk319PT23t/3ztH26Ol2rQL/v8RyrxD8TVPZY0D/8vfCZG5ypAV4qwP6nqP7S1V8fIdERFOZxUbNiE//+fpEOUk7Ua4HAAABLklEQVR42qTT2XaCMBSF4WQHoda2amXSpgOo2Cq18zz4/m9V0GUXZMHFyfkvuJF8kkMQL90DTp8CF6eC1Rk+HMbyXgEADhfA5JoJ2A9iD2DhMAHbQVQAu0FUAatB1ACbbRgAXTABTDaHpL5MoBhEj1JXjGHmnVBqAOAPa91n3u+wtSYA7lr9N3MR5qq1y0YA+nZ/Q6ThKRWHRADlqm0h3O2VDGD3n9EcQR6+a4S+TwSgo+L3AIhmejdaWyAod4B5br2FWCkXunSshxiM4yjLOK9xVZ4HCmAepPWKdpD8Qa3iKD8PWmv6mI4piXNj+bLfoXRlAk+vR6QeDCCRxIwnSCULuOlLFjB9kywgkZIDLFLJAmy2XwWmd5IFJFJygMdUcgAsR5KT+Bl1OH3/CTAAspI0C5ftgZAAAAAASUVORK5CYII=\\\")}.ui-flag.SI,.ui-flag.si,.ui-flag.SVN,.ui-flag.svn{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozNmJkY2MyZS1iYTY5LWIzNDEtODFhYy0wMDViOGUwYmEzOWMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTgwNTgxNTI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTgwNTgxNTE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpkODU4NTgzYi1jY2U2LTgwNGUtODlmOC1kMzFlMGUyMzU5ODQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoyY2JhZDc1OS02ZWFlLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6D3ZlKAAAAwFBMVEX/S1VBR5v19fX29vb/VF7/U1xMUKDz8/VQVqKWMmbV1uWRlMPjcoKHOXLj5Ox0O3t0cIqDh7xLUKCLg4FNU6GMNGv/VmBcQYrWIj2zKlJUWaRqa628KE2FZJuuLFarrdC6cpOkL1z09PX/foXXl6mmqc3s7PD4+PirLFj/XWausNLPI0FRVqOGf4TYVWyglHtSV6NGRpi/wNpNRJOGQnvaYHVaYKnTQlz/U12rncHFx92tkrWfMmHkgZBYXqjOSGQdJoHJAAABBklEQVR42uzSSVfCMBiF4dwUhSZQOlg7MBdaSpkcwBH0//8ro0dFXbX5dp6+i5xs7nOyCJsbpOaME6MCBjNq4BcgCuk4shCawGwAew2sbQxmWsB9F94W2HrovGoBmw4AT70B/kYL2Ptqa9vqMPcVgNO9baptfKWOQ7vCV25+lRwnavt0o47JMWmWjb20PlvtckiRWUJiuFu1SnbH8F0Qxdn7o7I46qJ0zD3d+4/c4onFn/vXpfcXP4HITB0pnfSQQw8Iwp4YFaIX3moCMMMR52noQxeAuRyPl1X2fwEEwzwABajcvwBAjMXuOSE3ZoszUgtGrkGbX9ZADXwAD1SA3LRBavomwADR3CFUTs1JmQAAAABJRU5ErkJggg==\\\")}.ui-flag.SK,.ui-flag.sk,.ui-flag.SVK,.ui-flag.svk{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1NzI1OTdhMC04ZTllLTgzNDAtOGYyMy1lZTlhMWExNmM1ZTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTgwNTgxNEU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTgwNTgxNEQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyNWUzYzU5MC1jMTJkLTlhNGEtODkyMi1lYmE4NGM5MGY0ZjUiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjZDBiOTVlZS02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6KOGgkAAAAwFBMVEX/S1X19fUyR6BBR5v7Kjj31df6qaz7k5n+aW////2Mq9r/QUxNVaP9W2X/N0L/VF7/S1Dz//9JT5/29vZ4kMkdKIwjKoxpcrT1S1lLR5cTG4Q0OpTq6u+sz+7F6v2vTHMpNJP8fYORHlX+7eX/4NTm+f5BSZ318/P/TVb/IS5babB6SIX/8+z/SVP/RlD/CBX/T1lVUp319PTr6/D/TEX8nqAlIIL0SFZFRpjGTWsVRKr9zcT4vsH2+PjahpqWkL9KlQC3AAABtklEQVR42uzUW1OjMBTA8SOESxpIGkpbpdYSe5GoRKzFrS11v/+3WlLrpe5LKPuwD/5mGBhmzn/OMBlg12tlB2cttQ30oPcT+H8Cyx4/tls23eDm2LLhBtxhLAxDn5Ei1GDLDQP4wKEaEq63f5AVNgNPl3tzRxEAIl2+RSTPclrNL008QRBpaTzNCRRM+tyTjOU5nXXSyEAA9khLdECRynF2juMA0YFkZMCGyNYGOpAjh/Ml52dkHxjYBoKvgYyEVHAPhQpOCxCv9F1e+V6p1AkBRWRVn8Cb+pqi0wLEc0W9gXBP2CAd3tdnkKAHgcsHRAtF7uNGgdFiLlAGQMX4lXbru49v0yYBuz+eSVitJlaaTlarTLpXRvOfgcEt9tHLnWWtLetuQhWO+4tGgXqF6fVmY63ttb3ZXG/nRl9ABxbWm9TineTwNolx0LeMRPB4cfA8xHFi672TIf79fGHmEdj5OyTqwijS8yX6dW4mBNb9IAXuDJJ+jEupuoYYMHiXgfTxVTDGQqoMDH0NQJYhtcUzhsB4/jgAUFDqE1qYz38PQP0zVA3G/w409hP4J4HWBGtF/BFgANyuWTg3oImtAAAAAElFTkSuQmCC\\\")}.ui-flag.SL,.ui-flag.sl,.ui-flag.SLE,.ui-flag.sle{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpkNmEzMGNlZC03ZTU4LWM3NDUtODA4NC03ZTgyMGRjNGVlMWYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTYxOENCNDQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTYxOENCNDM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpjMmUxMDYxZS1kMTI1LTkxNDMtOTViZi1iNTkyNTliNWE5NWEiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjOGUwM2I1ZC02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4dJhu5AAAAYFBMVEVBR5tzrwD19fV6sw1LUKD///z/+v9KUKDs7PB7sw8zOZRoqQDv8ur29vZNU6F8tBDt7fHw8+tTWaWDuB6eyE+cx0t7tA9VW6Y9Q5lxrhB3fLh6swxARZuCtxt1erZwrQ0Esx5DAAAAXklEQVR42uzMxxGAQBDEwAEODu+9zT9LqkhBPLf/ksYImRRAOlg/K2KDxgY2+AZPgWy6MmRQVyKdEkhViFQ2sME/gxhSmyKteo8sWnPklBNS28AG38DTAbY75H4FGADGaR27CRl7KwAAAABJRU5ErkJggg==\\\")}.ui-flag.SM,.ui-flag.sm,.ui-flag.SMR,.ui-flag.smr{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplN2MwOTlmMi1lZjhmLWRkNGEtYjVmMy01ZGNlODA3YmJhZjUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTQyNDE2QjU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTQyNDE2QjQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4Y2U4ZjcwNS1kOTRiLWUzNDktYTE0Ni1lNjg0N2M5MDIyZTgiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpiMjJkMzgwMi02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5dicbPAAAAwFBMVEX19fWCr///zVqgt5Sa0qipx/yJs//42Yf47sd5qf9Tq2zRzMvX6/id3Pz29vZ6t4FEq1yxw3772nr21Gv75ZRjr3a65PpWq4dvr8zw8vb++vSy2dSXvW1zuVpvyG/C1fjK4tLF1LD76rD94nTl8ffo1HaXvP2Dl559tf3+21yRmMfd0ZB6runfz2KHqOu3vcJiq6f19fT3ymj19PTj7ub4+Pj+znP09fWArv1+rvH38NpqoIf825zkzXvv8/D19fPtBHzOAAABfElEQVR42uzSy3KCMBSA4eQAQlFquBiwSgWp6BG8X2qBtu//VkWmyzhTYDrtwp8Ni5NvkkzI6bFVJ/LXPZbfHfhtINNaAtOoJVCoLYEz7JoDu8xxInQc7bMhEGGWqbaWYdQQ0PAMZWecNj3CFBEBscgaX2Jx3YHV7BI/ZJJZoBaFalsakYO6wEFmBwsA1QTKU2R9/SbwJCwITHkKewyN3ghtiAIzDMWTZCjsyEx9BiHnBjd6Adi6yUbiSdIR5m37/juMuFHGDYDBOPeEgzG5PIjaslyvgN6wAtyB7goHKelQUQspdxMICOcvBuFgu665EQ52bgCeO2cbCF8rIICE5fm2FpAyXRrY+yOXZeOYYF/KmVcLoIu1pJs4fr4GMzZeXmg9IGVszlZwXb9HNtdvbOA2QNOF5I/tUlih6Zs0pXUB+ub3u5vEnlmbruR7tD4Qx/Hw+8ErcdwEuC7tdbuTimgCTCYThS7XS6X6qQ/8rDvwPwDaMqJ0WqV8CTAAwd8308iRfJYAAAAASUVORK5CYII=\\\")}.ui-flag.SEN,.ui-flag.sen,.ui-flag.SN,.ui-flag.sn{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMzQ4MjY5ZC0zNmVlLTBlNDMtOWY5My05OWFkMWU0ZWFmMDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTU2NzVFNjM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTU2NzVFNjI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpkODc0NjkxMC0zNWJlLTc1NDYtODBjOC1mZTYwNTQ5YjNhOGUiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDphYjAyOGZjNy02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7B2ZYAAAAAwFBMVEVzrwD/S1X/4Vp6sw3/6Wn/+Vv/sVj/SVX/OFRxrgD/VF5hqAHO0D3/VmD/42KHtw5XpQBqrAH/413z3VKzxy2bvRrt2k3/4FnT1ET/5WFMoQDGzjb/7G12sAH64FdlqgCdx0x9sgn/52T/6mr/62xGnwDl2Er/417O0Dv/4Vv/6Gb/Ql1prQ56swz/tWH/+WO5yjH/6nF4sg1fqABvrgCvxSdzrwP/gIf/fIR8swX45F6CtRDo3FD34116sghyrwCyApMyAAABBElEQVR42uzWSXODIBgGYNp0Szfhq4IY1IJEot1statp+///VeL0SA4VLu2M7wkuz7wzLPOh65mVp9v48dLKw/3NqZ1XtCPzdnWwb+Xw6OR4zw662wGcnf8auECzCZiAfwAwzpkXwCnlXoCIIuEDgHpPOTgCYIzRNG9LsV3AeKDKKgAdYvysAapsPFCviAwC1M2/g0CSRT0agI8GJ3mXpl2e4PATRgMMxLrPhy3p18Iwh1Ngmg9CLo12PEaVpaRtycuVcgT0IsFRhJPGsQHU/TIsRLOUCpwAVcp4e4lE/FUqtwY0K4buRUbdGjD4ecqMGzb9iRPw5wHvIct7zPMcNN82AgwAxSsuVWjtR38AAAAASUVORK5CYII=\\\")}.ui-flag.SO,.ui-flag.so,.ui-flag.SOM,.ui-flag.som{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyNjUzOTQxMy1kNmVmLTQ1NDAtOTlhNy1hMzEzZjFiZmNhYjAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTkxOEFCNzU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTkxOEFCNzQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpkNWVlZjQzNy03YWZlLTg3NDAtYTIwMy1iMGU5Y2I5OGViNTciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmMDBmZDRlOS02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4FfQfjAAAAwFBMVEWCr/+Is/+KtP/19fX///N9rP96qv+Dr//6+fXn7faArv+EsP91p////PSzzftwpP+DsP9qoP+hwfzU4vj8+vSuyvv//vRtov+avvx2qP/39vX///Ty9fWOt/7x8vbD1vqSuf691PrK2vmFsf9vo/9mnv+qyP709PVvpP/R3/hzpv/a5vdon//29fX///H///KEsf9rof9hm/+mxv+nxfz08/V9q/6JtP+KtP6Ltf5/rf/b5fioxvz19PWlxPzf6PeRA5DPAAABLUlEQVR42uzW2XKDIBQGYG0P4oIRDe4xmqgxmtWk6WKXvP9bVTu9bWeE6VXz38AN3wDnzIC0koVyloQjiy1/EgXubsB/AChChhCg9xEC/DT1sQCgr7W5pQsA4QszE8IPYNsFmNiUA8hRYVlWW74CXO22nxYoHwUomes4TuBGqqq6QT91M2UUECbqwTNNL6qqyOzHA8vIKMAgjzWYu+i+T7QzYdoRY9wlGqR1Pe8yABcvnviNMbYKBtomGhsApmXbHxv6lzJiekphAGB5kjBPHyjHOatieGeVrPA0EvYfYgbTGhisWq4d+Mt9vCj8Rbyv1zw7UJ5hFpQKKoMZJCEH0HxssC1RKrXd5q3hOUJOwuNXQUOS8xyB6t331eFOp7d34Qb8MSCcs+BH81OAAQBd2BbksAJlBwAAAABJRU5ErkJggg==\\\")}.ui-flag.SR,.ui-flag.sr,.ui-flag.SUR,.ui-flag.sur{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo5MmUyM2I0Mi0wOWRjLTM0NGMtOGYzNC1lZTAxYmI5MzYxNTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUNCQkMwQzM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUNCQkMwQzI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowMjFiZmFkZi1mOTE1LWE4NDgtYTNjYi1lNzc2MjkwN2E4MmIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxMWE0Y2M2Mi02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7hn4v9AAAAwFBMVEXIQUtzrwD19fV6sw3E2pi/2JDFR0rBTkf/9Fz821rBKkn61Vmcx0rER0jENUr/4VrDSEjLTEzJREvbdlD/7Fu+JUjIQkv//17HPEt8tBDC2pXllFP/5lrx8+zyu1fDMUq6FkfUY0/lmlTATEfBT0fu8en/+FzFOUrsq1XIQEvppFXKR0zOU029IkjfgVG9HUfAS0fDQ0m/2I7DT0rGSUp6swzHP0t7tA/QV035zlj20Fn09PPii1LDM0q/KEnAVEfZcjFZAAABOklEQVR42uyW23KCMBBA09oLEAtlTUgqqIgYxLtV6RX8/79q9J04sA+d6fQ8QGayOTO7yews6XZQdMkNEnLEnX8jHZzg5S8I+nco+uQWCRngzk/xAnQK+wcTh93uYAzYkytImV+JeDJtBjwMeWCKeDYLcv5BqxwhKBcR80etBEHhauKeEOv4vCqgoUD6S1iAO1RqmOnF0pcNBa5PFaV25HmRTall1yVSX4Ny+SkU8zRMCfpeNq4BVFViXQSRNXc4BI1vAXQJ2TkF1otdaHONsBpbHmOeNV5Bu3fA50JFnhIz3u4hZZIK2/f1p3BbCfhazFzOy7n4XrUSOGGyGQGMNmHiGAT1gHSkrh4UTgaGsNNjHel2kl7+k21aG3TCtrQvbFMdkOmvd+V7HK//84EWHLEC9JiHHTR/BBgAxMgomqm5pzkAAAAASUVORK5CYII=\\\")}.ui-flag.ST,.ui-flag.st,.ui-flag.STP,.ui-flag.stp{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowOGNiZGEzZS0wNzNiLTQ1NGYtYmVlZi0wMGM0YWM0Y2VhYTQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTQ5REQzQjg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTQyNDE2Qjg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5MGRlYTc5Yy01MmU4LThlNDMtOTcwNS02MTQ5ZWI1ZTJhZDIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoyM2YwMmFiMy02ZWFlLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4MIDLYAAAAwFBMVEVzrwD/4Vr/S1X/MFT731dkxA2Gtg1mqgD/5GGRhVdGRlV6sw1lugClllj/rlnMbTf/4VtxalZ+swf/5F+1o1jJtFl8tBD/NWf/VF7nV0n/TlX/l1iDeVf//1v/xFlXVFXlzFnYwVl2rQD/6lr/PVX/5lr/d1f/31qbxkn64F//41pcwAD/Slr/TVPaYUH/SFZwtAT/UmD//2FmYVb/Slb/4Fv71F13sAhwxQzQn2rNpGr2RlH0TFLvT07/RVtwsBAsdF3uAAABjElEQVR42qTWbVuCMBQGYJxKbUlpQStCwbeszCRNsjL7//+qsyEwvC7R7TzfxO1m7DA267sZXyDyZPGraWtgIfKOE26tuzlKAIDM+VvLWBAAISBMBxiA8HtTYQeAEJsJGUD4bzw9M8hfBhC+sdfX+rFzYMZfk25DO885QPz6Nlmca6cAQBj1urVVTSdtFTARygDxR/Ve92VlDgjhcl+InL1Obv8wkArjSak92wMYrQBSYagKAfPKI2LLKkAIDyWBqXeEOIw1qgDib3PBDSjtMBBoEMj2FC6EjHXggnsQIP68/jgci789aLwLze6exTsFyHuE2cRHS9U7+giyBiLKFMhBOadPIpVAUflE/g4qy1gqQsg6jloHGJETFHU4+iK5om8UsklR1L6YGafqVVZfRE+2jGheeSqfxnUPLiZYChPz5ay9GMsA9oMC/ZPFjWaUT5r8qK7ausmBGf+x17ZBdsCMbz5RG4vYmAaozTVGba7mm7MEPhDHg/SIg+gPAPqQhT7mfTXXqIPmvwADALnNSHmRnpFTAAAAAElFTkSuQmCC\\\")}.ui-flag.SLV,.ui-flag.slv,.ui-flag.SV,.ui-flag.sv{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDphZTJjYTUxNy1hOTQwLTNkNDgtYWE5Mi1kMTFmYTA1YTI1ZmMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzE5QTJGOTQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzE5QTJGOTM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxNzcyZWFjMC0zM2E4LWM4NDktOGFmNS0xZTYxY2E5YTg5OTAiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxN2E1N2VhOS02ZWFlLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6S5BeqAAAAwFBMVEVBR5v19fVLUKBJT597sZOMjrqw2LuXmcHi17X38NOYyeOMrrBTsGuvtOrP5dX545ic0KpNU6HCto/29vbYypj28+X+s7FUWqWOyZ6FxpalqNDFxMaxqIXs8e2cn8d4fbj53Efg2sdKUKDdzIj19fb09fSApriZkp+DiMDCxJJ1qH/puILf7OKVn+jz9PN/q8BQWaB/w5GcxmvuvXtYkY/19fJkn5BifJ6Tvcz677C/1szU2+//6k369HTGwo2k06OeYYJGAAAA3UlEQVR42uyWWRKCMAxAW0VcqIAoUlZBEHAHV9zvfytvEGcaZvzh/SZ9nU7StGTWQjEjaOa45SPSagSNoA4BGgt3mSySUJB+H44nBI7TqPcjgYyh7U3a7VDTBFLGkMBXjPP6SGNlJyj4XB9xFGlb6SMmUFeGO5lOe663UoUE8mUY3zTN1IYnWUigS9krfIbeIJN0IcGGvZUqTav98iB2BJ/bgZPnTmBzX6wKlJVyEMglE+0DuuCsKBhfgAKwT1V+v3MVbmWKhFhtFBZ+oDRTuRHUIpj//W3EfjS/AgwAcPQWE+xl8M8AAAAASUVORK5CYII=\\\")}.ui-flag.SY,.ui-flag.sy,.ui-flag.SYR,.ui-flag.syr{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3OWJhZWY3OC00Y2Q4LTJhNDctODZjMC1iMzQ4NTI4ZDJiYTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUQ4QkQyNUU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUQ4QkQyNUQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2YjI2MDRlZC1kMDI2LWVkNDQtOTFjMS1lZWNmMDcyYjlhOWYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmN2FjZDI0Mi02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7Zwv1XAAAAwFBMVEVGRlX/S1X19fVPT17/VF7///9PT13+Vl//PUjs7O30//84OEn17e5zrwD29vajyVvQ4bFSUmD/VmB6sw3O4Kt2sQXA2ZLJ3aHX5byBtxv/gon09fR6eoVZWWbv8um61Yf1///D2pbH3J+uz27z9PH27u/t7e6Svzqy0XbK3qTQ4a+/2I++142Iuif/R1Hb58S/2JD/U12WwkL+YWno7t2PvjX/Vl//SVP+X2e31ICKvCyqzWdERFTr8OOGuSRCQlIFq64BAAAA60lEQVR42uyS1xaCMAxAI+I2WmUroqLi3nv//19Z1wsF8Zy8ch/y0KS3TVqoySRqkCACS9r+Hcg0QTUWxIKXYJYlsYdDhsQaekUSPWjlSbSgJPlwFlIo+tW/UhIFc3TC9teR/SFoohomMHEQITBdxm7YZ8zoCqcPGVuhNWKG+UOgK/hmKgq2n5Q2+dlCR+M1SjOogcXTrp2jZtDnVeXgEXR46hQ1RAfRQiVYYPEUbiIEZ3SlIwZ+BYO/geq/nSBoD79BYKTzoI79ghQR8HIkPGikSTTgXiBxgSSQqMSCWPASpKkCMnaShP0QYABVeSoOLqFyGgAAAABJRU5ErkJggg==\\\")}.ui-flag.SWZ,.ui-flag.swz,.ui-flag.SZ,.ui-flag.sz{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplNGEyODNmMC1jYTEyLTg0NDMtOGY5Ny03NGI5YWMzNjMwMDAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUNCQkMwQzc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUNCQkMwQzY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4ODgyMzdiMy1mMThhLWFmNDktOTI1Ni0yMzYxNzFhM2UwMTkiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkNThjOWFmOC02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4MbM4SAAAAwFBMVEX/S1VBc82KipL7nZ//zFk4OEn+iVf/W1ZFRVT/VV+0VHnNzdD/4VpLetD/r1JzWJiTVIn+Zm60tLl5eYQnKEBra3fOVWP309b19fW3t4b+/v6usouZmaFUWaaPR1X82YqkpKv30G2VVmIwXLj39/hyT1ysrLL8m3OmrYtYWGZ4nNz25uflVF//bVb17fC9vcL09/5Kes/8g4q2V2PZVmL5vbrSaGfQrGDxUVv/UlX5TVj/TFb+5GyFemGya1/38M4k9HdCAAAB3ElEQVR42tyWa3faIBjHGRkRkyjkpjQSR9M01U5NFk3b9Lbv/60GaNOezF0sb9b9X3HOAz+eGxdwPTLSNfhkKPDNbP0IjD4+YHZmpBnwDAU+GwoMgZGG/zhgNZlnjVX77wOstpcYITdhjE0t/2TAXYYRxlGY5Eyr8U8DbNVyjNEySdhBVmd8+A3AHms9R3ivCL64wKrmYGyqr68h/QRQunqKMAxhGEMYRrwsArcsypJV36+02dpM6+OAwXo9aNsWTOT+BXcFLFyBkEQFPORQ+lCDtq2t4S9DsHVverfK/0BIQOAWMo8KECtAXn0Zn1fV1D8GWNuddP6g3DOGHOJoKWQIogxUGjYyPhUHse11DzD2vIuFPl7nCL9VtMy7QjD2qKdwQrxxD9A6hJDdQOlGEQQveShKLusAeSmg4LqUeoJDU4eu+jkgKaF0P8zQaw7k+i4HrDlMJTS9oH2AkxJyDzoCh0KmQcBlUnDhBjwoZEcfzDRNqXOkCoR2w6zLg0TlL93cmR2SHiujM3nTymiPQDEvWN5rZemD88fDtLrUCBS7+9Mw9U8+zrtMBYAiHCSbpn7XhXK/22bz+XxbDz/unfhXAOOHxfhpW8yMtPgfPhjGnyzjb57pR/OHAAMAxCZNU2e+Ck4AAAAASUVORK5CYII=\\\")}.ui-flag.TCD,.ui-flag.tcd,.ui-flag.TD,.ui-flag.td{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4MWQzYzllMC1kNDg3LTIwNDktOTYzZS05MzU4ZTExYjYzMDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkFENjNERTk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkFENjNERTg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpkMzhlY2M4OS0wNWI3LWM3NGQtYjE5Yi04YTI3MjA2NDNjMWQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDozY2Q4ZmVhYi02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz736I8sAAAAXVBMVEX/S1VBR5v/4VpLUKD/+Vs/RZz/+0//SVX/sVj/OFS+rHIoM6T/VmD/VF7/42L/tWHBsHlKUKAnMqQzPan/+WO9q3FJTqH/Ul7/Ql3/+1j/Vl//fIR8gLp3fLj/gIe8GT6gAAAAWklEQVR42uzWxxGAMBAEwQPhnZDwNv8wCWD1oOp+qp0A+j1yG2idxmOAZrtvPfRKguV+KVIoq+pSArkA0Da/gVOMDugIECBAgAABAgRiBJwWUG/eoxvN6xNgAJR5Gk0urkK7AAAAAElFTkSuQmCC\\\")}.ui-flag.TG,.ui-flag.tg,.ui-flag.TGO,.ui-flag.tgo{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1MzNkMTA3Zi0zMjMzLWNmNDMtYTVjNy1mMjI4MTExNTg1NzgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUZBMENCMUQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUZBMENCMUM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxZmM4YTUxYS1lZmQ3LTI0NGYtODE0My01MTZjZDgwNWQyNzgiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxZTJhMTA2MS02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz77Q8TTAAAAwFBMVEVzrwD/4Vr/S1Xz///l33H30tT7jJL9cHj/OkX/+Ft6sw1yrgBfqAD/6WnMzzn/KTX5p6z/R1WshyJ4sgr+PVX75G//VF3t3V34UVL+vVr19fWYlxjhaUv/TFb/Mj3/plj/QkyrfCL/42N8tBD2smb/M1T96HP+XWbs6l7/SlX/Tlj24uP/SFL8foX/SVWaxkj/FSLP0kT/SlT/Ii74vMD/31rl4Hfl8HJorQ/7/HD/4Fr/51rxVk71+fh7tA/vz15LWBnvAAABZUlEQVR42uyUWVPCMBCAQ9c2AY9yiVjIWkEppilnVTyK//9fmZZjeKAzCXHGGcfvZZOH/SbZbJb0u8f57LV0mBKnjHuiR7dM0NRKH/6ogLOQ2wh42BELG4FksYf7ndAr4vpAwCKo+/s7NHqar9DZ38D3wGVyu3t6fHg90+ClEIgQEf2lCxDN1IpxrgR31feKBoUgpB6lNMkA0kjFZCILgU7+oBAwqnIBsiDIA9SZqUCgTAGCnAwyipIbCpTB94KsELjcn3DHVKDKOPPyI0CMKDavYCZwFphClpchYo6JoLITsI4qYBoDeJteUn3wdq3DthO5n6jcJXfBxU0vtZtG80BiHEdLiVgHiiZ/obUTCE+g4CL0E8pO+Y2cYygO4i9NpNMEjUnjOLpF7LdL0B0oX7cljMc3OpBqGR/Peq08qFgx+BcowejSihGZX1kxJ6sLK1akdm7FmtSIFcO/ILBmWrNi+i3AAKZxSoT80e8kAAAAAElFTkSuQmCC\\\")}.ui-flag.TH,.ui-flag.th,.ui-flag.THA,.ui-flag.tha{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpkMWJkNTk5YS1lNTQ4LWIzNGEtYWNiNC0xZDBmNGY2YmQ0YTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUVDNUIwRjg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUVDNUIwRjc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4NGViYTI2Yi1lMzM5LTIyNDMtYWFlOS00YjRjNzZlYzA2NjMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4MDMxMTY3ZS02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5imhxcAAAAUVBMVEX/S1X19fVBR5tKUJ/8e4L8dn2BhLuLj8D29vb/VF7+Vl9NUqCAhLqKjsD8g4qSlcN3e7Z1erb8fIR6friGir78golMUqCSlcRzeLT8foSIjL/GOaKhAAAAY0lEQVR42uzWSQ6AIBAF0VYcUEAEZ+9/UA9RJhrSb9+1YEG+LAaZpYbEsPudBhwP4DdYfQf4W2yFWA28EdgaZBJsYOejBjRQSgDLLXLpn/iLQAw9EI7PJ44rYeIkNjTPR4ABAMzkEaLkflx+AAAAAElFTkSuQmCC\\\")}.ui-flag.TJ,.ui-flag.tj,.ui-flag.TJK,.ui-flag.tjk{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyYzhhYzg2NS1hOWRhLTNhNGYtYWY4My1jYjRmMjgzYjQxMTMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUUzN0E5RjU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUUzN0E5RjQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpjNWNlYzc1Ni04YTU0LTNmNGYtODljZS00ZjQ3ZjZkN2UwZTQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoyYWUyNDdjMy02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4sj3CJAAAAwFBMVEVzrwD/S1X19fV6sw3/VF7+Vl/17e5pqgD/PUj0////+v/u8ej29vb55rp8tBD95LL/VmD379z19PL28ur37NL735728OP46cb73Jb/gon4683/zVv64aj64q346MLy6MWaxkiCuBv28+3y6cj0//764KL19fT27u/636H33Zr/8+bz58Dv8un1///64af5567/46r/4aL914H73JP/Vl/825B6swz/U13+YWn/6cD/6b//R1H+X2f/SVP8249yrw84YsqXAAAA/klEQVR42uyTyXLCMAxAhaClFFxw4iwkxCwhYV/Tne3//4rgHnqyZxJd8w6yPCO/sTwy9Bsk+lAjAl+08+/QoAl6laASKMHphcQFzk8kvmH2TGIGm5ae6bS12+WLoWQDHdRzjHDuYHQ0lHSMgsR7RG9eTjCJ7DwKodJJCYEdckSW+QzRDd0yLaQpIk8S/pcVFrjBowNkTN0mcAsLWCj/BV7ICgss20LhBL4fOEJtir+BGGTXrZTbj2wgSs0Bl2k+RRE6luQGwaue5aG7//3Zdw9LQxGs21rixXAVx6vhItbXrGFcJzGGW5PEDepA4q0SVAIl+KQKyIxon2l0F2AAIispIVhTIc4AAAAASUVORK5CYII=\\\")}.ui-flag.TL,.ui-flag.tl,.ui-flag.TLS,.ui-flag.tls{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2MDM2OTljZi0xMDM3LTJiNDctODA2Ni01YjE5YThkY2NlMTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzBERjc4MUY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzBERjc4MUU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDplMTM0ZWU0NS1kMmQyLTFmNDQtYWFmNy04YTA0ZjZiZDg0OTIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxMDZmY2JkZS02ZWE4LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5OesU1AAAAwFBMVEX/S1X/VF78/PweHjBGRlVPT17/bVb/N1Q4OEj//lsdJFT/jFn/21onKlT/4Vr+rVk2OVXOztH/K1TRzVqmpq3/6lq1rVhKSVbq6ut1cVZaWmf/9Fv/TlWSiFcZQFV5eYT/VmD/x1lpaXX/QVWJiZPl2VpjW1ZPbFZCQlKkn1i8j4dTTlXIullAQ1X/R1Xt31r/Sl6CeVdERFQuMFQ/P07/SlVHR1USGlMtLT7z5ls+PlVHQ1VaVFX/P126ur//fob5qzlhAAACLklEQVR42qSW6XbaMBCFwQv2GC9gcGQsp6YEEneBNIqiqrSl7/9W1ZZC0nPAFvOfj5nre2c0+Dz+9ns5tK4/gw+LbJTf1QPr8pOHx+wu31kilgMfJdsZHue5NcBDz8kNfBzlQW0J8NAkugXIahspFMBjbXSPoRhbSKEBHmMR2gDE4yB/qW0AYoxk8hVASWEHkFJ+AoxxtuwlxREgpXzCOBVS7HogTgAe20b3PyAuIBVSdFXzFCCl/DmDNMY9pHgDkFI+30ARp8IVy27GMgBEecuMELeA4zQFnA26SGEAtFqHkkAI2kcLDIIgpehgLAPgK2ftopZzihiJfj1CKkpwRkHQDRD6jlO5fHVouMdQsp9BoREXM2ayELalU66nghIqT2kpUyXF+YxJAKPcrUpHVuOiVymx6kG4QmTsTBMS0KLmoH8/d4n5nNvvC5zqEohRcA5A6cExtdINSFMKgGpB9oDPAwipmrnuoPT5uxHE/+NLIzAWcpdONYGGr8E0IsKFdJqvQPnUKavm4My5WQ0nn7GLD1oBWLmco4owL/qyAT18hw31D1BOXcJISKWVC9Di97AyoY0fsndhqnuEyUM8RFo+5UHc+U68XSgqBXKhyBS99F9pKofKvFYrTW+CzsP/v9YniZAPQ9bvSB4Pi4yw/WHR+1gZZ2dz2oR84iIU2a7/fdbnfR89idQMbc+7Cl/cd/jTJ85kBv3v+hGQPGyuemRd/cyTD83hFQ/NvwIMAF0FSntT+bwIAAAAAElFTkSuQmCC\\\")}.ui-flag.TKM,.ui-flag.tkm,.ui-flag.TM,.ui-flag.tm{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4NTQ5ODY4MC02ZDExLWQ1NDktYWMwYS0xZjA5ZTZkZjU2ZDMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjEyMkI1NUI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjEyMkI1NUE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpjMjM5NzM1Mi0zYWY3LTAzNGYtOTk5MC0yMjgxZmRlODFkZjIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDphMzI3OWNlOS02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5gGry5AAAAwFBMVEVzrwCOnA+hyFf1o1WWrwH19vbMczDXrgX/tAH9mhV6sw35sbdwsQD/S1X7dzW5rQTzTjaIuyn/RFv/UFL+Z279qgjrW0n35rv/LF3/WEn+YkP/LjvQ4a/41dWejxv9iSR9tBFstABiuwDq79uthyL9eoX9tjL/U2C+eC//QEb/T1nE25nPjie203/opgp2rgN3sQj2y5r2UFLvswD+uhh+qAb3vL2WwkFzuA3Y5r9qvg3ZZT6CpAnokRxxqwBxrAAeCVs4AAACJklEQVR42ryWbY+aQBSFB9YZBnYHZERalbcWRBB1FVetRdv//696eVt3P2wyjklPYkJCeLjnnnsdkGo0+q3RMGfL5ZLl47HxyxCVijr91PTZE6U733dm+ssPJC6jAyhDeF5bYYyd4R0A4wYI6dsKEXcX+8M/4oDoBlhifFwcDhuaDv9KAfI5lA823ha9hVN8aqqMhADaeOYcj09pOsrHHUDFKooM9FrYQgCq57NaOe0BcNfGBVSCIyGA6QZJEiRM7wG2amzPa7jwYgGAZfLNYECRdeVhB1iDBWNbNwOfBJpYBbQB7DMXAJHqRZHa3bTxWgCQIDpljF33Sg2wPTDevL4BeAKA7EJXxCTaPqgByLabFNo8RQDWlO0bCxtu9jHGnfVCxIJGJ1NCroRMzA8xdg5EmghzwBpNbnPQaht/7eBzBWUGIuxWwbYdaBwbInMwLS8ZqUgQvPcA2UVxhgXxtkLLlB32k8WcV4M2hbb9xdlb24LbWM/BHH8PNcV9kVrnKkAuy3mGMjkA7ELyCkLkfRfuA8A2MrfWbRvvBXw1B6KAMXeDWuVEDqCMKoQU+B1KyRQShDSlsiykPAAYJA8AygwslHBZyQE0nVcXBQQ5PhbjSDZGGj4ICHl9vOPYkbRgmSmloeNjPDflUkhpOgIH8287yRif4d3QgZCmkgDuYOw3x7ssgDvHZzjel1wa0MbI/jcAPQaAf+7uQ1NZ9OLuHR+ap38CDAB12EnUMvPmVQAAAABJRU5ErkJggg==\\\")}.ui-flag.TN,.ui-flag.tn,.ui-flag.TUN,.ui-flag.tun{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2MzI5OGQ0NC0yNzkxLWMxNDgtYjdlMC0zYjA2OTMwMzU0NzQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjA1QTgxNTY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjA1QTgxNTU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDplOWUxNGRmZS0yZjk5LTViNDAtYjE1Ni03ZWY1MWRmNjZjZWQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4MzZlYTE4Mi02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz43PAgFAAAAwFBMVEX/S1X/VF719fX/VmD5t7v/TFb7lpz27e3z////QUz9hoz0///24+T32tz9cnr/MT3/OUT9fIP/Kjb6pKn19PT9a3P30dP/T1j4ycv/LTn1+vr18fH+WmP/NUD6nKL7i5L/SFL/Ulz+YWr/Pkj/RU/19vb31tj/SlT3zM/0//7+UFr4wMT+Vl/1/Pv9Zm7+VF325+j+V2D/JzP6qK3/SlX1+Pf/S1T23t/309X4ztD19vX+VV74x8n6oKX0/fz1/v2Gt/UXAAAB2ElEQVR42uyW33OiMBDH45ZIMPwSQgMiSoFi1VZR69lee9f//7+6DTzcU2eITGf60H1hk5l8srvZfAOZjAbZlAy20bDlNz+ArwbQ3CrLMr8SQGkZZKvDXPr4ofoAaQWb5dZO0+ZhUSS+1AXILFukjHFljBskoFQLIL38lnHoTHywNPqE8AlAZlXD7gXE46k7DU0QjEeB1ABU3gsDqItuND+B4LNNRnsD6HHMzrBVHm4P9vgVY3hP8t4AqzKZcNA52GDHWIUUYMYjj/YFJBMMQEmFA+CQuKskM5K+EawSg4kanQUuvJC5Gc/R43Zu9QRUVs3hhM4LAm6xEERiKOtZ4fcEWNTmsCTkTsBi184o0tM6ynQAEwQAdJpJbT1Am0KITo3rDDWzE1optEXE3Mmftoh3cag83qz6FpEG6hhd7GhbHaMBYDbtMf7q3Ui5ydsQChMup+5Gzbjbv5G6VlbZj3B7MMMHDOBVo5WplTkM7+JeDfZv2EaC/330qMZ19nKT/RbCmLi73fKC65l7lHqCIp3/gvLEzm7wTPUkzfPDM0ra+kNJ2nZ/JFRXVMvgMI6b+7NZnyIvk/QKWfcDf1MUj2Xg5fTah6X0/bL6eZ2/P2CwTQf+aP4TYABygSXl1DoAogAAAABJRU5ErkJggg==\\\")}.ui-flag.TO,.ui-flag.to,.ui-flag.TON,.ui-flag.ton{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiMGU1MzU0ZS01MGIxLWJmNGItYjM1NC04MjhlZjZhOTAxN2YiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUZBMENCMjU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUZBMENCMjQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyNTk3NmM4Ny1iYjM3LWY3NGQtYmI1My0wODM4ZGM2ODdjZDIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDozZWI1MmEzYy02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6v/IivAAAAwFBMVEX/S1X19fX/VF70///18PD/VmDz///29vb19/f+WGL/PEf/LTn9c3v32tz5trr7kJb3yMv/Qk3/NkH26en1+fn31Nb/OUT/fYX/KTX/SFP8iZD4wcT/FyX/P0r9a3P/UFr/R1H0/f317u7/TFb/Tlj18/P6par/Mj7/JTH/SlT7k5ny///7mp//U136nKH17+//EB71///25ubx///3zM79X2j19PX/Vl/+VV/4xMf4vMD2+/v56er3z9H1//7/N0MsF4TFAAABOklEQVR42uyU206DQBBAByi7sEXKxXItIgVsK9ZaRbRW5f//qgvFGBMedsOD0XCeZshyNpmZHXg/4o7LBqVLjrkWiQy4kFRCS4Wlhq9UQPceMNGdFxLbvdK0Zz05pxjNpiy/vwDuBNJjvV6tHu4Qn0D+FthxBDC9+RVB3lSv+IwJgKc/NQmuuATKxaEs52FsAlizeVkaH7nCI8AoWBDikE0KkJmEkKm/lPgEt941pclTnwb1dscr+HmWqNwCz6e0HzY0cF55BcHCsqy6rUFEo7XJVwPaBT0MDT1ruhAYYfh24OsCnQOEULHv5oDGEs7/2Ch3r9EZ9hoTW6P7QOXdBzLspX4Kto0kQ6lMWnaT9uJ8d06rpWaxCVK1nzjK2AQZ6SeClE0gwiBGwSgYBf9IsB0qGIwrDsI9CTAAmZ8iImV0kcEAAAAASUVORK5CYII=\\\")}.ui-flag.TR,.ui-flag.tr,.ui-flag.TUR,.ui-flag.tur{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozNDRhY2VhYy1mMzhlLWRkNDUtYmM5OS01OTMwNzY1NTI2NDAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjEyMkI1NTc5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjEyMkI1NTY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowNDZiZWYwZC1kZWJmLTcyNGYtODc2NS1lYzA3MDgxNWEwOTkiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjZjk4OTZiYS02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5pP0NFAAAAwFBMVEX/S1X/VF719fX/VmD/fIT17+/9g4n6par25eb30dP9b3f5rrL4w8b7kJb23N3/Ulz5tLj+Ymv9aXL6mJ38eID18/P5sbX5ur37ipH8dn36nKH/Tlj5srb6oab4v8L8d37/UFn9dHz9cHj4vMD5qq/+X2j3z9H7iI74ycz26+z9bHT+XWb+WWP5qa3+Vl/6qK37kpj9dHv23+D31tj/gIf+VmD+VF38fIP26er24OL4vsH19PT5t7v8ho39c3v9cnm62u/uAAABK0lEQVR42uyWW1PCMBCFwyJtTS+kRdqCInKnXEQFAfH2//+VZB0dSl62yQszsG/d7PmmaU5Py6ySUa2YcZXM5OUL4CQBE98VizTUBmziZQWy63lXD9AO4K+2XAMwR2ldjL659VFxb4sCBOr7r79XVfFcENBE/Ub7FEId/SHAk/pY3wczvAHFVk9TKiCV+rEyEASM3XQoAFcCmsqADckSGhRATwJG+dVqu/W270akLewk4DO/Gg5l06E9g1jO1o7X18m++zKjAHwJ8JSBBUTd+5QCGOBroNjfuyMbCfdrHw9M6U6coJO4QSKhE+rcINLGkDsJ+6twoKCZwLEb4YC3suSxeKSl2X+kgaUVqg++5wC8OztLN5VZp+aKvh9dvo1nBjCuldmP5tWPAAMAxgMQWSbVEDoAAAAASUVORK5CYII=\\\")}.ui-flag.TT,.ui-flag.tt,.ui-flag.TTO,.ui-flag.tto{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmNjlhNDBhYS1jODMxLWU4NDQtODIxMi0xMjc0ZWJkYThhOTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjA1QTgxNTI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjA1QTgxNTE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1ZmU0YmI4Yi0wNjc0LTk0NDItYjlhYi03YTE0NGE0NmY2YzciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2NmEzMWJlYS02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz41+fRGAAAAwFBMVEX/S1VGRlX19fX/VF75s7dqTlzr4+T4ycz/VmB2VWL6parIpqz7kZajeoP9ZW38hYy6lp2WbXj8eoJQR1ZLRlX9cnncxsmDXGjSuL323N730dP25OXNtLnk1tj7jJL9aHD6naKIY29bSVfw8PDbzdBVSFf27O308vLZvMGOZXCcb3ne0dSthY1fS1n/U13+XWb/TVf/T1lIRlW2ipL/Ulv+VV74vL+gcnz18/P+VF6vh5C0h4/+VF3jz9P/Vl/+YGjYy76FAAABfklEQVR42pTW2VLCQBCF4eawBZBFQthBBFkEQUFBXHn/t3ICVmWYBDKn7/PVXOSvbskDs1rC/Z/E8Ae4SdpPWWQAdBPBjBdKEGJWUgYW40CoNYGB9ee/khSpApml9ogCkLcFHB8Qb4pRWhMqQIoCpDQBcprwCuwoQJ47QEMTikCWAmTbAu414R1orxlAXtrArSY8Aq0tA4hkgaImNIDOgQJkBzxpQg6YlChAUkBFE9J7wKMAUWEUNGGZAaoUYIYx7AFlCpA+UK8FgluPSSsEsGmFATKtCIBLKwqg0ooEmLSiAVkZac1VWm8MIOuItD4YwDqty4Cf1qeR1h0FhNKaYu9RgFVaV4FjWpvztPoUYKY1DqcVA/hp9bS0Nl0zrTggNq1YQLz91bTigVBaX2dpWQDX07IB5DsirTUDHMOYG2k5FHA5LVsgKq0SBYTSGp22lj1gppU+peWoI8t2VFpN/Zw7bi2HOehUWg/u+c5Rv3WVuCp9YRgcpe5MCX8CDAAE0B9+S8ZGWAAAAABJRU5ErkJggg==\\\")}.ui-flag.TUV,.ui-flag.tuv,.ui-flag.TV,.ui-flag.tv{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyYjllODdlMi0yYzk2LWE1NGEtOTYyNC1jOWQ5NzQxMjJiM2MiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjFBQTFBRjY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjFBQTFBRjU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2ZDQwYWMzYy0yOTkzLTFkNDAtYTEyZi0wNzM4MzRjNjlmZmUiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjMzA4NGFhYy02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5mTkaGAAAAwFBMVEU8yP/81Natr9L9i5J0z9BscLAwsfEnquz/S1X+/v1Gy//94uP9fYRES53P0OIjKozo3m5OVKL+pamM0ru7fJX9wcX+bHSPj7tazObBwttwqNPG2oo2O5V02P891P89RJn/4Vq42JYTGoQsNJEbI4lIy//a3Hqm1aVKyvQrxP8CCHo40P//XGVfvuxAwfl6frhQyu5Fyfg+yP5Byfvh4uxCP5QnL449yP4yx/88vvckIYXz19rz8PTy32X77e4tKor67ymtAAAC/ElEQVR42qSVC1eyQBCGF1k/QeUWKktSLF4Qu3HRqETp//+rbwawqLCM3uPRXT08OzvzzkiGY9k2NMUAKY4tSpKouuVOU2xBEi+T/ne6IkNJlPehliqK684RMFQd11WUVAv3oiTmwZo0isbVIhxLEgShLFylBIgAUNyFa4+lO2Ef/rttBnhR8dEnqdu5kIaybGnaOwCPH0oXsv2ovVw3PB1Tyk2KiCUx5otudodBGDOtBMxnCh4/2IeLV6URQKaccz8pARCuA0FMctmadRBgz8J8Asd34B6PJwDE5wd8HgBOmqazG8PGR2y1SKKNONW4maXpLm0GMJ/6tASEXZTSVcdQUBkjkHG1ha8KPTQmMQhIEJWAQaks2+dClg0hgkzI91mWVT/cfy5jAvWLn467JZF+0OiLD6am6ZF2gIgRxojJudkSQPSVzhhUkNN3gFBpLAwGgoA5gA0uK33IAZR/Q03dN2uAsJDRVWUBkl9UQb4Y5tuuUf5SrwLa5xCR1fsNADDXNPCBYoN1xaMPclyjD7QPPtiwmJtxRDabOqB0oozWPTpxYckCmLvjfHWiyT6VpOyFLVpXfeuFdGaoMnTYtnuyF2qAFI5H61pprRu11JIHZRAnAcHRytvBRBqrxsKpzwNnYdjIzU7OA0L1EoCx5tZu9wh6LSfSqwPr3S7M8WaXzROJ6TrXPQoAURrbBowjUC0C3BVBTKzn5gDAjzrDCKzRstd7eCkVW6ORFVebh15veW9dJs0AMKRfXCFZr2+vj3peg57ftrew+fq8aVbvqwgBfXKmophEAeSO+VNGa2U8G2D6VI+Lu9d66VcRcO5V2aOkBSDSeUmYrjyvDYDRFadwdBLhq80VCFuROMZx+rEXzgeQJwKzXGftATCND3xK/gCI/SqRbQERNSGRm3YAqIAZEeaR31+BFd6nXMfmSX4NYLHJA5YU7Rs0jbSfAPQAiZvCADnwg9cGgD0wxdBxhD21AVD4P9sUJWieyv1z0s++Get/1lX/T7r6L8AAejlrui8lS0sAAAAASUVORK5CYII=\\\")}.ui-flag.TW,.ui-flag.tw,.ui-flag.TWN,.ui-flag.twn{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4YTJlMjgwYi0xNzI0LWIxNGEtYjdjOS02ODhjYmIyYTcyZTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUUzN0E5RjE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUUzN0E5RjA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMmU1NDY0NS1kZjlhLTIwNGQtYTYwZS04MjM3YTdhNDkyMWMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxMjEwYmE1Mi02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7XfBYVAAAAwFBMVEX/S1VBR5v/VF40R6D/S0/wS1tHR5lLUKBFS53/VmD19fXl5u2XmsaGir15To2jpcxeY6nc3enU1eTrS11ydrN1ebXFxt1ma63s7PE3R59VWqX+VFuytNNhZqu8vtj/S1JKUKD/S05+grr/fISOksJucrKeoMlZX6f/S1ZGR5k1UKlOVKJ4fLdMUqFITp+nqs4yR6FQVaLf4OqKf7JDR5r/gIesrtDAwttpba/7S1InR6X/U13/Vl9DUKN7f7i1uNVsrJkEAAABJ0lEQVR42uzUSXOCMBiA4QRFNOwIsmjYKqEuBaG1dvf//6sCh057MBnCrcN7yYU8QzIfgMdP6XbxXluvBVpn4D9BSr4vJoBeTNsPJztxSt3+AaRfjzcvk6rd8gPMGMDiD6AbcBPCnPADCFo19Eo+wLBhgIh9VFAObcwBSLJHbEdRjhmRvYrrCPUqR01G6HEd4aHYZlYLmM62OPQHXkKEXNTlyuji9gaKoFIzs91f2+ohKHjuwFoZLYDDmusO5iba4K9ST/EzqmOeOXBghYjTzYGD+SaRNJNoQqRzj3KJ4fUCDX5g3nyNabf0ABj/Azawn9B6OzH+SAug+bvZ7U7aa8QA1kuR0jKK7llAMqWUMPY3gAAGNQIjMAL/CHgfCgzuLAzq7luAAQDKvRy+gdc7rQAAAABJRU5ErkJggg==\\\")}.ui-flag.TZ,.ui-flag.tz,.ui-flag.TZA,.ui-flag.tza{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjYTg1MDVlOC0yNzQ5LWEwNDMtOGNjNS1lODY2MWM2Y2ZjNzAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUVDNUIwRjQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUUzN0E5Rjg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1ZjY4NjYwZi1iNGNmLTc5NDYtOTVkYS0yNGU0MTY4Njk3YmEiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDozZTk4MGY0Mi02ZWFlLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7g9BmNAAAAwFBMVEVBc81zrwD/6mlGRlX//VuWo5Azatfl21HX0FAlKVQ1NlVtj7pwa1dMe9CAmqX/+EH/4V1YpQCSi1exxy+QuhllqQAZWue2rVhJSVXRznD/7ltZVlZ7sw2eyE9PT14eI1T/5Ffi1mE7PFUoY911sACjm1j/8ElFdcvLv1n25FpCdMxkYFh0rwBPfc9HR1UtL1RAQ16AelhPTFX+6FFBQVUfXuRPe8WwuYTu3lrw4WF0sQ1DdMtvrw13sAhfhbxurQFvh7sTAAACKUlEQVR42qTWbXeaMACG4UgyZ7CtaFdNqRNBawtY8QVXOjf7//9VkxDeQoDsLN9zXx5PfI7g51z//B7PB4ZloI/DfpEecgd6ume7Hj/cW4aF0CzGBIoTg7nm/fUn55couXHM/D5caAYK/tlzYHFfN5DzboXXDWy3lDc4b1Z4CMleI8D474ZlIzeUeBI7YWegzGO4K13fkQgfProC64fxD84PQseTefKK7PbAuid4e2LiXY33kdUeKPgnmfecI+WXI7clUOKjOj+xkbUZvQfNgZx/VfBPKT8895sClP/MeVLhdzji/Oa9PwVvDQHGJ5w/KvgB56/T/gu4VQYEv2R8JPNmxp/BBagDjPcFH7fxQBmgL7c3YLx/wBIPsfmMkDXafFtxXhXY5vyMyLzphJQ/jR4zXhGg/F81T8p8EABlgPH3KQ/r/I2LlpT/VfByIOcTxsMq73H+VOGrAc6L0VTwiYKvBEqjiWuzEc84f7daXQKgDJQ225NXK8JNfBEQq6UYzZS3GX9e1a6LAF8tsdm4xh8oT3+3L1OguM8D9Mtj/Ek5mnDGXq6v5kWgdTR9PhtAzfPAn5bRPHI+aeTTgOAjBW9n/AU0BzpGMxm28DzQMJrZarXyPNA2mslQ8XRqn0CxWlFltToCYfNmd/I8sP8PngcWEp+ulnvV4eUA22w2G5vSaP5LgI2mK49mdyDOvgJS4oMAaJ8JEf8Z93Q06at8vJ7B2632GX4JMABmaXUOTr8CkAAAAABJRU5ErkJggg==\\\")}.ui-flag.UA,.ui-flag.ua,.ui-flag.UKR,.ui-flag.ukr{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplNzU2N2U3My0yZmQwLTNkNDgtYjUzYS05OGRiZTg0NjQyOTQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjI1NTEwMjU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjI1NTEwMjQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1ZWJmMzMzMy04ZDJkLTRiNGYtOTJmMS02NDk4MzQyN2E0MmQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmYTlmZGYwMy02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5lHrwrAAAATlBMVEVBc83/4Vr/42JLetDv2GX/61A0a9VId8r/42RNfNBHdsr/7Fr/6Yf/6onw2m3w2258ntx5nNxRfs3/4mL/7FhTf85Me9BBdNhKes8+c9f1cKmFAAAAT0lEQVR42uzMxxHAIADEwAMccc52/426CP2Y01+rNaE24V6230oM6A0YMFAO8DWoR3tuQfnSXKEWnTVqUAyozoABA+UABwUCTFNEjb8AAwB3Ag1l4nhHxgAAAABJRU5ErkJggg==\\\")}.ui-flag.UG,.ui-flag.ug,.ui-flag.UGA,.ui-flag.uga{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxMWQwZGQwMS1jOTc1LWExNGMtYTFhZC1lMzEzZmM5ZDc2ZWYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjI1NTEwMjE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjI1NTEwMjA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpjZjE4NDk4OS02MGY0LTU3NDctYjZlMy00ZWZhNzBhMjFkZTQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDozMTgzODM3Ny02ZWFlLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6e7+XIAAAAwFBMVEX/M0X/S1VGRlVSR1aipKz/4VoYHjT/7Vr6q7D/U1b12VtRT1b/2lv4zdI3RlXMztJZVl84OlX/52P+LDjd1tlygIv/VF5PT17+/v7z/v//VmD/P1X2TFY5NURpaXX19fX722QtLjxLPkn+ZWu9p63+4+ctMUnr6+zdwEL+gYj/XV//Sl/18/7/uz9DRV//RFj/xUj/PUZIR1bf4eP//9eoZzy6vMxAT123t7z/1blBUmH/2FrUZnLp9PT4Vl9rPCubkeJ1AAABRUlEQVR42uyUTVPCMBBAF421KrGBtLBB+i1FoAJFRQTF//+vDIzHbqcl4wwH36mH7ZvdHB54fSM8uDAE+mb/989AMO8YMQdxZ4SA6NaICK4Nge6VEd0zEBi/QbQjae+Wz5ql/iCJYHpDUsjU5txOZUHPTGH2QLCQYOf5x6vKbZALamoGvRZBUXCF7vfbSCleFNTUgBZIW4XoWAGGobJlcwGkSgsek6+DQKXQWHBcYJwJRFW1wgD2w3J+L+g4I660AIixPYjLcuINhhgGlvepVbjxiTEB7/flWEwfj8ji7VByZBYxtiWTlgWoDePxyuNaEMTNm6hvQMfbMIdPcB03j+rK993DClqDL76/OiGqVsYUOmtULLNOiqpI4oA5LgviRJwa1acj/1H9+6i2jaiMah0qolqPiqjWY3AGgpYhMOkZMfkRYABNnHTYMI0nnQAAAABJRU5ErkJggg==\\\")}.ui-flag.US,.ui-flag.us,.ui-flag.USA,.ui-flag.usa{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1Njk1MmRkOC04MWQ0LWJhNDAtOGZlOS0wZGQxYmU5NGRlZDEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjMyMjBFRkU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjMyMjBFRkQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiNzVhZTE3OS00Yjg5LTFlNDItYWU1Yi05YjNkY2Y0OGUwYmUiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDphZWZmYTg0Yi02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5G8gXfAAAAwFBMVEX/S1X19fVBR5v32tzW1+ZNUqH/VF77h437kZdjaKx1erWWmcb3z9G4utbk5e1dYqmFib38fYRKSJj30dP24+T4yMtESpz/TVf6m6CjpsxCSJxQSZeHX5ZJT59GTJ1UWaVuc7LGyN729vZKUJ99gblQVqLr6/BCSJtLR5dZXqedoMmrrdCKjsD33N77jZT7l53w8fPy8vT09PSQk8L/T1n09PVqb6+vsdJIR5n+WGGPTIF7WZXCc5Gxia1CR5uIYJaiplwiAAACAElEQVR42syUW3PbIBCFgZo4QtHFcUtrUlaSQbIlK3ZsJXLv+f//qkA7eathRp1Jvofzpj3Lnl2h77cX+HblY4HIRZCfLbQtJ4T/0Sxz2m6sFrANKCDH9EgJUU2jCKE4BUIKPONWq5F+8HGDVNHthDFe7az9ubOaxBC1POmLGvtYI+NL5BFTa/8kCalx89IECSkAMor4MGyiSMQDHyPR5RBlZKWNSvXJC9qWD9h0ITGWtokHZ58K18R4F5KC0r1gjOc914z3GhgTMVO6FHFJQwrcmqcC/tsEuBk4+9Suwd3Cx9ykoDWUJdeasxJyzfWoNCM6ojkLS8HMQLom3AyO3DZh7c0MyqACEI18MMGP4FJQ8SBYRuN8w1qg7724GfCjfT3gE3fL6BZg5mbw0cdXtG3jThYFdDEUhVzF0Na0G0RW113fBsVYNtaen57ABtG82Ne4KkMKKK4o7M6S1jLZAZU02fFC1km3KYDTpRd3CyK1+w9Naq5YOXuKKxJ4Cyo6J5JzSIwKVSUAm9o0YbRaZUHHNM5SswEytUqbmV3GUyWsezLeXfs4oC/AtOmcMG3fokubaj5a7SMZ8ke6+Ev8FVDg5+d/8/xj7mOP1ngS6+kF7t9N4h49oklM/Pw/lHicPoPXj3E/n8QevT6H60kc3kAKy5tJLN9ACourSSx+CzAAP8JZaEMWW4UAAAAASUVORK5CYII=\\\")}.ui-flag.URY,.ui-flag.ury,.ui-flag.UY,.ui-flag.uy{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1YzJiYjdiZi1mNzI3LWU1NDctYTliOS0xOTdmZTg5MDIzZDQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjNFMjVEQkY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjNFMjVEQkU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDplYzBmZWNkNS0xYzgzLTZmNDgtYjY1NC0xNDNhZmEwZDdkMDIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkYzQ2NWQ0Ni02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6chgKuAAAAwFBMVEX19fX+2mz///z/11c/ccz29vbq7fNJec/557AzaMr28un19vz///j///oiXcb75ZqEo9y5yegpYshAcs2yxeYnYMfz/P/39vX37dL/4Vr834z46sf38Nt+n9sLS8L19ff/1Uv/zzj93nlWgtJMe8//zUj488H8+vf19fT5+Pn/0V319vj19O/09PXD0ur28eP19vRmjtX1+e+3yOft7/Nuk9eXsuDz8/Tz9PX18/L18/f29fX27fL39/arv+X//fiD3yfwAAAB5klEQVR42qTW23aiMBQG4MToCGxqWg8bhEwTIioQLA5t5+zM+7/VBHHNdWw+L7zKbw5/siT1zEtN/qsqkBX5MDvaRK2Ee8fN7MeS0KUAgUAhQNp5nL4/TBxdA1pAmQnQHWQdQktIcnlZP7kZAuTZ/namgfUBxR9BBOQY756XTsIhADBlh9+KM64OEQsQ5DH+spk6KW1A1QHmBaf7RjG+5whdOwSsXAwB0qQZ77Niy9i2KXTEdX4elrBxYpdQGUipos32ijJ6AEjqlz9rJ8MmSkDM1Die7XULYE7f7jhG0wWa2enfEpiiXJh7ijRrRSr4/pagtBAiIqe/sSO7BwQxYLclNExlPxGqX2+fHNk52FOgAS/sLrJtoQ9a57Nj/B7OnezsMZ5Tgagaqtie6SLFKLU92C1CJ6thCYA9y3pGmVb5QaVjE5dORVqV17tgggCDpmddRjHl7XAXyueFk+tdkG2EqHOkXa8jrCJD6uPX989OHoeASgJEOQAXmNpnwdj34BRPHtyMD4qdhAEjIgOtHAuSXByRZHSpk6S+XL/uQyaeyKMnslx4CUm58lKSaehlRXallx1580RiT7cmftjMv0hPnki49BKS+dRLSeZeRbQB4cZLSF7XXl79j5H4Fsmb7x/NfwIMAHejnnS95zJqAAAAAElFTkSuQmCC\\\")}.ui-flag.UZ,.ui-flag.uz,.ui-flag.UZB,.ui-flag.uzb{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2OGJjZDEzMS1jNzY3LTM2NDAtYWVkZC00MTgwMDg3YmVhODMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjNFMjVEQzM5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjNFMjVEQzI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmNjU3MDIyYi02NGFlLWY5NDMtYjVkNi1mYjQ0MWZjNjllNTIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0MzJlNTEwOS02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4uMgelAAAAwFBMVEVzrwD19fWCr///S1WIs/96sw3/+v/++vT3nJ3ObpT4maDEcTP29vZ8tBCKtP+Otv6Mtf6KtP6DsP+Js/62zvuRuP6YvP2+1PqHsv/X4/i50PqEsP+lxPymxfyewP2yzPuVuv2axkjK2/mGsf/t8fa80vrk6vfO3ficv/3LdJvw8vXD1/nG2Pn++vWJs/+hwvz4n6WLtP6oxvyNtv72o6PEcDSryPuuyvunx/+Is/7DdjjDdTewy/uJtP96swypyP+uRp7OAAABH0lEQVR42uyT2W7CMBBFPbfQldbORhKahECghH2H7vz/X9VUxeUpijp9zJHGscfKkccji0ONxbOAYdUN++p36emQOtaPKELUfiZWSNQbe2YjoQR72iOgVtH/HydB1iNqn+9kuxc4KweIVZHg4STwiQb4A0bwRNQ0WdvSw9LWdR0jKyXQFaxN1qUYUlfkkI+MJmVPkJusFQWwYwd2pNswl6UELaKQdQfHI/jHrxNZCKIUnqswcyVm7145AQZE1PWQjpqQo7Zui4u5dibF3TkTYDcJfYUs17eeL6HGCoEvEfTTYsHwhsVQXDARi1sWCzG9YjEVDWLRqASV4H8El0zE5prFhv+c37Z3DLavoi5Y3FeCSvAt+OQK2HTqLDpfAgwAMy4qXVG0SGQAAAAASUVORK5CYII=\\\")}.ui-flag.VC,.ui-flag.vc,.ui-flag.VCT,.ui-flag.vct{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmOTIyNjEyZS00ZDZlLTNiNDYtODM2Ni0zYTdkMjc3OTJlZjkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUJGRTFGOEE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUJGRTFGODk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3MmIxOGQyNy1lYWJmLTM0NDMtYTNlYi05YjVjY2VmZDNhMjMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3NDEyZWRhYy02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5h0RNtAAAAwFBMVEX/4VpzrwBBc83/42JLetA/cs5xrgD/6Wn/9Ea0tYgkYt9gqAHNzzx8tBB6sw25yC15sQStxCXc1UScvhvs2k6bxkl6ndz23lT94FnCzDOBtAn631bS0T29yjDIzTd2sQKnwiLx3FHo2UyJtw6xxShJedBfqADh1kahvx5orQ6MuBBKes8vauG4uY7n2Er/6nH/9U/k10iUuxbNzzp4sg3Q0kb+4VqGtgzv21CjwB/+4Vl7tA/O0Dv74Fj13VPKzjiB1lRDAAABJklEQVR42uyW207CQBCGZxDBE5a26wFoobXFolUUjwi2vv9b2d1JpOkNmdmQeMHc7CQz+fpndvfvwmV7E9OHx+eDLfH0fvd2vokLaNXi8OT4CLZE9/W2g7WAnAs4O60D1tC2A/T2gD1g5wCvoPXDkwFGmFEyx1gECNGnJMJUAigmiAudqKqvFACcquyTAESXD7ju6/qCBCBecQHKMfVKwpdJXMUEhJ/UUIBRgsMBE7D8UxCZJF1yZ7AyXy6DH5DNgHZhBkkfXC1AsI16G8obRA/qAngncQYviPeVhFR4F+K57vFGwrsAmRagJWRSPwioaSw2lDE1hXJHSswhtLC0b90zsPHEpCmACwgaI+S78nBiaetOaglQ6v//mXJbgPUzz/ah+SvAADsDJWzNJLr+AAAAAElFTkSuQmCC\\\")}.ui-flag.VE,.ui-flag.ve,.ui-flag.VEN,.ui-flag.ven{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplMDUxZGEyMC03NDg1LTY0NDYtOWIyNi1jMmE1NDRkZjZjODYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjQ3NjczOTI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjQ3NjczOTE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpkYjdlZmEyOS1kMDNiLTZhNGUtOTAyNy00MDdiY2JkY2YwNGMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxNDczODdhOC02ZWE4LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7VtUJ1AAAAwFBMVEX/S1X/4VpBR5v/42L/VF71S1nz117/S1BJTphLR5f/7lUzO6AyR6Dh4etcYahUVZ1ucrJNU6GUl8T/42T19fVLUKD/VmBUWaRSV6PNzuFCSJw+UqY1SqH/foV9isH/6ow4P6K6vNhebrNgZatpba9HTZ6gospVXK+eocrd3um/wdpZX6f/VVr02mfJy9/2VWJ7f7hlaa3r6/A4TKP/714/Rqb/72DP0OJESpxOVKJxdbN1ebV5fbf/4mL/U118gLjXUlpYAAAA60lEQVR42uzSyQ6CMBCA4bHuolLrKNQNFXdcwX19/7cy8aIBJdbxyH9jMv0SmoIVJ2VBjBhcaOfLEI+ACPgHsM6R2sIsRWoGeoaUARstpPZQ04btsI0NVNjHnP0Eez2c1JzPO6UQQOB5WXCMwvKG4geAczE+MtbvM3YaC85VAdPF4vOriK6pBNQYGw1ejpiD0WP4PSDmB9/iXKgATKLvpzlKpTswbP/ENhSAVUcG7syUndXXgC0x8HYc3NlvgXo+mNdtNfyzRqvrvVmtg54lpcMiSWoB0zSpKSSAVDUCIuABXKkAuWaCVPMuwAByKSsPJe4RiAAAAABJRU5ErkJggg==\\\")}.ui-flag.VG,.ui-flag.vg,.ui-flag.VGB,.ui-flag.vgb{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo5OTdiMjJiMS03N2E4LWMwNGQtYjg1Zi00MThkODE0Yzc2ZjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjdFQzM5MTk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjdFQzM5MTg5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3YmQ0MGRlZS04NTU4LTc1NDAtYWMwYi0xN2RmNWFhYTk5ZTAiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2OGIzMTI1Zi02ZWFjLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5GY/VIAAAAwFBMVEVBR5ssM5Brb69MUaD61NZ0rgKat2v7fobH2Zn9/fz+jJJ1WBGys9D/S1X94uOCtQv+4VrP0OL+pamYnMe0xyywz2/q3kz9wcX+cXiit47BwtuYTH7t1GhESpy904c2PJXSzHdxTY61tqbczkPO0TuIlw0OFYHHxMWIjL/ewpDk5OogJ4rx2sSfvEuhmByEth54fLeZtH39YGnMu3WslyaduBu8T3NHTZ49Q5k/RZrY4rpXWaO6sC3Lwp/19PT67u0IOrOaAAAC+ElEQVR42uyV0XaiMBCGE0JELBRQqxZlsRRRiZZUq6jU8P5vtRNE0YutS3uzF/sfzzFI8mXmz0xEmqq7hHkElPpuyzRbzi4tnljqqqb2Urz6ozjSzJYuOMMeQjssAZrj7xDyMOOiZbbyDKOvxfum2dfdlO28E6AFAG/HkNs3V6rg/v7L5QThvdE2NV3MGNufAXvYPtfMtm4gtvfuAAhMVlcyCBKxEwBHqdz+sczsHsDbMx+CGOT6LDIkwI14PpDb7yAtdBfgY4yjiExXsMR1ChMLnJNFEcYM302BK1Kp4vQHfV2XEehyFMNPhbzdHcDjSaqa56qqahBBOSxf3DlGgsw72vqnmVnnVlldgDJ9vtZUqQvgS2pZlNKHCaXw3eBngHqRNAI8GJTDUi+lB7zx9hpaNJk/0I9e13q/AGZcKlMcXdX6p1PQ21oeK1nxgp9PgTdoGEIEiw/L6nVpBcCMQR14roCuKuvAzeWYQB0wdill3phsIPRfQiwnkEsFIB5ifkeXpdspK5HNdBU6zPCvG4E3NnbPSnKxWG/s8CoF6AUllqULpXfpBeLo0GGxctULkMJmQ5cLcZjT7nUE2Dd0WbozXHXjjuGZ/ggdBu2AvCsTk3lTHNZv4bWJPJYznYz51/eBz4grufHlPuAN6zVcLw9ikdCbU5Cx5nAZFDeSU91IDJyQmVXHSOmkmxzyBZ2AmRVAM/twJ/oy0CoCeIBLKXVFezX0K8CnPY5FTm9NHG4zfLZqT4bb7ZCUQXsYZ9nwxasAVvdJCJHcmgjTLteG52MfPmfjwZTqXWGiLAOx/LgxkaC/kzTxlTYB8GT1vgMg77ISJeAgTXxO6wICYwmVKFM4fNrh0gjqAZRgFLjjkC6bzSakMHaPo0CpAzjatn10AlrICpziuQ6AGLBiPI2DhCZBPB3b9sggtTwgxggQo/mxeZwXo9P6Giaijgy71OjYQXVPAYzsBGPYfDRaBx0FfQMAiNlJys1/I/qR/gP+DcCPxcmPxH8LMADiMXD27PDXcgAAAABJRU5ErkJggg==\\\")}.ui-flag.VI,.ui-flag.vi,.ui-flag.VIR,.ui-flag.vir{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0OGRmZDA1ZC1mY2ViLWRlNGYtOTA5MS0yOTRmNjBiODQ1OTAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjU0Nzg2MEY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjU0Nzg2MEU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmZmE1ZGQxNy0zZjg0LTQwNDAtOTcyOC03ZWRkNGE2M2IyZGMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkM2VjZGEwMS02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7YCIK5AAAAwFBMVEX19fX+WGGZsd78hoxrbZ95m9n58Mr567H854f95HD/4VoiKYzGa4iWkrf//v7G0+uqzWxurAZEdc6zpH329vY9RJkTUsOEuC/32dv28+GyweD45ebi6PKWwUO40ILX4O7+/Pj+tWrV5LfB2ZHgz23f6cX18+zw8fT5+Pr5trr09PT09PX29/H7wp/z9PPz9Pn4+Pb19fPz8/Tq7fP29fX08/Tf1UXK3qL66aDIzjf43t/z8/X19fb09vT29fb09fXBMXywAAADAElEQVR42syWC3OaQBCAz9MD7hoWuVAtBALGgihJipo2JOnj//+r7oEoh3m0Y2fSdWR43H7s63YhpXeSlOS9xcPffwEwuek/+9w3DfLCA252AJYQwjpmGCYXwjzWzkylwDsAQ9RiGZm2zqrv9rWN5rYwujHgQrSMw9J1A9ZMMKp2KdeCaIq98OrAsA4rde09d58F0RVeNa74HVvRca4tWusAU3sorIMBvQvdgE4dmD2AbdPg/Px8NMJDQG27B6iOC8mwNMDooyYjDXAItVaJRsdJ3gd09Ln5fClvIOlEefRBk1HH+qxXypQFhISMOfMUEqPavco+O7PVrz7g+c72qq01h1GnBUhJSCxlGLlwlea7ojIGg4sBDJZLPDwOB7uMHl4dSNkCiJRPxJE0h2juXsGmqWtzMLwYeArgIWDY3DQ2K0g2jQWSxS2AIQv/2Xw+nSoT6sWWAhAFIApQ1dCwhNBJjgCBpGjFl+sx6kcR3BJfBVMDDDiW5zVlEMoAjgBbyULJVjncX47deZqrxGRrHbDOCggnuG4SA6x6ALSfoREeoAvjsQv5rXrFbPjYAj4NZ2tSlnQiYyY9cLy7HgDzIPGqgBT1x6mf41bmolq2gKUpeOZ5IXMcFqLD0LfAkSqThEA6jab3rg+bunBv9gAV1AJiBoxuJ5PFEeBJSqYAX8HDKERpmtdpr4aZAmTDeqMZQGkogaIBZa8OyILWVUVInkXT6Xw6hqrecLxSgIrXW7UCFqAPMvxVFsoCSp3jtn4LMB+7bgpc6aPa7OZmpk4VEBijsYwhKV6ZCx5cum6E29Ly236kBC8qwQObYhWsXh0sKw8869uD8PUWpNqizz+LSwreW5Ppe84f0AfSNUC1xRWGzxZQFm+PtnXiuviirNtesiLB/SqTpPiD2bjK/cvyJ4L2PljYA4BhrnsBeGm4Yi7qYq5j3zTQO1DVGiZ/O53NtoEnW/msAW+Od8NqGrD3Y6sAJ3wflGSxiMsTAIWXJLtm9q+/UMg7AzA6J35o/hZgAJ4yXubYAUaMAAAAAElFTkSuQmCC\\\")}.ui-flag.VN,.ui-flag.vn,.ui-flag.VNM,.ui-flag.vnm{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0OGI2MGEwMS02M2QxLTQ5NGMtYTZkYS05NWY3ZTkwNTZkYjkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjU0Nzg2MEI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjU0Nzg2MEE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiOTBlOTE3Ni00NmE1LTYzNDItODU5Yi05YTAzNTJlNGNiYmEiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjNzI4NGFkZS02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz411vq2AAAAwFBMVEX/S1X/VF7/4Vr/VmD//1v/4Fr/NFT/TFX/a1b/SlX/e1f/zFn/+1v/RlX/vFn/MVT/KlT/3lr/6Vr/TlX/m1j/qVj/SFX/7Vr/VFX/TVX/QVX/pVj/LFT/5Vr/8Fr/lVj/PFT/NlT/9Vv/I1T/dFf/OVT/OFT/h1f/8lv/L1T/P1X/T1X/21r/oVj//Vv//1z//lv/Y1b/gon/Wlb/4lr/foX/kFj/tVn/rln/X1b/0Vr/HlP/U13/x1n/+Vv/Vl/d2/w3AAABzElEQVR42tSWfW+qMBTGHWspIJUCKoKAhcnkRYRNN52b2/f/VituLiRXuWCT5d7nD5Ke5PzynJ6HQO/xhkuPPW698bV/9G74ALf/PABhjPgcOA6XA6QNcxFxAMYRNCjmAAQPfiiJ1wMQmQEwdNHVAOwcwriP8dUANoHnxY0zNAKQOwMQNs9wFiB/C9NDKAhh33FOlVaAzNHEo4LXh9gTBC+UXoOvSuJkLQBUGkyn0xFTfrCgIECrn1cnVhxIURvA2ijAu8pUxrrApPtldXoHhf/SBpBF0Qh8tdal+2BH79uM0DMpUSx2/fV2CEtfcanZbgv2mEz6wKgRoAf2a4LttjlApibmwNdr9kf3mo06BMlMyXxpnQDG8qz9xiTa+G6nngDq9u6c/eYo0/XG+HFg/Lm/vwGQuyirFHle9QTPl96HiwBZ3K6goFtxbLG7VAeB3BGQZksLQjWcz+MVhMZmQrsBUKKo0AD7F0LWexaJ1eLCDBcdaDs1BtMosU0tyMtQ3YpyJ4CT6YU3J9XyWSSkDdhM0k6AZFEMEJGPy7dlMt4Wz24nAFWGYvCTPTPQZgrtBMjSBJv1XCZp9p9+3n8D8MYL4NYT34/m06cAAwDBFCih/fWsoAAAAABJRU5ErkJggg==\\\")}.ui-flag.VU,.ui-flag.vu,.ui-flag.VUT,.ui-flag.vut{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3MDIyZWJmNy1kNmNhLWMwNDMtYTYxMC04ZWIyNzk2YTk2NmUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjQ3NjczOEE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjNFMjVEQzY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozZWQ4MWNhMi04MjEzLTI0NGUtYmVkYS05OWUzNmZmMmI1NDAiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0ZWNjYzIwZS02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5GmKKkAAAAwFBMVEX/S1VzrwD+5FqUSVVjXFd3cVb//lwrJWFGRlUlKFRWVlWKgVfISlXr1Vq2p1hjih43OFUeN1UpRVfZxll7wgClmVjItllKSlVaczX/VF56sw1zsQD/71sfI1X+TFUMJlRihCosL1UlHWQ7MGVPT15UTVUbGlsONVTgTVd5vQBpZViBxA0+Q1VISFVRXEdqmhdNUk5VZUAeGmFvpg13twCRgIp+gn+elFpDPVxIRViXjliUvEpzoSDxfoXuS1X4S1VxHoYWAAACNUlEQVR42qSVe3eaMBiH4S2EACVFkTCqSNHhBXGXtlucu33/b7UkkIrn7Aihv//zEJ73EuPbLn1PfhuT+u7P0nhHrGyL75ajEakB7JRPyvuxiNRAKPDDfDoWkRoMEIrsIp9auzGI1CiSeIEQrbLtdIzN1PhYZBZFCJFS2Py71AccceFWEUKLuM63iW5BOADjY+0WftDY1C2IBAhEFp6VTS1EC8A4CTMsbEbS5m6pDeC3CDOPCJtetq0H2+wAeJTN43CbCmAT4vNLYLewuU04D7bZADwKPFHV2hQFGWpTAsoAiO9HAFZjs25surmw2RMJIODzj1cEorItiLRJLWHzvicCABH2I2rhAPyLTSpslvl2cjtTCWDYhiDhNyGqpNh17UjYLL3bsSSAYihJgOM3QNPeoqbQFwFgYPOfj7kEdgHwO1iiKfoiy0iBnQmzAey3401PAfOs26maRvIpje3gokDtCC9bObezVq1cEoCgVHOlttTq9OGhJwpwBqCePF5np2ZPus/rry+znhwUoIqrVn7Y7pbn9afPs5nZk8eraeTuCll+Vm+cL0/72dzUArTuFiTZrH48vQ44fgXgC6UkCzkC3N3L7NU0dQBiCNni4m5vmjoAsQa03F0D5CKSoyPcPewH/XwHcCxc5c45DnTXBVyWMXdnDnTXARS4dbc6abjrAMSDxFeodKd9XAAad2vhzjTHAPgzsnESXXcdgJzZua67DsAZ3rb/y9z4/utweByfn/8EGACJ+mo2POvpYwAAAABJRU5ErkJggg==\\\")}.ui-flag.WS,.ui-flag.ws,.ui-flag.WSM,.ui-flag.wsm{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo5ZGZiYjdiYS1hMGU0LTQ3NDAtYjhlNC00NWU4YjI2ZDI5ZTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTQyNDE2QjE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTQyNDE2QjA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpjZTU5ODBkOS1hMTA4LTQyNDYtYTI4Zi00MzY2YmY2MjIyZjgiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0ZDFiNGQ4Zi02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4wzvqzAAAAwFBMVEX/S1VBR5v/VF40R6D/S0/wS1tHR5lLUKD/VmCNkMHk5e319fXrS12Gir5laq3GyN5FSp03R5/+VFt2erVVWqW5u9f/S07/S1JGTJ3/fIRKUKBdYqlucrLU1eVydrNGR5k1UKmvsdJCSJvZ2uehpMunqc7NzuEyR6FSV6Nqb6//S1Z7UY+/wdp5frd0SIlNU6GEgLYnR6Xc3Oj/U13/gIdaX6f7S1KqrdBDUKNITp9CSJz/Vl/X2Obx8vPz8/RDR5peE6voAAABD0lEQVR42uzUa2+CMBQG4BZFrUehoALKRJ03nHMX7043//+/2twWV7LYWs43w5sQAmmftOc0JS/b4uW0ulPXNWRZEudIxYT1xKfjmB6RpyWO53FjEIs/ch0zL52+J0VxfNAAGCaAggIoJQE6AXhGAbVJZJ3ed2mBn1jso2ppAgF95MEZKENZF5j1YR6dl9BrD7W3YMPor5srGgaaAGcR4/+rcT1w//ucKmDP0rfxu4VQRQD1mL5hDhId9SjmJNYO8N62EAAfgFCANFvY2H2mCSTuA8p2oe4KujlZXseKG6lEpk6ncDnjp7WvANyKKUnF9x9UgJeXxFPM/wIMgkoGZEAG3BCwwALoLA1Ump8CDACWDBYM8Uww0AAAAABJRU5ErkJggg==\\\")}.ui-flag.YE,.ui-flag.ye,.ui-flag.YEM,.ui-flag.yem{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3MzJkMDYwNi0yZjIyLTRhNGMtYWJhZi04NTcyZWExOTNiMzYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjYwNzk1MUU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjYwNzk1MUQ5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NGQxYjhhNS03ZWQ1LTM0NGEtYjU3OS01OWMzOTAzNjkyYmYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo5NzQ1OTJmMC02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7Zf4wjAAAAY1BMVEX/S1VGRlX19fVPT17/VF7///9PT13+Vl/0///17e44OEn/PUjs7O329vZSUmD/VmD27u/t7e71//9YWGX/R1H+YWn/gIdERFT/U13/Vl97e4b/g4r/SVN5eYRaWmf+X2dCQlJShS6FAAAAX0lEQVR42uzMxRGAUBTF0Asfd3frv0pmaCEs39kn2gNkErawfFXABrUNbPANhhw5dMfIqCZFGnUJ0qn0kdIGNvhnEEJqC6RVHyGXngyZ5TyksoENvkFEBx6kzSHnK8AANUYd4JPEahkAAAAASUVORK5CYII=\\\")}.ui-flag.MYT,.ui-flag.myt,.ui-flag.YT,.ui-flag.yt{background-image:url(\\\"data:image/png;base64,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\\\")}.ui-flag.ZA,.ui-flag.za,.ui-flag.ZAF,.ui-flag.zaf{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozOTBkMTBhYS0xNGQwLWRmNDEtYmZlMy01NjllOGE1M2Q1YTAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUE0MjFDNEE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUE0MjFDNDk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3Y2M3ZDVlYi1jMDg1LThmNGQtOWU4My1kNDVmZTI3ODA1OWEiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxOWZmYzdjMS02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5Heju8AAAAwFBMVEX/+WojJ1RzrwD/S1VBR5vE25l2sACzqFdZpAAqMY//MDuSuyP+8V+dxlq6vNf5s7f///9GRlXUx1hLUaCuxCzt3VVfpQBsrAC914w9RJr/VF78i5F8sw7p79RscbH11NaRlMRlqAD/O0ba2+hKSVX9aHDKzz1PT15ZVFUeJYlVoQA7PFf/VmD09feLglf1///09ulurQ1tZVbb6L5jXFb07u7/RU8YH4b7+fN1sBlpqxBHR1WBti29v9rfxmDnzWAiTGirAAAB7ElEQVR42pyW61aCQBRGB51sQMyZCBAlbcwuIGWmXdF6/7dqjoCAuRZz/P6zF2efC5BeCFn2OH8aWe1kiMyItLLEm2u+6FtWGxsSZoAOkyu+mLxjCUkBaHUkG3D+dme9IwHLTkHw494nX4ysKfINWGuf+AstIiFuN/b3L8HkGeeTtoUBEPuKyT1BxkgRCfkl9r3nnSwiIeKcELdTE6H62Z9auoC58awIXVaK8DAiEvIwN17tQxEw2HoiFCAVxuxSiZBVEZsXTRFD8iDEzJiDiPCIiMZMASBmuYjKRHie6uek35wdAAiv7hERGskAQokQl4TcS1YR0T3TSA4AEcZORFyKkF5zvveAnQi7JkInYQkAwrouAgkQaar6adtu6J8KAA8AkKcBVCceXdjNE0vIJNqVtcIByjaWs8T02wj+YJD8cpBaapAGjckHaSayDpblw2nSH+Wi/MNlur1oynabrfO/KY6XK863QWQ2JVAHJc32yK/ukfpS8pvIpEFTHDhp66ObPP4IaHMckq8QOyzfiXSeB8C/8tU14xdmRKke4AfuKavf0135uoBjF12v/BxQP6XwTbl1PijVBxwec1W+STGA2g8GqvziDcrdQ5ZfB+Tl04hSJCB/Hv5ukOVnIcWP5id/ujEDB5vxnwADAKW5dE2Ryzu2AAAAAElFTkSuQmCC\\\")}.ui-flag.ZM,.ui-flag.zm,.ui-flag.ZMB,.ui-flag.zmb{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxYzhhNjk5Mi0wZjg2LTdhNDQtODdkMC1hNGFkYjUyMTlkZDciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjYwNzk1MjI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjYwNzk1MjE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozY2Q4YzdiOS1kNzdhLTBiNDctYTFiNS0yOTkyNzkxMTE1ZmIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjZTRkYWU0OC02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5G2PPnAAAAwFBMVEVzrwD/m1V6sw1ivABGRlX/S1VzW1U6LGsnRVb/RllmhSStSVV6a0hUbTaMfDuUalTLpDa4elWGhDWEYlWPmxHXl0b3nFFAOGH/OGWVoB2Hii9ysQDMg1WqlDTWilPKcDauiUGAkiOFdER8tBCGbUx+ow+cx0x3rgFgU1R6vwBevgCZe0ZPT16iclP/VF5xqQVzoQ5yrQGZlC17qgn/T2J3rARyrQLzoFN0qgbAflRKQ2j2l1V2mxbBjUe3OGR9wAA+KoG0AAABAUlEQVR42uzWyVLDIACAYWgUUxtBQhclaSyxC7Ziurng1vd/q4ag9hqSm8N/YpjhGwY4AOadVs1B6zrtlt/XB2Yi3m2q0efid2r37ADkEk1yvC4A17iECs7jaX7pAAjMCJXqa5zBaLudMEQIky5ASUhFmSYZ1GlGGaVUxi9OAFhHikik0w9GJFNkJZwOsaoQOFc6pQhNeeF4C6d9EEUi/OZ8jX9xxlCTd3ACVlg0AZKfGr7ERbK0BYcH0yHZuAHB7M6Gr2zja1tdYNm/sX2HI9PFAFYNa++g3+2em3rhmWnkAQ94wAMe+J8AaAvU/GgGt/v9k6kXPpreB3BYBl+PAgwAEXgs/MMVJ4QAAAAASUVORK5CYII=\\\")}.ui-flag.ZW,.ui-flag.zw,.ui-flag.ZWE,.ui-flag.zwe{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0NWEwMGI1Zi0yYjI1LTQyNDQtYjQ3ZS05M2M5YzQzYTBmMDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjYwNzk1MjY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjYwNzk1MjU5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3YjQ2MmIyMS1kY2FiLTE3NGUtYTkwMy0wOTFkMTA3MmY4ODAiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoyOGExY2M0OS02ZWFlLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5kK57PAAAAwFBMVEX63Ff/5VpMR1Z8sgb7J0qomVU3Rlb+S1X/5mIkHzT19fXEslEiLknzp7B0rwD/VFaTnqn///9RZR/0h47tiz7XxFDNyKNaLTSIfVVYWX/0/v9oqwDtx8n//l2JzAZBN2r+DS/9WGBzgZrSSk6vsMb/P1X0+P313u3wTFbN09X8bH96sw3k6eouQxf17e3/T1qaMT66xdB/wgObxknr3VfX1uH/3GX29vdUgQlnnwPg4ObJXS2/fVHfhFzfM0Xv8fKrPsxDAAAB40lEQVR42qyWXZuaMBCFYSWsEKiiDcRZUClrXF0LLaXN1ur2//+r5gOfeknCnnveZ3KYOTNOulms21dr/XCSw+Zr236ylsOTcBU8WRNeHR4myZfgbT0CIAjP0aKdPNlIAUKe/BRGrK0rEEr4KiCFYyMNUEbgYmquG0AaEdCicFwz/QdII6IH15RwB5BFSCPsAboj0NTIwl83AGMcQHVEVs4MVPYAxjnEOQgjzn62M9CjBrAQodxbAtf/s2oeh0pXwBlCHX7f1aCsnEffGiMAZ3BIHfeyXQIoI75HWWMEAL5PidtdvHhfgzTi5AcvzWAA5GW5q4grCO9eOVvWTBnxMEwCwOrj1qs6QtwCV1sv1lbOo8gfIAkIAZbbK+4IJh2+5MB1Y59W0cAKFOFCHEwpJnjO+sn4awAI4YQwQRR1HU5ZP5sGTxCAHGGEKEUInVmfDv5gEyUg/lzIzymljKvyg+plkPpZgOMfYaGQfAFLDn5m1sqMH6+p0jUGi1YOeV0Dk4L93mqYZDPrWADZxSbj3NxHWqjnaGYTKLfv59aR9gGhKtJsk3WF9V6Qi2UxYrGoRB+x2vrnm6/Wab/ez3K9Tyx0d2C01geG/Ptv64n1iZOwVfB7xJElr5vJmDNv7KH5T4ABADSHn+H/m3U3AAAAAElFTkSuQmCC\\\")}.ui-flag.TK,.ui-flag.tk,.ui-flag.TKL,.ui-flag.tkl{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo5ZjAzZTM1Yi1iZmM5LTI5NDAtOTZlZC1kNmFiOTU3ZmMyOTMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUZBMENCMjE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUZBMENCMjA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1ODc3YmY2YS1lN2ExLWNmNDQtODllNS01MjE1YWYxZmZmOWUiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4YmU3ZjE5Yy02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6iNucPAAAAwFBMVEVBR5v/4VpLUKDMt2y3pnNJTphNU6GOhoFoZ45bXJK0ttT09PVkaaxTVZX63Vzb3Oi8q3GEiLx+grpTWaSrnXeZjn17dojSvWldYqlYXaZCSJviymTy119OUpdFS5qxonWmmXns0mCFfoTg4etKUKB2e7ZLUaCtr9FgYJHEsW56frhITZhDSZzBrm+omnhKTphqb7DPumpPVaLWwGnw1V/02F7+4Funqc7+4FpRV6PJtmxMUqFwdLJ3fLh5frdGS53MU3/IAAABVUlEQVR42tyWyXKCQBBAabMAjoOAAoKCbC6JS0w0e6L//1eJlpUgTMPg3HwXqijeo6abA5LZEGIrCZOK6Z9SQyxwe3GBVrVhxx4aSFeTzrxcV5ZRFw+4bTLZldhevAYApeQIr4mJ64EV/eow8PDAfCx1UF/ewAHnvC3YfTiinxOgC/ijywq4veyojElum7L270PICIzaJ8NrEiP7yEPm9UigRchX5t77/Th7+s2JD0NG4GlrotMPIcddrSH6Tt6Hfp2AMoAilD8gA4uYO9Bl+rkhlAR0tg/ajCsQPALGkifg9wGH4gH3eFWjEh/WWKBnJu7hi5pqUIqFBAxC2qv9+iv87CpPj5CQ5v79UI3NDHRM1/AkVeMIgIxuYfoGXCxUSmeMgPoMvGgvQ0YgUG84odQPioHYueJHV4uBD6iDVQwow2t+Qv9C/g9S0YAw32I/mqMfAQYAOrwX/qLc/+wAAAAASUVORK5CYII=\\\")}.ui-flag.BL,.ui-flag.bl,.ui-flag.BLM,.ui-flag.blm{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDphMTA2YWVjZS00NTJhLTQyNDEtODE0My0wNDYxZmQ5MzM0MzciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUJGRTFGODI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUI3MUU2MjA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiNmFiYjQzMi0zNjY0LThlNGYtODllOC1mOGE3ZGY1YzAyZGMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowMjg2YjRiZC02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7oKkArAAAAwFBMVEX19fX6n6SVg6X/4c329vaonHL/9eH/S1L86qr854pPTlZ3TYdCR5v48epucIz953riymL48tb+7ttJTp+Ynsny12DW1+bJt26Geof77eEuR6IvOaZdWZH51879+/v/4Vv29PHYwmj/69f39O9TSJX9+vT+5NL38+T/3yH/N0KDiLv28/H79+/89un/9+VOUpVYY6H9Z2/67sb86Nr19fP+Wl77iIjOuFjw8PPq6/DZ1srm5+7bxYry34vm3br6LT+6yCVxAAACQUlEQVR42tyWbXOiMBDHY5EU7hKerGIoZyBR6IGggrX32Pv+3+o28er5jtC+6M39ZyRhM/ub3ZDdiKZvFHpvTdH0fwZkR1Q6oBIds1cAws4NUcl9n4codLtwJMABR94h5HLuAowDyBkFCMFzHgfzOQzzIIbB70amEHOl4Okp0JOfo1KgFCGb2x8usvkzQtIYQAUAKkJ2hJA0JXqyAEBETQCU1gJvNIAvCckDQpZ8pgAbLDJJhwB1xFjUOiEAcs5nSw4U2AoAhE6LIybkAECKCONt99BVxMttsovjHbFz7x6FD90W42gQQEXURs1W+lWSBF6S2HaSeEFy/80vtw0sCWoAEHK7ym7W63QNP/1Y3z+j1YYKA4BUEcgGb063Wqfz+Aut2kaqCIZSyCKBWwzSjo+3kwk8QJ9WYGuxYNnQZ6xF1FwAp3oyQacLoBEiGz5IjP4FHA6TyeGgUnA0gDIDANL+8vR4vQefnalKrDE5ylL5O+jHzccrLV3kaK4BoMENDl03XCT7OIeT4OX5PrlTFljAwwCJpcRHVXr7XRxANXhBnu51LcJKI02qMfL18HUGxWjbqhwX2uAyw3Jmvluq3V7sice5R2bKPysd3xjQQT9UsX6p0jhOq+8qM2Vjxg3FcYSIdBB31eJ8PpWNmra0jBWFEPWVQYiiYNmIptpbxXXZSFFY/aiu3FuW1V8ipvp1FIBaWn3PGOvPczbuXjj+cXtRX4++XGtWvHgXrH7d9U4hfkiC/uN/MNA7AwDxRv0WYAA8GkIDWBTtSgAAAABJRU5ErkJggg==\\\")}.ui-flag.FK,.ui-flag.fk,.ui-flag.FKL,.ui-flag.fkl{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2MmE0ODdiMS0wNWQ2LTUzNDQtOTNkNi02ZmQxYjE3ZGYyZjIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzMwQkNFQ0U5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzMwQkNFQ0Q5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1OWY5N2JlNS01M2RiLWNmNGMtYTI4OS1iYTMyYmUzZWM2OGEiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkYzhhNWE1Ni02ZWE2LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7fpNj3AAAAwFBMVEVBR5v9k1lsj9JNimEsM5DrfYr51NbUz8iXXHdMUaEnYc93e7b+ipGhlY02PJX9/fyLlMWustL/S1X35GMCCHr+panOzuL94uJPfNL6x57wYyRyUon9d36bo8z8wsTAw91ESpydsERtsQP+snoVHIXLsqvFalYhKIv44sfl5u3TqHfy8fWAepr+YWrp2uqis+RiVZv9gj2Am+/W2+r87u1HTZ68T3M9Q5nne0thUoxMSpY/RZrNg2hqb7BSTJORsvgXOslnAAAC6klEQVR42uyVW3uiMBCGA6ZIBAnQaqGCwYJGRasIeKiy/f//aieISi9al/Z2v8eLaJJ3JnMSeUPKCA8IKDeYbtt6f5eX33jOFPthUG59KQ15tk5jjeMAoR0WAK9v7BAKMNdi3dYzgtH30oa2DU7k0S44A3QABLsIsaG9VGLNOH57nSB+tHrgBDU5P14ARw7mPbtHGWwHdwAEfFWWwgkS8TMAR7kw/1y97B4gOEYGOOFl1IwsAWCRli3BvLWDZ6G7AINjHD0RJq6wfulBieuTpwhjju8+QSuE8iIdQkKpAFCxSuGnUsHuDuD5LEWJM0VRPEijomQxLKuNNb4DsO9oa5xPFr5Zk6+RpgBzJdfk+0VjgOz4bblTynEc8wpQKg0VEYhzDMplpUsMTLk9bbdNB8w7nTpAK7UuUqpA8Mss0J6Xpdr6vHPJQulBJblTA2DOoQ4CBqWrV3XAMugiJuqA82spm3Cruj/16wASIG74VJTutRJNqkCHWUa9EQAgXzwwPwFwVMxE6fZrvUD6FKpxVtR6oe7BJwA3LHE4M/GtG3ecm/QZOgzaAV2fALF7+9hsNqu+UwdoM3ESzBv1eWBEhAnu23UegAet1qglNGrVs3A2z3k5kUQQvbScSDASqHjZAN8Ar5VadQ8e7CET5tFlpOnlSEMwlHIW95a3QlrFp9Gr544mo5jJN4C6JfgSqiNRt1uVVE4HGJO1Oqj2/BmdhqFbfqaUWlcAHLuOjcDABnwugYeg3PbMVO48PrqPQl0nvfUCQf+mQu743fkiDLvz+diRtbwpIPdd152P3XA8D91sVaCmAOT3u5JErTENpWTso+aAYtVRpW5nsZBOHV/7AQDy8LGXQMkmtVBzwLuauBkNkySkVEkmfxoDTtLkpWuljsOY+aJKp0FTgAq+DxY+jMPFIZF+ADhMxPOTEHIAi8mh8RPUvXpQT9J+L53Uw2GvNgYc1Pc6bvCDNH717/wf8HvAr6WRX0n7K8AAuHFvc581UW4AAAAASUVORK5CYII=\\\")}.ui-flag.CC,.ui-flag.cc,.ui-flag.CCK,.ui-flag.cck{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0YmYzMzdiNS1hOGJjLTlkNDgtYjFhMi0yNDM4NDUwZmYxNGYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkM3RjEwQjE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkM3RjEwQjA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4NDRlODI4OC1mODNhLTllNDgtOGQ4Yi02NzM1MDQzYzgyZjEiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmM2FlN2IyNC02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4P2Q/QAAAAwFBMVEVzrwB6sw3/4Vp8tBDb1EPr2k2bvRnz3VKrwyTDzDTS0j3MkVmBtAmcx0p0rQC4yCx2sAKMuBD431Z9sgZ5sQSGtgymwSH62VqrZ1PLzzmwxSjm2UqSuxSUuxXh1kawxSfIzjbP0Du1xyttxQGjwB/W00C9yTBwtgB4sQOEtQv+4VmXvBeQuRL84Fj+4Vqfvxzj10iWS1B6swyKtw/Ko06+hVT+4Fp8mBPd3EaebkR3pAnls1yLazd7tA/74Fjux1nJ2bN3AAABy0lEQVR42tyWaVuCQBDH14k7TORKuTFFMAvLstu+/7dqlhI8SNHtVfNieeDZ/29n59iFtFtM1ibMds8m/yAtNsBZBfA6cpJrhwQaETyi1QC6PFBbDg8RQlEUajyw4RblfeEGov16Exfq7wJ8VEsykBCfnb2ALIblIN0BzG4DKSNz0pECAGsvwQ9tdceDHCDwvj9IAIPjs5CAYhi+cDEeG2QKyvGAPih9gGT89OrxCgTHA+QihfOr94crDDLXSJmS3MLhGyBRve4+v7yhAyCvTRtGnBsMjLqKknXe134Ahli4AL1zOl6XkwT6fcIHYQ3A0jHj2SqNYaG/vPvEsYphh/qV09WwdrNsC8CBOCwBGEaARe8OR95cTbHp28r77ojzKjWthNyx13sBV1s84g5GZaMY6GNVVNF6cKXA3u1GS57xblztv4hsGc80RkBZgTIkNe28bfFGPLux4lcv9rwBALsCqsCZqWYeOFC2bbYBaHAi1W3BZwE4CEhYAOoNnnAqA6BwwdUYALR4QJwyAIg0oQhu5JwKIIYz4nU+sk4GEJYs/FtA+tvl2tgGenHKnQww3drLtbmpEegO0xZ8aaj+bRbuWQHMxvqj+SXAAM08HH0i/rupAAAAAElFTkSuQmCC\\\")}.ui-flag.CX,.ui-flag.cx,.ui-flag.CXR,.ui-flag.cxr{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowYjk1OGNhNS1iOTQ1LTBmNGQtOTNhYi04YjQyNWU4MjVmOWYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkJCMkRGMjA5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkJCMkRGMUY5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiMjQxY2UwNS03OWQ1LThkNGEtOWQ4NS0xNGRiNGUyZDZmOWEiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowZDFhYWIzYS02ZWFlLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6v7RLFAAAAwFBMVEVBR5tzrwCvxSeXvBZLUKBWcl/s2k7x8fOsp3Cqrc/GzjZscbH+4Vp2sgFDSZo7O6v/6ms5NbXY00J+xQB7sw1mlTI9QKNJWn56shBcpgArNaN6vQBlqgBeg0r/9FeLkLz9/UtPWZFyrQBUV6FupRpzrgAdKah+swdbYKgjLKY2MLxwqhRARZ1yrgBARptyrwB4fLd3twB0sADhzWRfYZFGUY1iZY9eliN1sglrniTi4Vs/OsFnsQBDS5RBSJlzrg9jrPhGAAACVklEQVR42qSWDXOaQBCGV44gHicKNEaQgo01p9YoIWmbfpH//6+6d4CRT8HsOIyj8vDcu3c7Qjh3Pn2gdLCSW2dxP7i2xqBOdjevzvhKRDwHNdnv9p/7SSj8HABgTnZ33/pIaHYRACgx6yNBmF0E9JbQcsIJkEosFo/rbiEwRkuAVOKr83TfUYGRMgASEBLOulWCpx3g2SIKgE4SMWWaYNhMqwGghDW5JEEZYwpeqwAzMlQwZ7vvv84kjse6BJmGIVQAo+FwgxKJNblZOAMp4btYfjUHJorXA+AkEfsuVyhVuOvHZQQKMJsQws8Bm1GUJSEknhzfp2wqivoVApEOmGcpxFMcKPHzrz1NfzbVKgQqv7DHcQNASDzoy/R+yn9Tt7QE+XRebWO6lJW4eitmy7Bww9hTUkhyLAIY1O0DUdFwJD4TAkSxNUUITwsKSn57PQCbYQActgjIE9MQwLMhgtDT7RnAhDAy8/SkAUgAJQrJEkcAoXZalJRGGqzyDQD41gDTlDRcAjZbw6dRCUAQURTCqzMRVuEJYAzDfCXeSxDIHuC5YQFxm4cqxh5mOwjUzXskWRsJnv2Aug3zrnEfYBqe9ywI2Mvls3f3Vj/vWgBImOnBEivQZ54lhm7NvGsDIGH7omP92Hpm09BtBYB58B48fB2wLcmhVqIdIGq/b513lwEX5l0vgDzlJYmegFxisL4WAOWh2x9QHLqlsf5+KDtL1E7lLhIWDt3B47WAVOJWSBQAq9Dok4SQiI/9QzyT+If/7+ZwdSUmSrw6EKkfqD9f9P8CDAA4mVD2sXtwPgAAAABJRU5ErkJggg==\\\")}.ui-flag.IO,.ui-flag.io,.ui-flag.IOT,.ui-flag.iot{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4ODJhNmQ4OC0wN2QyLTI5NGYtODAxMC03MjEzOTNjMzQ4OWEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjczMjUxNzI5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjczMjUxNzE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmNzIxOGEzZS1lNDg3LTg3NDMtODhmMC00NTYyZTdhMmQ0M2YiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDozMDYwZDlmYy02ZWFkLTExZTYtOTU1NC1lMzJiNmU0MGU3NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz47fIr+AAAAwFBMVEWKjb+tsNDR0uP19fX309VBR5uTlsNzrwFadGby4Zf7iI71eIJ1erXGyN767G1TWKT/S1WToIz4ur5iZ6uqx2j9cHiBthvl5e3KvtHYuluTUDBFSpz25eZgfUtaYKjs7PF9bo9jjTJwdbNHTZ7Mt7NLUaDP3rV+grn9YGlMXX3h6dT6n6Tm1dZdX5WeoclMSYm7vNhqbq/r7+Xv8upgSXPc3OhsoRVCSZjx8PKRf3drvwWOvDedPjulJEh6oz9FR5bxTWsVAAAEOUlEQVR42qxWDVfqOBCdJv0QaCi0aEWg1dZaFY3p02CVXff//6udSVpA3zvrct6bc4Be2twkc+dOCqO4VVnVhRhOJkPRo0i5k5HL/ztgNBnyvPZsMCQYsQ7U6XAyXPLvCCCeTGKuIjPGrMASVCqe3Lot1LWjzZNM1kUBTmqA8EMEKkeCqlJrXEQLnwkgHU3WPW8S1kXWratsEEQdqJoaKs8LH25xESLbE0SCpk/7nR3G3etnTATewllPTpccPEUEyoPlKU1f0i2o+7mT2ocw2twZ0IAPRdkTeF52fktD7AoU0YnErtjsHmpwmNn8TTCF2u/SkiofAJOBkRUsHsWcEwGPT2Ouw8zcCPtsP993BDPze/+jV8Hto13iF8noust296/7kHdPnp3da53PLME2SLVuDcHkmxiVjRRpqsU0CO686iPYpulNEKxwe1HtsPR7ApOKBX5WNOwq2CxOguCqFyH6nwQmNjhwE2yugmCz13KfA3eJSRiZHJjLPgdKWj0Kqc6CLu5CRwjhABYUlmqIkYSMuyjDmlTg8XDJ8C+MuqZEaaFEaiSwMUu7xLZMdHUQqRZddc5MHYglukhEuzpADW9ms+1ufoyz7Wx282xUMAQOp9L1PcdWos9ddJhjsiepgu5nwc/xYcqJCApNpcuSvRcygZsZ6bCrYXAcOT1ZrTB9wTsN/Vid3D2ZvDhQlQ6n0vW/uJG76DCn+mQc1C+4CGwR7FSo0yU+KbKv/SBSxKvrMDsc/776e/VODGXSJIYdWlzrEn7VkaClnbnopSKLstBhOPfN+V+Xj/g7JR1yAUkGQ5q+iqqSwvbEDpQozfp2bfUy9X92zx8urvkPvHretbT1kLjy1n7Hw2HcGvvk5r/lOu6ftDYiArre7giQXUHRFL6wFnfqogl9a34t6yRr7J18O22yrABDkE4/kiwJSUcIkz5HZVLsOh92u6KJdo5BUFH5P07f5m/TOim919euW4J3RJTz2XyOn8dDGY2vpZR11VeNlH64sKDxETT2ehH612N4nL948zevoiFA68XH7eZ5rqQvu86H3Y6A7XxcOwgUCTfmD3OQY0d1bUogCz8mBuPBfDAYfzqZzHxCsN6h6F3B2gOg+d67gzHFgNbLhHE4ByZkQTsusUcw1nUP7HYEfCNKBoox4dQoyqK8vLgmEJozA7slO0oFjKeLly8n0x8gSHylNVNGFOrhCMx6vSqUjEBYdT1ca+EbAtqV1srH/QLbJYlrtk9li6A/UjBjTHd5faAc7Iek7DgZezN9kZE5PvTnJdYGgK/sSnICUuT7k1ReWwJthlDVgYTeTQ1Ivz/Ly8LHgu7cVIUIzFlOSbz0JTTeru6PVeGfl6dfyIgn+d67yQEghyfl3tRFcuBw631ICsm696YiS7o3qlxBQyDtegy2FbAG0gT67sNkmByrws+veb9L8K8AAwDwE484jKU2IwAAAABJRU5ErkJggg==\\\")}.ui-flag.RE,.ui-flag.re,.ui-flag.REU,.ui-flag.reu{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAqCAMAAAA02K3QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3ZGY4OGZjOS1jMGM1LTEyNDAtODgxMi0xZDE1YTM2OTU0NjkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzQ4QTZBMkE5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzQ4QTZBMjk5RUUxMTFFNkE2QThCMDE3NkJGRDk2NUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjAxNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDplY2Y5OGYwNS0xNjA0LWZmNDAtYjEwMC05ZTViNDIxMWI0MGYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoyZWMxOWYwZS02ZWE3LTExZTYtYWVlZi1mMTc0YTYwZWZkMDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7JV2g4AAAAWlBMVEVBR5v/S1X19fVLUKD////z////NUA/RZr/SVP4vsEpMI+3udb/VmD/VF729vZKUKA0OpW2uNb4wcT/UlwoL4/0////P0pJTp+6vNj/Vl93fLj/gId8gLr/fITnfLayAAAAWklEQVR42uzWyRGAIBBE0VHAFQX3Pf80DaA5WDU3q38A7/zlNtAWd9tDy7hOHXRJonIebA65uqgyTEICaNrPwCFGB3gCBAgQIECAAIE/AkELqDfv1I3m8wowAA35Gh6EqX3fAAAAAElFTkSuQmCC\\\")}\", \"\"]);\n\n","import { autoinject, observable } from 'aurelia-framework';\r\nimport { IState, LocationState } from \"../store/state\";\r\nimport { Store } from \"aurelia-store\";\r\nimport { updateLocationState } from \"../store/actions/location-actions\";\r\nimport { Location } from \"../models/location\";\r\n\r\n@autoinject\r\nexport class LocationManagement {\r\n\tselectLabel: string;\r\n\tlocationState: LocationState;\r\n\t@observable selectAll: boolean;\r\n\tprivate subscription: any;\r\n\tconstructor(private readonly store: Store) {\r\n\t\tthis.selectLabel = \"Select All\";\r\n\t}\r\n\r\n\tbind() {\r\n\r\n\t\tthis.subscription = this.store.state.subscribe((state) => {\r\n\t\t\tthis.locationState = Object.assign({}, state.locationState);\r\n\t\t\tthis.selectAll = this.locationState.locations.length === this.locationState.selectedLocations.length;\r\n\t\t});\r\n\t}\r\n\tunbind() {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n\r\n\tselectedLocationsChanged() {\r\n\t\tthis.selectAll = this.locationState.locations.length === this.locationState.selectedLocations.length;\r\n\t}\r\n\r\n\tselectAllChanged(newValue, oldValue) {\r\n\t\tif (oldValue === undefined) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (newValue === false) {\r\n\t\t\tthis.locationState.selectedLocations = new Array();\r\n\t\t} else {\r\n\t\t\tthis.locationState.selectedLocations = new Array();\r\n\t\t\tfor (let i = 0; i < this.locationState.locations.length; i++) {\r\n\t\t\t\tthis.locationState.selectedLocations[i] = this.locationState.locations[i];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tlocationMatcher = (a: Location, b: Location) => a.code === b.code;\r\n\t\r\n\tacceptChanges() {\r\n\t\tthis.store.dispatch(updateLocationState, this.locationState);\r\n\t}\r\n\tasync acceptChangesAsync() {\r\n\t\tawait this.store.dispatch(updateLocationState, this.locationState);\r\n\t}\r\n\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"[type=checkbox].filled-in:checked+span:not(.lever):after{border:2px solid #007bff!important;background-color:#007bff!important}\", \"\"]);\n\n","import { I18N } from 'aurelia-i18n';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\nimport { BindingSignaler } from 'aurelia-templating-resources';\r\nimport { autoinject, observable } from 'aurelia-framework';\r\nimport { applicationLogger } from \"../logging/logger\";\r\nimport * as Enumerable from \"linq-es2015\";\r\nimport { MeasurementSystemEvents } from \"../events/measurement-system-events\";\r\nimport { MeasurementSystems } from \"../converters/measurement-systems\";\r\n\r\n@autoinject\r\nexport class MeasurementSystemSelector {\r\n \r\n\tprivate readonly i18N: I18N;\r\n\tprivate readonly bindingSignaler: BindingSignaler;\r\n\tprivate readonly eventAggregator: EventAggregator;\r\n\tprivate systems: any[];\r\n\t@observable selectedSystem: any;\r\n\r\n\tconstructor(bindingSignaler: BindingSignaler, eventAggregator: EventAggregator) {\r\n\r\n\t\tthis.bindingSignaler = bindingSignaler;\r\n\t\tthis.eventAggregator = eventAggregator;\r\n\t\tthis.configureSystems();\r\n\t\tthis.selectedSystem = this.getSelectedSystem();\r\n\t\tapplicationLogger.debug(\"Selected system: \" + this.selectedSystem);\r\n\t}\r\n\r\n\tgetSelectedSystem() {\r\n\t\tlet system = localStorage.getItem(\"measurement-system\");\r\n\t\tif (!system) {\r\n\t\t\tsystem = MeasurementSystems.imperial;\r\n\t\t}\r\n\t\treturn this.getSystem(system);\r\n\t}\r\n\r\n\tgetSystem(name: string) {\r\n\t\tconst enumerable = Enumerable.AsEnumerable(this.systems);\r\n\t\treturn enumerable.FirstOrDefault(system => system.name === name);\r\n\t}\r\n\r\n\tselectedSystemChanged() {\r\n\t\tlocalStorage.setItem(\"measurement-system\", this.selectedSystem.name);\r\n\t\tthis.eventAggregator.publish(MeasurementSystemEvents.measurementSystemChanged, this.selectedSystem.name);\r\n\t}\r\n\r\n\tconfigureSystems() {\r\n\t\tthis.systems = [\r\n\t\t\t{ name: MeasurementSystems.imperial },\r\n\t\t\t{ name: MeasurementSystems.metric }\r\n\t\t];\r\n\t};\r\n\r\n}\r\n\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"measurement-system-selector [type=radio].with-gap:checked+span:after,measurement-system-selector [type=radio].with-gap:checked+span:before,measurement-system-selector [type=radio]:checked+span:after{border:2px solid #007bff}measurement-system-selector [type=radio].with-gap:checked+span:after,measurement-system-selector [type=radio]:checked+span:after{background-color:#007bff}measurement-system-selector label{font-size:1em;text-transform:none}\", \"\"]);\n\n","import { Router } from \"aurelia-router\";\r\nimport { autoinject, computedFrom } from \"aurelia-framework\";\r\nimport { applicationLogger } from \"../logging/logger\";\r\nimport { DialogService, DialogSettings } from \"aurelia-dialog\";\r\nimport { HttpClient } from \"aurelia-fetch-client\";\r\nimport { I18N } from \"aurelia-i18n\";\r\nimport { LocationApiProxy } from \"../models/location-api-proxy\";\r\nimport { SettingsDialog } from \"../dialogs/settings-dialog\";\r\nimport { LocationManagementDialog } from \"../dialogs/location-management-dialog\";\r\nimport {Location} from \"../models/location\"\r\nimport { IState } from \"../store/state\";\r\nimport { pluck } from 'rxjs/operators';\r\nimport { dispatchify, connectTo, Store } from 'aurelia-store';\r\nimport { clearLocalStorage } from \"../store/actions/location-actions\";\r\n\r\n@connectTo({\r\n\ttarget: 'applicationState',\r\n\tselector: {\r\n\t\t//deviceRegistry: (store) => store.state.pipe(pluck('deviceRegistry')),\r\n\t\tapplicationUser: (store) => store.state.pipe(pluck(\"applicationUser\")),\r\n\t\tlocationState: (store) => store.state.pipe(pluck(\"locationState\"))\r\n\t}\r\n})\r\n@autoinject\r\nexport class Navmenu {\r\n\ti18n: I18N;\r\n\thttpClient: HttpClient;\r\n\tdialogService: DialogService;\r\n\tapplicationState: IState;\r\n\tselectedLocation: Location;\r\n\tselectedLocations: Array = new Array();\r\n\tsubscription: any;\r\n\r\n\tconstructor( private store: Store, private router: Router, i18n: I18N, httpClient: HttpClient, dialogService: DialogService) {\r\n\t\tthis.i18n = i18n;\r\n\t\tthis.httpClient = httpClient;\r\n\t\tthis.dialogService = dialogService;\r\n\t\t\r\n\t\r\n\t}\r\n\r\n\tbind() {\r\n\t\tthis.selectedLocation = this.applicationState.locationState.locations.values[0];\r\n\t\tthis.selectedLocations = this.applicationState.locationState.selectedLocations;\r\n\r\n\t\tlet this_ = this;\r\n\t\tthis.httpClient.configure(config => {\r\n\t\t\tconfig.withInterceptor({\r\n\t\t\t\trequest(request) {\r\n\t\t\t\t\tif (request.headers.has('RequestVerificationToken')) {\r\n\t\t\t\t\t\trequest.headers.delete('RequestVerificationToken');\r\n\t\t\t\t\t}\r\n\t\t\t\t\trequest.headers.append('RequestVerificationToken', this_.applicationState.applicationUser.AntiforgeryToken);\r\n\t\t\t\t\treturn request;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tdisplaySettingsDialog() {\r\n\t\tthis.dialogService.open({ viewModel: SettingsDialog, model: null, lock: false } as DialogSettings).whenClosed(response => {\r\n\t\t\tif (!response.wasCancelled) {\r\n\t\t\t\tapplicationLogger.debug('good - ', response.output);\r\n\t\t\t} else {\r\n\t\t\t\tapplicationLogger.debug('bad');\r\n\t\t\t}\r\n\t\t\tapplicationLogger.debug(response.output);\r\n\t\t});\r\n\t}\r\n\r\n\tdisplayLocationsDialog() {\r\n\t\tthis.dialogService.open({ viewModel: LocationManagementDialog, model: null, lock: false } as DialogSettings).whenClosed(response => {\r\n\t\t\tif (!response.wasCancelled) {\r\n\t\t\t\tapplicationLogger.debug('good - ', response.output);\r\n\t\t\t} else {\r\n\t\t\t\tapplicationLogger.debug('bad');\r\n\t\t\t}\r\n\t\t\tapplicationLogger.debug(response.output);\r\n\t\t});\r\n\t}\r\n\r\n\tlogOut() {\r\n\t\tthis.httpClient.post(`${window.location.origin}/Account/Logout`,\r\n\t\t\t{\r\n\t\t\t\tmethod: \"post\",\r\n\t\t\t\tbody: JSON.stringify(\"\"),\r\n\t\t\t}\r\n\t\t).then(response => {\r\n\t\t\twindow.location.href = window.location.origin;\r\n\t\t});\r\n\t}\r\n\r\n\tasync clearLocalStorage() {\r\n\t\t//await dispatchify(clearLocalStorage);\r\n\t\tawait this.store.dispatch(clearLocalStorage);\r\n\t}\r\n}\r\n","module.exports = \"\\r\\n\";","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"navmenu .sidenav-close{top:50px;position:absolute}navmenu .dropdown-content{min-width:280px!important}navmenu .brand-logo{height:60px;color:#708090!important}navmenu nav img{vertical-align:unset;margin-left:10px;margin-right:10px}navmenu .sidenav img{vertical-align:middle;margin-top:10px;margin-left:10px;margin-right:10px;font-size:2.1rem}navmenu .sidenav a{line-height:56px}navmenu nav.nav-extended{height:64px!important}navmenu .tenant-label{transform:translate(70px,-70px);display:none}navmenu .location-label{font-size:.35em;text-transform:uppercase;transform:translate(10px,-30px)}@media only screen and (max-width:992px){navmenu nav .brand-logo.left{left:.5rem;margin:5px}}@media only screen and (max-width:992px){navmenu .tenant-label,navmenu navmenu .location-label{transform:translate(10px,-32px)}navmenu .tenant-label{display:none}navmenu nav .brand-logo .left{left:.25rem;top:.25rem;padding:5px}navmenu .location-label{transform:translate(10px,-32px)}}@media only screen and (min-width:601px){navmenu .tenant-label{transform:translate(70px,-70px)}navmenu .location-label{transform:translate(10px,-40px)}navmenu md-sidenav .tenant-label{transform:translate(70px,-60px);display:none}navmenu md-sidenav .location-label{transform:translate(70px,-88px)}}.sidenav .location-label{transform:translate(25px,-20px);font-size:.75rem;color:#708090!important}\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\r\nimport { GreenhouseDataEvents } from \"../events/data-events\";\r\nimport { Structure } from \"../models/structure\";\r\nimport * as Enumerable from 'linq-es2015';\r\n\r\n\r\nexport class NotificationStatus {\r\n id: number;\r\n name: string;\r\n}\r\n\r\n@autoinject\r\nexport class NotificationStatusSelector {\r\n\r\n structure: Structure;\r\n selectedNotificationStatus: NotificationStatus;\r\n notificationStatuses: NotificationStatus[];\r\n private readonly eventAggregator: EventAggregator;\r\n\r\n constructor(eventAggregator: EventAggregator) {\r\n this.eventAggregator = eventAggregator;\r\n\r\n\r\n this.notificationStatuses = [\r\n { id: 0, name: \"Disabled\" }, { id: 1, name: \"Enabled\" }, { id: 2, name: \"Paused\" }\r\n ];\r\n }\r\n\r\n bind(bindingContext: any, overrideContext: any) {\r\n this.structure = bindingContext.greenhouse;\r\n this.selectedNotificationStatus = this.getNotificationStatus(this.structure.notificationStatus);\r\n }\r\n\r\n getNotificationStatus(id: number): NotificationStatus {\r\n const enumerable = Enumerable.AsEnumerable(this.notificationStatuses);\r\n return enumerable.FirstOrDefault(type => type.id === id);\r\n }\r\n \r\n notificationStatusChanged() {\r\n this.structure.notificationStatus = this.selectedNotificationStatus.id;\r\n this.eventAggregator.publish(GreenhouseDataEvents.greenhouseNotificationStatusUpdated, this.structure);\r\n }\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"notification-status-selector select{background:#f0f3fb;border:1px solid #f0f3fb;border-radius:4px;padding:4px 25px 4px 4px;font-size:12px;color:#3f3f3f;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;appearance:none}notification-status-selector .outer-wrapper{width:100%}notification-status-selector .select-wrapper{position:relative;max-width:175px;margin-left:auto;margin-right:auto}notification-status-selector .select-wrapper label{display:inline-block;margin-top:15px;font-size:12px}notification-status-selector .select-wrapper:after{font-family:FontAwesome;content:\\\"\\\\F107\\\";font-size:16px;position:absolute;top:13px;right:14px;color:#434b67;pointer-events:none}notification-status-selector select::-ms-expand{display:none}\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { applicationLogger } from \"../logging/logger\";\r\nimport { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\r\nimport { GreenhouseDataEvents } from \"../events/data-events\";\r\nimport { NotificationRecipient } from \"../models/notification-recipient\";\r\nimport * as Enumerable from 'linq-es2015';\r\n\r\n\r\nexport class NotificationType {\r\n id: number;\r\n name: string;\r\n}\r\n@autoinject\r\nexport class NotificationTypeSelector {\r\n \r\n selectedNotificationType: NotificationType;\r\n notificationRecipient: NotificationRecipient;\r\n notificationTypes: NotificationType[];\r\n private readonly eventAggregator: EventAggregator;\r\n private locationsLoadedSubscription: Subscription;\r\n\r\n constructor(eventAggregator: EventAggregator) {\r\n this.eventAggregator = eventAggregator;\r\n this.notificationTypes = [\r\n { id: 0, name: \"None\" }, { id: 1, name: \"SMS\" }, { id: 2, name: \"Email\" }, { id: 3, name: \"SMS & Email\" }\r\n ];\r\n\r\n }\r\n\r\n bind(bindingContext: any, overrideContext: any) {\r\n this.notificationRecipient = bindingContext.notificationRecipient;\r\n this.selectedNotificationType = this.getNotificationType(this.notificationRecipient.notificationType);\r\n }\r\n\r\n getNotificationType(id: number): NotificationType {\r\n const enumerable = Enumerable.AsEnumerable(this.notificationTypes);\r\n return enumerable.FirstOrDefault(type => type.id === id);\r\n }\r\n\r\n\r\n notificationTypeChanged() {\r\n this.notificationRecipient.notificationType = this.selectedNotificationType.id;\r\n this.eventAggregator.publish(GreenhouseDataEvents.notificationRecipientUpdated, this.notificationRecipient);\r\n }\r\n\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"notification-type-selector label{display:block}notification-type-selector select{background:#f0f3fb;border:1px solid #f0f3fb;border-radius:4px;width:100%;padding:20px;font-size:16px;color:#3f3f3f;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;appearance:none}notification-type-selector .outer-wrapper{width:100%}notification-type-selector .select-wrapper{position:relative}notification-type-selector .select-wrapper:after{font-family:FontAwesome;content:\\\"\\\\F107\\\";font-size:28px;position:absolute;top:36px;right:20px;color:#434b67;pointer-events:none}notification-type-selector select::-ms-expand{display:none}\", \"\"]);\n\n","import { I18N } from 'aurelia-i18n';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\nimport { BindingSignaler } from 'aurelia-templating-resources';\r\nimport { autoinject, observable } from 'aurelia-framework';\r\nimport { applicationLogger } from \"../logging/logger\";\r\nimport * as Enumerable from \"linq-es2015\";\r\nimport { TemperatureEvents } from \"../events/temperature-events\";\r\nimport { TemperatureScales } from \"../converters/temperature-value\";\r\n\r\n@autoinject\r\nexport class TemperatureScaleSelector {\r\n\r\n private readonly i18N: I18N;\r\n private readonly bindingSignaler: BindingSignaler;\r\n private readonly eventAggregator: EventAggregator;\r\n private scales: any[];\r\n @observable selectedScale: any;\r\n\r\n constructor(bindingSignaler: BindingSignaler, eventAggregator: EventAggregator) {\r\n \r\n this.bindingSignaler = bindingSignaler;\r\n this.eventAggregator = eventAggregator;\r\n this.configureScales();\r\n this.selectedScale = this.getSelectedScale();\r\n applicationLogger.debug(\"Selected scale: \" + this.selectedScale);\r\n }\r\n\r\n getSelectedScale() {\r\n let scale = localStorage.getItem(\"temperature-scale\");\r\n if (!scale) {\r\n scale = TemperatureScales.fahrenheit;\r\n }\r\n return this.getScale(scale);\r\n }\r\n\r\n getScale(name: string) {\r\n const enumerable = Enumerable.AsEnumerable(this.scales);\r\n return enumerable.FirstOrDefault(scale => scale.name === name);\r\n }\r\n\r\n selectedScaleChanged() {\r\n localStorage.setItem(\"temperature-scale\", this.selectedScale.name);\r\n this.eventAggregator.publish(TemperatureEvents.temperatureScaleChanged, this.selectedScale.name);\r\n }\r\n\r\n configureScales() {\r\n this.scales = [\r\n { name: TemperatureScales.celsius },\r\n { name: TemperatureScales.fahrenheit }\r\n ];\r\n };\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"temperature-scale-selector [type=radio].with-gap:checked+span:after,temperature-scale-selector [type=radio].with-gap:checked+span:before,temperature-scale-selector [type=radio]:checked+span:after{border:2px solid #007bff}temperature-scale-selector [type=radio].with-gap:checked+span:after,temperature-scale-selector [type=radio]:checked+span:after{background-color:#007bff}temperature-scale-selector label{font-size:1em;text-transform:none}\", \"\"]);\n\n","import { autoinject } from 'aurelia-framework';\r\nimport { Device } from \"../models/device\";\r\n\r\n@autoinject\r\nexport class WaterTank {\r\n\tdevice: Device;\r\n\tparent: any;\r\n\t//levelStyle: string;\r\n\t//levelColor: string;\r\n\t//level: string;\r\n\r\n\tconstructor() {\r\n\t\t//this.levelColor = \"water-tank-blue\";\r\n\t\t//this.levelStyle = \"tank-70\";\r\n\t\t//this.level = \"70%\";\r\n\t}\r\n\r\n\tbind(bindingContext: any, overrideContext: any) {\r\n\t\tthis.device = bindingContext.device;\r\n\t\tthis.parent = bindingContext;\r\n\t}\r\n\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"water-tank .wrapper{display:inline-block;position:relative}water-tank .label{position:absolute;top:30%;left:0;right:0;bottom:0}water-tank .temperature{position:absolute;top:55%;left:0;right:0;bottom:0;font-size:.9rem}water-tank .white-text{color:#fff!important}water-tank .tank{background:#ddd;width:106.66667px;border-radius:6px;height:106.66667px;padding:4px;box-shadow:3px 3px 3px #efefef;margin-bottom:4px;margin-left:auto;margin-right:auto}water-tank .tank:hover{background:#eee;box-shadow:2px 2px 2px #efefef}water-tank .water-tank-blue{background:#add8e6!important}water-tank .fluid{width:100px;z-index:1;border-radius:3px}water-tank .tank-100{margin-top:0;height:100px}water-tank .tank-90{margin-top:10px;height:90px}water-tank .tank-80{margin-top:20px;height:80px}water-tank .tank-70{margin-top:30px;height:70px}water-tank .tank-60{margin-top:40px;height:60px}water-tank .tank-50{margin-top:50px;height:50px}water-tank .tank-40{margin-top:60px;height:40px}water-tank .tank-30{margin-top:70px;height:30px}water-tank .tank-20{margin-top:80px;height:20px}water-tank .tank-10{margin-top:90px;height:10px}water-tank .tank-0{margin-top:98px;height:2px}water-tank .tank-low{height:75px;margin-top:75px}water-tank .tank-empty,water-tank .tank-low{background:#add8e6;width:150px;z-index:1;border-radius:3px}water-tank .tank-empty{height:15px;margin-top:135px}\", \"\"]);\n\n","export class BatteryFormatValueConverter {\r\n\ttoView(value: number) {\r\n\t\treturn `${(value / 1000).toFixed(2)} V`;\r\n\t}\r\n}\r\n\r\nexport class BatteryPercentageValueConverter {\r\n\ttoView(value: number) {\r\n\t\treturn `${(value / 1000).toFixed(2)} V`;\r\n\t}\r\n}","export class BooleanValueConverter {\r\n\ttoView(value: any) {\r\n\t\treturn Boolean(value);\r\n\t}\r\n}","import * as moment from 'moment';\r\n\r\nexport class DateFormatValueConverter {\r\n toView(value:Date) {\r\n return moment(value).format('M/D/YYYY h:mm:ss a');\r\n }\r\n}","import * as numeral from 'numeral';\r\n\r\nexport class DecimalFormatValueConverter {\r\n toView(value: Number) {\r\n return numeral(value).format('0[.]00');\r\n }\r\n}","export class DegreeFormatValueConverter {\r\n\ttoView(value: number) {\r\n\t\treturn `${value}°`;\r\n\t}\r\n}","import { autoinject } from \"aurelia-framework\";\r\nimport { I18N } from \"aurelia-i18n\";\r\n\r\n@autoinject\r\nexport class DielectricPermittivityFormatValueConverter {\r\n\r\n\tconstructor(private i18n: I18N) { }\r\n\r\n\ttoView(value: number) {\r\n\t\tif (isNaN(value)) {\r\n\t\t\treturn this.i18n.tr(\"offline\");\r\n\t\t}\r\n\t\treturn `${value.toFixed(2)}`;\r\n\t}\r\n}","import { autoinject } from \"aurelia-framework\";\r\nimport { I18N } from \"aurelia-i18n\";\r\nimport { DistanceConverter } from \"./distance-value\";\r\nimport { MeasurementSystems } from \"./measurement-systems\";\r\n\r\n@autoinject\r\nexport class DistanceFormatValueConverter {\r\n\tconstructor(private i18n: I18N) { }\r\n\r\n\ttoView(value: number) {\r\n\r\n\t\tif (isNaN(value)) {\r\n\t\t\treturn this.i18n.tr(\"offline\");\r\n\t\t}\r\n\t\tlet measurementSystem = localStorage.getItem(\"measurement-system\");\r\n\t\tif (!measurementSystem) {\r\n\t\t\tmeasurementSystem = MeasurementSystems.imperial;\r\n\t\t}\r\n\r\n\t\tswitch (measurementSystem) {\r\n\t\tcase MeasurementSystems.metric:\r\n\t\t\treturn `${value.toFixed(1)} km`;\r\n\t\tdefault:\r\n\t\t\tconst precipitation = DistanceConverter.toImperial(value);\r\n\t\t\treturn `${precipitation.toFixed(1)} mi`;\r\n\t\t}\r\n\r\n\t}\r\n}","export class DistanceConverter {\r\n\tstatic toImperial(value: number): number {\r\n\t\treturn (value / 1.609344);\r\n\t}\r\n\r\n\tstatic toMetric(value: number): number {\r\n\t\treturn (value * 1.609344);\r\n\t}\r\n}","export class DropdownValueConverter {\r\n\ttoView(name: string) {\r\n\t\treturn `activates: dropdown${name}; cover-trigger: false;`;\r\n\t}\r\n}","import { autoinject } from \"aurelia-framework\";\r\nimport { I18N } from \"aurelia-i18n\";\r\n\r\n@autoinject\r\nexport class ElectricalConductivityFormatValueConverter {\r\n\r\n\tconstructor(private i18n: I18N) { }\r\n\r\n\ttoView(value: number) {\r\n\r\n\t\tif (isNaN(value)) {\r\n\t\t\treturn this.i18n.tr(\"offline\");\r\n\t\t}\r\n\t\treturn `${value.toFixed(1)} µS⋅cm⁻¹`;\r\n\t}\r\n}","import { Device } from \"../models/device\";\r\n\r\nexport class FilterChildDevicesValueConverter {\r\n\ttoView(array: Array): Array {\r\n\r\n\t\tif (array === undefined || array === null) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tconst filtered = array.filter((item) => item.parentId ? false : true);\r\n\t\treturn filtered;\r\n\t}\r\n}","export class FilterOnPropertyValueConverter {\r\n\ttoView(array: {}[], property: string, exp: string) {\r\n\r\n\t\tif (array === undefined || array === null || property === undefined || exp === undefined) {\r\n\t\t\treturn array;\r\n\t\t}\r\n\t\treturn array.filter((item) => item[property].toLowerCase().indexOf(exp.toLowerCase()) > -1);\r\n\t}\r\n}","export class HasDataValueConverter {\r\n\ttoView(array: any): boolean {\r\n\r\n\t\tif (array instanceof Array) {\r\n\t\t\treturn array !== undefined && array !== null && array.length > 0;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n}","export class HasPropertyValueValueConverter {\r\n\ttoView(array: {}[], property: string, exp: string) {\r\n\r\n\t\tif (array === undefined || array === null || property === undefined || exp === undefined) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn array.filter((item) => item[property].toLowerCase().indexOf(exp.toLowerCase()) > -1).length > 0;\r\n\t}\r\n}","export class HumidityFormatValueConverter {\r\n\ttoView(humidity: number) {\r\n\t\tif (isNaN(humidity)) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn `${humidity.toFixed(1)} % RH`;\r\n\t}\r\n}","import { Aurelia, PLATFORM } from 'aurelia-framework';\r\nexport function configure(aurelia: any) {\r\n\taurelia\r\n\t\t.globalResources(PLATFORM.moduleName('./battery-format'))\r\n\t\t.globalResources(PLATFORM.moduleName('./date-format'))\r\n\t\t.globalResources(PLATFORM.moduleName('./decimal-format'))\r\n\t\t.globalResources(PLATFORM.moduleName('./distance-format'))\r\n\t\t.globalResources(PLATFORM.moduleName('./dropdown-value-converter'))\r\n\t\t//.globalResources(PLATFORM.moduleName('./distance-value'))\r\n\t\t.globalResources(PLATFORM.moduleName('./degree-format'))\r\n\t\t.globalResources(PLATFORM.moduleName('./dielectric-permittivity-format'))\r\n\t\t.globalResources(PLATFORM.moduleName('./electrical-conductivity-format'))\r\n\t\t.globalResources(PLATFORM.moduleName('./filter-child-devices'))\r\n\t\t.globalResources(PLATFORM.moduleName('./filter-on-property'))\r\n\t\t.globalResources(PLATFORM.moduleName('./has-property-value'))\r\n\t\t.globalResources(PLATFORM.moduleName('./locations-to-delimited-string'))\r\n\t\t.globalResources(PLATFORM.moduleName('./soil-moisture-format'))\r\n\t\t.globalResources(PLATFORM.moduleName('./solar-radiation-format'))\r\n\t\t.globalResources(PLATFORM.moduleName('./temperature-delta-format'))\r\n\t\t.globalResources(PLATFORM.moduleName('./temperature-delta-value'))\r\n\t\t.globalResources(PLATFORM.moduleName('./temperature-format'))\r\n\t\t//.globalResources(PLATFORM.moduleName('./temperature-value'))\r\n\t\t.globalResources(PLATFORM.moduleName('./humidity-format'))\r\n\t\t.globalResources(PLATFORM.moduleName('./moisture-format'))\r\n\t\t.globalResources(PLATFORM.moduleName('./precipitation-format'))\r\n\t\t.globalResources(PLATFORM.moduleName('./pressure-format'))\r\n\t\t//.globalResources(PLATFORM.moduleName('./pressure-value'))\r\n\t\t.globalResources(PLATFORM.moduleName('./speed-format'))\r\n\t\t//.globalResources(PLATFORM.moduleName('./speed-value'))\r\n\t\t.globalResources(PLATFORM.moduleName('./has-data'))\r\n\t\t.globalResources(PLATFORM.moduleName('./split-word'))\r\n\t\t.globalResources(PLATFORM.moduleName('./tree-view-icon'))\r\n\t\t//.globalResources(PLATFORM.moduleName('./temperature-value'))\r\n\t\t.globalResources(PLATFORM.moduleName('./view-model-from-pascal-case'))\r\n\t\t.globalResources(PLATFORM.moduleName('./volumetric-water-content-format'));\r\n\r\n}","import { Location } from \"../models/location\";\r\n\r\nexport class LocationsToDelimitedStringValueConverter {\r\n\ttoView(array: Array) {\r\n\t\tif (array === undefined) {\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t\treturn array.map(o => o.name).join(\", \");\r\n\r\n\t}\r\n}","export class MeasurementSystems {\r\n\tstatic imperial: string = \"Imperial\";\r\n\tstatic metric: string = \"Metric\";\r\n}","\r\nimport { autoinject } from \"aurelia-framework\";\r\nimport { I18N } from \"aurelia-i18n\";\r\n\r\n@autoinject\r\nexport class MoistureFormatValueConverter {\r\n\r\n\tconstructor(private i18n: I18N) { }\r\n\ttoView(moisture: number) {\r\n\t\tif (isNaN(moisture)) {\r\n\t\t\treturn this.i18n.tr(\"offline\");\r\n\t\t}\r\n\t\treturn `${moisture.toFixed(1)} %`;\r\n\t}\r\n}","import { autoinject } from \"aurelia-framework\";\r\nimport { I18N } from \"aurelia-i18n\";\r\nimport { PrecipitationConverter } from \"./precipitation-value\";\r\nimport { MeasurementSystems } from \"./measurement-systems\";\r\n\r\n@autoinject\r\nexport class PrecipitationFormatValueConverter {\r\n\tconstructor(private i18n: I18N) { }\r\n\r\n\ttoView(value: number) {\r\n\r\n\t\tif (isNaN(value)) {\r\n\t\t\treturn this.i18n.tr(\"offline\");\r\n\t\t}\r\n\t\tlet measurementSystem = localStorage.getItem(\"measurement-system\");\r\n\t\tif (!measurementSystem) {\r\n\t\t\tmeasurementSystem = MeasurementSystems.imperial;\r\n\t\t}\r\n\r\n\t\tswitch (measurementSystem) {\r\n\t\t\tcase MeasurementSystems.metric:\r\n\t\t\treturn `${value.toFixed(1)} mm/H`;\r\n\t\tdefault:\r\n\t\t\tconst precipitation = PrecipitationConverter.toImperial(value);\r\n\t\t\treturn `${precipitation.toFixed(1)} in/H`;\r\n\t\t}\r\n\r\n\t}\r\n}\r\n\r\n","export class PrecipitationConverter {\r\n\tstatic toImperial(precipitation: number): number {\r\n\t\treturn parseFloat((precipitation * 0.03937007875).toFixed(2));\r\n\t}\r\n\r\n\tstatic toMetric(precipitation: number): number {\r\n\t\treturn parseFloat((precipitation * 25.4).toFixed(2));\r\n\t}\r\n}\r\n\r\n","import { autoinject } from \"aurelia-framework\";\r\nimport { I18N } from \"aurelia-i18n\";\r\nimport { MeasurementSystems } from \"./measurement-systems\";\r\nimport { PressureConverter } from \"./pressure-value\";\r\n\r\n@autoinject\r\nexport class PressureFormatValueConverter {\r\n\tconstructor(private i18n: I18N) { }\r\n\r\n\ttoView(value: number) {\r\n\r\n\t\tif (isNaN(value)) {\r\n\t\t\treturn this.i18n.tr(\"offline\");\r\n\t\t}\r\n\t\tlet measurementSystem = localStorage.getItem(\"measurement-system\");\r\n\t\tif (!measurementSystem) {\r\n\t\t\tmeasurementSystem = MeasurementSystems.imperial;\r\n\t\t}\r\n\r\n\t\tswitch (measurementSystem) {\r\n\t\tcase MeasurementSystems.metric:\r\n\t\t\treturn `${value.toFixed(1)} kPa`;\r\n\t\tdefault:\r\n\t\t\tconst pressure = PressureConverter.toImperial(value);\r\n\t\t\treturn `${pressure.toFixed(1)} psi`;\r\n\t\t}\r\n\r\n\t}\r\n}","export class PressureConverter {\r\n\tstatic toImperial(precipitation: number): number {\r\n\t\treturn (precipitation / 6.89475729);\r\n\t}\r\n\r\n\tstatic toMetric(precipitation: number): number {\r\n\t\treturn (precipitation * 6.89475729);\r\n\t}\r\n}","import { autoinject } from \"aurelia-framework\";\r\nimport { I18N } from \"aurelia-i18n\";\r\n\r\n@autoinject\r\nexport class SoilMoistureFormatValueConverter {\r\n\r\n\tconstructor(private i18n: I18N) { }\r\n\r\n\ttoView(value: number) {\r\n\t\tif (isNaN(value)) {\r\n\t\t\treturn this.i18n.tr(\"offline\");\r\n\t\t}\r\n\t\treturn `${value.toFixed(2)} %RH`;\r\n\t}\r\n}","export class SolarRadiationFormatValueConverter {\r\n\ttoView(solarRadiation: number) {\r\n\t\tif (isNaN(solarRadiation)) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn `${solarRadiation.toFixed(1)} W/m2`;\r\n\t}\r\n}","import { autoinject } from \"aurelia-framework\";\r\nimport { I18N } from \"aurelia-i18n\";\r\nimport { SpeedConverter } from \"./speed-value\";\r\nimport { MeasurementSystems } from \"./measurement-systems\";\r\n\r\n@autoinject\r\nexport class SpeedFormatValueConverter {\r\n\tconstructor(private i18n: I18N) { }\r\n\r\n\ttoView(value: number) {\r\n\r\n\t\tif (isNaN(value)) {\r\n\t\t\treturn this.i18n.tr(\"offline\");\r\n\t\t}\r\n\t\tlet measurementSystem = localStorage.getItem(\"measurement-system\");\r\n\t\tif (!measurementSystem) {\r\n\t\t\tmeasurementSystem = MeasurementSystems.imperial;\r\n\t\t}\r\n\r\n\t\tswitch (measurementSystem) {\r\n\t\tcase MeasurementSystems.metric:\r\n\t\t\treturn `${value.toFixed(1)} m/s`;\r\n\t\tdefault:\r\n\t\t\tconst precipitation = SpeedConverter.toImperial(value);\r\n\t\t\treturn `${precipitation.toFixed(1)} mph`;\r\n\t\t}\r\n\r\n\t}\r\n}","export class SpeedConverter {\r\n\tstatic toImperial(value: number): number {\r\n\t\treturn (value * 2.23693629);\r\n\t}\r\n\r\n\tstatic toMetric(value: number): number {\r\n\t\treturn (value / 2.23693629);\r\n\t}\r\n}","export class SplitWordValueConverter {\r\n\ttoView(value: string): string {\r\n\t\tif (value === undefined || value === null) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tconst str = value.replace(/\\s+/g, '');\r\n\t\treturn str.split(/(?=[A-Z])/).join(\" \").toLowerCase();\r\n\t}\r\n}","//export class TemperatureConverter {\r\n//\tstatic toCelsius(temperature: number): number {\r\n//\t\treturn ((temperature) * (5 / 9));\r\n//\t}\r\n//}","import { TemperatureScales, TemperatureConverter } from \"./temperature-value\";\r\n\r\nexport class TemperatureDeltaFormatValueConverter {\r\n toView(value: number) {\r\n\r\n let temperatureScale = localStorage.getItem(\"temperature-scale\");\r\n if (!temperatureScale) {\r\n temperatureScale = TemperatureScales.fahrenheit;\r\n }\r\n\r\n switch (temperatureScale) {\r\n case TemperatureScales.celsius:\r\n return `${value.toFixed(2)} °C`;\r\n default:\r\n const temperature = TemperatureConverter.toFahrenheit(value);\r\n return `${temperature.toFixed(2)} °F`;\r\n }\r\n\r\n }\r\n}","import { TemperatureScales } from \"./temperature-value\";\r\nimport { TemperatureConverter } from \"./temperature-value\";\r\n\r\nexport class TemperatureDeltaValueConverter {\r\n toView(value: number): number {\r\n\r\n let temperatureScale = localStorage.getItem(\"temperature-scale\");\r\n if (!temperatureScale) {\r\n temperatureScale = TemperatureScales.fahrenheit;\r\n }\r\n\r\n switch (temperatureScale) {\r\n case TemperatureScales.celsius:\r\n return value;\r\n default:\r\n return TemperatureConverter.toFahrenheit(value);\r\n }\r\n\t}\r\n}","import { TemperatureScales, TemperatureConverter } from \"./temperature-value\";\r\nimport { autoinject } from \"aurelia-framework\";\r\nimport { I18N } from \"aurelia-i18n\";\r\n\r\n@autoinject\r\nexport class TemperatureFormatValueConverter {\r\n\tconstructor(private i18n: I18N) { }\r\n\ttoView(value: number) {\r\n\r\n\t\tif (isNaN(value)) {\r\n\t\t\treturn this.i18n.tr(\"offline\");\r\n\t\t}\r\n\t\tlet temperatureScale = localStorage.getItem(\"temperature-scale\");\r\n\t\tif (!temperatureScale) {\r\n\t\t\ttemperatureScale = TemperatureScales.fahrenheit;\r\n\t\t}\r\n\r\n\t\tswitch (temperatureScale) {\r\n\t\t\tcase TemperatureScales.celsius:\r\n\t\t\t\treturn `${value.toFixed(1)} °C`;\r\n\t\t\tdefault:\r\n\t\t\t\tconst temperature = TemperatureConverter.toFahrenheit(value);\r\n\t\t\t\treturn `${temperature.toFixed(1)} °F`;\r\n\t\t}\r\n\r\n\t}\r\n}\r\n\r\n","export class TemperatureScales {\r\n static celsius: string = \"Celsius\";\r\n static fahrenheit: string = \"Fahrenheit\";\r\n}\r\n\r\n\r\nexport class TemperatureConverter {\r\n static toCelsius(temperature: number): number {\r\n return parseFloat(((temperature - 32) * (5 / 9)).toFixed(2));\r\n }\r\n\r\n static toFahrenheit(temperature: number): number {\r\n return parseFloat(((temperature * 1.8) + 32).toFixed(2));\r\n }\r\n}\r\nexport class TemperatureValueConverter {\r\n toView(value: number): number {\r\n\r\n let temperatureScale = localStorage.getItem(\"temperature-scale\");\r\n if (!temperatureScale) {\r\n temperatureScale = TemperatureScales.fahrenheit;\r\n }\r\n\r\n switch (temperatureScale) {\r\n case TemperatureScales.celsius:\r\n return value;\r\n default:\r\n return TemperatureConverter.toFahrenheit(value);\r\n }\r\n\r\n }\r\n\r\n fromView(value: number): number {\r\n\r\n let temperatureScale = localStorage.getItem(\"temperature-scale\");\r\n if (!temperatureScale) {\r\n temperatureScale = TemperatureScales.fahrenheit;\r\n }\r\n\r\n switch (temperatureScale) {\r\n case TemperatureScales.celsius:\r\n return value;\r\n default:\r\n return TemperatureConverter.toCelsius(value);\r\n }\r\n }\r\n}\r\n\r\n","export class TreeViewIconValueConverter {\r\n\ttoView(value: string): string {\r\n\t\tif (value === undefined || value === null) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tswitch (value) {\r\n\t\t\tcase \"Device\":\r\n\t\t\t\treturn \"router\";\r\n\t\t\tcase \"DeviceType\":\r\n\t\t\t\treturn \"settings_remote\";\r\n\t\t\tcase \"DeviceTypes\":\r\n\t\t\t\treturn \"devices\";\r\n\t\t\tcase \"Location\":\r\n\t\t\t\treturn \"location_city\";\r\n\t\t\tcase \"Structure\":\r\n\t\t\t\treturn \"store\";\r\n\t\t\tcase \"Zone\":\r\n\t\t\t\treturn \"grid_on\";\r\n\t\t\tcase \"Root\":\r\n\t\t\t\treturn \"developer_board\";\r\n\t\t\tdefault:\r\n\t\t\t\treturn null;\r\n\t\t}\r\n\t}\r\n}","export class ViewModelFromPascalCaseValueConverter {\r\n\ttoView(value: string): string {\r\n\t\tif (value === undefined || value === null) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tconst str = value.replace(/\\s+/g, '');\r\n\t\treturn str.split(/(?=[A-Z])/).join(\"-\").toLowerCase();\r\n\t}\r\n}\r\n\r\n\r\n\r\n","import { autoinject } from \"aurelia-framework\";\r\nimport { I18N } from \"aurelia-i18n\";\r\n\r\n@autoinject\r\nexport class VolumetricWaterContentFormatValueConverter {\r\n\tconstructor(private i18n: I18N) { }\r\n\r\n\ttoView(value: number) {\r\n\r\n\t\tif (isNaN(value)) {\r\n\t\t\treturn this.i18n.tr(\"offline\");\r\n\t\t}\r\n\t\treturn `${value.toFixed(1)} m³⋅m⁻³`;\r\n\t}\r\n}","import { autoinject } from 'aurelia-framework';\r\n\r\n@autoinject\r\nexport class AddUserDialog {\r\n \r\n constructor() {\r\n \r\n }\r\n\r\n bind(bindingContext: any, overrideContext: any) {\r\n \r\n }\r\n\r\n attached() {\r\n \r\n }\r\n\r\n detached() {\r\n \r\n }\r\n\r\n}","module.exports = \"\";","import { DialogController } from 'aurelia-dialog';\r\nimport { autoinject } from 'aurelia-framework';\r\nimport { applicationLogger } from '../logging/logger';\r\nimport { LocationApiProxy as ApplicationState } from \"../models/location-api-proxy\";\r\n\r\n@autoinject\r\nexport class AdminDialog {\r\n dialogController: DialogController;\r\n applicationState: ApplicationState;\r\n constructor(applicationState: ApplicationState, dialogController: DialogController) {\r\n this.applicationState = applicationState;\r\n this.dialogController = dialogController;\r\n }\r\n\r\n activate() {\r\n applicationLogger.debug(\"AdminDialog activated.\");\r\n }\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { BindingEngine } from \"aurelia-binding\";\r\nimport { DialogController } from 'aurelia-dialog';\r\nimport { autoinject, observable, computedFrom } from 'aurelia-framework';\r\nimport { applicationLogger } from '../logging/logger';\r\nimport { Location } from \"../models/location\";\r\n\r\nimport { IState, LocationState } from \"../store/state\";\r\nimport { updateLocationState } from \"../store/actions/location-actions\";\r\nimport { Store } from \"aurelia-store\";\r\n\r\n\r\n@autoinject\r\nexport class LocationManagementDialog {\r\n\tdialogController: DialogController;\r\n\t\r\n\tselectLabel: string;\r\n\tlocationState: LocationState;\r\n\t@observable selectAll: boolean;\r\n\tprivate subscription: any;\r\n\r\n\tconstructor(private store: Store, dialogController: DialogController, bindingEngine: BindingEngine) {\r\n\t\tthis.dialogController = dialogController;\r\n\t\tthis.selectLabel = \"Select All\";\r\n\r\n\t}\r\n\r\n\tbind() {\r\n\t\tthis.subscription = this.store.state.subscribe((state) => {\r\n\t\t\t\r\n\t\t\tthis.locationState = Object.assign({}, state.locationState);\r\n\t\t\tthis.selectAll = this.locationState.locations.length === this.locationState.selectedLocations.length;\r\n\t\t\t});\r\n\t}\r\n\tunbind() {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n\r\n\tactivate() {\r\n\t\t\r\n\t\tapplicationLogger.debug(\"LocationManagementDialog activated.\");\r\n\t}\r\n\r\n\tselectedLocationsChanged() {\r\n\t\tthis.selectAll = this.locationState.locations.length === this.locationState.selectedLocations.length;\r\n\t}\r\n\r\n\tselectAllChanged(newValue, oldValue) {\r\n\t\tif (oldValue === undefined) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (newValue === false) {\r\n\t\t\tthis.locationState.selectedLocations = new Array();\r\n\t\t} else {\r\n\t\t\tthis.locationState.selectedLocations = new Array();\r\n\t\t\tfor (let i = 0; i < this.locationState.locations.length; i++) {\r\n\t\t\t\tthis.locationState.selectedLocations[i] = this.locationState.locations[i];\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t}\r\n\t\r\n\tasync acceptChanges() {\r\n\t\tawait this.store.dispatch(updateLocationState, this.locationState);\r\n\t\tthis.dialogController.ok();\r\n\t}\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { DialogSettings, DialogService } from \"aurelia-dialog\";\r\nimport { applicationLogger } from \"../logging/logger\";\r\nimport { DialogController } from 'aurelia-dialog';\r\nimport { LocationManagement } from \"../controls/location-management\";\r\nimport { IState} from \"../store/state\";\r\nimport { IApplicationUser, ApplicationUser } from \"../models/application-user\";\r\nimport { Store } from \"aurelia-store\";\r\nimport { ApplicationClaimTypes } from \"../models/application-claim-types\";\r\n\r\n\r\n@autoinject\r\nexport class SettingsDialog {\r\n\tdialogController: DialogController;\r\n\tlocationManagement: LocationManagement;\r\n\tapplicationUser: IApplicationUser;\r\n\tprivate subscription: any;\r\n\r\n\tconstructor(private store: Store, dialogService: DialogController) {\r\n this.dialogController = dialogService;\r\n\t}\r\n\r\n\tcanChangeLocations(): boolean {\r\n\t\treturn this.applicationUser.hasAnyClaim(\r\n\t\t\t[ApplicationClaimTypes.administrateLocation, ApplicationClaimTypes.administrator]\r\n\t\t);\r\n\t}\r\n\r\n\tbind() {\r\n\t\tthis.subscription = this.store.state.subscribe((state) => {\r\n\t\t\tvar applicationUser = Object.assign({}, state.applicationUser);\r\n\t\t\t// NB: create an instance of ApplicationUser so we can call it's methods.\r\n\t\t\tthis.applicationUser = new ApplicationUser(applicationUser as IApplicationUser);\r\n\t\t});\r\n\t}\r\n\tunbind() {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n\r\n\tasync acceptChanges() {\r\n\t\tif (typeof this.locationManagement !== \"undefined\") {\r\n\t\t\tawait this.locationManagement.acceptChangesAsync();\r\n\t\t}\r\n\t\tthis.dialogController.ok();\r\n\t}\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"ux-dialog-container{color:#007bff}ux-dialog-container .card{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-clip:border-box;border-radius:.25rem;color:#007bff;background-color:transparent;background-image:none;border-color:transparent}ux-dialog-container .card-body{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:.25rem}ux-dialog-container p{margin-top:0;margin-bottom:.5rem;font-size:.65em;text-transform:uppercase}ux-dialog-container label{font-size:1em;text-transform:none;margin-left:3px}\", \"\"]);\n\n","export class GreenhouseDataEvents {\r\n static locationsLoaded: string = \"locationsLoaded\";\r\n static locationSelected: string = \"locationSelected\";\r\n static greenhouseLoaded: string = \"greenhouseLoaded\";\r\n static greenhouseNotificationStatusUpdated: string = \"greenhouseNotificationStatusUpdated\";\r\n static notificationRecipientUpdated: string = \"notificationRecipientUpdated\";\r\n}","export class HubEvents {\r\n\tstatic incomingMeasurementEvent: string = \"incomingMeasurementEvent\";\r\n\tstatic incomingDataEvent: string = \"incomingDataEvent\";\r\n\tstatic measurementEvent: string = \"measurementEvent\";\r\n\tstatic networkChange: string = \"networkChange\";\r\n\tstatic refresh: string = \"refresh\";\r\n\tstatic signalRDisconnect: string = \"signalRDisconnect\";\r\n}","export class LocaleEvents {\r\n static localeChanged : string = \"LocaleChanged\";\r\n}","export class MeasurementSystemEvents {\r\n\tstatic measurementSystemChanged: string = \"MeasurementSystemChanged\";\r\n}","export class TemperatureEvents {\r\n static temperatureScaleChanged: string = \"TemperatureScaleChanged\";\r\n}\r\n","import { LogManager } from \"aurelia-framework\";\r\nexport var applicationLogger = LogManager.getLogger('nursery-sentry');","import * as L from 'leaflet';\r\nimport { KeyedCollection } from \"../collections/dictionary\";\r\n\r\nexport class GpsLocation {\r\n\tlat: number;\r\n\tlng: number;\r\n}\r\n\r\nexport interface IMapConfig {\r\n\tlocation: GpsLocation;\r\n\tzoom: number;\r\n\tminZoom: number;\r\n}\r\n\r\nexport class LeafletMap {\r\n\timap: L.Map;\r\n\tcontrol: L.LayerControl;\r\n\tmarkers: KeyedCollection = new KeyedCollection();\r\n\toverlays = {\r\n\t\t//Wind: L.tileLayer('http://{s}.tile.openweathermap.org/map/wind/{z}/{x}/{y}.png?appid={apiKey}', {\r\n\t\t//\tmaxZoom: 19,\r\n\t\t//\tattribution: 'Map data © OpenWeatherMap',\r\n\t\t//\tapiKey: 'YOURAPIKEY',\r\n\t\t//\topacity: 0.5\r\n\t\t//}),\r\n\t\t//Clouds: L.tileLayer('http://{s}.tile.openweathermap.org/map/clouds/{z}/{x}/{y}.png?appid={apiKey}', {\r\n\t\t//\tmaxZoom: 19,\r\n\t\t//\tattribution: 'Map data © OpenWeatherMap',\r\n\t\t//\tapiKey: 'YOURAPIKEY',\r\n\t\t//\topacity: 0.5\r\n\t\t//}),\r\n\t\t//Pressure: L.tileLayer('http://{s}.tile.openweathermap.org/map/pressure/{z}/{x}/{y}.png?appid={apiKey}', {\r\n\t\t//\tmaxZoom: 19,\r\n\t\t//\tattribution: 'Map data © OpenWeatherMap',\r\n\t\t//\tapiKey: 'YOURAPIKEY',\r\n\t\t//\topacity: 0.5\r\n\t\t//})\r\n\t};\r\n\t//// https://leaflet-extras.github.io/leaflet-providers/preview/\r\n\t//L.tileLayer.provider(\"HERE.terrainDay\", {\r\n\t//\tapp_id: \"D8a9nIOBglilzF4GY2C6\",\r\n\t//\tapp_code: \"6z3c2e-KA3e6rbujMitpfQ\"\r\n\t//}).addTo(map);\r\n\r\n\tbaseLayers = {\r\n\t\t\r\n\t\tTerrain: L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\r\n\t\t\tmaxZoom: 21,\r\n\t\t\tattribution:\r\n\t\t\t\t'Map data: © OpenStreetMap contributors, SRTM | Map style: © OpenTopoMap (CC-BY-SA)'\r\n\t\t}),\r\n\t\tSatellite: L.tileLayer(\r\n\t\t\t'https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}',\r\n\t\t\t\r\n\t\t\t{\r\n\t\t\t\tmaxZoom: 19,\r\n\t\t\t\tattribution:\r\n\t\t\t\t\t'Tiles © Esri — Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community'\r\n\t\t\t}\r\n\t\t)\r\n\t};\r\n\r\n\tconstructor(id: string, descriptor: IMapConfig, activeLayer = '') {\r\n\t\tlet defaultLayer = this.baseLayers.Terrain;\r\n\t\tif (activeLayer) {\r\n\t\t\tdefaultLayer = this.baseLayers[activeLayer];\r\n\t\t}\r\n\t\tthis.imap = L.map(id, {\r\n\t\t\tcenter: [descriptor.location.lat, descriptor.location.lng],\r\n\t\t\tzoom: descriptor.zoom,\r\n\t\t\tminZoom: descriptor.minZoom,\r\n\t\t\tzoomControl: false,\r\n\t\t\tlayers: [defaultLayer]\r\n\t\t});\r\n\r\n\t\tL.control.scale().addTo(this.imap);\r\n\r\n\t}\r\n\r\n\taddLayer(title: string, layer: L.Layer) {\r\n\t\tthis.overlays[title] = layer;\r\n\t\tthis.imap.addLayer(layer);\r\n\t}\r\n\r\n\taddLayerGroup(title: string) {\r\n\t\tthis.overlays[title] = L.layerGroup([]);\r\n\t\tthis.imap.addLayer(this.overlays[title]);\r\n\t}\r\n\r\n\tcenterLeafletMapOnMarker(map, marker) {\r\n\t\tconst latLngs = [marker.getLatLng()];\r\n\t\tconst markerBounds = L.latLngBounds(latLngs);\r\n\t\tmap.fitBounds(markerBounds);\r\n\t}\r\n\r\n\r\n\r\n\tshowLayerControl() {\r\n\t\tthis.control = L.control.layers(this.baseLayers, this.overlays).addTo(this.imap);\r\n\t}\r\n\r\n\tshowZoomControl(position = 'topleft') {\r\n\t\tL.control\r\n\t\t\t.zoom({\r\n\t\t\t\tposition: position\r\n\t\t\t})\r\n\t\t\t.addTo(this.imap);\r\n\t}\r\n\r\n\tmoveTo(zoom: number, location: GpsLocation) {\r\n\t\tthis.imap.setZoom(zoom);\r\n\t\tthis.imap.panTo(new L.LatLng(location.lat, location.lng));\r\n\t}\r\n\r\n\tzoomTo(location: GpsLocation) {\r\n\t\tthis.imap.setView(new L.LatLng(location.lat, location.lng), 8);\r\n\t}\r\n\r\n\taddMarker(location: GpsLocation, markerId: string, popupText = '', layerTitle = 'default', ) {\r\n\t\tlet group: L.LayerGroup;\r\n\t\tconst marker = L.marker([location.lat, location.lng]);\r\n\t\tconst this_ = this;\r\n\t\tmarker.on('click',\r\n\t\t\t() => {\r\n\t\t\t\tthis_.centerLeafletMapOnMarker(this_.imap, marker);\r\n\t\t\t});\r\n\r\n\t\tthis.markers.add(markerId, marker);\r\n\t\tif (popupText) {\r\n\t\t\tconst popup = L.popup({ autoClose: false, closeOnClick: false });\r\n\t\t\tpopup.setContent(popupText);\r\n\t\t\tmarker.bindPopup(popup);\r\n\t\t}\r\n\t\tif (!this.overlays[layerTitle]) {\r\n\t\t\tgroup = L.layerGroup([]);\r\n\t\t\tthis.overlays[layerTitle] = group;\r\n\t\t\tthis.imap.addLayer(group);\r\n\t\t} else {\r\n\t\t\tgroup = this.overlays[layerTitle] as L.LayerGroup;\r\n\t\t}\r\n\t\tmarker.addTo(group);\r\n\t}\r\n\r\n\tremoveMarker(marker: L.Marker) {\r\n\t\tmarker.removeFrom(this.imap);\r\n\t}\r\n\r\n\tinvalidateSize() {\r\n\t\tthis.imap.invalidateSize();\r\n\t\tlet hiddenMethodMap = this.imap as any;\r\n\t\thiddenMethodMap._onResize();\r\n\t}\r\n}","export class AddDeviceRequestViewModel {\r\n\tpublic name: string;\r\n\tpublic structureId: string;\r\n\tpublic deviceId: string;\r\n\tpublic parentDeviceId: string;\r\n\tpublic deviceTypeId: string;\r\n}","export class ApplicationClaimTypes {\r\n static administrator: string = \"Administrator\";\r\n static administrateLocation: string = \"AdministrateLocation\";\r\n\tstatic viewLocation: string = \"ViewLocation\";\r\n\tstatic viewZone: string = \"ViewZone\";\r\n\tstatic zoneNotification: string = \"ZoneNotification\";\r\n}\r\n\r\n","export interface IValidationError {\r\n fieldName: string;\r\n messages: Array;\r\n}\r\n\r\nexport interface IApiError {\r\n message: string;\r\n hasValidationErrors: boolean;\r\n validationErrors?: Array;\r\n\r\n}\r\n\r\nexport class ApiError implements IApiError {\r\n message: string;\r\n hasValidationErrors: boolean;\r\n validationErrors?: Array;\r\n}","import { UserPreference } from \"./user-preference\";\r\nimport * as Linq from \"linq-es2015\";\r\n\r\n\r\nexport class Claim {\r\n Type: string;\r\n Value: string;\r\n}\r\n\r\nexport interface IApplicationUser {\r\n Name: string;\r\n IsNotificationAdministrator: boolean;\r\n AntiforgeryToken: string;\r\n Preferences: UserPreference[];\r\n\tClaims: Claim[];\r\n\tTenantName: string;\r\n\r\n\thasClaim(type: string): boolean;\r\n\thasAnyClaim(types: string[]): boolean;\r\n getClaim(type: string, value: string): Claim;\r\n}\r\n\r\n\r\nexport class ApplicationUser implements IApplicationUser {\r\n Name: string;\r\n IsNotificationAdministrator: boolean;\r\n AntiforgeryToken: string;\r\n Preferences: UserPreference[];\r\n\tClaims: Claim[];\r\n\tTenantName: string;\r\n\r\n\r\n\tconstructor(applicationUser?: IApplicationUser) {\r\n\t\tif (applicationUser) {\r\n\t\t\tthis.init(applicationUser);\r\n\t\t}\r\n\t}\r\n\r\n init(applicationUser: IApplicationUser) {\r\n this.Name = applicationUser.Name;\r\n this.IsNotificationAdministrator = applicationUser.IsNotificationAdministrator;\r\n this.AntiforgeryToken = applicationUser.AntiforgeryToken;\r\n this.Claims = applicationUser.Claims;\r\n\t\tthis.Preferences = applicationUser.Preferences;\r\n\t this.TenantName = applicationUser.TenantName;\r\n }\r\n\r\n\thasClaim(type: string): boolean {\r\n\t\tconst enumerable = Linq.AsEnumerable(this.Claims);\r\n\t\treturn enumerable.Any(claim => claim.Type === type);\r\n\t}\r\n\r\n\thasAnyClaim(types: string[]):boolean {\r\n\t\tconst userClaims = Linq.AsEnumerable(this.Claims);\r\n\t\tconst claimTypes = Linq.AsEnumerable(types);\r\n\t\treturn userClaims.Any(claim => claimTypes.Contains(claim.Type));\r\n\t}\r\n\r\n\tgetClaim(type: string, value: string): Claim {\r\n\t\tconst enumerable = Linq.AsEnumerable(this.Claims);\r\n\t\treturn enumerable.FirstOrDefault(claim => claim.Type === type && claim.Value === value);\r\n\t}\r\n}","export class Claim {\r\n\tuserId: string;\r\n\ttype: string;\r\n\tvalue: string;\r\n}","import { computedFrom } from 'aurelia-framework';\r\nimport { DeviceMetadata } from \"./device-metadata\";\r\nimport { Property } from \"./property\";\r\n\r\nexport class Device {\r\n\tid: string;\r\n\tdeviceId: string;\r\n\tdeviceStyle: string = \"\";\r\n\tdeviceTypeIds: Array;\r\n\tstyles: any = {};\r\n\tproperties: any;\r\n\tmessages: any = {};\r\n\tdata: any = {};\r\n\tname: string;\r\n\tmetadata: DeviceMetadata;\r\n\tchildren: Array;\r\n\tdeviceProperties: Array;\r\n\tparentId: string;\r\n\r\n\t@computedFrom('data')\r\n\tget hasData():boolean {\r\n\t\treturn (this.data !== undefined && this.data !== \"undefined\" && this.data !== null);\r\n\t}\r\n\r\n\t@computedFrom('messages')\r\n\tget hasWarnings(): boolean {\r\n\t\treturn (this.messages !== undefined && this.messages !== \"undefined\" && this.messages !== null && this.messages.length > 0);\r\n\t}\r\n\r\n\t@computedFrom('properties')\r\n\tget hasProperties(): boolean {\r\n\t\treturn (this.properties !== undefined && this.properties !== null);\r\n\t}\r\n\r\n\t@computedFrom('styles')\r\n\tget hasStyles(): boolean {\r\n\t\treturn (this.styles !== undefined && this.styles !== \"undefined\" && this.styles !== null);\r\n\t}\r\n}\r\n\r\n","export class DeviceMeasurementRequestViewModel {\r\n\tdeviceId: string;\r\n\tendDate: Date;\r\n\tstartDate: Date;\r\n}","export class DeviceMetadata {\r\n\tdeviceId: string;\r\n\tparentId: string;\r\n\tdeviceName: string;\r\n\tdeviceType: string;\r\n\tlocationId: string;\r\n\tproperties: any;\r\n\tstructureId: string;\r\n\tstructureName: string;\r\n\tzoneId: string;\r\n\tzoneName: string;\r\n}\r\n\r\n","export class DeviceType {\r\n\tname: string;\r\n\tmeasurements: Array = new Array();\r\n\tproperties: any;\r\n}\r\n\r\nexport class DeviceTypeProperty {\r\n\tid: string;\r\n\tname: string;\r\n\tvalue: string;\r\n}","import { Property } from \"./property\";\r\n\r\nexport class DeviceTypeViewModel {\r\n\tname: string;\r\n\tproperties: Array;\r\n}","export class DigitalOutputToggleRequestViewModel {\r\n\tconstructor() {\r\n\t\tthis.deviceIds = new Array();\r\n\t}\r\n\tdeviceIds: Array;\r\n\tmessage: string;\r\n\tstate: boolean;\r\n}","import { Aurelia, PLATFORM } from 'aurelia-framework';\r\nexport function configure(aurelia: any) {\r\n\taurelia\r\n\t\t//.globalResources(PLATFORM.moduleName('./application-claim-types'))\r\n\t\t//.globalResources(PLATFORM.moduleName('./application-error'))\r\n\t\t//.globalResources(PLATFORM.moduleName('./application-state'))\r\n\t\t.globalResources(PLATFORM.moduleName('./application-user'))\r\n\t\t.globalResources(PLATFORM.moduleName('./claim'))\r\n\t\t.globalResources(PLATFORM.moduleName('./device'))\r\n\t\t.globalResources(PLATFORM.moduleName(\"./digital-output-toggle-request-view-model\"))\r\n\t\t.globalResources(PLATFORM.moduleName(\"./location\"))\r\n\t\t.globalResources(PLATFORM.moduleName('./notification-recipient'))\r\n\t\t.globalResources(PLATFORM.moduleName(\"./structure\"))\r\n\t\t.globalResources(PLATFORM.moduleName('./user-preference'))\r\n\t\t.globalResources(PLATFORM.moduleName(\"./zone\"));\r\n}","import { Zone } from \"./zone\";\r\nimport { MeasurementViewModel } from \"./measurement-view-model\";\r\nimport { Property } from \"./property\";\r\nimport { DeviceTypeViewModel } from \"./device-type-view-model\";\r\n\r\n\r\nexport class Location {\r\n\tid: string;\r\n\tname: string;\r\n\tcode: string;\r\n\tdescription: string;\r\n\ttimeZone: string;\r\n\tsignalRGroup: string;\r\n\tzones: Array;\r\n\tcurrentMeasurements: Array;\r\n\tdeployedDeviceTypes: Array;\r\n\tproperties: any;\r\n\tdeviceTypeIds: Array;\r\n\thasCurtainControllers: boolean;\r\n}","import { Location } from \"./location\";\r\nimport * as Enumerable from 'linq-es2015';\r\nimport { HubManager } from \"../services/hub-manager\";\r\nimport { HttpClient } from \"aurelia-fetch-client\";\r\nimport { Structure } from \"./structure\";\r\nimport { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\r\nimport { IApplicationUser, ApplicationUser } from \"./application-user\";\r\nimport { autoinject } from \"aurelia-framework\";\r\nimport { GreenhouseDataEvents } from \"../events/data-events\";\r\nimport { LocationHierarchy } from \"./location-hierarchy\";\r\n\r\n\r\n@autoinject\r\nexport class LocationApiProxy {\r\n\r\n locations: Location[];\r\n selectedLocations: Location[] = new Array();\r\n locationSelectedSubscription: Subscription;\r\n hubManager: HubManager;\r\n httpClient: HttpClient;\r\n eventAggregator: EventAggregator;\r\n locationsLoaded: boolean = false;\r\n applicationUser: IApplicationUser;\r\n\r\n constructor(httpClient: HttpClient, hubManager: HubManager, eventAggregator: EventAggregator, applicationUser: ApplicationUser) {\r\n this.hubManager = hubManager;\r\n this.httpClient = httpClient;\r\n this.eventAggregator = eventAggregator;\r\n this.applicationUser = applicationUser;\r\n //this.loadLocations();\r\n this.subscribeToLocationSelected();\r\n }\r\n\r\n loadLocations() {\r\n if (!this.locations) {\r\n //this.httpClient.fetch('api/Location/Configuration')\r\n\t\t\tthis.httpClient.fetch('api/Location/Hierarchy')\r\n .then(result => result.json() as Promise)\r\n .then(registry => {\r\n this.locationsLoaded = true;\r\n this.locations = registry.locations;\r\n\t\t\t\t\tthis.hubManager.initialize(this.locations);\r\n\t\t\t\t\tthis.selectAllLocations();\r\n this.eventAggregator.publish(GreenhouseDataEvents.locationsLoaded);\r\n });\r\n }\r\n\t}\r\n\r\n\tselectAllLocations() {\r\n\t\tthis.clearSelectedLocations();\r\n\t\tfor (let i = 0; i < this.locations.length; i++) {\r\n\t\t\tthis.selectedLocations[i] = this.locations[i];\r\n\t\t}\r\n\t}\r\n\r\n\tclearSelectedLocations() {\r\n\t\tthis.selectedLocations = new Array();\r\n\t}\r\n\r\n subscribeToLocationSelected() {\r\n this.locationSelectedSubscription = this.eventAggregator.subscribe(GreenhouseDataEvents.locationSelected,\r\n (location) => {\r\n //this.selectedLocation = location;\r\n });\r\n }\r\n\r\n \r\n //public getGreenhouse(locationCode: string, code: string): Structure {\r\n // const location = this.getLocation(locationCode);\r\n // const greenhouses = Enumerable.AsEnumerable(location.structures);\r\n // return greenhouses.FirstOrDefault(greenhouse => greenhouse.code === code);\r\n //}\r\n\r\n //public getLocation(locationCode: string): Location {\r\n // const locations = Enumerable.AsEnumerable(this.locations);\r\n // return locations.FirstOrDefault(location => location.code === locationCode);\r\n //}\r\n}","import { Location } from \"./location\";\r\nexport class LocationHierarchy {\r\n\tlocations: Location[];\r\n\tversion: number;\r\n}","export class MeasurementRequestViewModel {\r\n\r\n\tlocationId?: string;\r\n\tzoneId?: string;\r\n\tstructureId?: string;\r\n\tdeviceId: string;\r\n\r\n\tconstructor(locationId?: string, zoneId?: string, structureId?: string, deviceId?: string) {\r\n\t\tthis.locationId = locationId;\r\n\t\tthis.zoneId = zoneId;\r\n\t\tthis.structureId = structureId;\r\n\t\tthis.deviceId = deviceId;\r\n\t}\r\n}","import { DeviceMetadata } from \"./device-metadata\";\r\n\r\nexport class MeasurementViewModel {\r\n\tname: string;\r\n\tdata: any;\r\n\tmetadata: DeviceMetadata;\r\n\tdeviceStyle: string;\r\n\tstyles: any;\r\n\tproperties: any;\r\n\t//messages: Map = new Map();\r\n\twarningMessages: Array;\r\n\t//timestamp: Date;\r\n}\r\n\r\n\r\n\r\n","import { Claim } from \"./claim\";\r\n\r\nexport class NotificationRecipient {\r\n\tid: string;\r\n name: string;\r\n email: string;\r\n phone: string;\r\n selected: boolean;\r\n\tnotificationType: number;\r\n\tclaims: Array;\r\n\r\n\t\r\n}\r\n","export class Property {\r\n\r\n\tconstructor() {\r\n\t\tthis.id = \"00000000-0000-0000-0000-000000000000\";\r\n\t\tthis.value = \"\";\r\n\t}\r\n\r\n\tpublic id: string;\r\n\tpublic name: string;\r\n\tpublic value: string;\r\n\tpublic type: string;\r\n}","import { Device } from \"./device\";\r\nimport { observable } from \"aurelia-framework\";\r\nimport { Property } from \"./property\";\r\n\r\nexport class Structure {\r\n id: string;\r\n\tcode: string;\r\n\tname: string;\r\n\tdevices: Array;\r\n\tdeviceTypeIds: Array;\r\n\tproperties: Array;\r\n\tnotificationStatus: number;\r\n\tstatusColor: string = null;\r\n\thasCurtainControllers: boolean;\r\n}","export class TreeNodeTypes {\r\n\tstatic device: string = \"Device\";\r\n\tstatic deviceType: string = \"DeviceType\";\r\n\tstatic deviceTypes: string = \"DeviceTypes\";\r\n\tstatic location: string = \"Location\";\r\n\tstatic structure: string = \"Structure\";\r\n\tstatic zone: string = \"Zone\";\r\n}","export class UserPreference {\r\n key: string;\r\n value: string;\r\n}","export class WebApiResponse\r\n{\r\n\tmessage: string;\r\n\tsuccess: boolean;\r\n\tdata: T;\r\n}","import { Structure } from \"./structure\";\r\nimport { Property } from \"./property\";\r\n\r\nexport class Zone {\r\n\tid: string;\r\n\tcode: string;\r\n\tname: string;\r\n\tgpsCoordinates: any;\r\n\tdisplayMap: boolean;\r\n\tisWeatherZone: boolean;\r\n\tstructures: Array;\r\n\tdeviceTypeIds: Array;\r\n\tproperties: Array;\r\n\thasCurtainControllers: boolean;\r\n\t\r\n}","import { autoinject } from 'aurelia-framework';\r\n\r\n@autoinject\r\nexport class AdminDashboard {\r\n \r\n constructor() {\r\n \r\n }\r\n\r\n bind(bindingContext: any, overrideContext: any) {\r\n \r\n }\r\n\r\n attached() {\r\n \r\n }\r\n\r\n detached() {\r\n \r\n }\r\n\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".card .card-title{font-size:20px;font-weight:600;color:#007bff}\", \"\"]);\n\n","import { autoinject } from 'aurelia-framework';\r\n\r\n@autoinject\r\nexport class DeviceAdminCard {\r\n \r\n constructor() {\r\n \r\n }\r\n\r\n bind(bindingContext: any, overrideContext: any) {\r\n \r\n }\r\n\r\n attached() {\r\n \r\n }\r\n\r\n detached() {\r\n \r\n }\r\n\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject, inject, NewInstance } from 'aurelia-framework';\r\nimport { DialogController } from 'aurelia-dialog';\r\nimport { ValidationController, ValidationRules, ValidationControllerFactory, validateTrigger } from \"aurelia-validation\";\r\nimport { Location } from \"../../../models/location\";\r\nimport { MaterializeFormValidationRenderer } from \"aurelia-materialize-bridge\";\r\nimport { I18N } from \"aurelia-i18n\";\r\nimport { addLocation } from \"../../../store/actions/location-actions\";\r\nimport { dispatchify } from 'aurelia-store';\r\n\r\n@autoinject\r\nexport class AddLocationDialog {\r\n\tdialogController: DialogController;\r\n\tvalidationController: ValidationController;\r\n\ti18n: I18N;\r\n\r\n\tlocation: Location = new Location();\r\n\tloading: boolean = false;\r\n\tmessage: string;\r\n\r\n\tname: string;\r\n\tcode: string;\r\n\tdescription: string;\r\n\trules = ValidationRules\r\n\t\t.ensure(\"name\")\r\n\t\t.required()\r\n\t\t.ensure(\"code\")\r\n\t\t.required()\r\n\t\t.ensure(\"description\")\r\n\t\t.required()\r\n\t\t.rules;\r\n\r\n\tconstructor(dialogController: DialogController, controllerFactory: ValidationControllerFactory, i18n: I18N) {\r\n\t\tthis.dialogController = dialogController;\r\n\t\tthis.i18n = i18n;\r\n\r\n\t\tthis.validationController = controllerFactory.createForCurrentScope();\r\n\t\tthis.validationController.addRenderer(new MaterializeFormValidationRenderer());\r\n\t\tthis.validationController.validateTrigger = validateTrigger.changeOrBlur;\r\n\t\tthis.validationController.addObject(this.location, this.rules);\r\n\r\n\t\tthis.message = i18n.tr(\"adding-location\");\r\n\r\n\t}\r\n\r\n\t\r\n\r\n bind(bindingContext: any, overrideContext: any) {\r\n \r\n }\r\n\r\n attached() {\r\n \r\n }\r\n\r\n detached() {\r\n \r\n\t}\r\n\r\n\r\n validateData() {\r\n\t this.validationController.validate().then( v => {\r\n\t\t\tif (v.valid) {\r\n\t\t\t\tthis.location.timeZone = \"Pacific Standard Time\";\r\n\t\t\t\tthis.loading = true;\r\n\t\t\t\tdispatchify(addLocation)(this.location);\r\n\t\t\t\tthis.loading = false;\r\n\t\t\t this.dialogController.ok();\r\n\t\t }\r\n\t });\r\n\t}\r\n\r\n\r\n\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject, computedFrom, bindable } from 'aurelia-framework';\r\nimport { LocationState } from \"../../store/state\";\r\nimport { IState } from \"../../store/state\";\r\nimport { Store } from \"aurelia-store\";\r\nimport { Location } from \"../../models/location\";\r\nimport { I18N } from \"aurelia-i18n\";\r\nimport { DialogService, DialogSettings } from \"aurelia-dialog\";\r\nimport { AddLocationDialog } from \"./dialogs/add-location-dialog\";\r\nimport { applicationLogger } from \"../../logging/logger\";\r\nimport { Api } from \"../../services/api\";\r\n\r\n@autoinject\r\nexport class LocationAdminCard {\r\n\tlocationState: LocationState;\r\n\tlocations = new Array();\r\n\t@bindable locationCount: Number;\r\n\tstore: Store;\r\n\ti18n: I18N;\r\n\tapi: Api;\r\n\tdialogService: DialogService;\r\n\t\r\n\tloading: boolean = false;\r\n\tmessage: string;\r\n\r\n\tprivate subscription: any;\r\n\r\n\tconstructor(store: Store, i18n: I18N, dialogService: DialogService, api: Api) {\r\n\t\tthis.store = store;\r\n\t\tthis.i18n = i18n;\r\n\t\tthis.api = api;\r\n\t\tthis.dialogService = dialogService;\r\n\t}\r\n\r\n\tasync bind(bindingContext: any, overrideContext: any) {\r\n\t\t//this.subscription = this.store.state.subscribe((state) => {\r\n\t\t//\tthis.applicationState = state;\r\n\t\t//\tthis.locationState = Object.assign({}, this.applicationState.locationState);\r\n\t\t//\tthis.locations = this.locationState.locations;\r\n\t\t//\tthis.locationCount = this.locations.length;\r\n\t\t//});\r\n\r\n\t\tawait this.getData();\r\n\r\n\t}\r\n\r\n\tasync getData() {\r\n\t\tthis.message = this.i18n.tr(\"loading-data\");\r\n\t\tthis.loading = true;\r\n\t\tthis.locations = await this.api.getLocations();\r\n\t\tthis.locationCount = this.locations.length;\r\n\t\tthis.loading = false;\r\n\t}\r\n\r\n\tunbind() {\r\n\t\t//this.subscription.unsubscribe();\r\n\t}\r\n\r\n\tattached() {\r\n\r\n\t}\r\n\r\n\tdetached() {\r\n\r\n\t}\r\n\r\n\t@computedFrom(\"locationCount\")\r\n\tget caption() {\r\n\t\tlet caption = null;\r\n\r\n\t\tif (this.locationCount > 1 || this.locationCount === 0) {\r\n\t\t\tcaption = this.i18n.tr(\"locations\");\r\n\t\t} else {\r\n\t\t\tcaption = this.i18n.tr(\"location\");\r\n\t\t}\r\n\r\n\t\treturn caption;\r\n\t}\r\n\r\n\taddLocation() {\r\n\t\tthis.dialogService.open({ viewModel: AddLocationDialog, model: null, lock: false } as DialogSettings).whenClosed(response => {\r\n\t\t\tif (!response.wasCancelled) {\r\n\t\t\t\tapplicationLogger.debug('Dialog OK clicked - ', response.output);\r\n\t\t\t} else {\r\n\t\t\t\tapplicationLogger.debug('Dialog canceled');\r\n\t\t\t}\r\n\t\t\tapplicationLogger.debug(response.output);\r\n\t\t});\r\n\t}\r\n\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from 'aurelia-framework';\r\n\r\n@autoinject\r\nexport class StructureAdminCard {\r\n \r\n constructor() {\r\n \r\n }\r\n\r\n bind(bindingContext: any, overrideContext: any) {\r\n \r\n }\r\n\r\n attached() {\r\n \r\n }\r\n\r\n detached() {\r\n \r\n }\r\n\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from 'aurelia-framework';\r\n\r\n@autoinject\r\nexport class UserAdminCard {\r\n \r\n constructor() {\r\n \r\n }\r\n\r\n bind(bindingContext: any, overrideContext: any) {\r\n \r\n }\r\n\r\n attached() {\r\n \r\n }\r\n\r\n detached() {\r\n \r\n }\r\n\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from 'aurelia-framework';\r\nimport { I18N } from \"aurelia-i18n\";\r\n\r\nimport { Api } from \"../../services/api\";\r\nimport { Location } from \"../../models/location\";\r\n@autoinject\r\nexport class ZoneAdminCard {\r\n\tloading: boolean = false;\r\n\tmessage: string = \"\";\r\n\tlocations: Array = new Array();\r\n\ti18n: I18N;\r\n\tapi: Api;\r\n\tconstructor(i18n: I18N, api: Api) {\r\n\t\tthis.i18n = i18n;\r\n\t\tthis.api = api;\r\n\t}\r\n\r\n\tasync bind(bindingContext: any, overrideContext: any) {\r\n\t\tawait this.getData();\r\n\t}\r\n\r\n\tasync getData() {\r\n\t\tthis.message = this.i18n.tr(\"loading-data\");\r\n\t\tthis.loading = true;\r\n\t\tthis.locations = await this.api.getLocations();\r\n\t\tthis.loading = false;\r\n\t}\r\n\r\n\tattached() {\r\n\r\n\t}\r\n\r\n\tdetached() {\r\n\r\n\t}\r\n\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"zone-admin-card .md-select{display:inline-block}zone-admin-card .input-field{position:relative;display:inline-block!important;margin-top:0;margin-bottom:0}zone-admin-card .zone-admin-select-wrapper{top:-12px;position:relative}\", \"\"]);\n\n","export class BatteryCssClasses {\r\n\tstatic mdiBattery = \"mdi-battery\";\r\n\tstatic mdiBatteryAlert = \"mdi-battery-alert\";\r\n\tstatic mdiBatteryPrefix = \"mdi-battery-\";\r\n\tstatic mdiPluggedIn = \"mdi-power-plug\";\r\n}","export function createLightText(color: string) {\r\n\treturn `${color}-text text-lighten-2`;\r\n}\r\n\r\nexport function createDarkText(color: string) {\r\n\treturn `${color}-text text-darken-2`;\r\n}","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"location-tableau .navigation-card,notification-rules-tableau .navigation-card,structure-tableau .navigation-card,warning-tableau .navigation-card{cursor:pointer}location-tableau .center,location-tableau .center-align,notification-rules-tableau .center,notification-rules-tableau .center-align,structure-tableau .center,structure-tableau .center-align,warning-tableau .center,warning-tableau .center-align{text-align:center}location-tableau .tab ul li.active,notification-rules-tableau .tab ul li.active,structure-tableau .tab ul li.active,warning-tableau .tab ul li.active{background-color:rgba(0,0,0,.1)}location-tableau .tab .indicator,location-tableau .tab ul li a,notification-rules-tableau .tab .indicator,notification-rules-tableau .tab ul li a,structure-tableau .tab .indicator,structure-tableau .tab ul li a,warning-tableau .tab .indicator,warning-tableau .tab ul li a{background-color:#007bff!important}location-tableau .tab .tabs .tab a.active,location-tableau .tab .tabs .tab a:hover,notification-rules-tableau .tab .tabs .tab a.active,notification-rules-tableau .tab .tabs .tab a:hover,structure-tableau .tab .tabs .tab a.active,structure-tableau .tab .tabs .tab a:hover,warning-tableau .tab .tabs .tab a.active,warning-tableau .tab .tabs .tab a:hover{background-color:transparent;color:#007bff!important}location-tableau .tab .primary-text,notification-rules-tableau .tab .primary-text,structure-tableau .tab .primary-text,warning-tableau .tab .primary-text{color:#007bff!important}location-tableau .collapsible,notification-rules-tableau .collapsible,structure-tableau .collapsible,warning-tableau .collapsible{border-top:0;margin:0}location-tableau .collapsible,location-tableau .tab-content,notification-rules-tableau .collapsible,notification-rules-tableau .tab-content,structure-tableau .collapsible,structure-tableau .tab-content,warning-tableau .collapsible,warning-tableau .tab-content{-webkit-box-shadow:none!important;box-shadow:none!important}location-tableau .collapsible-header,notification-rules-tableau .collapsible-header,structure-tableau .collapsible-header,warning-tableau .collapsible-header{background-color:#f8f9fa;display:block;text-align:center;padding:0}location-tableau .collapsible-header h6,notification-rules-tableau .collapsible-header h6,structure-tableau .collapsible-header h6,warning-tableau .collapsible-header h6{font-size:.9rem;line-height:100%;margin:.7rem}location-tableau .section,notification-rules-tableau .section,structure-tableau .section,warning-tableau .section{margin-left:.5em;margin-right:.5em;padding-top:.5em;padding-bottom:0}location-tableau .section h6,notification-rules-tableau .section h6,structure-tableau .section h6,warning-tableau .section h6{margin-left:.5em;text-transform:uppercase;opacity:.3}location-tableau .tabs .tab,notification-rules-tableau .tabs .tab,structure-tableau .tabs .tab,warning-tableau .tabs .tab{line-height:52px}location-tableau .notification,notification-rules-tableau .notification,structure-tableau .notification,warning-tableau .notification{margin-left:5px;margin-right:5px;width:16px;height:16px;display:inline-block;line-height:0}location-tableau .small-circle,notification-rules-tableau .small-circle,structure-tableau .small-circle,warning-tableau .small-circle{width:10px;height:10px;border-radius:5px;border:1px solid grey;display:inline-block;line-height:0;vertical-align:middle}location-tableau .large-circle,notification-rules-tableau .large-circle,structure-tableau .large-circle,warning-tableau .large-circle{width:16px;height:16px;border-radius:8px;border:1px solid grey;display:inline-block;line-height:0;vertical-align:middle}location-tableau .warning-circle,notification-rules-tableau .warning-circle,structure-tableau .warning-circle,warning-tableau .warning-circle{position:relative;top:10px;left:-12px;vertical-align:middle}location-tableau .warning-header,notification-rules-tableau .warning-header,structure-tableau .warning-header,warning-tableau .warning-header{font-size:18px;font-weight:400;position:relative;left:20px;top:10px}.stroked{-webkit-text-stroke-width:.5px;-webkit-text-stroke-color:grey}.structure-card{min-height:276.3px;max-height:276.3px}.pause-button{left:-24px}@media (min-width:0){.btn-flat,.notification-button,.pause-button{font-size:10px!important;padding:0 8px!important}i.left{margin-right:7px!important}}@media (min-width:576px){.btn-flat,.notification-button,.pause-button{font-size:11px!important;padding:0 8px!important}i.left{margin-right:7px!important}}@media (min-width:768px){.btn-flat,.notification-button,.pause-button{font-size:14px!important;padding:0 8px!important}i.left{margin-right:11pxpx!important}}@media (min-width:992px){.btn-flat,.notification-button,.pause-button{font-size:14px!important;padding:0 8px!important}i.left{margin-right:5px!important}}@media (min-width:1200px){.btn-flat,.notification-button,.pause-button{font-size:14px!important;padding:0 8px!important}i.left{margin-right:15px!important}}@media (min-width:0){location-tableau .inner-card h3,location-tableau .notification-button,structure-tableau .inner-card h3,structure-tableau .notification-button,warnings-tableau .inner-card h3,warnings-tableau .notification-button{font-size:2rem}}@media (min-width:576px){location-tableau .inner-card h3,location-tableau .notification-button,structure-tableau .inner-card h3,structure-tableau .notification-button,warnings-tableau .inner-card h3,warnings-tableau .notification-button{font-size:1.5rem}}@media (min-width:768px){location-tableau .inner-card h3,location-tableau .notification-button,structure-tableau .inner-card h3,structure-tableau .notification-button,warnings-tableau .inner-card h3,warnings-tableau .notification-button{font-size:1.5rem}}@media (min-width:992px){location-tableau .inner-card h3,location-tableau .notification-button,structure-tableau .inner-card h3,structure-tableau .notification-button,warnings-tableau .inner-card h3,warnings-tableau .notification-button{font-size:2rem}}@media (min-width:1200px){location-tableau .inner-card h3,location-tableau .notification-button,structure-tableau .inner-card h3,structure-tableau .notification-button,warnings-tableau .inner-card h3,warnings-tableau .notification-button{font-size:2rem}}location-tableau .card .card-title,structure-tableau .card .card-title,warnings-tableau .card .card-title{font-size:16px;font-weight:400}location-tableau .card-header,structure-tableau .card-header,warnings-tableau .card-header{padding:.25rem .4rem}location-tableau .card .card-content,structure-tableau .card .card-content,warnings-tableau .card .card-content{padding:3px 16px;border-radius:0 0 2px 2px;overflow:hidden}location-tableau .card .card-content .card-title,structure-tableau .card .card-content .card-title,warnings-tableau .card .card-content .card-title{line-height:22.5px!important;margin-bottom:0!important}location-tableau .inner-card .battery,structure-tableau .inner-card .battery,warnings-tableau .inner-card .battery{font-size:medium}location-tableau .inner-card h3,structure-tableau .inner-card h3,warnings-tableau .inner-card h3{margin:.25rem}location-tableau .inner-card .card-title,structure-tableau .inner-card .card-title,warnings-tableau .inner-card .card-title{padding:.25rem .4rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:.25px solid #d3d3d3}location-tableau .inner-card .card-content,structure-tableau .inner-card .card-content,warnings-tableau .inner-card .card-content{padding:6px}location-tableau .inner-card .indicator,structure-tableau .inner-card .indicator,warnings-tableau .inner-card .indicator{font-size:small;width:75px}location-tableau .inner-card .indicator.right,structure-tableau .inner-card .indicator.right,warnings-tableau .inner-card .indicator.right{text-align:right}location-tableau .inner-card .indicator.left,structure-tableau .inner-card .indicator.left,warnings-tableau .inner-card .indicator.left{text-align:left}location-tableau .inner-card .timestamp,structure-tableau .inner-card .timestamp,warnings-tableau .inner-card .timestamp{color:grey;font-size:small}warning-tableau md-collection-header h4{font-size:medium}warning-tableau .collection .collection-item.avatar:not(.circle-clipper)>.circle,warning-tableau .collection .collection-item.avatar :not(.circle-clipper)>.circle{position:absolute;width:21px;height:21px;overflow:hidden;left:15px;display:inline-block;vertical-align:middle}warning-tableau .card-header{padding:0;margin-bottom:0;background-color:transparent;border-bottom:0 solid rgba(0,0,0,.125)}\", \"\"]);\n\n","export class SignalCssClasses {\r\n\tstatic mdiWifiStrength4 = \"mdi-wifi-strength-4\";\r\n\tstatic mdiWifiStrength3 = \"mdi-wifi-strength-3\";\r\n\tstatic mdiWifiStrength2 = \"mdi-wifi-strength-2\";\r\n\tstatic mdiWifiStrength1 = \"mdi-wifi-strength-1\";\r\n\tstatic mdiWifiStrengthAlertOutline = \"mdi-wifi-strength-alert-outline\";\r\n}","export class StatusColors {\r\n\tstatic green = \"green\";\r\n\tstatic yellow = \"yellow\";\r\n\tstatic red = \"red\";\r\n}","import { autoinject } from 'aurelia-framework';\r\nimport { IState } from \"../../store/state\";\r\nimport { pluck } from \"rxjs/operators\";\r\nimport { connectTo } from \"aurelia-store\";\r\nimport { applicationLogger } from \"../../logging/logger\";\r\n\r\n//@connectTo({\r\n//\ttarget: 'applicationState',\r\n//\tselector: {\r\n//\t\tlocationState: (store) => store.state.pipe(pluck('locationState'))\r\n//\t}\r\n//})\r\n@autoinject\r\nexport class Devices {\r\n\t//applicationState: IState;\r\n\t//constructor() {\r\n\r\n\t//}\r\n\r\n\t//bind(bindingContext: any, overrideContext: any) {\r\n\r\n\t//}\r\n\r\n\t//attached() {\r\n\r\n\t//}\r\n\r\n\t//detached() {\r\n\r\n\t//}\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".tabs-content .carousel-item{height:auto}.collapsible-accordion ul li{width:100%}.collapsible-accordion ul li .card-action,.collapsible-accordion ul li .collapsible-header{background-color:rgba(0,0,0,.03)!important}.full-width{width:100%}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:0 solid rgba(0,0,0,.125)}.center-cols>.col{float:none;display:inline-block;text-align:initial}\", \"\"]);\n\n","import { autoinject, computedFrom } from 'aurelia-framework';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\nimport { Location } from \"../../models/location\";\r\nimport { dispatchify, Store } from 'aurelia-store';\r\nimport { getZoneMeasurements } from \"../../store/actions/measurement-actions\";\r\nimport * as State from \"../../store/state\";\r\nimport IState = State.IState;\r\nimport { Subscription } from \"rxjs\";\r\nimport { MdTabs } from \"aurelia-materialize-bridge\";\r\nimport { Api } from \"../../services/api\";\r\nimport { DigitalOutputToggleRequestViewModel } from \"../../models/digital-output-toggle-request-view-model\";\r\nimport * as Linq from \"linq-es2015\";\r\n\r\n@autoinject\r\nexport class LocationTableau {\r\n\tlocations: Array;\r\n\tfirstLocation: Location;\r\n\tisActive: boolean = false;\r\n\tdisabled: boolean = false;\r\n\tdelay: number = 35;\r\n\tpreventCollapse: boolean;\r\n\ttabs: MdTabs;\r\n\tapi: Api;\r\n\tlocationsHaveCurtains: boolean;\r\n\r\n\tprotected applicationState: IState;\r\n\tprotected subscription: Subscription;\r\n\tprotected store: Store;\r\n\tprotected eventAggregator: EventAggregator;\r\n\r\n\tconstructor(store: Store, eventAggregator: EventAggregator, api: Api) {\r\n\t\tthis.store = store;\r\n\t\tthis.eventAggregator = eventAggregator;\r\n\t\tthis.api = api;\r\n\t}\r\n\r\n\tasync bind(bindingContext: any, overrideContext: any) {\r\n\r\n\t\tthis.subscription = this.store.state.subscribe(async (state) => {\r\n\t\t\tthis.applicationState = state;\r\n\t\t\tif (this.applicationState.locationState.initialized) {\r\n\t\t\t\tthis.locations = this.applicationState.locationState.selectedLocations;\r\n\t\t\t\tthis.locationsHaveCurtains = this.determineLocationsHaveCurtains();\r\n\t\t\t\tif (!this.firstLocation && this.locations && this.locations.length > 0) {\r\n\t\t\t\t\tthis.firstLocation = this.locations[0];\r\n\t\t\t\t\tconst firstZone = this.firstLocation.zones[0];\r\n\t\t\t\t\tif (firstZone) {\r\n\t\t\t\t\t\tawait this.getZoneData(this.firstLocation.id, firstZone.id);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.tabs.refresh();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tdetermineLocationsHaveCurtains(): boolean {\r\n\t\tconst locations = Linq.AsEnumerable(this.locations);\r\n\t\treturn locations.Any(location => location.hasCurtainControllers);\r\n\t}\r\n\r\n\tunbind() {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n\r\n\t\r\n\tasync collapsibleOpen(event) {\r\n\t\tconst element = event.detail.el;\r\n\r\n\t\tif (this.preventCollapse) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (element === undefined) {\r\n\t\t\tevent.stopPropagation();\r\n\t\t}\r\n\r\n\t\tif (element !== undefined && element.id !== undefined) {\r\n\t\t\tconst ids = element.id.split(\":\");\r\n\t\t\tawait this.getZoneData(ids[0], ids[1]);\r\n\t\t\tthis.eventAggregator.publish(\"ZoneOpened\");\r\n\t\t}\r\n\t}\r\n\r\n\tasync getZoneData(locationId: string, zoneId: string) {\r\n\t\tthis.isActive = true;\r\n\t\tawait dispatchify(getZoneMeasurements)(locationId, zoneId);\r\n\t\tthis.isActive = false;\r\n\t}\r\n\r\n\tasync toggleZoneCurtains(zoneId: string, direction: string) {\r\n\t\tthis.preventCollapse = true;\r\n\r\n\t\tconst viewModel = new DigitalOutputToggleRequestViewModel();\r\n\t\tviewModel.deviceIds.push(zoneId);\r\n\t\tviewModel.message = direction;\r\n\t\tconst response = await this.api.toggleZoneCurtains(viewModel);\r\n\t\tif (response.success) {\r\n\t\t\tthis.disabled = true;\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis.disabled = false;\r\n\t\t\t\tthis.preventCollapse = false;\r\n\t\t\t\t},\r\n\t\t\t\tthis.delay * 1000);\r\n\t\t}\r\n\t}\r\n\r\n\tasync raiseZoneCurtains(zoneId: string) {\r\n\r\n\t\tawait this.toggleZoneCurtains(zoneId, \"CurtainUp\");\r\n\t}\r\n\r\n\tasync lowerZoneCurtains(zoneId: string) {\r\n\t\tawait this.toggleZoneCurtains(zoneId, \"CurtainDown\");\r\n\t}\r\n\r\n\r\n\tasync toggleLocationCurtains(locationId: string, direction: string) {\r\n\t\tthis.preventCollapse = true;\r\n\r\n\t\tconst viewModel = new DigitalOutputToggleRequestViewModel();\r\n\t\tviewModel.deviceIds.push(locationId);\r\n\t\tviewModel.message = direction;\r\n\t\tconst response = await this.api.toggleLocationCurtains(viewModel);\r\n\t\tif (response.success) {\r\n\t\t\tthis.disabled = true;\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tthis.disabled = false;\r\n\t\t\t\t\tthis.preventCollapse = false;\r\n\t\t\t\t},\r\n\t\t\t\tthis.delay * 1000);\r\n\t\t}\r\n\t}\r\n\r\n\tasync raiseLocationCurtains(zoneId: string) {\r\n\r\n\t\tawait this.toggleLocationCurtains(zoneId, \"CurtainUp\");\r\n\t}\r\n\r\n\tasync lowerLocationCurtains(zoneId: string) {\r\n\t\tawait this.toggleLocationCurtains(zoneId, \"CurtainDown\");\r\n\t}\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"location-tableau .header-row{margin-left:auto;margin-right:auto;margin-bottom:0}location-tableau .curtain-controls{margin-top:10px}location-tableau .collapsible-body{display:none;border-bottom:1px solid #ddd;box-sizing:border-box;padding:.5rem}location-tableau .header-label{display:inline-block;font-size:.5rem;line-height:100%;margin:.7rem}location-tableau .header-button{padding:0!important;width:48px}location-tableau h5.label{margin:0 0 .5rem}\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { Zone } from '../../models/zone';\r\n@autoinject\r\nexport class QuickIndicators {\r\n\r\n\tzone: Zone;\r\n\tconstructor() {}\r\n\r\n\tbind(bindingContext: any) {\r\n this.zone = bindingContext.zone;\r\n\r\n }\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject, computedFrom } from \"aurelia-framework\";\r\nimport { Router } from \"aurelia-router\";\r\nimport { Structure } from \"../../models/structure\";\r\nimport { Zone } from \"../../models/zone\";\r\nimport { Store } from \"aurelia-store\";\r\nimport { IState } from \"../../store/state\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { AsEnumerable } from \"linq-es2015/lib/linq\";\r\nimport { StatusColors } from \"../common/status-colors\";\r\nimport { I18N } from \"aurelia-i18n\";\r\n\r\n@autoinject\r\nexport class StructureCard {\r\n\tstructure: Structure;\r\n\tzone: Zone;\r\n\tstructureDoesNotHaveDevices: boolean = false;\r\n\tstructureHasDevices: boolean = false;\r\n\r\n\tapplicationState: IState;\r\n\tprivate subscription: Subscription;\r\n\r\n\tconstructor(private store: Store, private router: Router, private i18n: I18N) {\r\n\r\n\t}\r\n\r\n\tbind(bindingContext: any, overrideContext: any) {\r\n\t\tthis.zone = overrideContext.parentOverrideContext.bindingContext.zone;\r\n\t\tthis.subscription = this.store.state.subscribe((state) => this.applicationState = state);\r\n\t\tthis.structure = bindingContext.structure;\r\n\t\tthis.structureDoesNotHaveDevices = this.structure && this.structure.devices.length === 0;\r\n\t\tthis.structureHasDevices = !this.structureDoesNotHaveDevices;\r\n\t}\r\n\r\n\t@computedFrom('structure.notificationStatus')\r\n\tget notificationIcon(): string {\r\n\r\n\t\tif (!this.structure){\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\t\r\n\t\tswitch(this.structure.notificationStatus) {\r\n\t\tcase 0:\r\n\t\t\treturn \"mdi-bell-off\";\r\n\t\tcase 1:\r\n\t\t\treturn \"mdi-bell-ring\";\r\n\t\tcase 2:\r\n\t\t\treturn \"mdi-bell-sleep\";\r\n\t\tdefault:\r\n\t\t\treturn \"mdi-bell-off\";\r\n\t\t}\r\n\t}\r\n\r\n\t@computedFrom('structure.notificationStatus')\r\n\tget notificationTest(): string {\r\n\r\n\t\tif (!this.structure) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tswitch (this.structure.notificationStatus) {\r\n\t\tcase 0:\r\n\t\t\treturn this.i18n.tr(\"disabled\");\r\n\t\tcase 1:\r\n\t\t\treturn this.i18n.tr(\"enabled\");\r\n\t\tcase 2:\r\n\t\t\treturn this.i18n.tr(\"paused\");\r\n\t\tdefault:\r\n\t\t\treturn this.i18n.tr(\"disabled\");\r\n\t\t}\r\n\t}\r\n\t\r\n\tunbind() {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n\r\n\t@computedFrom('zone')\r\n\tget columnCss(): string {\r\n\t\tif (this.zone !== undefined && this.zone.isWeatherZone) {\r\n\t\t\treturn \"s12\";\r\n\t\t}\r\n\t\treturn \"l3 m4 s12\";\r\n\t}\r\n\t\r\n\t// NB: need to set the 'statusColor' get method and 'structure.statusColor' in order to \r\n\t// toggle the indicator visibility and support the quick-indicators\r\n\t@computedFrom('applicationState.locationState')\r\n\tget statusColor() : string {\r\n\t\tif (this.structure === undefined || this.structure.devices === undefined) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tconst devices = AsEnumerable(this.structure.devices);\r\n\r\n\t\tif (devices.Any(device => device.deviceStyle === StatusColors.red)) {\r\n\t\t\tthis.structure.statusColor = StatusColors.red;\r\n\t\t\treturn StatusColors.red;\r\n\t\t}\r\n\r\n\t\tif (devices.Any(device => device.deviceStyle === StatusColors.yellow)) {\r\n\t\t\tthis.structure.statusColor = StatusColors.yellow;\r\n\t\t\treturn StatusColors.yellow;\r\n\t\t}\r\n\r\n\t\tif (devices.Any(device => device.deviceStyle === StatusColors.green)) {\r\n\t\t\tthis.structure.statusColor = StatusColors.green;\r\n\t\t\treturn StatusColors.green;\r\n\t\t}\r\n\t\tthis.structure.statusColor = null;\r\n\t\treturn null;\r\n\t}\r\n\r\n\t@computedFrom('statusColor')\r\n\tget indicatorVisibility(): boolean {\r\n\t\treturn (this.statusColor !== StatusColors.green && this.statusColor !== null);\r\n\t}\r\n\r\n\tnavigateToDetails(event) {\r\n\t\tconst tags = [\"BUTTON\", \"MD-SWITCH\", \"GREENHOUSE\", \"greenhouse\"];\r\n\r\n\t\t// Hack around browsers which do not support event.path\r\n\t\tconst path = event.path || (event.composedPath && event.composedPath());\r\n\t\tconst node = path.find(p => tags.indexOf(p.tagName) > -1);\r\n\r\n\t\tif (node) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\t\t\t\r\n\t\tif (this.structure.devices.length) {\r\n\t\t\tconst metadata = this.structure.devices[0].metadata;\r\n\t\t\t\tthis.router.navigateToRoute(\"structure-detail\",\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlocationId: metadata.locationId,\r\n\t\t\t\t\t\tzoneId: metadata.zoneId,\r\n\t\t\t\t\t\tstructureId: metadata.structureId,\r\n\t\t\t\t\t});\r\n\t\t}\r\n\t}\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"structure-card .collection{margin:.5rem 0 1rem;border:1px solid #e0e0e0;border-radius:2px;overflow:hidden;position:relative}\", \"\"]);\n\n","import { computedFrom, bindable } from 'aurelia-framework';\r\nimport { Device } from \"../../../models/device\";\r\nimport { StatusColors } from \"../../common/status-colors\";\r\nimport { applicationLogger } from \"../../../logging/logger\";\r\nimport { SignalCssClasses } from \"../../common/signal-css-classes\";\r\nimport { createDarkText, createLightText } from \"../../common/common-functions\";\r\nimport { BatteryCssClasses } from \"../../common/battery-css-classes\";\r\nimport { Store } from \"aurelia-store\";\r\nimport * as State from \"../../../store/state\";\r\nimport IState = State.IState;\r\nimport { Subscription } from \"rxjs\";\r\n\r\nimport { AsEnumerable } from \"linq-es2015/lib/linq\";\r\nimport { Api } from \"../../../services/api\";\r\n\r\n\r\nexport class BaseDevice {\r\n\r\n\tpublic device: Device;\r\n\r\n\tprotected store: Store;\r\n\tprotected api: Api;\r\n\tprotected applicationState: IState;\r\n\tprotected subscription: Subscription;\r\n\tprotected deviceSubscription: Subscription;\r\n\r\n\t@bindable showWarnings: boolean = false;\r\n\r\n\tconstructor(store: Store, api: Api) {\r\n\r\n\t\tthis.store = store;\r\n\t\tthis.api = api;\r\n\r\n\t}\r\n\r\n\t//protected bindDevice(device: Device) {\r\n\t//\tthis.device = device;\r\n\t//}\r\n\r\n\t@computedFrom('device.properties')\r\n\tget signalIcon(): string {\r\n\r\n\t\tif (!this.device ||\r\n\t\t\t!this.device.data ||\r\n\t\t\t!this.device.data.rssi ||\r\n\t\t\t!this.device.properties ||\r\n\t\t\t!this.device.properties.rssi) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tconst rssi = +this.device.data.rssi;\r\n\t\tconst levels = this.device.properties.rssi.value.split(\",\");\r\n\t\tconst level0 = +levels[0];\r\n\t\tconst level1 = +levels[1];\r\n\t\tconst level2 = +levels[2];\r\n\t\tconst level3 = +levels[3];\r\n\r\n\t\tswitch (true) {\r\n\t\t\tcase (rssi > level3):\r\n\t\t\t\treturn SignalCssClasses.mdiWifiStrength4;\r\n\t\t\tcase (rssi > level2):\r\n\t\t\t\treturn SignalCssClasses.mdiWifiStrength3;\r\n\t\t\tcase (rssi > level1):\r\n\t\t\t\treturn SignalCssClasses.mdiWifiStrength2;\r\n\t\t\tcase (rssi > level0):\r\n\t\t\t\treturn SignalCssClasses.mdiWifiStrength1;\r\n\t\t\tdefault:\r\n\t\t\t\treturn SignalCssClasses.mdiWifiStrengthAlertOutline;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@computedFrom('device.styles')\r\n\tget signalColor(): string {\r\n\t\tif (!this.device || this.device.styles === undefined || this.device.styles.rssi === undefined) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tif (this.device.styles.rssi === StatusColors.yellow) {\r\n\t\t\treturn createDarkText(this.device.styles.rssi);\r\n\t\t}\r\n\t\treturn createLightText(this.device.styles.rssi);\r\n\t}\r\n\r\n\t@computedFrom('device.data')\r\n\tget signal(): string {\r\n\t\tif (!this.device ||\r\n\t\t\tthis.device.data === undefined\r\n\t\t\t|| this.device.data.battery === undefined\r\n\t\t\t|| this.device.properties.length === 0) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn `${this.device.data.rssi} dBm`;\r\n\t}\r\n\r\n\t@computedFrom('device.styles')\r\n\tget batteryIcon(): string {\r\n\t\tif (!this.device ||\r\n\t\t\tthis.device.styles === undefined ||\r\n\t\t\tthis.device.styles.battery === undefined) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tif (this.device.data.battery > 0) {\r\n\t\t\tconst batteryLevel = this.calculateBatteryLevel();\r\n\t\t\tconst nearestLevel = Math.ceil(+batteryLevel / 10) * 10;\r\n\t\t\treturn nearestLevel === 100\r\n\t\t\t\t? BatteryCssClasses.mdiBattery\r\n\t\t\t\t: nearestLevel === 0\r\n\t\t\t\t? BatteryCssClasses.mdiBatteryAlert\r\n\t\t\t\t: `${BatteryCssClasses.mdiBatteryPrefix}${nearestLevel}`;\r\n\t\t} else {\r\n\t\t\treturn BatteryCssClasses.mdiPluggedIn;\r\n\t\t}\r\n\t}\r\n\r\n\t@computedFrom('device.styles')\r\n\tget batteryColor(): string {\r\n\t\tif (!this.device ||\r\n\t\t\tthis.device.styles === undefined\r\n\t\t\t|| this.device.styles.battery === undefined) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tif (this.device.styles.battery === StatusColors.yellow) {\r\n\t\t\treturn createDarkText(this.device.styles.battery);\r\n\t\t}\r\n\t\treturn createLightText(this.device.styles.battery);\r\n\t}\r\n\r\n\t@computedFrom('device.data')\r\n\tget batteryLevel(): string {\r\n\t\t//var hasData = this.device.hasData;\r\n\t\tif (!this.device ||\r\n\t\t\tthis.device.data === undefined\r\n\t\t\t|| this.device.data.battery === undefined\r\n\t\t\t|| this.device.properties.length === 0) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tif (this.device.data.battery > 0) {\r\n\t\t\treturn `${this.calculateBatteryLevel()}%`;\r\n\t\t}\r\n\t\treturn \"\";\r\n\t}\r\n\r\n\tcalculateBatteryLevel(): string {\r\n\t\tconst level = (this.device.data.battery / +this.device.properties.nominalVoltage.value) * 100;\r\n\t\treturn (level >= 100 ? 100 : level).toFixed(0);\r\n\t}\r\n\r\n\t@computedFrom('device.data')\r\n\tget deviceHasData() {\r\n\t\treturn (!this.device || this.device.data === undefined);\r\n\t}\r\n\r\n\t@computedFrom('device.properties')\r\n\tget deviceHasProperties() {\r\n\t\treturn (!this.device || this.device.properties === undefined);\r\n\t}\r\n\r\n\tunsubscribe() {\r\n\t\tif (this.subscription) {\r\n\t\t\tthis.subscription.unsubscribe();\r\n\t\t}\r\n\t\tif (this.deviceSubscription) {\r\n\t\t\tthis.deviceSubscription.unsubscribe();\r\n\t\t}\r\n\t}\r\n\r\n\tgetDevice(): Device {\r\n\r\n\t\tconst deviceMetadata = this.device.metadata;\r\n\t\tif (deviceMetadata) {\r\n\t\t\tconst location = AsEnumerable(this.applicationState.locationState.selectedLocations)\r\n\t\t\t\t.FirstOrDefault(location => location.id === deviceMetadata.locationId);\r\n\r\n\t\t\tif (location == null) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\r\n\t\t\tconst zone = AsEnumerable(location.zones).FirstOrDefault(zone => zone.id === deviceMetadata.zoneId);\r\n\t\t\tif (zone == null) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\r\n\t\t\tconst structure = AsEnumerable(zone.structures)\r\n\t\t\t\t.FirstOrDefault(structure => structure.id === deviceMetadata.structureId);\r\n\t\t\tif (structure == null) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t\tconst devices = AsEnumerable(structure.devices);\r\n\t\t\treturn devices.FirstOrDefault((device: Device) => device.deviceId === deviceMetadata.deviceId);\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n}\r\n\r\n","import { autoinject } from 'aurelia-framework';\r\n\r\n@autoinject\r\nexport class CardHeader {\r\n \r\n constructor() {\r\n \r\n }\r\n\r\n bind(bindingContext: any, overrideContext: any) {\r\n \r\n }\r\n\r\n attached() {\r\n \r\n }\r\n\r\n detached() {\r\n \r\n }\r\n\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject, bindable, computedFrom } from 'aurelia-framework';\r\nimport { BaseDevice } from \"./base-device\";\r\nimport { Store } from \"aurelia-store\";\r\nimport * as State from \"../../../store/state\";\r\nimport { applicationLogger } from \"../../../logging/logger\";\r\nimport IState = State.IState;\r\nimport { AsEnumerable } from \"linq-es2015/lib/linq\";\r\nimport { Api } from \"../../../services/api\";\r\nimport { Device } from \"../../../models/device\";\r\nimport { DigitalOutputToggleRequestViewModel } from \"../../../models/digital-output-toggle-request-view-model\";\r\nimport { Curtain } from \"./curtain-enum\";\r\nimport { I18N } from \"aurelia-i18n\";\r\n\r\n@autoinject\r\nexport class CurtainController extends BaseDevice {\r\n\ti18n: I18N;\r\n\tdisabled: boolean = false;\r\n\r\n\tprivate leftCurtainCss_: string;// = \"left-curtain-middle\";\r\n\tprivate rightCurtainCss_: string;// = \"right-curtain-middle\";\r\n\r\n\tdelay: number = 35;\r\n\tconstructor(store: Store, api: Api, i18n: I18N) {\r\n\t\tsuper(store, api);\r\n\t\tthis.i18n = i18n;\r\n\t}\r\n\r\n\tpublic leftController: Device;\r\n\tpublic rightController: Device;\r\n\r\n\tactivate(device: Device) {\r\n\t\tthis.device = device;\r\n\r\n\t\tif (this.device.children.length > 0) {\r\n\t\t\tthis.leftController = this.getController(\"left\");\r\n\t\t\tthis.rightController = this.getController(\"right\");\r\n\t\t}\r\n\t}\r\n\r\n\tgetController(position: string): Device {\r\n\t\treturn this.device.children.find(\r\n\t\t\tchild => child.deviceProperties.find(\r\n\t\t\t\tproperty => property.name === \"position\" && property.value === position));\r\n\t\t//const controller = AsEnumerable(this.device.children).FirstOrDefault(device => device.properties.position === position);\r\n\t\t//return controller as Device;\r\n\t}\r\n\r\n\tunbind() {\r\n\t\tthis.unsubscribe();\r\n\t}\r\n\r\n\ttoggleCss(direction: string, mode: Curtain) {\r\n\r\n\t\tswitch (mode) {\r\n\t\t\tcase Curtain.Left:\r\n\t\t\t\tswitch (direction) {\r\n\t\t\t\t\tcase \"up\":\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tthis.leftCurtainCss = \"left-curtain-top\";\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\tcase \"down\":\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tthis.leftCurtainCss = \"left-curtain-bottom\";\r\n\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase Curtain.Right:\r\n\t\t\t\tswitch (direction) {\r\n\t\t\t\t\tcase \"up\":\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tthis.rightCurtainCss = \"right-curtain-top\";\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\tcase \"down\":\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tthis.rightCurtainCss = \"right-curtain-bottom\";\r\n\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase Curtain.Both:\r\n\t\t\t\tswitch (direction) {\r\n\t\t\t\t\tcase \"up\":\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tif (this.leftController.data.digitalInput2 === 0) {\r\n\t\t\t\t\t\t\t\tthis.leftCurtainCss = \"left-curtain-top\";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (this.rightController.data.digitalInput2 === 0) {\r\n\t\t\t\t\t\t\t\tthis.rightCurtainCss = \"right-curtain-top\";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\tcase \"down\":\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tif (this.leftController.data.digitalInput1 === 0) {\r\n\t\t\t\t\t\t\t\tthis.leftCurtainCss = \"left-curtain-bottom\";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (this.rightController.data.digitalInput1 === 0) {\r\n\t\t\t\t\t\t\t\tthis.rightCurtainCss = \"right-curtain-bottom\";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tasync toggleCurtains(viewModel: DigitalOutputToggleRequestViewModel, direction: string, mode: Curtain) {\r\n\r\n\t\tthis.toggleCss(direction, mode);\r\n\r\n\t\tviewModel.message = direction === \"up\" ? \"CurtainUp\" : \"CurtainDown\";\r\n\t\tconst response = await this.api.toggleCurtain(viewModel);\r\n\t\tif (response.success) {\r\n\t\t\tthis.disabled = true;\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis.disabled = false;\r\n\t\t\t},\r\n\t\t\t\tthis.delay * 1000);\r\n\t\t}\r\n\t}\r\n\r\n\tasync toggleBoth(direction: string) {\r\n\r\n\t\tconst viewModel = new DigitalOutputToggleRequestViewModel();\r\n\t\tswitch (direction) {\r\n\t\t\tcase \"up\":\r\n\t\t\t\t{\r\n\t\t\t\t\tif (this.leftController.data.digitalInput1 === 0) {\r\n\t\t\t\t\t\tviewModel.deviceIds.push(this.leftController.deviceId);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (this.rightController.data.digitalInput1 === 0) {\r\n\t\t\t\t\t\tviewModel.deviceIds.push(this.rightController.deviceId);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\tcase \"down\":\r\n\t\t\t\t{\r\n\t\t\t\t\tif (this.leftController.data.digitalInput2 === 0) {\r\n\t\t\t\t\t\tviewModel.deviceIds.push(this.leftController.deviceId);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (this.rightController.data.digitalInput2 === 0) {\r\n\t\t\t\t\t\tviewModel.deviceIds.push(this.rightController.deviceId);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t}\r\n\t\tawait this.toggleCurtains(viewModel, direction, Curtain.Both);\r\n\t}\r\n\r\n\r\n\tasync toggleLeft(direction: string) {\r\n\t\tconst viewModel = new DigitalOutputToggleRequestViewModel();\r\n\t\tviewModel.deviceIds.push(this.leftController.deviceId);\r\n\t\tawait this.toggleCurtains(viewModel, direction, Curtain.Left);\r\n\t}\r\n\r\n\tasync toggleRight(direction: string) {\r\n\t\tconst viewModel = new DigitalOutputToggleRequestViewModel();\r\n\t\tviewModel.deviceIds.push(this.rightController.deviceId);\r\n\t\tawait this.toggleCurtains(viewModel, direction, Curtain.Right);\r\n\t}\r\n\r\n\t//@computedFrom('leftController.data')\r\n\t//get leftPositionCss(): string {\r\n\t//\tif (this.leftController.data === undefined) {\r\n\t//\t\treturn null;\r\n\t//\t}\r\n\r\n\t//\tif (this.leftController.data.digitalInput1 === 1) {\r\n\t//\t\treturn \"blue\";\r\n\t//\t}\r\n\r\n\t//\tif (this.leftController.data.digitalOutput1 === 1) {\r\n\t//\t\treturn \"red\";\r\n\t//\t}\r\n\r\n\t//\tif (this.leftController.data.digitalInput2 === 1) {\r\n\t//\t\treturn \"green\";\r\n\t//\t}\r\n\r\n\t//\tif (this.leftController.data.digitalOutput2 === 1) {\r\n\t//\t\treturn \"yellow\";\r\n\t//\t}\r\n\r\n\t//\treturn \"\";\r\n\t//}\r\n\r\n\t@computedFrom('leftController.data', 'rightController.data')\r\n\tget curtainMessage(): string {\r\n\r\n\t\tif (this.leftController === undefined || this.leftController.data === undefined || this.rightController === undefined || this.rightController.data === undefined) {\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\r\n\t\tapplicationLogger.debug(`Left controller data: ${JSON.stringify(this.leftController.data)}`);\r\n\t\tapplicationLogger.debug(`Right controller data: ${JSON.stringify(this.rightController.data)}`);\r\n\r\n\t\tif (this.leftController.data.digitalOutput2 === 0 && this.rightController.data.digitalOutput2 === 0) {\r\n\t\t\tif (this.leftController.data.digitalInput1 === 1 && this.rightController.data.digitalInput1 === 1) {\r\n\t\t\t\treturn this.i18n.tr(\"opened\");\r\n\t\t\t}\r\n\r\n\t\t\tif (this.leftController.data.digitalInput2 === 1 && this.rightController.data.digitalInput2 === 1) {\r\n\t\t\t\treturn this.i18n.tr(\"closed\");\r\n\t\t\t}\r\n\r\n\t\t\tif (this.leftController.data.digitalInput2 === 0 || this.rightController.data.digitalInput2 === 0) {\r\n\t\t\t\treturn this.i18n.tr(\"partially-opened\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.leftController.data.digitalOutput1 === 1 || this.rightController.data.digitalOutput1 === 1) {\r\n\t\t\treturn this.i18n.tr(\"opening\");\r\n\t\t}\r\n\r\n\t\tif (this.leftController.data.digitalOutput2 === 1 || this.rightController.data.digitalOutput2 === 1) {\r\n\t\t\treturn this.i18n.tr(\"closing\");\r\n\t\t}\r\n\r\n\t\r\n\r\n\t\t//if (this.leftController.data.digitalInputput1 === 0 ||\r\n\t\t//\tthis.leftController.data.digitalOutput2 === 0 ||\r\n\t\t//\tthis.rightController.data.digitalInputput1 === 0 ||\r\n\t\t//\tthis.rightController.data.digitalOutput2 === 0) {\r\n\t\t//\treturn this.i18n.tr(\"partially-opened\");\r\n\t\t//}\r\n\r\n\t\treturn \"\";\r\n\t}\r\n\r\n\t@computedFrom('leftController.data')\r\n\tget leftCurtainCss() {\r\n\t\tif (this.leftController && this.leftController.data && this.leftController.data.digitalInput1 && this.leftController.data.digitalInput2) {\r\n\t\t\tif (this.leftController.data.digitalInput1 === 0 && this.leftController.data.digitalInput2 === 0) {\r\n\t\t\t\tthis.leftCurtainCss = \"left-curtain-middle\";\r\n\t\t\t}\r\n\r\n\t\t\tif (this.leftController.data.digitalInput1 === 1 && this.leftController.data.digitalInput2 === 0) {\r\n\t\t\t\tthis.leftCurtainCss = \"left-curtain-top\";\r\n\t\t\t}\r\n\r\n\t\t\tif (this.leftController.data.digitalInput1 === 0 && this.leftController.data.digitalInput2 === 1) {\r\n\t\t\t\tthis.leftCurtainCss = \"left-curtain-bottom\";\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.leftCurtainCss_;\r\n\t}\r\n\r\n\tset leftCurtainCss(value: string) {\r\n\t\tthis.leftCurtainCss_ = value;\r\n\t}\r\n\r\n\t@computedFrom('rightController.data')\r\n\tget rightCurtainCss() {\r\n\t\tif (this.rightController && this.rightController.data && this.rightController.data.digitalInput1 && this.rightController.data.digitalInput2) {\r\n\t\t\tif (1 && this.rightController.data.digitalInput1 === 0 && this.rightController.data.digitalInput2 === 0) {\r\n\t\t\t\tthis.rightCurtainCss = \"right-curtain-middle\";\r\n\t\t\t}\r\n\r\n\t\t\tif (this.rightController.data.digitalInput1 === 1 && this.rightController.data.digitalInput2 === 0) {\r\n\t\t\t\tthis.rightCurtainCss = \"right-curtain-top\";\r\n\t\t\t}\r\n\r\n\t\t\tif (this.rightController.data.digitalInput1 === 0 && this.rightController.data.digitalInput2 === 1) {\r\n\t\t\t\tthis.rightCurtainCss = \"right-curtain-bottom\";\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn this.rightCurtainCss_;\r\n\t}\r\n\r\n\tset rightCurtainCss(value: string) {\r\n\t\tthis.rightCurtainCss_ = value;\r\n\t}\r\n\r\n\r\n\t//@computedFrom('rightController.data')\r\n\t//get rightPositionCss(): string {\r\n\t//\tif (this.rightController.data === undefined) {\r\n\t//\t\treturn null;\r\n\t//\t}\r\n\r\n\t//\tif (this.rightController.data.digitalInput1 === 1) {\r\n\t//\t\treturn \"blue\";\r\n\t//\t}\r\n\r\n\t//\tif (this.rightController.data.digitalOutput1 === 1) {\r\n\t//\t\treturn \"red\";\r\n\t//\t}\r\n\r\n\t//\tif (this.rightController.data.digitalInput2 === 1) {\r\n\t//\t\treturn \"green\";\r\n\t//\t}\r\n\r\n\t//\tif (this.rightController.data.digitalOutput2 === 1) {\r\n\t//\t\treturn \"yellow\";\r\n\t//\t}\r\n\r\n\t//\treturn \"\";\r\n\t//}\r\n}\r\n\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"greenhouse .curtainMessage{font-size:.7em}greenhouse .curtain{display:inline-block}greenhouse .curtain:after{content:\\\"\\\";display:block;will-change:transform;width:10px;height:10px;border-radius:10px;background-color:green}greenhouse .left-curtain{transition:transform 35s linear;transform:translate(-52px,42px)}greenhouse .right-curtain{transform:translate(52px,42px);transition:transform 35s linear}greenhouse .left-curtain-bottom{transform:translate(-52px,42px)}greenhouse .right-curtain-bottom{transform:translate(52px,42px)}greenhouse .left-curtain-middle{transform:translate(-49px,33px)}greenhouse .right-curtain-middle{transform:translate(49px,33px)}greenhouse .right-curtain-top{transform:translate(46px,24px)}greenhouse .left-curtain-top{transform:translate(-46px,24px)}greenhouse .blue{background-color:#00f}greenhouse .green{background-color:green}greenhouse .red{background-color:red}greenhouse .yellow{background-color:#ff0}greenhouse .btn-large:hover,greenhouse .btn-small:hover,greenhouse .btn:hover{background-color:#d3d3d3}greenhouse .half-circle{background:#d3d3d3;border:3px solid #9e978e;display:inline-block;transform:rotate(0deg);transition:transform .7s linear;height:60px;width:120px;border-top-left-radius:120px;border-top-right-radius:120px;margin:8px 3px 3px}\", \"\"]);\n\n","export enum Curtain {\r\n\tLeft,\r\n\tRight,\r\n\tBoth\r\n}","import { autoinject } from 'aurelia-framework';\r\nimport { TemperatureBaseDevice } from \"./temperature-base-device\";\r\nimport { Store } from \"aurelia-store\";\r\nimport { IState } from \"../../../store/state\";\r\nimport { Api } from \"../../../services/api\";\r\nimport { Device } from \"../../../models/device\";\r\n\r\n@autoinject\r\nexport class DecentlabT12SoilMoisture extends TemperatureBaseDevice {\r\n\r\n\tconstructor(store: Store, api: Api) {\r\n\t\tsuper(store, api);\r\n\t}\r\n\r\n\r\n\t// {\"protocolVersion\":2,\"deviceId\":5462,\"dielectricPermittivity\":1.07949710825826,\"volumetricWaterContent\":0.00366732999999997,\"soilTemperature\":20.9,\"electricalConductivity\":1,\"battery\":3.032}\r\n\tactivate(device: Device) {\r\n\t\tthis.device = device;\r\n\t\t//this.device.data = {\r\n\t\t//\t\"protocolVersion\": 2,\r\n\t\t//\t\"deviceId\": 5462,\r\n\t\t//\t\"dielectricPermittivity\": 1.07949710825826,\r\n\t\t//\t\"volumetricWaterContent\": 0.00366732999999997,\r\n\t\t//\t\"soilTemperature\": 20.9,\r\n\t\t//\t\"electricalConductivity\": 1,\r\n\t\t//\t\"battery\": 3032,\r\n\t\t//\t\"rssi\": -77,\r\n\r\n\t\t//};\r\n\t\t//this.device.styles = {\r\n\t\t//\t\"rssi\": \"green\",\r\n\t\t//\t\"battery\": \"green\"\r\n\t\t//};\r\n\t\t//this.device.properties = {\r\n\t\t//\t\"nominalVoltage\": {\r\n\t\t//\t\t\"name\": \"nominalVoltage\",\r\n\t\t//\t\t\"value\": \"3600\",\r\n\t\t//\t\t\"type\": null\r\n\t\t//\t},\r\n\t\t//\t\"battery\": {\r\n\t\t//\t\t\"name\": \"battery\",\r\n\t\t//\t\t\"value\": \"2000,3500\",\r\n\t\t//\t\t\"type\": \"BatteryRule\"\r\n\t\t//\t},\r\n\t\t//\t\"rssi\": {\r\n\t\t//\t\t\"name\": \"rssi\",\r\n\t\t//\t\t\"value\": \"-120,-90,-60,-30\",\r\n\t\t//\t\t\"type\": \"RssiRule\"\r\n\t\t//\t},\r\n\t\t//\t\"temperature\": {\r\n\t\t//\t\t\"name\": \"temperature\",\r\n\t\t//\t\t\"value\": \"1.67,5.56,42.22,50\",\r\n\t\t//\t\t\"type\": \"TemperatureRule\"\r\n\t\t//\t}\r\n\t\t//}\r\n\t}\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"h5 .label{margin:0 0 .5rem}\", \"\"]);\n\n","import { autoinject, computedFrom } from 'aurelia-framework';\r\nimport { Store } from \"aurelia-store\";\r\nimport { IState } from \"../../../store/state\";\r\nimport { Device } from \"../../../models/device\";\r\nimport { applicationLogger } from \"../../../logging/logger\";\r\nimport { TemperatureBaseDevice } from \"./temperature-base-device\";\r\nimport { StatusColors } from \"../../common/status-colors\";\r\nimport { createDarkText, createLightText } from \"../../common/common-functions\";\r\n\r\nimport { Api } from \"../../../services/api\";\r\n\r\n@autoinject\r\nexport class DecentlabWaterLevel extends TemperatureBaseDevice {\r\n\r\n\tconstructor(store: Store, api: Api) {\r\n\t\tsuper(store, api);\r\n\t}\r\n\r\n\tactivate(device: Device) {\r\n\t\tthis.device = device;\r\n\t}\r\n\r\n\t@computedFrom('device.data')\r\n\tget levelStyle(): string {\r\n\t\tif (this.device.data === undefined || this.device.data.pressure === undefined) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tconst level = this.calculateLevel();\r\n\t\tconst nearestLevel = Math.ceil(+level / 10) * 10;\r\n\t\treturn nearestLevel === 100 ? \"tank-100\" : nearestLevel === 0 ? \"tank-0\" : `tank-${nearestLevel}`;\r\n\t}\r\n\r\n\t@computedFrom('device.styles')\r\n\tget levelColor(): string {\r\n\t\tif (this.device.styles === undefined || this.device.styles.pressure === undefined ) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn this.device.styles.pressure;\r\n\t}\r\n\r\n\t@computedFrom('device.data')\r\n\tget level(): string {\r\n\t\tif (this.device.data === undefined || this.device.data.pressure === undefined || this.device.properties.length === 0) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn `${this.calculateLevel()}%`;\r\n\t}\r\n\r\n\tcalculateLevel(): string {\r\n\t\tconst level = (this.device.data.pressure / +this.device.properties.nominalPressure.value) * 100;\r\n\t\tif (isNaN(level) || level < 0) {\r\n\t\t\treturn \"0.0\";\r\n\t\t}\r\n\t\treturn (level >= 100 ? 100 : level).toFixed(1);\r\n\t}\r\n\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject, computedFrom } from 'aurelia-framework';\r\nimport { Store } from \"aurelia-store\";\r\nimport { IState } from \"../../../store/state\";\r\nimport { Device } from \"../../../models/device\";\r\nimport { applicationLogger } from \"../../../logging/logger\";\r\nimport { TemperatureBaseDevice } from \"./temperature-base-device\";\r\nimport { StatusColors } from \"../../common/status-colors\";\r\nimport { createDarkText, createLightText } from \"../../common/common-functions\";\r\n\r\nimport { Api } from \"../../../services/api\";\r\n\r\n@autoinject\r\nexport class DecentlabWeatherStation extends TemperatureBaseDevice {\r\n\r\n\tconstructor(store: Store, api: Api) {\r\n\t\tsuper(store, api);\r\n\t}\r\n\r\n\t//{\r\n\t// \"protocolVersion\": 2,\r\n\t// \"deviceId\": 5275, \r\n\t// \"solarRadiation\": 0, \r\n\t// \"precipitation\": 0, \r\n\t// \"lightningStrikeCount\": 0, \r\n\t// \"lightningAverageDistance\": 0, \r\n\t// \"windSpeed\": 0.08, \"windDirection\": 176.2, \"maximumWindSpeed\": 0.09, \r\n\t// \"airTemperature\": 22.1, \r\n\t// \"vaporPressure\": 0.81, \r\n\t// \"atmosphericPressure\": 90.67, \r\n\t// \"relativeHumidity\": 30.5, \r\n\t// \"sensorTemperatureInternal\": 22, \r\n\t// \"xOrientationAngle\": 1, \"yOrientationAngle\": 2.2, \"compassHeading\": 0, \r\n\t// \"northWindSpeed\": -0.08, \"eastWindSpeed\": 0, \r\n\t// \"batteryVoltage\": 2.905, \r\n\t// \"timestamp\": \"2020-04-24T11:18:21\", \r\n\t// \"rssi\": -28\r\n\t// }\r\n\r\n\tactivate(device: Device) {\r\n\t\tthis.device = device;\r\n\t}\r\n\r\n\r\n\t//@computedFrom('device.data')\r\n\t//get solarRadiation(): string {\r\n\t//\tif (this.device.data === undefined || this.device.data.solarRadiation === undefined) {\r\n\t//\t\treturn null;\r\n\t//\t}\r\n\t//\treturn `${this.device.data.solarRadiation} W/m² `;\r\n\t//}\r\n\r\n\t//@computedFrom('device.data')\r\n\t//get precipitation(): string {\r\n\t//\tif (this.device.data === undefined || this.device.data.precipitation === undefined) {\r\n\t//\t\treturn null;\r\n\t//\t}\r\n\t//\treturn `${this.device.data.precipitation} mm/h `;\r\n\t//}\r\n\r\n\t/*\r\n\t\t\r\n\t\tprecipitation\r\n\t\tairTemperature\r\n\t\tvaporPressure\r\n\t\tatmosphericPressure\r\n\t\trelativeHumidity\r\n\r\n\t\twindSpeed\r\n\t\twindDirection\r\n\t\tmaximumWindSpeed\r\n\t\tnorthWindSpeed\r\n\t\teastWindSpeed\r\n\r\n\t\tlightningStrikeCount\r\n\t\tlightningAverageDistance\r\n\r\n\t\tcompassHeading\r\n\t\txOrientationAngle\r\n\t\tyOrientationAngle\r\n\t*/\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject, bindable } from 'aurelia-framework';\r\nimport { Device } from \"../../../models/device\";\r\nimport { applicationLogger } from \"../../../logging/logger\";\r\nimport { TemperatureBaseDevice } from \"./temperature-base-device\";\r\nimport { Store } from \"aurelia-store\";\r\nimport * as State from \"../../../store/state\";\r\nimport IState = State.IState;\r\nimport { Api } from \"../../../services/api\";\r\n\r\n@autoinject\r\nexport class LansitecTemperatureHumidity extends TemperatureBaseDevice {\r\n\t@bindable humidity;\r\n\tconstructor(store: Store, api: Api) {\r\n\t\tsuper(store, api);\r\n\t}\r\n\r\n\tactivate(device: Device) {\r\n\t\tthis.device = device;\r\n\t}\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject, bindable } from 'aurelia-framework';\r\nimport { Device } from \"../../../models/device\";\r\nimport { applicationLogger } from \"../../../logging/logger\";\r\nimport { TemperatureBaseDevice } from \"./temperature-base-device\";\r\nimport { Store } from \"aurelia-store\";\r\nimport * as State from \"../../../store/state\";\r\nimport IState = State.IState;\r\nimport { Api } from \"../../../services/api\";\r\n\r\n@autoinject\r\nexport class NetvoxTemperatureHumidity extends TemperatureBaseDevice {\r\n\t@bindable humidity;\r\n\tconstructor(store: Store, api: Api) {\r\n\t\tsuper(store, api);\r\n\t}\r\n\r\n\tactivate(device: Device) {\r\n\t\t//applicationLogger.debug(`${NetvoxTemperatureHumidity.name}.activate() called.`);\r\n\t\tthis.device = device;\r\n\t}\r\n\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from 'aurelia-framework';\r\n\r\n@autoinject\r\nexport class NullDevice {\r\n \r\n constructor() {\r\n \r\n }\r\n\r\n bind(bindingContext: any, overrideContext: any) {\r\n \r\n }\r\n\r\n attached() {\r\n \r\n }\r\n\r\n detached() {\r\n \r\n }\r\n\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".inner-card{min-height:120.6px}\", \"\"]);\n\n","import { autoinject } from 'aurelia-framework';\r\nimport { BaseDevice } from \"./base-device\";\r\nimport { Device } from \"../../../models/device\";\r\nimport { Store } from \"aurelia-store\";\r\nimport * as State from \"../../../store/state\";\r\nimport IState = State.IState;\r\nimport { Api } from \"../../../services/api\";\r\n\r\n@autoinject\r\nexport class SensumSoilMoisture extends BaseDevice {\r\n \r\n\tconstructor(store: Store, api: Api) {\r\n\t\tsuper(store, api);\r\n\t}\r\n\r\n activate(device: Device) {\r\n\t this.device = device;\r\n }\r\n\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"soil-moisture #g1oHggWs95{fill:green}soil-moisture .inner-card,soil-moisture .section{min-height:200px}soil-moisture .red-text{color:red}soil-moisture .green-text{color:green}soil-moisture .yellow-text{color:orange}soil-moisture .probe-label{font-size:1.25em}soil-moisture .ground{height:90%x;width:90%;background-color:#fff;border-top:1px solid #000;top:75px;position:absolute}soil-moisture .label10cm{display:block}soil-moisture .p10cm{position:absolute;top:140px}soil-moisture .p20cm{position:absolute;top:200px}soil-moisture .center{left:35%;right:35%}soil-moisture .ambient{position:relative;width:75px}soil-moisture .timestamp{position:absolute;bottom:0;left:25%;right:25%}soil-moisture .left{position:absolute;left:20%}soil-moisture .right{position:absolute;right:20%}soil-moisture .red{background-color:red}soil-moisture .green{background-color:green}soil-moisture .yellow{background-color:#ff0}soil-moisture .probe{margin:40% 50% 0;left:-5px;top:-115%;width:14px;height:110%;display:block;font:700 14px/152px helvetica,arial,sans-serif;text-indent:36px;border-radius:22px 22px 22px 22px;border:3px solid #4a1c03;position:relative;box-shadow:inset 0 0 0 0 #fff}\", \"\"]);\n\n","import { autoinject, observable, BindingEngine } from 'aurelia-framework';\r\nimport { BaseDevice } from \"./base-device\";\r\nimport { Device } from \"../../../models/device\";\r\nimport { Api } from \"../../../services/api\";\r\nimport { I18N } from \"aurelia-i18n\";\r\nimport { DigitalOutputToggleRequestViewModel } from \"../../../models/digital-output-toggle-request-view-model\";\r\nimport { Store } from \"aurelia-store\";\r\nimport { IState } from \"../../../store/state\";\r\nimport { Subscription, Observable } from 'rxjs';\r\nimport { MeasurementViewModel } from \"../../../models/measurement-view-model\";\r\nimport { AsEnumerable } from \"linq-es2015/lib/linq\";\r\nimport { ValveState } from \"./valve-state-enum\";\r\n@autoinject\r\nexport class StregaSmartValve extends BaseDevice {\r\n\r\n\tapi: Api;\r\n\t@observable checked: boolean;\r\n\t@observable valveState: ValveState;\r\n\tdisabled: boolean = false;\r\n\tpending: boolean = false;\r\n\tsuppressApiCall: boolean = false;\r\n\tmessage: string;\r\n\tbuttonText: string;\r\n\tcss: string;\r\n\tpendingCss: string;\r\n\r\n\r\n\tconstructor(store: Store, api: Api, private i18n: I18N) {\r\n\t\tsuper(store, api);\r\n\t\t\r\n\t\tthis.disabled = true;\r\n\t\tthis.checked = false;\r\n\t\tthis.valveState = ValveState.Pending;\r\n\t\tthis.buttonText = this.i18n.tr(\"offline\");\r\n\t}\r\n\r\n\tbind(bindingContext: any, overrideContext: any) {\r\n\t\tthis.subscription = this.store.state.subscribe((state) => {\r\n\t\t\tthis.applicationState = state;\r\n\t\t\tif (this.device) {\r\n\t\t\t\tthis.device = this.getDevice();\r\n\t\t\t\tif (this.device) {\r\n\t\t\t\t\tthis.setChecked((this.device.data.valveIsOpen));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis.device = bindingContext.device;\r\n\t}\r\n\r\n\tunbind() {\r\n\t\tif (this.subscription) {\r\n\t\t\tthis.subscription.unsubscribe();\r\n\t\t}\r\n\t\tif (this.deviceSubscription) {\r\n\t\t\tthis.deviceSubscription.unsubscribe();\r\n\t\t}\r\n\t}\r\n\r\n\tsetChecked(valveState: ValveState) {\r\n\t\tif (this.valveState !== valveState) {\r\n\t\t\tthis.suppressApiCall = true;\r\n\t\t\tthis.pending = false;\r\n\t\t\tthis.message = \"\";\r\n\t\t\tthis.css = \"\";\r\n\t\t\tthis.pendingCss = \"\";\r\n\t\t\tthis.checked = valveState == ValveState.Open;\r\n\t\t\tsetTimeout(() => { this.disabled = false; }, (15 * 1000));\r\n\r\n\t\t\tswitch (valveState) {\r\n\t\t\tcase ValveState.Closed:\r\n\t\t\t\tthis.buttonText = \"Open\";\r\n\t\t\t\tbreak;\r\n\t\t\tcase ValveState.Open:\r\n\t\t\t\tthis.buttonText = \"Close\";\r\n\t\t\t\tbreak;\r\n\t\t\tcase ValveState.Pending:\r\n\t\t\t\tthis.buttonText = \"Pending...\";\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t}\r\n\r\n\tactivate(device: Device) {\r\n\t\tthis.device = device;\r\n\r\n\t\tthis.setChecked( this.device.data ? (this.device.data.valveIsOpen ? ValveState.Open: ValveState.Closed) : ValveState.Pending);\r\n\t\t \r\n\t\tthis.subscription = this.store.state.subscribe((state) => {\r\n\t\t\tthis.applicationState = state;\r\n\t\t\tif (this.device) {\r\n\t\t\t\tconst newDevice = this.getDevice();\r\n\t\t\t\tif (newDevice) {\r\n\t\t\t\t\tthis.device = newDevice;\r\n\t\t\t\t\tthis.setChecked(this.device.data ? (this.device.data.valveIsOpen ? ValveState.Open : ValveState.Closed) : ValveState.Pending);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t}\r\n\r\n\tasync toggleChecked() {\r\n\t\tconst viewModel = new DigitalOutputToggleRequestViewModel();\r\n\t\tviewModel.deviceIds.push(this.device.deviceId);\r\n\t\tviewModel.state = !this.checked;\r\n\t\tthis.pending = true;\r\n\t\tthis.message = \"pending\";\r\n\t\tthis.buttonText = \"Pending...\";\r\n\t\t//this.css = \"pulse\";\r\n\t\tthis.pendingCss = \"mdi mdi-24px mdi-spin mdi-refresh\";\r\n\t\tthis.disabled = true;\r\n\t\tconst response = await this.api.toggleValve(viewModel);\r\n\t\tif (response.success === false) {\r\n\t\t\tthis.pending = false;\r\n\t\t\tthis.message = response.message;\r\n\t\t\tthis.disabled = false;\r\n\t\t} \r\n\t}\r\n\r\n\r\n\tasync checkedChanged(newValue, oldValue) {\r\n\r\n\t\t//// don't call to the API to change state if 'checked' was set \r\n\t\t//// programmatically\r\n\t\t//if (this.suppressApiCall) {\r\n\t\t//\tthis.suppressApiCall = false;\r\n\t\t//\treturn;\r\n\t\t//}\r\n\r\n\t\t////this.disabled = true;\r\n\t\t//const viewModel = new DigitalOutputToggleRequestViewModel();\r\n\t\t//viewModel.deviceId = this.device.deviceId;\r\n\t\t//viewModel.state = newValue;\r\n\r\n\t\t//const response = await this.api.toggleValve(viewModel);\r\n\t\t//if (response.success === false) {\r\n\t\t//\tthis.setChecked(oldValue);\r\n\t\t//\t//this.checked = oldValue;\r\n\t\t//}\r\n\r\n\t\t//// The UC1152 units need about 10 seconds in between direct commands to change state correctly, \r\n\t\t//// so disable the control for 10 seconds to prevent the user from getting the \r\n\t\t//// UI out of sync with the UC1152.\r\n\t\t////setTimeout(() => { this.disabled = false }, 10000);\r\n\t}\r\n\r\n\tgetDevice(): Device {\r\n\r\n\t\tconst deviceMetadata = this.device.metadata;\r\n\t\tif (deviceMetadata) {\r\n\t\t\tconst location = AsEnumerable(this.applicationState.locationState.selectedLocations)\r\n\t\t\t\t.FirstOrDefault(location => location.id === deviceMetadata.locationId);\r\n\r\n\t\t\tif (location == null) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\r\n\t\t\tconst zone = AsEnumerable(location.zones).FirstOrDefault(zone => zone.id === deviceMetadata.zoneId);\r\n\t\t\tif (zone == null) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\r\n\t\t\tconst structure = AsEnumerable(zone.structures)\r\n\t\t\t\t.FirstOrDefault(structure => structure.id === deviceMetadata.structureId);\r\n\t\t\tif (structure == null) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t\tconst devices = AsEnumerable(structure.devices);\r\n\t\t\treturn devices.FirstOrDefault((device: Device) => device.deviceId === deviceMetadata.deviceId);\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"strega-smart-valve .switch label input[type=checkbox]:checked+.lever{background-color:green}strega-smart-valve .btn .in-progress{text-shadow:none;background:-webkit-linear-gradient(-45deg,hsla(0,0%,100%,.6) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.6) 0,hsla(0,0%,100%,.6) 75%,transparent 0,transparent),-webkit-linear-gradient(top,#f6f5f0,#e1e0dc);background:-moz-linear-gradient(-45deg,hsla(0,0%,100%,.6) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.6) 50%,hsla(0,0%,100%,.6) 75%,transparent 75%,transparent),-moz-linear-gradient(top,#f6f5f0,#e1e0dc);background:-ms-linear-gradient(-45deg,hsla(0,0%,100%,.6) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.6) 50%,hsla(0,0%,100%,.6) 75%,transparent 75%,transparent),-ms-linear-gradient(top,#f6f5f0,#e1e0dc);background:-o-linear-gradient(-45deg,hsla(0,0%,100%,.6) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.6) 50%,hsla(0,0%,100%,.6) 75%,transparent 75%,transparent),-o-linear-gradient(top,#f6f5f0,#e1e0dc);background:linear-gradient(-45deg,hsla(0,0%,100%,.6) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.6) 0,hsla(0,0%,100%,.6) 75%,transparent 0,transparent),linear-gradient(top,#f6f5f0,#e1e0dc);-pie-background:linear-gradient(-45deg,hsla(0,0%,100%,.6) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.6) 0,hsla(0,0%,100%,.6) 75%,transparent 0,transparent),linear-gradient(top,#f6f5f0,#e1e0dc);background-repeat:repeat;-webkit-background-size:40px 40px,100% 100%;-moz-background-size:40px 40px,100% 100%;-ms-background-size:40px 40px,100% 100%;-o-background-size:40px 40px,100% 100%;background-size:40px 40px,100% 100%;-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}@-webkit-keyframes progress-bar-stripes{0%{background-position:0 0}to{background-position:40px 0}}@-moz-keyframes progress-bar-stripes{0%{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{0%{background-position:0 0}to{background-position:40px 0}}\", \"\"]);\n\n","import { computedFrom } from 'aurelia-framework';\r\nimport { BaseDevice } from \"./base-device\";\r\nimport { Store } from \"aurelia-store\";\r\nimport * as State from \"../../../store/state\";\r\nimport IState = State.IState;\r\nimport { Api } from \"../../../services/api\";\r\n\r\n\r\nexport class TemperatureBaseDevice extends BaseDevice {\r\n\tconstructor(store: Store, api: Api) {\r\n\t\tsuper(store, api);\r\n\t}\r\n\r\n\t@computedFrom('device.styles')\r\n\tget temperatureStyle(): string {\r\n\t\treturn this.createTemperatureStyle(this.device.styles);\r\n\t}\r\n\r\n\tcreateTemperatureStyle(styles: any): string {\r\n\t\tif (typeof styles !== \"undefined\" && typeof styles.temperature !== \"undefined\") {\r\n\t\t\treturn `${styles.temperature}-text`;\r\n\t\t}\r\n\t\treturn \"grey-text\";\r\n\t}\r\n}","import { autoinject, computedFrom, observable } from 'aurelia-framework';\r\nimport { Device } from \"../../../models/device\";\r\nimport { applicationLogger } from \"../../../logging/logger\";\r\nimport { TemperatureBaseDevice } from \"./temperature-base-device\";\r\nimport { Store } from \"aurelia-store\";\r\nimport * as State from \"../../../store/state\";\r\nimport IState = State.IState;\r\nimport { Api } from \"../../../services/api\";\r\n\r\n@autoinject\r\nexport class ThingsNode extends TemperatureBaseDevice {\r\n\r\n\tconstructor(store: Store, api: Api) {\r\n\t\tsuper(store, api);\r\n\t}\r\n\r\n\tactivate(device: Device) {\r\n\t\tthis.device = device;\r\n\t}\r\n\r\n\t\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from 'aurelia-framework';\r\nimport { TemperatureBaseDevice } from \"./temperature-base-device\";\r\nimport { Store } from \"aurelia-store\";\r\nimport { IState } from \"../../../store/state\";\r\nimport { Api } from \"../../../services/api\";\r\nimport { Device } from \"../../../models/device\";\r\n\r\n@autoinject\r\nexport class UrsalinkSoilMoisture extends TemperatureBaseDevice {\r\n\r\n\tconstructor(store: Store, api: Api) {\r\n\t\tsuper(store, api);\r\n\t}\r\n\r\n\tactivate(device: Device) {\r\n\t\tthis.device = device;\r\n\t\t//this.device.data = {\r\n\t\t//\t\"soilTemperature\": 20.9,\r\n\t\t//\t\"soilMoisture\" : 55,\r\n\t\t//\t\"electricalConductivity\": 1,\r\n\t\t//\t\"battery\": 3600,\r\n\t\t//\t\"rssi\": -62,\r\n\r\n\t\t//};\r\n\t\t//this.device.styles = {\r\n\t\t//\t\"rssi\": \"green\",\r\n\t\t//\t\"battery\": \"green\"\r\n\t\t//};\r\n\t\t//this.device.properties = {\r\n\t\t//\t\"nominalVoltage\": {\r\n\t\t//\t\t\"name\": \"nominalVoltage\",\r\n\t\t//\t\t\"value\": \"3600\",\r\n\t\t//\t\t\"type\": null\r\n\t\t//\t},\r\n\t\t//\t\"battery\": {\r\n\t\t//\t\t\"name\": \"battery\",\r\n\t\t//\t\t\"value\": \"2000,3500\",\r\n\t\t//\t\t\"type\": \"BatteryRule\"\r\n\t\t//\t},\r\n\t\t//\t\"rssi\": {\r\n\t\t//\t\t\"name\": \"rssi\",\r\n\t\t//\t\t\"value\": \"-120,-90,-60,-30\",\r\n\t\t//\t\t\"type\": \"RssiRule\"\r\n\t\t//\t},\r\n\t\t//\t\"temperature\": {\r\n\t\t//\t\t\"name\": \"temperature\",\r\n\t\t//\t\t\"value\": \"1.67,5.56,42.22,50\",\r\n\t\t//\t\t\"type\": \"TemperatureRule\"\r\n\t\t//\t}\r\n\t\t//}\r\n\t}\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject, observable, BindingEngine } from 'aurelia-framework';\r\nimport { BaseDevice } from \"./base-device\";\r\nimport { Device } from \"../../../models/device\";\r\nimport { Api } from \"../../../services/api\";\r\nimport { DigitalOutputToggleRequestViewModel } from \"../../../models/digital-output-toggle-request-view-model\";\r\nimport { Store } from \"aurelia-store\";\r\nimport { IState } from \"../../../store/state\";\r\nimport { Subscription, Observable } from 'rxjs';\r\nimport { MeasurementViewModel } from \"../../../models/measurement-view-model\";\r\nimport { AsEnumerable } from \"linq-es2015/lib/linq\";\r\n\r\n@autoinject\r\nexport class UrsalinkUc1152 extends BaseDevice {\r\n\r\n\r\n\t@observable checked: boolean;\r\n\tdisabled: boolean = false;\r\n\tsuppressApiCall: boolean = false;\r\n\r\n\tconstructor(store: Store, api: Api) {\r\n\t\tsuper(store, api);\r\n\t}\r\n\r\n\tbind(bindingContext: any, overrideContext: any) {\r\n\t\tthis.subscription = this.store.state.subscribe((state) => {\r\n\t\t\tthis.applicationState = state;\r\n\t\t\tif (this.device) {\r\n\t\t\t\tthis.device = this.getDevice();\r\n\t\t\t\tif (this.device) {\r\n\t\t\t\t\tthis.setChecked((this.device.data.digitalOutput === 1));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis.device = bindingContext.device;\r\n\t}\r\n\r\n\tunbind() {\r\n\t\tthis.unsubscribe();\r\n\t}\r\n\r\n\tsetChecked(value: boolean) {\r\n\t\tif (this.checked !== value) {\r\n\t\t\tthis.suppressApiCall = true;\r\n\t\t\tthis.checked = value;\r\n\t\t}\r\n\t}\r\n\r\n\tactivate(device: Device) {\r\n\t\tthis.device = device;\r\n\t\tthis.setChecked((this.device.data ? this.device.data.digitalOutput === 1 : false));\r\n\r\n\t\tthis.subscription = this.store.state.subscribe((state) => {\r\n\t\t\tthis.applicationState = state;\r\n\t\t\tif (this.device) {\r\n\t\t\t\tconst device = this.getDevice();\r\n\t\t\t\tif (device) {\r\n\t\t\t\t\tthis.device = device;\r\n\t\t\t\t\tif (this.device) {\r\n\t\t\t\t\t\tthis.setChecked((this.device.data.digitalOutput === 1));\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t\tconst metadata = this.device.metadata;\r\n\t\t//this.deviceObservable = this.store.state.pipe(state =>\r\n\t\t//\tstate.selectedLocations.find(l => l.id === metadata.locationId)\r\n\t\t//\t\t.zones.find(z => z.id === metadata.zoneId)\r\n\t\t//\t\t.structures.find(s => s.id === metadata.structureId)\r\n\t\t//\t\t.devices.find(d => d.id === metadata.deviceId)\r\n\t\t// );\r\n\t\t//\tthis.deviceSubscription = this.deviceObservable.subscribe((dev) => {\r\n\t\t//\t\tthis.device = dev;\r\n\t\t//\t});\r\n\r\n\r\n\t}\r\n\r\n\ttoggleChecked() {\r\n\t\tthis.checked = !this.checked;\r\n\t}\r\n\r\n\r\n\tasync checkedChanged(newValue, oldValue) {\r\n\r\n\t\t// don't call to the API to change state if 'checked' was set \r\n\t\t// programmatically\r\n\t\tif (this.suppressApiCall) {\r\n\t\t\tthis.suppressApiCall = false;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.disabled = true;\r\n\t\tconst viewModel = new DigitalOutputToggleRequestViewModel();\r\n\t\tviewModel.deviceIds.push(this.device.deviceId);\r\n\t\tviewModel.state = newValue;\r\n\t\t\r\n\t\tconst response = await this.api.toggleDigitalOutput(viewModel);\r\n\t\tif (response.success === false) {\r\n\t\t\tthis.setChecked(oldValue);\r\n\t\t\t//this.checked = oldValue;\r\n\t\t}\r\n\r\n\t\t// The UC1152 units need about 10 seconds in between direct commands to change state correctly, \r\n\t\t// so disable the control for 10 seconds to prevent the user from getting the \r\n\t\t// UI out of sync with the UC1152.\r\n\t\tsetTimeout(() => { this.disabled = false }, 10000);\r\n\t}\r\n\r\n\r\n\tasync digitalOutputChanged(newValue, oldValue) {\r\n\t\tif (this.checked !== newValue) {\r\n\t\t\tthis.setChecked(newValue);\r\n\t\t}\r\n\t}\r\n\r\n\r\n\t\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".foo-switch{display:block}\", \"\"]);\n\n","export enum ValveState {\r\n\tOpen,\r\n\tPending,\r\n\tClosed\r\n}","import { autoinject } from 'aurelia-framework';\r\nimport { Zone } from \"../../../models/zone\";\r\n\r\n\r\nexport class GpsLocation {\r\n\tlatitude: number;\r\n\tlongitude: number;\r\n}\r\n@autoinject\r\nexport class GoogleMapZone {\r\n\tzone: Zone;\r\n\tmarkers: Array = new Array();\r\n\r\n\tconstructor() {\r\n\r\n\t}\r\n\r\n\tbind(bindingContext: any, overrideContext: any) {\r\n\t\tthis.zone = bindingContext.zone;\r\n\t}\r\n\r\n\tattached() {\r\n\t\tthis.renderDevices();\r\n\t}\r\n\r\n\trenderDevices() {\r\n\t\t// TODO: clear all markers\r\n\t\tfor (let structure of this.zone.structures) {\r\n\t\t\tfor (let device of structure.devices) {\r\n\t\t\t\t//{\"type\":\"position\",\"latitudeDeg\":44.1505959,\"longitudeDeg\":-121.2867375,\"inTrip\":false,\"fixFailed\":false,\"headingDeg\":264.375,\"speedKmph\":1,\"battery\":4800,\"manDown\":false,\"timestamp\":\"2019-07-09T04:02:10\",\"rssi\":-115}\r\n\t\t\t\tconst data = device.data;\r\n\t\t\t\tthis.markers.push({ \"latitude\": data.latitudeDeg, \"longitude\": data.longitudeDeg });\r\n\t\t\t\t//this.map.addMarker({ \"lat\": data.latitudeDeg, \"lng\": data.longitudeDeg },\r\n\t\t\t\t//\tJSON.stringify(device.data),\r\n\t\t\t\t//\t\"Devices\");\r\n\t\t\t\t//this.map.addMarker({ \"lat\": data.latitudeDeg, \"lng\": data.longitudeDeg },\r\n\t\t\t\t//\tJSON.stringify(device.data));\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from 'aurelia-framework';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\nimport { Zone } from \"../../../models/zone\";\r\nimport { LeafletMap } from \"../../../mapping/leaflet-map\"\r\nimport * as L from 'leaflet';\r\n@autoinject\r\nexport class MapZone {\r\n\tzone: Zone;\r\n\tmap: LeafletMap;\r\n\tmapHeight: number = 600;\r\n\tmapId: string = \"device-map\";\r\n\teventAggregator: EventAggregator;\r\n\tsubscription: any;\r\n\tprivate markers: Map = new Map();\r\n\r\n\tconstructor(eventAggregator: EventAggregator) {\r\n\t\tthis.eventAggregator = eventAggregator;\r\n\t}\r\n\r\n\tbind(bindingContext: any, overrideContext: any) {\r\n\t\tthis.zone = bindingContext.zone;\r\n\t}\r\n\r\n\tattached() {\r\n\r\n\t\t// Leaflet will not properly draw it's tiles until the container\r\n\t\t// it's hosted in has it's width set. Since we nest zones\r\n\t\t// in a collapsible we need to have the map redraw itself when \r\n\t\t// the collapsible is opened.\r\n\t\tthis.subscription = this.eventAggregator.subscribe(\"ZoneOpened\",\r\n\t\t\tmessage => {\r\n\t\t\t\tthis.map.invalidateSize();\r\n\t\t\t});\r\n\t\tconst mapConfig = {\r\n\t\t\t//40.340043, -76.732476\r\n\t\t\t//47.198027, -121.006375\r\n\t\t\t//location: { \"lat\": 44.1505846, \"lng\": -121.2868672 }, // bend\r\n\t\t\t//location: { \"lat\": 45.1240334, \"lng\":-123.1336176 }, //farm\r\n\t\t\t//location: { \"lat\": 47.198027, \"lng\": -121.006375 },\r\n\r\n\t\t\t//location: { \"lat\": 40.340043, \"lng\": -76.732476 }, //harrisburg\r\n location: JSON.parse(this.zone.gpsCoordinates),\r\n\t\t\tzoom: 19,\r\n\t\t\tminZoom: 1\r\n\t\t};\r\n\r\n\t\tthis.map = new LeafletMap(this.mapId, mapConfig, \"Satellite\");\r\n\t\tthis.map.showZoomControl();\r\n\t\tthis.map.addLayerGroup(\"Devices\");\r\n\t\tthis.map.showLayerControl();\r\n\t\tthis.renderDevices();\r\n\t\t\r\n\t}\r\n\r\n\tclearDeviceMarkers() {\r\n\t\tthis.markers.forEach((value: boolean, key: string) => {\r\n\t\t\tconsole.log(key, value);\r\n\t\t\tthis.map.removeMarker(value);\r\n\t\t});\r\n this.markers.clear();\r\n\t}\r\n\r\n\trenderDevices() {\r\n\t\tthis.clearDeviceMarkers();\r\n\t\tfor (let structure of this.zone.structures) {\r\n\t\t\tfor (let device of structure.devices) {\r\n\t\t\t\t//{\"type\":\"position\",\"latitudeDeg\":44.1505959,\"longitudeDeg\":-121.2867375,\"inTrip\":false,\"fixFailed\":false,\"headingDeg\":264.375,\"speedKmph\":1,\"battery\":4800,\"manDown\":false,\"timestamp\":\"2019-07-09T04:02:10\",\"rssi\":-115}\r\n\r\n\t\t\t\tif (device.data) {\r\n\t\t\t\t\tconst data = device.data;\r\n const marker = this.map.addMarker({ \"lat\": data.latitudeDeg, \"lng\": data.longitudeDeg },\r\n\t\t\t\t\t\tdevice.deviceId,\r\n\t\t\t\t\t\t`${structure.name}
${data.latitudeDeg}
${data.longitudeDeg}
${data.timestamp\r\n\t\t\t\t\t\t}`,\r\n\t\t\t\t\t\t\"Devices\");\r\n this.markers.set(device.deviceId, marker);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"map-zone .map-container{height:600px;z-index:0}\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { Zone } from \"../../../models/zone\";\r\n\r\n@autoinject\r\nexport class StructureZone {\r\n\tzone: Zone;\r\n\r\n\tbind(bindingContext: any, overrideContext: any) {\r\n\t\tthis.zone = bindingContext.zone;\r\n\t}\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from 'aurelia-framework';\r\nimport { Zone } from \"../../../models/zone\";\r\n\r\n@autoinject\r\nexport class WeatherZone {\r\n\r\n\tzone: Zone;\r\n\r\n\tbind(bindingContext: any, overrideContext: any) {\r\n\t\tthis.zone = bindingContext.zone;\r\n\t}\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from 'aurelia-framework';\r\nimport { pluck } from \"rxjs/operators\";\r\nimport { connectTo } from \"aurelia-store\";\r\nimport { applicationLogger } from \"../../logging/logger\";\r\nimport { IState } from \"../../store/state\";\r\n\r\n@connectTo({\r\n\ttarget: 'applicationState',\r\n\tselector: {\r\n\t\tlocationState: (store) => store.state.pipe(pluck('locationState'))\r\n\t}\r\n})\r\n@autoinject\r\nexport class NotificationRecipients {\r\n applicationState: IState;\r\n\r\n constructor() {\r\n }\r\n\r\n bind(bindingContext: any, overrideContext: any) {\r\n }\r\n\r\n attached() {\r\n }\r\n\r\n detached() {\r\n }\r\n}","import { autoinject, BindingEngine, computedFrom } from \"aurelia-framework\";\r\nimport { NotificationRecipient } from \"../../models/notification-recipient\";\r\nimport { Api } from \"../../services/api\";\r\nimport { applicationLogger } from \"../../logging/logger\";\r\nimport { MdToastService } from \"aurelia-materialize-bridge\";\r\nimport { I18N } from \"aurelia-i18n\";\r\nimport { Claim } from \"../../models/claim\";\r\nimport { ApplicationClaimTypes } from \"../../models/application-claim-types\";\r\nimport * as Linq from \"linq-es2015\";\r\n\r\n@autoinject\r\nexport class NotificationRecipientsEditor {\r\n\trecipient: NotificationRecipient;\r\n\tapi: Api;\r\n\tactive: boolean;\r\n\tbindingEngine: BindingEngine;\r\n\ttoastService: MdToastService;\r\n\ti18n: I18N;\r\n\r\n\tconstructor(api: Api, bindingEngine: BindingEngine, toastService: MdToastService, i18n: I18N) {\r\n\t\tthis.api = api;\r\n\t\tthis.bindingEngine = bindingEngine;\r\n\t\tthis.toastService = toastService;\r\n\t\tthis.i18n = i18n;\r\n\t}\r\n\r\n\tselectChanged(status: any) {\r\n\t\tthis.active = true;\r\n\t\tthis.api.addOrUpdateNotificationRecipient(this.recipient).then(response => {\r\n\t\t\tif (response.success) {\r\n\t\t\t\tthis.toastService.show(this.i18n.tr(\"data-saved\"), 4000, \"rounded blue\");\r\n\t\t\t} else {\r\n\t\t\t\tthis.toastService.show(`${this.i18n.tr(\"data-not-saved\")}: ${response.message}`,\r\n\t\t\t\t\t4000,\r\n\t\t\t\t\t\"rounded blue\");\r\n\t\t\t}\r\n\t\t\tthis.active = false;\r\n\t\t});\r\n\t}\r\n\r\n\tbind(bindingContext: any, overrideContext: any) {\r\n\t\tthis.recipient = bindingContext.recipient;\r\n\t}\r\n\r\n\t@computedFrom('recipient')\r\n\tget viewZoneClaims(): Array {\r\n\t\tvar enumerable = Linq.AsEnumerable(this.recipient.claims);\r\n\t\treturn enumerable.Where(claim => claim.type === ApplicationClaimTypes.viewZone).ToArray();\r\n\t}\r\n\r\n\t@computedFrom('recipient')\r\n\tget zoneNotificationClaims(): Array {\r\n\t\tvar enumerable = Linq.AsEnumerable(this.recipient.claims);\r\n\t\treturn enumerable.Where(claim => claim.type === ApplicationClaimTypes.zoneNotification).ToArray();\r\n\t}\r\n}\r\n","module.exports = \"\\r\\n\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"notification-recipients-editor .card{min-width:300px;height:220px}notification-recipients-editor .md-select{margin:0 50px 15px}notification-recipients-editor .md-select .select-dropdown{text-align:center}\", \"\"]);\n\n","import { autoinject, BindingEngine } from 'aurelia-framework';\r\nimport { Location } from \"../../models/location\";\r\nimport { Api } from \"../../services/api\";\r\nimport { applicationLogger } from \"../../logging/logger\";\r\nimport { NotificationRecipient } from \"../../models/notification-recipient\";\r\n\r\n@autoinject\r\nexport class NotificationRecipientsList {\r\n\tlocation: Location;\r\n\tapi: Api;\r\n\tactive: boolean;\r\n\tbindingEngine: BindingEngine;\r\n\tsubscription: any;\r\n\trecipients: Array;\r\n\r\n\tconstructor(api: Api, bindingEngine: BindingEngine) {\r\n\t\tthis.api = api;\r\n\t\tthis.bindingEngine = bindingEngine;\r\n\t}\r\n\r\n\tbind(bindingContext: any, overrideContext: any) {\r\n\t\tthis.location = bindingContext.location;\r\n\t}\r\n\r\n\tasync attached() {\r\n\t\tthis.active = true;\r\n\t\tthis.recipients = await this.getRecipients();\r\n\t\tthis.active = false;\r\n\t}\r\n\r\n\tasync getRecipients() {\r\n\t\tthis.active = true;\r\n\t\tconst recipients = await this.api.getNotificationRecipients(this.location.id);\r\n\t\tthis.active = false;\r\n\t\treturn recipients;\r\n\t}\r\n}\r\n\r\n\r\n","module.exports = \"\\r\\n\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from 'aurelia-framework';\r\nimport { Location } from \"../../models/location\";\r\nimport * as State from \"../../store/state\";\r\nimport IState = State.IState;\r\nimport { Subscription } from \"rxjs\";\r\nimport { Store } from 'aurelia-store';\r\nimport { applicationLogger } from \"../../logging/logger\";\r\n\r\n@autoinject\r\nexport class NotificationRecipientsTableau {\r\n\tlocations: Array;\r\n\tisActive: boolean = false;\r\n\r\n\tprotected applicationState: IState;\r\n\tprotected subscription: Subscription;\r\n\tprotected store: Store;\r\n\r\n\tconstructor(store: Store) {\r\n\t\tthis.store = store;\r\n\t}\r\n\r\n\tunbind() {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n\r\n\tbind(bindingContext: any, overrideContext: any) {\r\n\t\tthis.locations = bindingContext.applicationState.locationState.selectedLocations;\r\n\t\tthis.subscription = this.store.state.subscribe((state) => {\r\n\t\t\tthis.applicationState = state;\r\n\t\t\tthis.locations = this.applicationState.locationState.selectedLocations;\r\n\t\t});\r\n\t}\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject, bindable, computedFrom } from \"aurelia-framework\";\r\nimport { TreeNode } from \"../tree-node\";\r\nimport { Property } from \"../../../models/property\";\r\nimport { Api } from \"../../../services/api\";\r\nimport { TreeNodeTypes } from \"../../../models/tree-node-types\";\r\nimport { WebApiResponse } from \"../../../models/web-api-response\";\r\nimport { MdToastService } from \"aurelia-materialize-bridge\";\r\nimport { SplitWordValueConverter } from \"../../../converters/split-word\";\r\nimport { I18N } from \"aurelia-i18n\";\r\n\r\n@autoinject\r\nexport class BaseEditor {\r\n\tactive: boolean = false;\r\n\t@bindable propertyName : string;\r\n\tdataLength: number = 1;\r\n\r\n\tapi: Api;\r\n\ttoastService: MdToastService;\r\n\ti18n: I18N;\r\n\r\n\t@bindable treeNode: TreeNode;\r\n\t@bindable property: Property;\r\n\r\n\t@computedFrom(\"property.id\")\r\n\tget isNewProperty() {\r\n\t\treturn this.property.id === \"00000000-0000-0000-0000-000000000000\";\r\n\r\n\t}\r\n\r\n\tconstructor(api: Api, toastService: MdToastService, i18n: I18N) {\r\n\t\tthis.api = api;\r\n\t\tthis.toastService = toastService;\r\n\t\tthis.i18n = i18n;\r\n\t}\r\n\r\n\tactivate(model: any) {\r\n\t\tthis.treeNode = model.selectedNode;\r\n\t\tthis.property = model.property;\r\n\t\tthis.propertyName = new SplitWordValueConverter().toView(this.property.name);\r\n\t}\r\n\r\n\tasync addOrUpdateProperty(data: string): Promise> {\r\n\t\tthis.active = true;\r\n\t\ttry {\r\n\t\t\tconst newProperty = Object.assign({}, this.property);\r\n\t\t\tnewProperty.value = data;\r\n\t\t\tconst response = await this.api.addOrUpdateProperty(this.treeNode.type, this.treeNode.id, newProperty);\r\n\t\t\tif (response.success) {\r\n\t\t\t\tthis.toastService.show(this.i18n.tr(\"data-saved\"), 4000, \"rounded blue\");\r\n\t\t\t\tthis.property = Object.assign({}, response.data);\r\n\t\t\t} else {\r\n\t\t\t\tthis.toastService.show(`${this.i18n.tr(\"data-not-saved\")}: ${response.message}`, 4000, \"rounded blue\");\r\n\t\t\t}\r\n\r\n\t\t\treturn response;\r\n\t\t} finally {\r\n\t\t\tthis.active = false;\r\n\t\t}\r\n\t}\r\n\r\n\tasync deleteProperty(property: Property): Promise> {\r\n\t\tthis.active = true;\r\n\t\ttry {\r\n\t\t\tif (property.id === \"00000000-0000-0000-0000-000000000000\") {\r\n\t\t\t\tconst index = this.treeNode.properties.indexOf(this.property);\r\n\t\t\t\tthis.treeNode.properties.splice(index, 1);\r\n\t\t\t\tconst response = new WebApiResponse();\r\n\t\t\t\tresponse.data = Object.assign({}, this.property);\r\n\t\t\t\tresponse.success = true;\r\n\t\t\t\treturn response;\r\n\t\t\t} else {\r\n\t\t\t\tconst response = await this.api.deleteProperty(this.treeNode.type, this.treeNode.id, property);\r\n\t\t\t\tif (response.success) {\r\n\t\t\t\t\tthis.toastService.show(this.i18n.tr(\"property-saved\"), 4000, \"rounded blue\");\r\n\t\t\t\t\tconst index = this.treeNode.properties.indexOf(this.property);\r\n\t\t\t\t\tthis.treeNode.properties.splice(index, 1);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.toastService.show(`${this.i18n.tr(\"property-not-saved\")}: ${response.message}`, 4000, \"rounded blue\");\r\n\t\t\t\t}\r\n\t\t\t\treturn response;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t} finally {\r\n\t\t\tthis.active = false;\r\n\r\n\t\t}\r\n\r\n\t}\r\n}\r\n\r\n@autoinject\r\nexport class BaseRangeRuleEditor extends BaseEditor {\r\n\r\n\trequiredMinimum: number;\r\n\trecommendedMinimum: number;\r\n\trecommendedMaximum: number;\r\n\trequiredMaximum: number;\r\n\r\n\tconstructor(api: Api, toastService: MdToastService, i18n: I18N) {\r\n\t\tsuper(api, toastService, i18n);\r\n\t}\r\n\r\n\tactivate(model: any) {\r\n\t\tsuper.activate(model);\r\n\t\tconst data = model.property.value.split(\",\");\r\n\t\tthis.dataLength = data.length;\r\n\t\tif (this.dataLength === 4) {\r\n\t\t\tthis.recommendedMinimum = data[0];\r\n\t\t\tthis.requiredMinimum = data[1];\r\n\t\t\tthis.requiredMaximum = data[2];\r\n\t\t\tthis.recommendedMaximum = data[3];\r\n\t\t}\r\n\r\n\t\tif (this.dataLength === 2) {\r\n\t\t\tthis.requiredMinimum = data[0];\r\n\t\t\tthis.requiredMaximum = data[1];\r\n\t\t}\r\n\t}\r\n}\r\n","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".rules-card{max-width:95%}md-input.red-label .input-field>label{color:red}md-input.yellow-label .input-field>label{color:#fbc02d}\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { BaseRangeRuleEditor } from \"./base-range-rule-editor\";\r\nimport { TreeNode } from \"../tree-node\";\r\nimport { Api } from \"../../../services/api\";\r\nimport { MdToastService } from \"aurelia-materialize-bridge\";\r\nimport { I18N } from \"aurelia-i18n\";\r\n\r\n@autoinject\r\nexport class BatteryRuleEditor extends BaseRangeRuleEditor {\r\n\r\n\tconstructor(api: Api, toastService: MdToastService, i18n: I18N) {\r\n\t\tsuper(api, toastService, i18n);\r\n\t}\r\n\r\n\tactivate(model: any) {\r\n\t\tsuper.activate(model);\r\n\t}\r\n\r\n\tasync applyChanges() {\r\n\t\tconst data = `${this.requiredMinimum},${this.requiredMaximum}`;\r\n\t\tconst result = await this.addOrUpdateProperty(data);\r\n\t}\r\n\r\n\tasync delete() {\r\n\t\tconst result = await super.deleteProperty(this.property);\r\n\t}\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { BaseEditor } from \"./base-range-rule-editor\";\r\nimport { Api } from \"../../../services/api\";\r\nimport { MdToastService } from \"aurelia-materialize-bridge\";\r\nimport { I18N } from \"aurelia-i18n\";\r\n\r\n@autoinject\r\nexport class PropertyEditor extends BaseEditor {\r\n\r\n\tconstructor(api: Api, toastService: MdToastService, i18n: I18N) {\r\n\t\tsuper(api, toastService, i18n);\r\n\t}\r\n\r\n\tactivate(model: any) {\r\n\t\tsuper.activate(model);\r\n\t}\r\n\r\n\tasync applyChanges() {\r\n\t\tconst data = this.property.value;\r\n\t\tconst result = await this.addOrUpdateProperty(data);\r\n\t}\r\n\r\n\tasync delete() {\r\n\t\tconst result = await super.deleteProperty(this.property);\r\n\t}\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { BaseRangeRuleEditor } from \"./base-range-rule-editor\";\r\nimport { TreeNode } from \"../tree-node\";\r\nimport { Api } from \"../../../services/api\";\r\nimport { MdToastService } from \"aurelia-materialize-bridge\";\r\nimport { I18N } from \"aurelia-i18n\";\r\n\r\n@autoinject\r\nexport class RssiRuleEditor extends BaseRangeRuleEditor {\r\n\r\n\tconstructor(api: Api, toastService: MdToastService, i18n: I18N) {\r\n\t\tsuper(api, toastService, i18n);\r\n\t}\r\n\r\n\tactivate(model: any) {\r\n\t\tsuper.activate(model);\r\n\t}\r\n\r\n\tasync applyChanges() {\r\n\t\tconst data = `${this.recommendedMinimum},${this.requiredMinimum},${this.requiredMaximum},${this.recommendedMaximum}`;\r\n\t\tconst result = await this.addOrUpdateProperty(data);\r\n\t}\r\n\r\n\tasync delete() {\r\n\t\tconst result = await super.deleteProperty(this.property);\r\n\t}\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\n\r\n@autoinject\r\nexport class DecentlabWaterLevelRuleEditor {\r\n\r\n\tminimum: number;\r\n\trecommended: number;\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { BaseRangeRuleEditor } from \"../base-range-rule-editor\";\r\nimport { Api } from \"../../../../services/api\";\r\nimport { MdToastService } from \"aurelia-materialize-bridge\";\r\nimport { I18N } from \"aurelia-i18n\";\r\n\r\n@autoinject\r\nexport class NetvoxTemperatureHumidityRuleEditor extends BaseRangeRuleEditor {\r\n\r\n\tconstructor(api: Api, toastService: MdToastService, i18n: I18N) {\r\n\t\tsuper(api, toastService, i18n);\r\n\t}\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { BaseRangeRuleEditor } from \"../base-range-rule-editor\";\r\nimport { Api } from \"../../../../services/api\";\r\nimport { MdToastService } from \"aurelia-materialize-bridge\";\r\nimport { I18N } from \"aurelia-i18n\";\r\n\r\n@autoinject\r\nexport class ThingsNodeRuleEditor extends BaseRangeRuleEditor {\r\n\r\n\tconstructor(api: Api, toastService: MdToastService, i18n: I18N) {\r\n\t\tsuper(api, toastService, i18n);\r\n\t}\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { BaseRangeRuleEditor } from \"./base-range-rule-editor\";\r\nimport { TreeNode } from \"../tree-node\";\r\nimport { TemperatureScales, TemperatureConverter } from \"../../../converters/temperature-value\";\r\nimport { Api } from \"../../../services/api\";\r\nimport { MdToastService } from \"aurelia-materialize-bridge\";\r\nimport { I18N } from \"aurelia-i18n\";\r\n\r\n@autoinject\r\nexport class TemperatureRuleEditor extends BaseRangeRuleEditor {\r\n\r\n\ttemperatureScale: string;\r\n\r\n\tconstructor(api: Api, toastService: MdToastService, i18n: I18N) {\r\n\t\tsuper(api, toastService, i18n);\r\n\t\tthis.temperatureScale = this.getTemperatureSymbol();\r\n\t}\r\n\r\n\tactivate(model: any) {\r\n\t\tthis.treeNode = model.selectedNode;\r\n\t\tthis.property = model.property;\r\n\r\n\t\tconst data = model.property.value.split(\",\");\r\n\r\n\t\tif (data.length === 4) {\r\n\t\t\tthis.recommendedMinimum = this.convertTemperature(data[0]);\r\n\t\t\tthis.requiredMinimum = this.convertTemperature(data[1]);\r\n\t\t\tthis.requiredMaximum = this.convertTemperature(data[2]);\r\n\t\t\tthis.recommendedMaximum = this.convertTemperature(data[3]);\r\n\t\t}\r\n\r\n\t\tif (data.length === 2) {\r\n\t\t\tthis.requiredMinimum = this.convertTemperature(data[0]);\r\n\t\t\tthis.requiredMaximum = this.convertTemperature(data[1]);\r\n\t\t}\r\n\t}\r\n\r\n\tgetTemperatureScale() {\r\n\t\tlet scale = localStorage.getItem(\"temperature-scale\");\r\n\t\tif (!scale) {\r\n\t\t\tscale = TemperatureScales.fahrenheit;\r\n\t\t}\r\n\t\treturn scale;\r\n\t}\r\n\r\n\tgetTemperatureSymbol(): string {\r\n\t\tlet scale = this.getTemperatureScale();\r\n\t\tswitch (scale) {\r\n\t\tcase TemperatureScales.fahrenheit:\r\n\t\t\treturn \"°F\";\r\n\t\tcase TemperatureScales.celsius:\r\n\t\t\treturn \"°C\";\r\n\t\tdefault:\r\n\t\t\treturn \"°F\";\r\n\t\t}\r\n\t}\r\n\r\n\tconvertTemperature(temperature: number) {\r\n\t\tlet scale = this.getTemperatureScale();\r\n\t\tswitch (scale) {\r\n\t\tcase TemperatureScales.celsius:\r\n\t\t\treturn temperature;\r\n\t\tcase TemperatureScales.fahrenheit:\r\n\t\t\t\treturn this.round(TemperatureConverter.toFahrenheit(temperature), 1);\r\n\t\tdefault:\r\n\t\t\t\treturn this.round(TemperatureConverter.toFahrenheit(temperature), 1);\r\n\t\t}\r\n\t}\r\n\r\n\tconvertTemperatureBack(temperature: number) {\r\n\t\tlet scale = this.getTemperatureScale();\r\n\t\tswitch (scale) {\r\n\t\tcase TemperatureScales.celsius:\r\n\t\t\treturn temperature;\r\n\t\tcase TemperatureScales.fahrenheit:\r\n\t\t\treturn TemperatureConverter.toCelsius(temperature);\r\n\t\tdefault:\r\n\t\t\treturn TemperatureConverter.toCelsius(temperature);\r\n\t\t}\r\n\t}\r\n\r\n\tround(value: number, precision: number): number {\r\n\t\tconst multiplier = Math.pow(10, precision || 0);\r\n\t\treturn Math.round(value * multiplier) / multiplier;\r\n\t}\r\n\r\n\tasync applyChanges() {\r\n\t\tconst data = `${this.convertTemperatureBack(this.recommendedMinimum)},${this.convertTemperatureBack(this.requiredMinimum)},${this.convertTemperatureBack(this.requiredMaximum)},${this.convertTemperatureBack(this.recommendedMaximum)}`;\r\n\t\tconst result = await this.addOrUpdateProperty(data);\r\n\t}\r\n\r\n\tasync delete() {\r\n\t\tconst result = await super.deleteProperty(this.property);\r\n\t}\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { BaseRangeRuleEditor } from \"./base-range-rule-editor\";\r\nimport { TreeNode } from \"../tree-node\";\r\nimport { Api } from \"../../../services/api\";\r\nimport { MdToastService } from \"aurelia-materialize-bridge\";\r\nimport { I18N } from \"aurelia-i18n\";\r\n\r\n@autoinject\r\nexport class WaterLevelRuleEditor extends BaseRangeRuleEditor {\r\n\r\n\tconstructor(api: Api, toastService: MdToastService, i18n: I18N) {\r\n\t\tsuper(api, toastService, i18n);\r\n\t}\r\n\r\n\tactivate(model: any) {\r\n\t\tsuper.activate(model);\r\n\t}\r\n\r\n\tasync applyChanges() {\r\n\r\n\t\tconst data = `${this.requiredMinimum},${this.requiredMaximum}`;\r\n\t\tconst result = await this.addOrUpdateProperty(data);\r\n\t}\r\n\r\n\tasync delete() {\r\n\t\tconst result = await super.deleteProperty(this.property);\r\n\t}\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { BaseRangeRuleEditor } from \"./base-range-rule-editor\";\r\nimport { TreeNode } from \"../tree-node\";\r\nimport { TemperatureScales, TemperatureConverter } from \"../../../converters/temperature-value\";\r\nimport { Api } from \"../../../services/api\";\r\nimport { MdToastService } from \"aurelia-materialize-bridge\";\r\nimport { I18N } from \"aurelia-i18n\";\r\n\r\n@autoinject\r\nexport class WeatherStationTemperatureRuleEditor extends BaseRangeRuleEditor {\r\n\r\n\ttemperatureScale: string;\r\n\r\n\tconstructor(api: Api, toastService: MdToastService, i18n: I18N) {\r\n\t\tsuper(api, toastService, i18n);\r\n\t\tthis.temperatureScale = this.getTemperatureSymbol();\r\n\t}\r\n\r\n\tactivate(model: any) {\r\n\t\tthis.treeNode = model.selectedNode;\r\n\t\tthis.property = model.property;\r\n\r\n\t\tconst data = model.property.value.split(\",\");\r\n\r\n\t\tif (data.length === 4) {\r\n\t\t\tthis.recommendedMinimum = this.convertTemperature(data[0]);\r\n\t\t\tthis.requiredMinimum = this.convertTemperature(data[1]);\r\n\t\t\tthis.requiredMaximum = this.convertTemperature(data[2]);\r\n\t\t\tthis.recommendedMaximum = this.convertTemperature(data[3]);\r\n\t\t}\r\n\r\n\t\tif (data.length === 2) {\r\n\t\t\tthis.requiredMinimum = this.convertTemperature(data[0]);\r\n\t\t\tthis.requiredMaximum = this.convertTemperature(data[1]);\r\n\t\t}\r\n\t}\r\n\r\n\tgetTemperatureScale() {\r\n\t\tlet scale = localStorage.getItem(\"temperature-scale\");\r\n\t\tif (!scale) {\r\n\t\t\tscale = TemperatureScales.fahrenheit;\r\n\t\t}\r\n\t\treturn scale;\r\n\t}\r\n\r\n\tgetTemperatureSymbol(): string {\r\n\t\tlet scale = this.getTemperatureScale();\r\n\t\tswitch (scale) {\r\n\t\tcase TemperatureScales.fahrenheit:\r\n\t\t\treturn \"°F\";\r\n\t\tcase TemperatureScales.celsius:\r\n\t\t\treturn \"°C\";\r\n\t\tdefault:\r\n\t\t\treturn \"°F\";\r\n\t\t}\r\n\t}\r\n\r\n\tconvertTemperature(temperature: number) {\r\n\t\tlet scale = this.getTemperatureScale();\r\n\t\tswitch (scale) {\r\n\t\tcase TemperatureScales.celsius:\r\n\t\t\treturn temperature;\r\n\t\tcase TemperatureScales.fahrenheit:\r\n\t\t\t\treturn this.round(TemperatureConverter.toFahrenheit(temperature), 1);\r\n\t\tdefault:\r\n\t\t\t\treturn this.round(TemperatureConverter.toFahrenheit(temperature), 1);\r\n\t\t}\r\n\t}\r\n\r\n\tconvertTemperatureBack(temperature: number) {\r\n\t\tlet scale = this.getTemperatureScale();\r\n\t\tswitch (scale) {\r\n\t\tcase TemperatureScales.celsius:\r\n\t\t\treturn temperature;\r\n\t\tcase TemperatureScales.fahrenheit:\r\n\t\t\treturn TemperatureConverter.toCelsius(temperature);\r\n\t\tdefault:\r\n\t\t\treturn TemperatureConverter.toCelsius(temperature);\r\n\t\t}\r\n\t}\r\n\r\n\tround(value: number, precision: number): number {\r\n\t\tconst multiplier = Math.pow(10, precision || 0);\r\n\t\treturn Math.round(value * multiplier) / multiplier;\r\n\t}\r\n\r\n\tasync applyChanges() {\r\n\t\tconst data = `${this.convertTemperatureBack(this.recommendedMinimum)},${this.convertTemperatureBack(this.requiredMinimum)},${this.convertTemperatureBack(this.requiredMaximum)},${this.convertTemperatureBack(this.recommendedMaximum)}`;\r\n\t\tconst result = await this.addOrUpdateProperty(data);\r\n\t}\r\n\r\n\tasync delete() {\r\n\t\tconst result = await super.deleteProperty(this.property);\r\n\t}\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { pluck } from \"rxjs/operators\";\r\nimport { connectTo } from \"aurelia-store\";\r\nimport { applicationLogger } from \"../../logging/logger\";\r\nimport { IState } from \"../../store/state\";\r\n\r\n@connectTo({\r\n\ttarget: \"applicationState\",\r\n\tselector: {\r\n\t\tlocationState: (store) => store.state.pipe(pluck(\"locationState\"))\r\n\t}\r\n})\r\n@autoinject\r\nexport class NotificationRules {\r\n applicationState: IState;\r\n constructor() {\r\n applicationLogger.info(\"NotificationRules ctor() called.\");\r\n }\r\n}\r\n","import { autoinject, bindable, computedFrom, BindingEngine } from \"aurelia-framework\";\r\nimport { Location } from \"../../models/location\";\r\nimport { TreeView } from \"../../aurelia-tree-view/tree-view/tree-view\";\r\nimport * as Linq from \"linq-es2015\";\r\nimport { Property } from \"../../models/property\";\r\nimport { TreeNode } from \"./tree-node\";\r\nimport { Api } from \"../../services/api\";\r\n\r\n@autoinject\r\nexport class NotificationRulesEditor {\r\n\tlocation: Location;\r\n\ttree: TreeView;\r\n\tselectedTitle: string;\r\n\tapi: Api;\r\n\tactive: boolean;\r\n\tbindingEngine: BindingEngine;\r\n\r\n\ttreeNodes: any[];\r\n\t@bindable selectedNode: TreeNode;\r\n\trules: Array = new Array();\r\n\tproperties: Array = new Array(); \r\n\thasProperties: boolean = false;\r\n\thasRules: boolean = false;\r\n\thasNeitherPropertiesOrRules: boolean = false;\r\n\thasSelectedNode: boolean = false;\r\n\tshowAddDeviceButton: boolean = false;\r\n\r\n\truleChoices: Array = new Array();\r\n\tavailableRuleChoices: Array = new Array();\r\n\tselectedRuleChoice: Property;\r\n\r\n\tsubscription: any;\r\n\r\n\tconstructor(api: Api, bindingEngine: BindingEngine) {\r\n\t\tthis.api = api;\r\n\t\tthis.bindingEngine = bindingEngine;\r\n\t\tthis.createRuleChoices();\r\n\t} \r\n\r\n\tcreateRuleChoices() {\r\n\r\n\t\tconst batteryRule = new Property();\r\n\t\tbatteryRule.name = \"battery\";\r\n\t\tbatteryRule.type = \"BatteryRule\";\r\n\t\tthis.ruleChoices.push(batteryRule);\r\n\r\n\t\tconst rssiRule = new Property();\r\n\t\trssiRule.name = \"rssi\";\r\n\t\trssiRule.type = \"RssiRule\";\r\n\t\tthis.ruleChoices.push(rssiRule);\r\n\r\n\t\tconst temperatureRule = new Property();\r\n\t\ttemperatureRule.name = \"temperature\";\r\n\t\ttemperatureRule.type = \"TemperatureRule\";\r\n\t\tthis.ruleChoices.push(temperatureRule);\r\n\r\n\t\tconst weatherStationAirTemperatureRule = new Property();\r\n\t\tweatherStationAirTemperatureRule.name = \"airTemperature\";\r\n\t\tweatherStationAirTemperatureRule.type = \"WeatherStationTemperatureRule\";\r\n\t\tthis.ruleChoices.push(weatherStationAirTemperatureRule);\r\n\r\n\t\tconst waterLevelRule = new Property();\r\n\t\twaterLevelRule.name = \"pressure\";\r\n\t\twaterLevelRule.type = \"WaterLevelRule\";\r\n\t\tthis.ruleChoices.push(waterLevelRule);\r\n\t}\r\n\r\n\tbind(bindingContext: any, overrideContext: any) {\r\n\t\tthis.location = bindingContext.location;\r\n\t}\r\n\r\n\tasync attached() {\r\n\t\tthis.treeNodes = await this.getNodes();\r\n\t\tthis.tree.dataSource.load(this.treeNodes);\r\n\t\tthis.tree.dataSource.selectNode(this.treeNodes[0]);\r\n\t\tthis.tree.dataSource.expandNode(this.tree.dataSource.nodes[0]);\r\n\t}\r\n\r\n\tonSelect(e) {\r\n\t\tthis.selectedTitle = e.detail.nodes.map(node => node.payload.title).join(\", \");\r\n\t\tthis.processSelectedNode(e.detail.nodes[0].payload);\r\n\t}\r\n\r\n\tisType(type: string): boolean {\r\n\t\tif (this.selectedNode) {\r\n\t\t\treturn this.selectedNode.type === type;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tprocessSelectedNode(node: any) {\r\n\r\n\t\tif (this.subscription) {\r\n\t\t\tthis.subscription.dispose();\r\n\t\t}\r\n\r\n\t\tthis.selectedNode = node;\r\n\t\tthis.subscription = this.bindingEngine.collectionObserver(this.selectedNode.properties).subscribe(properties => this.processSelectedNode(this.selectedNode));\r\n\r\n\t\tthis.availableRuleChoices = this.ruleChoices.filter(choice => this.filterChoices(choice, this.selectedNode));\r\n\t\tthis.selectedRuleChoice = null;\r\n\r\n\t\tif (this.selectedNode.type !== \"DeviceTypes\" && this.selectedNode.type !== \"Root\") {\r\n\t\t\tlet propertiesEnumerable = Linq.AsEnumerable(this.selectedNode.properties);\r\n\t\t\tthis.rules = propertiesEnumerable.Where(p => p.type.indexOf(\"Rule\") > 0).ToArray();\r\n\t\t\tthis.hasRules = this.rules.length > 0;\r\n\r\n\t\t\tpropertiesEnumerable = Linq.AsEnumerable(this.selectedNode.properties);\r\n\t\t\tthis.properties = propertiesEnumerable.Where(p => p.type === \"Property\").ToArray();\r\n\t\t\tthis.hasProperties = this.properties.length > 0;\r\n\r\n\t\t\tthis.hasNeitherPropertiesOrRules = !(this.hasProperties || this.hasRules);\r\n\t\t\tthis.hasSelectedNode = true;\r\n\t\t} else {\r\n\t\t\tthis.hasNeitherPropertiesOrRules = true;\r\n\t\t\tthis.hasSelectedNode = false;\r\n\t\t}\r\n\t\tthis.showAddDeviceButton = (this.selectedNode.type === \"Structure\");\r\n\t}\r\n\r\n\tasync getNodes() {\r\n\t\tconst nodes = [];\r\n\t\tthis.active = true;\r\n\t\tconst locationTreeNode = await this.api.getRulesTree(this.location.id);\r\n\t\tnodes.push(locationTreeNode);\r\n\t\tthis.active = false;\r\n\t\treturn nodes;\r\n\t}\r\n\r\n\tfilterChoices(choice: Property, selectedNode: TreeNode) {\r\n\t\tif (selectedNode) {\r\n\t\t\tconst properties = Linq.AsEnumerable(this.selectedNode.properties);\r\n\t\t\treturn !properties.Any(p => p.type === choice.type);\r\n\t\t} else {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\t\r\n\tonAddTemperatureRuleDialogOpenStart($event) {\r\n\t\tthis.selectedRuleChoice = null;\r\n\t}\r\n\r\n\taddRule() {\r\n\t\tthis.selectedNode.properties.push(this.selectedRuleChoice);\r\n\t\tthis.selectedRuleChoice = null;\r\n\t}\r\n\r\n\tonAddDeviceDialogOpenStart($event) {\r\n\t\tthis.selectedRuleChoice = null;\r\n\t}\r\n\r\n\tasync addDevice() {\r\n\t\talert(\"Add device!\");\r\n\t}\r\n}\r\n","module.exports = \"\\r\\n\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"notification-rules-editor .fixed-action-btn{z-index:900}\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { Location } from \"../../models/location\";\r\nimport * as State from \"../../store/state\";\r\nimport IState = State.IState;\r\nimport { Subscription } from \"rxjs\";\r\nimport { Store } from \"aurelia-store\";\r\nimport { applicationLogger } from \"../../logging/logger\";\r\n\r\n@autoinject\r\nexport class NotificationRulesTableau {\r\n\tlocations: Array;\r\n\tisActive: boolean = false;\r\n\r\n\tprotected applicationState: IState;\r\n\tprotected subscription: Subscription;\r\n\tprotected store: Store;\r\n\r\n\tconstructor(store: Store) {\r\n\t\tthis.store = store;\r\n\t\tapplicationLogger.info(\"NotificationRulesTableau ctor() called.\");\r\n\t}\r\n\r\n\tunbind() {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n\r\n\tbind(bindingContext: any, overrideContext: any) {\r\n\t\tthis.locations = bindingContext.applicationState.locationState.selectedLocations;\r\n\t\tthis.subscription = this.store.state.subscribe((state) => {\r\n\t\t\tthis.applicationState = state;\r\n\t\t\tthis.locations = this.applicationState.locationState.selectedLocations;\r\n\t\t});\r\n\t}\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","export class TreeNode {\r\n\ttitle: string;\r\n\ttype: string;\r\n\tid: string;\r\n\tchildren: TreeNode[];\r\n\tproperties: any;\r\n\r\n\tconstructor() {\r\n\t\tthis.children = new Array();\r\n\t}\r\n}\r\n","import { observable } from \"aurelia-framework\";\r\nimport { TemperatureScales, TemperatureConverter } from \"../../../converters/temperature-value\";\r\nimport { applicationLogger } from \"../../../logging/logger\";\r\nimport * as moment from \"moment\";\r\nimport { Api } from \"../../../services/api\";\r\nimport { Device } from \"../../../models/device\";\r\nimport { DeviceMeasurementRequestViewModel } from \"../../../models/device-measurement-request-view-model\";\r\nimport { MeasurementViewModel } from \"../../../models/measurement-view-model\";\r\n\r\nexport class BaseDeviceChart {\r\n\tactive: boolean = false;\r\n\r\n\tdevice: Device;\r\n\tchart: any;\r\n\r\n\tstartDate: string;\r\n\tendDate: string;\r\n\r\n\tmin: number;\r\n\tmax: number;\r\n\tstep: number;\r\n\t@observable days: any;\r\n\r\n\tchartOptions: any;\r\n\tchartData: any;\r\n\t@observable isAttached: boolean = false;\r\n\r\n\tstartTimePicker: any;\r\n\tshowStartTimePicker: boolean = false;\r\n\r\n\tendTimePicker: any;\r\n\tshowEndTimePicker: boolean = false;\r\n\r\n\trangeSelection: any;\r\n\r\n\tprotected api: Api;\r\n\r\n\tconstructor(api: Api) {\r\n\t\tthis.api = api;\r\n\t\tthis.configureChart();\r\n\r\n\t\tthis.min = -365;\r\n\t\tthis.max = -1;\r\n\t\tthis.step = 1;\r\n\r\n\t\tthis.rangeSelection = [\r\n\t\t\t{ name: \"Day\", value: -1 },\r\n\t\t\t{ name: \"Week\", value: -7 },\r\n\t\t\t{ name: \"Month\", value: -30 },\r\n\t\t\t{ name: \"Year\", value: -365 }\r\n\t\t];\r\n\r\n\t\tthis.days = this.rangeSelection[0];\r\n\t}\r\n\r\n\tdaysChanged() {\r\n\t\tif (this.device && this.isAttached) {\r\n\t\t\tthis.getGraphData(this.days.value);\r\n\t\t}\r\n\t}\r\n\r\n\tisAttachedChanged() {\r\n\t\tif (this.device && this.isAttached) {\r\n\t\t\tthis.getGraphData(this.days.value);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected bindDevice(device: Device) {\r\n\t\tthis.device = device;\r\n\t\tthis.configureChartOptions();\r\n\t\tthis.configureChartAxes();\r\n\t\tthis.getGraphData(this.days);\r\n\t}\r\n\r\n\tprivate configureChart() {\r\n\t\tthis.configureChartOptions();\r\n\t\tthis.configureChartAxes();\r\n\t}\r\n\r\n\tprotected configureDatasets() {\r\n\t\t// no-op\r\n\t}\r\n\r\n\tprotected configureChartAxes() {\r\n\t\t// no-op\r\n\t}\r\n\r\n\tprotected configureChartOptions() {\r\n\t\t// no-op\r\n\t}\r\n\r\n\tgetTemperatureScale() {\r\n\t\tlet scale = localStorage.getItem(\"temperature-scale\");\r\n\t\tif (!scale) {\r\n\t\t\tscale = TemperatureScales.fahrenheit;\r\n\t\t}\r\n\t\treturn scale;\r\n\t}\r\n\r\n\tgetTemperatureSymbol(): string {\r\n\t\tlet scale = this.getTemperatureScale();\r\n\t\tswitch (scale) {\r\n\t\t\tcase TemperatureScales.fahrenheit:\r\n\t\t\t\treturn \"°F\";\r\n\t\t\tcase TemperatureScales.celsius:\r\n\t\t\t\treturn \"°C\";\r\n\t\t\tdefault:\r\n\t\t\t\treturn \"°F\";\r\n\t\t}\r\n\t}\r\n\r\n\tconvertTemperature(temperature: number) {\r\n\t\tlet scale = this.getTemperatureScale();\r\n\t\tswitch (scale) {\r\n\t\tcase TemperatureScales.celsius:\r\n\t\t\treturn temperature;\r\n\t\tcase TemperatureScales.fahrenheit:\r\n\t\t\treturn TemperatureConverter.toFahrenheit(temperature);\r\n\t\tdefault:\r\n\t\t\treturn TemperatureConverter.toFahrenheit(temperature);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected processData(measurements: MeasurementViewModel[]) {\r\n\t\t// no-op\r\n\t}\r\n\r\n\tasync onChange(days: number) {\r\n\t\tthis.days = days;\r\n\t\tawait this.getGraphData(this.days);\r\n\t}\r\n\r\n\tasync getData2() {\r\n\t\tconst viewModel = new DeviceMeasurementRequestViewModel();\r\n\t\tconst end = moment(this.endDate);\r\n\t\tconst start = moment(this.startDate);\r\n\r\n\t\tviewModel.deviceId = this.device.deviceId;\r\n\t\tviewModel.startDate = new Date(start.toDate().toUTCString());\r\n\t\tviewModel.endDate = new Date(end.toDate().toUTCString());\r\n\r\n\t\tawait this.getData(viewModel);\r\n\t}\r\n\r\n\tasync getData(viewModel: DeviceMeasurementRequestViewModel) {\r\n\t\t// ReSharper restore InconsistentNaming\r\n\t\tthis.active = true;\r\n\t\tlet response = await this.api.getGraphData(viewModel);\r\n\r\n\t\tif (response.success && response.data) {\r\n\t\t\tthis.processData(response.data);\r\n\t\t} else {\r\n\t\t\tapplicationLogger.error(response.message);\r\n\t\t}\r\n\r\n\t\tthis.active = false;\r\n\t}\r\n\r\n\tasync getGraphData(days: number= -1) {\r\n\t\tconst end = moment();\r\n\t\tconst start = moment().add(moment.duration(days, \"day\"));\r\n\t\tconst viewModel = new DeviceMeasurementRequestViewModel();\r\n\r\n\t\tthis.startDate = start.format(\"lll\");\r\n\t\tthis.endDate = end.format(\"lll\");\r\n\r\n\t\tviewModel.deviceId = this.device.deviceId;\r\n\t\tviewModel.startDate = new Date(start.toDate().toUTCString());\r\n\t\tviewModel.endDate = new Date(end.toDate().toUTCString());\r\n\r\n\t\tawait this.getData(viewModel);\r\n\r\n\t}\r\n\r\n\thandleResize(detail) {\r\n\t\t// this.showTip = detail.width < 450;\r\n\t}\r\n\r\n\tshowTimePicker(control: string) {\r\n\t\tapplicationLogger.info(\"'showTimePicker' called.\");\r\n\r\n\t\tswitch (control) {\r\n\t\t\tcase \"start\":\r\n\t\t\t\t{\r\n\t\t\t\t\tthis.showStartTimePicker = true;\r\n\t\t\t\t\tthis.startTimePicker.open();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\tcase \"end\":\r\n\t\t\t\t{\r\n\t\t\t\t\tthis.showEndTimePicker = true;\r\n\t\t\t\t\tthis.endTimePicker.open();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\thideTimePicker(control: string) {\r\n\t\tapplicationLogger.info(\"'hideDatePicker' called.\");\r\n\t\tswitch (control) {\r\n\t\t\tcase \"start\":\r\n\t\t\t\t{\r\n\t\t\t\t\tthis.showStartTimePicker = false;\r\n\t\t\t\t}\r\n\t\t\tcase \"end\":\r\n\t\t\t\t{\r\n\t\t\t\t\tthis.showEndTimePicker = false;\r\n\t\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".center-wrapper{display:inline-block}.switch-field{display:flex;margin-bottom:36px;overflow:hidden}.switch-field input{position:absolute!important;clip:rect(0,0,0,0);height:1px;width:1px;border:0;overflow:hidden}.switch-field label{background-color:#e4e4e4;color:rgba(0,0,0,.6);font-size:14px;line-height:1;text-align:center;padding:8px 16px;margin-right:-1px;border:1px solid rgba(0,0,0,.2);box-shadow:inset 0 1px 3px rgba(0,0,0,.3),0 1px hsla(0,0%,100%,.1);transition:all .1s ease-in-out}.chart-row{margin-bottom:0}.switch-field label:hover{cursor:pointer}.switch-field input:checked+label{background-color:#007bff;box-shadow:none;color:#fff}.switch-field label:first-of-type{border-radius:4px 0 0 4px}.switch-field label:last-of-type{border-radius:0 4px 4px 0}md-range input[type=range],md-range input[type=range]+.thumb{background-color:#007bff!important}md-range input[type=range]::-webkit-slider-thumb{background-color:#007bff}md-range input[type=range]::-moz-range-thumb{background-color:#007bff}md-range input[type=range]::-ms-thumb{background-color:#007bff}@media (min-width:0){.raw-chart-container,.raw-chart-wrapper{position:relative;margin:auto;height:10vh;width:90vw}}@media (min-width:576px){.raw-chart-container,.raw-chart-wrapper{position:relative;margin:auto;height:20vh;width:90vw}}@media (min-width:768px){.raw-chart-container,.raw-chart-wrapper{position:relative;margin:auto;height:20vh;width:70vw}}@media (min-width:992px){.raw-chart-container,.raw-chart-wrapper{position:relative;margin:auto;height:20vh;width:70vw}}@media (min-width:1200px){.raw-chart-container,.raw-chart-wrapper{position:relative;margin:auto;height:20vh;width:60vw}}.raw-chart-container .row{margin-top:15px}div.tab{padding-top:20px}\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { BaseDeviceChart } from \"./base-device-chart\";\r\nimport { Api } from \"../../../services/api\";\r\nimport { MeasurementViewModel } from \"../../../models/measurement-view-model\";\r\nimport * as moment from \"moment\";\r\nimport { Device } from \"../../../models/device\";\r\n\r\n@autoinject\r\nexport class CurtainControllerChart extends BaseDeviceChart {\r\n \r\n\tconstructor(api: Api) {\r\n\t\tsuper(api);\r\n\t}\r\n\r\n\tactivate(device: Device) {\r\n\t\tthis.bindDevice(device);\r\n\t}\r\n\r\n\tattached() {\r\n\t\tsetTimeout(() => {\r\n\t\t\t\tthis.isAttached = true;\r\n\t\t\t},\r\n\t\t\t100);\r\n\t}\r\n\r\n}","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { BaseDeviceChart } from \"./base-device-chart\";\r\nimport { Api } from \"../../../services/api\";\r\nimport { MeasurementViewModel } from \"../../../models/measurement-view-model\";\r\nimport * as moment from \"moment\";\r\nimport { Device } from \"../../../models/device\";\r\n\r\n@autoinject\r\nexport class DecentlabWaterLevelChart extends BaseDeviceChart {\r\n\r\n\tconstructor(api: Api) {\r\n\t\tsuper(api);\r\n\t}\r\n\r\n\tactivate(device: Device) {\r\n\t\tthis.bindDevice(device);\r\n\t}\r\n\r\n\tattached() {\r\n\t\tsetTimeout(() => {\r\n\t\t\t\tthis.isAttached = true;\r\n\t\t\t},\r\n\t\t\t100);\r\n\t}\r\n\r\n\tcalculateLevel(pressure: number): string {\r\n\t\tconst level = (pressure / +this.device.properties.nominalPressure.value) * 100;\r\n\t\tif (isNaN(level) || level < 0) {\r\n\t\t\treturn \"0.0\";\r\n\t\t}\r\n\t\treturn (level >= 100 ? 100 : level).toFixed(1);\r\n\t}\r\n\r\n\tprotected processData(measurements: MeasurementViewModel[]) {\r\n\t\tif (measurements.length > 0) {\r\n\t\t\tthis.chartData.labels = [];\r\n\t\t\tthis.chartData.datasets[0].data = [];\r\n\t\t\tthis.chartData.datasets[1].data = [];\r\n\t\t\tmeasurements.forEach((item: MeasurementViewModel) => {\r\n\t\t\t\tthis.chartData.labels.push(moment(item.data.timestamp).format(\"lll\"));\r\n\t\t\t\tthis.chartData.datasets[0].data.push(this.calculateLevel(item.data.pressure));\r\n\t\t\t\tthis.chartData.datasets[1].data.push(this.convertTemperature(item.data.temperature));\r\n\t\t\t});\r\n\t\t\tthis.chart.refreshChart();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected configureChartAxes() {\r\n\r\n\t\tthis.chartData = {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [\r\n\t\t\t\t{\r\n\t\t\t\t\tlabel: \"% Full\",\r\n\t\t\t\t\tbackgroundColor: \"rgba(0,0,255,0.2)\",\r\n\t\t\t\t\tborderColor: \"rgba(0,0,255,1)\",\r\n\t\t\t\t\tpointColor: \"rgba(0,0,255,1)\",\r\n\t\t\t\t\tpointStrokeColor: \"#fff\",\r\n\t\t\t\t\tpointHighlightFill: \"#fff\",\r\n\t\t\t\t\tpointHighlightStroke: \"rgba(220,220,220,1)\",\r\n\t\t\t\t\tyAxisID: \"Capacity\",\r\n\t\t\t\t\tdata: []\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tlabel: `Temperature (${this.getTemperatureSymbol()})`,\r\n\t\t\t\t\tbackgroundColor: \"rgba(220,220,220,0.2)\",\r\n\t\t\t\t\tborderColor: \"rgba(220,220,220,1)\",\r\n\t\t\t\t\tpointColor: \"rgba(220,220,220,1)\",\r\n\t\t\t\t\tpointStrokeColor: \"#fff\",\r\n\t\t\t\t\tpointHighlightFill: \"#fff\",\r\n\t\t\t\t\tpointHighlightStroke: \"rgba(151,187,205,1)\",\r\n\t\t\t\t\tyAxisID: \"Temperature\",\r\n\t\t\t\t\tdata: []\r\n\t\t\t\t},\r\n\t\t\t]\r\n\t\t};\r\n\t}\r\n\r\n\tprotected configureChartOptions() {\r\n\t\tthis.chartOptions = {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlineTension: 0.4,\r\n\t\t\thover: {\r\n\t\t\t\tmode: \"dataset\"\r\n\t\t\t},\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: true\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tscaleLabel: {\r\n\t\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\t\tlabelString: \"Timestamp\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tid: \"Temperature\",\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tscaleLabel: {\r\n\t\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\t\tlabelString: \"Temperature\"\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tposition: \"right\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tid: \"Capacity\",\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tscaleLabel: {\r\n\t\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\t\tlabelString: \"Capacity\"\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tposition: \"left\"\r\n\t\t\t\t\t}\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { BaseDeviceChart } from \"./base-device-chart\";\r\nimport { Api } from \"../../../services/api\";\r\nimport { MeasurementViewModel } from \"../../../models/measurement-view-model\";\r\nimport * as moment from \"moment\";\r\nimport { Device } from \"../../../models/device\";\r\nimport { PrecipitationConverter } from \"../../../converters/precipitation-value\";\r\nimport { MeasurementSystems } from \"../../../converters/measurement-systems\";\r\n\r\n@autoinject\r\nexport class DecentlabWeatherStationChart extends BaseDeviceChart {\r\n\r\n\tconstructor(api: Api) {\r\n\t\tsuper(api);\r\n\t}\r\n\r\n\tactivate(device: Device) {\r\n\t\tthis.bindDevice(device);\r\n\t}\r\n\r\n\tattached() {\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.isAttached = true;\r\n\t\t},\r\n\t\t\t100);\r\n\t}\r\n\r\n\tcalculatePrecipitation(value: number): number {\r\n\r\n\t\tlet measurementSystem = localStorage.getItem(\"measurement-system\");\r\n\t\tif (!measurementSystem) {\r\n\t\t\tmeasurementSystem = MeasurementSystems.imperial;\r\n\t\t}\r\n\r\n\t\tswitch (measurementSystem) {\r\n\t\t\tcase MeasurementSystems.metric:\r\n\t\t\t\treturn PrecipitationConverter.toMetric(value);\r\n\t\t\tcase MeasurementSystems.imperial:\r\n\t\t\t\treturn PrecipitationConverter.toImperial(value);\r\n\t\t\tdefault:\r\n\t\t\t\treturn PrecipitationConverter.toImperial(value);\r\n\t\t}\r\n\t}\r\n\r\n\t/*\r\n\t{\r\n \"protocolVersion\": 2,\r\n \"deviceId\": 5275,\r\n \"solarRadiation\": 472,\r\n \"precipitation\": 0,\r\n \"lightningStrikeCount\": 0,\r\n \"lightningAverageDistance\": 0,\r\n \"windSpeed\": 0.85,\r\n \"windDirection\": 214,\r\n \"maximumWindSpeed\": 2.19,\r\n \"airTemperature\": 30.8,\r\n \"vaporPressure\": 1.78,\r\n \"atmosphericPressure\": 100.57,\r\n \"relativeHumidity\": 41.1,\r\n \"sensorTemperatureInternal\": 35.4,\r\n \"xOrientationAngle\": -0.1,\r\n \"yOrientationAngle\": 1.4,\r\n \"compassHeading\": 0,\r\n \"northWindSpeed\": -0.7,\r\n \"eastWindSpeed\": -0.47,\r\n \"battery\": 2668,\r\n \"timestamp\": \"2020-10-06T15:08:05\",\r\n \"rssi\": -39\r\n}\r\n\t */\r\n\r\n\tprotected processData(measurements: MeasurementViewModel[]) {\r\n\t\tif (measurements.length > 0) {\r\n\t\t\tthis.chartData.labels = [];\r\n\t\t\tthis.chartData.datasets[0].data = [];\r\n\t\t\tthis.chartData.datasets[1].data = [];\r\n\t\t\tmeasurements.forEach((item: MeasurementViewModel) => {\r\n\t\t\t\tthis.chartData.labels.push(moment(item.data.timestamp));\r\n\t\t\t\t//this.chartData.labels.push(moment(item.data.timestamp).format(\"YY-MM-DD hh:mm a\"));\r\n\t\t\t\tthis.chartData.datasets[0].data.push(this.calculatePrecipitation(item.data.precipitation));\r\n\t\t\t\tthis.chartData.datasets[1].data.push(this.convertTemperature(item.data.airTemperature));\r\n\t\t\t});\r\n\t\t\tthis.chart.refreshChart();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected configureChartAxes() {\r\n\r\n\t\tthis.chartData = {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\tlabel: \"Precipitation\",\r\n\t\t\t\t\tbarThickness: \"flex\",\r\n\t\t\t\t\tbackgroundColor: \"rgba(0,0,255,0.2)\",\r\n\t\t\t\t\tborderColor: \"rgba(0,0,255,1)\",\r\n\t\t\t\t\tpointColor: \"rgba(0,0,255,1)\",\r\n\t\t\t\t\tpointStrokeColor: \"#fff\",\r\n\t\t\t\t\tpointHighlightFill: \"#fff\",\r\n\t\t\t\t\tpointHighlightStroke: \"rgba(220,220,220,1)\",\r\n\t\t\t\t\tyAxisID: \"Precipitation\",\r\n\t\t\t\t\tdata: []\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttype: \"line\",\r\n\t\t\t\t\tlabel: `Temperature (${this.getTemperatureSymbol()})`,\r\n\t\t\t\t\tbackgroundColor: \"rgba(220,220,220,0.2)\",\r\n\t\t\t\t\tborderColor: \"rgba(220,220,220,1)\",\r\n\t\t\t\t\tpointColor: \"rgba(220,220,220,1)\",\r\n\t\t\t\t\tpointStrokeColor: \"#fff\",\r\n\t\t\t\t\tpointHighlightFill: \"#fff\",\r\n\t\t\t\t\tpointHighlightStroke: \"rgba(151,187,205,1)\",\r\n\t\t\t\t\tyAxisID: \"Temperature\",\r\n\t\t\t\t\tdata: []\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t};\r\n\t}\r\n\r\n\tprotected configureChartOptions() {\r\n\t\tthis.chartOptions = {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlineTension: 0.4,\r\n\t\t\thover: {\r\n\t\t\t\tmode: \"dataset\"\r\n\t\t\t},\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: true\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\t//xAxes: [{\r\n\t\t\t\t//\ttype: 'time',\r\n\t\t\t\t//\tdistribution: 'series',\r\n\t\t\t\t//\toffset: true,\r\n\t\t\t\t//\tticks: {\r\n\t\t\t\t//\t\tmajor: {\r\n\t\t\t\t//\t\t\tenabled: true,\r\n\t\t\t\t//\t\t\tfontStyle: 'bold'\r\n\t\t\t\t//\t\t},\r\n\t\t\t\t//\t\tsource: 'data',\r\n\t\t\t\t//\t\tautoSkip: true,\r\n\t\t\t\t//\t\tautoSkipPadding: 75,\r\n\t\t\t\t//\t\tmaxRotation: 0,\r\n\t\t\t\t//\t\tsampleSize: 100\r\n\t\t\t\t//\t},\r\n\t\t\t\t//\tafterBuildTicks(scale, ticks) {\r\n\t\t\t\t//\t\tconst majorUnit = scale._majorUnit;\r\n\t\t\t\t//\t\tconst firstTick = ticks[0];\r\n\t\t\t\t//\t\tvar i, ilen, val, tick, currMajor, lastMajor;\r\n\r\n\t\t\t\t//\t\tval = moment(ticks[0].value);\r\n\t\t\t\t//\t\tif ((majorUnit === 'minute' && val.second() === 0)\r\n\t\t\t\t//\t\t\t|| (majorUnit === 'hour' && val.minute() === 0)\r\n\t\t\t\t//\t\t\t|| (majorUnit === 'day' && val.hour() === 9)\r\n\t\t\t\t//\t\t\t|| (majorUnit === 'month' && val.date() <= 3 && val.isoWeekday() === 1)\r\n\t\t\t\t//\t\t\t|| (majorUnit === 'year' && val.month() === 0)) {\r\n\t\t\t\t//\t\t\tfirstTick.major = true;\r\n\t\t\t\t//\t\t} else {\r\n\t\t\t\t//\t\t\tfirstTick.major = false;\r\n\t\t\t\t//\t\t}\r\n\t\t\t\t//\t\tlastMajor = val.get(majorUnit);\r\n\r\n\t\t\t\t//\t\tfor (i = 1, ilen = ticks.length; i < ilen; i++) {\r\n\t\t\t\t//\t\t\ttick = ticks[i];\r\n\t\t\t\t//\t\t\tval = moment(tick.value);\r\n\t\t\t\t//\t\t\tcurrMajor = val.get(majorUnit);\r\n\t\t\t\t//\t\t\ttick.major = currMajor !== lastMajor;\r\n\t\t\t\t//\t\t\tlastMajor = currMajor;\r\n\t\t\t\t//\t\t}\r\n\t\t\t\t//\t\treturn ticks;\r\n\t\t\t\t//\t}\r\n\t\t\t\t//}],\r\n\t\t\t\t//xAxes: [{\r\n\t\t\t\t//\ttype: 'time',\r\n\t\t\t\t//\tdistribution: 'series'\r\n\t\t\t\t//}],\r\n\t\t\t\t//xAxes: [\r\n\t\t\t\t//\t{\r\n\t\t\t\t//\t\tdisplay: true,\r\n\t\t\t\t//\t\tscaleLabel: {\r\n\t\t\t\t//\t\t\tdisplay: true,\r\n\t\t\t\t//\t\t\tlabelString: \"Timestamp\"\r\n\t\t\t\t//\t\t}\r\n\t\t\t\t//\t}\r\n\t\t\t\t//],\r\n\t\t\t\txAxes: [{\r\n\t\t\t\t\ttype: \"time\",\r\n\t\t\t\t\ttime: {\r\n\t\t\t\t\t\t//format: \"MM/DD/YYYY HH:mm\"\r\n\t\t\t\t\t\tunit: \"day\"\r\n\t\t\t\t\t}\r\n\t\t\t\t}],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tid: \"Temperature\",\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tscaleLabel: {\r\n\t\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\t\tlabelString: \"Temperature\"\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tposition: \"right\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tid: \"Precipitation\",\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tscaleLabel: {\r\n\t\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\t\tlabelString: \"Precipitation\"\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tposition: \"left\"\r\n\t\t\t\t\t}\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\r\n}\r\n\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { BaseDeviceChart } from \"./base-device-chart\";\r\nimport { Api } from \"../../../services/api\";\r\n\r\n@autoinject\r\nexport class LansitecTemperatureHumidityChart extends BaseDeviceChart {\r\n\r\n\tconstructor(api: Api) {\r\n\t\tsuper(api);\r\n\t}\r\n\r\n\tattached() {\r\n\t\tsetTimeout(() => {\r\n\t\t\t\tthis.isAttached = true;\r\n\t\t\t},\r\n\t\t\t100);\r\n\t}\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { BaseDeviceChart } from \"./base-device-chart\";\r\nimport { Api } from \"../../../services/api\";\r\nimport { Device } from \"../../../models/device\";\r\nimport { MeasurementViewModel } from \"../../../models/measurement-view-model\";\r\nimport * as moment from \"moment\";\r\n\r\n@autoinject\r\nexport class NetvoxTemperatureHumidityChart extends BaseDeviceChart {\r\n\r\n\tconstructor(api: Api) {\r\n\t\tsuper(api);\r\n\t}\r\n\r\n\tactivate(device: Device) {\r\n\t\tthis.bindDevice(device);\r\n\t}\r\n\r\n\tattached() {\r\n\t\tsetTimeout(() => {\r\n\t\t\t\tthis.isAttached = true;\r\n\t\t\t},\r\n\t\t\t100);\r\n\t}\r\n\r\n\tprotected processData(measurements: MeasurementViewModel[]) {\r\n\t\tif (measurements.length > 0) {\r\n\t\t\tthis.chartData.labels = [];\r\n\t\t\tthis.chartData.datasets[0].data = [];\r\n\t\t\tthis.chartData.datasets[1].data = [];\r\n\t\t\tmeasurements.forEach((item: MeasurementViewModel) => {\r\n\t\t\t\tthis.chartData.labels.push(moment(item.data.timestamp).format(\"lll\"));\r\n\t\t\t\tthis.chartData.datasets[0].data.push(this.convertTemperature(item.data.temperature));\r\n\t\t\t\tthis.chartData.datasets[1].data.push(item.data.humidity);\r\n\t\t\t});\r\n\t\t\tthis.chart.refreshChart();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected configureChartAxes() {\r\n\r\n\t\tthis.chartData = {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [\r\n\t\t\t\t{\r\n\t\t\t\t\tlabel: `Temperature (${this.getTemperatureSymbol()})`,\r\n\t\t\t\t\tbackgroundColor: \"rgba(0,0,255,0.2)\",\r\n\t\t\t\t\tborderColor: \"rgba(0,0,255,1)\",\r\n\t\t\t\t\tpointColor: \"rgba(0,0,255,1)\",\r\n\t\t\t\t\tpointStrokeColor: \"#fff\",\r\n\t\t\t\t\tpointHighlightFill: \"#fff\",\r\n\t\t\t\t\tpointHighlightStroke: \"rgba(220,220,220,1)\",\r\n\t\t\t\t\tyAxisID: \"Temperature\",\r\n\t\t\t\t\tdata: []\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tlabel: \"Humidity (%RH)\",\r\n\t\t\t\t\tbackgroundColor: \"rgba(220,220,220,0.2)\",\r\n\t\t\t\t\tborderColor: \"rgba(220,220,220,1)\",\r\n\t\t\t\t\tpointColor: \"rgba(220,220,220,1)\",\r\n\t\t\t\t\tpointStrokeColor: \"#fff\",\r\n\t\t\t\t\tpointHighlightFill: \"#fff\",\r\n\t\t\t\t\tpointHighlightStroke: \"rgba(151,187,205,1)\",\r\n\t\t\t\t\tyAxisID: \"Humidity\",\r\n\t\t\t\t\tdata: []\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t};\r\n\t}\r\n\r\n\tprotected configureChartOptions() {\r\n\t\tthis.chartOptions = {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlineTension: 0.4,\r\n\t\t\thover: {\r\n\t\t\t\tmode: \"dataset\"\r\n\t\t\t},\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: true\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tscaleLabel: {\r\n\t\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\t\tlabelString: \"Timestamp\"\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tid: \"Temperature\",\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tscaleLabel: {\r\n\t\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\t\tlabelString: \"Temperature\"\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tposition: \"left\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tid: \"Humidity\",\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tscaleLabel: {\r\n\t\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\t\tlabelString: \"Humidity\"\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tposition: \"right\"\r\n\t\t\t\t\t}\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { BaseDeviceChart } from \"./base-device-chart\";\r\nimport { Api } from \"../../../services/api\";\r\nimport { Device } from \"../../../models/device\";\r\nimport { MeasurementViewModel } from \"../../../models/measurement-view-model\";\r\nimport * as moment from \"moment\";\r\n\r\n@autoinject\r\nexport class SensumSoilMoistureChart extends BaseDeviceChart {\r\n\r\n\tconstructor(api: Api) {\r\n\t\tsuper(api);\r\n\t}\r\n\r\n\tactivate(device: Device) {\r\n\t\tthis.bindDevice(device);\r\n\t}\r\n\r\n\tattached() {\r\n\t\tsetTimeout(() => {\r\n\t\t\t\tthis.isAttached = true;\r\n\t\t\t},\r\n\t\t\t100);\r\n\t}\r\n\r\n\tprotected processData(measurements: MeasurementViewModel[]) {\r\n\t\tif (measurements.length > 0) {\r\n\t\t\tthis.chartData.labels = [];\r\n\t\t\tthis.chartData.datasets[0].data = [];\r\n\t\t\tthis.chartData.datasets[1].data = [];\r\n\t\t\tmeasurements.forEach((item: MeasurementViewModel) => {\r\n\t\t\t\tthis.chartData.labels.push(moment(item.data.timestamp).format(\"lll\"));\r\n\t\t\t\tthis.chartData.datasets[0].data.push(this.convertTemperature(item.data.temperature));\r\n\t\t\t\tthis.chartData.datasets[1].data.push(item.data.humidity);\r\n\t\t\t});\r\n\t\t\tthis.chart.refreshChart();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected configureChartAxes() {\r\n\r\n\t\tthis.chartData = {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [\r\n\t\t\t\t{\r\n\t\t\t\t\tlabel: `Temperature (${this.getTemperatureSymbol()})`,\r\n\t\t\t\t\tbackgroundColor: \"rgba(0,0,255,0.2)\",\r\n\t\t\t\t\tborderColor: \"rgba(0,0,255,1)\",\r\n\t\t\t\t\tpointColor: \"rgba(0,0,255,1)\",\r\n\t\t\t\t\tpointStrokeColor: \"#fff\",\r\n\t\t\t\t\tpointHighlightFill: \"#fff\",\r\n\t\t\t\t\tpointHighlightStroke: \"rgba(220,220,220,1)\",\r\n\t\t\t\t\tyAxisID: \"Temperature\",\r\n\t\t\t\t\tdata: []\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tlabel: \"Humidity (%RH)\",\r\n\t\t\t\t\tbackgroundColor: \"rgba(220,220,220,0.2)\",\r\n\t\t\t\t\tborderColor: \"rgba(220,220,220,1)\",\r\n\t\t\t\t\tpointColor: \"rgba(220,220,220,1)\",\r\n\t\t\t\t\tpointStrokeColor: \"#fff\",\r\n\t\t\t\t\tpointHighlightFill: \"#fff\",\r\n\t\t\t\t\tpointHighlightStroke: \"rgba(151,187,205,1)\",\r\n\t\t\t\t\tyAxisID: \"Humidity\",\r\n\t\t\t\t\tdata: []\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t};\r\n\t}\r\n\r\n\tprotected configureChartOptions() {\r\n\t\tthis.chartOptions = {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlineTension: 0.4,\r\n\t\t\thover: {\r\n\t\t\t\tmode: \"dataset\"\r\n\t\t\t},\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: true\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tscaleLabel: {\r\n\t\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\t\tlabelString: \"Timestamp\"\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tid: \"Temperature\",\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tscaleLabel: {\r\n\t\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\t\tlabelString: \"Temperature\"\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tposition: \"left\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tid: \"Humidity\",\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tscaleLabel: {\r\n\t\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\t\tlabelString: \"Humidity\"\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tposition: \"right\"\r\n\t\t\t\t\t}\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { BaseDeviceChart } from \"./base-device-chart\";\r\nimport { Api } from \"../../../services/api\";\r\nimport { Device } from \"../../../models/device\";\r\nimport { MeasurementViewModel } from \"../../../models/measurement-view-model\";\r\nimport * as moment from \"moment\";\r\n\r\n@autoinject\r\nexport class StregaSmartValveChart extends BaseDeviceChart {\r\n\r\n\tconstructor(api: Api) {\r\n\t\tsuper(api);\r\n\t}\r\n\r\n\tactivate(device: Device) {\r\n\t\tthis.bindDevice(device);\r\n\t}\r\n\r\n\tattached() {\r\n\t\tsetTimeout(() => {\r\n\t\t\t\tthis.isAttached = true;\r\n\t\t\t},\r\n\t\t\t100);\r\n\t}\r\n\r\n\tprotected processData(measurements: MeasurementViewModel[]) {\r\n\t\tif (measurements.length > 0) {\r\n\t\t\tthis.chartData.labels = [];\r\n\t\t\tthis.chartData.datasets[0].data = [];\r\n\t\t\tmeasurements.forEach((item: MeasurementViewModel) => {\r\n\t\t\t\tthis.chartData.labels.push(moment(item.data.timestamp).format(\"lll\"));\r\n\t\t\t\tthis.chartData.datasets[0].data.push(item.data.digitalOutput);\r\n\t\t\t});\r\n\t\t\tthis.chart.refreshChart();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected configureChartAxes() {\r\n\r\n\t\tthis.chartData = {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [\r\n\r\n\t\t\t\t{\r\n\t\t\t\t\tlabel: \"Status\",\r\n\t\t\t\t\tbackgroundColor: \"rgba(0,0,255,0.2)\",\r\n\t\t\t\t\tborderColor: \"rgba(0,0,255,1)\",\r\n\t\t\t\t\tpointColor: \"rgba(0,0,255,1)\",\r\n\t\t\t\t\tpointStrokeColor: \"#fff\",\r\n\t\t\t\t\tpointHighlightFill: \"#fff\",\r\n\t\t\t\t\tpointHighlightStroke: \"rgba(220,220,220,1)\",\r\n\t\t\t\t\tyAxisID: \"Status\",\r\n\t\t\t\t\tdata: []\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t};\r\n\t}\r\n\r\n\tprotected configureChartOptions() {\r\n\t\tthis.chartOptions = {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlineTension: 0.4,\r\n\t\t\thover: {\r\n\t\t\t\tmode: \"dataset\"\r\n\t\t\t},\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: true\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tscaleLabel: {\r\n\t\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\t\tlabelString: \"Timestamp\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tid: \"Status\",\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tscaleLabel: {\r\n\t\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\t\tlabelString: \"Status\"\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tposition: \"left\"\r\n\t\t\t\t\t}\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { BaseDeviceChart } from \"./base-device-chart\";\r\nimport { Api } from \"../../../services/api\";\r\nimport * as moment from \"moment\";\r\nimport { Device } from \"../../../models/device\";\r\nimport { MeasurementViewModel } from \"../../../models/measurement-view-model\";\r\n\r\n@autoinject\r\nexport class ThingsNodeChart extends BaseDeviceChart {\r\n\r\n\trange: any;\r\n\r\n\tconstructor(api: Api) {\r\n\t\tsuper(api);\r\n\t}\r\n\r\n\tactivate(device: Device) {\r\n\t\tthis.bindDevice(device);\r\n\t}\r\n\r\n\tattached() {\r\n\t\tsetTimeout(() => {\r\n\t\t\t\tthis.isAttached = true;\r\n\t\t\t},\r\n\t\t\t100);\r\n\t}\r\n\r\n\tprotected processData(measurements: MeasurementViewModel[]) {\r\n\t\tif (measurements.length > 0) {\r\n\t\t\tthis.chartData.labels = [];\r\n\t\t\tthis.chartData.datasets[0].data = [];\r\n\t\t\tmeasurements.forEach((item: MeasurementViewModel) => {\r\n\t\t\t\tthis.chartData.labels.push(moment(item.data.timestamp).format(\"lll\"));\r\n\t\t\t\tthis.chartData.datasets[0].data.push(this.convertTemperature(item.data.temperature));\r\n\t\t\t});\r\n\t\t\tthis.chart.refreshChart();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected configureChartAxes() {\r\n\r\n\t\tthis.chartData = {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [\r\n\t\t\t\t{\r\n\t\t\t\t\tlabel: `Temperature (${this.getTemperatureSymbol()})`,\r\n\t\t\t\t\tbackgroundColor: \"rgba(0,0,255,0.2)\",\r\n\t\t\t\t\tborderColor: \"rgba(0,0,255,1)\",\r\n\t\t\t\t\tpointColor: \"rgba(0,0,255,1)\",\r\n\t\t\t\t\tpointStrokeColor: \"#fff\",\r\n\t\t\t\t\tpointHighlightFill: \"#fff\",\r\n\t\t\t\t\tpointHighlightStroke: \"rgba(220,220,220,1)\",\r\n\t\t\t\t\tdata: []\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t};\r\n\t}\r\n\r\n\tprotected configureChartOptions() {\r\n\t\tthis.chartOptions = {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlineTension: 0.4,\r\n\t\t\thover: {\r\n\t\t\t\tmode: \"dataset\"\r\n\t\t\t},\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: true\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tscaleLabel: {\r\n\t\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\t\tlabelString: \"Timestamp\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tscaleLabel: {\r\n\t\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\t\tlabelString: \"Temperature\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { BaseDeviceChart } from \"./base-device-chart\";\r\nimport { Api } from \"../../../services/api\";\r\nimport { Device } from \"../../../models/device\";\r\nimport { MeasurementViewModel } from \"../../../models/measurement-view-model\";\r\nimport * as moment from \"moment\";\r\n\r\n@autoinject\r\nexport class UrsalinkUc1152Chart extends BaseDeviceChart {\r\n\r\n\tconstructor(api: Api) {\r\n\t\tsuper(api);\r\n\t}\r\n\r\n\tactivate(device: Device) {\r\n\t\tthis.bindDevice(device);\r\n\t}\r\n\r\n\tattached() {\r\n\t\tsetTimeout(() => {\r\n\t\t\t\tthis.isAttached = true;\r\n\t\t\t},\r\n\t\t\t100);\r\n\t}\r\n\r\n\tprotected processData(measurements: MeasurementViewModel[]) {\r\n\t\tif (measurements.length > 0) {\r\n\t\t\tthis.chartData.labels = [];\r\n\t\t\tthis.chartData.datasets[0].data = [];\r\n\t\t\tmeasurements.forEach((item: MeasurementViewModel) => {\r\n\t\t\t\tthis.chartData.labels.push(moment(item.data.timestamp).format(\"lll\"));\r\n\t\t\t\tthis.chartData.datasets[0].data.push(item.data.digitalOutput);\r\n\t\t\t});\r\n\t\t\tthis.chart.refreshChart();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected configureChartAxes() {\r\n\r\n\t\tthis.chartData = {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [\r\n\r\n\t\t\t\t{\r\n\t\t\t\t\tlabel: \"Status\",\r\n\t\t\t\t\tbackgroundColor: \"rgba(0,0,255,0.2)\",\r\n\t\t\t\t\tborderColor: \"rgba(0,0,255,1)\",\r\n\t\t\t\t\tpointColor: \"rgba(0,0,255,1)\",\r\n\t\t\t\t\tpointStrokeColor: \"#fff\",\r\n\t\t\t\t\tpointHighlightFill: \"#fff\",\r\n\t\t\t\t\tpointHighlightStroke: \"rgba(220,220,220,1)\",\r\n\t\t\t\t\tyAxisID: \"Status\",\r\n\t\t\t\t\tdata: []\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t};\r\n\t}\r\n\r\n\tprotected configureChartOptions() {\r\n\t\tthis.chartOptions = {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlineTension: 0.4,\r\n\t\t\thover: {\r\n\t\t\t\tmode: \"dataset\"\r\n\t\t\t},\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: true\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tscaleLabel: {\r\n\t\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\t\tlabelString: \"Timestamp\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tid: \"Status\",\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tscaleLabel: {\r\n\t\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\t\tlabelString: \"Status\"\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tposition: \"left\"\r\n\t\t\t\t\t}\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject, computedFrom } from \"aurelia-framework\";\r\nimport { Structure } from \"../../models/structure\";\r\nimport { Location } from \"../../models/location\";\r\nimport { Store } from \"aurelia-store\";\r\nimport { IState } from \"../../store/state\";\r\nimport { Subscription } from \"rxjs\";\r\nimport * as Linq from \"linq-es2015\";\r\nimport { Zone } from \"../../models/zone\";\r\nimport { I18N } from \"aurelia-i18n\";\r\nimport { updateStructure } from \"../../store/actions/structure-actions\";\r\nimport { dispatchify } from \"aurelia-store\";\r\nimport * as State from \"../../store/state\";\r\nimport { MdToastService } from \"aurelia-materialize-bridge\";\r\nimport { Api } from \"../../services/api\";\r\n\r\n@autoinject\r\nexport class StructureDetail {\r\n\tapplicationState: IState;\r\n\r\n\tstructure: Structure;\r\n\tzone: Zone;\r\n\tlocation: Location;\r\n\r\n\tprivate locations: Location[];\r\n\tprivate subscription: Subscription;\r\n\tprivate params: any;\r\n\r\n\tactive: boolean = false;\r\n\tmessage: string;\r\n\r\n\tconstructor(private store: Store, private i18n: I18N, private toastService: MdToastService, private api: Api) {\r\n\t\tthis.message = i18n.tr(\"adding-location\");\r\n\t}\r\n\t\r\n\tselectChanged(status: any) {\r\n\t\tthis.active = true;\r\n\t\tdispatchify(updateStructure)(this.structure, this.location.id, this.zone.id).then(state => {\r\n\t\t\tconst s = state;\r\n\t\t\tthis.toastService.show(this.i18n.tr(\"data-saved\"),\r\n\t\t\t\t4000,\r\n\t\t\t\t\"rounded blue\");\r\n\t\t});\r\n\t\tthis.active = false;\r\n\t}\r\n\r\n\tasync bind(bindingContext: any, overrideContext: any) {\r\n\t\tthis.subscription = this.store.state.subscribe(async (state) => {\r\n\t\t\tthis.applicationState = state;\r\n\t\t\tthis.locations = state.locationState.selectedLocations;\r\n\t\t\tthis.structure = await this.getStructure(this.params);\r\n\t\t});\r\n\r\n\t}\r\n\r\n\tunbind() {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n\r\n\tactivate(params: any) {\r\n\t\tthis.params = params;\r\n\t}\r\n\r\n\tasync getStructure(params: any): Promise {\r\n\t\tthis.location = Linq.AsEnumerable(this.locations).FirstOrDefault(l => l.id === params.locationId);\r\n\t\tif (this.location == null) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tthis.zone = Linq.AsEnumerable(this.location.zones).FirstOrDefault(zone => zone.id === params.zoneId);\r\n\t\tif (this.zone == null) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tconst structure = Linq.AsEnumerable(this.zone.structures).FirstOrDefault(s => s.id === params.structureId);\r\n\t\tif (structure == null) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn structure;\r\n\t}\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"structure-tableau .inner-card{min-width:250px;max-width:400px;margin:15px}structure-tableau .card-title{margin-top:15px;margin-left:15px;text-transform:uppercase}\", \"\"]);\n\n","import { autoinject, computedFrom } from \"aurelia-framework\";\r\nimport { Router } from \"aurelia-router\";\r\nimport { MeasurementViewModel } from \"../../models/measurement-view-model\";\r\nimport { dispatchify, Store } from \"aurelia-store\";\r\nimport * as State from \"../../store/state\";\r\nimport IState = State.IState;\r\nimport { Subscription } from \"rxjs\";\r\n\r\n@autoinject\r\nexport class WarningCard {\r\n warning: MeasurementViewModel;\r\n\tprotected applicationState: IState;\r\n\tprotected subscription: Subscription;\r\n\tprotected store: Store;\r\n\tprotected router: Router;\r\n\r\n\tconstructor(store: Store, router: Router) {\r\n\t\tthis.store = store;\r\n\t\tthis.router = router;\r\n\t}\r\n bind(bindingContext: any, overrideContext: any) {\r\n\t this.warning = bindingContext.warning;\r\n\t\tthis.subscription = this.store.state.subscribe((state) => {\r\n\t\t\tthis.applicationState = state;\r\n\t\t});\r\n\t}\r\n\r\n\tunbind() {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n\r\n\t@computedFrom(\"applicationState\")\r\n\tget warningMessages() {\r\n\treturn this.warning ? this.warning.warningMessages : null;\r\n\t}\r\n\r\n\t@computedFrom(\"applicationState\")\r\n\tget header(): string {\r\n\t\treturn this.warning ? `${this.warning.metadata.zoneName} > ${this.warning.metadata.structureName} > ${this.warning.metadata.deviceName }` : null;\r\n\t}\r\n\r\n\t@computedFrom(\"applicationState\")\r\n\tget timestamp(): Date {\r\n\t\treturn this.warning ? this.warning.data.timestamp : null ;\r\n\t}\r\n\r\n\t@computedFrom(\"applicationState\")\r\n\tget statusColor(): string {\r\n\t\treturn this.warning ? this.warning.deviceStyle : null;\r\n\t}\r\n\r\n\tnavigateToDetails() {\r\n\t\tconst device = this.warning.metadata;\r\n\t\tthis.router.navigateToRoute(\"structure-detail\", {locationId: device.locationId, zoneId: device.zoneId, structureId: device.structureId});\r\n\t}\r\n\r\n\tpauseNotifications(event: any) {\r\n\t\tevent.stopPropagation();\r\n\t}\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".warning-card{cursor:pointer}\", \"\"]);\n\n","import { autoinject, computedFrom } from \"aurelia-framework\";\r\nimport { Location } from \"../../models/location\";\r\nimport * as Linq from \"linq-es2015\";\r\nimport { dispatchify, Store } from \"aurelia-store\";\r\nimport { getLocationWarnings } from \"../../store/actions/measurement-actions\";\r\nimport * as State from \"../../store/state\";\r\nimport IState = State.IState;\r\nimport { Subscription } from \"rxjs\";\r\nimport { MeasurementViewModel } from \"../../models/measurement-view-model\";\r\nimport { MdTabs } from \"aurelia-materialize-bridge\";\r\n\r\n@autoinject\r\nexport class WarningTableau {\r\n\tlocations: Array = new Array();\r\n\tselectedLocation: Location;\r\n\thasLocations: boolean = false;\r\n\tisActive: boolean = false;\r\n\ttabs: MdTabs;\r\n\tprotected applicationState: IState;\r\n\tprotected subscription: Subscription;\r\n\tprotected store: Store;\r\n\r\n\tconstructor(store: Store) {\r\n\t\tthis.store = store;\r\n\t}\r\n\r\n\tbind(bindingContext: any, overrideContext: any) {\r\n\r\n\t\tthis.subscription = this.store.state.subscribe(async (state) => {\r\n\r\n\t\t\tthis.applicationState = state;\r\n\t\t\tif (this.applicationState.locationState.initialized) {\r\n\t\t\t\tthis.locations = this.applicationState.locationState.selectedLocations;\r\n\t\t\t\tif (!this.selectedLocation && this.locations && this.locations.length > 0) {\r\n\t\t\t\t\tthis.selectedLocation = this.locations[0];\r\n\t\t\t\t\tawait this.getWarnings(this.selectedLocation.id);\r\n\t\t\t\t\tthis.hasLocations = true;\r\n\t\t\t\t\tthis.tabs.refresh();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tasync activate() {\r\n\t\tawait this.getWarnings(this.selectedLocation.id);\r\n\t\tthis.tabs.refresh();\r\n\t}\r\n\r\n\tunbind() {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n\r\n\t@computedFrom(\"selectedLocation\")\r\n\tget warnings(): Array {\r\n\t\treturn this.selectedLocation.currentMeasurements.filter(measurement => measurement.metadata && measurement.metadata.deviceType !== \"UrsalinkUc1114\");\r\n\t}\r\n\r\n\t@computedFrom(\"locations\")\r\n\tget locationsLoaded() {\r\n\t\treturn this.locations.length > 0;\r\n\t}\r\n\r\n\t@computedFrom(\"applicationState\")\r\n\tget hasWarnings(): boolean {\r\n\t\treturn this.selectedLocation ? (this.selectedLocation.currentMeasurements ? this.selectedLocation.currentMeasurements.length > 0 : false) : false;\r\n\t}\r\n\r\n\tasync getWarnings(locationId: string) {\r\n\t\tthis.isActive = true;\r\n\t\tawait dispatchify(getLocationWarnings)(locationId);\r\n\t\tthis.isActive = false;\r\n\t}\r\n\r\n\tasync refreshWarnings() {\r\n\t\tawait this.getWarnings(this.selectedLocation.id);\r\n\t}\r\n\r\n\tasync onTabSelected($event) {\r\n\t\tconst locationId = $event.detail.substring(1);\r\n\t\tconst locationList = Linq.AsEnumerable(this.locations);\r\n\t\tthis.selectedLocation = locationList.First(location => location.id === locationId);\r\n\t\tawait this.getWarnings(this.selectedLocation.id);\r\n\t}\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { pluck } from \"rxjs/operators\";\r\nimport { connectTo, Store } from \"aurelia-store\";\r\nimport { applicationLogger } from \"../../logging/logger\";\r\nimport { IState } from \"../../store/state\";\r\n\r\n@autoinject\r\nexport class Warnings {\r\n\r\n\tconstructor(private readonly store: Store) {\r\n\t\t// no-op\r\n\t}\r\n}\r\n","module.exports = \"\";","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n\n","import { autoinject } from \"aurelia-framework\";\r\nimport { HttpClient } from \"aurelia-fetch-client\";\r\nimport { Location } from \"../models/location\";\r\nimport { LocationHierarchy } from \"../models/location-hierarchy\";\r\nimport { MeasurementViewModel } from \"../models/measurement-view-model\";\r\nimport { DigitalOutputToggleRequestViewModel } from \"../models/digital-output-toggle-request-view-model\";\r\nimport { MeasurementRequestViewModel } from \"../models/measurement-request-view-model\";\r\nimport { DeviceMeasurementRequestViewModel } from \"../models/device-measurement-request-view-model\";\r\nimport { TreeNode } from \"../pages/notification-rules/tree-node\";\r\nimport { Property } from \"../models/property\";\r\nimport { getLocationHierarchy, addLocation } from \"../store/actions/location-actions\";\r\nimport { WebApiResponse } from \"../models/web-api-response\";\r\nimport { Structure } from \"../models/structure\";\r\nimport { NotificationRecipient } from \"../models/notification-recipient\";\r\nimport { AddDeviceRequestViewModel } from \"../models/add-device-request-view-model\";\r\nimport { Device } from \"../models/device\";\r\nimport { IApiError } from \"../models/application-error\";\r\nimport { applicationLogger } from \"../logging/logger\";\r\n\r\n@autoinject\r\nexport class Api {\r\n\thttpClient: HttpClient;\r\n\r\n\tconstructor(httpClient: HttpClient) {\r\n\t\tthis.httpClient = httpClient;\r\n\t}\r\n\r\n\tgetGraphData(graphRequest: DeviceMeasurementRequestViewModel): Promise>> {\r\n\t\treturn this.httpClient.fetch(\"api/GraphMeasurements\",\r\n\t\t\t{\r\n\t\t\t\tmethod: \"POST\",\r\n\t\t\t\tbody: JSON.stringify(graphRequest),\r\n\t\t\t\theaders: {\r\n\t\t\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t\t\t\"Accept\": \"application/json\"\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.then(result => result.json() as Promise>>)\r\n\t\t\t.then(response => { return response; })\r\n\t\t\t.catch(error => {\r\n\t\t\t\tconst apiError = error as IApiError;\r\n\t\t\t\tapplicationLogger.error(apiError.message);\r\n\t\t\t\treturn null;\r\n\t\t\t});\r\n\t}\r\n\r\n\t// api/RulesTree\r\n\tgetRulesTree(locationId: string): Promise {\r\n\t\treturn this.httpClient.fetch(`api/RulesTree/${locationId}`)\r\n\t\t\t.then(result => result.json() as Promise)\r\n\t\t\t.then(treeNode => { return treeNode; });\r\n\t}\r\n\r\n\tgetNotificationRecipients(locationId: string): Promise> {\r\n\t\treturn this.httpClient.fetch(`api/Notifications/Recipients/?locationId=${locationId}`)\r\n\t\t\t.then(result => result.json() as Promise>)\r\n\t\t\t.then(array => { return array; });\r\n\t}\r\n\r\n\ttoggleCurtain(digitalOutputToggleRequest: DigitalOutputToggleRequestViewModel): Promise> {\r\n\t\treturn this.httpClient.fetch(`api/CurtainController`,\r\n\t\t\t\t{\r\n\t\t\t\t\tmethod: \"POST\",\r\n\t\t\t\t\tbody: JSON.stringify(digitalOutputToggleRequest),\r\n\t\t\t\t\theaders: {\r\n\t\t\t\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t\t\t\t\"Accept\": \"application/json\"\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t.then(result => result.json() as Promise>)\r\n\t\t\t.then(result => { return result; })\r\n\t\t\t.catch(error => {\r\n\t\t\t\treturn error;\r\n\t\t\t});\r\n\t}\r\n\r\n\ttoggleZoneCurtains(digitalOutputToggleRequest: DigitalOutputToggleRequestViewModel): Promise> {\r\n\t\treturn this.httpClient.fetch(`api/ZoneCurtainController`,\r\n\t\t\t\t{\r\n\t\t\t\t\tmethod: \"POST\",\r\n\t\t\t\t\tbody: JSON.stringify(digitalOutputToggleRequest),\r\n\t\t\t\t\theaders: {\r\n\t\t\t\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t\t\t\t\"Accept\": \"application/json\"\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t.then(result => result.json() as Promise>)\r\n\t\t\t.then(result => { return result; })\r\n\t\t\t.catch(error => {\r\n\t\t\t\treturn error;\r\n\t\t\t});\r\n\t}\r\n\r\n\ttoggleLocationCurtains(digitalOutputToggleRequest: DigitalOutputToggleRequestViewModel): Promise> {\r\n\t\treturn this.httpClient.fetch(`api/LocationCurtainController`,\r\n\t\t\t\t{\r\n\t\t\t\t\tmethod: \"POST\",\r\n\t\t\t\t\tbody: JSON.stringify(digitalOutputToggleRequest),\r\n\t\t\t\t\theaders: {\r\n\t\t\t\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t\t\t\t\"Accept\": \"application/json\"\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t.then(result => result.json() as Promise>)\r\n\t\t\t.then(result => { return result; })\r\n\t\t\t.catch(error => {\r\n\t\t\t\treturn error;\r\n\t\t\t});\r\n\t}\r\n\r\n\ttoggleDigitalOutput(digitalOutputToggleRequest: DigitalOutputToggleRequestViewModel): Promise> {\r\n\t\treturn this.httpClient.fetch(`api/DirectMessage`,\r\n\t\t\t{\r\n\t\t\t\tmethod: \"POST\",\r\n\t\t\t\tbody: JSON.stringify(digitalOutputToggleRequest),\r\n\t\t\t\theaders: {\r\n\t\t\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t\t\t\"Accept\": \"application/json\"\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t.then(result => result.json() as Promise>)\r\n\t\t.then(result => { return result; })\r\n\t\t.catch(error => {\r\n\t\t\treturn error;\r\n\t\t});\r\n\t}\r\n\r\n\ttoggleValve(digitalOutputToggleRequest: DigitalOutputToggleRequestViewModel): Promise> {\r\n\t\treturn this.httpClient.fetch(`api/CloudToDeviceMessage`,\r\n\t\t\t\t{\r\n\t\t\t\t\tmethod: \"POST\",\r\n\t\t\t\t\tbody: JSON.stringify(digitalOutputToggleRequest),\r\n\t\t\t\t\theaders: {\r\n\t\t\t\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t\t\t\t\"Accept\": \"application/json\"\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t.then(result => result.json() as Promise>)\r\n\t\t\t.then(result => { return result; })\r\n\t\t\t.catch(error => {\r\n\t\t\t\treturn error;\r\n\t\t\t});\r\n\r\n\t}\r\n\r\n\taddOrUpdateNotificationRecipient(recipient: NotificationRecipient): Promise> {\r\n\t\treturn this.httpClient.fetch(`api/Notifications/Recipient`,\r\n\t\t\t{\r\n\t\t\t\tmethod: \"POST\",\r\n\t\t\t\tbody: JSON.stringify(recipient),\r\n\t\t\t\theaders: {\r\n\t\t\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t\t\t\"Accept\": \"application/json\"\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.then(result => result.json() as Promise>)\r\n\t\t\t.then(result => { return result; })\r\n\t\t\t.catch(error => {\r\n\t\t\t\treturn error;\r\n\t\t\t});\r\n\t}\r\n\r\n\taddOrUpdateProperty(type: string, id: string, property: Property): Promise> {\r\n\t\treturn this.httpClient.fetch(`api/${type}/${id}/property`,\r\n\t\t\t{\r\n\t\t\t\tmethod: \"POST\",\r\n\t\t\t\tbody: JSON.stringify(property),\r\n\t\t\t\theaders: {\r\n\t\t\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t\t\t\"Accept\": \"application/json\"\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.then(result => result.json() as Promise>)\r\n\t\t\t.then(result => { return result; })\r\n\t\t\t.catch(error => {\r\n\t\t\t\treturn error;\r\n\t\t\t});\r\n\t}\r\n\r\n\tdeleteProperty(type: string, id: string, property: Property): Promise> {\r\n\t\treturn this.httpClient.fetch(`api/${type}/${id}/property`,\r\n\t\t\t{\r\n\t\t\t\tmethod: \"DELETE\",\r\n\t\t\t\tbody: JSON.stringify(property),\r\n\t\t\t\theaders: {\r\n\t\t\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t\t\t\"Accept\": \"application/json\"\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.then(result => result.json() as Promise>)\r\n\t\t\t.then(result => { return result; })\r\n\t\t\t.catch(error => {\r\n\t\t\t\treturn error;\r\n\t\t\t});\r\n\t}\r\n\r\n\taddIotHubDevice(addDeviceRequestViewModel: AddDeviceRequestViewModel): Promise {\r\n\r\n\t\treturn this.httpClient.fetch(\"api/device\",\r\n\t\t\t{\r\n\t\t\t\tmethod: \"POST\",\r\n\t\t\t\tbody: JSON.stringify(addDeviceRequestViewModel),\r\n\t\t\t\theaders: {\r\n\t\t\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t\t\t\"Accept\": \"application/json\"\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.then(result => result.json() as Promise)\r\n\t\t\t.then(device => { return device; });\r\n\t}\r\n\r\n\tgetMeasurements(measurementRequest: MeasurementRequestViewModel): Promise> {\r\n\r\n\t\treturn this.httpClient.fetch(\"api/CurrentMeasurements\",\r\n\t\t\t{\r\n\t\t\t\tmethod: \"POST\",\r\n\t\t\t\tbody: JSON.stringify(measurementRequest),\r\n\t\t\t\theaders: {\r\n\t\t\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t\t\t\"Accept\": \"application/json\"\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.then(result => result.json() as Promise>)\r\n\t\t\t.then(measurements => { return measurements; });\r\n\t}\r\n\r\n\tgetWarnings(measurementRequest: MeasurementRequestViewModel): Promise> {\r\n\r\n\t\treturn this.httpClient.fetch(\"api/CurrentWarnings\",\r\n\t\t\t{\r\n\t\t\t\tmethod: \"POST\",\r\n\t\t\t\tbody: JSON.stringify(measurementRequest),\r\n\t\t\t\theaders: {\r\n\t\t\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t\t\t\"Accept\": \"application/json\"\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.then(result => result.json() as Promise>)\r\n\t\t\t.then(warnings => { return warnings; });\r\n\t}\r\n\r\n\tgetLocationHierarchy(version: number): Promise {\r\n\r\n\t\treturn this.httpClient.fetch(`api/LocationHierarchy/${version}`)\r\n\t\t\t.then(result => result.json() as Promise)\r\n\t\t\t.then(registry => { return registry; });\r\n\t}\r\n\r\n\taddLocation(location: Location): Promise {\r\n\r\n\t\treturn this.httpClient.fetch(\"api/location\",\r\n\t\t\t{\r\n\t\t\t\tmethod: \"post\",\r\n\t\t\t\tbody: JSON.stringify(location),\r\n\t\t\t\theaders: {\r\n\t\t\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t\t\t\"Accept\": \"application/json\"\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.then(result => result.json() as Promise)\r\n\t\t\t.then(location => { return location; });\r\n\t}\r\n\r\n\tgetLocation(locationId: string): Promise {\r\n\t\treturn this.httpClient.fetch(`api/location/${locationId}`,\r\n\t\t\t\t{\r\n\t\t\t\t\tmethod: \"get\",\r\n\t\t\t\t\theaders: {\r\n\t\t\t\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t\t\t\t\"Accept\": \"application/json\"\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t.then(result => result.json() as Promise)\r\n\t\t\t.then(location => { return location; });\r\n\t}\r\n\r\n\tgetLocations(): Promise> {\r\n\r\n\t\treturn this.httpClient.fetch(\"api/location\",\r\n\t\t\t{\r\n\t\t\t\tmethod: \"get\",\r\n\t\t\t\theaders: {\r\n\t\t\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t\t\t\"Accept\": \"application/json\"\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.then(result => result.json() as Promise>)\r\n\t\t\t.then(locations => { return locations; });\r\n\t}\r\n\r\n\tgetStructure(structureId: string): Promise> {\r\n\t\treturn this.httpClient.fetch(`api/structure/${structureId}`,\r\n\t\t\t\t{\r\n\t\t\t\t\tmethod: \"get\",\r\n\t\t\t\t\theaders: {\r\n\t\t\t\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t\t\t\t\"Accept\": \"application/json\"\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t.then(result => result.json() as Promise>)\r\n\t\t\t.then(response => { return response; });\r\n\t}\r\n\r\n\tupdateStructure(structure: Structure): Promise> {\r\n\r\n\t\treturn this.httpClient.fetch(\"api/structure/\" + structure.id,\r\n\t\t\t\t{\r\n\t\t\t\t\tmethod: \"patch\",\r\n\t\t\t\t\tbody: JSON.stringify(structure),\r\n\t\t\t\t\theaders: {\r\n\t\t\t\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t\t\t\t\"Accept\": \"application/json\"\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t.then(result => result.json() as Promise>)\r\n\t\t\t.then(response => { return response; })\r\n\t\t\t.catch(error => {\r\n\t\t\t\treturn error;\r\n\t\t\t});\r\n\t\t\t\r\n\t}\r\n\r\n\taddDevice(addDeviceRequest: AddDeviceRequestViewModel) {\r\n\t\treturn this.httpClient.fetch(\"api/location\",\r\n\t\t\t{\r\n\t\t\t\tmethod: \"post\",\r\n\t\t\t\tbody: JSON.stringify(addDeviceRequest),\r\n\t\t\t\theaders: {\r\n\t\t\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t\t\t\"Accept\": \"application/json\"\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.then(result => result.json() as Promise)\r\n\t\t\t.then(device => { return device; });\r\n\t}\r\n}","import { inject } from \"aurelia-framework\";\r\nimport { Router } from \"aurelia-router\";\r\nimport { HttpClient, Interceptor } from \"aurelia-http-client\";\r\n\r\n@inject(HttpClient, Router)\r\nexport default class HttpService {\r\n\r\n\tprivate readonly httpClient: HttpClient = null;\r\n\tprivate readonly router: Router = null;\r\n\tprivate authService: any = null;\r\n\tprivate authToken: string = \"\";\r\n\t// private myInterceptors: Interceptor;\r\n\r\n\tconstructor(httpClient: HttpClient, router: Router) {\r\n\r\n\t\tthis.httpClient = httpClient;\r\n\t\tthis.router = router;\r\n\r\n\t\tconst baseUrl = document.getElementsByTagName(\"base\")[0].href;\r\n\r\n\t\tthis.httpClient.configure(http => {\r\n\t\t\thttp.withBaseUrl(baseUrl);\r\n\t\t\thttp.withInterceptor(new HttpInterceptors());\r\n\t\t});\r\n\t}\r\n\r\n\tsetAuthService(authService: any) {\r\n\t\tthis.authService = authService;\r\n\t}\r\n\r\n\tget(url: string, authObject?: any): any {\r\n\r\n\t\tconst myAuth = this.authService ? this.authService : authObject;\r\n\t\tlet myToken = \"\";\r\n\t\tif (myAuth) {\r\n\t\t\tmyToken = myAuth.getAuthToken();\r\n\t\t}\r\n\r\n\t\tconst client = this.httpClient\r\n\t\t\t.createRequest(url)\r\n\t\t\t.asGet()\r\n\t\t\t.withHeader(\"AuthenticationToken\", myToken);\r\n\r\n\t\treturn client;\r\n\t}\r\n\r\n\tpost(url: string, postData: any, authObject?: any): any {\r\n\r\n\t\tconst myAuth = this.authService ? this.authService : authObject;\r\n\t\tlet myToken = \"\";\r\n\t\tif (myAuth) {\r\n\t\t\tmyToken = myAuth.getAuthToken();\r\n\t\t}\r\n\r\n\t\t// let self = this;\r\n\r\n\t\tconst client = this.httpClient\r\n\t\t\t.createRequest(url)\r\n\t\t\t.asPost().withContent(postData)\r\n\t\t\t.withHeader(\"AuthenticationToken\", myToken);\r\n\r\n\t\treturn client;\r\n\t}\r\n}\r\n\r\nclass HttpInterceptors implements Interceptor {\r\n\r\n\tresponseError(error) {\r\n\r\n\t\tif (error.statusCode === 0) {\r\n\t\t\tthrow new Error(\"Could not contact server\");\r\n\t\t}\r\n\r\n\t\tif (error.statusCode === 401) {\r\n\t\t\t// do auth handling here\r\n\t\t}\r\n\r\n\t\tif (error.statusCode === 404) {\r\n\t\t\t// do 404 handling here\r\n\t\t}\r\n\r\n\t\treturn error;\r\n\t}\r\n}\r\n","import { autoinject } from \"aurelia-framework\";\r\nimport { Location } from \"../models/location\";\r\nimport { applicationLogger } from \"../logging/logger\";\r\nimport { LocationHub } from \"./location-hub\";\r\nimport { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\r\nimport { HubEvents } from \"../events/hub-events\";\r\nimport { Store } from \"aurelia-store\";\r\nimport { Subscription as StateSubscription } from \"rxjs\";\r\nimport { IState } from \"../store/state\";\r\nimport { HubConnectionState } from \"@microsoft/signalr\";\r\n\r\n@autoinject\r\nexport class HubManager {\r\n\tprivate locations: Array;\r\n\tprivate locationHubDictionary = new Map();\r\n\tprivate readonly eventAggregator: EventAggregator;\r\n\tprivate readonly hubRefreshSubscription: Subscription;\r\n\tprivate readonly hubClosedSubscription: Subscription;\r\n\tprivate readonly store: Store;\r\n\tprivate stateSubscription: StateSubscription;\r\n\tprivate lastSync = 0;\r\n\tprivate syncInterval = 60000; // sync every minute\r\n\r\n\tconstructor(eventAggregator: EventAggregator, store: Store) {\r\n\t\tthis.eventAggregator = eventAggregator;\r\n\t\tthis.configureNetworkDetection();\r\n\t\tthis.store = store;\r\n\r\n\t\tthis.hubRefreshSubscription = this.eventAggregator.subscribe(HubEvents.refresh,\r\n\t\t\t() => {\r\n\t\t\t\tthis.refreshHubs();\r\n\t\t\t});\r\n\r\n\t\tthis.hubClosedSubscription = this.eventAggregator.subscribe(HubEvents.signalRDisconnect, (locationName) => {\r\n\t\t\tif (this.locationHubDictionary.has(locationName)) {\r\n\t\t\t\tapplicationLogger.debug(`Removing \"${locationName}\" hub`);\r\n\t\t\t\tconst locationHub = this.locationHubDictionary.get(locationName);\r\n\t\t\t\tlocationHub.dispose();\r\n\t\t\t\tthis.locationHubDictionary.delete(locationName);\r\n\t\t\t} else {\r\n\t\t\t\tapplicationLogger.debug(`Could not find \"${locationName}\" hub to remove it from the location dictionary.`);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tstart() {\r\n\t\tapplicationLogger.info(\"HubManager started.\");\r\n\t\tthis.stateSubscription = this.store.state.subscribe((state) => {\r\n\t\t\tconst locationState = Object.assign({}, state.locationState);\r\n\t\t\tthis.initialize(locationState.selectedLocations);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate configureNetworkDetection() {\r\n\t\twindow.addEventListener(\"online\", () => {\r\n\t\t\tthis.createHubs();\r\n\t\t\tthis.eventAggregator.publish(HubEvents.networkChange, true);\r\n\t\t});\r\n\t\twindow.addEventListener(\"offline\", () => {\r\n\t\t\tthis.disposeHubs();\r\n\t\t\tthis.eventAggregator.publish(HubEvents.networkChange, false);\r\n\t\t});\r\n\t}\r\n\r\n\trefreshHubs() {\r\n\t\tthis.disposeHubs();\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.createHubs();\r\n\t\t}, 500);\r\n\t}\r\n\r\n\tdisposeHubs() {\r\n\t\tthis.locationHubDictionary.forEach((locationHub: LocationHub, key: string) => {\r\n\t\t\tlocationHub.dispose();\r\n\t\t});\r\n\t\tthis.locationHubDictionary = new Map();\r\n\t}\r\n\r\n\tinitialize(locations: Location[]) {\r\n\t\tthis.locations = locations;\r\n\t\tlocations.forEach((location) =>\r\n\t\t{\r\n\t\t\tif (!this.locationHubDictionary.has(location.id)) {\r\n\t\t\t\tthis.locationHubDictionary.set(location.id, this.createHubConnection(location));\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// force the signalr hubs to be refreshed if the app has idled too long.\r\n\t\tsetInterval(() => {\r\n\t\t\tconst now = new Date().getTime();\r\n\t\t\tif ((now - this.lastSync) > this.syncInterval) {\r\n\t\t\t\tif (this.locationHubDictionary.size === 0) {\r\n\t\t\t\t\tapplicationLogger.debug(\"Conditions met to recreate all location hubs.\");\r\n\t\t\t\t\tthis.lastSync = now;\r\n\t\t\t\t\tthis.refreshHubs();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.locationHubDictionary.forEach((locationHub: LocationHub, key: string) => {\r\n\t\t\t\t\t\tif (locationHub.hubConnection.state === HubConnectionState.Disconnected) {\r\n\t\t\t\t\t\t\tlocationHub.start();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, 5000); // check every 5 seconds whether a minute has passed since last sync\r\n\r\n\t\tthis.eventAggregator.publish(HubEvents.networkChange, true);\r\n\t}\r\n\r\n\tcreateHubs() {\r\n\r\n\t\tif (this.locations) {\r\n\t\t\tthis.locations.forEach((location) => {\r\n\t\t\t\tapplicationLogger.debug(`Creating SignalR hub for ${location.code} - ${location.id}`);\r\n\t\t\t\tthis.locationHubDictionary.set(location.id, this.createHubConnection(location));\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tcreateHubConnection(location: Location): LocationHub {\r\n\t\tconst locationHub = new LocationHub();\r\n\t\tlocationHub.initialize(location, this.eventAggregator);\r\n\t\treturn locationHub;\r\n\t}\r\n\r\n\tdispose() {\r\n\t\tthis.stateSubscription.unsubscribe();\r\n\t\tthis.hubRefreshSubscription.dispose();\r\n\t\tthis.hubClosedSubscription.dispose();\r\n\t\tthis.disposeHubs();\r\n\t}\r\n}\r\n","import { HubConnection, HubConnectionBuilder } from \"@microsoft/signalr\";\r\nimport { Location } from \"../models/location\";\r\nimport { applicationLogger } from \"../logging/logger\";\r\nimport { EventAggregator } from \"aurelia-event-aggregator\";\r\nimport { HubEvents } from \"../events/hub-events\";\r\nimport { MeasurementViewModel } from \"../models/measurement-view-model\";\r\nimport { updateLocation } from \"../store/actions/location-actions\";\r\nimport { dispatchify } from \"aurelia-store\";\r\nimport { AsEnumerable } from \"linq-es2015/lib/linq\";\r\nimport { Device } from \"../models/device\";\r\nimport { StatusColors } from \"../pages/common/status-colors\";\r\nimport { processMeasurement } from \"../store/actions/measurement-actions\";\r\nimport * as State from \"../store/state\";\r\nimport IState = State.IState;\r\n\r\nexport class LocationHub {\r\n\tprivate eventAggregator: EventAggregator;\r\n\tprivate connectionPromise?: Promise = null;\r\n\tprivate static joinGroup: string = \"joinLocationGroup\";\r\n\tprivate static signalRUrl: string = \"/sensor\";\r\n\r\n\tlocation: Location;\r\n\thubConnection: HubConnection = null;\r\n\r\n\tinitialize(location: Location, eventAggregator: EventAggregator) {\r\n\t\tthis.eventAggregator = eventAggregator;\r\n\t\tthis.location = location;\r\n\t\tthis.createHubConnection(location);\r\n\t\tthis.start();\r\n\t}\r\n\r\n\tstart() {\r\n\t\tif (this.hubConnection != null) {\r\n\t\t\tthis.connectionPromise = this.hubConnection.start().then(() => {\r\n\t\t\t\tthis.hubConnection.invoke(LocationHub.joinGroup, this.location.signalRGroup)\r\n\t\t\t\t\t.catch(err => applicationLogger.error(err));\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tdispose() {\r\n\t\tif (this.connectionPromise) {\r\n\t\t\tthis.connectionPromise = null;\r\n\t\t}\r\n\t\tif (this.hubConnection) {\r\n\t\t\tthis.hubConnection.stop();\r\n\t\t\tthis.hubConnection = null;\r\n\t\t}\r\n\t}\r\n\r\n\tcreateHubConnection(location: Location) {\r\n\t\tthis.hubConnection = new HubConnectionBuilder()\r\n\t\t\t.withUrl(LocationHub.signalRUrl)\r\n\t\t\t.withAutomaticReconnect()\r\n\t\t\t.build();\r\n\r\n\t\tthis.hubConnection.on(HubEvents.measurementEvent,\r\n\t\t\t(measurementData: MeasurementViewModel) => {\r\n\t\t\t\t// applicationLogger.debug(JSON.stringify(measurementData));\r\n\t\t\t\tdispatchify(processMeasurement)(measurementData);\r\n\t\t\t});\r\n\r\n\t\tthis.hubConnection.onclose(error => {\r\n\t\t\tif (error) {\r\n\t\t\t\tapplicationLogger.debug(\"LocationHub: Connection closed\", error);\r\n\r\n\t\t\t\t// signal to the HubManager that this hub has lost it's connection to the server.\r\n\t\t\t\tthis.eventAggregator.publish(HubEvents.signalRDisconnect, this.location.id);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.hubConnection.onreconnected(connectionId => {\r\n\t\t\tthis.hubConnection.invoke(LocationHub.joinGroup, this.location.signalRGroup)\r\n\t\t\t\t.catch(err => applicationLogger.error(err));\r\n\t\t});\r\n\t}\r\n}\r\n","import { Container } from \"aurelia-framework\";\r\nimport store from \"../store\";\r\nimport { IState, LocationState } from \"../state\";\r\nimport { Api } from \"../../services/api\";\r\nimport { applicationLogger } from \"../../logging/logger\";\r\nimport { Location } from \"../../models/location\";\r\nimport * as Enumerable from \"linq-es2015\";\r\nimport { AddDeviceRequestViewModel } from \"../../models/add-device-request-view-model\";\r\nimport { Zone } from \"../../models/zone\";\r\nimport { Structure } from \"../../models/structure\";\r\nimport { MeasurementViewModel } from \"../../models/measurement-view-model\";\r\n\r\nconst api: Api = Container.instance.get(Api);\r\n\r\nexport async function addOrUpdateCurrentMeasurement(state: IState, measurementViewModel: MeasurementViewModel) {\r\n\tconst newState = Object.assign({}, state);\r\n\tapplicationLogger.debug(\"Adding new device\");\r\n\r\n\tconst currentLocation = newState.locationState.currentLocation;\r\n\treturn newState;\r\n}\r\n","import { Container } from \"aurelia-framework\";\r\nimport store from \"../store\";\r\nimport { IState, LocationState } from \"../state\";\r\nimport { Api } from \"../../services/api\";\r\nimport { applicationLogger } from \"../../logging/logger\";\r\nimport { Location } from \"../../models/location\";\r\nimport * as Enumerable from \"linq-es2015\";\r\nimport { AddDeviceRequestViewModel } from \"../../models/add-device-request-view-model\";\r\nimport { Zone } from \"../../models/zone\";\r\nimport { Structure } from \"../../models/structure\";\r\n\r\nconst api: Api = Container.instance.get(Api);\r\n\r\nexport async function addDevice(state: IState, locationId: string, zoneId: string, addDeviceRequest: AddDeviceRequestViewModel) {\r\n\tconst newState = Object.assign({}, state);\r\n\tapplicationLogger.debug(\"Adding new device\");\r\n\r\n\tconst newDevice = await api.addDevice(addDeviceRequest);\r\n\r\n\tlet location = newState.locationState.locations.find((l: Location) => l.id === locationId);\r\n\tif (location) {\r\n\t\tlet zone = location.zones.find((z: Zone) => z.id === zoneId);\r\n\t\tif (zone) {\r\n\t\t\tlet structure = zone.structures.find((s: Structure) => s.id === addDeviceRequest.structureId);\r\n\t\t\tif (structure) {\r\n\t\t\t\tstructure.devices.push(newDevice);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// add to selectedLocation state.\r\n\tlocation = newState.locationState.selectedLocations.find((l: Location) => l.id === locationId);\r\n\tif (location) {\r\n\t\tlet zone = location.zones.find((z: Zone) => z.id === zoneId);\r\n\t\tif (zone) {\r\n\t\t\tlet structure = zone.structures.find((s: Structure) => s.id === addDeviceRequest.structureId);\r\n\t\t\tif (structure) {\r\n\t\t\t\tstructure.devices.push(newDevice);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Find location\r\n\t// if location, find zone\r\n\t// if zone, find structure\r\n\t// add device to devices collection\r\n\treturn newState;\r\n}\r\n","import { Container } from \"aurelia-framework\";\r\nimport store from \"../store\";\r\nimport { IState, LocationState } from \"../state\";\r\nimport { Api } from \"../../services/api\";\r\nimport { applicationLogger } from \"../../logging/logger\";\r\nimport { Location } from \"../../models/location\";\r\nimport * as Enumerable from \"linq-es2015\";\r\n\r\nconst api: Api = Container.instance.get(Api);\r\n\r\nexport async function addLocation(state: IState, location: Location) {\r\n\tconst newState = Object.assign({}, state);\r\n\tapplicationLogger.debug(\"Adding new location\");\r\n\tconst newLocation = await api.addLocation(location);\r\n\tnewState.locationState.locations.push(newLocation);\r\n\treturn newState;\r\n}\r\n\r\nexport async function updateLocation(state: IState, location: Location) {\r\n\tconst newState = Object.assign({}, state);\r\n\r\n\tapplicationLogger.debug(`Updating location, code: ${location.code}, id: ${location.id}`);\r\n\r\n\tlet index = newState.locationState.locations.findIndex((l: Location) => l.id === location.id);\r\n\tif (index > -1) {\r\n\t\tnewState.locationState.locations[index] = location;\r\n\t}\r\n\r\n\tindex = newState.locationState.selectedLocations.findIndex((l: Location) => l.id === location.id);\r\n\tif (index > -1) {\r\n\t\tnewState.locationState.locations[index] = location;\r\n\t}\r\n\r\n\treturn newState;\r\n}\r\n\r\nexport async function clearLocalStorage(state: IState) {\r\n\tlocalStorage.removeItem(\"greenhouse-storage-key\");\r\n\tconst x = await getLocationHierarchy(state);\r\n\tdocument.location.href = \"/\";\r\n\treturn x;\r\n\r\n}\r\n\r\nexport async function getLocationHierarchy(state: IState) {\r\n\tconst newState = Object.assign({}, state);\r\n\ttry {\r\n\t\tapplicationLogger.debug(\"Fetching location hierarchy\");\r\n\t\tconst locationHierarchy = await api.getLocationHierarchy(newState.locationState.version);\r\n\r\n\t\tif (newState.locationState.version !== locationHierarchy.version) {\r\n\t\t\tnewState.locationState.version = locationHierarchy.version;\r\n\t\t\tnewState.locationState.initialized = true;\r\n\t\t\tnewState.locationState.locations = locationHierarchy.locations;\r\n\t\t\tconst locations = newState.locationState.locations;\r\n\t\t\tconst selectedLocations = newState.locationState.selectedLocations;\r\n\t\t\tif (selectedLocations.length === 0) {\r\n\t\t\t\tfor (let i = 0; i < locations.length; i++) {\r\n\t\t\t\t\tselectedLocations[i] = locations[i];\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tconst existingSelectedLocations = Enumerable.From(state.locationState.selectedLocations).Select(l => l.id).ToArray();\r\n\t\t\t\tfor (let i = 0; i < locations.length; i++) {\r\n\t\t\t\t\tconst location = locations[i];\r\n\t\t\t\t\tif (existingSelectedLocations.indexOf(location.id) > -1) {\r\n\t\t\t\t\t\tselectedLocations[i] = location;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t} catch (e) {\r\n\t\tapplicationLogger.error(\"Unexpected error.\", e);\r\n\t}\r\n\treturn newState;\r\n}\r\n\r\nexport function updateLocationState(state: IState, locationState: LocationState) {\r\n\tconst newState = Object.assign({}, state);\r\n\tnewState.locationState = locationState;\r\n\treturn newState;\r\n}\r\n\r\n// register actions here...\r\nstore.registerAction(\"addLocation\", addLocation);\r\nstore.registerAction(\"updateLocation\", updateLocation);\r\nstore.registerAction(\"getLocationHierarchy\", getLocationHierarchy);\r\nstore.registerAction(\"updateLocationState\", updateLocationState);\r\nstore.registerAction(\"clearLocalStorage\", clearLocalStorage);\r\n","import store from \"../store\";\r\n\r\nimport { dispatchify } from \"aurelia-store\";\r\nimport { applicationLogger } from \"../../logging/logger\";\r\nimport { updateLocation } from \"./location-actions\";\r\n\r\nimport { Container } from \"aurelia-framework\";\r\nimport { IState } from \"../state\";\r\nimport { Api } from \"../../services/api\";\r\n\r\nimport * as Linq from \"linq-es2015\";\r\nimport { MeasurementViewModel } from \"../../models/measurement-view-model\";\r\nimport { Device } from \"../../models/device\";\r\nimport { Location } from \"../../models/location\";\r\n\r\nimport { MeasurementRequestViewModel } from \"../../models/measurement-request-view-model\";\r\nimport { StatusColors } from \"../../pages/common/status-colors\";\r\nimport { Structure } from \"../../models/structure\";\r\nimport { Zone } from \"../../models/zone\";\r\n\r\nconst api: Api = Container.instance.get(Api);\r\n\r\nfunction getDevice(location: Location, measurementData: MeasurementViewModel): Device {\r\n\tconst zone = Linq.AsEnumerable(location.zones).FirstOrDefault(zn => zn.id === measurementData.metadata.zoneId);\r\n\tif (zone == null) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tconst structure = Linq.AsEnumerable(zone.structures).FirstOrDefault(struct => struct.id === measurementData.metadata.structureId);\r\n\tif (structure == null) {\r\n\t\treturn null;\r\n\t}\r\n\tconst devices = Linq.AsEnumerable(structure.devices);\r\n\tvar device = devices.FirstOrDefault((device: Device) => device.deviceId === measurementData.metadata.deviceId);\r\n\r\n\tif (device == null) {\r\n\t\tapplicationLogger.debug(`Cannot find a device with id: ${measurementData.metadata.deviceId}, attempting to find the device via its parentId.`);\r\n\t\tif (measurementData.metadata.parentId !== undefined) {\r\n\t\t\tconst parentDevice = devices.FirstOrDefault((device: Device) => device.id === measurementData.metadata.parentId);\r\n\t\t\tif (parentDevice == null) {\r\n\t\t\t\tapplicationLogger.debug(`Could not find a parent device with id: ${measurementData.metadata.parentId}, returning null.`);\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t\tconst children = Linq.AsEnumerable(parentDevice.children);\r\n\t\t\tdevice = children.FirstOrDefault((device: Device) => device.deviceId === measurementData.metadata.deviceId);\r\n\t\t\treturn device;\r\n\t\t}\r\n\t}\r\n\t\r\n\treturn device;\r\n}\r\n\r\n//function getWarning(location: Location, measurementData: MeasurementViewModel): MeasurementViewModel {\r\n//\tconst warnings = Linq.AsEnumerable(location.currentMeasurements);\r\n//\treturn warnings.FirstOrDefault((warning: MeasurementViewModel) => warning.metadata.deviceId === measurementData.metadata.deviceId);\r\n//}\r\n\r\nexport async function getZoneMeasurements(state: IState, locationId: string, zoneId: string) {\r\n\tconst measurementRequest = new MeasurementRequestViewModel(null, zoneId, null, null);\r\n\tconst newState = Object.assign({}, state);\r\n\tconst location = Linq.AsEnumerable(newState.locationState.locations).FirstOrDefault(loc => loc.id === locationId);\r\n\tconst measurements = await api.getMeasurements(measurementRequest);\r\n\tmeasurements.forEach(measurement => {\r\n\t\tconst device = getDevice(location, measurement);\r\n\t\tif (device) {\r\n\t\t\tdevice.deviceStyle = measurement.deviceStyle;\r\n\t\t\tdevice.data = measurement.data;\r\n\t\t\tdevice.styles = measurement.styles;\r\n\t\t\tdevice.properties = measurement.metadata.properties;\r\n\t\t\tdevice.metadata = measurement.metadata;\r\n\t\t}\r\n\t});\r\n\tdispatchify(updateLocation)(location);\r\n\treturn newState;\r\n}\r\n\r\nexport async function getLocationWarnings(state: IState, locationId: string) {\r\n\tconst measurementRequest = new MeasurementRequestViewModel(locationId, null, null, null);\r\n\tconst newState = Object.assign({}, state);\r\n\tconst location = Linq.AsEnumerable(newState.locationState.locations).FirstOrDefault(loc => loc.id === locationId);\r\n\tconst measurements = await api.getWarnings(measurementRequest);\r\n\tmeasurements.forEach(measurement => {\r\n\r\n\t\tconst warning = Object.assign({}, measurement);\r\n\t\tif (location.currentMeasurements) {\r\n\r\n\t\t\tconst index = location.currentMeasurements.findIndex((m => m.metadata.deviceId === warning.metadata.deviceId) as any);\r\n\t\t\tif (warning.deviceStyle !== StatusColors.green) {\r\n\r\n\t\t\t\tif (index > -1) {\r\n\t\t\t\t\t// move the warning to the top of the list.\r\n\t\t\t\t\tconst existingWarning = location.currentMeasurements[index];\r\n\t\t\t\t\tif (existingWarning.deviceStyle !== warning.deviceStyle) {\r\n\t\t\t\t\t\t// if the device style changes move the warning to the top of the list\r\n\t\t\t\t\t\tlocation.currentMeasurements.splice(index, 1);\r\n\t\t\t\t\t\tlocation.currentMeasurements.unshift(warning);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// otherwise just update the warning\r\n\t\t\t\t\t\texistingWarning.deviceStyle = measurement.deviceStyle;\r\n\t\t\t\t\t\texistingWarning.metadata = measurement.metadata;\r\n\t\t\t\t\t\texistingWarning.warningMessages = measurement.warningMessages;\r\n\t\t\t\t\t\texistingWarning.data = measurement.data;\r\n\t\t\t\t\t\texistingWarning.styles = measurement.styles;\r\n\t\t\t\t\t\texistingWarning.properties = measurement.metadata.properties;\r\n\t\t\t\t\t\texistingWarning.metadata = measurement.metadata;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// push the new warning to the top of the list\r\n\t\t\t\t\tlocation.currentMeasurements.unshift(warning);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (index > -1) {\r\n\t\t\t\t\tlocation.currentMeasurements.splice(index, 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\tdispatchify(updateLocation)(location);\r\n\treturn newState;\r\n}\r\n\r\nfunction updateDevice(device: Device, measurementData: MeasurementViewModel) {\r\n\tdevice.deviceStyle = measurementData.deviceStyle;\r\n\tdevice.data = measurementData.data;\r\n\tdevice.styles = measurementData.styles;\r\n\tdevice.messages = measurementData.warningMessages;\r\n\tdevice.properties = measurementData.metadata.properties;\r\n\tdevice.metadata = measurementData.metadata;\r\n}\r\n\r\nfunction updateWarnings(location: Location, measurementData: MeasurementViewModel) {\r\n\tconst warning = Object.assign({}, measurementData);\r\n\tconst index = location.currentMeasurements.findIndex((m => m.metadata.deviceId === warning.metadata.deviceId) as any);\r\n\tif (warning.deviceStyle !== StatusColors.green) {\r\n\t\tif (index > -1) {\r\n\t\t\t// move the warning to the top of the list.\r\n\t\t\tconst existingWarning = location.currentMeasurements[index];\r\n\t\t\tif (existingWarning.deviceStyle !== warning.deviceStyle) {\r\n\t\t\t\tlocation.currentMeasurements.splice(index, 1);\r\n\t\t\t\tlocation.currentMeasurements.unshift(warning);\r\n\t\t\t} else {\r\n\t\t\t\texistingWarning.deviceStyle = measurementData.deviceStyle;\r\n\t\t\t\texistingWarning.metadata = measurementData.metadata;\r\n\t\t\t\texistingWarning.warningMessages = measurementData.warningMessages;\r\n\t\t\t\texistingWarning.data = measurementData.data;\r\n\t\t\t\texistingWarning.styles = measurementData.styles;\r\n\t\t\t\texistingWarning.properties = measurementData.metadata.properties;\r\n\t\t\t\texistingWarning.metadata = measurementData.metadata;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tlocation.currentMeasurements.push(warning);\r\n\t\t}\r\n\t} else {\r\n\t\tif (index > -1) {\r\n\t\t\tlocation.currentMeasurements.splice(index, 1);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport async function processMeasurement(state: IState, measurementData: MeasurementViewModel): Promise {\r\n\tapplicationLogger.debug(JSON.stringify(measurementData));\r\n\r\n\tconst newState = Object.assign({}, state);\r\n\tconst locationList = Linq.AsEnumerable(newState.locationState.selectedLocations);\r\n\tconst location = locationList.FirstOrDefault(l => l.id === measurementData.metadata.locationId);\r\n\r\n\tif (!location) {\r\n\t\tapplicationLogger.debug(`Cannot find a location with id:${measurementData.metadata.locationId} associated to device with id: ${measurementData.metadata.deviceId}`);\r\n\t\treturn state;\r\n\t}\r\n\tconst device = getDevice(location, measurementData);\r\n\r\n\tif (!device) {\r\n\t\tapplicationLogger.debug(`Cannot find a device with id: ${measurementData.metadata.deviceId}`);\r\n\t\treturn state;\r\n\t}\r\n\r\n\tupdateDevice(device, measurementData);\r\n\tupdateWarnings(location, measurementData);\r\n\r\n\treturn newState;\r\n}\r\n\r\n// register actions here...\r\n// store.registerAction(\"addWarning\", addWarning);\r\nstore.registerAction(\"getZoneMeasurements\", getZoneMeasurements);\r\nstore.registerAction(\"getLocationWarnings\", getLocationWarnings);\r\nstore.registerAction(\"processMeasurement\", processMeasurement);\r\n","import { Container } from \"aurelia-framework\";\r\nimport store from \"../store\";\r\nimport { IState } from \"../state\";\r\nimport { Api } from \"../../services/api\";\r\nimport { applicationLogger } from \"../../logging/logger\";\r\nimport { Location } from \"../../models/location\";\r\nimport { Structure } from \"../../models/structure\";\r\nimport { Zone } from \"../../models/zone\";\r\nimport { WebApiResponse } from \"../../models/web-api-response\";\r\n\r\nconst api: Api = Container.instance.get(Api);\r\n\r\nexport async function updateStructure(state: IState, structure: Structure, locationId: string, zoneId: string): Promise {\r\n\tconst newState = Object.assign({}, state);\r\n\r\n\tapplicationLogger.debug(`Updating structure: ${structure.code} (location ${locationId}, zone ${zoneId})`);\r\n\r\n\tlet location = newState.locationState.locations.find((l: Location) => l.id === locationId);\r\n\tif (location) {\r\n\t\tlet zone = location.zones.find((z: Zone) => z.id === zoneId);\r\n\t\tif (zone) {\r\n\t\t\tlet structureIndex = zone.structures.findIndex(((s: Structure) => s.id === structure.id) as any);\r\n\t\t\tif (structureIndex > -1) {\r\n\t\t\t\tzone.structures[structureIndex] = structure;\r\n\r\n\t\t\t\t// NB: we should save the location here as \"selectedLocations may not have the location.\r\n\t\t\t\tconst response = await api.updateStructure(structure);\r\n\t\t\t\tif (!response.success) {\r\n\t\t\t\t\treturn state;\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn newState;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tlocation = newState.locationState.selectedLocations.find((l: Location) => l.id === locationId);\r\n\tif (location) {\r\n\t\tlet zone = location.zones.find((z: Zone) => z.id === zoneId);\r\n\t\tif (zone) {\r\n\t\t\tlet structureIndex = zone.structures.findIndex(((s: Structure) => s.id === structure.id) as any);\r\n\t\t\tif (structureIndex > -1) {\r\n\t\t\t\tzone.structures[structureIndex] = structure;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn newState;\r\n}\r\n\r\n// register actions here...\r\nstore.registerAction(\"updateStructure\", updateStructure);\r\n","import { Location } from \"../models/location\";\r\nimport { LocationHierarchy } from \"../models/location-hierarchy\";\r\nimport { IApplicationUser, ApplicationUser } from \"../models/application-user\";\r\nimport { MeasurementViewModel } from \"../models/measurement-view-model\";\r\n\r\nexport interface IState {\r\n\tapplicationUser: IApplicationUser;\r\n\tlocationState: LocationState;\r\n}\r\n\r\nexport class LocationState {\r\n\tlocations: Location[] = new Array();\r\n\tselectedLocations: Location[] = new Array();\r\n\r\n\tinitialized: boolean = false;\r\n\tversion: number = 0;\r\n\r\n\t// refactored: Current Measurements\r\n\tcurrentLocation: Location;\r\n\r\n\tgetSelectedLocation(): Location {\r\n\t\treturn this.selectedLocations[0];\r\n\t}\r\n\r\n\tselectAllLocations() {\r\n\t\tthis.clearSelectedLocations();\r\n\t\tfor (let i = 0; i < this.locations.length; i++) {\r\n\t\t\tthis.selectedLocations[i] = this.locations[i];\r\n\t\t}\r\n\t}\r\n\r\n\tclearSelectedLocations() {\r\n\t\tthis.selectedLocations = new Array();\r\n\t}\r\n}\r\n\r\nexport const initialState: IState = {\r\n\tapplicationUser: new ApplicationUser(),\r\n\tlocationState: new LocationState(),\r\n};\r\n","import { Container } from \"aurelia-framework\";\r\nimport { Store } from \"aurelia-store\";\r\nimport { IState } from \"./state\";\r\n\r\nconst store: Store = Container.instance.get(Store);\r\n\r\nexport default store;\r\n","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../node_modules/json-loader/index.js!./translation.json\"));\n\t}, \"en\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../node_modules/json-loader/index.js!./translation.json\"));\n\t}, \"es\");\n}","import \"isomorphic-fetch\";\r\nimport { Aurelia, PLATFORM, LogManager } from \"aurelia-framework\";\r\nimport { HttpClient } from \"aurelia-fetch-client\";\r\nimport \"materialize-css\";\r\nimport { Backend, TCustomAttribute } from \"aurelia-i18n\";\r\nimport { ApplicationUser } from \"./app/components/models/application-user\";\r\nimport { initialState } from \"./app/components/store/state\";\r\n\r\n// ReSharper disable once InconsistentNaming\r\ndeclare const IS_DEV_BUILD: boolean; // The value is supplied by Webpack during the build\r\n\r\nexport async function configure(aurelia: Aurelia) {\r\n\tawait aurelia.loader.loadModule(PLATFORM.moduleName(\"materialize-css\"));\r\n\r\n\tconst httpClient = new HttpClient().configure((config: any) => {\r\n\t\tconfig.useStandardConfiguration();\r\n\t\tconfig.withBaseUrl(`${window.location.origin}/`);\r\n\t\tconfig.withDefaults({\r\n\t\t\tcredentials: \"same-origin\"\r\n\t\t});\r\n\t\tconfig.withInterceptor({\r\n\t\t\tresponse(response) {\r\n\t\t\t\treturn response;\r\n\t\t\t},\r\n\t\t\tresponseError(error: any) {\r\n\t\t\t\treturn error;\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\tconst container = aurelia.container;\r\n\tcontainer.registerInstance(HttpClient, httpClient);\r\n\r\n\t// setup aurelia-store initial state\r\n\tconst applicationUser: ApplicationUser = new ApplicationUser();\r\n\tapplicationUser.init((window as any).applicationUser as ApplicationUser);\r\n\taurelia.container.registerInstance(ApplicationUser, applicationUser);\r\n\tinitialState.applicationUser = Object.assign({}, applicationUser);\r\n\r\n\taurelia.use\r\n\t\t.standardConfiguration()\r\n\t\t.feature(PLATFORM.moduleName(\"app/components/controls/index\"))\r\n\t\t.feature(PLATFORM.moduleName(\"app/components/attributes/index\"))\r\n\t\t.feature(PLATFORM.moduleName(\"app/components/converters/index\"))\r\n\t\t.feature(PLATFORM.moduleName(\"app/components/aurelia-chart/index\"))\r\n\t\t.feature(PLATFORM.moduleName(\"app/components/aurelia-tree-view/index\"))\r\n\t\t// .feature(PLATFORM.moduleName(\"app/components/models/index\"))\r\n\t\t// .globalResources(\"\")\r\n\r\n\t\t.plugin(PLATFORM.moduleName(\"aurelia-async-binding\"))\r\n\t\t.plugin(PLATFORM.moduleName(\"aurelia-materialize-bridge\"), b => b.useAll())\r\n\t\t.plugin(PLATFORM.moduleName(\"aurelia-store\"), { initialState })\r\n\t\t.plugin(PLATFORM.moduleName(\"aurelia-dialog\"))\r\n\t\t.plugin(PLATFORM.moduleName(\"aurelia-dynamic-html\"))\r\n\t\t.plugin(PLATFORM.moduleName(\"aurelia-resize\"))\r\n\t\t.plugin(PLATFORM.moduleName(\"aurelia-validation\"))\r\n\t\t.plugin(PLATFORM.moduleName(\"aurelia-i18n\"),\r\n\t\t\t(instance) => {\r\n\t\t\t\tconst aliases = [\"t\", \"i18n\"];\r\n\t\t\t\t// add aliases for 't' attribute\r\n\t\t\t\tTCustomAttribute.configureAliases(aliases);\r\n\r\n\t\t\t\t// register backend plugin\r\n\t\t\t\tinstance.i18next.use(Backend.with(aurelia.loader));\r\n\r\n\t\t\t\tlet language = localStorage.getItem(\"user-language\");\r\n\t\t\t\tif (!language) {\r\n\t\t\t\t\tlanguage = \"en\";\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// adapt options to your needs (see http://i18next.com/docs/options/)\r\n\t\t\t\t// make sure to return the promise of the setup method, in order to guarantee proper loading\r\n\t\t\t\treturn instance.setup({\r\n\t\t\t\t\tbackend: { loadPath: \"locales/{{lng}}/{{ns}}.json\" },\r\n\t\t\t\t\tattributes: aliases,\r\n\t\t\t\t\tlng: language,\r\n\t\t\t\t\tfallbackLng: \"en\",\r\n\t\t\t\t\tdebug: true\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\tif (IS_DEV_BUILD) {\r\n\t\taurelia.use.developmentLogging();\r\n\t}\r\n\r\n\taurelia.start().then(() => { aurelia.setRoot(\"app/components/app/app\"); });\r\n}\r\n","module.exports = {\"add-device\":\"Add device\",\"add-location\":\"Add location\",\"adding-location\":\"Adding location\",\"add-structure\":\"Add structure\",\"add-user\":\"Add user\",\"add-zone\":\"Add zone\",\"admin-dashboard\":\"Admin Dashboard\",\"admin-settings\":\"Admin Settings\",\"advanced\":\"Advanced\",\"battery-rule\":\"Battery Rule (mV)\",\"bottom\":\"Bottom\",\"basic\":\"Basic\",\"cancel\":\"Cancel\",\"closing\":\"Closing\",\"closed\":\"Closed\",\"code\":\"Code\",\"curtains\":\"Curtains\",\"data-saved\":\"Data was successfully saved.\",\"data-not-saved\":\"Data was not successfully saved.\",\"default-rules-for\":\"Default rules for\",\"description\":\"Description\",\"device\":\"Device\",\"devices\":\"Devices\",\"disabled\":\"Disabled\",\"email\":\"Email\",\"enabled\":\"Enabled\",\"graph\":\"Graph\",\"humidity\":\"Humidity\",\"language\":\"Language\",\"left\":\"Left\",\"loading-data\":\"Loading data...\",\"loading-locations\":\"Loading locations...\",\"loading-structures\":\"Loading structures...\",\"loading-warnings\":\"Loading warnings...\",\"location\":\"Location\",\"location-curtains\":\"Location Curtains\",\"location_plural\":\"Locations\",\"locations\":\"Locations\",\"manage-locations\":\"Manage Locations\",\"measurement-details\":\"Measurement Details\",\"measurement-system\":\"Measurement System\",\"minutes\":\"minutes\",\"moisture\":\"Moisture\",\"more-menu\":\"More...\",\"name\":\"Name\",\"no-devices\":\"No Devices\",\"no-devices-text\":\"There are no devices installed in this structure\",\"no-notifications\":\"No Notifications\",\"no-warnings\":\"No Warnings\",\"no-warnings-text\":\"There are currently no actionable warnings.\",\"no-rules-or-properties\":\"No Rules or Properties\",\"no-rules-or-properties-text\":\"There are no properties or rules currently defined for the selected '{{selectedNodeType}}' node.\",\"nominal-pressure\":\"Nominal Pressure (mbar)\",\"nominal-voltage\":\"Nominal Voltage (mV)\",\"none\":\"None\",\"notifications\":\"Notifications\",\"notification-interval\":\"Notification interval\",\"notification-recipients\":\"Notification Recipients\",\"notification-rules\":\"Rules\",\"notifications-rules-not-saved\":\"Notification rules were not successfully saved.\",\"notification-rules-successfully-saved\":\"Notification rules successfully saved.\",\"notification-status\":\"Notification Status\",\"notification-status-successfully-saved\":\"Notification status successfully saved.\",\"notifications-status-not-saved\":\"Notification status not successfully saved.\",\"notification-type\":\"Notification Type\",\"offline\":\"Offline\",\"ok\":\"OK\",\"opening\":\"Opening\",\"opened\":\"Opened\",\"partially-opened\":\"Partially opened\",\"paused\":\"Paused\",\"pause-notifications\":\"Pause Notifications\",\"pressure\":\"Pressure\",\"pressure-offset\":\"Pressure Offset (mbar)\",\"properties\":\"Properties\",\"property-saved\":\"Property was successfully saved.\",\"property-not-saved\":\"Property was not successfully saved.\",\"recipients\":\"Recipients\",\"recommended-maximum\":\"Recommended Maximum\",\"recommended-minimum\":\"Recommended Minimum\",\"required-maximum\":\"Required Maximum\",\"required-minimum\":\"Required Minimum\",\"recipient-not-saved\":\"Recipient not successfully updated.\",\"recipient-successfully-updated\":\"Recipient successfully updated.\",\"reconnect\":\"Reconnect\",\"right\":\"Right\",\"rssi-rule\":\"Signal Strength Rule (dBm)\",\"rules\":\"Rules\",\"rules-for\":\"Rules for\",\"search\":\"Search\",\"send\":\"Send\",\"sensor\":\"Sensor\",\"sensors\":\"Sensors\",\"settings\":\"Settings\",\"sms\":\"SMS\",\"sms-email\":\"SMS & Email\",\"structure\":\"Structure\",\"structures\":\"Structures\",\"temperature\":\"Temperature\",\"temperature-max\":\"Maximum temperature\",\"temperature-min\":\"Minimum temperature\",\"temperature-scale\":\"Temperature Scale\",\"temperature-rule\":\"Temperature Rule ({{temperatureScale}})\",\"timestamp\":\"Timestamp\",\"top\":\"Top\",\"update-rules\":\"Update Rules\",\"user\":\"User\",\"users\":\"Users\",\"user-settings\":\"User Settings\",\"warnings\":\"Warnings\",\"water-level-rule\":\"Water Level Rule (% capacity)\",\"zone\":\"Zone\",\"zone_plural\":\"Zones\",\"zones\":\"Zones\",\"soilMoisture\":{\"dielectric-permittivity\":\"Dielectric Permittivity\",\"volumetric-water-content\":\"Volumetric Water Content\",\"soil-temperature\":\"Soil Temperature\",\"soil-moisture\":\"Soil Moisture\",\"electrical-conductivity\":\"Electrical Conductivity\"},\"valve\":{\"open\":\"Open\",\"close\":\"Close\",\"pending\":\"Pending...\"},\"weather\":{\"air-temperature\":\"Air Temperature: \",\"atmospheric-pressure\":\"Atmospheric Pressure: \",\"compass-heading\":\"Compass Heading: \",\"lightning-strike-count\":\"Strike Count: \",\"lightning-average-distance\":\"Average Distance: \",\"precipitation\":\"Precipitation: \",\"relative-humidity\":\"Relative Humidity: \",\"solar-radiation\":\"Solar Radiation: \",\"vapor-pressure\":\"Vapor Pressure: \",\"wind-direction\":\"Wind Direction: \",\"wind-speed-maximum\":\"Maximum Wind Speed: \",\"wind-speed-north\":\"North Wind Speed: \",\"wind-speed-east\":\"East Wind Speed: \",\"wind-speed\":\"Wind Speed: \",\"x-orientation-angle\":\"X Orientation Angle: \",\"y-orientation-angle\":\"Y Orientation Angle: \"}}","module.exports = {\"add-device\":\"Agregar dispositivo\",\"add-location\":\"Agregar ubicación\",\"adding-location\":\"Agregar ubicación\",\"add-structure\":\"Agregar estructura\",\"add-user\":\"Agregar usuario\",\"add-zone\":\"Añadir zona\",\"admin-dashboard\":\"Panel de administración\",\"admin-settings\":\"Configuración de admin\",\"advanced\":\"Avanzada\",\"battery-rule\":\"Regla de batería (mV)\",\"basic\":\"Básica\",\"bottom\":\"Parte inferior\",\"cancel\":\"Cancelar\",\"closing\":\"Cierre\",\"closed\":\"Cerrado\",\"code\":\"Código\",\"curtains\":\"Cortinas\",\"data-saved\":\"Los datos se han guardado correctamente.\",\"data-not-saved\":\"Los datos no se guardaron correctamente.\",\"default-rules-for\":\"Reglas predeterminadas para\",\"description\":\"Descripción\",\"device\":\"Dispositivo\",\"devices\":\"Dispositivos\",\"disabled\":\"Inhabilitado\",\"email\":\"El Correo Electrónico\",\"enabled\":\"Habilitado\",\"graph\":\"Gráfico\",\"humidity\":\"Humedad\",\"language\":\"Lengua\",\"left\":\"Izquierdo\",\"loading-data\":\"Cargando datos\",\"loading-locations\":\"Ubicaciones de carga...\",\"loading-structures\":\"Estructuras de carga...\",\"loading-warnings\":\"Cargando advertencias...\",\"location\":\"Ubicación\",\"location_plural\":\"Ubicaciones\",\"location-curtains\":\"Cortinas de ubicación\",\"locations\":\"Ubicaciones\",\"manage-locations\":\"Administrar Ubicaciones\",\"measurement-details\":\"Detalles de medición\",\"measurement-system\":\"Sistema de medición\",\"minutes\":\"minutos\",\"moisture\":\"Humedad\",\"more-menu\":\"Más...\",\"name\":\"Nombre\",\"no-devices\":\"Sin Dispositivos\",\"no-devices-text\":\"No hay ningún dispositivo instalado en esta estructura.\",\"no-warnings\":\"No hay advertencias\",\"no-warnings-text\":\"Actualmente no hay advertencias accionables.\",\"no-rules-or-properties\":\"Sin reglas ni propiedades\",\"no-rules-or-properties-text\":\"No hay ninguna propiedad o reglas definidas actualmente para el nodo '{{selectedNodeType}}' seleccionado.\",\"nominal-pressure\":\"Presión nominal (mbar)\",\"nominal-voltage\":\"Tensión nominal (mV)\",\"none\":\"Ninguno\",\"notifications\":\"Notificaciones\",\"notification-interval\":\"Intervalo de notificación\",\"notification-recipients\":\"Los destinatarios de notificaciónes\",\"notification-rules\":\"Reglas de notificación\",\"notification-rules-successfully-saved\":\"Las reglas de notificación se guardan correctamente.\",\"notifications-rules-not-saved\":\"Las reglas de notificación no se guardaron correctamente.\",\"notification-status\":\"Estado de notificación\",\"notification-status-successfully-saved\":\"Estado de notificación guardado correctamente.\",\"notifications-status-not-saved\":\"El estado de notificación no se guardo correctamente.\",\"notification-type\":\"Tipo de notificación\",\"offline\":\"Desconectado\",\"ok\":\"Vale\",\"opening\":\"Apertura\",\"opened\":\"Abierto\",\"partially-opened\":\"Parcialmente abierto\",\"pause-notifications\":\"Pausa Notificaciones\",\"paused\":\"Se ha detenido\",\"pressure\":\"Presión\",\"pressure-offset\":\"Offset de presión (mbar)\",\"properties\":\"Propiedades\",\"property-saved\":\"La propiedad se guardó correctamente.\",\"property-not-saved\":\"La propiedad no se guardó correctamente.\",\"recipients\":\"Destinatarios\",\"reconnect\":\"Reconectar\",\"recommended-maximum\":\"Máximo recomendado\",\"recommended-minimum\":\"Mínimo recomendado\",\"required-maximum\":\"Máximo requerido\",\"required-minimum\":\"Requerido mínimo\",\"right\":\"Derecho\",\"rssi-rule\":\"Regla de fuerza de señal (dBm)\",\"rules\":\"Reglas\",\"rules-for\":\"Reglas para\",\"search\":\"Búsqueda\",\"send\":\"Enviar\",\"sensor\":\"Sensor\",\"sensors\":\"Sensores\",\"settings\":\"Configuración\",\"sms\":\"SMS\",\"sms-email\":\"SMS y El Correo Electrónico\",\"temperature\":\"Temperatura\",\"temperature-max\":\"Temperatura máxima\",\"temperature-min\":\"Temperatura mínima\",\"temperature-scale\":\"La Escala de Temperatura\",\"temperature-rule\":\"Regla de temperatura ({{temperatureScale}})\",\"timestamp\":\"Timestamp\",\"top\":\"Arriba\",\"update-rules\":\"Guardar reglas\",\"recipient-successfully-updated\":\"Destinatario correctamente actualizado.\",\"recipient-not-saved\":\"El destinatario no se actualiz� correctamente.\",\"user-settings\":\"Configuración de usuario\",\"structure\":\"Estructura\",\"structures\":\"Estructuras\",\"user\":\"Usuario\",\"users\":\"Usuarios\",\"warnings\":\"Avisos\",\"water-level-rule\":\"Regla de nivel de agua (% capacidad)\",\"zone\":\"Zona\",\"zone_plural\":\"Zonas\",\"zones\":\"Zonas\",\"soilMoisture\":{\"dielectric-permittivity\":\"Permitividad Dieléctrica\",\"volumetric-water-content\":\"Contenido de agua volumétrica\",\"soil-temperature\":\"Temperatura del Suelo\",\"soil-moisture\":\"Humedad del Suelo\",\"electrical-conductivity\":\"Conductividad Eléctrica\"},\"valve\":{\"open\":\"Abrirse\",\"close\":\"Cerrar\",\"pending\":\"Pendiente...\"},\"weather\":{\"air-temperature\":\"Temperatura del aire: \",\"atmospheric-pressure\":\"Presión atmosférica: \",\"compass-heading\":\"Encabezado de la brújula: \",\"lightning-strike-count\":\"Recuento de huelgast: \",\"lightning-average-distance\":\"Distancia media: \",\"precipitation\":\"Precipitación: \",\"relative-humidity\":\"Humedad relativa: \",\"solar-radiation\":\"Radiación solar: \",\"vapor-pressure\":\"Presión de vapor: \",\"wind-direction\":\"Dirección del viento: \",\"wind-speed-maximum\":\"Velocidad máxima del viento: \",\"wind-speed-north\":\"Velocidad del viento del norte: \",\"wind-speed-east\":\"Velocidad del viento del este: \",\"wind-speed\":\"Velocidad del viento: \",\"x-orientation-angle\":\"X ángulo de orientación: \",\"y-orientation-angle\":\"Y ángulo de orientación: \"}}"],"sourceRoot":""}