]> git.openstreetmap.org Git - rails.git/commitdiff
Merge branch 'master' into feature/add-communities-page
authorAdam Hoyle <atomoil@gmail.com>
Sat, 10 Sep 2022 15:10:08 +0000 (16:10 +0100)
committerAdam Hoyle <atomoil@gmail.com>
Sat, 10 Sep 2022 15:13:17 +0000 (16:13 +0100)
# Conflicts:
# Gemfile.lock
# package.json
# yarn.lock

1  2 
Gemfile
Gemfile.lock
app/abilities/ability.rb
app/controllers/site_controller.rb
app/views/layouts/_header.html.erb
config/locales/en.yml
config/routes.rb
package.json
yarn.lock

diff --combined Gemfile
index e17772d348be8241207f0d20e1bedf69d9aa2cb1,718bd262b57ec13d558c7609d2cf0131e30ae428..7bad308b49bef847fa3c65b2e8a6bc17e1b2de1e
+++ b/Gemfile
@@@ -1,7 -1,7 +1,7 @@@
  source "https://rubygems.org"
  
  # Require rails
- gem "rails", "6.1.4.1"
+ gem "rails", "7.0.4"
  
  # Require json for multi_json
  gem "json"
@@@ -36,23 -36,25 +36,26 @@@ gem "image_optim_rails
  # Use argon2 for password hashing
  gem "argon2"
  
+ # Support brotli compression for assets
+ gem "sprockets-exporters_pack"
  # Load rails plugins
  gem "actionpack-page_caching", ">= 1.2.0"
  gem "activerecord-import"
  gem "active_record_union"
- gem "bootstrap", "~> 4.5.0"
- gem "bootstrap_form", "~> 4.0"
+ gem "bootstrap", "~> 5.1.0"
+ gem "bootstrap_form", "~> 5.0"
  gem "cancancan"
- gem "composite_primary_keys", "~> 13.0.0", "!= 13.0.1"
+ gem "composite_primary_keys", "~> 14.0.0"
  gem "config"
  gem "delayed_job_active_record"
 +gem "frozen_record"
  gem "http_accept_language", "~> 2.1.1"
- gem "i18n-js", ">= 3.0.0"
+ gem "i18n-js", "~> 3.9.2"
  gem "oauth-plugin", ">= 0.5.1"
  gem "openstreetmap-deadlock_retry", ">= 1.3.1", :require => "deadlock_retry"
  gem "rack-cors"
- gem "rails-i18n", "~> 6.0.0"
+ gem "rails-i18n", "~> 7.0.0"
  gem "rinku", ">= 2.0.6", :require => "rails_rinku"
  gem "strong_migrations"
  gem "validates_email_format_of", ">= 1.5.1"
@@@ -74,7 -76,7 +77,7 @@@ gem "omniauth-rails_csrf_protection", "
  gem "omniauth-windowslive"
  
  # Doorkeeper for OAuth2
- gem "doorkeeper"
+ gem "doorkeeper", "~> 5.5.4"
  gem "doorkeeper-i18n"
  
  # Markdown formatting support
@@@ -145,14 -147,14 +148,14 @@@ group :test d
    gem "erb_lint", :require => false
    gem "factory_bot_rails"
    gem "minitest", "~> 5.1"
-   gem "puma", "~> 5.3"
+   gem "puma", "~> 5.6"
    gem "rails-controller-testing"
    gem "rubocop"
    gem "rubocop-minitest"
    gem "rubocop-performance"
    gem "rubocop-rails"
    gem "rubocop-rake"
-   gem "selenium-webdriver", "~> 3.142.7"
+   gem "selenium-webdriver"
    gem "simplecov", :require => false
    gem "simplecov-lcov", :require => false
    gem "webmock"
diff --combined Gemfile.lock
index bfd0152c1003b128fc2e3a546eee048c538b8725,4de9076ef0661ee2824b1109a5e208c812ce11d4..6e2c335eb2abdbef7025ebc392651cf63ffc95fe
  GEM
    remote: https://rubygems.org/
    specs:
-     aasm (5.2.0)
+     aasm (5.3.0)
        concurrent-ruby (~> 1.0)
-     actioncable (6.1.4.1)
-       actionpack (= 6.1.4.1)
-       activesupport (= 6.1.4.1)
+     actioncable (7.0.4)
+       actionpack (= 7.0.4)
+       activesupport (= 7.0.4)
        nio4r (~> 2.0)
        websocket-driver (>= 0.6.1)
-     actionmailbox (6.1.4.1)
-       actionpack (= 6.1.4.1)
-       activejob (= 6.1.4.1)
-       activerecord (= 6.1.4.1)
-       activestorage (= 6.1.4.1)
-       activesupport (= 6.1.4.1)
+     actionmailbox (7.0.4)
+       actionpack (= 7.0.4)
+       activejob (= 7.0.4)
+       activerecord (= 7.0.4)
+       activestorage (= 7.0.4)
+       activesupport (= 7.0.4)
        mail (>= 2.7.1)
-     actionmailer (6.1.4.1)
-       actionpack (= 6.1.4.1)
-       actionview (= 6.1.4.1)
-       activejob (= 6.1.4.1)
-       activesupport (= 6.1.4.1)
+       net-imap
+       net-pop
+       net-smtp
+     actionmailer (7.0.4)
+       actionpack (= 7.0.4)
+       actionview (= 7.0.4)
+       activejob (= 7.0.4)
+       activesupport (= 7.0.4)
        mail (~> 2.5, >= 2.5.4)
+       net-imap
+       net-pop
+       net-smtp
        rails-dom-testing (~> 2.0)
-     actionpack (6.1.4.1)
-       actionview (= 6.1.4.1)
-       activesupport (= 6.1.4.1)
-       rack (~> 2.0, >= 2.0.9)
+     actionpack (7.0.4)
+       actionview (= 7.0.4)
+       activesupport (= 7.0.4)
+       rack (~> 2.0, >= 2.2.0)
        rack-test (>= 0.6.3)
        rails-dom-testing (~> 2.0)
        rails-html-sanitizer (~> 1.0, >= 1.2.0)
      actionpack-page_caching (1.2.4)
        actionpack (>= 4.0.0)
-     actiontext (6.1.4.1)
-       actionpack (= 6.1.4.1)
-       activerecord (= 6.1.4.1)
-       activestorage (= 6.1.4.1)
-       activesupport (= 6.1.4.1)
+     actiontext (7.0.4)
+       actionpack (= 7.0.4)
+       activerecord (= 7.0.4)
+       activestorage (= 7.0.4)
+       activesupport (= 7.0.4)
+       globalid (>= 0.6.0)
        nokogiri (>= 1.8.5)
-     actionview (6.1.4.1)
-       activesupport (= 6.1.4.1)
+     actionview (7.0.4)
+       activesupport (= 7.0.4)
        builder (~> 3.1)
        erubi (~> 1.4)
        rails-dom-testing (~> 2.0)
        rails-html-sanitizer (~> 1.1, >= 1.2.0)
      active_record_union (1.3.0)
        activerecord (>= 4.0)
-     activejob (6.1.4.1)
-       activesupport (= 6.1.4.1)
+     activejob (7.0.4)
+       activesupport (= 7.0.4)
        globalid (>= 0.3.6)
-     activemodel (6.1.4.1)
-       activesupport (= 6.1.4.1)
-     activerecord (6.1.4.1)
-       activemodel (= 6.1.4.1)
-       activesupport (= 6.1.4.1)
-     activerecord-import (1.2.0)
-       activerecord (>= 3.2)
-     activestorage (6.1.4.1)
-       actionpack (= 6.1.4.1)
-       activejob (= 6.1.4.1)
-       activerecord (= 6.1.4.1)
-       activesupport (= 6.1.4.1)
-       marcel (~> 1.0.0)
+     activemodel (7.0.4)
+       activesupport (= 7.0.4)
+     activerecord (7.0.4)
+       activemodel (= 7.0.4)
+       activesupport (= 7.0.4)
+     activerecord-import (1.4.0)
+       activerecord (>= 4.2)
+     activestorage (7.0.4)
+       actionpack (= 7.0.4)
+       activejob (= 7.0.4)
+       activerecord (= 7.0.4)
+       activesupport (= 7.0.4)
+       marcel (~> 1.0)
        mini_mime (>= 1.1.0)
-     activesupport (6.1.4.1)
+     activesupport (7.0.4)
        concurrent-ruby (~> 1.0, >= 1.0.2)
        i18n (>= 1.6, < 2)
        minitest (>= 5.1)
        tzinfo (~> 2.0)
-       zeitwerk (~> 2.3)
-     addressable (2.8.0)
-       public_suffix (>= 2.0.2, < 5.0)
-     annotate (3.1.1)
-       activerecord (>= 3.2, < 7.0)
+     addressable (2.8.1)
+       public_suffix (>= 2.0.2, < 6.0)
+     annotate (3.2.0)
+       activerecord (>= 3.2, < 8.0)
        rake (>= 10.4, < 14.0)
      argon2 (2.1.1)
        ffi (~> 1.14)
        ffi-compiler (~> 1.0)
      ast (2.4.2)
-     autoprefixer-rails (10.3.3.0)
+     autoprefixer-rails (10.4.7.0)
        execjs (~> 2)
      aws-eventstream (1.2.0)
-     aws-partitions (1.539.0)
-     aws-sdk-core (3.124.0)
+     aws-partitions (1.628.0)
+     aws-sdk-core (3.144.0)
        aws-eventstream (~> 1, >= 1.0.2)
        aws-partitions (~> 1, >= 1.525.0)
        aws-sigv4 (~> 1.1)
-       jmespath (~> 1.0)
-     aws-sdk-kms (1.52.0)
-       aws-sdk-core (~> 3, >= 3.122.0)
+       jmespath (~> 1, >= 1.6.1)
+     aws-sdk-kms (1.58.0)
+       aws-sdk-core (~> 3, >= 3.127.0)
        aws-sigv4 (~> 1.1)
-     aws-sdk-s3 (1.109.0)
-       aws-sdk-core (~> 3, >= 3.122.0)
+     aws-sdk-s3 (1.114.0)
+       aws-sdk-core (~> 3, >= 3.127.0)
        aws-sdk-kms (~> 1)
        aws-sigv4 (~> 1.4)
-     aws-sigv4 (1.4.0)
+     aws-sigv4 (1.5.1)
        aws-eventstream (~> 1, >= 1.0.2)
      better_errors (2.9.1)
        coderay (>= 1.0.0)
        erubi (>= 1.0.0)
        rack (>= 0.9.0)
-     better_html (1.0.16)
-       actionview (>= 4.0)
-       activesupport (>= 4.0)
+     better_html (2.0.1)
+       actionview (>= 6.0)
+       activesupport (>= 6.0)
        ast (~> 2.0)
        erubi (~> 1.4)
-       html_tokenizer (~> 0.0.6)
        parser (>= 2.4)
        smart_properties
      binding_of_caller (1.0.0)
        debug_inspector (>= 0.0.1)
-     bootsnap (1.9.3)
-       msgpack (~> 1.0)
-     bootstrap (4.5.3)
+     bootsnap (1.13.0)
+       msgpack (~> 1.2)
+     bootstrap (5.1.3)
        autoprefixer-rails (>= 9.1.0)
-       popper_js (>= 1.14.3, < 2)
+       popper_js (>= 2.9.3, < 3)
        sassc-rails (>= 2.0.0)
-     bootstrap_form (4.5.0)
+     bootstrap_form (5.1.0)
        actionpack (>= 5.2)
        activemodel (>= 5.2)
-     brakeman (5.1.2)
+     brakeman (5.3.1)
+     brotli (0.4.0)
      browser (5.3.1)
      builder (3.2.4)
      bzip2-ffi (1.1.0)
        ffi (~> 1.0)
-     cancancan (3.3.0)
-     canonical-rails (0.2.13)
-       rails (>= 4.1, <= 7.0)
-     capybara (3.36.0)
+     cancancan (3.4.0)
+     canonical-rails (0.2.14)
+       rails (>= 4.1, <= 7.1)
+     capybara (3.37.1)
        addressable
        matrix
        mini_mime (>= 0.1.3)
        rack-test (>= 0.6.3)
        regexp_parser (>= 1.5, < 3.0)
        xpath (~> 3.2)
-     childprocess (3.0.0)
+     childprocess (4.1.0)
      coderay (1.1.3)
-     composite_primary_keys (13.0.0)
-       activerecord (~> 6.1.0)
-     concurrent-ruby (1.1.9)
-     config (3.1.0)
+     composite_primary_keys (14.0.4)
+       activerecord (~> 7.0.2)
+     concurrent-ruby (1.1.10)
+     config (4.0.0)
        deep_merge (~> 1.2, >= 1.2.1)
        dry-validation (~> 1.0, >= 1.0.0)
      connection_pool (2.2.5)
      crack (0.4.5)
        rexml
      crass (1.0.6)
-     dalli (3.1.0)
+     dalli (3.2.2)
      debug_inspector (1.1.0)
-     deep_merge (1.2.1)
-     delayed_job (4.1.9)
-       activesupport (>= 3.0, < 6.2)
-     delayed_job_active_record (4.1.6)
-       activerecord (>= 3.0, < 6.2)
+     deep_merge (1.2.2)
+     delayed_job (4.1.10)
+       activesupport (>= 3.0, < 8.0)
+     delayed_job_active_record (4.1.7)
+       activerecord (>= 3.0, < 8.0)
        delayed_job (>= 3.0, < 5)
+     digest (3.1.0)
      docile (1.4.0)
      doorkeeper (5.5.4)
        railties (>= 5)
-     doorkeeper-i18n (5.2.3)
+     doorkeeper-i18n (5.2.4)
        doorkeeper (>= 5.2)
-     dry-configurable (0.13.0)
+     dry-configurable (0.15.0)
        concurrent-ruby (~> 1.0)
        dry-core (~> 0.6)
-     dry-container (0.9.0)
+     dry-container (0.10.1)
        concurrent-ruby (~> 1.0)
-       dry-configurable (~> 0.13, >= 0.13.0)
-     dry-core (0.7.1)
+     dry-core (0.8.1)
        concurrent-ruby (~> 1.0)
-     dry-inflector (0.2.1)
-     dry-initializer (3.0.4)
+     dry-inflector (0.3.0)
+     dry-initializer (3.1.1)
      dry-logic (1.2.0)
        concurrent-ruby (~> 1.0)
        dry-core (~> 0.5, >= 0.5)
-     dry-schema (1.8.0)
+     dry-schema (1.10.2)
        concurrent-ruby (~> 1.0)
        dry-configurable (~> 0.13, >= 0.13.0)
        dry-core (~> 0.5, >= 0.5)
        dry-core (~> 0.5, >= 0.5)
        dry-inflector (~> 0.1, >= 0.1.2)
        dry-logic (~> 1.0, >= 1.0.2)
-     dry-validation (1.7.0)
+     dry-validation (1.8.1)
        concurrent-ruby (~> 1.0)
        dry-container (~> 0.7, >= 0.7.1)
        dry-core (~> 0.5, >= 0.5)
        dry-initializer (~> 3.0)
        dry-schema (~> 1.8, >= 1.8.0)
-     erb_lint (0.1.1)
+     erb_lint (0.2.0)
        activesupport
-       better_html (~> 1.0.7)
-       html_tokenizer
+       better_html (>= 2.0.1)
        parser (>= 2.7.1.4)
        rainbow
        rubocop
        smart_properties
-     erubi (1.10.0)
+     erubi (1.11.0)
      execjs (2.8.1)
      exifr (1.3.9)
-     factory_bot (6.2.0)
+     factory_bot (6.2.1)
        activesupport (>= 5.0.0)
      factory_bot_rails (6.2.0)
        factory_bot (~> 6.2.0)
        railties (>= 5.0.0)
-     faraday (1.8.0)
-       faraday-em_http (~> 1.0)
-       faraday-em_synchrony (~> 1.0)
-       faraday-excon (~> 1.1)
-       faraday-httpclient (~> 1.0.1)
-       faraday-net_http (~> 1.0)
-       faraday-net_http_persistent (~> 1.1)
-       faraday-patron (~> 1.0)
-       faraday-rack (~> 1.0)
-       multipart-post (>= 1.2, < 3)
+     faraday (2.5.2)
+       faraday-net_http (>= 2.0, < 3.1)
        ruby2_keywords (>= 0.0.4)
-     faraday-em_http (1.0.0)
-     faraday-em_synchrony (1.0.0)
-     faraday-excon (1.1.0)
-     faraday-httpclient (1.0.1)
-     faraday-net_http (1.0.1)
-     faraday-net_http_persistent (1.2.0)
-     faraday-patron (1.0.0)
-     faraday-rack (1.0.0)
-     ffi (1.15.4)
+     faraday-net_http (3.0.0)
+     ffi (1.15.5)
      ffi-compiler (1.0.1)
        ffi (>= 1.0.0)
        rake
      ffi-libarchive (1.1.3)
        ffi (~> 1.0)
 +    frozen_record (0.26.0)
 +      activemodel
      fspath (3.1.2)
      gd2-ffij (0.4.0)
        ffi (>= 1.0.0)
        activesupport (>= 5.0)
      hashdiff (1.0.1)
      hashie (5.0.0)
-     html_tokenizer (0.0.7)
      htmlentities (4.3.4)
      http_accept_language (2.1.1)
-     i18n (1.8.11)
+     i18n (1.12.0)
        concurrent-ruby (~> 1.0)
-     i18n-js (3.9.0)
+     i18n-js (3.9.2)
        i18n (>= 0.6.6)
      image_optim (0.31.1)
        exifr (~> 1.2, >= 1.2.2)
        image_size (>= 1.5, < 4)
        in_threads (~> 1.3)
        progress (~> 3.0, >= 3.0.1)
-     image_optim_rails (0.4.3)
+     image_optim_rails (0.5.0)
        image_optim (~> 0.24)
-       rails
+       railties
        sprockets
-     image_processing (1.12.1)
+     image_processing (1.12.2)
        mini_magick (>= 4.9.5, < 5)
        ruby-vips (>= 2.0.17, < 3)
-     image_size (3.0.1)
-     in_threads (1.5.4)
-     jbuilder (2.11.3)
+     image_size (3.0.2)
+     in_threads (1.6.0)
+     jbuilder (2.11.5)
+       actionview (>= 5.0.0)
        activesupport (>= 5.0.0)
-     jmespath (1.4.0)
-     jquery-rails (4.4.0)
+     jmespath (1.6.1)
+     jquery-rails (4.5.0)
        rails-dom-testing (>= 1, < 3)
        railties (>= 4.2.0)
        thor (>= 0.14, < 2.0)
-     json (2.6.1)
-     jwt (2.3.0)
+     json (2.6.2)
+     jwt (2.5.0)
      kgio (2.11.4)
-     kramdown (2.3.1)
+     kramdown (2.4.0)
        rexml
-     libxml-ruby (3.2.1)
-     listen (3.7.0)
+     libxml-ruby (3.2.3)
+     listen (3.7.1)
        rb-fsevent (~> 0.10, >= 0.10.3)
        rb-inotify (~> 0.9, >= 0.9.10)
      logstasher (2.1.5)
        activesupport (>= 5.2)
        request_store
-     loofah (2.12.0)
+     loofah (2.18.0)
        crass (~> 1.0.2)
        nokogiri (>= 1.5.9)
      mail (2.7.1)
      method_source (1.0.0)
      mini_magick (4.11.0)
      mini_mime (1.1.2)
-     mini_portile2 (2.6.1)
-     minitest (5.14.4)
-     msgpack (1.4.2)
+     mini_portile2 (2.8.0)
+     minitest (5.16.3)
+     msgpack (1.5.6)
      multi_json (1.15.0)
      multi_xml (0.6.0)
-     multipart-post (2.1.1)
+     net-imap (0.2.3)
+       digest
+       net-protocol
+       strscan
+     net-pop (0.1.1)
+       digest
+       net-protocol
+       timeout
+     net-protocol (0.1.3)
+       timeout
+     net-smtp (0.3.1)
+       digest
+       net-protocol
+       timeout
      nio4r (2.5.8)
-     nokogiri (1.12.5)
-       mini_portile2 (~> 2.6.1)
+     nokogiri (1.13.8)
+       mini_portile2 (~> 2.8.0)
        racc (~> 1.4)
      oauth (0.4.7)
      oauth-plugin (0.5.1)
        oauth (~> 0.4.4)
        oauth2 (>= 0.5.0)
        rack
-     oauth2 (1.4.7)
-       faraday (>= 0.8, < 2.0)
+     oauth2 (1.4.10)
+       faraday (>= 0.17.3, < 3.0)
        jwt (>= 1.0, < 3.0)
        multi_json (~> 1.3)
        multi_xml (~> 0.5)
      omniauth-github (2.0.0)
        omniauth (~> 2.0)
        omniauth-oauth2 (~> 1.7.1)
-     omniauth-google-oauth2 (1.0.0)
+     omniauth-google-oauth2 (1.0.1)
        jwt (>= 2.0)
        oauth2 (~> 1.1)
        omniauth (~> 2.0)
      omniauth-oauth (1.2.0)
        oauth
        omniauth (>= 1.0, < 3)
-     omniauth-oauth2 (1.7.2)
-       oauth2 (~> 1.4)
+     omniauth-oauth2 (1.7.3)
+       oauth2 (>= 1.4, < 3)
        omniauth (>= 1.9, < 3)
      omniauth-openid (2.0.1)
        omniauth (>= 1.0, < 3.0)
        rack-openid (~> 1.4.0)
-     omniauth-rails_csrf_protection (1.0.0)
+     omniauth-rails_csrf_protection (1.0.1)
        actionpack (>= 4.2)
        omniauth (~> 2.0)
      omniauth-windowslive (0.0.12)
        multi_json (~> 1.12)
        omniauth-oauth2 (~> 1.4)
      openstreetmap-deadlock_retry (1.3.1)
-     parallel (1.21.0)
-     parser (3.0.3.1)
+     parallel (1.22.1)
+     parser (3.1.2.1)
        ast (~> 2.4.1)
-     pg (1.2.3)
-     popper_js (1.16.0)
+     pg (1.4.3)
+     popper_js (2.11.5)
      progress (3.6.0)
-     public_suffix (4.0.6)
-     puma (5.5.2)
+     public_suffix (5.0.0)
+     puma (5.6.5)
        nio4r (~> 2.0)
      quad_tile (1.0.1)
      r2 (0.2.7)
      racc (1.6.0)
-     rack (2.2.3)
+     rack (2.2.4)
      rack-cors (1.1.1)
        rack (>= 2.0.0)
      rack-openid (1.4.2)
        rack (>= 1.1.0)
        ruby-openid (>= 2.1.8)
-     rack-protection (2.1.0)
+     rack-protection (2.2.2)
        rack
-     rack-test (1.1.0)
-       rack (>= 1.0, < 3)
+     rack-test (2.0.2)
+       rack (>= 1.3)
      rack-uri_sanitizer (0.0.2)
-     rails (6.1.4.1)
-       actioncable (= 6.1.4.1)
-       actionmailbox (= 6.1.4.1)
-       actionmailer (= 6.1.4.1)
-       actionpack (= 6.1.4.1)
-       actiontext (= 6.1.4.1)
-       actionview (= 6.1.4.1)
-       activejob (= 6.1.4.1)
-       activemodel (= 6.1.4.1)
-       activerecord (= 6.1.4.1)
-       activestorage (= 6.1.4.1)
-       activesupport (= 6.1.4.1)
+     rails (7.0.4)
+       actioncable (= 7.0.4)
+       actionmailbox (= 7.0.4)
+       actionmailer (= 7.0.4)
+       actionpack (= 7.0.4)
+       actiontext (= 7.0.4)
+       actionview (= 7.0.4)
+       activejob (= 7.0.4)
+       activemodel (= 7.0.4)
+       activerecord (= 7.0.4)
+       activestorage (= 7.0.4)
+       activesupport (= 7.0.4)
        bundler (>= 1.15.0)
-       railties (= 6.1.4.1)
-       sprockets-rails (>= 2.0.0)
+       railties (= 7.0.4)
      rails-controller-testing (1.0.5)
        actionpack (>= 5.0.1.rc1)
        actionview (>= 5.0.1.rc1)
      rails-dom-testing (2.0.3)
        activesupport (>= 4.2.0)
        nokogiri (>= 1.6)
-     rails-html-sanitizer (1.4.2)
+     rails-html-sanitizer (1.4.3)
        loofah (~> 2.3)
-     rails-i18n (6.0.0)
+     rails-i18n (7.0.5)
        i18n (>= 0.7, < 2)
-       railties (>= 6.0.0, < 7)
-     railties (6.1.4.1)
-       actionpack (= 6.1.4.1)
-       activesupport (= 6.1.4.1)
+       railties (>= 6.0.0, < 8)
+     railties (7.0.4)
+       actionpack (= 7.0.4)
+       activesupport (= 7.0.4)
        method_source
-       rake (>= 0.13)
+       rake (>= 12.2)
        thor (~> 1.0)
-     rainbow (3.0.0)
+       zeitwerk (~> 2.5)
+     rainbow (3.1.1)
      rake (13.0.6)
-     rb-fsevent (0.11.0)
+     rb-fsevent (0.11.2)
      rb-inotify (0.10.1)
        ffi (~> 1.0)
-     regexp_parser (2.2.0)
-     request_store (1.5.0)
+     regexp_parser (2.5.0)
+     request_store (1.5.1)
        rack (>= 1.4)
      rexml (3.2.5)
      rinku (2.0.6)
      rotp (6.2.0)
-     rubocop (1.23.0)
+     rubocop (1.36.0)
+       json (~> 2.3)
        parallel (~> 1.10)
-       parser (>= 3.0.0.0)
+       parser (>= 3.1.2.1)
        rainbow (>= 2.2.2, < 4.0)
        regexp_parser (>= 1.8, < 3.0)
-       rexml
-       rubocop-ast (>= 1.12.0, < 2.0)
+       rexml (>= 3.2.5, < 4.0)
+       rubocop-ast (>= 1.20.1, < 2.0)
        ruby-progressbar (~> 1.7)
        unicode-display_width (>= 1.4.0, < 3.0)
-     rubocop-ast (1.14.0)
-       parser (>= 3.0.1.1)
-     rubocop-minitest (0.17.0)
+     rubocop-ast (1.21.0)
+       parser (>= 3.1.1.0)
+     rubocop-minitest (0.22.0)
        rubocop (>= 0.90, < 2.0)
-     rubocop-performance (1.12.0)
+     rubocop-performance (1.14.3)
        rubocop (>= 1.7.0, < 2.0)
        rubocop-ast (>= 0.4.0)
-     rubocop-rails (2.12.4)
+     rubocop-rails (2.16.0)
        activesupport (>= 4.2.0)
        rack (>= 1.1)
-       rubocop (>= 1.7.0, < 2.0)
+       rubocop (>= 1.33.0, < 2.0)
      rubocop-rake (0.6.0)
        rubocop (~> 1.0)
      ruby-openid (2.9.2)
        sprockets (> 3.0)
        sprockets-rails
        tilt
-     secure_headers (6.3.3)
-     selenium-webdriver (3.142.7)
-       childprocess (>= 0.5, < 4.0)
-       rubyzip (>= 1.2.2)
+     secure_headers (6.4.0)
+     selenium-webdriver (4.4.0)
+       childprocess (>= 0.5, < 5.0)
+       rexml (~> 3.2, >= 3.2.5)
+       rubyzip (>= 1.2.2, < 3.0)
+       websocket (~> 1.0)
      simplecov (0.21.2)
        docile (~> 1.1)
        simplecov-html (~> 0.11)
        simplecov_json_formatter (~> 0.1)
      simplecov-html (0.12.3)
      simplecov-lcov (0.8.0)
-     simplecov_json_formatter (0.1.3)
-     smart_properties (1.16.3)
-     sprockets (4.0.2)
+     simplecov_json_formatter (0.1.4)
+     smart_properties (1.17.0)
+     sprockets (4.1.1)
        concurrent-ruby (~> 1.0)
        rack (> 1, < 3)
-     sprockets-rails (3.4.1)
+     sprockets-exporters_pack (0.1.2)
+       brotli (>= 0.2.0)
+       sprockets (>= 4.0.0.beta3)
+     sprockets-rails (3.4.2)
        actionpack (>= 5.2)
        activesupport (>= 5.2)
        sprockets (>= 3.0.0)
-     strong_migrations (0.7.8)
-       activerecord (>= 5)
-     terser (1.1.8)
+     strong_migrations (1.3.0)
+       activerecord (>= 5.2)
+     strscan (3.0.4)
+     terser (1.1.12)
        execjs (>= 0.3.0, < 3)
-     thor (1.1.0)
-     tilt (2.0.10)
-     tzinfo (2.0.4)
+     thor (1.2.1)
+     tilt (2.0.11)
+     timeout (0.3.0)
+     tzinfo (2.0.5)
        concurrent-ruby (~> 1.0)
-     unicode-display_width (2.1.0)
-     validates_email_format_of (1.6.3)
+     unicode-display_width (2.2.0)
+     validates_email_format_of (1.7.2)
        i18n
      vendorer (0.2.0)
-     webmock (3.14.0)
+     webmock (3.18.1)
        addressable (>= 2.8.0)
        crack (>= 0.3.2)
        hashdiff (>= 0.4.0, < 2.0.0)
+     websocket (1.2.9)
      websocket-driver (0.7.5)
        websocket-extensions (>= 0.1.0)
      websocket-extensions (0.1.5)
      xpath (3.2.0)
        nokogiri (~> 1.8)
-     zeitwerk (2.5.1)
+     zeitwerk (2.6.0)
  
  PLATFORMS
    ruby
@@@ -512,31 -522,30 +524,31 @@@ DEPENDENCIE
    better_errors
    binding_of_caller
    bootsnap (>= 1.4.2)
-   bootstrap (~> 4.5.0)
-   bootstrap_form (~> 4.0)
+   bootstrap (~> 5.1.0)
+   bootstrap_form (~> 5.0)
    brakeman
    browser
    bzip2-ffi
    cancancan
    canonical-rails
    capybara (>= 2.15)
-   composite_primary_keys (~> 13.0.0, != 13.0.1)
+   composite_primary_keys (~> 14.0.0)
    config
    connection_pool
    dalli
    debug_inspector
    delayed_job_active_record
-   doorkeeper
+   doorkeeper (~> 5.5.4)
    doorkeeper-i18n
    erb_lint
    factory_bot_rails
    faraday
    ffi-libarchive
 +  frozen_record
    gd2-ffij (>= 0.4.0)
    htmlentities
    http_accept_language (~> 2.1.1)
-   i18n-js (>= 3.0.0)
+   i18n-js (~> 3.9.2)
    image_optim_rails
    image_processing
    jbuilder (~> 2.7)
    omniauth-windowslive
    openstreetmap-deadlock_retry (>= 1.3.1)
    pg
-   puma (~> 5.3)
+   puma (~> 5.6)
    quad_tile (~> 1.0.1)
    r2 (~> 0.2.7)
    rack-cors
    rack-uri_sanitizer
-   rails (= 6.1.4.1)
+   rails (= 7.0.4)
    rails-controller-testing
-   rails-i18n (~> 6.0.0)
+   rails-i18n (~> 7.0.0)
    rinku (>= 2.0.6)
    rotp
    rubocop
    sanitize
    sassc-rails
    secure_headers
-   selenium-webdriver (~> 3.142.7)
+   selenium-webdriver
    simplecov
    simplecov-lcov
+   sprockets-exporters_pack
    strong_migrations
    terser
    validates_email_format_of (>= 1.5.1)
    webmock
  
  BUNDLED WITH
-    2.2.19
+    2.3.7
diff --combined app/abilities/ability.rb
index f33ce182dd6a7c7d5f9075c61d85524ee3c9fbdb,e9fd6f7bb1cd1cefc79773605549548a07c6c0a5..e022f7993e79adcfd8d7047fd4cabc94269077d9
@@@ -7,7 -7,7 +7,7 @@@ class Abilit
      can [:relation, :relation_history, :way, :way_history, :node, :node_history,
           :changeset, :note, :new_note, :query], :browse
      can :search, :direction
 -    can [:index, :permalink, :edit, :help, :fixthemap, :offline, :export, :about, :preview, :copyright, :key, :id], :site
 +    can [:index, :permalink, :edit, :help, :fixthemap, :offline, :export, :about, :communities, :preview, :copyright, :key, :id], :site
      can [:finish, :embed], :export
      can [:search, :search_latlon, :search_ca_postcode, :search_osm_nominatim,
           :search_geonames, :search_osm_nominatim_reverse, :search_geonames_reverse], :geocoder
@@@ -23,7 -23,7 +23,7 @@@
        can [:index, :show], Redaction
        can [:new, :create, :destroy], :session
        can [:index, :show, :data, :georss, :picture, :icon], Trace
-       can [:terms, :new, :create, :save,  :show, :auth_success, :auth_failure], User
+       can [:terms, :new, :create, :save, :suspended, :show, :auth_success, :auth_failure], User
        can [:index, :show, :blocks_on, :blocks_by], UserBlock
        can [:index, :show], Node
        can [:index, :show, :full, :ways_for_node], Way
      if user
        can :welcome, :site
        can [:revoke, :authorize], :oauth
+       can [:show], :deletion
  
        if Settings.status != "database_offline"
          can [:index, :new, :create, :show, :edit, :update, :destroy], ClientApplication
          can [:index, :new, :create, :show, :edit, :update, :destroy], :oauth2_application
          can [:index, :destroy], :oauth2_authorized_application
          can [:new, :show, :create, :destroy], :oauth2_authorization
+         can [:edit, :update, :destroy], :account
          can [:show], :dashboard
          can [:new, :create, :edit, :update, :comment, :subscribe, :unsubscribe], DiaryEntry
          can [:make_friend, :remove_friend], Friendship
index 50435ca85d5181d87fd7415a1a7a93562122636c,02852dc67f12a1cc3f286872c3e8993a2a63daff..9d9cf0f39578c78951c0aa4eb7632c452ab7f44f
@@@ -7,6 -7,7 +7,7 @@@ class SiteController < ApplicationContr
    before_action :redirect_browse_params, :only => :index
    before_action :redirect_map_params, :only => [:index, :edit, :export]
    before_action :require_oauth, :only => [:index]
+   before_action :require_user, :only => [:id]
    before_action :update_totp, :only => [:index]
  
    authorize_resource :class => false
      @locale = params[:about_locale] || I18n.locale
    end
  
 +  def communities
 +    @local_chapters = Community.where(:type => "osm-lc").where.not(:id => "OSMF")
 +  end
 +
    def export; end
  
    def offline; end
index 904665ca78451a533901b4cb77aca1e9bd87a793,27314cfc74ff65bfe11122e70d9028d516d65774..e4f640e355db72a6c06809800c21e72f74517d88
@@@ -18,7 -18,7 +18,7 @@@
                      :class => "btn btn-outline-primary geolink editlink",
                      :id => "editanchor",
                      :data => { :editor => preferred_editor } %>
-         <a class='btn btn-outline-primary dropdown-toggle dropdown-toggle-split' data-toggle='dropdown' href='#'></a>
+         <a class='btn btn-outline-primary dropdown-toggle dropdown-toggle-split' data-bs-toggle='dropdown' href='#'></a>
          <ul class='dropdown-menu'>
            <% Editors::RECOMMENDED_EDITORS.each do |editor| %>
              <li>
@@@ -36,7 -36,7 +36,7 @@@
    </nav>
    <nav class='secondary'>
      <ul class='mx-1 px-0'>
-       <% if can? :index, Issue %>
+       <% if Settings.status != "database_offline" && can?(:index, Issue) %>
          <li class="compact-hide nav-item <%= current_page_class(issues_path) %>">
            <%= link_to issues_path(:status => "open"), :class => "nav-link" do %>
              <%= t("layouts.issues") %>
@@@ -50,9 -50,6 +50,9 @@@
        <li class="compact-hide nav-item <%= current_page_class(diary_entries_path) %>">
          <%= link_to t("layouts.user_diaries"), diary_entries_path, :class => "nav-link" %>
        </li>
 +      <li class="compact-hide nav-item <%= current_page_class(communities_path) %>">
 +        <%= link_to t("layouts.communities"), communities_path, :class => "nav-link" %>
 +      </li>
        <li class="compact-hide nav-item <%= current_page_class(copyright_path) %>">
          <%= link_to t("layouts.copyright"), copyright_path, :class => "nav-link" %>
        </li>
@@@ -63,7 -60,7 +63,7 @@@
          <%= link_to t("layouts.about"), about_path, :class => "nav-link" %>
        </li>
        <li id="compact-secondary-nav" class="dropdown nav-item">
-         <a class="dropdown-toggle nav-link" data-toggle="dropdown" href="#"><%= t "layouts.more" %></a>
+         <a class="dropdown-toggle nav-link" data-bs-toggle="dropdown" href="#"><%= t "layouts.more" %></a>
          <ul class="dropdown-menu">
            <% if Settings.status != "database_offline" && can?(:index, Issue) %>
              <li class="<%= current_page_class(issues_path) %>">
@@@ -75,7 -72,6 +75,7 @@@
            <% end %>
            <li class="<%= current_page_class(traces_path) %>"><%= link_to t("layouts.gps_traces"), traces_path, :class => "dropdown-item" %></li>
            <li class="<%= current_page_class(diary_entries_path) %>"><%= link_to t("layouts.user_diaries"), diary_entries_path, :class => "dropdown-item" %></li>
 +          <li class="<%= current_page_class(communities_path) %>"><%= link_to t("layouts.communities"), communities_path, :class => "dropdown-item" %></li>
            <li class="<%= current_page_class(copyright_path) %>"><%= link_to t("layouts.copyright"), copyright_path, :class => "dropdown-item" %></li>
            <li class="<%= current_page_class(help_path) %>"><%= link_to t("layouts.help"), help_path, :class => "dropdown-item" %></li>
            <li class="<%= current_page_class(about_path) %>"><%= link_to t("layouts.about"), about_path, :class => "dropdown-item" %></li>
@@@ -84,8 -80,8 +84,8 @@@
      </ul>
      <% if current_user && current_user.id %>
        <div class='d-inline-flex dropdown user-menu logged-in clearfix'>
-         <a class='dropdown-toggle btn btn-outline-secondary pl-2 py-1 flex-grow-1' data-toggle='dropdown' href="#">
-           <%= user_thumbnail_tiny(current_user, :width => 25, :height => 25, :class => "user_thumbnail_tiny rounded-sm") %>
+         <a class='dropdown-toggle btn btn-outline-secondary px-2 py-1 flex-grow-1' data-bs-toggle='dropdown' href="#">
+           <%= user_thumbnail_tiny(current_user, :width => 25, :height => 25, :class => "user_thumbnail_tiny rounded-1") %>
            <%= render :partial => "layouts/inbox" %>
            <span class="user-button">
              <span class='username'>
              </span>
            </span>
          </a>
-         <div class='dropdown-menu dropdown-menu-right'>
+         <div class='dropdown-menu dropdown-menu-end'>
            <%= link_to t("users.show.my_dashboard"), dashboard_path, :class => "dropdown-item" %>
            <%= link_to inbox_messages_path, :class => "dropdown-item" do %>
              <%= t("users.show.my messages") %>
              <span class='count-number'><%= number_with_delimiter(current_user.new_messages.size) %></span>
            <% end %>
            <%= link_to t("users.show.my profile"), user_path(current_user), :class => "dropdown-item" %>
-           <%= link_to t("users.show.my settings"), user_account_path(current_user), :class => "dropdown-item" %>
+           <%= link_to t("users.show.my settings"), edit_account_path, :class => "dropdown-item" %>
            <%= link_to t("users.show.my_preferences"), preferences_path, :class => "dropdown-item" %>
            <div class="dropdown-divider"></div>
            <%= yield :greeting %>
        <div class="d-inline-flex btn-group login-menu" role="">
          <%= link_to t("layouts.log_in"), login_path(:referer => request.fullpath), :class => "geolink btn btn-outline-secondary" %>
          <%= link_to t("layouts.sign_up"), user_new_path, :class => "btn btn-outline-secondary" %>
-       </ul>
+       </div>
      <% end %>
    </nav>
  </header>
diff --combined config/locales/en.yml
index ca14650f57ec63107360d6b158d9345763195f2a,55bd1c0a85c1bbf07ef4452601127b07c5a12a7d..794330e6c4f3001ab2888831bfbad7095dac0060
@@@ -38,7 -38,7 +38,7 @@@ en
        messages:
          invalid_email_address: does not appear to be a valid e-mail address
          email_address_not_routable: is not routable
-     # Translates all the model names, which is used in error handling on the web site
+     # Translates all the model names, which is used in error handling on the website
      models:
        acl: "Access Control List"
        changeset: "Changeset"
@@@ -75,8 -75,8 +75,8 @@@
        way: "Way"
        way_node: "Way Node"
        way_tag: "Way Tag"
-     # Translates all the model attributes, which is used in error handling on the web site
-     # Only the ones that are used on the web site are translated at the moment
+     # Translates all the model attributes, which is used in error handling on the website
+     # Only the ones that are used on the website are translated at the moment
      attributes:
        client_application:
          name: Name (Required)
        trace:
          user: "User"
          visible: "Visible"
-         name: "Name"
+         name: Filename
          size: "Size"
          latitude: "Latitude"
          longitude: "Longitude"
          public: "Public"
          description: "Description"
-         name: Filename
          gpx_file: Upload GPX File
          visibility: Visibility
          tagstring: Tags
        entry:
          comment: Comment
          full: Full note
+   account:
+     deletions:
+       show:
+         title: Delete My Account
+         warning: Warning! The account deletion process is final, and cannot be reversed.
+         delete_account: Delete Account
+         delete_introduction: "You can delete your OpenStreetMap account using the button below. Please note the following details:"
+         delete_profile: Your profile information, including your avatar, description and home location will be removed.
+         delete_display_name: Your display name will be removed, and can be reused by other accounts.
+         retain_caveats: "However, some information about you will be retained on OpenStreetMap, even after your account is deleted:"
+         retain_edits: Your edits to the map database, if any, will be retained.
+         retain_traces: Your uploaded traces, if any, will be retained.
+         retain_diary_entries: Your diary entries and diary comments, if any, will be retained but hidden from view.
+         retain_notes: Your map notes and note comments, if any, will be retained but hidden from view.
+         retain_changeset_discussions: Your changeset discussions, if any, will be retained.
+         retain_email: Your email address will be retained.
+         confirm_delete: Are you sure?
+         cancel: Cancel
+   accounts:
+     edit:
+       title: "Edit account"
+       my settings: My Settings
+       current email address: "Current Email Address"
+       external auth: "External Authentication"
+       openid:
+         link: "https://wiki.openstreetmap.org/wiki/OpenID"
+         link text: "what is this?"
+       public editing:
+         heading: "Public editing"
+         enabled: "Enabled. Not anonymous and can edit data."
+         enabled link: "https://wiki.openstreetmap.org/wiki/Anonymous_edits"
+         enabled link text: "what is this?"
+         disabled: "Disabled and cannot edit data, all previous edits are anonymous."
+         disabled link text: "why can't I edit?"
+       public editing note:
+         heading: "Public editing"
+         html: "Currently your edits are anonymous and people cannot send you messages or see your location. To show what you edited and allow people to contact you through the website, click the button below. <b>Since the 0.6 API changeover, only public users can edit map data</b>. (<a href=\"https://wiki.openstreetmap.org/wiki/Anonymous_edits\">find out why</a>).<ul><li>Your email address will not be revealed by becoming public.</li><li>This action cannot be reversed and all new users are now public by default.</li></ul>"
+       contributor terms:
+         heading: "Contributor Terms"
+         agreed: "You have agreed to the new Contributor Terms."
+         not yet agreed: "You have not yet agreed to the new Contributor Terms."
+         review link text: "Please follow this link at your convenience to review and accept the new Contributor Terms."
+         agreed_with_pd: "You have also declared that you consider your edits to be in the Public Domain."
+         link: "https://wiki.osmfoundation.org/wiki/Licence/Contributor_Terms"
+         link text: "what is this?"
+       save changes button: Save Changes
+       make edits public button: Make all my edits public
+       delete_account: Delete Account...
+     update:
+       success_confirm_needed: "User information updated successfully. Check your email for a note to confirm your new email address."
+       success: "User information updated successfully."
+     destroy:
+       success: "Account Deleted."
    browse:
      created: "Created"
      closed: "Closed"
        reopened_by_html: "Reactivated by %{user} <abbr title='%{exact_time}'>%{when}</abbr>"
        reopened_by_anonymous_html: "Reactivated by anonymous <abbr title='%{exact_time}'>%{when}</abbr>"
        hidden_by_html: "Hidden by %{user} <abbr title='%{exact_time}'>%{when}</abbr>"
-       report: Report this note
+       report: report this note
        coordinates_html: "%{latitude}, %{longitude}"
      query:
        title: "Query Features"
          aeroway:
            aerodrome: "Aerodrome"
            airstrip: "Airstrip"
-           apron: "Apron"
-           gate: "Gate"
+           apron: "Airport Apron"
+           gate: "Airport Gate"
            hangar: "Hangar"
            helipad: "Helipad"
            holding_position: "Holding Position"
-           navigationaid: "Aviation Navigation aid"
+           navigationaid: "Aviation Navigation Aid"
            parking_position: "Parking Position"
            runway: "Runway"
            taxilane: "Taxilane"
            taxiway: "Taxiway"
-           terminal: "Terminal"
+           terminal: "Airport Terminal"
            windsock: "Windsock"
          amenity:
            animal_boarding: "Animal Boarding"
            fire_station: "Fire Station"
            food_court: "Food Court"
            fountain: "Fountain"
-           fuel: "Fuel"
+           fuel: "Filling Station"
            gambling: "Gambling"
            grave_yard: "Grave Yard"
            grit_bin: "Grit Bin"
            ice_cream: "Ice Cream"
            internet_cafe: "Internet Cafe"
            kindergarten: "Kindergarten"
-           language_school: "Language school"
+           language_school: "Language School"
            library: "Library"
            loading_dock: "Loading Dock"
            love_hotel: "Love Hotel"
            "yes": "Building"
          club:
            scout: "Scout Group Base"
-           sport: "Sportsclub"
+           sport: "Sports Club"
            "yes": "Club"
          craft:
            beekeeper: "Beekeeper"
            window_construction: "Window Construction"
            winery: "Winery"
            "yes": "Craft Shop"
-         crossing: "Crossing"
          emergency:
            access_point: "Access Point"
            ambulance_station: "Ambulance Station"
            bus_stop: "Bus Stop"
            construction: "Highway under Construction"
            corridor: "Corridor"
+           crossing: "Crossing"
            cycleway: "Cycle Path"
            elevator: "Elevator"
            emergency_access_point: "Emergency Access Point"
            brownfield: "Brownfield Land"
            cemetery: "Cemetery"
            commercial: "Commercial Area"
-           conservation: "Conservation"
-           construction: "Construction"
-           farm: "Farm"
+           conservation: "Conservation Area"
+           construction: "Construction Area"
            farmland: "Farmland"
            farmyard: "Farmyard"
            forest: "Forest"
            reservoir: "Reservoir"
            reservoir_watershed: "Reservoir Watershed"
            residential: "Residential Area"
-           retail: "Retail"
+           retail: "Retail Area"
            village_green: "Village Green"
            vineyard: "Vineyard"
            "yes": "Landuse"
            "yes": "Place"
          railway:
            abandoned: "Abandoned Railway"
+           buffer_stop: "Buffer Stop"
            construction: "Railway under Construction"
            disused: "Disused Railway"
            funicular: "Funicular Railway"
            platform: "Railway Platform"
            preserved: "Preserved Railway"
            proposed: "Proposed Railway"
+           rail: "Rail"
            spur: "Railway Spur"
            station: "Railway Station"
            stop: "Railway Stop"
            switch: "Railway Points"
            tram: "Tramway"
            tram_stop: "Tram Stop"
+           turntable: "Turntable"
            yard: "Railway Yard"
          shop:
            agrarian: "Agrarian Shop"
            deli: "Deli"
            department_store: "Department Store"
            discount: "Discount Items Shop"
-           doityourself: "Do-It-Yourself"
+           doityourself: "Do-It-Yourself Shop"
            dry_cleaning: "Dry Cleaning"
            e-cigarette: "E-Cigarette Shop"
            electronics: "Electronics Shop"
            health_food: "Health Food Store"
            hearing_aids: "Hearing Aids"
            herbalist: "Herbalist"
-           hifi: "Hi-Fi"
+           hifi: "Hi-Fi Shop"
            houseware: "Houseware Shop"
            ice_cream: "Ice Cream Shop"
            interior_decoration: "Interior Decoration"
            artwork: "Artwork"
            attraction: "Attraction"
            bed_and_breakfast: "Bed and Breakfast"
-           cabin: "Cabin"
+           cabin: "Tourist Cabin"
            camp_pitch: "Camp Pitch"
            camp_site: "Camp Site"
            caravan_site: "Caravan Site"
        last_updated_time_html: "<abbr title='%{title}'>%{time}</abbr>"
        last_updated_time_user_html: "<abbr title='%{title}'>%{time}</abbr> by %{user}"
        link_to_reports: View Reports
-       reported_user: Reported User
        reports_count:
          one: "1 Report"
          other: "%{count} Reports"
    issue_comments:
      create:
        comment_created: Your comment was successfully created
+       issue_reassigned: Your comment was created and the issue was reassigned
    reports:
      new:
        title_html: "Report %{link}"
      help: Help
      about: About
      copyright: Copyright
 +    communities: Communities
      community: Community
      community_blogs: "Community Blogs"
      community_blogs_title: "Blogs from members of the OpenStreetMap community"
      about:
        next: Next
        copyright_html: <span>&copy;</span>OpenStreetMap<br>contributors
-       used_by_html: "%{name} provides map data for thousands of web sites, mobile apps, and hardware devices"
+       used_by_html: "%{name} provides map data for thousands of websites, mobile apps, and hardware devices"
        lede_text: |
          OpenStreetMap is built by a community of mappers that contribute and maintain data
          about roads, trails, cafés, railway stations, and much more, all over the world.
            Commons Attribution-ShareAlike 2.0</a> license (CC BY-SA 2.0).
          credit_title_html: How to credit OpenStreetMap
          credit_1_html: |
-           We require that you use the credit &ldquo;&copy; OpenStreetMap
-           contributors&rdquo;.
+           Where you use OpenStreetMap data, you are required to do the following two things:
          credit_2_1_html: |
-           You must also make it clear that the data is available under the Open
-           Database License. You may do this by linking to
+           <ul>
+             <li>Provide credit to OpenStreetMap by displaying our copyright notice.</li>
+             <li>Make clear that the data is available under the Open Database License.</li>
+           </ul>
+         credit_3_1_html: |
+          For the copyright notice, we have different requirements on how this should be 
+          displayed, depending on how you are using our data. For example, different 
+          rules apply on how to show the copyright notice depending on whether you have 
+          created a browsable map, a printed map or a static image. Full details on the 
+          requirements can be found in the 
+          <a href="https://wiki.osmfoundation.org/wiki/Licence/Attribution_Guidelines">Attribution 
+          Guidelines</a>. 
+         credit_4_html: |
+           To make clear that the data is available under the Open
+           Database License, you may link to
            <a href="https://www.openstreetmap.org/copyright">this copyright page</a>.
            Alternatively, and as a requirement if you are distributing OSM in a
            data form, you can name and link directly to the license(s). In media
            where links are not possible (e.g. printed works), we suggest you
            direct your readers to openstreetmap.org (perhaps by expanding
            'OpenStreetMap' to this full address) and to opendatacommons.org.
-         credit_3_1_html: |
-           The map tiles in the &ldquo;standard style&rdquo; at www.openstreetmap.org are a
-           Produced Work by the OpenStreetMap Foundation using OpenStreetMap data
-           under the Open Database License. When using this map style, the same attribution is
-           required as for the map data.
-         credit_4_html: |
-           For a browsable electronic map, the credit should appear in the corner of the map.
-           For example:
+           In this example, the credit appears in the corner of the map.
          attribution_example:
            alt: Example of how to attribute OpenStreetMap on a webpage
            title: Attribution example
          infringement_2_html: |
            If you believe that copyrighted material has been inappropriately
            added to the OpenStreetMap database or this site, please refer
-           to our <a href="https://www.osmfoundation.org/wiki/License/Takedown_procedure">takedown
+           to our <a href="https://wiki.osmfoundation.org/wiki/Takedown_procedure">takedown
            procedure</a> or file directly at our
            <a href="https://dmca.openstreetmap.org/">on-line filing page</a>.
          trademarks_title_html: <span id="trademarks"></span>Trademarks
            description: "Extracts for major world cities and their surrounding areas"
          other:
            title: "Other Sources"
-           description: "Additional sources listed on the OpenStreetMap wiki"
+           description: "Additional sources listed on the OpenStreetMap Wiki"
        options: "Options"
        format: "Format"
        scale: "Scale"
          description: Ask a question or discuss interesting matters on a wide range of topical or regional mailing lists.
        forums:
          url: https://forum.openstreetmap.org/
-         title: Forums
+         title: Forums (Legacy)
          description: Questions and discussions for those that prefer a bulletin board style interface.
+       community:
+         url: https://community.openstreetmap.org/
+         title: Community forum
+         description: A shared place for conversations about OpenStreetMap.
        irc:
          url: https://irc.openstreetmap.org/
          title: IRC
            common:
              - Common
              - meadow
+             - garden
            retail: "Retail area"
            industrial: "Industrial area"
            commercial: "Commercial area"
            Just go to <a href='%{map_url}'>the map</a> and click the note icon:
            <span class='icon note'></span>. This will add a marker to the map, which you can move
            by dragging. Add your message, then click save, and other mappers will investigate.
 +    communities:
 +      title: Communities
 +      lede_text: |
 +        People from all over the world contribute to or use OpenStreetMap.
 +        While many participate as individuals, others have formed communities.
 +        These groups come in a range of sizes and represent geographies from small towns to large multi-country regions.
 +        They can also be formal or informal.
 +      local_chapters:
 +        title: Local Chapters
 +        about_text: |
 +          Local Chapters are country-level or region-level groups that have taken the formal step of
 +          establishing not-for-profit legal entities. They represent the area's map and mappers when
 +          dealing with local government, business, and media. They have also formed an affiliation
 +          with the OpenStreetMap Foundation (OSMF), giving them a link to the legal and copyright
 +          governing body.
 +        list_text: |
 +          The following communities are formally established as Local Chapters:
 +      other_groups:
 +        title: Other Groups
 +        about_html: |
 +          There is no need to formally establish a group to the same extent as the Local Chapters.
 +          Indeed many groups exist very sucessfully as an informal gathering of people or as a
 +          community group. Anyone can set up or join these. Read more on the
 +          <a href="https://wiki.openstreetmap.org/wiki/User_group">Communities wiki page</a>.
    traces:
      visibility:
        private: "Private (only shared as anonymous, unordered points)"
        in: "in"
      index:
        public_traces: "Public GPS Traces"
-       my_traces: "My GPS Traces"
+       my_gps_traces: "My GPS Traces"
        public_traces_from: "Public GPS Traces from %{user}"
        description: "Browse recent GPS trace uploads"
        tagged_with: " tagged with %{tags}"
      require_admin:
        not_an_admin: You need to be an admin to perform that action.
      setup_user_auth:
-       blocked_zero_hour: "You have an urgent message on the OpenStreetMap web site. You need to read the message before you will be able to save your edits."
+       blocked_zero_hour: "You have an urgent message on the OpenStreetMap website. You need to read the message before you will be able to save your edits."
        blocked: "Your access to the API has been blocked. Please log-in to the web interface to find out more."
        need_to_see_terms: "Your access to the API is temporarily suspended. Please log-in to the web interface to view the Contributor Terms. You do not need to agree, but you must view them."
      settings_menu:
        read_tou: "I have read and agree to the Terms of Use"
        consider_pd: "In addition to the above, I consider my contributions to be in the Public Domain"
        consider_pd_why: "what's this?"
-       consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
+       consider_pd_why_url: https://wiki.osmfoundation.org/wiki/Licence_and_Legal_FAQ/Why_would_I_want_my_contributions_to_be_public_domain
        guidance_html: 'Information to help understand these terms: a <a href="%{summary}">human readable summary</a> and some <a href="%{translations}">informal translations</a>'
        continue: Continue
        declined: "https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined"
        activate_user: "Activate this User"
        deactivate_user: "Deactivate this User"
        confirm_user: "Confirm this User"
+       unconfirm_user: "Unconfirm this User"
+       unsuspend_user: "Unsuspend this User"
        hide_user: "Hide this User"
        unhide_user: "Unhide this User"
        delete_user: "Delete this User"
        confirm: "Confirm"
        report: Report this User
-     account:
-       title: "Edit account"
-       my settings: My Settings
-       current email address: "Current Email Address"
-       external auth: "External Authentication"
-       openid:
-         link: "https://wiki.openstreetmap.org/wiki/OpenID"
-         link text: "what is this?"
-       public editing:
-         heading: "Public editing"
-         enabled: "Enabled. Not anonymous and can edit data."
-         enabled link: "https://wiki.openstreetmap.org/wiki/Anonymous_edits"
-         enabled link text: "what is this?"
-         disabled: "Disabled and cannot edit data, all previous edits are anonymous."
-         disabled link text: "why can't I edit?"
-       public editing note:
-         heading: "Public editing"
-         html: "Currently your edits are anonymous and people cannot send you messages or see your location. To show what you edited and allow people to contact you through the website, click the button below. <b>Since the 0.6 API changeover, only public users can edit map data</b>. (<a href=\"https://wiki.openstreetmap.org/wiki/Anonymous_edits\">find out why</a>).<ul><li>Your email address will not be revealed by becoming public.</li><li>This action cannot be reversed and all new users are now public by default.</li></ul>"
-       contributor terms:
-         heading: "Contributor Terms"
-         agreed: "You have agreed to the new Contributor Terms."
-         not yet agreed: "You have not yet agreed to the new Contributor Terms."
-         review link text: "Please follow this link at your convenience to review and accept the new Contributor Terms."
-         agreed_with_pd: "You have also declared that you consider your edits to be in the Public Domain."
-         link: "https://www.osmfoundation.org/wiki/License/Contributor_Terms"
-         link text: "what is this?"
-       save changes button: Save Changes
-       make edits public button: Make all my edits public
-       flash update success confirm needed: "User information updated successfully. Check your email for a note to confirm your new email address."
-       flash update success: "User information updated successfully."
      set_home:
        flash success: "Home location saved successfully"
      go_public:
          reactivate: Reactivate
          comment_and_resolve: Comment & Resolve
          comment: Comment
+         report_link_html: "If this note contains sensitive information that needs to be removed, you can %{link}. For all other problems with the note, please resolve it yourself with a comment."
      edit_help: Move the map and zoom in on a location you want to edit, then click here.
      directions:
        ascend: "Ascend"
diff --combined config/routes.rb
index f52ee739dc0950c6cdce2466574a66415019f424,e45d56701ef6dde5c99abc131d0872371acf250b..2de4ab2acad7c2e31c2d99c20f7118fa05940304
@@@ -147,7 -147,6 +147,7 @@@ OpenStreetMap::Application.routes.draw 
    get "/help" => "site#help"
    get "/about/:about_locale" => "site#about"
    get "/about" => "site#about"
 +  get "/communities" => "site#communities"
    get "/history" => "changesets#index"
    get "/history/feed" => "changesets#feed", :defaults => { :format => :atom }
    get "/history/comments/feed" => "changeset_comments#index", :as => :changesets_comments_feed, :defaults => { :format => "rss" }
    # omniauth
    get "/auth/failure" => "users#auth_failure"
    match "/auth/:provider/callback" => "users#auth_success", :via => [:get, :post], :as => :auth_success
-   post "/auth/:provider" => "users#auth", :as => :auth
+   match "/auth/:provider" => "users#auth", :via => [:post, :patch], :as => :auth
  
    # permalink
    get "/go/:code" => "site#permalink", :code => /[a-zA-Z0-9_@~]+[=-]*/, :as => :permalink
  
    # user pages
    resources :users, :path => "user", :param => :display_name, :only => [:show, :destroy]
-   match "/user/:display_name/account" => "users#account", :via => [:get, :post], :as => "user_account"
+   get "/user/:display_name/account", :to => redirect(:path => "/account/edit")
    post "/user/:display_name/set_status" => "users#set_status", :as => :set_status_user
  
+   resource :account, :only => [:edit, :update, :destroy]
+   namespace :account do
+     resource :deletion, :only => [:show]
+   end
    resource :dashboard, :only => [:show]
    resource :preferences, :only => [:show, :edit, :update]
    resource :profile, :only => [:edit, :update]
diff --combined package.json
index 2a7bf629a3ec92103c93e428632d5f0557ae374b,3eee2496180e784a85fa2c0c599c202a7f81c9bc..07df29859ca847cf86546a83def21e9f8f0050ff
@@@ -5,9 -5,8 +5,9 @@@
      "bs-custom-file-input": "^1.3.4",
      "jquery-simulate": "^1.0.2",
      "js-cookie": "^3.0.0",
-     "leaflet": "^1.6.0",
-     "leaflet.locatecontrol": "^0.75.0",
+     "leaflet": "^1.8.0",
+     "leaflet.locatecontrol": "^0.76.0",
 +    "osm-community-index": "^5.2.0",
      "qs": "^6.9.4"
    },
    "devDependencies": {
diff --combined yarn.lock
index e830ab0d0f300f23e830baa8b2070cab5e1993ac,72312b045ebb8bb666e9a5a13399eea625c40f63..3ed0c35dd201bd703010dfa60631974aed0c32e3
+++ b/yarn.lock
@@@ -2,49 -2,80 +2,80 @@@
  # yarn lockfile v1
  
  
- "@eslint/eslintrc@^1.0.5":
-   version "1.0.5"
-   resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.5.tgz#33f1b838dbf1f923bfa517e008362b78ddbbf318"
-   integrity sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==
+ "@eslint/eslintrc@^1.3.1":
+   version "1.3.1"
+   resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.1.tgz#de0807bfeffc37b964a7d0400e0c348ce5a2543d"
+   integrity sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ==
    dependencies:
      ajv "^6.12.4"
      debug "^4.3.2"
-     espree "^9.2.0"
-     globals "^13.9.0"
-     ignore "^4.0.6"
+     espree "^9.4.0"
+     globals "^13.15.0"
+     ignore "^5.2.0"
      import-fresh "^3.2.1"
      js-yaml "^4.1.0"
-     minimatch "^3.0.4"
+     minimatch "^3.1.2"
      strip-json-comments "^3.1.1"
  
- "@humanwhocodes/config-array@^0.9.2":
-   version "0.9.2"
-   resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.2.tgz#68be55c737023009dfc5fe245d51181bb6476914"
-   integrity sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==
+ "@humanwhocodes/config-array@^0.10.4":
+   version "0.10.4"
+   resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.4.tgz#01e7366e57d2ad104feea63e72248f22015c520c"
+   integrity sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==
    dependencies:
      "@humanwhocodes/object-schema" "^1.2.1"
      debug "^4.1.1"
      minimatch "^3.0.4"
  
+ "@humanwhocodes/gitignore-to-minimatch@^1.0.2":
+   version "1.0.2"
+   resolved "https://registry.yarnpkg.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d"
+   integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==
+ "@humanwhocodes/module-importer@^1.0.1":
+   version "1.0.1"
+   resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
+   integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
  "@humanwhocodes/object-schema@^1.2.1":
    version "1.2.1"
    resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
    integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
  
+ "@nodelib/fs.scandir@2.1.5":
+   version "2.1.5"
+   resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
+   integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
+   dependencies:
+     "@nodelib/fs.stat" "2.0.5"
+     run-parallel "^1.1.9"
+ "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
+   version "2.0.5"
+   resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
+   integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
+ "@nodelib/fs.walk@^1.2.3":
+   version "1.2.8"
+   resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
+   integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
+   dependencies:
+     "@nodelib/fs.scandir" "2.1.5"
+     fastq "^1.6.0"
  "@types/color-name@^1.1.1":
    version "1.1.1"
    resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
    integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
  
- acorn-jsx@^5.3.1:
-   version "5.3.1"
-   resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b"
-   integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==
+ acorn-jsx@^5.3.2:
+   version "5.3.2"
+   resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
+   integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
  
- acorn@^8.6.0:
-   version "8.6.0"
-   resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.6.0.tgz#e3692ba0eb1a0c83eaa4f37f5fa7368dd7142895"
-   integrity sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==
+ acorn@^8.8.0:
+   version "8.8.0"
+   resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8"
+   integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==
  
  ajv@^6.10.0, ajv@^6.12.4:
    version "6.12.4"
      json-schema-traverse "^0.4.1"
      uri-js "^4.2.2"
  
- ansi-colors@^3.2.1:
-   version "3.2.4"
-   resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf"
-   integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==
  ansi-regex@^5.0.1:
    version "5.0.1"
    resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
@@@ -79,6 -105,11 +105,11 @@@ argparse@^2.0.1
    resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
    integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
  
+ array-union@^2.1.0:
+   version "2.1.0"
+   resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
+   integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
  balanced-match@^1.0.0:
    version "1.0.0"
    resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
@@@ -92,6 -123,13 +123,13 @@@ brace-expansion@^1.1.7
      balanced-match "^1.0.0"
      concat-map "0.0.1"
  
+ braces@^3.0.2:
+   version "3.0.2"
+   resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
+   integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+   dependencies:
+     fill-range "^7.0.1"
  bs-custom-file-input@^1.3.4:
    version "1.3.4"
    resolved "https://registry.yarnpkg.com/bs-custom-file-input/-/bs-custom-file-input-1.3.4.tgz#c275cb8d4f1c02ba026324292509fa9a747dbda8"
@@@ -156,11 -194,13 +194,18 @@@ deep-is@^0.1.3
    resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
    integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
  
 +diacritics@^1.3.0:
 +  version "1.3.0"
 +  resolved "https://registry.yarnpkg.com/diacritics/-/diacritics-1.3.0.tgz#3efa87323ebb863e6696cebb0082d48ff3d6f7a1"
 +  integrity sha512-wlwEkqcsaxvPJML+rDh/2iS824jbREk6DUMUKkEaSlxdYHeS43cClJtsWglvw2RfeXGm6ohKDqsXteJ5sP5enA==
 +
+ dir-glob@^3.0.1:
+   version "3.0.1"
+   resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
+   integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
+   dependencies:
+     path-type "^4.0.0"
  doctrine@^3.0.0:
    version "3.0.0"
    resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
    dependencies:
      esutils "^2.0.2"
  
- enquirer@^2.3.5:
-   version "2.3.5"
-   resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.5.tgz#3ab2b838df0a9d8ab9e7dff235b0e8712ef92381"
-   integrity sha512-BNT1C08P9XD0vNg3J475yIUG+mVdp9T6towYFHUv897X0KoHBjB1shyrNmhmtHWKP17iSWgo7Gqh7BBuzLZMSA==
-   dependencies:
-     ansi-colors "^3.2.1"
  escape-string-regexp@^4.0.0:
    version "4.0.0"
    resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
    integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
  
- eslint-scope@^7.1.0:
-   version "7.1.0"
-   resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.0.tgz#c1f6ea30ac583031f203d65c73e723b01298f153"
-   integrity sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==
+ eslint-scope@^7.1.1:
+   version "7.1.1"
+   resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642"
+   integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==
    dependencies:
      esrecurse "^4.3.0"
      estraverse "^5.2.0"
@@@ -196,41 -229,45 +234,45 @@@ eslint-utils@^3.0.0
      eslint-visitor-keys "^2.0.0"
  
  eslint-visitor-keys@^2.0.0:
--  version "2.0.0"
--  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8"
--  integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==
++  version "2.1.0"
++  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
++  integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
  
- eslint-visitor-keys@^3.1.0:
-   version "3.1.0"
-   resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz#eee4acea891814cda67a7d8812d9647dd0179af2"
-   integrity sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==
+ eslint-visitor-keys@^3.3.0:
+   version "3.3.0"
+   resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
+   integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
  
  eslint@^8.0.0:
-   version "8.4.0"
-   resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.4.0.tgz#2fa01b271cafc28addc2719e551acff5e89f5230"
-   integrity sha512-kv0XQcAQJL/VD9THQKhTQZVqkJKA+tIj/v2ZKNaIHRAADcJWFb+B/BAewUYuF6UVg1s2xC5qXVoDk0G8sKGeTA==
-   dependencies:
-     "@eslint/eslintrc" "^1.0.5"
-     "@humanwhocodes/config-array" "^0.9.2"
+   version "8.23.0"
+   resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.23.0.tgz#a184918d288820179c6041bb3ddcc99ce6eea040"
+   integrity sha512-pBG/XOn0MsJcKcTRLr27S5HpzQo4kLr+HjLQIyK4EiCsijDl/TB+h5uEuJU6bQ8Edvwz1XWOjpaP2qgnXGpTcA==
+   dependencies:
+     "@eslint/eslintrc" "^1.3.1"
+     "@humanwhocodes/config-array" "^0.10.4"
+     "@humanwhocodes/gitignore-to-minimatch" "^1.0.2"
+     "@humanwhocodes/module-importer" "^1.0.1"
      ajv "^6.10.0"
      chalk "^4.0.0"
      cross-spawn "^7.0.2"
      debug "^4.3.2"
      doctrine "^3.0.0"
-     enquirer "^2.3.5"
      escape-string-regexp "^4.0.0"
-     eslint-scope "^7.1.0"
+     eslint-scope "^7.1.1"
      eslint-utils "^3.0.0"
-     eslint-visitor-keys "^3.1.0"
-     espree "^9.2.0"
+     eslint-visitor-keys "^3.3.0"
+     espree "^9.4.0"
      esquery "^1.4.0"
      esutils "^2.0.2"
      fast-deep-equal "^3.1.3"
      file-entry-cache "^6.0.1"
+     find-up "^5.0.0"
      functional-red-black-tree "^1.0.1"
      glob-parent "^6.0.1"
-     globals "^13.6.0"
-     ignore "^4.0.6"
+     globals "^13.15.0"
+     globby "^11.1.0"
+     grapheme-splitter "^1.0.4"
+     ignore "^5.2.0"
      import-fresh "^3.0.0"
      imurmurhash "^0.1.4"
      is-glob "^4.0.0"
      json-stable-stringify-without-jsonify "^1.0.1"
      levn "^0.4.1"
      lodash.merge "^4.6.2"
-     minimatch "^3.0.4"
+     minimatch "^3.1.2"
      natural-compare "^1.4.0"
      optionator "^0.9.1"
-     progress "^2.0.0"
      regexpp "^3.2.0"
-     semver "^7.2.1"
      strip-ansi "^6.0.1"
      strip-json-comments "^3.1.0"
      text-table "^0.2.0"
-     v8-compile-cache "^2.0.3"
  
- espree@^9.2.0:
-   version "9.2.0"
-   resolved "https://registry.yarnpkg.com/espree/-/espree-9.2.0.tgz#c50814e01611c2d0f8bd4daa83c369eabba80dbc"
-   integrity sha512-oP3utRkynpZWF/F2x/HZJ+AGtnIclaR7z1pYPxy7NYM2fSO6LgK/Rkny8anRSPK/VwEA1eqm2squui0T7ZMOBg==
+ espree@^9.4.0:
+   version "9.4.0"
+   resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.0.tgz#cd4bc3d6e9336c433265fc0aa016fc1aaf182f8a"
+   integrity sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==
    dependencies:
-     acorn "^8.6.0"
-     acorn-jsx "^5.3.1"
-     eslint-visitor-keys "^3.1.0"
+     acorn "^8.8.0"
+     acorn-jsx "^5.3.2"
+     eslint-visitor-keys "^3.3.0"
  
  esquery@^1.4.0:
    version "1.4.0"
@@@ -272,15 -306,15 +311,10 @@@ esrecurse@^4.3.0
    dependencies:
      estraverse "^5.2.0"
  
--estraverse@^5.1.0:
--  version "5.1.0"
--  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642"
--  integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==
--
--estraverse@^5.2.0:
--  version "5.2.0"
--  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
--  integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
++estraverse@^5.1.0, estraverse@^5.2.0:
++  version "5.3.0"
++  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
++  integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
  
  esutils@^2.0.2:
    version "2.0.3"
@@@ -292,6 -326,17 +326,17 @@@ fast-deep-equal@^3.1.1, fast-deep-equal
    resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
    integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
  
 -  version "3.2.11"
 -  resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9"
 -  integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==
+ fast-glob@^3.2.9:
++  version "3.2.12"
++  resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80"
++  integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==
+   dependencies:
+     "@nodelib/fs.stat" "^2.0.2"
+     "@nodelib/fs.walk" "^1.2.3"
+     glob-parent "^5.1.2"
+     merge2 "^1.3.0"
+     micromatch "^4.0.4"
  fast-json-stable-stringify@^2.0.0:
    version "2.1.0"
    resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
  fast-levenshtein@^2.0.6:
    version "2.0.6"
    resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
--  integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
++  integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
+ fastq@^1.6.0:
+   version "1.13.0"
+   resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c"
+   integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==
+   dependencies:
+     reusify "^1.0.4"
  
  file-entry-cache@^6.0.1:
    version "6.0.1"
    dependencies:
      flat-cache "^3.0.4"
  
+ fill-range@^7.0.1:
+   version "7.0.1"
+   resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+   integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+   dependencies:
+     to-regex-range "^5.0.1"
+ find-up@^5.0.0:
+   version "5.0.0"
+   resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
+   integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
+   dependencies:
+     locate-path "^6.0.0"
+     path-exists "^4.0.0"
  flat-cache@^3.0.4:
    version "3.0.4"
    resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
      rimraf "^3.0.2"
  
  flatted@^3.1.0:
--  version "3.1.0"
--  resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.0.tgz#a5d06b4a8b01e3a63771daa5cb7a1903e2e57067"
--  integrity sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==
++  version "3.2.7"
++  resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787"
++  integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==
  
  fs.realpath@^1.0.0:
    version "1.0.0"
    resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
--  integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
++  integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
  
  function-bind@^1.1.1:
    version "1.1.1"
  functional-red-black-tree@^1.0.1:
    version "1.0.1"
    resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
--  integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
++  integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==
  
  get-intrinsic@^1.0.2:
--  version "1.1.1"
--  resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"
--  integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==
++  version "1.1.2"
++  resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598"
++  integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==
    dependencies:
      function-bind "^1.1.1"
      has "^1.0.3"
--    has-symbols "^1.0.1"
++    has-symbols "^1.0.3"
+ glob-parent@^5.1.2:
+   version "5.1.2"
+   resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
+   integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+   dependencies:
+     is-glob "^4.0.1"
  
  glob-parent@^6.0.1:
    version "6.0.2"
      is-glob "^4.0.3"
  
  glob@^7.1.3:
--  version "7.1.6"
--  resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
--  integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
++  version "7.2.3"
++  resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
++  integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
    dependencies:
      fs.realpath "^1.0.0"
      inflight "^1.0.4"
      inherits "2"
--    minimatch "^3.0.4"
++    minimatch "^3.1.1"
      once "^1.3.0"
      path-is-absolute "^1.0.0"
  
- globals@^13.6.0, globals@^13.9.0:
-   version "13.9.0"
-   resolved "https://registry.yarnpkg.com/globals/-/globals-13.9.0.tgz#4bf2bf635b334a173fb1daf7c5e6b218ecdc06cb"
-   integrity sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA==
+ globals@^13.15.0:
 -  version "13.15.0"
 -  resolved "https://registry.yarnpkg.com/globals/-/globals-13.15.0.tgz#38113218c907d2f7e98658af246cef8b77e90bac"
 -  integrity sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==
++  version "13.17.0"
++  resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4"
++  integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==
    dependencies:
      type-fest "^0.20.2"
  
+ globby@^11.1.0:
+   version "11.1.0"
+   resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
+   integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
+   dependencies:
+     array-union "^2.1.0"
+     dir-glob "^3.0.1"
+     fast-glob "^3.2.9"
+     ignore "^5.2.0"
+     merge2 "^1.4.1"
+     slash "^3.0.0"
+ grapheme-splitter@^1.0.4:
+   version "1.0.4"
+   resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
+   integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
  has-flag@^4.0.0:
    version "4.0.0"
    resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
    integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
  
--has-symbols@^1.0.1:
--  version "1.0.2"
--  resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423"
--  integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==
++has-symbols@^1.0.3:
++  version "1.0.3"
++  resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
++  integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
  
  has@^1.0.3:
    version "1.0.3"
    dependencies:
      function-bind "^1.1.1"
  
- ignore@^4.0.6:
-   version "4.0.6"
-   resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
-   integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
+ ignore@^5.2.0:
+   version "5.2.0"
+   resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
+   integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
  
  import-fresh@^3.0.0, import-fresh@^3.2.1:
--  version "3.2.1"
--  resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
--  integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==
++  version "3.3.0"
++  resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
++  integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
    dependencies:
      parent-module "^1.0.0"
      resolve-from "^4.0.0"
  imurmurhash@^0.1.4:
    version "0.1.4"
    resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
--  integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
++  integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
  
  inflight@^1.0.4:
    version "1.0.6"
    resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
--  integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
++  integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
    dependencies:
      once "^1.3.0"
      wrappy "1"
@@@ -423,19 -514,24 +514,24 @@@ inherits@2
  is-extglob@^2.1.1:
    version "2.1.1"
    resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
--  integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
++  integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
  
- is-glob@^4.0.0, is-glob@^4.0.3:
+ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3:
    version "4.0.3"
    resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
    integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
    dependencies:
      is-extglob "^2.1.1"
  
+ is-number@^7.0.0:
+   version "7.0.0"
+   resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+   integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
  isexe@^2.0.0:
    version "2.0.0"
    resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
--  integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
++  integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
  
  jquery-simulate@^1.0.2:
    version "1.0.2"
@@@ -462,17 -558,17 +558,17 @@@ json-schema-traverse@^0.4.1
  json-stable-stringify-without-jsonify@^1.0.1:
    version "1.0.1"
    resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
--  integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
++  integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
  
- leaflet.locatecontrol@^0.75.0:
-   version "0.75.0"
-   resolved "https://registry.yarnpkg.com/leaflet.locatecontrol/-/leaflet.locatecontrol-0.75.0.tgz#8c7996de4425380660431fbfa548d5fe3a3595d8"
-   integrity sha512-Mz/+4dgmUoBVxy7BN+Rtf76XcIJw2qK+S41FnejS/AC88Ec5hpaFnI5gYcS+W6zcQ90sAKxqu1rXii+c01ot5g==
+ leaflet.locatecontrol@^0.76.0:
+   version "0.76.1"
+   resolved "https://registry.yarnpkg.com/leaflet.locatecontrol/-/leaflet.locatecontrol-0.76.1.tgz#03eb8e98e0c54fee457f930a63624479a6177de0"
+   integrity sha512-qA92Mxs2N1jgVx+EdmxtDrdzFD+f2llPJbqaKvmW1epZMSIvD6KNsBjpQYUIxz4XtJkOleqRSwWQcrm5P5NnYw==
  
- leaflet@^1.6.0:
-   version "1.7.1"
-   resolved "https://registry.yarnpkg.com/leaflet/-/leaflet-1.7.1.tgz#10d684916edfe1bf41d688a3b97127c0322a2a19"
-   integrity sha512-/xwPEBidtg69Q3HlqPdU3DnrXQOvQU/CCHA1tcDQVzOwm91YMYaILjNp7L4Eaw5Z4sOYdbBz6koWyibppd8Zqw==
+ leaflet@^1.8.0:
+   version "1.8.0"
+   resolved "https://registry.yarnpkg.com/leaflet/-/leaflet-1.8.0.tgz#4615db4a22a304e8e692cae9270b983b38a2055e"
+   integrity sha512-gwhMjFCQiYs3x/Sf+d49f10ERXaEFCPr+nVTryhAW8DWbMGqJqt9G4XuIaHmFW08zYvhgdzqXGr8AlW8v8dQkA==
  
  levn@^0.4.1:
    version "0.4.1"
      prelude-ls "^1.2.1"
      type-check "~0.4.0"
  
+ locate-path@^6.0.0:
+   version "6.0.0"
+   resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
+   integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
+   dependencies:
+     p-locate "^5.0.0"
  lodash.merge@^4.6.2:
    version "4.6.2"
    resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
    integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
  
- minimatch@^3.0.4:
-   version "3.0.4"
-   resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
-   integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
+ merge2@^1.3.0, merge2@^1.4.1:
+   version "1.4.1"
+   resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
+   integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+ micromatch@^4.0.4:
+   version "4.0.5"
+   resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
+   integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
+   dependencies:
+     braces "^3.0.2"
+     picomatch "^2.3.1"
 -minimatch@^3.0.4, minimatch@^3.1.2:
++minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2:
+   version "3.1.2"
+   resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
+   integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
    dependencies:
      brace-expansion "^1.1.7"
  
@@@ -502,17 -618,17 +618,17 @@@ ms@2.1.2
  natural-compare@^1.4.0:
    version "1.4.0"
    resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
--  integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
++  integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
  
  object-inspect@^1.9.0:
--  version "1.9.0"
--  resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a"
--  integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==
++  version "1.12.2"
++  resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea"
++  integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==
  
  once@^1.3.0:
    version "1.4.0"
    resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
--  integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
++  integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
    dependencies:
      wrappy "1"
  
@@@ -528,13 -644,20 +644,27 @@@ optionator@^0.9.1
      type-check "^0.4.0"
      word-wrap "^1.2.3"
  
- osm-community-index@^5.1.3:
++osm-community-index@^5.2.0:
 +  version "5.2.0"
 +  resolved "https://registry.yarnpkg.com/osm-community-index/-/osm-community-index-5.2.0.tgz#4e7eaa66aeb0c521b17a15820abb1a761b94e5c0"
 +  integrity sha512-mBg9gZhEY7poK6qckmD7ND9W581V+ZVDSdSchx3vSofOCKjVi37+FhDnJIL0sm8GmDIFSItCb4hJtm2hg8G71A==
 +  dependencies:
 +    diacritics "^1.3.0"
 +
+ p-limit@^3.0.2:
+   version "3.1.0"
+   resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
+   integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
+   dependencies:
+     yocto-queue "^0.1.0"
+ p-locate@^5.0.0:
+   version "5.0.0"
+   resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
+   integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
+   dependencies:
+     p-limit "^3.0.2"
  parent-module@^1.0.0:
    version "1.0.1"
    resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
    dependencies:
      callsites "^3.0.0"
  
+ path-exists@^4.0.0:
+   version "4.0.0"
+   resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+   integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
  path-is-absolute@^1.0.0:
    version "1.0.1"
    resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
--  integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
++  integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
  
  path-key@^3.1.0:
    version "3.1.1"
    resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
    integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
  
+ path-type@^4.0.0:
+   version "4.0.0"
+   resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
+   integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+ picomatch@^2.3.1:
+   version "2.3.1"
+   resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
+   integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
  prelude-ls@^1.2.1:
    version "1.2.1"
    resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
    integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
  
- progress@^2.0.0:
-   version "2.0.3"
-   resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
-   integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
  punycode@^2.1.0:
    version "2.1.1"
    resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
    integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
  
  qs@^6.9.4:
-   version "6.10.2"
-   resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.2.tgz#c1431bea37fc5b24c5bdbafa20f16bdf2a4b9ffe"
-   integrity sha512-mSIdjzqznWgfd4pMii7sHtaYF8rx8861hBO80SraY5GT0XQibWZWJSid0avzHGkDIZLImux2S5mXO0Hfct2QCw==
+   version "6.11.0"
+   resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
+   integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==
    dependencies:
      side-channel "^1.0.4"
  
+ queue-microtask@^1.2.2:
+   version "1.2.3"
+   resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
+   integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
  regexpp@^3.2.0:
    version "3.2.0"
    resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
@@@ -584,6 -722,11 +729,11 @@@ resolve-from@^4.0.0
    resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
    integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
  
+ reusify@^1.0.4:
+   version "1.0.4"
+   resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
+   integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
  rimraf@^3.0.2:
    version "3.0.2"
    resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
    dependencies:
      glob "^7.1.3"
  
- semver@^7.2.1:
-   version "7.3.2"
-   resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
-   integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
+ run-parallel@^1.1.9:
+   version "1.2.0"
+   resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
+   integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
+   dependencies:
+     queue-microtask "^1.2.2"
  
  shebang-command@^2.0.0:
    version "2.0.0"
@@@ -617,6 -762,11 +769,11 @@@ side-channel@^1.0.4
      get-intrinsic "^1.0.2"
      object-inspect "^1.9.0"
  
+ slash@^3.0.0:
+   version "3.0.0"
+   resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
+   integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
  strip-ansi@^6.0.1:
    version "6.0.1"
    resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
@@@ -630,16 -780,23 +787,23 @@@ strip-json-comments@^3.1.0, strip-json-
    integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
  
  supports-color@^7.1.0:
--  version "7.1.0"
--  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1"
--  integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==
++  version "7.2.0"
++  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
++  integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
    dependencies:
      has-flag "^4.0.0"
  
  text-table@^0.2.0:
    version "0.2.0"
    resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
--  integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
++  integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
+ to-regex-range@^5.0.1:
+   version "5.0.1"
+   resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+   integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+   dependencies:
+     is-number "^7.0.0"
  
  type-check@^0.4.0, type-check@~0.4.0:
    version "0.4.0"
@@@ -654,17 -811,12 +818,12 @@@ type-fest@^0.20.2
    integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
  
  uri-js@^4.2.2:
--  version "4.2.2"
--  resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
--  integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
++  version "4.4.1"
++  resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
++  integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
    dependencies:
      punycode "^2.1.0"
  
- v8-compile-cache@^2.0.3:
-   version "2.1.0"
-   resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e"
-   integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==
  which@^2.0.1:
    version "2.0.2"
    resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
@@@ -680,4 -832,9 +839,9 @@@ word-wrap@^1.2.3
  wrappy@1:
    version "1.0.2"
    resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
--  integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
++  integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
+ yocto-queue@^0.1.0:
+   version "0.1.0"
+   resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
+   integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==