From 965a1f03b765a2989934a4207cbce582d6cc93df Mon Sep 17 00:00:00 2001 From: Romain J Date: Fri, 21 Dec 2018 19:06:39 +0100 Subject: [PATCH] first commit --- .gitignore | 95 ++ .idea/.generators | 8 + .idea/.rakeTasks | 7 + .idea/codeStyles/codeStyleConfig.xml | 5 + .idea/inspectionProfiles/Project_Default.xml | 7 + .idea/misc.xml | 7 + .idea/modules.xml | 8 + .idea/tuxWebROR.iml | 120 ++ .idea/vcs.xml | 6 + .ruby-version | 1 + Gemfile | 66 + Gemfile.lock | 240 ++++ README.md | 10 + Rakefile | 6 + app/assets/config/manifest.js | 3 + app/assets/images/.keep | 0 app/assets/images/default.png | Bin 0 -> 13810 bytes app/assets/images/icones/android.png | Bin 0 -> 518 bytes app/assets/images/icones/antergos.png | Bin 0 -> 2448 bytes app/assets/images/icones/arch.png | Bin 0 -> 1746 bytes app/assets/images/icones/bsd.png | Bin 0 -> 1619 bytes app/assets/images/icones/debian.png | Bin 0 -> 2027 bytes app/assets/images/icones/elementaryOS.png | Bin 0 -> 478 bytes app/assets/images/icones/fedora.png | Bin 0 -> 2033 bytes app/assets/images/icones/gentoo.png | Bin 0 -> 2220 bytes app/assets/images/icones/macos.png | Bin 0 -> 610 bytes app/assets/images/icones/manjaro.png | Bin 0 -> 1082 bytes app/assets/images/icones/mint.png | Bin 0 -> 2080 bytes app/assets/images/icones/opensuse.png | Bin 0 -> 2524 bytes app/assets/images/icones/other.png | Bin 0 -> 917 bytes app/assets/images/icones/rhel.png | Bin 0 -> 1641 bytes app/assets/images/icones/ubuntu.png | Bin 0 -> 2340 bytes app/assets/images/icones/void.png | Bin 0 -> 2250 bytes app/assets/images/icones/windows.png | Bin 0 -> 261 bytes app/assets/images/tux.png | Bin 0 -> 11514 bytes app/assets/javascripts/application.js | 58 + app/assets/javascripts/cable.js | 13 + app/assets/javascripts/channels/.keep | 0 app/assets/javascripts/jquery.js | 2 + app/assets/javascripts/users.coffee | 3 + app/assets/stylesheets/application.scss | 52 + app/assets/stylesheets/bulma/_all.scss | 2 + .../bulma/bulma-extensions/_all.scss | 2 + .../bulma/bulma-extensions/bulma-divider.scss | 321 +++++ .../bulma/bulma-extensions/bulma-tooltip.scss | 1201 +++++++++++++++++ app/assets/stylesheets/bulma/bulma-fixes.scss | 89 ++ .../stylesheets/src/layouts/content.scss | 47 + .../stylesheets/src/layouts/footer.scss | 41 + .../stylesheets/src/layouts/header.scss | 38 + app/assets/stylesheets/src/pad-mar.scss | 40 + app/assets/stylesheets/src/variables.scss | 18 + app/assets/stylesheets/users.scss | 163 +++ app/channels/application_cable/channel.rb | 4 + app/channels/application_cable/connection.rb | 4 + app/controllers/application_controller.rb | 7 + app/controllers/concerns/.keep | 0 app/controllers/pages_controller.rb | 5 + app/controllers/users_controller.rb | 63 + app/helpers/application_helper.rb | 40 + app/helpers/users_helper.rb | 53 + app/jobs/application_job.rb | 2 + app/mailers/application_mailer.rb | 4 + app/models/application_record.rb | 3 + app/models/concerns/.keep | 0 app/models/session.rb | 2 + app/models/user.rb | 3 + app/views/kaminari/_first_page.html.erb | 17 + app/views/kaminari/_gap.html.erb | 17 + app/views/kaminari/_last_page.html.erb | 17 + app/views/kaminari/_next_page.html.erb | 15 + app/views/kaminari/_page.html.erb | 18 + app/views/kaminari/_paginator.html.erb | 31 + app/views/kaminari/_prev_page.html.erb | 15 + app/views/layouts/application.html.erb | 52 + app/views/layouts/mailer.html.erb | 13 + app/views/layouts/mailer.text.erb | 1 + app/views/pages/home.html.erb | 39 + app/views/users/edit.html.erb | 88 ++ app/views/users/index.html.erb | 65 + app/views/users/show.html.erb | 121 ++ bin/bundle | 3 + bin/rails | 9 + bin/rake | 9 + bin/setup | 36 + bin/spring | 17 + bin/update | 31 + bin/yarn | 11 + config.ru | 5 + config/application.rb | 22 + config/boot.rb | 4 + config/cable.yml | 10 + config/credentials.yml.enc | 1 + config/database.yml | 54 + config/environment.rb | 5 + config/environments/development.rb | 61 + config/environments/production.rb | 94 ++ config/environments/test.rb | 46 + .../application_controller_renderer.rb | 8 + config/initializers/assets.rb | 14 + config/initializers/backtrace_silencers.rb | 7 + config/initializers/cookies_serializer.rb | 5 + .../initializers/filter_parameter_logging.rb | 4 + config/initializers/inflections.rb | 16 + config/initializers/kaminari_config.rb | 12 + config/initializers/mime_types.rb | 4 + config/initializers/wrap_parameters.rb | 14 + config/locales/en.yml | 67 + config/locales/fr.yml | 67 + config/master.key | 1 + config/puma.rb | 34 + config/routes.rb | 13 + config/spring.rb | 6 + config/storage.yml | 34 + db/migrate/20181208231456_create_sessions.rb | 10 + db/schema.rb | 45 + db/seeds.rb | 7 + lib/assets/.keep | 0 lib/tasks/.keep | 0 package-lock.json | 17 + package.json | 8 + public/404.html | 62 + public/422.html | 62 + public/500.html | 61 + public/apple-touch-icon-precomposed.png | 0 public/apple-touch-icon.png | 0 public/favicon.ico | Bin 0 -> 67646 bytes public/robots.txt | 5 + storage/.keep | 0 test/application_system_test_case.rb | 5 + test/controllers/.keep | 0 .../controllers/categories_controller_test.rb | 34 + test/controllers/posts_controller_test.rb | 9 + test/fixtures/.keep | 0 test/fixtures/categories.yml | 11 + test/fixtures/files/.keep | 0 test/fixtures/sessions.yml | 11 + test/helpers/.keep | 0 test/integration/.keep | 0 test/mailers/.keep | 0 test/models/.keep | 0 test/models/category_test.rb | 7 + test/models/session_test.rb | 7 + test/system/.keep | 0 test/test_helper.rb | 10 + vendor/.keep | 0 yarn.lock | 13 + 146 files changed, 4486 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.generators create mode 100644 .idea/.rakeTasks create mode 100644 .idea/codeStyles/codeStyleConfig.xml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/tuxWebROR.iml create mode 100644 .idea/vcs.xml create mode 100644 .ruby-version create mode 100644 Gemfile create mode 100644 Gemfile.lock create mode 100644 README.md create mode 100644 Rakefile create mode 100644 app/assets/config/manifest.js create mode 100644 app/assets/images/.keep create mode 100755 app/assets/images/default.png create mode 100644 app/assets/images/icones/android.png create mode 100644 app/assets/images/icones/antergos.png create mode 100644 app/assets/images/icones/arch.png create mode 100644 app/assets/images/icones/bsd.png create mode 100644 app/assets/images/icones/debian.png create mode 100644 app/assets/images/icones/elementaryOS.png create mode 100644 app/assets/images/icones/fedora.png create mode 100644 app/assets/images/icones/gentoo.png create mode 100644 app/assets/images/icones/macos.png create mode 100644 app/assets/images/icones/manjaro.png create mode 100644 app/assets/images/icones/mint.png create mode 100644 app/assets/images/icones/opensuse.png create mode 100644 app/assets/images/icones/other.png create mode 100755 app/assets/images/icones/rhel.png create mode 100644 app/assets/images/icones/ubuntu.png create mode 100644 app/assets/images/icones/void.png create mode 100644 app/assets/images/icones/windows.png create mode 100755 app/assets/images/tux.png create mode 100644 app/assets/javascripts/application.js create mode 100644 app/assets/javascripts/cable.js create mode 100644 app/assets/javascripts/channels/.keep create mode 100644 app/assets/javascripts/jquery.js create mode 100644 app/assets/javascripts/users.coffee create mode 100644 app/assets/stylesheets/application.scss create mode 100644 app/assets/stylesheets/bulma/_all.scss create mode 100644 app/assets/stylesheets/bulma/bulma-extensions/_all.scss create mode 100644 app/assets/stylesheets/bulma/bulma-extensions/bulma-divider.scss create mode 100644 app/assets/stylesheets/bulma/bulma-extensions/bulma-tooltip.scss create mode 100644 app/assets/stylesheets/bulma/bulma-fixes.scss create mode 100644 app/assets/stylesheets/src/layouts/content.scss create mode 100644 app/assets/stylesheets/src/layouts/footer.scss create mode 100644 app/assets/stylesheets/src/layouts/header.scss create mode 100644 app/assets/stylesheets/src/pad-mar.scss create mode 100644 app/assets/stylesheets/src/variables.scss create mode 100644 app/assets/stylesheets/users.scss create mode 100644 app/channels/application_cable/channel.rb create mode 100644 app/channels/application_cable/connection.rb create mode 100644 app/controllers/application_controller.rb create mode 100644 app/controllers/concerns/.keep create mode 100644 app/controllers/pages_controller.rb create mode 100644 app/controllers/users_controller.rb create mode 100644 app/helpers/application_helper.rb create mode 100644 app/helpers/users_helper.rb create mode 100644 app/jobs/application_job.rb create mode 100644 app/mailers/application_mailer.rb create mode 100644 app/models/application_record.rb create mode 100644 app/models/concerns/.keep create mode 100644 app/models/session.rb create mode 100644 app/models/user.rb create mode 100644 app/views/kaminari/_first_page.html.erb create mode 100644 app/views/kaminari/_gap.html.erb create mode 100644 app/views/kaminari/_last_page.html.erb create mode 100644 app/views/kaminari/_next_page.html.erb create mode 100644 app/views/kaminari/_page.html.erb create mode 100644 app/views/kaminari/_paginator.html.erb create mode 100644 app/views/kaminari/_prev_page.html.erb create mode 100644 app/views/layouts/application.html.erb create mode 100644 app/views/layouts/mailer.html.erb create mode 100644 app/views/layouts/mailer.text.erb create mode 100644 app/views/pages/home.html.erb create mode 100644 app/views/users/edit.html.erb create mode 100644 app/views/users/index.html.erb create mode 100644 app/views/users/show.html.erb create mode 100755 bin/bundle create mode 100755 bin/rails create mode 100755 bin/rake create mode 100755 bin/setup create mode 100755 bin/spring create mode 100755 bin/update create mode 100755 bin/yarn create mode 100644 config.ru create mode 100644 config/application.rb create mode 100644 config/boot.rb create mode 100644 config/cable.yml create mode 100644 config/credentials.yml.enc create mode 100644 config/database.yml create mode 100644 config/environment.rb create mode 100644 config/environments/development.rb create mode 100644 config/environments/production.rb create mode 100644 config/environments/test.rb create mode 100644 config/initializers/application_controller_renderer.rb create mode 100644 config/initializers/assets.rb create mode 100644 config/initializers/backtrace_silencers.rb create mode 100644 config/initializers/cookies_serializer.rb create mode 100644 config/initializers/filter_parameter_logging.rb create mode 100644 config/initializers/inflections.rb create mode 100644 config/initializers/kaminari_config.rb create mode 100644 config/initializers/mime_types.rb create mode 100644 config/initializers/wrap_parameters.rb create mode 100644 config/locales/en.yml create mode 100644 config/locales/fr.yml create mode 100644 config/master.key create mode 100644 config/puma.rb create mode 100644 config/routes.rb create mode 100644 config/spring.rb create mode 100644 config/storage.yml create mode 100644 db/migrate/20181208231456_create_sessions.rb create mode 100644 db/schema.rb create mode 100644 db/seeds.rb create mode 100644 lib/assets/.keep create mode 100644 lib/tasks/.keep create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/404.html create mode 100644 public/422.html create mode 100644 public/500.html create mode 100644 public/apple-touch-icon-precomposed.png create mode 100644 public/apple-touch-icon.png create mode 100644 public/favicon.ico create mode 100644 public/robots.txt create mode 100644 storage/.keep create mode 100644 test/application_system_test_case.rb create mode 100644 test/controllers/.keep create mode 100644 test/controllers/categories_controller_test.rb create mode 100644 test/controllers/posts_controller_test.rb create mode 100644 test/fixtures/.keep create mode 100644 test/fixtures/categories.yml create mode 100644 test/fixtures/files/.keep create mode 100644 test/fixtures/sessions.yml create mode 100644 test/helpers/.keep create mode 100644 test/integration/.keep create mode 100644 test/mailers/.keep create mode 100644 test/models/.keep create mode 100644 test/models/category_test.rb create mode 100644 test/models/session_test.rb create mode 100644 test/system/.keep create mode 100644 test/test_helper.rb create mode 100644 vendor/.keep create mode 100644 yarn.lock diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..46241d7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,95 @@ +# ---> Rails +*.rbc +capybara-*.html +.rspec +/log +/tmp +/db/*.sqlite3 +/db/*.sqlite3-journal +/public/system +/public/assets/* +/coverage/ +/spec/tmp +**.orig +rerun.txt +pickle-email-*.html +/node_modules/* + +# TODO Comment out this rule if you are OK with secrets being uploaded to the repo +config/initializers/secret_token.rb + +# Only include if you have production secrets in this file, which is no longer a Rails default +# config/secrets.yml + +# dotenv +# TODO Comment out this rule if environment variables can be committed +.env + +## Environment normalization: +/.bundle +/vendor/bundle + +# these should all be checked in to normalize the environment: +# Gemfile.lock, .ruby-version, .ruby-gemset + +# unless supporting rvm < 1.11.0 or doing something fancy, ignore this: +.rvmrc + +# if using bower-rails ignore default bower_components path bower.json files +/vendor/assets/bower_components +*.bowerrc +bower.json + +# Ignore pow environment settings +.powenv + +# Ignore Byebug command history file. +.byebug_history + +# ---> JetBrains +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff: +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/dictionaries + +# Sensitive or high-churn files: +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.xml +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml + +# Gradle: +.idea/**/gradle.xml +.idea/**/libraries + +# Mongo Explorer plugin: +.idea/**/mongoSettings.xml + +## File-based project format: +*.iws + +## Plugin-specific files: + +# IntelliJ +/out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties diff --git a/.idea/.generators b/.idea/.generators new file mode 100644 index 0000000..1618976 --- /dev/null +++ b/.idea/.generators @@ -0,0 +1,8 @@ + + diff --git a/.idea/.rakeTasks b/.idea/.rakeTasks new file mode 100644 index 0000000..c6a9e2d --- /dev/null +++ b/.idea/.rakeTasks @@ -0,0 +1,7 @@ + + diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..a55e7a1 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..423e1e3 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..b0c90ac --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..b87504e --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/tuxWebROR.iml b/.idea/tuxWebROR.iml new file mode 100644 index 0000000..76aa5b6 --- /dev/null +++ b/.idea/tuxWebROR.iml @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.ruby-version b/.ruby-version new file mode 100644 index 0000000..79838de --- /dev/null +++ b/.ruby-version @@ -0,0 +1 @@ +ruby-2.5.3 \ No newline at end of file diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..5482814 --- /dev/null +++ b/Gemfile @@ -0,0 +1,66 @@ +source 'https://rubygems.org' +git_source(:github) { |repo| "https://github.com/#{repo}.git" } + +ruby '2.5.3' + +gem 'redcarpet', '~> 3.4' +gem 'therubyracer' +gem 'kaminari' + +# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' +gem 'rails', '~> 5.2.1' +# Use mysql as the database for Active Record +gem 'mysql2', '>= 0.4.4', '< 0.6.0' +# Use Puma as the app server +gem 'puma', '~> 3.11' +# Use SCSS for stylesheets +gem 'sass-rails', '~> 5.0' +# Use Uglifier as compressor for JavaScript assets +gem 'uglifier', '>= 1.3.0' +# See https://github.com/rails/execjs#readme for more supported runtimes +# gem 'mini_racer', platforms: :ruby + +# Use CoffeeScript for .coffee assets and views +gem 'coffee-rails', '~> 4.2' +# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks +gem 'turbolinks', '~> 5' +# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder +gem 'jbuilder', '~> 2.5' +# Use Redis adapter to run Action Cable in production +# gem 'redis', '~> 4.0' +# Use ActiveModel has_secure_password +# gem 'bcrypt', '~> 3.1.7' + +# Use ActiveStorage variant +# gem 'mini_magick', '~> 4.8' + +# Use Capistrano for deployment +# gem 'capistrano-rails', group: :development + +# Reduces boot times through caching; required in config/boot.rb +gem 'bootsnap', '>= 1.1.0', require: false + +group :development, :test do + # Call 'byebug' anywhere in the code to stop execution and get a debugger console + gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] +end + +group :development do + # Access an interactive console on exception pages or by calling 'console' anywhere in the code. + gem 'web-console', '>= 3.3.0' + gem 'listen', '>= 3.0.5', '< 3.2' + # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring + gem 'spring' + gem 'spring-watcher-listen', '~> 2.0.0' +end + +group :test do + # Adds support for Capybara system testing and selenium driver + gem 'capybara', '>= 2.15' + gem 'selenium-webdriver' + # Easy installation and use of chromedriver to run system tests with Chrome + gem 'chromedriver-helper' +end + +# Windows does not include zoneinfo files, so bundle the tzinfo-data gem +gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..ffddd72 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,240 @@ +GEM + remote: https://rubygems.org/ + specs: + actioncable (5.2.1) + actionpack (= 5.2.1) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailer (5.2.1) + actionpack (= 5.2.1) + actionview (= 5.2.1) + activejob (= 5.2.1) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (5.2.1) + actionview (= 5.2.1) + activesupport (= 5.2.1) + rack (~> 2.0) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.2) + actionview (5.2.1) + activesupport (= 5.2.1) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.3) + activejob (5.2.1) + activesupport (= 5.2.1) + globalid (>= 0.3.6) + activemodel (5.2.1) + activesupport (= 5.2.1) + activerecord (5.2.1) + activemodel (= 5.2.1) + activesupport (= 5.2.1) + arel (>= 9.0) + activestorage (5.2.1) + actionpack (= 5.2.1) + activerecord (= 5.2.1) + marcel (~> 0.3.1) + activesupport (5.2.1) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + addressable (2.5.2) + public_suffix (>= 2.0.2, < 4.0) + archive-zip (0.11.0) + io-like (~> 0.3.0) + arel (9.0.0) + bindex (0.5.0) + bootsnap (1.3.2) + msgpack (~> 1.0) + builder (3.2.3) + byebug (10.0.2) + capybara (3.10.0) + addressable + mini_mime (>= 0.1.3) + nokogiri (~> 1.8) + rack (>= 1.6.0) + rack-test (>= 0.6.3) + regexp_parser (~> 1.2) + xpath (~> 3.2) + childprocess (0.9.0) + ffi (~> 1.0, >= 1.0.11) + chromedriver-helper (2.1.0) + archive-zip (~> 0.10) + nokogiri (~> 1.8) + coffee-rails (4.2.2) + coffee-script (>= 2.2.0) + railties (>= 4.0.0) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.12.2) + concurrent-ruby (1.0.5) + crass (1.0.4) + erubi (1.7.1) + execjs (2.7.0) + ffi (1.9.25) + globalid (0.4.1) + activesupport (>= 4.2.0) + i18n (1.1.1) + concurrent-ruby (~> 1.0) + io-like (0.3.0) + jbuilder (2.7.0) + activesupport (>= 4.2.0) + multi_json (>= 1.2) + kaminari (1.1.1) + activesupport (>= 4.1.0) + kaminari-actionview (= 1.1.1) + kaminari-activerecord (= 1.1.1) + kaminari-core (= 1.1.1) + kaminari-actionview (1.1.1) + actionview + kaminari-core (= 1.1.1) + kaminari-activerecord (1.1.1) + activerecord + kaminari-core (= 1.1.1) + kaminari-core (1.1.1) + libv8 (3.16.14.19) + listen (3.1.5) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + ruby_dep (~> 1.2) + loofah (2.2.2) + crass (~> 1.0.2) + nokogiri (>= 1.5.9) + mail (2.7.1) + mini_mime (>= 0.1.1) + marcel (0.3.3) + mimemagic (~> 0.3.2) + method_source (0.9.0) + mimemagic (0.3.2) + mini_mime (1.0.1) + mini_portile2 (2.3.0) + minitest (5.11.3) + msgpack (1.2.4) + multi_json (1.13.1) + mysql2 (0.5.2) + nio4r (2.3.1) + nokogiri (1.8.5) + mini_portile2 (~> 2.3.0) + public_suffix (3.0.3) + puma (3.12.0) + rack (2.0.5) + rack-test (1.1.0) + rack (>= 1.0, < 3) + rails (5.2.1) + actioncable (= 5.2.1) + actionmailer (= 5.2.1) + actionpack (= 5.2.1) + actionview (= 5.2.1) + activejob (= 5.2.1) + activemodel (= 5.2.1) + activerecord (= 5.2.1) + activestorage (= 5.2.1) + activesupport (= 5.2.1) + bundler (>= 1.3.0) + railties (= 5.2.1) + sprockets-rails (>= 2.0.0) + rails-dom-testing (2.0.3) + activesupport (>= 4.2.0) + nokogiri (>= 1.6) + rails-html-sanitizer (1.0.4) + loofah (~> 2.2, >= 2.2.2) + railties (5.2.1) + actionpack (= 5.2.1) + activesupport (= 5.2.1) + method_source + rake (>= 0.8.7) + thor (>= 0.19.0, < 2.0) + rake (12.3.1) + rb-fsevent (0.10.3) + rb-inotify (0.9.10) + ffi (>= 0.5.0, < 2) + redcarpet (3.4.0) + ref (2.0.0) + regexp_parser (1.2.0) + ruby_dep (1.5.0) + rubyzip (1.2.2) + sass (3.6.0) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-inotify (>= 0.9.7, >= 0.9) + sass-rails (5.0.7) + railties (>= 4.0.0, < 6) + sass (~> 3.1) + sprockets (>= 2.8, < 4.0) + sprockets-rails (>= 2.0, < 4.0) + tilt (>= 1.1, < 3) + selenium-webdriver (3.14.1) + childprocess (~> 0.5) + rubyzip (~> 1.2, >= 1.2.2) + spring (2.0.2) + activesupport (>= 4.2) + spring-watcher-listen (2.0.1) + listen (>= 2.7, < 4.0) + spring (>= 1.2, < 3.0) + sprockets (3.7.2) + concurrent-ruby (~> 1.0) + rack (> 1, < 3) + sprockets-rails (3.2.1) + actionpack (>= 4.0) + activesupport (>= 4.0) + sprockets (>= 3.0.0) + therubyracer (0.12.3) + libv8 (~> 3.16.14.15) + ref + thor (0.20.0) + thread_safe (0.3.6) + tilt (2.0.8) + turbolinks (5.2.0) + turbolinks-source (~> 5.2) + turbolinks-source (5.2.0) + tzinfo (1.2.5) + thread_safe (~> 0.1) + uglifier (4.1.19) + execjs (>= 0.3.0, < 3) + web-console (3.7.0) + actionview (>= 5.0) + activemodel (>= 5.0) + bindex (>= 0.4.0) + railties (>= 5.0) + websocket-driver (0.7.0) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.3) + xpath (3.2.0) + nokogiri (~> 1.8) + +PLATFORMS + ruby + +DEPENDENCIES + bootsnap (>= 1.1.0) + byebug + capybara (>= 2.15) + chromedriver-helper + coffee-rails (~> 4.2) + jbuilder (~> 2.5) + kaminari + listen (>= 3.0.5, < 3.2) + mysql2 (>= 0.4.4, < 0.6.0) + puma (~> 3.11) + rails (~> 5.2.1) + redcarpet (~> 3.4) + sass-rails (~> 5.0) + selenium-webdriver + spring + spring-watcher-listen (~> 2.0.0) + therubyracer + turbolinks (~> 5) + tzinfo-data + uglifier (>= 1.3.0) + web-console (>= 3.3.0) + +RUBY VERSION + ruby 2.5.3p105 + +BUNDLED WITH + 1.17.1 diff --git a/README.md b/README.md new file mode 100644 index 0000000..db5796d --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +# TuxWebROR + +## Pré-requis: +* `ruby` >= 2.5.3 (pour la 2.5.1, il faut modifier le fichier Gemfile) +* `rake` +* un serveur sql +* un serveur http + +## Configuration +Ce [lien](https://www.phusionpassenger.com/docs/tutorials/what_is_passenger/) expliquera surement mieux que moi donc bon... diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..e85f913 --- /dev/null +++ b/Rakefile @@ -0,0 +1,6 @@ +# Add your own tasks in files placed in lib/tasks ending in .rake, +# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. + +require_relative 'config/application' + +Rails.application.load_tasks diff --git a/app/assets/config/manifest.js b/app/assets/config/manifest.js new file mode 100644 index 0000000..b16e53d --- /dev/null +++ b/app/assets/config/manifest.js @@ -0,0 +1,3 @@ +//= link_tree ../images +//= link_directory ../javascripts .js +//= link_directory ../stylesheets .css diff --git a/app/assets/images/.keep b/app/assets/images/.keep new file mode 100644 index 0000000..e69de29 diff --git a/app/assets/images/default.png b/app/assets/images/default.png new file mode 100755 index 0000000000000000000000000000000000000000..71438b3c79a802bd4970829d60f3794bb7026d86 GIT binary patch literal 13810 zcmb_@hdW%)`}Wzj`ijo#Jw%T#dM5}zqPNwF-aD(8XhHN6B#4M!5_K0*B3dMBbb{!; ztn%*n_cy$|&tB(TbLLz#bMNz!{O=3wq! z<$yWh*l4OL0}ucEzU!*Y#FXHBs+;%#03rGRejp&f5QZtl_0`Z;!Cl40Ca08KTa!r# z0A@f#S>a{i{C-hDsQK@f!-&e!LP^K!;5K&6M!o>oKTpNJ;pi(WBGS{Bz69lXDxFv! z5bk{a`cYiq?s1I#zgP&FI#)&RD_2`r!7rE9{3#V}`pZmg$@VGlX`GXIKOb(bk8_gx zRMa$Gc+_=`&ASM{x%VfBC}>GS`zB0;uoSc`)B(IG2!a`p42WX>-#Igg`Tu{x5QB8y zJ5TAOXsalDMD@;j)vFpcl`uZLoM@<0I-rFeTC^zf^+C{bx%ql;dC#5t`>Rj7ruvB) z)dUmwope zNHbm%H&(kgEdMsTgP*Jv23h6rE68eXh!-Wu09HDQ*Ftn!)zxJ^9n^P=UD)WcjHy)2 zKyt-C(GdAKl!aeFjcW|s^Vk99imaD!tvr_{X`$=ewOtbJE{Ago);G6?KP*}xK1O`e zTnpO+mhytW(t)cIw>M^AE)Nc06wmed+K!!Y7>6&ub;=dabU%U&3POt@?-1-ZPebo2 zbQEXKG%gqZIf$$_nk}bH+fz@bJO(kxt>4#$GvQh;h&o4Dg}D&c-kssNcewN=l5O_*j4<;=&q~b6q7{$n=KB^G88awXx~e*9izyHyAae^7 zQDKWt?p^cCS^L}J&Z$Hp4{%+47gF=zN3qGF`EH)I55t@rPxEqgEsat%mqQq6*v8WV zJACcQqyDal-s}ij?Ex4T-C+ocpK!s)7>RLR26?J&m&4xi!y5vk`{UU1z$0{zJS!EO zZ8~5sLBG(&B-eH7?n^JDF#zN2E|zueJX8>Z;3H#E1p;p0x&k6_j|Ja;ad_>fRapZKXI!a>}=tglxV_F5za^HmFiBHD!zm6>~0T?AKVJr zlnTwa#A2( z%l&1`^!S;g0%UDn;K5BUh}P{_jE_X#Si^2# zM%19MuKU#X&x39CBr|AeVDACBTw2Xd!#d&=7bzUhWK*4ydHFC{!q_XbjDA9s4}pg^ zJ-F!fsK*TnCDpELA>+RkFOdC9A$}kyUOL4UlE6pK&fbhWR*lJx^ovqD-pW=5RhQk4 zc-$k3>RdVdG6B1|>gw5UFLD~z*UA*wZXh||sUer*RqBUhCFMTSb`U$T)8w)HNIClD zK|#yrOX;`^T|gB?=F^RF?!fWGoySnD7KkPa;~hHmu?{9#M!~v<`;jAjN*OA-75E&b zs2L{3EgFG#sTk(vvH3$}f$o2n&&RaEf*hf~|u>f$4u+7??$!i}Nas?9F?1rNLJl4lJl`2MSH4 z0}p+U&?hB>x_%693K2^}cg|}5Z}2R`!iA^JeK;hqziMg;q2Q^VUj-tXGVH!}c$lR` z-2Dt0khvPSpFblAy%-TM^9v8NbfY$)D7?7T`GR^7Gb;{Bq%ZUa`ldoEu&g7P1xiGH z4n+Q3p){=n=DoAku2y<#1}{d@#~XchiW(bY^q2qhXw|sA^&EE6Zz}#@{`jkBP#R8x zQ|;j}M20R&BKyi^{KVpJe8!O5;q<#}Uv`F1_+1l6? z=j(b;$@jS>aAUl{%P!)gAPDijGIm$Smo5HQA7N@M4J8l(J48 zQ#^62^^DnIz3m{Wa`~J#^J6l6`XwL0hia75krM=aj&2~A42zhv?!%S!ErHm06ng zhZU48rWErp=PnJdX6x!%MHRT4Va3acYr;OMAm1AC_kZ}bwbqR;8E7h48v2edmhjD@ zFM=@p;mv#Tihr&e;g-3&>aifK)a1T8v@@Z4Z8X+jMk(xh>xsKG?*&CKKTA}1+K{=X zA1`hAK=3-d4Suk;1E+Z`usmb4>4n~(LGEWCPxP$|Og!_uWtWt~N9x{oS#l*RPcOH9 z`6X$M^Ki{_c}DX)SGJt?@T;3>aL28a-0$dc57?@FqZIK-0~fbfS#xh}`#_Q&VTSiG zdZ`U(Fg0K;MSMU!I-o58DFPMbl>yj561Y}I7ajMrMPi|AJ~P^1P$fw}3B;fC{2{-Q z3jdc$=Q-#Yf$vA(AtGuJ-Lp)rqd_VuQ}t+tSHZ)7cSkby8?J22qXSkc8gVmLgMYo7 zIef65*~_5eTy`Kj(cu~~&QoiaeDnB~QIVUN>zBY=o03XXVlo6F9^Y%f-M6COjJr}9 zMK`1V{Ud8`ewnr_!}^N}0fFP0xW4qd`}_&{U&a&18snvBwY%gE5;Sih%;L>IYE|xh z3GRG`%Tz|!+b#7dgjn(A-M`$H93yN-y>DSR_w2ezyOo(=fj6{--~ z^-J5d;Bg7ine8<8?XzQL0EJr=Dz@X?KJ>5unuua9>+1`*iY*tf*$6S>BjJVXo=NQk z-o`4ggx`8_^9;6@R#qiLFd(QuLgMH#n)$pQ$mSM;gJ2_M$Q^&wv#}Tfd?fpaDjV1F zqum1T;Xv$nu28V9rS@eK1P)8$5fWInhvBrmyw%S|8x#f!)iuVIiIO3#xjqhu`g8I7 zP&Vt2Wu?w02}gMAn;2=wv4PaJo&Elj${X-;WD&&nxnt$5){gvhZn2ZV+%+9PB@~fm zWVpl9M~N3_z2fU&h%}fIOo6I_1%JSc4T&E2xwmZ^umiE|;xq(VVZ>F9jlA%`x`(9QI9q2B^l~FWa^(AZfKH1mE!9viMtONAvc{gZ7&^7 zs2-)!6`u%E7`;TaC5O?xJs|sW;Qg+qv5>wH0{5*hp!M7v4RhWA1|9^S^hI{5EGA#nd0(r=Rm%0_hvILKhF9c+LtbP;hEmlpM<11XSmSSl61+^ ze>OKisJvat5NB0IZ!A6JCbPr0U(w$IVkrwXPHYq<%Yr4`B7kH0<{2tMk)D*jIy ztUw>+LQFR4^rENDdRroF8}GI&%*j$hZvSxf!xLcC$05TO(@`2w^ZUy$>gvL`BEDD* zYN@QW(3H+vN0_mjm@zwP)Hj0ct?`R4VIr*dY6Sxdt_B!c0}P%j?K!?Dg{aPUF#gbR zE_vkdzj{?1#x`~X#Zu>|rgx`y^_Qvw7C-0$`axf@oqwORVDH` zXAk?jjjZ~9yrxERr*`+R{nUCa)|LUJ1MfBTf}Ys5k&{Mv+O2z)OO-gowk1L-CMN`= zOF(<>;)NXF(hJ9$7c%LvBoXN|uj>VXDG_~TEbcLSiI{m4zWV2RG7Z~qE`!Hi==kvn z3A?P{)1_5qyw}RCcgA>=x)fnW4BL`ZI5OY#mXFmba09wi=QOjE^O-lkOy&?4ud!ws zPGq~0A)r+*d8t@+`?PJR=f&=H{znTk?pf2*@-U^7*P9ZvGVU0wN+Pgwqy{f`362vI zLM_x5O4+IkWO()?X}93U zS(ai)wTTA z`(sX+WU<;}vcnJ4c8Se=xrv4NrHe7WwZzqk%)RFIDXUKMfH1VXw-XuS2Z=o$f5bz_ zah==^6@Brq&y~Jm8=&9Ib8o!|s@;npIci*>@r>>9{XPq`e2qKM(Y5iaYM3mME_@b9 zk}q`jHQc^WM1(JwFm*h9V*BXJWc%3~3oEj5??|(zA)yc~B@_0uG$S7EHjDt+Z_q5U0{-$M7@tLl|=l!)gTs88_d zWmdWMQeoC4>MO>}&jQY&*C85yl$gaRTTZO1SVwZ)*UygFrPeQa_}lmX(<+d(?cWu# zU^;1Q{O%pPYb5u+m+3pmF21py_K)|>{?(m$gorT!4cqw5-zV?i!Q5dX=*wVT!j!sJ zRv2NGZLK@^E1_F>pR2lB9X;DLre7JaN-0K1YwF0#WDuuf|G_wLhohX}_X?i8oPa>z zYDC20r=tzj7zId+#i8yCjBut#!o%&eqlmDSW|FYGgi!IhUr=9jGj5MH?8uL}=*}gd z7UgYTT=T zU)0k_Pw$8ZE}!$%*SE-WmQdqEtP81MG||VGegAR8e(=YKJ|ZZT?h&I)yfc_Dh>c+s~Lsj;2XVG6QpRj!Poiw@2b>>#HdX zxOZKZ9&(m{x|!M{RtQ4Rx?CFXzc#4b4K45SbIw99DF2)yeXjPctYBwtOZUvJd(tsx zb!L%La>0JnZ0~$jt}NOXA$l1@dd~RiQifgVe@)Sf;|h?YAz`UF=)KSN?-FtA)6{5_ zhd(c|CG)aK<=X5I(@_!p#L}&lI-T`AyUS=dP<@i2x!?Nv#yfW4>on;JkEFhJUq1-5J7h*wRk!4`Uwx!V078zLsYe&3yYMUw=NmtPt*2y z&5WkBVhhmrzw`11I@q}%I<1wZ^cDF4V?%CKALlc*FpCf)xz2k}e>Oy9NWFjG+YJn{ zy0)H1s=jqiL;2#iIOj)aSj9djfBKyL*B$}F25GQ?+I#)?jco?7fxFaeJFs?LP6f7q zZl8xsWqsD^YSKX7=(hHfh4M|oc5-hxg>Y^akagqOOzs5{=MBm2KL0S zJ$_IPIL$97SvJ!m;JU2yH~IUwPv9`~kn1u%tANpb?3J&3?S*CkjGMjjB{z&Yg@sVF zPL_hWAy$D;cMs8TrIw=W{u~z*jxh#=I>{VdP26-w)K>hS{Y40UW*L$>OBQb6Apt_!)fvwPItKOXCz;KlU%qd$joWG8QPO7~nI z#5W^OAC48S!tcxgBrQ-W?m=_h_1?fo&pYJg_*Y(97;%O7QgEI<@|nGHe)YO5P> zZhz~)Saos<7g7;8IP$;84}QM>&vi>%xd7v^H}EX+_p?({kShI!})$FgNvoyt7o6iUUwjvHy6Yyzt#*dt$sGHd9#V(DB8N>uw3u(t9)I!Za=yA0 z)joUJ$ib7nEgj*gV}*zjLE3MorHO?@vL#N`ShBRM zw&p~a#pagazD#^tK}oatFvJsrg1(n8tJ{k`&9^VNBoEwHnWY*>2*ydvuN=D_$z4gq z0P{S$wPe%nCFZ1#o5_$%agwfJhUYzJvCTQEw&$P+nM)(aR zuCL6fJlMbyAvCSA+V#^$-L``kYAX+m`fy%p>5}$GCqGRb z8Dv@y**hQZh+`NdC<_NcTQ{Y<)~d~AdxUM!6s{NkD0F6gDZK>Ig(QuW=X(J_pa(nC z9>`X)J3VNIAYY1{Ew_Z63`C$xt0G`YZtXbE; zM5;tn!_Qzk!zp!yKg!L72L?B*{V>U7Pu;p)^a@}?7zme16QBL4ubNF|$bub8$2 z?TF$@k*kL*t)ELXd8 z`k0m$IjgzO9Q?xieW5XTVUQ-(*r)a8OdzA%^ZJk8SJ_YVxy0o z_z7{&^;CC#71R8e%$W9HX_0KE@cP%rKfn6sGbju{FI5nuuHX!f|Q$x8%?K3`K7uN z5-^;bpzyH$anL%`a_)&}Y07xiq~C0vrML|nw~`)7&;fRRBgFZdOr0k?vSlPe8ZDhn z!8yi$!LhsYEtbtOeB@#MQ`P;x0L$2zg`7kjb<<6_gO(&+V+jM$k;dV8gUwcV*#DKt z5m!sKFTQ@o;7G^z7Cs%D{SQVlQW&AD++#3pKUzh|sfF$X>Ra?~MHy$+Bj<-S0h)Ka#~m zeJ&V{9YvH(C73!#-kvU4p2UuW%P8Me7OVIU?gsUAuYloP1QL2No%aN}Nl`<><3#?| ziy;_y!SX^$8^3aab0v~yL=5XLcON7Ly!5`KbR>^fl9kFfUvFIBKCKA2TlFprEIt`8_x_MkW* zvsy-ijiMhnCdoTc_U;R zQzTSHN~tZq-7;^3O}e4qG49GA9SZdM>~7l9eJiy80T#4m@>~qWVjb@W>>m`a4$*8$ za;L*TPSk9_$bJf!VgwkgMxE)cf%gKB#fuWY;rGO&ZV_4gVOtQ?Fh z4yF=>4jDZP4<8kTZusS}9iipeZh!bh6L4Nd#^nzLRgQRm;7A{Pf|GbC1N7}`%Q(om zzYM)Bm>b4QM&W<guEQf%T^%bvYWT6+G<+ZT*{XJ$zuRnvCWrfuU94Irt zD4aEu=PiNg{?&W^6~q+J&+dpNz$Cs;Y^Yw-n}hhnb}3E@g5fYLK$_$ z8m;eQn1G^Acm5BeUzG>a{f`RoT`J~1`%}X3#VnaH8#f$QorDZbT?{B(rl`B5mU@RH z`f%PE$0?6NYEYri%dGYGPpgX&B&&mBiiLAgM@{3LnK9z#g#IhcNvo-yk36*E9#C>J z2`eRxT6g)J#k9PD{Ra(g$-2l75-vFX9ufO{4~I9Gb*vZPTcvr+gwlW{S-<^v&k$pE z50Cy$`p1+kV{f&8i}uj<^49+3cb+CKb$NwT*k5cD1Xr1}5Klu_s)`*l4jsBGZ8!XC zP3b(Ft^xx<_Pmfpty$!RTq`o*kemxWpr)^Lg60472K=P|l3{^ozesT1>xgo5W#iTt zyYYnwVz>2@j>tUYtA0Pm+mA#QKaW&+yJ&Agg zB5}0M)9$iyBrTh+t9f3nVF?W51Ne$p=*Y7Rjj|IF1->(Cvyw>d`4pgkB{#pW-!dXNvxm#odlc}=TtBm%^~ z+sC`VEAi~Qj3cxJ`c0;o`JEJRN6YbKTPcgp_(L4Cb4_qtXYu#71Xvd^{OOs9 zNoDgnbL%MyeARkH?{xGC*%YxQIucj3x?G!(?7Af5sxBuHxTbg3K(u{-Q9=?ZF~_%k zTNuAzMpd6d`F+yApSU892%?@7b&f4SU`ZL zbg>3w@Qif)0quLY@wy}$|J_67L&}O=F^mkq-~Ui$4O!Z>>X9nLEG0b5=VC1+fAx_; z7riW*m9=S15wXDy$UoFEDP8@(i=KbQk=k6kg&P5ak{=XIBbpW(@5zY_lzewBbD?mv zXQ39c&7opiz~pB%{QaDOUZE(_MGGOE+w}S1Rt>mNybc7M-QAM*rv*Iv-ou_sAAK1z zd`fHHwwN(U^>-`bS8tG~c^k-q^=So4YH2s#tU|4|lfXVp@k@>LQ0th}|47C8ksfAl z4%+8n>z2LwE|$A0=t}rk0cJc^smLV|E#dKqtmBfk)lX{UH&142tEcSqo{NapyRirq zI-033V3`T->bsDx8myXmZy*uo=4J_V0aGPW8Q1IH4zq;^*3#(A2@DMe1yAxnP_#_1{jLr_KCK zy*gcS#dS-#;ii%jl~9@Y@-lNcIEcG;B8(R#@?xlIY8YW!!b&clX0RTZRCD47w9NxRNQMv<&!n>Vn?Zf=#h9+S2L9emO?+5i@a*4l?a!%6LN-woP&J{Uzow01 z6XxQd73|RA%B_2m>;FE~7dK^2cwMs^=ev;1e_=?Bc1)M}jlJX^{iPoN!jD?%`{cY_ z-mPZbL#uuH41xNH87BCmk48K`@BxLqy{D_^M;NsFIA3^lkgeVB4DTZcpOqFJ;OzR! zn|4#A($&UxdYh>BJSmU`fX=?uwT=V%!^LITf~oZXjagBf5@r(Tr+PYcPq*VCu8_>Y z0q(LL#C{MCmFe0(Jir+|UI}F69aQjtw!+VsSHGP1sT)R8MShf<;~!V5ulDY^moRh9 zG4T8IRT^taF_vMQGf{)mV#InZ=@1U~sbzkTIzYe=KqYMy)*@J(L!uz>j>gnWxndvK z0ex{iW)K%*)Okk*ENES$KBg|l3Cf+{)r)d{0hS+APao9)Dher|;L886yiu2|oGjpo7?dzbjL48+Fr3anW>-m+VF4a&piT#7hnF#u3)4r)H(EIP zU*$f%^KxKFWsty@86E5JAb;IY`nrEIV2OndiZ#0tS%qThJ80%$!;Oa&EaGGr!O;hN zkGwG{lf()D%KR+S_}~;UEWqaTq4Q);nF^dji9|X{#9_=ba2#y{Wk)Y)CPi+e@{$={ z{kd)98q@d0 zW{b$4b0-Og8Cr~WoYjkoOPY%9YdjvZA%XLZEvML;@LF~Op`fPwIBRD5Yc_ca##=NW5efqmsN8HL2aCaJw=N^D*L-V=fv8CyZs5kbNC{BSn}y3?L}8Ogfp#~Lm&OsJZXgWFJDn? zQoc09W1EKPPo`R9Z?)w_F#;cE+}u}C)j=0YrkFm`Bb`#b_>0qrA zQ6l=19w39y4Vx|Jjn5mvoO$4!F^c9N?{)y*Rj-8Kw#fVoKPBy|^1Ai&G;T|#9c*}fgz!odnbOs>B%u@M(VFAI@>?} z?(&>jilA-b%_n0Z;q0~qvZ8245Yu6O#*mA!`k^dc%1oQYLTdEx2`vm~1;SW13LfT1 zalc5u$4Tx2yAEr4SJ2}F2H?NHf<{pNoq}vKIqB!_o#Fb z@m0)IgAkh3FhKSm@uY~T{?~OpWF_hmR-iJJwB0?OPl(w)30~8@n+AdZ_rrlVIHXIE zi$eYN{XOt9)36dFDZ*2koS0gVwbo@9oL?c1FaMwLW|#}i-QLkPA>_L8l%tG2cYF7I zas?B>f2ykEYHMZt*9mBB0d4V##Z46vDo%{RM=KoKC+|^5U8-yMeS!6j?!@98u8Q99 zQv$%=lz{RiA2Cj?%v$>H%MejqQLue23J!~uuhKPpjA^TvJY}G?DvayN1=1#uwykf1 zC=iX6pf{wWiTDTzKPT7J{ynkyJAQ&f9l=3H(B6Kd%5Y2d=7lLMD3^V<@Ecrhr^BN+ zrcMsAWXY7QVJu=LTcyijV??m5U(Rl*}NT28m}KHzaAC zk4Fz@L>Lw=!tfxyFt@J)NrvhfDTQ$mcm_?r{fegqGhTVy*iSzOnXbE|>nK5iBdCc4 znUbTChp9>UutT(6IjTg53qN;U9Rb>FOm^Z;QdXo9b$ArZn!riM#qZr`L&{&ZT)m5P z69(!pE9bm{0gb#Un^LyvC*WK#E3+nRBd)fWwpGIPNm(h zIY7Bl#(Y%u(AS>q8Pld#1_r(X=ct{mRo`ciU%tL|5_wc2kbcqXn7Y1FKSI8yOHKxq z!STSvIa8@{iHzy>9y<{dRS{Y>y*Gr0F4jtp7BiE}Oh2ls)K-Fq{AqX@P87iM0PhHD z)03GZQC@$_g|)hxwmqaX-Jb3bKc@u$xbR2(m|oJWyVB(1mkEYEt{Eve=nQ~lt5*<8 z-^kElOmQ5OalxD%W1FBt?)l7Kg5KLQbvJd8^6C!6_56k*jRweYjs9)(p+Fn6txN@y z&tUhYFVT8b5mbapH=vd9aM+|upw6|>1>E38>*)7Z!oSr|uZ)D!J#X6LTG1el5eX&R3%g`bv+ zhV(d!U%xR8f*A5#Ir4l)kEh0J`;Ym(Gi|T+zH2-K4pgETd)xfDNTcWMe!_rFxzVH4e15@F=iu=9H&3DL1$dLs zcf-g4n?l>fNM4N?|Xlw2x>tSW$N_WbF8`G1@0JQMX3Ver4r$#0`aAy&PMCEoQmB9 z<+6$M+Y(_UP@gp2xwpK=J1m+oTU3{PToj*hE=( zC+Ch9xjOq=!Z-3D7e>}2Y4%~9T9QQBI1pzD^Q`#|N7yH7!P3@910<4Kfwqy?O?c6iiD1iU#y?n2 zASZnCr&c$I)*sD5E~BO=)uBJ`9mN!O=8G?O-Bh4~guoK^v?#UW&VR<$hSZ^Rs$kuE zt6J8{F7j8GJQHCapyMf}%z(!v2cp&$W09BnHQ%(^L~`2rSJmte>kuM2qP&Dd z_D>wb;y|{av5kC5uae%@XY+xLBO&m{GHe~ioj}sy}lnRm<&{=^pYq; zYxd0y#I^*#+wLjvZx^Ig1!n%7;0Y3ie6S__Rs2~H z90KPK%j=0RP6i7pxPE!0I4n*3QBr5BLus%b!;VKlVS*gRdmtjpVD$ z@%_mjlXK<(xzDn?Wpq2lluo-J^}k@gy9x_j3nzbt<7g~Y12|uBR@~kQ?T*pzs%#+d z5XJXT*P@6>EKJmIp3*amA_Pn!r6**@&;MErv6Bk~f&|Mf)SJ72&mNq~6SDGYc6Y+Q zLwdIw!QE?`jrUIJP0@a1I9BbD>1s{X^G$Xj z=(;x;Y`P^@wP;p~UXIG!9vayi06%VqjvNFTk@x>C_((Hwod>d*!q{XQM$pTy2zpwY;u6lm*6>CbK=Gy31xyLUtzE2R6J7d{F}?j@0n^k zo4-UDm*a#;lep+hV7Q}8_WUbDK|p(xra|mFJRkk@we?3+!X*rc!A9!#=}NW9@6X{Z zw$bT^2pHr3revO%6U%I%qVE4ohthZ}@>73K>}TriWDn}4VjgigyJon+Hm*Rnkmo@V zW^hVXmiXB@0xv;=rDywb^Is)trq$9oE5|jW$ezBzOF6d5j&2F&CfdRfTXwGkK2YooQ38xvDkEQtwKq!zH7pt6c_kK3|9lNNq6>VmQmAa)04bTs^VX= z1$Z2>@S3C4U}L&kkW0~g2=0#<;s)|G1>zzabicDBylAf@ToTvVk>~2?hkC<0kP8oA zCjbiuCz3xPes+^4&|?X*Dpf89{qPextoYTc>ITU1;{3#!Z0 zQs5{^!q`VDji>Mp2Ru z8Q%I&6>?#cP8CMfX8g4SN27^nlA1UrG6SGa{EH008;66~e%nS3kY`AztNncvU zTaYDl0dd9hb_-k9kY!dghxU2V3^dL!dP<2#L-D{FU(Ycd&(!uPQ8v*QuCoamClvVv z)*zhSyU8QEjYIgZxyS~JlHW0%rHj4mHHV&2*~Ggu(CG%I~giZ|r&DenKS5Cm+1DVJe?i zj4w)*SR;Rd;ZAt&cl1A23hch}s$d=K{=I_?$OKC8z&;Vyd?Qj#M-d1i7m%KYh$aLm zC;5{$xgb&Q1js_8cBTae6$L91VI=}kj`S|S(0n{G97A0G!uI<_e(>h*s`1(8BsTNO zO(jDw0;n>s{AiXpb9G7yLgchB8Uj!69!QgW9xZ3&@>H`? z;lsAwHr{>~sb*u98h-_>fn;r;{{_^W~Pz94Ut z|0tYo?YesbrrwTjabsYOld&>6A~Hrk9r&6R`5BL-Uqkj04AJ&9Jqf1H0fo>ht#<>k zFo6;af_lN1Txt=ThED`LV3idY3-TJ{iCmxt{e+VFAt8nc z3v0z4*4J8RbPnKl8%6yL8(qY~cKO&zA@&M3PR-kVW-F2ezZK^rE9OjYtfT2R@m@g< z1zij~ae-?6j;Uq4lrhP*yCdNN=u6D2>%l} zKWG#|6bA6$#i#@kNe~gVu-H0_@}b45JZtJEL21gOF?ZH zQ~9S+vqXuafwbCq_s9Be0(Xl#? zR^4Jrau`qW9qX|HKd^)y*qOxn^Q!a1YYE^nE?_UlF@kS+fj2ncID#~bMsOboEB3Z= z3n!B}U+Tp%R6{<5huDX^Sn1lbfIFDPjWmmTI$J4#LpY#F$5e&DR2ju2_Vgm@saksT z3cG6@=*A;VByrwhtoq5DunUU=2#jMLmP6y82+}OthO2mon>ejLh28jx>xx@7inB?a z&xa9Q!BIu7U*l5gQNLKkEY6klSzHc194*HdHV;4?VoUJ7mBCWb2>(-HxK3b@+=p21 zHiQD*h13MAI6{F{>i+_vz)U%|@wFk}Cx4@up|g@N;sf5}Z9{=)ID#?Urur=!E4|q` z0Qo$&Cvm*^BPW-)8k2;-%GRTfg%;K zKZ*0FRpeFxo3N9DllD+EBIJ`|L!Vne6BnE3r_WKPJEFvod5s;07*qo IM6N<$g3A5t$^ZZW literal 0 HcmV?d00001 diff --git a/app/assets/images/icones/antergos.png b/app/assets/images/icones/antergos.png new file mode 100644 index 0000000000000000000000000000000000000000..41e32ec7bcdd8c5a831b97f52e6d7230ba8c6c5d GIT binary patch literal 2448 zcmaJ@dpuO@8eSQMcA_o0Rb$Ad!`zrLhOx~}M$C~$hE&GP!o*z641*{lbft@g$}O9a z%OPn?wdImXRFYB=iW5;1xt`HZ`}}b_>$leWF2Cn_-uHXo=a27*D}C!~6&)1-09Ml+ zDQ>b+Yw1%`l>K|9glXBJEuk_cI|P0bDN6(bM2^50gwl8{f6xtNal(U}L0bTTm~a_P z3DdT_2uh&7pg)&SfQ{AMhC#U;0?Y&Bf^-p*!2qsf zgb3UbL1(Zd0@>Ca*l%`F+c3OLfCoxg&@f&QUyKhUz`p6?W%H$N1PuBOA_*kG{z{7J z;tC}TL?9Fc$C|TI7HFuIH5`SpM&m5aplBoti$Gc;P}b%s3%u;LL_)tmFj+Ja#}DsD zarhofwj#g+BoZMWfsjh2aH$1cAo7=St*sGAGy;t_mm$o>;d}`z%$zSaSXQ8bVz!7Y zlyC)n=#nDKR}dm0z+{>Jbp)R9hb&+Gy-c!#A;MTf1PYE^I?^)G#pVA)dAuKJvBVAh zJKz5)EM|lYL4+G97KDh{vc~xtEQJ!{$s&*?5r`N9LC|s)T>}IXfjB@Qgp$ciRl~qB zP!kU>pCgcpO~0{RT<|o$Si<77K^lbslj*>@Tn-*hwzeWu(I{&i5sN}mu_THmhC;-l zt|&7=AwVfT`~kuD2q%1Mch!3;~*07px+LT=l(Pol*3Q; zzH>Q0&jtBYE<%ld#h?wUV zb6tqj^FiwnH>#`Bj-@JO>8t+{|DorP?!}y|kZHLUNUdK=C%Efm(kUr}lMuViRZU5m zj%a*ChC@&tuD0WT%Jldz=u1~V5~JMv@*e%mp`!au$SrArhMe6RdZzX5+n{|_QSpo& zCdUGx=Ek&)DqeYJj71nDDr`eSO5Dn;S_9CF{;Kx_2W{aO=0CiNv3bz?@K{^d_RyNu z^0wIVYBQ15u2x|$1v3_$-y8XL@Ti7<&c9Erh?BF+qIFO05lTIFA5^j^Cz>qw#P!#Bkdrf&yy?bgyRa>*uwz@2oi=X-o)_3?bbCHd?@TTle!N!y z`k)c&AMd!yq##5v71p9{L8nIgs z)LrmgkiT=X`kZ5Z^67H@(oYTsslqQtk@8x9=z z{3v=L5MG|vRJX9h%lp1kF&vw_Osb2z+mB7AeN|I`n|&+K1wuSE(bd$@Sk}JZ%COXN zm*@VeDVmvPEMsKseYwtog}09oWs{B=kt)?YrFP%b^EItIb;J3iTH_-J;2BKKz>fBU zBNquacIQrSbzX7K#4`8BwUtOfb+k-*My*R>b_;8;TwpnFtGd;5xlp)@|A!dj_klLZV?qo?{V z(BDr^K`nmiGW$WSG zje<-dI<<|e^ZDi@b@gDm$iA_XS6rjdVa3iF$vx4}TMor>+h;%h33>$wqr7Xp%x8q} zJwj|&y?qP~J8r9H!W4nXmgjYqzeZq0z0Tblbq;wB)nnColL>#@4AEGTvXY2yM8DDczA8|dic3(C$D{) znTfzfPLCH9(94)+_1Y6}YspiSlPR;aD-|wZ_LqmfS5c3?-5j(Mo6+Zs(vF&sNPAMVz9QqHr3c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxOgGuk*hs;Rw<*Tq`*pFzr4I$ zuiRKKzbGB3*V0noz)0W7NEfI=x41H|B(Xv_uUHvof=g;~a#3bMNoIbY0?5R~r2Ntn zTP2`NAzsKWfE$}v3=Jk=fazBx7U&!58GyV5Q|Rl9UukYGTy=3tP%6T`SPd=?sVqp< z4@xc0FD*(2MqHXQ$f^P>=c3falKi5O{QMkPCaRL@jFBRn%N zCBM8_6RgYE*UB@mxFj(zIn~p}Rtad1US?*Bm9ep= zF;4TKdQ)(_#RR8beV}9XLD7p8-7q0w8Uiuli5JL$C;!wuV45!iChn)P_u_zg#=+CY zF{I+wnkn@j!if^c@9)05?e;M(lcYdH<5NndGklghWnMNk=AGrV@PZTb;sCB?D;@t` zmUsN(U$5FK%9^w^EJeh5gZ#RQ7v(*dL}oSxEj#mc+wHq=*FAq0b^T$eB{!#Dhy-ht^&)yX` zWR(oxcQwn^;#a?G+B^NJ`8PwI)5P*RzWdx^aGJhms`}EYpB(Ky)27Nq7B<|<+5X^G zORmjRXNFZw3#yJXd`O?6wR?%w73Cwv91fZcI#GrVG4p42uMD3lAkKB1iKAgTqfWG$ z!w$n&O{YSR7)5+hZD5$etas)#+XP85<|{Sw=L2E|e*N3SF79+w<^fZ@k;0;VVpnb} z++pTdElgw*U#80J@YgS(Ug8S(L#qm*qrV?8v5SA@-g!Vg@IAxVRWrCA6*THEu;acm z-Tlh(7(wyp2UrEo6&C%|S@Hk5fLgec59i<3$3fzi4;ESEHEdgRk>yqQ(N~F+g09Ry z&gbvlE7|I#Z{Va?rufD6aE;!F%3Wb>Cw&V#eypD3!uWkLx3RgjUf^HJC z-Ot3iZO6=$`XBO~=6LUYSK^sBg}+5Li%ZM@2us5+E)S!QtK3`D>U)e9zAW^cbJ~yR z@}*ZwZBl`6Zk&BI%QWf0osPg|&(u~F@tL_^J?zVQUxG*Y+n%l^B~D6iH@^t4EBPzT2iQ-Hfn@Y|j8z1(sunj5aGW%-dtLU@T_0Ia0{b!z+&ut92=59h`TH;1@oc4)hKcGS-f2BC(XH>cGcYsQt#{kdW_B7>YcY7b L`njxgN@xNASmB;? literal 0 HcmV?d00001 diff --git a/app/assets/images/icones/bsd.png b/app/assets/images/icones/bsd.png new file mode 100644 index 0000000000000000000000000000000000000000..2c153a899921c9c783748d02c381aa4ed8cba1b0 GIT binary patch literal 1619 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gjk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m^Cs(B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxOgGuk*hs;Rw<*Tq`*pFzr4I$ zuiRKKzbGB3*V0noz)0W7NEfI=x41H|B(Xv_uUHvof=g;~a#3bMNoIbY0?5R~r2Ntn zTP2`NAzsKWfE$}v3=Jk=fazBx7U&!58GyV5Q|Rl9UukYGTy=3tP%6T`SPd=?sVqp< z4@xc0FD*(2MqHXQ$f^P>=c3falKi5O{QMkPCaRL@jFBRn%N zCBM8_6RgYE*UB@mxFj(zIn~p}Rtad1US?*Bm9d4RsfDGXk)?&BnW3SpnUkrTp_8+* znTff9xuKhrIZUrhesXDUYF-IUZwf-MF;2ap1d&?+wAm%KD6=dz#jPkmR{`vCt4!Q( zF~DgaRBsAyw;1Bos}FRHJ}7#Tq8lazOhX_hJn;fK@Z_JG2Tb!tz{GvXOzbrS1JglI z7srr_TU(}C`%DfLIsX4k;z}3axdDM450o_2!g}1+c1}F{;?M#KVfn-ho-;~}4Egeo zIX+HU)NJTyI;o-XgP}wv$1ygpMJgO!tnw;C6Pu=7yPuo;cZCMiQ?=#y|L&`P_w)W| z`~KT&B6OCu%9!bXIN?=Quyxt85+i{X=cd`QE&au~Qc=Zs*4C*nbf=lEoqnxyiISbw z+aUR>yDwNTN}E;XvCMrWlzD$fNK`~v*lQ0*Q!_a(GjsW3)jL+3W2!Ew%#F~UYHZKC zVSD_h@6mqgX3RItwB|nl{aWxjo|ER#2eYBmUN-+f!6Ts4ke%yX@~iv8zY z!MaPzsb=3izZ=$6ZZD}(UhbBjd1TS#w`Kc186UiJ_LEBc#k;ey=xIxc1@qCpl>v=$ zsVTD_9J-y~_283iUTnN}@1mLjV+nJ%h3^^qf0aDGppqm|qi5@vda-3FlIBPHea))ARgKRX_h{C!ST$ zBFc78NUwOW{^9ZarP0w#yN@h5nr2z6m-(#s%-)1@rRWLgk31_-2{d2I$336b<6X@v zvG>=XcrTx9xYW%{W?E^vT2%8?My};m$^+q=5 zFuZtuad(jE#CJ2bId)!WTBI}PtC%GRn}{rlOEO@-lv zoWrY_Yi(b}53h5nE8q9PY<27J&Mn=Vc84AoSb3ZmHMlVJizcO|LpbEpX1^{#k{AhpUXO@geCxFG--AK literal 0 HcmV?d00001 diff --git a/app/assets/images/icones/debian.png b/app/assets/images/icones/debian.png new file mode 100644 index 0000000000000000000000000000000000000000..3c34aad5d70fdf8405ba0895e14699c1765008c0 GIT binary patch literal 2027 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 BK8;>gYnUM>`UT6g+{1CsG}VPBi2u5zwD64B|~D zh^BE_?9aZC6$2xLVJQudS11%Xg%b{v#UNNJ6;E))J32Zb77p?x3CvSENaPz98Cam4 zFB3^&5hOvY8F^7qBFw-bk^Y^6So(!lBL7?_q+oa@Pl_kv2jlv6jPJ z@Sk}9C$T&*Nebe*pd3n+@sY+wZ&16E(wH)k2Sc(z2#Q~PHyCd0|;6inAqY#N66e@w`#&jW( zSY!&D$|kZFu`Gz6Cj)~~a%FLn0*#@oR^LVW$czc}YagvEs;*F(gax0q*2wCLj>`o!k5-txjqt90+dhp-*Lx-n3rm6WlaiyOqMvF3I1Qz($972S zdL8#9n-}7aDt@1ITw7BkyMO$*CKB88Y@ElnEck)}|5333GEg?e%?y*`eRP(z-30D;!+@ zR@Z87UkyD=QDe={Eyybg$k7tsN#AAQIWj^Vem{BFFH# zvBr@HZ-JeGIw^Ih;!cK}nbx?~r|CD>F3()avdf0v%($FeaO+ArEs$9?XXV6p6uAa( znp&~rhna~6|H-ckE3JPOoH8{J$L#XR?c9CF+oGa#^jNWH&`aruv=wz9_NS)uEJe@O zSF>l!yiqCUb*(zM2mbr}!*qMkp8RVaAZ{_u#s}PEO>~{ljl33OX=wd#`4wRSDz{+l zS$)}$y8>*dDtT4$(Yt>#%(jxM{7UZqSd}!FUswc08mC6~2|87WE%FlV9IR0&W5EYm zTkob3xx_OqXU}BU?C=z1)W&&#JtxSZ3Y#}&NG{3q3JPs$-JSg5vF@J^x14`!U!6Gp z_)os@ukmWaV=w!`pLOfncfY$bx1nSxinOi7VPaemnBs7gC7+e#LYp-QzJm<`%H32f1wI6Ayf&nv_JW+S(BD0)UC*-F_Hd*|T1 zMrtcf*rz{HEiO7Vw$;7s_3--GKC#8c56lB$4~!`L%uE~Pz@F6d0srv331i)}XDisG z9_xn99ZxSX7N&0o5b|5>G*2%-TD+P$e9Y*EyU=IeyUeUAF8ur6dWD`W;j3;rX=iET z8qAXjd8Pg8Bi&VKBe!47&w6Jb=Oh_lMn9F~n%nNxjM`{Fa}piwDvvX5uVtv>u5kv- zfznWTdk;p#eF#N-ekiKyfVOi7eINyJdGW@@61~oI;z=rS6YA(o)-+U|R7y2{w%^Z4 zllDZdADtmlaTRN+C+NmhY0Kn%Vb|v1Esl}}vj#@2NBqCOzBgrx<=*U76{i>U_g&4r z>WrTg&`y~I{lT5y9I4{7?>1qixU| znv-?c;C$PUrIdykG`?U^;E9pU`_%rbW5Wf_PF;JQJzU1zcu zUhME0)bS_Zcxc6IipPpxUz(2`2(9FNG)gS7dFiIK?`SiLtQ<8f9=4&M-11^?)!=YQ d?EIz%;M%ga=>9IE&x*NK&;{Y|H%jagbbhmpK>stD3{-Q{`LQbho11r{R$JRn&9{QLIx|I_O9|39BRgo}aL&sqxq|9SVCV7UbH z!A5*e__}HagP^?|1DmuQTnxk(v~y$lwsHm`A8ce|WMtfcE0}(tImp2H{xt)qYY>JU zhph(#Gvj}TUq`m%3?8W2@CpVsXx_d0|Fta#OydkbsG7e|A7GPqz*}7ZxqJ2h?<=PX wW>t_n5GJbPp=pIfmnxGkl|HqbEdT)q0LT_NUfagDL;wH)07*qoM6N<$g193YkN^Mx literal 0 HcmV?d00001 diff --git a/app/assets/images/icones/manjaro.png b/app/assets/images/icones/manjaro.png new file mode 100644 index 0000000000000000000000000000000000000000..560c9792f411ddf6ed13cb253878f6cc5f5bd0f1 GIT binary patch literal 1082 zcmaJ=PiWIn91hI+XH!uSnY-)}VNS3~ldfG8){U)cUD1r$6;?!WS@ODuHF+_4ThlU- z?I4HKf}PirSUvk&IlSO2oCFJgkF3wO9Net&;vo)FI!QV z)q9FI>@W7F)Z&OLXmn=>Xm>?IU_h(@*T|WU=tk%@UXjebZI%XWA$TN0uZv2{eISZ# z2!c$=r*Z)vvuK5y1Po5bJMcIl;#TMDn)!!Nx2)uzsH9c^`@JIRz6duFrH1Rv0AcsJ3ol9htymREE$fj?hHu`VkCk zlh$-L%0vprx{AeejNdy_B~X_CA8Htz(GE_+KYIU3?4$}7WRuWAqqa&KmpSOAvc#wj z6^!f@Lb*y6`?3flCyOi)je1oJGC|NXpqm=XJBQa$vMeS{2P>uu6Hkf2F!C089U?rrE8qmZQto8@nRTb+Q!mvnY3EKJ?)Z#WW zz}mq@y}FjRs(c$*t-6+QRV+)yuwHxrYIkLec*vV>nwKm#?GH`jd7GH~*>p)F7vpw9 z>PoqDL#^{o-)>BdTMMrrAN!vCTHH2~tI5?}X~^!3`x@N(^p^zBbG-j<;9dXY+GKRP z7F;~rv3kAqVeZ;|x%{hqLEf=vwzRtN1jRG)=9`T#Cbz#|dVcxz;_~>)tKH3GnfTQ$ zd-weO7?}F9Z|uaWUq4DHw{(BzO<}kWuXftL!Jj`qEjCRplxND1n#-Tdv*lYWgD)pf f)RXl0DDaRvd8qx|_@$Zs-fd3AdZjzvgOk4j5z21v literal 0 HcmV?d00001 diff --git a/app/assets/images/icones/mint.png b/app/assets/images/icones/mint.png new file mode 100644 index 0000000000000000000000000000000000000000..beeb0d93708fab99bac68172dc1fca578f558049 GIT binary patch literal 2080 zcmaJ?X;f3^7L8&fAc#PzjP?>n(TpU41cHQwNeD7&BcPJuLPAE8i%CG93Z*oqAo!M| zGL;rlDHWlD6?h6&tDt}=QYJy7v032&L#6-$5{8WC;oS*<2L*#CQ3#&I?EnFXCu4C$ES`eKyHnwphy&g~C^(ve zpFoXd2E302uV^R%1j(sbtV*TAsN69!MIy|lP_Q@xmOwzm2((fog*a-oROzsyzyy^% zg-{L&Wl}(=$l=OTAQ}qJ^sggGJLNS_wsh zf9Lx@g_Y47If#t}m9i8C4{lt7gD#Yu%20qDNT!IE$;2yF3>U~CnNlE=0}O_)Y9tH^ zaQ#du<;zsct?yVY7ByI^gg8%H5$fpwh14u-MhbP68PR8T?$rL|NCX+#6 zy5l?p=u9$wh0B!jQY4@hTH*5l=2BMW>I@-~!;zVwLU<752Pk9`;N8Kg!qsyjud4T+ z%U?Ygk5#!?I2o+2z5mtjl`Ysqy6Fe=!ix{~2c@v*6|lLBct|G%VqIP^lOC-exV&2v zYP;KZ>9>J>?D)c>v#$A(JC9am1J$ibYsMZ4Y6oJLyUz&5Ol`h1*c#!`ee+C%*4cSK z9$((ACS3^16n=lQhiq(VEza>RKo^EwEd={d_m@nh$v6WiBo6p%ZFf667l)@8>_(<- zj&90WR<<3OBOVg})0{Co9HLTZO=RVl`(<@K>?SNWU2(ZTKGpjT+e!Z^$`|K7CuY4+ zZnCGFjh}d%y=8w(F8fx!(n$tRr^z!acdAq zQMVl0j!S*6T6!nhE}oxx+;w0|9RDicz-Z~)w8@Y2X0I9K@W%>Fx$4x>YE?00Rf0W1*r~R~3oSBk;X%>z=7F11(aUwG^v~JeQ(y@SQz6t9UaePl^{GDUN z&mQ88GBePD-MJsVsW&j{*w=Eat?VUxbns4H&215OOZ9bXUDKoLz~-k+=>w$WeF1x{ zn7p~cqB(Ejj{}uf?4Oi=*ph3p1NPrW#Fikzms>VQ<=3RX?k)|Dua84Z2j`z`t8)#q zjh84aMuz8oi2DXYOpW4CCT+Q_bvnfzQ$n42vz;`W@wu7wj5; ziA_$J-7r)%XGR|HZ3J1Rtp`#!|IE?TX5>^}LC)t5;wG2J8e?plO^$^Vs*@W#CY*%z z5#w&5*D@28+LM!|LldK4#TGjE%9h0;do}YX7s}2bx-6>H9Ji{2zI$Gc>Z;XxB|iI+ zfO8RF7}eN56EPYq(1n(*7s9#g81w~t8X&zreC@%uH#xv6_W14dJU7qwvqj9_@pp< zGWK%+Px4~J;&Oh?hSp1mDJ{(F7aPi+3u?BZ&OVQP@pE$5de7u> z#_!t)jv4;CF^ul>IHGEEx%)$O!zpX`_Vx^J43ibTQz&n!tNQ)Ib`icXt8D#_R!_8l z6*@agd9}hYPNMgg_%^X?bYbbwmq^SFX)s;0$F76#)7XYy?|rV_ZDabtrIayuu;&Qr zO<#+B+$qnE*-qxQ#3DK_c~&?Um(}lb>V_eq3+JX6@cGd-U2U^frw2nGl50AH*~g5n zOn|(w%A|FI>a|@rQMXPPnI2(D>(E8(3#46vuYO3&7h+qg$)6N8%}a~^{NcC8IohOE z?qW8HeE77!ht2VfCds(TRMkIHm0)fYaE^G_&Djb4I(LX2`Q`kXSGxovQH~_&Y+w{) vHsqXrQ{TnDlAT|0@+(e+?r>-sS!;wa{o2}e#xm}SO4`W{Ri_iEE|7cRI literal 0 HcmV?d00001 diff --git a/app/assets/images/icones/opensuse.png b/app/assets/images/icones/opensuse.png new file mode 100644 index 0000000000000000000000000000000000000000..b5f3f4f29194f7a6ad3f011d2756b475c5f5298d GIT binary patch literal 2524 zcmaJ@c|4SB8y;&omZL0LdkyEy6@+{uRoqlcUOBEDOD*D2qfd^ zfb$fL+c!Q5alwBi7QHGMR9LotEH7F(D;CcnfiOf`7zuEs;3G($Bs?)L`XR{@1QO9B zd;78cT%1t^8pRmDfiY%N=mItfWNFQ&;|WnD77#{?AXCxcx#rtofJ{V#eGx8D7rG58 zlI#%AAbG{RdK2QK2uLE>+6u5_qXYsJ5(^KoDF>)b6dMixs*4iLH?|>Q;46d`g$DnV zl%I<`U_)b&0EDrb5dmgu0+=I>VF;v&1$-x90)?4Dpl}EbX#_Jx30^o9`1XJW(HO*V zlqb&aTP(o}4US~7=qLyzHa6Bc*3_8Bh!Aj*NC?yfVq#(>Ko~LOs4P6&h|1L7RKSs# z1O}PTBGahAh9W+U7Q;e=1)2VH1PcATES34KOoDKz?i{cwq_VO z0&WX6H8X?TB5bi3+$I-CBg9ZhRMsY!_%9d!L+*wlD0D$&9Em~xjYPC#&?vyygQLhl z&IR^Ey>DFNk8?5kAr~S@2C~uK|7!QaLEWX>HL=||RAuzWV@;V#@65r#9 z!+5h_<@o&M?!9-r)ynM9N?MR#S!b$5s->_3R#-+6xAi_4Ly)@G2h*rBDP`>M3NKKN z+V5-^ZK913)h|qddzQFoo!PdKn3dYeR4yXznBmXfy1s6pB8)0KzU$x|dNOexIlR6$ ze7nT%45q%mKJrt!zIeXR#Fw=}Hq3qslm5ijPWH%*la%hIGM;aDT9Jp;sCxPhY=Zcq z;$mg6-}{-F8I_~z#)l>#$Lu&~9X=#9WpuU?)DbRP569qQ<*!<_qImAjx5iE`T+VtD z%)z7V{QXtIy*ss`!L|NP&(I-?T3z?)@V)?ZkD7N4Nj!G+&F2=*r{8-YcR2Otel=M1 zZOVMX=?>Pukj}YEIm6qUUoyeR?JsFcwvH3@#wk5IAiZNv+X~cv`J@pOA#J~fM`@^; zhRgUYPyWXw`S$Z&>Fa}!g31o^&GcM9rArlk-dD|wo@~lU=)n2-C>ax;Xh^ z9(i$6CXMLz&hhswUuaUzq$Orgzp64VG#Dt1cKA^J^lq=5RTj74BI9 z*n*1YQQRF$F?ZZdyIWLD?2aUKF$DY!Uvq{3K3@SerIIzjl&wTb6*+kIgHTVFeD0Zp zYuy7>&aoPD3p^O{f?BtuG0OZ-#^YI)RjDGbT`dbKzSyvLMq{;bNWzCP1&@#6#}~%7 zt#4V`{l)HqDAz*t5FO|tNBChc+gpgK!qf?Amv#T#K6~XPC-i~80r$ep=gPTBg|19_ z$~x7_-W$jt?AX^lMd}Z)&B+R?(gV@eMJ$w*6w)fwtn(m&uHqiDBhGg{3=$e8du{^5 zvr`ZFF@dlUO*NpdJ4h!nXd*4OBr!(c^{KR!OVLE~Y{cGvzPMIvN3*#R2MCGN@O7RO zYs+Ll{Vk4~A*u%F4v0)Sc%a65<>dAhzQ2_!=9HXUwPlh|jJ-fAZ8>rv`7es4d>MPX z7Qbc2(&OTrtf?doYZ|7cm+z>D$xna0~|;JFj3^ zx2kgD?eM?bTbD)0cSlDIUN9ee%}3QbxTHq!a;d)0w8mO@gOD$x zSZ=|q7hWJ_CTHAmhMV@ecEm<|Wy)v>7~Max+Ip8)URm)nmTDDAeHH~ASHhj(KoGU@UrG3wid|CHusgbwLl~bnS~NWlC!P6cT~5dqi)k0+qis> zWlU0gx)M@Cb2;grRth0fX^xm!S|sEJu24!(cGNbxcEHni|*dENQ!U z_#eUsRzIRjK*di;#c?FrKes9uHTrY=PgD-)h?%>U{zO3$Ph{m67N%eN;}6xslP9fh z^j!z$&RQ%;ZWHec`IVbCmBUG0Otu!1?#kbOsJ_8RrA{{X)%1%pnK}8+kNxs$YS~{D aLqU&nmfFX(Ob>6|w;XLJ zbKWSz3S-d0E~*IP)x2@|(F?s26cHRm(7VB8NbiJhS(Da}n%VkQm6o~AvWk&OtbMhq zE`7Y{8;v1f#T_^|&w0-Iz0dzS&v{WwQOE%wuphVr#DJfGbw%YCQQQXH22_T}fSUgU z(2}Ki%Fh+b*C=e&z%=j@z~k`@x?HXyE4I2&axnlzWXkLH-Uo2I-3g!1_uL9Kh)7A^ zchFLjgtWzW{PsvpKp%Nv5O;cr9G#VY@-8}^7{0^Aa_TT2_=5S{5lzBX!0p2yh#<>EH0?Cn)k+EEW&d$!h zv{T#y^r8TO0X(Uys*2_+u9Q;oczgm#q(Qzf7SIl;U@+L951^D%e!ssz4KN9m6$AJk zc#%jX5`_S*t*v3+pHCaoYvpRwH6o%6!!Qc<@Z{vAWGuPzwkc`Tv%93Y?BXxZPul!%z2P-rL{pt7aVa}72&DRrT?+xQ)drw4JgS5Fhf5qfAHvZy-NAl zpSgMf)!5h=$t*rRJUpgpT5R98ioVqT(UXCxa=ShVgi>!p0}zn~z``_ zVc-0Tqt-cJTcm5E@7q@KzI5efqU>1KX8S z@%Oq2*aG|r3;?gn?fT%Zma@qDkLE|L%Xd#w00000NkvXXu0mjfiMF~- literal 0 HcmV?d00001 diff --git a/app/assets/images/icones/rhel.png b/app/assets/images/icones/rhel.png new file mode 100755 index 0000000000000000000000000000000000000000..8f72c8a845ac99286b18ea8faf0a1230f97aa1a8 GIT binary patch literal 1641 zcmaJ>Yfuwc6i!trWlE$zi-@yE9fL!%c_N8Pk-SWxp)sTq5R@fZNJz4qWET>Uwoo4( zr8-D;5Ghm<8N`7^jacfmTIqm}5AcaqP^e|FMyf-j*h--r6zq@Eo!!0X-Z|fQzVn#7 zU6r^dBzQqEi9`xf$R%oGec%5D1rq;WhwuflgyB*xo`h!M4#*CZ;`C@H3@9v6Hmrsr zeZK7iEFh7lQ;ixeu2p`>*P#|Vr2t2DtQSnvTh40V{cQCYQ&G;Y0x}1~VFDa6l%H#$@w}m%{*FKNKRG zU7y8QOJuKO5j!Epfa6v^2s#`Nx`Rze?b!sD#{(HGkj0`A9yBZ;!67FN!In%gNMKB7 zH(GHciU58_C=<=ag%m>Rs}wBONm>MZT_&PnpcAr!Ogh7#(uAW@`TwpK%cM7ktKm0# z|C1Qgqy3wfTb9pgR7EdbT#l%H3nbK$;i$|EOXfA`rWyMIC z6IcnV%eBA=K7rN0!HTEE`Uk>dB_c~;yD<;e%j~EH7*CvUoLY-tz!X|uVf9mMiJKA& z5@JAqd;it$i6df${O08F5}V2KhY@1t?Zj{&`^@Vmk*0MiByk$&9nanbxdxh3H0G^R zT)y}Gid+5pxver^2DPq}Iy?MfTnP}A_Oa?}P0x+Gd0}%rL21&;oVfuhzBK8+z99Bs z!`2EPu&JhwedZ}G^X=yM_-U;pDmv4 zX-(!XkOXe{F-1FaX4^n(i0h!8I`n0^C}dAR|EqfPi=8PyFrQRZy5j@cy$ci8)x@3! zMvA(gF04%GR77n0mGkulvbkf+7UyzPTJ53*Ha96fWN$-BUzj-y3HO+SR;+z-IKfV7 z>F=<0Yp)deSoND_&Pyj|EL|MX}mbSUzd-W|2g-&}N@3W!=6a6Mzy@J&Xqj2S-K8$_hDdDX!P>jFRkY6HPal8s*J;>wtPZ`Fs4)G$X4;0(fx}PV z*_CvfL+U^{3MdX`Pg{NKO z%Kk&h7v>!geop^R<#O3cuP?D_fSg@nLg?+mnM; zfuScW&Z8%j$KEQQwL^C30T=Pc)*n%=h-$Z8(#P+v(EqvQEXi5jZP=7DBi(=bE2N2% JCQ-)c{{TG*hBg2I literal 0 HcmV?d00001 diff --git a/app/assets/images/icones/ubuntu.png b/app/assets/images/icones/ubuntu.png new file mode 100644 index 0000000000000000000000000000000000000000..e0ed3ded52843b4ad3c30654e04622e018d347f7 GIT binary patch literal 2340 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 I^WT>CAL1yfn*aa+ literal 0 HcmV?d00001 diff --git a/app/assets/images/icones/windows.png b/app/assets/images/icones/windows.png new file mode 100644 index 0000000000000000000000000000000000000000..594d8d4aa41452e8c45a95e8d7d522023749ef98 GIT binary patch literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gjk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XmV3H5hE&{2N?D-v;a=TQ##1a8|2Wi4oan+V(ja1VjXjA` z!K~rZiv<%|&oaz#n!)(TV-|N~h5gEXNsLmn7?wOYzQAGN7<f?4_u8*udNDS**SH181>=T$Tr-(G$(_mE`xo4w?sM-I;W782G0YV@^y`1yb`>eg+BLSw{3P_ySRp``rfA=ci^<8Tlzxm&*eX`eC zdk2gx0M6RAS6@5}fU|r3vj8~D*FOt@EC8}W;8~4*FOt@EC8}Rz*&ufYz%N#FMl=-Jj<6q3xF&DvOK`qje$NB0~pad zhFa!8_s@s^iT>&EtNTwg&ja~06Z!9vpVK#h(`Nu6%OT69uaLk%{Ub;)0`(uYkcRv_ z47(m1sNd*k8ixE?+vc3lRrjKueZ5RZ;ixu}s#-TJn zkNlhjrfCWe=;(0hX!q!7^KpHHv}xdnJ|Pwcw)(eW_!#n{Vc)X`eFy*sCZcaOA&e6k zvV&73{btUYHh^=c52CCzp>}!FlE;Q>@B1P69;8zNyK0-+xcLC9HZ{-^fM-I?FTe=2 zE0D*FE$B;Ep8|l``oIV=f*eAxlc9qG=3HCB(7}aj;Suv7enB3ioV@@>Ouhx7sa!=6 zgtR$6pRB0i)356A{8B=->KZhetFHi|PXQn>1LPkoFqt|bm!Do!L1{d|bzNeyq*}xv z3}-PgvvH*2VGGzbGjxdHiA7>3FcNOaKc6uKjj-ee*A z3;@(}nzE!R&YMukE!U4AM;wAFOQgfULoXc`nkw*9|EFN!rPC0PsrVok7&N3kUR=0^ z9kni|m%y+DGMQI22qIIUgT~%>^%(%j)|6;{KzYamcaEbl$5eY-WdyRCM@Z)68K!Be z9UU4P0`0A7cJAFz<;Z~~LzBP^Ine3x>~q^_XflX(@euWC`#8KGLyPx zss)BDbmYTzikBgcqsMpuT9Hf}x3}=8m#V?e!whUJ;SRDf!0AAM20&;A_}Ikk4u1XM z1P1oAF+&LfW!Fo9r+0rC>O5T@FAJUlfW(hN1Z51kP6{RN(~s+_6DY>Oq}}oP{nKkX z&@3*(P@IEK0JCY}-x&qbP8An`g=sePzaBk@(n2Zz#Pl-C0?K0BlIrOn1Iy7_y!t!9 z2rbOeM$&(I#dyNNP~1UELC7YliwnXc3c2iuyt=5G@2Y(~)56XGt9Pz{Zx@Bi!bpH; zVAyT^&qt_qFrkr(3Dr=|hmm zpg|UwTvo=gLAh9lhZ!cK-5ps5Og{dihQ%K><60J01c1LY`hT>y>*Yb9P_vrlGh=Q1 z^Fvb^SY(s-;q@gOSykPEt@tc6Wrr3m~ayLP5{_SI@!KaS^{7>0#U zKz^c$`|q5}u(AY}Z5?v6Js;L>YUaf^cHt-hNRaTOt;gT}h57^lOey5V+xVxSPocah zq_*DW$!Av6X~r<@7)FQ3rRSG${Z)fhynx{l1PPvdZXG-KdRVw5b4=2qPko0;j+w)R zVM*rRF_MJU&G$=?D3!yto0^#SdM#<&!c?Mz-h1_O0O+V*MFVylzkP5D150f_`KpHM zO%43?nn|jpyYQ{ebb4+4`oVKC><~K$Y3(%m_rH8iI^}cSWkWcBdIftAw6nRklMg=L zN8B*@)#GC+F0i_)fGVx@VD*LuUV3vkDJu(r(+>R%00OI(fBE@T`WM?QT(XW)RRgIS zUc%B3s;L|`lsDd4$8R2ryBtp04BcK!msZc$FPC9y#2vCCQcmA zpn-XOxojh4g9q`#%j@{%ebeY)mc$A|_BH$b`x7e}GrokoZy1S98Yi&%c5N+!H0ZBDHyG)ZsNs-yGR?t2upgY1tY!j>H{u7VtE_SXye!SjAiJ+T)zBf zJ&8mClcx=(p|MpZbANhv71v%gn%tZ;W)PB7Sjsamtz+zj5^n$5aNAA2d+mS`#qU|6_82Y1gJ zz^I&z3T-R{QH3p^51xh=pm&iX29dC}zm$0!CDp zP?EIp17QZVa!8Sj$_*I&+p}wFY7X&z0l+ET`7`7xy&eFVvZH08Qp~-6Ak!ueVAq~@ z=D)OwRxd_}E!*CNAcieUKq>ErzM^*h(8M=l7`}mNIM}2x3~?t=R*>THyQflA5K~q{ z1$m-7F+){heCmy@Y}(vLpqN4hjWc9PPwr#%dH@8L=>JVD*W>yNO1b9pp}hS1M!wzH zNjecDa3iMBG*rqaH6E=1lx`8}0k9P3?*=LCSV+H|1bIaX>bE!Y$lQ^Pt}Kcwh?;d2 z0En{q^KW+X#(RzUc0$R?j9zL6dOZL{58zu6b3?8>zaLj#HkjJIZM?c<3v~x_@YMPT zSjvQJnHW+nRC+(~aFsJEV@gF~Cz zJ)QjF={2}^ftH;1P6N=}i$UO9TIQVyY%ZFd%MI68s0C?g@>%f8W_C27Qadv=R7qHj zxh1h*=n&9}WxEU?TFjW?RRkWzPZ(7- zoJ%jNAV0@eZe!7V+xYCecEvMv#Q=r~$aJ~6H(b3I0K)(IN(wFjNE3HWhWEF4hok0I6Wkxr%Q*H2i%J#5(4fRU2~BSxw%MPq%MwoV6ZhoTaj z%P$$hl#ylB?QG?pPsD8)l;#`!=D{h%r4hvP=?qQY{kVp&mu=^^8z(SnY#F`}PrR_6 zU3)xy5?Y>q@aESVvojh2y%+#u{&hfS4K(~-^r!y_+lGq60)^l7C`9$l`O!*@U1&Xygm1S0tklf;ZR?z&+V6UP^+7(

y>J>s@OuEc}^tlZqltBbbN5tibb!ZP|%fk@Iui9610*?6x9fDplU;4yhrF1OxN zLCiK;_H7++zg5SC$+_Ho<2Z~U!0|#FT0C4YO;KSECAk)+Z}8#Q4gBrXZK4Q3#A0U5 z!t&*JF8zx`9)4hg^7)qP2b2X3utHCPPBo&1xjegI6VxwA_@KsmDxoqYjMe}an(ZVzHR^wO$lma+OC%4`>ipgUO z6cZRYJ}cHV^4>=~Xh|FRW;~iHp!*0^Z$Q*jU<4saBgI{}Rx)N}3ASoBIoPMmV+Bw? zA1|xpqfZ-fjHIHcRd_112hQ+xpw|Mx^E?uk$><76{YGIM`ldhm(i&=NMf91g)WTwj z<7Nw!$Mz#XZm@HEGy56>96O1p#G#`2$*{SH25j=@F~gv8sLy?Ojwfd64kWD-78kGG zg2ew)CH(J~H?VG(EV`(aZRL98uQU1Tl>pGxd_Zy14j<RN^=#WMtvb4mOO1+=g^CsqG2pG4o1%k(o<8r zk%Ch!Z05JWIG28fb{7DeTbd~-C{T;26+=<$SzxpLy8|rzU_0qBPfr|-cKg9bAPazF zMn{JNKp9xWr>r=|&u9GV`c1a5vi_uM?3spI?WUO&T7JJc{zY~7LO$@$xGjl6CENEc8b zqK{Lv08#=L$(ge9floC_G zIm80^fu8eoDlR~20HSVU-GbsWahSm!cZ???T|r@p=LO7L_$}96F_{6yNi{>LYYbgr z@ad}kyt1@b6^x`IB|{HqEx_@TV?zct3Q+^LZ;@j(aQ__>7&R=94Qp#i<|V19?2lzw z)HS<2w_r5~8pIBZh*N?) zEjthJ@z!$OG3$G-@BvhpmI-QU|y|{+m2Lv!OwyJxuT-E{{(*?-lhosGbxF2Im zCCr^Y63^}A-M80r{jBqdCoHA-nZIN^->qrDmdcoPrmvwGbdFsacqC(0xTIGL4fNxtk~YnD~oFJ z!{SJas>z`&0FD6w394k_Jk!TcwerAiW0+LckA{Y3g21A*e*vN4vwl|x&&}UJ;1`N& zU*+~nzbV#Rs9!bWMP=fLyj!N(TmSj70>lh(y4%A|yOUqsJDLjV9*#(%>h1Ns`?ne% zesDTg%)|2I3Os>f;numVcrP5k3SGbl{jc)q4z z?U;(sd1moC)~`)NSb$}ur5LN{`H1>M%>OZ&Se?6{=mcP0E0Cbj=c@Ayxb~t7B^WV% z6DJ6G;>EAH_~H?a9o>&uAa#lmSNaFTfUlOM;rwsIRy_3d1H?Rf0KQuBkPJ6VF*#x{@NJ++p!o9t>N$y$KpL}jvw zwvp!H`$sZjK(5ZC1DilCbc`i$Z{gFGo%p6q1<~?vwdksqtA_w!dPt42*zowxL!&7y zmK`qfiou?iG>cwa!F~6fOWd@veefjhvwU1aUVMEA>$f;2}0)0Tfyu(lPO5rN^la0rqBpf6Uv57`+08RUP6^WLF3F>BFS<3VoL)4eB4Ohvqgjrj*uAbN4s@JCf2qo8^0)W&O#H=R_huK#Z zbN-Zp(d2P$fEK;IjtP?oGh%QtW?(ACvVg|*zzahD-(T0#+Lj zMZ6jk#+hpLYZ$ii+ear++|QPcErcc|<1W`23qK5V%}0qY7I@i=r8j(K4Y}E||A;6YJM@5|T$?q`S|x zIZeWmGYSC8f2#w2q~qUY^oSfDoKr#Cb@}F-&0I8d3~?+v{eXY_uMO;Pi;i-MiY*84 zqRfIw(0KIg1cE>%?b0S*82&&2K%AIwFk@njTW5__a&uJ~1U78l&*n|Lx#7A=iusdR zU+M!Aw2F%G%XM|UwYZkh=tpRzbwH@t%+u3Ya>fBbI(=m0#M7NTKDUaI!wcE8y@C3= zeOz*3m73ABzro{o&#a;o$-@u5ahV@Q&ZW}GV~%k>1p+rde*Jp$LyQNb(?l+E)iPDfc^VZ{Qj@skv7V8fl4j@={t+)j0Av1 zikag}n0@^Sb#s@m-l6jOnbRtisg=>~|1obZj#B4n4d0P2UC}$%Ngl_u0J^ZFiK5Kw z$j_2;x=b8j$h|iV)fNAP08qVVFE`&fLDei&WU2t5ce!*d{r;(S)U_m3kD*o#9(|Z~ zPsavl8~`L}Dvqc5)z7C=TxhCd%d+pbDPI4=^M)&}-Ok!}em`$LPLNc?nvWVosgB?u z3ji7NHUfj;QZ*`{2WD4bn_40wi~RNSt#qUuF1v6nwsa#a3oneIWDr7CnEdsXovg3v z1W^|$0Gz&Q<7XTIJin7GrWA9_tV*Td3)~oMw(MtTZ6nuRK3=7JyLPwphj|-th)3PN zN8TsG(aS8~Q;z`-wg86%z-Q7p9NRYSm?e$a)FJ{uHK`Ks=BqcOu$b^n> z4A0>859;}BMT_DxWLilU0MQDmC_8NBp*bU&II={^y+RN6wt2j{Xe0OCITLn_ z2ux24K@Fi()fENDc;i(Mnm%uQk!4uNH$qVzp zE)s;dSwc5FVa%`GhZyq0a- z(_D6O85c~eP-Ku~G$Lq`08kNDzQqU2_ptaQ0YFZ)`%j;A{ETt|0szzM;9nk{OnIKA zPUwmPWxifs$JguXxb^nwtlhAOrAzk_7?D0N8VP?m3VIR%p6d~}EOKHkTyRN0Dl3X9 z%rC}C1vKnyq;YQ(lO_(Je|d?@Bt(=Vre4k%Sn|a#{`N(ylCO)NP~5=jy3RNNSf;~2 zJvM=|e5t0Z^IEXOfVK{kXI|bw8zG%(kJbi}WjVSdx9j+>LvLe`06?jebaGgb40-IX z(Uh0QF)Z=(0fCf(%@D_P2t1$Mgiys20E!!sJRrvWMO*l$I)x{SCQ-boRPe}`KKG#K zt}_S#dg5o`!)2G3)3Cphrp6YA4=Uu+3kFkIAZ(y8fYofNk@9aIfhnTv%=sYSKfS9b z0ALy}wi)84+PLJRLCm^h1PX&{@RaP%J@3zUyx6z=LQ&fqywA(e0mc#P2k#& zQaeeeq7Sj|zSK*qQ&11)B7S@zoKXOfo2Qz0Vrg}5kDBLad*oUvZn;s0GL+%C0SlLI zVa2BQXk5DlV7hC!r(J-!C@XZBSY>!2=$fdYM<_<`+sJQz`TOfX4eSUS6g(_1^ z8Yl&!b=57r^!gUkRvw=1D4Cc}Rljco)R2jj&?}q@JWeYB6w0HZN}c(OL2jN+TdO|r zUH(K4ZLmX^T-)JiKOM=W(f!m}9*h6Bo-e;^#x}--`gT5&IAhoAhQG?xvPqgzNlqG zO^U#9dGN-;j2qLh>y;IItR{&?GYJDR^#SiM+r_(|G-8Fhn1QQm0BTsB=mnJe`TG{2 zPXRzlAfkhqWKs1Ek}oZxUJN&Er?|htWtUg->io^bt#U%MU71xS4G)yqi$VQkJap$M z3Uf^y3|4I1&s&SP;y5|_lu&Y2FeZ$m>eKZ_B$}}`ha=!b0N^Y7*|u#Gw#zT>8^eFT zSWRb#WFS6c%1!ROcPxhGs4Av_*ia*AWfpHdAccLF|gwfdATui;yF}}Npj&iL)f>kjb~r4CMCOBLTSkY z6&awTYq`uI24;%cHxJ>waRsX8E&`2xtq!j&u4dZ~k3b@8BMycfA(!FV58q;uS3g$E zSTqnKQ|c`)igEYN75wqpRaoTfk7fAe+l^d%=?KP;9zZfzoA#C#moLBB&bO;-NeBIu zjLfq8W##WWe3GKvU zBK$CEZg<$UWgj1WvYC`$rpOVk*H_Yz2msOMFu*n96ec@){GPE4Dv_~oT8`xfu;{}& zzFARE=p;d?Vijl|soK_EBhdc$pqjxUlR$KWCVsl8(B|PgM(`icts$L~)^CWZVxPF4 zH1R};oe&|5OMm1C#l3c`eJoZXpl=NVcF(E!8oBj*ogZ z05W*iH&qrvXx-tJgir!@a>8wmcF|cV)@AUzGENme0Z@)UQ0KED4U_XITb*X zu{8hu=y+aSu%2D}EgVHsMQ0FpeaxssG&;>JGeuNoC(_>-bTIeEN=l1zc>2Yav`ZG_ zOIcVthoWO{l}=DAiBvq%gJe(-rGXiBZe-46)~@L@Vt4@)D+AtozZsW25{4Y%=HdBT z#jD1tD31N$)a_8y9nETv*uPG0y=oZe&n(nOw*)p`;Nx1baa$t`->jj{5gGQeDuPGO zp1W|@r7$tEjShbE&_upiwu7%$rPce$=y|C{bbrc2Kd=5KdZdhwC0r(q%3;pzDn9>c zE1!LxRvJecXD_>7O*D<%QlA2V%;p_Xo?zA$gL!trc6>8W<>ANA9r#8LZ!D?do7L_3N_cVNmrhHg1yekp)_j??^YENX8rwQ~eQ6`E zDQ5=@XpcV%O7ooBsY#}A-`wGh8c@KJ#WgHjy&E^4z%>)n@}lmG>S&f2K=ncN939-F z7NE000cNNklq- zhSKvd0FW5q*q^@(0MU0YE@)%UwWAqckNsNBx&L1E6bR9j?4oT)ou(g zw0Qlk?R-<+relkfyfWmJXIbQ%EzG)VIG=vDlgSecs2VqfzdXMIKgdxtiN)$1ZvO6?O>H{Osxy&YeDlg^M>*S`uSy)e!#UxwV9zFp?Px_{i^Y@C+aYf(-R34>yHJ zkk+z*et99c-ZG9AE9>}rRU58w96}~3SJ!iru^tCNmpKh2J9fGH!XhrZU>N`Y)Oy+) z<*=ty1wa&B$xS4U=^0EMXLHS!mAw1@R;o9(;u_L`AvaM@4?k3R{r&yaor&wnU3Q+w zX5klAmR<*0Led^NhYjmPFrDvP$QpMVxqq zL7Hv9{2mzTMKt0*IyMa{#Uti)M zOKKe!w%5v}s$8nZ7x40HJHRSbc2ON%tMk#5Hex68gdVg25uG7E-jW?^QkF>Z=;KpZ zy|IZ!Z|}yI5~;9*s>l8mzM%4@vS_9n+9X3CCyX|^>FRO(*YnG{=9=;3=9?^Bw3R(g z4q=$1cU+W~3B4TpTGOv~sya^2Wf6gua)_W z_u+~tRYBuO_PasdF2$AuFLn03Pl{`2|O)bAIbUOcEC!+c5rP!_a%XrtV#7!CaP zq3P7_X=c@yI&PaaRh5^&Td{|An;O~M){f%`*oIgniw|jq@|6Z_)#~wPD?^e|F)<=yvrZlDq0FGp$Rp6rs$*S%m33i3%kYUm? zwG@&ug9+n`m@%zCZLJP(yuFh~*H&FozNE8qX996w`rM!`LZH5Mrd7x#hZH%$PoiKfd@C*IZb| zm=Pt!Oz?w{v>VXgruUPKk;%z5NyJRmeXNU9iuYCIk>UbuIV%7@{cu8KZ_4(AJ#hqvg9;x4DTh zkR$8lyn+ZUvMv0RA8~gwKciudTPru&9<{bx^d+QXErVMP*lyUb68GVDh zy^pJkJ95sToC_>mf)Zo}@YM6mDJd&t&h=w?{>2Tf-`$C06k>$Z`5*1_gIc|n?+!#2 zEPr>Bj7!7lP^M4rM{cf7eM1Lde!Gix>spl+R1Ks`Kq8~@BEK)zt@i>zn?RYGD84uC z>}Af)BbhmR03Uw7lQmmgsBdxbJYUrTJSV`m5~}k@$IUvoR`P3^_^G5-5>SfRzS|0P z13)vbl2VNsWODC4V_37Xk;NZu;TMn2ATMST3q_|VT%1xLcA-eeYvQwI33Pc@zk{V_ z5u`njfBoZ!T=A2!TsUDU&pp3|4SPCBn|b?E1f$W51xV|-PaYNu*x zb=kc40NZQZIIu6Ealb<<1>Ql`Imsea9HceEs@GnnO_`bghm2sAZR9d;NXWf&$FZZX zgLju!bKisKlCZ?%JD7n!>9e~hKcg1NfGRTNYTlm&Yc5`3uypBqCQqrLVsHU(F0J8< zH7%qqnKrIjK)w80qAHV2j37-;!eQ2|k?Q-lrvg6yxQ=D3Yw>*(!;*3KvfK6hYISpT z0Abfh>D2(pY%uv^63DngR~do%dQMV z(vGBu;H2F{I`hOnblDd(Bqs;*;xTe!(x)ILZIgAIn|W%%8vI0wu3jpRK?6q0x-mCk zaH+@bv&T@-FUj^@Exi8rRt_}C$s}?Rp~Qu{>Zr4P9fKUshO6YkKQ)^CMB{)Si~$tO z5q%E1*->+(=_+}&agHavrtKj!ACQ-SlNF>q=^#Dh}pSr;r{yy{j%pE^;kfRcf3K#ClSOuBNm15w) zLdK6PV(OS8N{i)05a{R(R9YvMq}&_}+cs%ycUk&g4ePf0q=W^O4qdgQk3}>ceD@EI z1+<ok~PwN5Cs@ZedGp3XFuBR(iDe zKgs~pt{Zr?8AvC(!;km49&`c6d+X!;J~Gd0@gzD|*4iVU2pG~o&bW~Uj2K$Rz*1r3 zB%ln~RO^i5zJYGx6LQjwj3EM4dXK4o(t?vREmNPVRFk0Lb8f6_`t2F1`E)c{uoCnq+}N zZlOVOL9RMmsI%Rtqs^zG(Z!5OA;$v|yJXzY5%dmO0G!;K9P(%>lcLy;=km)70s z6M?kP7Za^zdnbv2NDkQLv?5iJK6zYb{HfE3qL@Org6U#X?4aZ7rDaU#^+$U5EC7B0 z0J??LM}862gmRD$;P|4gqkWj}_&|k=mS*Xs`BTpzigcrDC{=V|q#7fo15VZcEz5rd zXP*VY4+6lkpM3cJK6LgeQ10LZ9$^^D{0$06NnZA9X2D>BTY>l$zFk^6vkX-t*8PMf-hIDWQ&@$sd;fcfCXuQ5;2U@WVe| z<`w#^1vu>hh=NF4pJRCnmxhM!X*ji4IFUE)vjE7L*kk3{Cvt;+$YWIV=*efG2fgL- zx|e^*r;FTBpN#<`ADachu|blx06%;a9rYEm7N7@j?uoqg@$&2wd5s_Pm@EK($ld!9 zo|^^0@o!?EcL7JsvyXpke)uEQIpasj|4;mtvq9jA->aiM@@RSX4}Reje1RWEL1Y1N zg15P^J}e7>zPhp}_`R|KIKdm$S09!IKwn+i6Z~FT0G!~B>Z=dS0-&$1>pF07*qoM6N<$f)LzbEdT%j literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js new file mode 100644 index 0000000..ef74276 --- /dev/null +++ b/app/assets/javascripts/application.js @@ -0,0 +1,58 @@ +// This is a manifest file that'll be compiled into application.js, which will include all the files +// listed below. +// +// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, or any plugin's +// vendor/assets/javascripts directory can be referenced here using a relative path. +// +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the +// compiled file. JavaScript code in this file should be added after the last require_* statement. +// +// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details +// about supported directives. +// +//= require rails-ujs +//= require activestorage +//= require turbolinks +//= require jquery +//= require_tree . + +$(document).on('turbolinks:load', () => { + + ////////////////////////////////////////////////////////////// + + $(window).scroll(function () { + if ($(this).scrollTop() > 100) { + $('#scrollTop').show(); + } else { + $('#scrollTop').hide(); + } + }); + + ////////////////////////////////////////////////////////////// + + $('#scrollTop').click(function () { + $('html, body').animate({scrollTop: 0}, 200); + return false; + }); + + $('.modal-button').click(function () { + $('html').addClass('is-clipped'); + $(`#${this.dataset.target}`).addClass('is-active') + }); + + $('.modal-background, .modal-close, .modal-card-head .delete, .modal-card-foot .button').click(function () { + $('html').removeClass('is-clipped'); + $('.modal').removeClass('is-active') + }); + + $('html').keydown(function (e) { + if (e.keyCode === 27) { + $('html').removeClass('is-clipped'); + $('.modal').removeClass('is-active') + } + }); + + ////////////////////////////////////////////////////////////// + + console.log('%c[Application.js]', 'font-weight: bold; color: #17a2b8', 'loaded!') +}); \ No newline at end of file diff --git a/app/assets/javascripts/cable.js b/app/assets/javascripts/cable.js new file mode 100644 index 0000000..739aa5f --- /dev/null +++ b/app/assets/javascripts/cable.js @@ -0,0 +1,13 @@ +// Action Cable provides the framework to deal with WebSockets in Rails. +// You can generate new channels where WebSocket features live using the `rails generate channel` command. +// +//= require action_cable +//= require_self +//= require_tree ./channels + +(function() { + this.App || (this.App = {}); + + App.cable = ActionCable.createConsumer(); + +}).call(this); diff --git a/app/assets/javascripts/channels/.keep b/app/assets/javascripts/channels/.keep new file mode 100644 index 0000000..e69de29 diff --git a/app/assets/javascripts/jquery.js b/app/assets/javascripts/jquery.js new file mode 100644 index 0000000..4d9b3a2 --- /dev/null +++ b/app/assets/javascripts/jquery.js @@ -0,0 +1,2 @@ +/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w("