From 24fd1fe6c62b7a9fc347794fde043285da272f5c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Isma=C3=ABl=20Bouya?= Date: Thu, 13 Dec 2018 21:25:24 +0100 Subject: [PATCH] Initial commit published for NUR --- .gitignore | 2 + LICENSE | 24 + default.nix | 11 + fetch_version | 173 + lib/node-env.nix | 542 + libs.nix | 78 + modules/default.nix | 13 + modules/myids.nix | 22 + modules/secrets.nix | 61 + modules/webapps/diaspora.nix | 171 + modules/webapps/etherpad-lite.nix | 158 + modules/webapps/mastodon.nix | 223 + modules/webapps/mediagoblin.nix | 237 + modules/webapps/peertube.nix | 105 + modules/webapps/webstats/default.nix | 81 + modules/webapps/webstats/goaccess.conf | 99 + modules/websites/default.nix | 199 + modules/websites/httpd-service-builder.nix | 746 + modules/websites/nosslVhost/index.html | 11 + nix_path_env | 11 + overlays/bitlbee/bitlbee_long_nicks.patch | 56 + overlays/bitlbee/default.nix | 5 + overlays/bundix/default.nix | 7 + overlays/databases/mysql/default.nix | 12 + overlays/databases/postgresql/default.nix | 11 + .../postgresql_run_socket_path.patch | 12 + overlays/default.nix | 31 + overlays/dwm/default.nix | 7 + overlays/dwm/dwm_config.h | 98 + overlays/elinks/default.nix | 14 + overlays/elinks/elinks.json | 15 + overlays/environments/default.nix | 3 + overlays/environments/immae-eu.nix | 116 + overlays/gitweb/default.nix | 7 + overlays/gitweb/theme/git-favicon.png | Bin 0 -> 1125 bytes overlays/gitweb/theme/git-logo.png | Bin 0 -> 2412 bytes overlays/gitweb/theme/gitweb.css | 783 + overlays/gitweb/theme/gitweb.js | 27 + overlays/goaccess/default.nix | 13 + overlays/kanboard/default.nix | 18 + overlays/ldapvi/default.nix | 3 + overlays/ldapvi/ldapvi.json | 14 + overlays/lesspipe/default.nix | 5 + overlays/neomutt/default.nix | 8 + overlays/nixops/default.nix | 7 + overlays/pass/default.nix | 8 + overlays/pass/pass-fix-pass-init.patch | 42 + overlays/pass/pass.json | 14 + overlays/pelican/default.nix | 6 + overlays/pelican/pelican.json | 15 + overlays/profanity/default.nix | 9 + overlays/python-packages/buildbot.nix | 8 + overlays/python-packages/default.nix | 28 + overlays/sc-im/default.nix | 9 + overlays/shaarli/default.nix | 10 + overlays/shaarli/shaarli_ldap.patch | 420 + overlays/slrn/default.nix | 11 + overlays/taskwarrior/default.nix | 13 + overlays/vit/default.nix | 8 + overlays/vit/vit.json | 15 + overlays/weboob/default.nix | 15 + overlays/weechat/default.nix | 14 + overlays/ympd/default.nix | 5 + overlays/ympd/ympd-password-env.patch | 23 + overlays/ympd/ympd.json | 15 + pkgs/bitlbee-mastodon/default.nix | 28 + pkgs/boinctui/default.nix | 20 + pkgs/cnagios/cnagios.json | 15 + pkgs/cnagios/default.nix | 22 + pkgs/composer-env/default.nix | 280 + pkgs/crypto/cardano/daedalus.json | 15 + pkgs/crypto/cardano/default.nix | 2 + pkgs/crypto/iota-cli-app/default.nix | 20 + pkgs/crypto/iota-cli-app/iota-cli-app.json | 15 + pkgs/crypto/iota-cli-app/node-packages.nix | 1814 +++ pkgs/crypto/sia/default.nix | 19 + pkgs/default.nix | 51 + pkgs/duply/default.nix | 40 + pkgs/flrn/default.nix | 13 + pkgs/flrn/flrn.json | 15 + pkgs/genius/default.nix | 19 + pkgs/mpd_0_21/default.nix | 152 + pkgs/mtop/default.nix | 24 + pkgs/mutt-ics/default.nix | 5 + pkgs/mutt-ics/mutt-ics.json | 15 + pkgs/muttprint/0.73-4.diff.gz | Bin 0 -> 16525 bytes pkgs/muttprint/default.nix | 44 + pkgs/muttprint/regex.patch | 11 + pkgs/muttprint/two_edge.patch | 19 + pkgs/nagios-cli/default.nix | 2 + pkgs/nagios-cli/nagios-cli.json | 15 + pkgs/nagnu/default.nix | 12 + pkgs/nagnu/nagnu.json | 15 + pkgs/note/default.nix | 18 + pkgs/notmuch/notmuch-python/default.nix | 16 + pkgs/notmuch/notmuch-vim/default.nix | 11 + pkgs/pg_activity/default.nix | 5 + pkgs/pg_activity/pg_activity.json | 15 + pkgs/pgloader/default.nix | 19 + pkgs/pgloader/pgloader.json | 15 + pkgs/pure-ftpd/default.nix | 29 + pkgs/python-packages/apprise/apprise.json | 15 + pkgs/python-packages/apprise/default.nix | 11 + .../buildbot/plugins/buildslist/bower.nix | 9 + .../plugins/buildslist/buildslist.json | 14 + .../buildbot/plugins/buildslist/default.nix | 45 + .../plugins/buildslist/yarn-packages.nix | 5459 +++++++ .../buildbot/plugins/default.nix | 7 + pkgs/python-packages/default.nix | 6 + pkgs/python-packages/wokkel.nix | 11 + pkgs/slang_1/default.nix | 25 + pkgs/telegram-cli/default.nix | 16 + pkgs/telegram-cli/telegram-cli.json | 15 + pkgs/telegram-cli/telegram-cli.patch | 90 + pkgs/telegram-history-dump/default.nix | 9 + .../telegram-history-dump.json | 15 + pkgs/telegramircd/default.nix | 16 + pkgs/telegramircd/telegramircd.json | 15 + pkgs/telethon_sync/default.nix | 23 + pkgs/terminal-velocity/default.nix | 33 + pkgs/terminal-velocity/fix_build.patch | 21 + pkgs/terminal-velocity/python3_support.patch | 215 + pkgs/terminal-velocity/sort_found_notes.patch | 73 + pkgs/tiv/default.nix | 19 + pkgs/tiv/tiv_builder.sh | 8 + pkgs/unicode/default.nix | 48 + pkgs/webapps/adminer/default.nix | 14 + pkgs/webapps/apache-theme/default.nix | 88 + pkgs/webapps/apache-theme/theme/.htaccess | 9 + pkgs/webapps/apache-theme/theme/footer.html | 31 + pkgs/webapps/apache-theme/theme/header.html | 3 + .../apache-theme/theme/icons/archive.png | Bin 0 -> 551 bytes .../apache-theme/theme/icons/audio.png | Bin 0 -> 554 bytes .../apache-theme/theme/icons/authors.png | Bin 0 -> 492 bytes pkgs/webapps/apache-theme/theme/icons/bin.png | Bin 0 -> 551 bytes .../apache-theme/theme/icons/blank.png | Bin 0 -> 227 bytes pkgs/webapps/apache-theme/theme/icons/bmp.png | Bin 0 -> 663 bytes pkgs/webapps/apache-theme/theme/icons/c.png | Bin 0 -> 554 bytes .../webapps/apache-theme/theme/icons/calc.png | Bin 0 -> 506 bytes pkgs/webapps/apache-theme/theme/icons/cd.png | Bin 0 -> 757 bytes .../apache-theme/theme/icons/copying.png | Bin 0 -> 699 bytes pkgs/webapps/apache-theme/theme/icons/cpp.png | Bin 0 -> 599 bytes pkgs/webapps/apache-theme/theme/icons/css.png | Bin 0 -> 592 bytes pkgs/webapps/apache-theme/theme/icons/deb.png | Bin 0 -> 671 bytes .../apache-theme/theme/icons/default.png | Bin 0 -> 311 bytes .../webapps/apache-theme/theme/icons/diff.png | Bin 0 -> 586 bytes pkgs/webapps/apache-theme/theme/icons/doc.png | Bin 0 -> 535 bytes .../webapps/apache-theme/theme/icons/draw.png | Bin 0 -> 679 bytes pkgs/webapps/apache-theme/theme/icons/eps.png | Bin 0 -> 619 bytes pkgs/webapps/apache-theme/theme/icons/exe.png | Bin 0 -> 846 bytes .../apache-theme/theme/icons/folder-home.png | Bin 0 -> 618 bytes .../apache-theme/theme/icons/folder-open.png | Bin 0 -> 431 bytes .../apache-theme/theme/icons/folder-page.png | Bin 0 -> 591 bytes .../theme/icons/folder-parent-old.png | Bin 0 -> 494 bytes .../theme/icons/folder-parent.png | Bin 0 -> 621 bytes .../apache-theme/theme/icons/folder.png | Bin 0 -> 395 bytes pkgs/webapps/apache-theme/theme/icons/gif.png | Bin 0 -> 655 bytes .../webapps/apache-theme/theme/icons/gzip.png | Bin 0 -> 551 bytes pkgs/webapps/apache-theme/theme/icons/h.png | Bin 0 -> 504 bytes pkgs/webapps/apache-theme/theme/icons/hpp.png | Bin 0 -> 530 bytes .../webapps/apache-theme/theme/icons/html.png | Bin 0 -> 770 bytes pkgs/webapps/apache-theme/theme/icons/ico.png | Bin 0 -> 792 bytes .../apache-theme/theme/icons/image.png | Bin 0 -> 671 bytes .../apache-theme/theme/icons/install.png | Bin 0 -> 788 bytes .../webapps/apache-theme/theme/icons/java.png | Bin 0 -> 658 bytes pkgs/webapps/apache-theme/theme/icons/jpg.png | Bin 0 -> 675 bytes pkgs/webapps/apache-theme/theme/icons/js.png | Bin 0 -> 540 bytes .../webapps/apache-theme/theme/icons/json.png | Bin 0 -> 540 bytes pkgs/webapps/apache-theme/theme/icons/log.png | Bin 0 -> 423 bytes .../apache-theme/theme/icons/makefile.png | Bin 0 -> 614 bytes .../apache-theme/theme/icons/markdown.png | Bin 0 -> 627 bytes .../apache-theme/theme/icons/package.png | Bin 0 -> 614 bytes pkgs/webapps/apache-theme/theme/icons/pdf.png | Bin 0 -> 799 bytes pkgs/webapps/apache-theme/theme/icons/php.png | Bin 0 -> 757 bytes .../apache-theme/theme/icons/playlist.png | Bin 0 -> 610 bytes pkgs/webapps/apache-theme/theme/icons/png.png | Bin 0 -> 679 bytes .../webapps/apache-theme/theme/icons/pres.png | Bin 0 -> 629 bytes pkgs/webapps/apache-theme/theme/icons/ps.png | Bin 0 -> 817 bytes pkgs/webapps/apache-theme/theme/icons/psd.png | Bin 0 -> 622 bytes pkgs/webapps/apache-theme/theme/icons/py.png | Bin 0 -> 743 bytes pkgs/webapps/apache-theme/theme/icons/rar.png | Bin 0 -> 621 bytes pkgs/webapps/apache-theme/theme/icons/rb.png | Bin 0 -> 781 bytes .../apache-theme/theme/icons/readme.png | Bin 0 -> 384 bytes pkgs/webapps/apache-theme/theme/icons/rpm.png | Bin 0 -> 660 bytes pkgs/webapps/apache-theme/theme/icons/rss.png | Bin 0 -> 660 bytes pkgs/webapps/apache-theme/theme/icons/rtf.png | Bin 0 -> 627 bytes .../apache-theme/theme/icons/script.png | Bin 0 -> 613 bytes .../apache-theme/theme/icons/source.png | Bin 0 -> 586 bytes pkgs/webapps/apache-theme/theme/icons/sql.png | Bin 0 -> 510 bytes pkgs/webapps/apache-theme/theme/icons/tar.png | Bin 0 -> 406 bytes pkgs/webapps/apache-theme/theme/icons/tex.png | Bin 0 -> 677 bytes .../webapps/apache-theme/theme/icons/text.png | Bin 0 -> 463 bytes .../webapps/apache-theme/theme/icons/tiff.png | Bin 0 -> 654 bytes .../apache-theme/theme/icons/unknown.png | Bin 0 -> 556 bytes .../webapps/apache-theme/theme/icons/vcal.png | Bin 0 -> 556 bytes .../apache-theme/theme/icons/video.png | Bin 0 -> 739 bytes pkgs/webapps/apache-theme/theme/icons/xml.png | Bin 0 -> 585 bytes pkgs/webapps/apache-theme/theme/icons/zip.png | Bin 0 -> 617 bytes pkgs/webapps/apache-theme/theme/style.css | 160 + pkgs/webapps/awl/default.nix | 16 + ...79ebf9250e5f339675319902458c40ed1755.patch | 26 + pkgs/webapps/davical/default.nix | 20 + pkgs/webapps/default.nix | 114 + pkgs/webapps/diaspora/default.nix | 73 + pkgs/webapps/diaspora/diaspora.json | 15 + pkgs/webapps/diaspora/gemset.nix | 3047 ++++ pkgs/webapps/diaspora/gemset_ldap.nix | 3056 ++++ pkgs/webapps/diaspora/ldap.patch | 256 + pkgs/webapps/dokuwiki/default.nix | 43 + pkgs/webapps/dokuwiki/dokuwiki.json | 15 + pkgs/webapps/dokuwiki/plugins/farmer.nix | 25 + pkgs/webapps/dokuwiki/plugins/todo.nix | 18 + pkgs/webapps/etherpad-lite/default.nix | 61 + pkgs/webapps/etherpad-lite/etherpad-lite.json | 15 + .../etherpad-lite/libreoffice_patch.diff | 11 + .../node-packages.json | 1 + .../ep_aa_file_menu_toolbar/node-packages.nix | 25 + .../modules/ep_adminpads/node-packages.json | 1 + .../modules/ep_adminpads/node-packages.nix | 26 + .../modules/ep_align/node-packages.json | 1 + .../modules/ep_align/node-packages.nix | 25 + .../modules/ep_bookmark/node-packages.json | 1 + .../modules/ep_bookmark/node-packages.nix | 25 + .../ep_clear_formatting/node-packages.json | 1 + .../ep_clear_formatting/node-packages.nix | 24 + .../modules/ep_colors/node-packages.json | 1 + .../modules/ep_colors/node-packages.nix | 24 + .../node-packages.json | 1 + .../node-packages.nix | 25 + .../modules/ep_cursortrace/node-packages.json | 1 + .../modules/ep_cursortrace/node-packages.nix | 25 + .../modules/ep_embedmedia/node-packages.json | 1 + .../modules/ep_embedmedia/node-packages.nix | 25 + .../modules/ep_font_family/node-packages.json | 1 + .../modules/ep_font_family/node-packages.nix | 26 + .../modules/ep_font_size/node-packages.json | 1 + .../modules/ep_font_size/node-packages.nix | 24 + .../modules/ep_headings2/node-packages.json | 1 + .../modules/ep_headings2/node-packages.nix | 25 + .../modules/ep_ldapauth/node-packages.json | 1 + .../modules/ep_ldapauth/node-packages.nix | 388 + .../modules/ep_line_height/node-packages.json | 1 + .../modules/ep_line_height/node-packages.nix | 24 + .../modules/ep_markdown/node-packages.json | 1 + .../modules/ep_markdown/node-packages.nix | 26 + .../ep_previewimages/node-packages.json | 1 + .../ep_previewimages/node-packages.nix | 25 + .../modules/ep_ruler/node-packages.json | 1 + .../modules/ep_ruler/node-packages.nix | 27 + .../modules/ep_scrollto/node-packages.json | 1 + .../modules/ep_scrollto/node-packages.nix | 25 + .../ep_set_title_on_pad/node-packages.json | 1 + .../ep_set_title_on_pad/node-packages.nix | 25 + .../node-packages.json | 1 + .../node-packages.nix | 24 + .../ep_timesliderdiff/node-packages.json | 1 + .../ep_timesliderdiff/node-packages.nix | 25 + pkgs/webapps/etherpad-lite/node-packages.nix | 3288 +++++ pkgs/webapps/infcloud/default.nix | 18 + pkgs/webapps/infcloud/infcloud_config.js | 1446 ++ pkgs/webapps/mantisbt_2/bug_report.php.diff | 20 + .../mantisbt_2/bug_report_page.php.diff | 53 + pkgs/webapps/mantisbt_2/bugnote_add.php.diff | 20 + .../mantisbt_2/bugnote_add_inc.php.diff | 52 + pkgs/webapps/mantisbt_2/default.nix | 41 + .../mantisbt_2/plugins/slack/default.nix | 18 + .../source-integration/Source.API.php.diff | 12 + .../plugins/source-integration/default.nix | 21 + pkgs/webapps/mastodon/default.nix | 86 + pkgs/webapps/mastodon/gemset.nix | 2867 ++++ pkgs/webapps/mastodon/mastodon.json | 15 + pkgs/webapps/mastodon/yarn-packages.nix | 11876 ++++++++++++++++ pkgs/webapps/mediagoblin/bower-packages.nix | 8 + pkgs/webapps/mediagoblin/default.nix | 169 + pkgs/webapps/mediagoblin/ldap_fix.py | 93 + pkgs/webapps/mediagoblin/mediagoblin.json | 14 + .../plugins/basicsearch/default.nix | 18 + pkgs/webapps/mediagoblin/tempita.json | 15 + pkgs/webapps/nextcloud/apps/audioplayer.nix | 7 + pkgs/webapps/nextcloud/apps/bookmarks.nix | 7 + pkgs/webapps/nextcloud/apps/calendar.nix | 7 + pkgs/webapps/nextcloud/apps/carnet.nix | 7 + pkgs/webapps/nextcloud/apps/contacts.nix | 7 + pkgs/webapps/nextcloud/apps/deck.nix | 7 + .../webapps/nextcloud/apps/files_markdown.nix | 7 + pkgs/webapps/nextcloud/apps/flowupload.nix | 7 + pkgs/webapps/nextcloud/apps/gpxedit.nix | 15 + pkgs/webapps/nextcloud/apps/gpxpod.nix | 15 + pkgs/webapps/nextcloud/apps/keeweb.nix | 20 + pkgs/webapps/nextcloud/apps/music.nix | 7 + pkgs/webapps/nextcloud/apps/notes.nix | 7 + pkgs/webapps/nextcloud/apps/ocsms.nix | 13 + pkgs/webapps/nextcloud/apps/passman.nix | 7 + pkgs/webapps/nextcloud/apps/spreed.nix | 7 + pkgs/webapps/nextcloud/apps/tasks.nix | 7 + pkgs/webapps/nextcloud/default.nix | 63 + pkgs/webapps/peertube/default.nix | 123 + pkgs/webapps/peertube/ldap.patch | 542 + pkgs/webapps/peertube/ldap_yarn.patch | 278 + pkgs/webapps/peertube/peertube.json | 15 + pkgs/webapps/peertube/sendmail.patch | 121 + pkgs/webapps/peertube/yarn-packages.nix | 11552 +++++++++++++++ pkgs/webapps/peertube/yarn_fix_bluebird.patch | 53 + .../peertube/yarn_fix_bluebird_ldap.patch | 53 + pkgs/webapps/phpldapadmin/default.nix | 24 + .../phpldapadmin/ldap-align-button.patch | 11 + .../phpldapadmin/ldap-disable-mcrypt.patch | 36 + pkgs/webapps/phpldapadmin/ldap-php5_5.patch | 88 + pkgs/webapps/phpldapadmin/ldap-php7_2.patch | 30 + .../phpldapadmin/ldap-sort-in-templates.patch | 12 + pkgs/webapps/rompr/default.nix | 8 + pkgs/webapps/rompr/rompr.json | 15 + pkgs/webapps/roundcubemail/default.nix | 61 + .../plugins/automatic_addressbook/default.nix | 7 + .../roundcubemail/plugins/carddav/default.nix | 7 + .../plugins/contextmenu/default.nix | 7 + .../plugins/contextmenu_folder/default.nix | 7 + .../plugins/html5_notifier/default.nix | 7 + .../plugins/ident_switch/default.nix | 7 + .../plugins/message_highlight/default.nix | 7 + .../plugins/thunderbird_labels/default.nix | 7 + pkgs/webapps/spip/default.nix | 32 + pkgs/webapps/spip/spip_ldap_patch.patch | 60 + pkgs/webapps/spip/spip_mes_options.php | 18 + pkgs/webapps/taskwarrior-web/Gemfile.lock | 139 + pkgs/webapps/taskwarrior-web/default.nix | 22 + pkgs/webapps/taskwarrior-web/fixes.patch | 56 + pkgs/webapps/taskwarrior-web/gemset.nix | 567 + .../taskwarrior-web/taskwarrior-web.json | 15 + pkgs/webapps/taskwarrior-web/thin.patch | 23 + pkgs/webapps/ttrss/default.nix | 30 + .../ttrss/plugins/af_feedmod/af_feedmod.json | 15 + .../ttrss/plugins/af_feedmod/default.nix | 9 + .../plugins/af_feedmod/type_replace.patch | 12 + .../ttrss/plugins/auth_ldap/auth-ldap.json | 15 + .../ttrss/plugins/auth_ldap/default.nix | 8 + .../ttrss/plugins/feediron/default.nix | 9 + .../ttrss/plugins/feediron/feediron.json | 15 + .../plugins/feediron/json_reformat.patch | 18 + .../ttrss/plugins/ff_instagram/default.nix | 8 + .../plugins/ff_instagram/ff_instagram.json | 15 + .../ttrss/plugins/tumblr_gdpr_ua/default.nix | 8 + .../tumblr_gdpr_ua/tumblr_gdpr_ua.json | 15 + pkgs/webapps/ttrss/tt-rss.json | 14 + pkgs/webapps/wallabag/default.nix | 54 + pkgs/webapps/wallabag/ldap.patch | 698 + pkgs/webapps/yourls/default.nix | 26 + pkgs/webapps/yourls/plugins/ldap/default.nix | 8 + pkgs/webapps/yourls/plugins/ldap/ldap.json | 15 + pkgs/webapps/yourls/yourls.json | 15 + scripts/make-env | 11 + scripts/nix_infos | 10 + 352 files changed, 57405 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 default.nix create mode 100755 fetch_version create mode 100644 lib/node-env.nix create mode 100644 libs.nix create mode 100644 modules/default.nix create mode 100644 modules/myids.nix create mode 100644 modules/secrets.nix create mode 100644 modules/webapps/diaspora.nix create mode 100644 modules/webapps/etherpad-lite.nix create mode 100644 modules/webapps/mastodon.nix create mode 100644 modules/webapps/mediagoblin.nix create mode 100644 modules/webapps/peertube.nix create mode 100644 modules/webapps/webstats/default.nix create mode 100644 modules/webapps/webstats/goaccess.conf create mode 100644 modules/websites/default.nix create mode 100644 modules/websites/httpd-service-builder.nix create mode 100644 modules/websites/nosslVhost/index.html create mode 100644 nix_path_env create mode 100644 overlays/bitlbee/bitlbee_long_nicks.patch create mode 100644 overlays/bitlbee/default.nix create mode 100644 overlays/bundix/default.nix create mode 100644 overlays/databases/mysql/default.nix create mode 100644 overlays/databases/postgresql/default.nix create mode 100644 overlays/databases/postgresql/postgresql_run_socket_path.patch create mode 100644 overlays/default.nix create mode 100644 overlays/dwm/default.nix create mode 100644 overlays/dwm/dwm_config.h create mode 100644 overlays/elinks/default.nix create mode 100644 overlays/elinks/elinks.json create mode 100644 overlays/environments/default.nix create mode 100644 overlays/environments/immae-eu.nix create mode 100644 overlays/gitweb/default.nix create mode 100644 overlays/gitweb/theme/git-favicon.png create mode 100644 overlays/gitweb/theme/git-logo.png create mode 100644 overlays/gitweb/theme/gitweb.css create mode 100644 overlays/gitweb/theme/gitweb.js create mode 100644 overlays/goaccess/default.nix create mode 100644 overlays/kanboard/default.nix create mode 100644 overlays/ldapvi/default.nix create mode 100644 overlays/ldapvi/ldapvi.json create mode 100644 overlays/lesspipe/default.nix create mode 100644 overlays/neomutt/default.nix create mode 100644 overlays/nixops/default.nix create mode 100644 overlays/pass/default.nix create mode 100644 overlays/pass/pass-fix-pass-init.patch create mode 100644 overlays/pass/pass.json create mode 100644 overlays/pelican/default.nix create mode 100644 overlays/pelican/pelican.json create mode 100644 overlays/profanity/default.nix create mode 100644 overlays/python-packages/buildbot.nix create mode 100644 overlays/python-packages/default.nix create mode 100644 overlays/sc-im/default.nix create mode 100644 overlays/shaarli/default.nix create mode 100644 overlays/shaarli/shaarli_ldap.patch create mode 100644 overlays/slrn/default.nix create mode 100644 overlays/taskwarrior/default.nix create mode 100644 overlays/vit/default.nix create mode 100644 overlays/vit/vit.json create mode 100644 overlays/weboob/default.nix create mode 100644 overlays/weechat/default.nix create mode 100644 overlays/ympd/default.nix create mode 100644 overlays/ympd/ympd-password-env.patch create mode 100644 overlays/ympd/ympd.json create mode 100644 pkgs/bitlbee-mastodon/default.nix create mode 100644 pkgs/boinctui/default.nix create mode 100644 pkgs/cnagios/cnagios.json create mode 100644 pkgs/cnagios/default.nix create mode 100644 pkgs/composer-env/default.nix create mode 100644 pkgs/crypto/cardano/daedalus.json create mode 100644 pkgs/crypto/cardano/default.nix create mode 100644 pkgs/crypto/iota-cli-app/default.nix create mode 100644 pkgs/crypto/iota-cli-app/iota-cli-app.json create mode 100644 pkgs/crypto/iota-cli-app/node-packages.nix create mode 100644 pkgs/crypto/sia/default.nix create mode 100644 pkgs/default.nix create mode 100644 pkgs/duply/default.nix create mode 100644 pkgs/flrn/default.nix create mode 100644 pkgs/flrn/flrn.json create mode 100644 pkgs/genius/default.nix create mode 100644 pkgs/mpd_0_21/default.nix create mode 100644 pkgs/mtop/default.nix create mode 100644 pkgs/mutt-ics/default.nix create mode 100644 pkgs/mutt-ics/mutt-ics.json create mode 100644 pkgs/muttprint/0.73-4.diff.gz create mode 100644 pkgs/muttprint/default.nix create mode 100644 pkgs/muttprint/regex.patch create mode 100644 pkgs/muttprint/two_edge.patch create mode 100644 pkgs/nagios-cli/default.nix create mode 100644 pkgs/nagios-cli/nagios-cli.json create mode 100644 pkgs/nagnu/default.nix create mode 100644 pkgs/nagnu/nagnu.json create mode 100644 pkgs/note/default.nix create mode 100644 pkgs/notmuch/notmuch-python/default.nix create mode 100644 pkgs/notmuch/notmuch-vim/default.nix create mode 100644 pkgs/pg_activity/default.nix create mode 100644 pkgs/pg_activity/pg_activity.json create mode 100644 pkgs/pgloader/default.nix create mode 100644 pkgs/pgloader/pgloader.json create mode 100644 pkgs/pure-ftpd/default.nix create mode 100644 pkgs/python-packages/apprise/apprise.json create mode 100644 pkgs/python-packages/apprise/default.nix create mode 100644 pkgs/python-packages/buildbot/plugins/buildslist/bower.nix create mode 100644 pkgs/python-packages/buildbot/plugins/buildslist/buildslist.json create mode 100644 pkgs/python-packages/buildbot/plugins/buildslist/default.nix create mode 100644 pkgs/python-packages/buildbot/plugins/buildslist/yarn-packages.nix create mode 100644 pkgs/python-packages/buildbot/plugins/default.nix create mode 100644 pkgs/python-packages/default.nix create mode 100644 pkgs/python-packages/wokkel.nix create mode 100644 pkgs/slang_1/default.nix create mode 100644 pkgs/telegram-cli/default.nix create mode 100644 pkgs/telegram-cli/telegram-cli.json create mode 100644 pkgs/telegram-cli/telegram-cli.patch create mode 100644 pkgs/telegram-history-dump/default.nix create mode 100644 pkgs/telegram-history-dump/telegram-history-dump.json create mode 100644 pkgs/telegramircd/default.nix create mode 100644 pkgs/telegramircd/telegramircd.json create mode 100644 pkgs/telethon_sync/default.nix create mode 100644 pkgs/terminal-velocity/default.nix create mode 100644 pkgs/terminal-velocity/fix_build.patch create mode 100644 pkgs/terminal-velocity/python3_support.patch create mode 100644 pkgs/terminal-velocity/sort_found_notes.patch create mode 100644 pkgs/tiv/default.nix create mode 100644 pkgs/tiv/tiv_builder.sh create mode 100644 pkgs/unicode/default.nix create mode 100644 pkgs/webapps/adminer/default.nix create mode 100644 pkgs/webapps/apache-theme/default.nix create mode 100644 pkgs/webapps/apache-theme/theme/.htaccess create mode 100644 pkgs/webapps/apache-theme/theme/footer.html create mode 100644 pkgs/webapps/apache-theme/theme/header.html create mode 100644 pkgs/webapps/apache-theme/theme/icons/archive.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/audio.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/authors.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/bin.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/blank.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/bmp.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/c.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/calc.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/cd.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/copying.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/cpp.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/css.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/deb.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/default.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/diff.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/doc.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/draw.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/eps.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/exe.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/folder-home.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/folder-open.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/folder-page.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/folder-parent-old.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/folder-parent.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/folder.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/gif.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/gzip.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/h.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/hpp.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/html.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/ico.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/image.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/install.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/java.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/jpg.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/js.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/json.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/log.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/makefile.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/markdown.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/package.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/pdf.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/php.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/playlist.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/png.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/pres.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/ps.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/psd.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/py.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/rar.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/rb.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/readme.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/rpm.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/rss.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/rtf.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/script.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/source.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/sql.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/tar.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/tex.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/text.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/tiff.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/unknown.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/vcal.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/video.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/xml.png create mode 100644 pkgs/webapps/apache-theme/theme/icons/zip.png create mode 100644 pkgs/webapps/apache-theme/theme/style.css create mode 100644 pkgs/webapps/awl/default.nix create mode 100644 pkgs/webapps/davical/davical_19eb79ebf9250e5f339675319902458c40ed1755.patch create mode 100644 pkgs/webapps/davical/default.nix create mode 100644 pkgs/webapps/default.nix create mode 100644 pkgs/webapps/diaspora/default.nix create mode 100644 pkgs/webapps/diaspora/diaspora.json create mode 100644 pkgs/webapps/diaspora/gemset.nix create mode 100644 pkgs/webapps/diaspora/gemset_ldap.nix create mode 100644 pkgs/webapps/diaspora/ldap.patch create mode 100644 pkgs/webapps/dokuwiki/default.nix create mode 100644 pkgs/webapps/dokuwiki/dokuwiki.json create mode 100644 pkgs/webapps/dokuwiki/plugins/farmer.nix create mode 100644 pkgs/webapps/dokuwiki/plugins/todo.nix create mode 100644 pkgs/webapps/etherpad-lite/default.nix create mode 100644 pkgs/webapps/etherpad-lite/etherpad-lite.json create mode 100644 pkgs/webapps/etherpad-lite/libreoffice_patch.diff create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_aa_file_menu_toolbar/node-packages.json create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_aa_file_menu_toolbar/node-packages.nix create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_adminpads/node-packages.json create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_adminpads/node-packages.nix create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_align/node-packages.json create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_align/node-packages.nix create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_bookmark/node-packages.json create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_bookmark/node-packages.nix create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_clear_formatting/node-packages.json create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_clear_formatting/node-packages.nix create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_colors/node-packages.json create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_colors/node-packages.nix create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_copy_paste_select_all/node-packages.json create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_copy_paste_select_all/node-packages.nix create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_cursortrace/node-packages.json create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_cursortrace/node-packages.nix create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_embedmedia/node-packages.json create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_embedmedia/node-packages.nix create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_font_family/node-packages.json create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_font_family/node-packages.nix create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_font_size/node-packages.json create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_font_size/node-packages.nix create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_headings2/node-packages.json create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_headings2/node-packages.nix create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_ldapauth/node-packages.json create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_ldapauth/node-packages.nix create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_line_height/node-packages.json create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_line_height/node-packages.nix create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_markdown/node-packages.json create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_markdown/node-packages.nix create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_previewimages/node-packages.json create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_previewimages/node-packages.nix create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_ruler/node-packages.json create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_ruler/node-packages.nix create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_scrollto/node-packages.json create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_scrollto/node-packages.nix create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_set_title_on_pad/node-packages.json create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_set_title_on_pad/node-packages.nix create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_subscript_and_superscript/node-packages.json create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_subscript_and_superscript/node-packages.nix create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_timesliderdiff/node-packages.json create mode 100644 pkgs/webapps/etherpad-lite/modules/ep_timesliderdiff/node-packages.nix create mode 100644 pkgs/webapps/etherpad-lite/node-packages.nix create mode 100644 pkgs/webapps/infcloud/default.nix create mode 100644 pkgs/webapps/infcloud/infcloud_config.js create mode 100644 pkgs/webapps/mantisbt_2/bug_report.php.diff create mode 100644 pkgs/webapps/mantisbt_2/bug_report_page.php.diff create mode 100644 pkgs/webapps/mantisbt_2/bugnote_add.php.diff create mode 100644 pkgs/webapps/mantisbt_2/bugnote_add_inc.php.diff create mode 100644 pkgs/webapps/mantisbt_2/default.nix create mode 100644 pkgs/webapps/mantisbt_2/plugins/slack/default.nix create mode 100644 pkgs/webapps/mantisbt_2/plugins/source-integration/Source.API.php.diff create mode 100644 pkgs/webapps/mantisbt_2/plugins/source-integration/default.nix create mode 100644 pkgs/webapps/mastodon/default.nix create mode 100644 pkgs/webapps/mastodon/gemset.nix create mode 100644 pkgs/webapps/mastodon/mastodon.json create mode 100644 pkgs/webapps/mastodon/yarn-packages.nix create mode 100644 pkgs/webapps/mediagoblin/bower-packages.nix create mode 100644 pkgs/webapps/mediagoblin/default.nix create mode 100644 pkgs/webapps/mediagoblin/ldap_fix.py create mode 100644 pkgs/webapps/mediagoblin/mediagoblin.json create mode 100644 pkgs/webapps/mediagoblin/plugins/basicsearch/default.nix create mode 100644 pkgs/webapps/mediagoblin/tempita.json create mode 100644 pkgs/webapps/nextcloud/apps/audioplayer.nix create mode 100644 pkgs/webapps/nextcloud/apps/bookmarks.nix create mode 100644 pkgs/webapps/nextcloud/apps/calendar.nix create mode 100644 pkgs/webapps/nextcloud/apps/carnet.nix create mode 100644 pkgs/webapps/nextcloud/apps/contacts.nix create mode 100644 pkgs/webapps/nextcloud/apps/deck.nix create mode 100644 pkgs/webapps/nextcloud/apps/files_markdown.nix create mode 100644 pkgs/webapps/nextcloud/apps/flowupload.nix create mode 100644 pkgs/webapps/nextcloud/apps/gpxedit.nix create mode 100644 pkgs/webapps/nextcloud/apps/gpxpod.nix create mode 100644 pkgs/webapps/nextcloud/apps/keeweb.nix create mode 100644 pkgs/webapps/nextcloud/apps/music.nix create mode 100644 pkgs/webapps/nextcloud/apps/notes.nix create mode 100644 pkgs/webapps/nextcloud/apps/ocsms.nix create mode 100644 pkgs/webapps/nextcloud/apps/passman.nix create mode 100644 pkgs/webapps/nextcloud/apps/spreed.nix create mode 100644 pkgs/webapps/nextcloud/apps/tasks.nix create mode 100644 pkgs/webapps/nextcloud/default.nix create mode 100644 pkgs/webapps/peertube/default.nix create mode 100644 pkgs/webapps/peertube/ldap.patch create mode 100644 pkgs/webapps/peertube/ldap_yarn.patch create mode 100644 pkgs/webapps/peertube/peertube.json create mode 100644 pkgs/webapps/peertube/sendmail.patch create mode 100644 pkgs/webapps/peertube/yarn-packages.nix create mode 100644 pkgs/webapps/peertube/yarn_fix_bluebird.patch create mode 100644 pkgs/webapps/peertube/yarn_fix_bluebird_ldap.patch create mode 100644 pkgs/webapps/phpldapadmin/default.nix create mode 100644 pkgs/webapps/phpldapadmin/ldap-align-button.patch create mode 100644 pkgs/webapps/phpldapadmin/ldap-disable-mcrypt.patch create mode 100644 pkgs/webapps/phpldapadmin/ldap-php5_5.patch create mode 100644 pkgs/webapps/phpldapadmin/ldap-php7_2.patch create mode 100644 pkgs/webapps/phpldapadmin/ldap-sort-in-templates.patch create mode 100644 pkgs/webapps/rompr/default.nix create mode 100644 pkgs/webapps/rompr/rompr.json create mode 100644 pkgs/webapps/roundcubemail/default.nix create mode 100644 pkgs/webapps/roundcubemail/plugins/automatic_addressbook/default.nix create mode 100644 pkgs/webapps/roundcubemail/plugins/carddav/default.nix create mode 100644 pkgs/webapps/roundcubemail/plugins/contextmenu/default.nix create mode 100644 pkgs/webapps/roundcubemail/plugins/contextmenu_folder/default.nix create mode 100644 pkgs/webapps/roundcubemail/plugins/html5_notifier/default.nix create mode 100644 pkgs/webapps/roundcubemail/plugins/ident_switch/default.nix create mode 100644 pkgs/webapps/roundcubemail/plugins/message_highlight/default.nix create mode 100644 pkgs/webapps/roundcubemail/plugins/thunderbird_labels/default.nix create mode 100644 pkgs/webapps/spip/default.nix create mode 100644 pkgs/webapps/spip/spip_ldap_patch.patch create mode 100644 pkgs/webapps/spip/spip_mes_options.php create mode 100644 pkgs/webapps/taskwarrior-web/Gemfile.lock create mode 100644 pkgs/webapps/taskwarrior-web/default.nix create mode 100644 pkgs/webapps/taskwarrior-web/fixes.patch create mode 100644 pkgs/webapps/taskwarrior-web/gemset.nix create mode 100644 pkgs/webapps/taskwarrior-web/taskwarrior-web.json create mode 100644 pkgs/webapps/taskwarrior-web/thin.patch create mode 100644 pkgs/webapps/ttrss/default.nix create mode 100644 pkgs/webapps/ttrss/plugins/af_feedmod/af_feedmod.json create mode 100644 pkgs/webapps/ttrss/plugins/af_feedmod/default.nix create mode 100644 pkgs/webapps/ttrss/plugins/af_feedmod/type_replace.patch create mode 100644 pkgs/webapps/ttrss/plugins/auth_ldap/auth-ldap.json create mode 100644 pkgs/webapps/ttrss/plugins/auth_ldap/default.nix create mode 100644 pkgs/webapps/ttrss/plugins/feediron/default.nix create mode 100644 pkgs/webapps/ttrss/plugins/feediron/feediron.json create mode 100644 pkgs/webapps/ttrss/plugins/feediron/json_reformat.patch create mode 100644 pkgs/webapps/ttrss/plugins/ff_instagram/default.nix create mode 100644 pkgs/webapps/ttrss/plugins/ff_instagram/ff_instagram.json create mode 100644 pkgs/webapps/ttrss/plugins/tumblr_gdpr_ua/default.nix create mode 100644 pkgs/webapps/ttrss/plugins/tumblr_gdpr_ua/tumblr_gdpr_ua.json create mode 100644 pkgs/webapps/ttrss/tt-rss.json create mode 100644 pkgs/webapps/wallabag/default.nix create mode 100644 pkgs/webapps/wallabag/ldap.patch create mode 100644 pkgs/webapps/yourls/default.nix create mode 100644 pkgs/webapps/yourls/plugins/ldap/default.nix create mode 100644 pkgs/webapps/yourls/plugins/ldap/ldap.json create mode 100644 pkgs/webapps/yourls/yourls.json create mode 100755 scripts/make-env create mode 100755 scripts/nix_infos diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..feb036e5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/result* +/versions_log diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..243190cd --- /dev/null +++ b/LICENSE @@ -0,0 +1,24 @@ +The MIT License (MIT) + +Copyright (c) 2011-2019 Ismaël Bouya http://www.normalesup.org/~bouya/ + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +Feel like tipping/donating? https://www.immae.eu/licenses_and_tipping diff --git a/default.nix b/default.nix new file mode 100644 index 00000000..c7f515bf --- /dev/null +++ b/default.nix @@ -0,0 +1,11 @@ +{ pkgs ? import {} }: +let + pkgs_ = pkgs; + mypkgs = import ./pkgs { pkgs = pkgs_; }; +in +{ + lib = import ./libs.nix { pkgs = pkgs_; }; + modules = import ./modules; + overlays = import ./overlays; + pkgs = mypkgs; +} // mypkgs diff --git a/fetch_version b/fetch_version new file mode 100755 index 00000000..a0325f63 --- /dev/null +++ b/fetch_version @@ -0,0 +1,173 @@ +#!/bin/bash + +usage() { + echo "$0 file.json" + echo "$0 [-n|--name name] [-b|--branch branch_or_rev] [-f|--file out_file] [-h|--help] (-u|--url) url" + exit +} + +branch="master" +while [[ $# -gt 0 ]]; do + a="$1" + shift + case "$a" in + *.json) + file=$a + content=$(cat $a) + name="$(echo "$content" | jq -r ".meta.name")" + url="$(echo "$content" | jq -r ".meta.url")" + branch="$(echo "$content" | jq -r ".meta.branch")" + ;; + -n|--name) + name=$1 + shift + ;; + -u|--url) + url=$1 + shift + ;; + -b|--branch) + branch=$1 + shift + ;; + -f|--file) + file=$1 + shift + ;; + -h|--help) + usage + ;; + esac +done +if [ -z "$url" ]; then + usage +fi +if [ -z "$name" ]; then + name=$(echo "$url" | cut -d"/" -f5) +fi +if [ -z "$file" ]; then + file=$name.json +fi + +# function fetch_ledger () { +# pushd $HOME/projets/ledger >/dev/null 2>/dev/null +# git fetch origin +# tag="$(git describe origin/next | sed -e "s/^v//")" +# rev="$(git show-ref -s refs/remotes/origin/next)" +# sha="$(nix-prefetch-url --unpack file://<(git archive --format=tar.gz HEAD) 2>/dev/null)" +# popd >/dev/null 2>/dev/null +# } + +# awk_describe='BEGIN { +# FS = "[ /^]+" +# while ("git ls-remote " ARGV[1] "| sort -Vk2" | getline) { +# if (!sha) +# sha = substr($0, 1, 7) +# tag = $3 +# } +# while ("curl -s " ARGV[1] "/releases/tag/" tag | getline) +# if ($3 ~ "commits") +# com = $2 +# printf com ? "%s-%s-g%s\n" : "%s\n", tag, com, sha +# }' + +function get_ref () { + case "$1" in + refs/*) + echo "$1" + ;; + *) + echo "refs/heads/$1" + ;; + esac +} + +function get_name () { + branch="$1" + rev="$2" + minirev=${rev:0:7} + + case "$branch" in + refs/tags/*) + b="${branch#refs/tags/}" + echo "${b//\//-}" + ;; + refs/heads/*) + b=${branch#refs/heads/} + echo "$minirev-${b//\//-}" + ;; + refs/*) + b=${branch#refs/} + echo "$minirev-${b//\//-}" + ;; + *) + echo "$minirev-${branch//\//-}" + ;; + esac +} + +function fetch_github () { + rev="$(git ls-remote --refs $url $(get_ref $branch) | head -n1 | cut -f1)" + sha="$(nix-prefetch-url --unpack $url/archive/$rev.tar.gz)" + # Différent du git-describe et github-spécifique + #tag=$(echo "$awk_describe" | awk -f - $url | sed -e "s/^v//") + tag=$(get_name $branch $rev) +} + +function fetch_other () { + rev="$(git ls-remote --refs $url $(get_ref $branch) | head -n1 | cut -f1)" + sha="$(nix-prefetch-git --url $url --rev $(get_ref $branch) | jq -r '.sha256')" + tag=$(get_name $branch $rev) +} + +case "$url" in + https://*github.com/*) + fetch_github 2>/dev/null + owner=$(echo "$url" | cut -d"/" -f4) + repo=$(echo "$url" | cut -d"/" -f5) + + F='{ + "tag": $tag, + "meta": { + "name": $name, + "url": $url, + "branch": $branch + }, + "github": { + "owner": $owner, + "repo": $repo, + "rev": $rev, + "sha256": $sha, + "fetchSubmodules": true + } + }' + ;; + *) + fetch_other 2>/dev/null + F='{ + "tag": $tag, + "meta": { + "name": $name, + "url": $url, + "branch": $branch + }, + "git": { + "url": $url, + "rev": $rev, + "sha256": $sha, + "fetchSubmodules": true + } + }' + ;; +esac + +jq -n \ + --arg name "$name" \ + --arg owner "$owner" \ + --arg repo "$repo" \ + --arg tag "$tag" \ + --arg rev "$rev" \ + --arg url "$url" \ + --arg branch "$branch" \ + --arg sha "$sha" \ + "$F" > $file diff --git a/lib/node-env.nix b/lib/node-env.nix new file mode 100644 index 00000000..720e0cc0 --- /dev/null +++ b/lib/node-env.nix @@ -0,0 +1,542 @@ +# This file originates from node2nix + +{stdenv, nodejs, python2, utillinux, libtool, runCommand, writeTextFile}: + +let + python = if nodejs ? python then nodejs.python else python2; + + # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise + tarWrapper = runCommand "tarWrapper" {} '' + mkdir -p $out/bin + + cat > $out/bin/tar <> $out/nix-support/hydra-build-products + ''; + }; + + includeDependencies = {dependencies}: + stdenv.lib.optionalString (dependencies != []) + (stdenv.lib.concatMapStrings (dependency: + '' + # Bundle the dependencies of the package + mkdir -p node_modules + cd node_modules + + # Only include dependencies if they don't exist. They may also be bundled in the package. + if [ ! -e "${dependency.name}" ] + then + ${composePackage dependency} + fi + + cd .. + '' + ) dependencies); + + # Recursively composes the dependencies of a package + composePackage = { name, packageName, src, dependencies ? [], ... }@args: + '' + DIR=$(pwd) + cd $TMPDIR + + unpackFile ${src} + + # Make the base dir in which the target dependency resides first + mkdir -p "$(dirname "$DIR/${packageName}")" + + if [ -f "${src}" ] + then + # Figure out what directory has been unpacked + packageDir="$(find . -maxdepth 1 -type d | tail -1)" + + # Restore write permissions to make building work + find "$packageDir" -type d -print0 | xargs -0 chmod u+x + chmod -R u+w "$packageDir" + + # Move the extracted tarball into the output folder + mv "$packageDir" "$DIR/${packageName}" + elif [ -d "${src}" ] + then + # Get a stripped name (without hash) of the source directory. + # On old nixpkgs it's already set internally. + if [ -z "$strippedName" ] + then + strippedName="$(stripHash ${src})" + fi + + # Restore write permissions to make building work + chmod -R u+w "$strippedName" + + # Move the extracted directory into the output folder + mv "$strippedName" "$DIR/${packageName}" + fi + + # Unset the stripped name to not confuse the next unpack step + unset strippedName + + # Include the dependencies of the package + cd "$DIR/${packageName}" + ${includeDependencies { inherit dependencies; }} + cd .. + ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} + ''; + + pinpointDependencies = {dependencies, production}: + let + pinpointDependenciesFromPackageJSON = writeTextFile { + name = "pinpointDependencies.js"; + text = '' + var fs = require('fs'); + var path = require('path'); + + function resolveDependencyVersion(location, name) { + if(location == process.env['NIX_STORE']) { + return null; + } else { + var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json"); + + if(fs.existsSync(dependencyPackageJSON)) { + var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON)); + + if(dependencyPackageObj.name == name) { + return dependencyPackageObj.version; + } + } else { + return resolveDependencyVersion(path.resolve(location, ".."), name); + } + } + } + + function replaceDependencies(dependencies) { + if(typeof dependencies == "object" && dependencies !== null) { + for(var dependency in dependencies) { + var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency); + + if(resolvedVersion === null) { + process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n"); + } else { + dependencies[dependency] = resolvedVersion; + } + } + } + } + + /* Read the package.json configuration */ + var packageObj = JSON.parse(fs.readFileSync('./package.json')); + + /* Pinpoint all dependencies */ + replaceDependencies(packageObj.dependencies); + if(process.argv[2] == "development") { + replaceDependencies(packageObj.devDependencies); + } + replaceDependencies(packageObj.optionalDependencies); + + /* Write the fixed package.json file */ + fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2)); + ''; + }; + in + '' + node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"} + + ${stdenv.lib.optionalString (dependencies != []) + '' + if [ -d node_modules ] + then + cd node_modules + ${stdenv.lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies} + cd .. + fi + ''} + ''; + + # Recursively traverses all dependencies of a package and pinpoints all + # dependencies in the package.json file to the versions that are actually + # being used. + + pinpointDependenciesOfPackage = { packageName, dependencies ? [], production ? true, ... }@args: + '' + if [ -d "${packageName}" ] + then + cd "${packageName}" + ${pinpointDependencies { inherit dependencies production; }} + cd .. + ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} + fi + ''; + + # Extract the Node.js source code which is used to compile packages with + # native bindings + nodeSources = runCommand "node-sources" {} '' + tar --no-same-owner --no-same-permissions -xf ${nodejs.src} + mv node-* $out + ''; + + # Script that adds _integrity fields to all package.json files to prevent NPM from consulting the cache (that is empty) + addIntegrityFieldsScript = writeTextFile { + name = "addintegrityfields.js"; + text = '' + var fs = require('fs'); + var path = require('path'); + + function augmentDependencies(baseDir, dependencies) { + for(var dependencyName in dependencies) { + var dependency = dependencies[dependencyName]; + + // Open package.json and augment metadata fields + var packageJSONDir = path.join(baseDir, "node_modules", dependencyName); + var packageJSONPath = path.join(packageJSONDir, "package.json"); + + if(fs.existsSync(packageJSONPath)) { // Only augment packages that exist. Sometimes we may have production installs in which development dependencies can be ignored + console.log("Adding metadata fields to: "+packageJSONPath); + var packageObj = JSON.parse(fs.readFileSync(packageJSONPath)); + + if(dependency.integrity) { + packageObj["_integrity"] = dependency.integrity; + } else { + packageObj["_integrity"] = "sha1-000000000000000000000000000="; // When no _integrity string has been provided (e.g. by Git dependencies), add a dummy one. It does not seem to harm and it bypasses downloads. + } + + packageObj["_resolved"] = dependency.version; // Set the resolved version to the version identifier. This prevents NPM from cloning Git repositories. + fs.writeFileSync(packageJSONPath, JSON.stringify(packageObj, null, 2)); + } + + // Augment transitive dependencies + if(dependency.dependencies !== undefined) { + augmentDependencies(packageJSONDir, dependency.dependencies); + } + } + } + + if(fs.existsSync("./package-lock.json")) { + var packageLock = JSON.parse(fs.readFileSync("./package-lock.json")); + + if(packageLock.lockfileVersion !== 1) { + process.stderr.write("Sorry, I only understand lock file version 1!\n"); + process.exit(1); + } + + if(packageLock.dependencies !== undefined) { + augmentDependencies(".", packageLock.dependencies); + } + } + ''; + }; + + # Reconstructs a package-lock file from the node_modules/ folder structure and package.json files with dummy sha1 hashes + reconstructPackageLock = writeTextFile { + name = "addintegrityfields.js"; + text = '' + var fs = require('fs'); + var path = require('path'); + + var packageObj = JSON.parse(fs.readFileSync("package.json")); + + var lockObj = { + name: packageObj.name, + version: packageObj.version, + lockfileVersion: 1, + requires: true, + dependencies: {} + }; + + function augmentPackageJSON(filePath, dependencies) { + var packageJSON = path.join(filePath, "package.json"); + if(fs.existsSync(packageJSON)) { + var packageObj = JSON.parse(fs.readFileSync(packageJSON)); + dependencies[packageObj.name] = { + version: packageObj.version, + integrity: "sha1-000000000000000000000000000=", + dependencies: {} + }; + processDependencies(path.join(filePath, "node_modules"), dependencies[packageObj.name].dependencies); + } + } + + function processDependencies(dir, dependencies) { + if(fs.existsSync(dir)) { + var files = fs.readdirSync(dir); + + files.forEach(function(entry) { + var filePath = path.join(dir, entry); + var stats = fs.statSync(filePath); + + if(stats.isDirectory()) { + if(entry.substr(0, 1) == "@") { + // When we encounter a namespace folder, augment all packages belonging to the scope + var pkgFiles = fs.readdirSync(filePath); + + pkgFiles.forEach(function(entry) { + if(stats.isDirectory()) { + var pkgFilePath = path.join(filePath, entry); + augmentPackageJSON(pkgFilePath, dependencies); + } + }); + } else { + augmentPackageJSON(filePath, dependencies); + } + } + }); + } + } + + processDependencies("node_modules", lockObj.dependencies); + + fs.writeFileSync("package-lock.json", JSON.stringify(lockObj, null, 2)); + ''; + }; + + # Builds and composes an NPM package including all its dependencies + buildNodePackage = + { name + , packageName + , version + , dependencies ? [] + , buildInputs ? [] + , production ? true + , npmFlags ? "" + , dontNpmInstall ? false + , bypassCache ? false + , preRebuild ? "" + , dontStrip ? true + , unpackPhase ? "true" + , buildPhase ? "true" + , ... }@args: + + let + forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com"; + extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" ]; + in + stdenv.mkDerivation ({ + name = "node-${name}-${version}"; + buildInputs = [ tarWrapper python nodejs ] + ++ stdenv.lib.optional (stdenv.isLinux) utillinux + ++ stdenv.lib.optional (stdenv.isDarwin) libtool + ++ buildInputs; + + inherit dontStrip; # Stripping may fail a build for some package deployments + inherit dontNpmInstall preRebuild unpackPhase buildPhase; + + compositionScript = composePackage args; + pinpointDependenciesScript = pinpointDependenciesOfPackage args; + + passAsFile = [ "compositionScript" "pinpointDependenciesScript" ]; + + installPhase = '' + # Create and enter a root node_modules/ folder + mkdir -p $out/lib/node_modules + cd $out/lib/node_modules + + # Compose the package and all its dependencies + source $compositionScriptPath + + # Pinpoint the versions of all dependencies to the ones that are actually being used + echo "pinpointing versions of dependencies..." + source $pinpointDependenciesScriptPath + + # Patch the shebangs of the bundled modules to prevent them from + # calling executables outside the Nix store as much as possible + patchShebangs . + + # Deploy the Node.js package by running npm install. Since the + # dependencies have been provided already by ourselves, it should not + # attempt to install them again, which is good, because we want to make + # it Nix's responsibility. If it needs to install any dependencies + # anyway (e.g. because the dependency parameters are + # incomplete/incorrect), it fails. + # + # The other responsibilities of NPM are kept -- version checks, build + # steps, postprocessing etc. + + export HOME=$TMPDIR + cd "${packageName}" + runHook preRebuild + + ${stdenv.lib.optionalString bypassCache '' + if [ ! -f package-lock.json ] + then + echo "No package-lock.json file found, reconstructing..." + node ${reconstructPackageLock} + fi + + node ${addIntegrityFieldsScript} + ''} + + npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild + + if [ "$dontNpmInstall" != "1" ] + then + # NPM tries to download packages even when they already exist if npm-shrinkwrap is used. + rm -f npm-shrinkwrap.json + + npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} install + fi + + # Create symlink to the deployed executable folder, if applicable + if [ -d "$out/lib/node_modules/.bin" ] + then + ln -s $out/lib/node_modules/.bin $out/bin + fi + + # Create symlinks to the deployed manual page folders, if applicable + if [ -d "$out/lib/node_modules/${packageName}/man" ] + then + mkdir -p $out/share + for dir in "$out/lib/node_modules/${packageName}/man/"* + do + mkdir -p $out/share/man/$(basename "$dir") + for page in "$dir"/* + do + ln -s $page $out/share/man/$(basename "$dir") + done + done + fi + + # Run post install hook, if provided + runHook postInstall + ''; + } // extraArgs); + + # Builds a development shell + buildNodeShell = + { name + , packageName + , version + , src + , dependencies ? [] + , buildInputs ? [] + , production ? true + , npmFlags ? "" + , dontNpmInstall ? false + , bypassCache ? false + , dontStrip ? true + , unpackPhase ? "true" + , buildPhase ? "true" + , ... }@args: + + let + forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com"; + + extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ]; + + nodeDependencies = stdenv.mkDerivation ({ + name = "node-dependencies-${name}-${version}"; + + buildInputs = [ tarWrapper python nodejs ] + ++ stdenv.lib.optional (stdenv.isLinux) utillinux + ++ stdenv.lib.optional (stdenv.isDarwin) libtool + ++ buildInputs; + + inherit dontStrip; # Stripping may fail a build for some package deployments + inherit dontNpmInstall unpackPhase buildPhase; + + includeScript = includeDependencies { inherit dependencies; }; + pinpointDependenciesScript = pinpointDependenciesOfPackage args; + + passAsFile = [ "includeScript" "pinpointDependenciesScript" ]; + + installPhase = '' + mkdir -p $out/${packageName} + cd $out/${packageName} + + source $includeScriptPath + + # Create fake package.json to make the npm commands work properly + cp ${src}/package.json . + chmod 644 package.json + ${stdenv.lib.optionalString bypassCache '' + if [ -f ${src}/package-lock.json ] + then + cp ${src}/package-lock.json . + fi + ''} + + # Pinpoint the versions of all dependencies to the ones that are actually being used + echo "pinpointing versions of dependencies..." + cd .. + ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} + + source $pinpointDependenciesScriptPath + cd ${packageName} + + # Patch the shebangs of the bundled modules to prevent them from + # calling executables outside the Nix store as much as possible + patchShebangs . + + export HOME=$PWD + + ${stdenv.lib.optionalString bypassCache '' + if [ ! -f package-lock.json ] + then + echo "No package-lock.json file found, reconstructing..." + node ${reconstructPackageLock} + fi + + node ${addIntegrityFieldsScript} + ''} + + npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild + + ${stdenv.lib.optionalString (!dontNpmInstall) '' + # NPM tries to download packages even when they already exist if npm-shrinkwrap is used. + rm -f npm-shrinkwrap.json + + npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} install + ''} + + cd .. + ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} + + mv ${packageName} lib + ln -s $out/lib/node_modules/.bin $out/bin + ''; + } // extraArgs); + in + stdenv.mkDerivation { + name = "node-shell-${name}-${version}"; + + buildInputs = [ python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ buildInputs; + buildCommand = '' + mkdir -p $out/bin + cat > $out/bin/shell < secrets/${v.dest} + cat >> mods < 0) { + system.activationScripts.secrets = { + deps = [ "users" "wrappers" ]; + text = '' + install -m0750 -o root -g keys -d ${location} + if [ -f /run/keys/secrets.tar ]; then + if [ ! -f ${location}/currentSecrets ] || ! sha512sum -c --status "${location}/currentSecrets"; then + echo "rebuilding secrets" + rm -rf ${location} + install -m0750 -o root -g keys -d ${location} + ${pkgs.gnutar}/bin/tar --strip-components 1 -C ${location} -xf /run/keys/secrets.tar + sha512sum /run/keys/secrets.tar > ${location}/currentSecrets + find ${location} -type d -exec chown root:keys {} \; -exec chmod o-rx {} \; + fi + fi + ''; + }; + deployment.keys."secrets.tar" = { + permissions = "0400"; + # keyFile below is not evaluated at build time by nixops, so the + # `secrets` path doesn’t necessarily exist when uploading the + # keys, and nixops is unhappy. + user = "root${builtins.substring 10000 1 secrets}"; + group = "root"; + keyFile = "${secrets}"; + }; + }; +} diff --git a/modules/webapps/diaspora.nix b/modules/webapps/diaspora.nix new file mode 100644 index 00000000..65599b73 --- /dev/null +++ b/modules/webapps/diaspora.nix @@ -0,0 +1,171 @@ +{ lib, pkgs, config, ... }: +let + name = "diaspora"; + cfg = config.services.diaspora; + + uid = config.ids.uids.diaspora; + gid = config.ids.gids.diaspora; +in +{ + options.services.diaspora = { + enable = lib.mkEnableOption "Enable Diaspora’s service"; + user = lib.mkOption { + type = lib.types.str; + default = name; + description = "User account under which Diaspora runs"; + }; + group = lib.mkOption { + type = lib.types.str; + default = name; + description = "Group under which Diaspora runs"; + }; + adminEmail = lib.mkOption { + type = lib.types.str; + example = "admin@example.com"; + description = "Admin e-mail for Diaspora"; + }; + dataDir = lib.mkOption { + type = lib.types.path; + default = "/var/lib/${name}"; + description = '' + The directory where Diaspora stores its data. + ''; + }; + socketsDir = lib.mkOption { + type = lib.types.path; + default = "/run/${name}"; + description = '' + The directory where Diaspora puts runtime files and sockets. + ''; + }; + configDir = lib.mkOption { + type = lib.types.path; + description = '' + The configuration path for Diaspora. + ''; + }; + package = lib.mkOption { + type = lib.types.package; + default = pkgs.webapps.diaspora; + description = '' + Diaspora package to use. + ''; + }; + # Output variables + systemdStateDirectory = lib.mkOption { + type = lib.types.str; + # Use ReadWritePaths= instead if varDir is outside of /var/lib + default = assert lib.strings.hasPrefix "/var/lib/" cfg.dataDir; + lib.strings.removePrefix "/var/lib/" cfg.dataDir; + description = '' + Adjusted Diaspora data directory for systemd + ''; + readOnly = true; + }; + systemdRuntimeDirectory = lib.mkOption { + type = lib.types.str; + # Use ReadWritePaths= instead if socketsDir is outside of /run + default = assert lib.strings.hasPrefix "/run/" cfg.socketsDir; + lib.strings.removePrefix "/run/" cfg.socketsDir; + description = '' + Adjusted Diaspora sockets directory for systemd + ''; + readOnly = true; + }; + workdir = lib.mkOption { + type = lib.types.package; + default = cfg.package.override { + varDir = cfg.dataDir; + podmin_email = cfg.adminEmail; + config_dir = cfg.configDir; + }; + description = '' + Adjusted diaspora package with overriden values + ''; + readOnly = true; + }; + sockets = lib.mkOption { + type = lib.types.attrsOf lib.types.path; + default = { + rails = "${cfg.socketsDir}/diaspora.sock"; + eye = "${cfg.socketsDir}/eye.sock"; + }; + readOnly = true; + description = '' + Diaspora sockets + ''; + }; + pids = lib.mkOption { + type = lib.types.attrsOf lib.types.path; + default = { + eye = "${cfg.socketsDir}/eye.pid"; + }; + readOnly = true; + description = '' + Diaspora pids + ''; + }; + }; + + config = lib.mkIf cfg.enable { + users.users = lib.optionalAttrs (cfg.user == name) (lib.singleton { + inherit name; + inherit uid; + group = cfg.group; + description = "Diaspora user"; + home = cfg.dataDir; + packages = [ cfg.workdir.gems pkgs.nodejs cfg.workdir.gems.ruby ]; + useDefaultShell = true; + }); + users.groups = lib.optionalAttrs (cfg.group == name) (lib.singleton { + inherit name; + inherit gid; + }); + + systemd.services.diaspora = { + description = "Diaspora"; + wantedBy = [ "multi-user.target" ]; + after = [ + "network.target" "redis.service" "postgresql.service" + ]; + wants = [ + "redis.service" "postgresql.service" + ]; + + environment.RAILS_ENV = "production"; + environment.BUNDLE_PATH = "${cfg.workdir.gems}/${cfg.workdir.gems.ruby.gemPath}"; + environment.BUNDLE_GEMFILE = "${cfg.workdir.gems.confFiles}/Gemfile"; + environment.EYE_SOCK = cfg.sockets.eye; + environment.EYE_PID = cfg.pids.eye; + + path = [ cfg.workdir.gems pkgs.nodejs cfg.workdir.gems.ruby pkgs.curl pkgs.which pkgs.gawk ]; + + preStart = '' + install -m 0755 -d ${cfg.dataDir}/uploads ${cfg.dataDir}/tmp ${cfg.dataDir}/log + install -m 0700 -d ${cfg.dataDir}/tmp/pids + if [ ! -f ${cfg.dataDir}/schedule.yml ]; then + echo "{}" > ${cfg.dataDir}/schedule.yml + fi + ./bin/bundle exec rails db:migrate + ''; + + script = '' + exec ${cfg.workdir}/script/server + ''; + + serviceConfig = { + User = cfg.user; + PrivateTmp = true; + Restart = "always"; + Type = "simple"; + WorkingDirectory = cfg.workdir; + StateDirectory = cfg.systemdStateDirectory; + RuntimeDirectory = cfg.systemdRuntimeDirectory; + StandardInput = "null"; + KillMode = "control-group"; + }; + + unitConfig.RequiresMountsFor = cfg.dataDir; + }; + }; +} diff --git a/modules/webapps/etherpad-lite.nix b/modules/webapps/etherpad-lite.nix new file mode 100644 index 00000000..7f0e2ed4 --- /dev/null +++ b/modules/webapps/etherpad-lite.nix @@ -0,0 +1,158 @@ +{ lib, pkgs, config, ... }: +let + name = "etherpad-lite"; + cfg = config.services.etherpad-lite; + + uid = config.ids.uids.etherpad-lite; + gid = config.ids.gids.etherpad-lite; +in +{ + options.services.etherpad-lite = { + enable = lib.mkEnableOption "Enable Etherpad lite’s service"; + user = lib.mkOption { + type = lib.types.str; + default = name; + description = "User account under which Etherpad lite runs"; + }; + group = lib.mkOption { + type = lib.types.str; + default = name; + description = "Group under which Etherpad lite runs"; + }; + dataDir = lib.mkOption { + type = lib.types.path; + default = "/var/lib/${name}"; + description = '' + The directory where Etherpad lite stores its data. + ''; + }; + socketsDir = lib.mkOption { + type = lib.types.path; + default = "/run/${name}"; + description = '' + The directory where Etherpad lite stores its sockets. + ''; + }; + configFile = lib.mkOption { + type = lib.types.path; + description = '' + The config file path for Etherpad lite. + ''; + }; + sessionKeyFile = lib.mkOption { + type = lib.types.path; + description = '' + The Session key file path for Etherpad lite. + ''; + }; + apiKeyFile = lib.mkOption { + type = lib.types.path; + description = '' + The API key file path for Etherpad lite. + ''; + }; + package = lib.mkOption { + type = lib.types.package; + default = pkgs.webapps.etherpad-lite; + description = '' + Etherpad lite package to use. + ''; + }; + modules = lib.mkOption { + type = lib.types.listOf lib.types.package; + default = []; + description = '' + Etherpad lite modules to use. + ''; + }; + # Output variables + workdir = lib.mkOption { + type = lib.types.package; + default = cfg.package.withModules cfg.modules; + description = '' + Adjusted Etherpad lite package with plugins + ''; + readOnly = true; + }; + systemdStateDirectory = lib.mkOption { + type = lib.types.str; + # Use ReadWritePaths= instead if varDir is outside of /var/lib + default = assert lib.strings.hasPrefix "/var/lib/" cfg.dataDir; + lib.strings.removePrefix "/var/lib/" cfg.dataDir; + description = '' + Adjusted Etherpad lite data directory for systemd + ''; + readOnly = true; + }; + systemdRuntimeDirectory = lib.mkOption { + type = lib.types.str; + # Use ReadWritePaths= instead if socketsDir is outside of /run + default = assert lib.strings.hasPrefix "/run/" cfg.socketsDir; + lib.strings.removePrefix "/run/" cfg.socketsDir; + description = '' + Adjusted Etherpad lite sockets directory for systemd + ''; + readOnly = true; + }; + sockets = lib.mkOption { + type = lib.types.attrsOf lib.types.path; + default = { + node = "${cfg.socketsDir}/etherpad-lite.sock"; + }; + readOnly = true; + description = '' + Etherpad lite sockets + ''; + }; + }; + + config = lib.mkIf cfg.enable { + systemd.services.etherpad-lite = { + description = "Etherpad-lite"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" "postgresql.service" ]; + wants = [ "postgresql.service" ]; + + environment.NODE_ENV = "production"; + environment.HOME = cfg.workdir; + + path = [ pkgs.nodejs ]; + + script = '' + exec ${pkgs.nodejs}/bin/node ${cfg.workdir}/src/node/server.js \ + --sessionkey ${cfg.sessionKeyFile} \ + --apikey ${cfg.apiKeyFile} \ + --settings ${cfg.configFile} + ''; + + postStart = '' + while [ ! -S ${cfg.sockets.node} ]; do + sleep 0.5 + done + chmod a+w ${cfg.sockets.node} + ''; + serviceConfig = { + DynamicUser = true; + User = cfg.user; + Group = cfg.group; + WorkingDirectory = cfg.workdir; + PrivateTmp = true; + NoNewPrivileges = true; + PrivateDevices = true; + ProtectHome = true; + ProtectControlGroups = true; + ProtectKernelModules = true; + Restart = "always"; + Type = "simple"; + TimeoutSec = 60; + RuntimeDirectory = cfg.systemdRuntimeDirectory; + StateDirectory= cfg.systemdStateDirectory; + ExecStartPre = [ + "+${pkgs.coreutils}/bin/install -d -m 0755 -o ${cfg.user} -g ${cfg.group} ${cfg.dataDir}/ep_initialized" + "+${pkgs.coreutils}/bin/chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir} ${cfg.configFile} ${cfg.sessionKeyFile} ${cfg.apiKeyFile}" + ]; + }; + }; + + }; +} diff --git a/modules/webapps/mastodon.nix b/modules/webapps/mastodon.nix new file mode 100644 index 00000000..6255de91 --- /dev/null +++ b/modules/webapps/mastodon.nix @@ -0,0 +1,223 @@ +{ lib, pkgs, config, ... }: +let + name = "mastodon"; + cfg = config.services.mastodon; + + uid = config.ids.uids.mastodon; + gid = config.ids.gids.mastodon; +in +{ + options.services.mastodon = { + enable = lib.mkEnableOption "Enable Mastodon’s service"; + user = lib.mkOption { + type = lib.types.str; + default = name; + description = "User account under which Mastodon runs"; + }; + group = lib.mkOption { + type = lib.types.str; + default = name; + description = "Group under which Mastodon runs"; + }; + dataDir = lib.mkOption { + type = lib.types.path; + default = "/var/lib/${name}"; + description = '' + The directory where Mastodon stores its data. + ''; + }; + socketsPrefix = lib.mkOption { + type = lib.types.string; + default = "live"; + description = '' + The prefix to use for Mastodon sockets. + ''; + }; + socketsDir = lib.mkOption { + type = lib.types.path; + default = "/run/${name}"; + description = '' + The directory where Mastodon puts runtime files and sockets. + ''; + }; + configFile = lib.mkOption { + type = lib.types.path; + description = '' + The configuration file path for Mastodon. + ''; + }; + package = lib.mkOption { + type = lib.types.package; + default = pkgs.webapps.mastodon; + description = '' + Mastodon package to use. + ''; + }; + # Output variables + workdir = lib.mkOption { + type = lib.types.package; + default = cfg.package.override { varDir = cfg.dataDir; }; + description = '' + Adjusted mastodon package with overriden varDir + ''; + readOnly = true; + }; + systemdStateDirectory = lib.mkOption { + type = lib.types.str; + # Use ReadWritePaths= instead if varDir is outside of /var/lib + default = assert lib.strings.hasPrefix "/var/lib/" cfg.dataDir; + lib.strings.removePrefix "/var/lib/" cfg.dataDir; + description = '' + Adjusted Mastodon data directory for systemd + ''; + readOnly = true; + }; + systemdRuntimeDirectory = lib.mkOption { + type = lib.types.str; + # Use ReadWritePaths= instead if socketsDir is outside of /run + default = assert lib.strings.hasPrefix "/run/" cfg.socketsDir; + lib.strings.removePrefix "/run/" cfg.socketsDir; + description = '' + Adjusted Mastodon sockets directory for systemd + ''; + readOnly = true; + }; + sockets = lib.mkOption { + type = lib.types.attrsOf lib.types.path; + default = { + node = "${cfg.socketsDir}/${cfg.socketsPrefix}_node.sock"; + rails = "${cfg.socketsDir}/${cfg.socketsPrefix}_puma.sock"; + }; + readOnly = true; + description = '' + Mastodon sockets + ''; + }; + }; + + config = lib.mkIf cfg.enable { + users.users = lib.optionalAttrs (cfg.user == name) (lib.singleton { + inherit name; + inherit uid; + group = cfg.group; + description = "Mastodon user"; + home = cfg.dataDir; + useDefaultShell = true; + }); + users.groups = lib.optionalAttrs (cfg.group == name) (lib.singleton { + inherit name; + inherit gid; + }); + + systemd.services.mastodon-streaming = { + description = "Mastodon Streaming"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" "mastodon-web.service" ]; + + environment.NODE_ENV = "production"; + environment.SOCKET = cfg.sockets.node; + + path = [ pkgs.nodejs pkgs.bashInteractive ]; + + script = '' + exec npm run start + ''; + + postStart = '' + while [ ! -S $SOCKET ]; do + sleep 0.5 + done + chmod a+w $SOCKET + ''; + + postStop = '' + rm $SOCKET + ''; + + serviceConfig = { + User = cfg.user; + EnvironmentFile = cfg.configFile; + PrivateTmp = true; + Restart = "always"; + TimeoutSec = 15; + Type = "simple"; + WorkingDirectory = cfg.workdir; + StateDirectory = cfg.systemdStateDirectory; + RuntimeDirectory = cfg.systemdRuntimeDirectory; + RuntimeDirectoryPreserve = "yes"; + }; + + unitConfig.RequiresMountsFor = cfg.dataDir; + }; + + systemd.services.mastodon-web = { + description = "Mastodon Web app"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + + environment.RAILS_ENV = "production"; + environment.BUNDLE_PATH = "${cfg.workdir.gems}/${cfg.workdir.gems.ruby.gemPath}"; + environment.BUNDLE_GEMFILE = "${cfg.workdir.gems.confFiles}/Gemfile"; + environment.SOCKET = cfg.sockets.rails; + + path = [ cfg.workdir.gems cfg.workdir.gems.ruby pkgs.file ]; + + preStart = '' + install -m 0755 -d ${cfg.dataDir}/tmp/cache + ./bin/bundle exec rails db:migrate + ''; + + script = '' + exec ./bin/bundle exec puma -C config/puma.rb + ''; + + serviceConfig = { + User = cfg.user; + EnvironmentFile = cfg.configFile; + PrivateTmp = true; + Restart = "always"; + TimeoutSec = 60; + Type = "simple"; + WorkingDirectory = cfg.workdir; + StateDirectory = cfg.systemdStateDirectory; + RuntimeDirectory = cfg.systemdRuntimeDirectory; + RuntimeDirectoryPreserve = "yes"; + }; + + unitConfig.RequiresMountsFor = cfg.dataDir; + }; + + systemd.services.mastodon-sidekiq = { + description = "Mastodon Sidekiq"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" "mastodon-web.service" ]; + + environment.RAILS_ENV="production"; + environment.BUNDLE_PATH = "${cfg.workdir.gems}/${cfg.workdir.gems.ruby.gemPath}"; + environment.BUNDLE_GEMFILE = "${cfg.workdir.gems.confFiles}/Gemfile"; + environment.DB_POOL="5"; + + path = [ cfg.workdir.gems cfg.workdir.gems.ruby pkgs.imagemagick pkgs.ffmpeg pkgs.file ]; + + script = '' + exec ./bin/bundle exec sidekiq -c 5 -q default -q mailers -q pull -q push + ''; + + serviceConfig = { + User = cfg.user; + EnvironmentFile = cfg.configFile; + PrivateTmp = true; + Restart = "always"; + TimeoutSec = 15; + Type = "simple"; + WorkingDirectory = cfg.workdir; + StateDirectory = cfg.systemdStateDirectory; + RuntimeDirectory = cfg.systemdRuntimeDirectory; + RuntimeDirectoryPreserve = "yes"; + }; + + unitConfig.RequiresMountsFor = cfg.dataDir; + }; + + }; +} diff --git a/modules/webapps/mediagoblin.nix b/modules/webapps/mediagoblin.nix new file mode 100644 index 00000000..78bbef6f --- /dev/null +++ b/modules/webapps/mediagoblin.nix @@ -0,0 +1,237 @@ +{ lib, pkgs, config, ... }: +let + name = "mediagoblin"; + cfg = config.services.mediagoblin; + + uid = config.ids.uids.mediagoblin; + gid = config.ids.gids.mediagoblin; + + paste_local = pkgs.writeText "paste_local.ini" '' + [DEFAULT] + debug = false + + [pipeline:main] + pipeline = mediagoblin + + [app:mediagoblin] + use = egg:mediagoblin#app + config = ${cfg.configFile} ${cfg.workdir}/mediagoblin.ini + /mgoblin_static = ${cfg.workdir}/mediagoblin/static + + [loggers] + keys = root + + [handlers] + keys = console + + [formatters] + keys = generic + + [logger_root] + level = INFO + handlers = console + + [handler_console] + class = StreamHandler + args = (sys.stderr,) + level = NOTSET + formatter = generic + + [formatter_generic] + format = %(levelname)-7.7s [%(name)s] %(message)s + + [filter:errors] + use = egg:mediagoblin#errors + debug = false + + [server:main] + use = egg:waitress#main + unix_socket = ${cfg.sockets.paster} + unix_socket_perms = 777 + url_scheme = https + ''; +in +{ + options.services.mediagoblin = { + enable = lib.mkEnableOption "Enable Mediagoblin’s service"; + user = lib.mkOption { + type = lib.types.str; + default = name; + description = "User account under which Mediagoblin runs"; + }; + group = lib.mkOption { + type = lib.types.str; + default = name; + description = "Group under which Mediagoblin runs"; + }; + dataDir = lib.mkOption { + type = lib.types.path; + default = "/var/lib/${name}"; + description = '' + The directory where Mediagoblin stores its data. + ''; + }; + socketsDir = lib.mkOption { + type = lib.types.path; + default = "/run/${name}"; + description = '' + The directory where Mediagoblin puts runtime files and sockets. + ''; + }; + configFile = lib.mkOption { + type = lib.types.path; + description = '' + The configuration file path for Mediagoblin. + ''; + }; + package = lib.mkOption { + type = lib.types.package; + default = pkgs.webapps.mediagoblin; + description = '' + Mediagoblin package to use. + ''; + }; + plugins = lib.mkOption { + type = lib.types.listOf lib.types.package; + default = []; + description = '' + Mediagoblin plugins to use. + ''; + }; + # Output variables + workdir = lib.mkOption { + type = lib.types.package; + default = cfg.package.withPlugins cfg.plugins; + description = '' + Adjusted Mediagoblin package with plugins + ''; + readOnly = true; + }; + systemdStateDirectory = lib.mkOption { + type = lib.types.str; + # Use ReadWritePaths= instead if varDir is outside of /var/lib + default = assert lib.strings.hasPrefix "/var/lib/" cfg.dataDir; + lib.strings.removePrefix "/var/lib/" cfg.dataDir; + description = '' + Adjusted Mediagoblin data directory for systemd + ''; + readOnly = true; + }; + systemdRuntimeDirectory = lib.mkOption { + type = lib.types.str; + # Use ReadWritePaths= instead if socketsDir is outside of /run + default = assert lib.strings.hasPrefix "/run/" cfg.socketsDir; + lib.strings.removePrefix "/run/" cfg.socketsDir; + description = '' + Adjusted Mediagoblin sockets directory for systemd + ''; + readOnly = true; + }; + sockets = lib.mkOption { + type = lib.types.attrsOf lib.types.path; + default = { + paster = "${cfg.socketsDir}/mediagoblin.sock"; + }; + readOnly = true; + description = '' + Mediagoblin sockets + ''; + }; + pids = lib.mkOption { + type = lib.types.attrsOf lib.types.path; + default = { + paster = "${cfg.socketsDir}/mediagoblin.pid"; + celery = "${cfg.socketsDir}/mediagoblin-celeryd.pid"; + }; + readOnly = true; + description = '' + Mediagoblin pid files + ''; + }; + }; + + config = lib.mkIf cfg.enable { + users.users = lib.optionalAttrs (cfg.user == name) (lib.singleton { + inherit name; + inherit uid; + group = cfg.group; + description = "Mediagoblin user"; + home = cfg.dataDir; + useDefaultShell = true; + }); + users.groups = lib.optionalAttrs (cfg.group == name) (lib.singleton { + inherit name; + inherit gid; + }); + + systemd.services.mediagoblin-web = { + description = "Mediagoblin service"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + wants = [ "postgresql.service" "redis.service" ]; + + environment.SCRIPT_NAME = "/mediagoblin/"; + + script = '' + exec ./bin/paster serve \ + ${paste_local} \ + --pid-file=${cfg.pids.paster} + ''; + preStop = '' + exec ./bin/paster serve \ + --pid-file=${cfg.pids.paster} \ + ${paste_local} stop + ''; + preStart = '' + if [ -d ${cfg.dataDir}/plugin_static/ ]; then + rm ${cfg.dataDir}/plugin_static/coreplugin_basic_auth + ln -sf ${cfg.workdir}/mediagoblin/plugins/basic_auth/static ${cfg.dataDir}/plugin_static/coreplugin_basic_auth + fi + ./bin/gmg -cf ${cfg.configFile} dbupdate + ''; + + serviceConfig = { + User = cfg.user; + PrivateTmp = true; + Restart = "always"; + TimeoutSec = 15; + Type = "simple"; + WorkingDirectory = cfg.workdir; + RuntimeDirectory = cfg.systemdRuntimeDirectory; + StateDirectory= cfg.systemdStateDirectory; + PIDFile = cfg.pids.paster; + }; + + unitConfig.RequiresMountsFor = cfg.dataDir; + }; + + systemd.services.mediagoblin-celeryd = { + description = "Mediagoblin service"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" "mediagoblin-web.service" ]; + + environment.MEDIAGOBLIN_CONFIG = cfg.configFile; + environment.CELERY_CONFIG_MODULE = "mediagoblin.init.celery.from_celery"; + + script = '' + exec ./bin/celery worker \ + --logfile=${cfg.dataDir}/celery.log \ + --loglevel=INFO + ''; + + serviceConfig = { + User = cfg.user; + PrivateTmp = true; + Restart = "always"; + TimeoutSec = 60; + Type = "simple"; + WorkingDirectory = cfg.workdir; + RuntimeDirectory = cfg.systemdRuntimeDirectory; + StateDirectory= cfg.systemdStateDirectory; + PIDFile = cfg.pids.celery; + }; + + unitConfig.RequiresMountsFor = cfg.dataDir; + }; + }; +} diff --git a/modules/webapps/peertube.nix b/modules/webapps/peertube.nix new file mode 100644 index 00000000..89dcc67a --- /dev/null +++ b/modules/webapps/peertube.nix @@ -0,0 +1,105 @@ +{ lib, pkgs, config, ... }: +let + name = "peertube"; + cfg = config.services.peertube; + + uid = config.ids.uids.peertube; + gid = config.ids.gids.peertube; +in +{ + options.services.peertube = { + enable = lib.mkEnableOption "Enable Peertube’s service"; + user = lib.mkOption { + type = lib.types.str; + default = name; + description = "User account under which Peertube runs"; + }; + group = lib.mkOption { + type = lib.types.str; + default = name; + description = "Group under which Peertube runs"; + }; + dataDir = lib.mkOption { + type = lib.types.path; + default = "/var/lib/${name}"; + description = '' + The directory where Peertube stores its data. + ''; + }; + configFile = lib.mkOption { + type = lib.types.path; + description = '' + The configuration file path for Peertube. + ''; + }; + package = lib.mkOption { + type = lib.types.package; + default = pkgs.webapps.peertube; + description = '' + Peertube package to use. + ''; + }; + # Output variables + systemdStateDirectory = lib.mkOption { + type = lib.types.str; + # Use ReadWritePaths= instead if varDir is outside of /var/lib + default = assert lib.strings.hasPrefix "/var/lib/" cfg.dataDir; + lib.strings.removePrefix "/var/lib/" cfg.dataDir; + description = '' + Adjusted Peertube data directory for systemd + ''; + readOnly = true; + }; + }; + + config = lib.mkIf cfg.enable { + users.users = lib.optionalAttrs (cfg.user == name) (lib.singleton { + inherit name; + inherit uid; + group = cfg.group; + description = "Peertube user"; + home = cfg.dataDir; + useDefaultShell = true; + }); + users.groups = lib.optionalAttrs (cfg.group == name) (lib.singleton { + inherit name; + inherit gid; + }); + + systemd.services.peertube = { + description = "Peertube"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" "postgresql.service" ]; + wants = [ "postgresql.service" ]; + + environment.NODE_CONFIG_DIR = "${cfg.dataDir}/config"; + environment.NODE_ENV = "production"; + environment.HOME = cfg.package; + + path = [ pkgs.nodejs pkgs.bashInteractive pkgs.ffmpeg pkgs.openssl ]; + + script = '' + install -m 0750 -d ${cfg.dataDir}/config + ln -sf ${cfg.configFile} ${cfg.dataDir}/config/production.yaml + exec npm run start + ''; + + serviceConfig = { + User = cfg.user; + Group = cfg.group; + WorkingDirectory = cfg.package; + StateDirectory = cfg.systemdStateDirectory; + StateDirectoryMode = 0750; + PrivateTmp = true; + ProtectHome = true; + ProtectControlGroups = true; + Restart = "always"; + Type = "simple"; + TimeoutSec = 60; + }; + + unitConfig.RequiresMountsFor = cfg.dataDir; + }; + }; +} + diff --git a/modules/webapps/webstats/default.nix b/modules/webapps/webstats/default.nix new file mode 100644 index 00000000..924d72de --- /dev/null +++ b/modules/webapps/webstats/default.nix @@ -0,0 +1,81 @@ +{ lib, pkgs, config, ... }: +let + name = "goaccess"; + cfg = config.services.webstats; +in { + options.services.webstats = { + dataDir = lib.mkOption { + type = lib.types.path; + default = "/var/lib/${name}"; + description = '' + The directory where Goaccess stores its data. + ''; + }; + sites = lib.mkOption { + type = lib.types.listOf (lib.types.submodule { + options = { + conf = lib.mkOption { + type = lib.types.nullOr lib.types.path; + default = null; + description = '' + use custom goaccess configuration file instead of the + default one. + ''; + }; + name = lib.mkOption { + type = lib.types.string; + description = '' + Domain name. Corresponds to the Apache file name and the + folder name in which the state will be saved. + ''; + }; + }; + }); + default = []; + description = "Sites to generate stats"; + }; + }; + + config = lib.mkIf (builtins.length cfg.sites > 0) { + users.users.root.packages = [ + pkgs.goaccess + ]; + + services.cron = { + enable = true; + systemCronJobs = let + stats = domain: conf: let + config = if builtins.isNull conf + then pkgs.runCommand "goaccess.conf" { + dbPath = "${cfg.dataDir}/${domain}"; + } "substituteAll ${./goaccess.conf} $out" + else conf; + d = pkgs.writeScriptBin "stats-${domain}" '' + #!${pkgs.stdenv.shell} + set -e + shopt -s nullglob + date_regex=$(LC_ALL=C date -d yesterday +'%d\/%b\/%Y') + TMPFILE=$(mktemp) + trap "rm -f $TMPFILE" EXIT + + mkdir -p ${cfg.dataDir}/${domain} + cat /var/log/httpd/access-${domain}.log | sed -n "/\\[$date_regex/ p" > $TMPFILE + for i in /var/log/httpd/access-${domain}*.gz; do + zcat "$i" | sed -n "/\\[$date_regex/ p" >> $TMPFILE + done + ${pkgs.goaccess}/bin/goaccess $TMPFILE --no-progress -o ${cfg.dataDir}/${domain}/index.html -p ${config} + ''; + in "${d}/bin/stats-${domain}"; + allStats = sites: pkgs.writeScript "stats" '' + #!${pkgs.stdenv.shell} + + mkdir -p ${cfg.dataDir} + ${builtins.concatStringsSep "\n" (map (v: stats v.name v.conf) sites)} + ''; + in + [ + "5 0 * * * root ${allStats cfg.sites}" + ]; + }; + }; +} diff --git a/modules/webapps/webstats/goaccess.conf b/modules/webapps/webstats/goaccess.conf new file mode 100644 index 00000000..49189883 --- /dev/null +++ b/modules/webapps/webstats/goaccess.conf @@ -0,0 +1,99 @@ +time-format %H:%M:%S +date-format %d/%b/%Y + +#sur immae.eu +#log-format %v %h %^[%d:%t %^] "%r" %s %b "%R" "%u" $^ + +log-format VCOMBINED +#= %v:%^ %h %^[%d:%t %^] "%r" %s %b "%R" "%u" + +html-prefs {"theme":"bright","layout":"vertical"} + +exclude-ip 188.165.209.148 +exclude-ip 178.33.252.96 +exclude-ip 2001:41d0:2:9c94::1 +exclude-ip 2001:41d0:2:9c94:: +exclude-ip 176.9.151.89 +exclude-ip 2a01:4f8:160:3445:: +exclude-ip 82.255.56.72 + +no-query-string true + +keep-db-files true +load-from-disk true +db-path @dbPath@ + +ignore-panel REFERRERS +ignore-panel KEYPHRASES + +static-file .css +static-file .js +static-file .jpg +static-file .png +static-file .gif +static-file .ico +static-file .jpeg +static-file .pdf +static-file .csv +static-file .mpeg +static-file .mpg +static-file .swf +static-file .woff +static-file .woff2 +static-file .xls +static-file .xlsx +static-file .doc +static-file .docx +static-file .ppt +static-file .pptx +static-file .txt +static-file .zip +static-file .ogg +static-file .mp3 +static-file .mp4 +static-file .exe +static-file .iso +static-file .gz +static-file .rar +static-file .svg +static-file .bmp +static-file .tar +static-file .tgz +static-file .tiff +static-file .tif +static-file .ttf +static-file .flv +#static-file .less +#static-file .ac3 +#static-file .avi +#static-file .bz2 +#static-file .class +#static-file .cue +#static-file .dae +#static-file .dat +#static-file .dts +#static-file .ejs +#static-file .eot +#static-file .eps +#static-file .img +#static-file .jar +#static-file .map +#static-file .mid +#static-file .midi +#static-file .ogv +#static-file .webm +#static-file .mkv +#static-file .odp +#static-file .ods +#static-file .odt +#static-file .otf +#static-file .pict +#static-file .pls +#static-file .ps +#static-file .qt +#static-file .rm +#static-file .svgz +#static-file .wav +#static-file .webp + + diff --git a/modules/websites/default.nix b/modules/websites/default.nix new file mode 100644 index 00000000..e57f505a --- /dev/null +++ b/modules/websites/default.nix @@ -0,0 +1,199 @@ +{ lib, config, ... }: with lib; +let + cfg = config.services.websites; +in +{ + options.services.websitesCerts = mkOption { + description = "Default websites configuration for certificates as accepted by acme"; + }; + options.services.websites = with types; mkOption { + default = {}; + description = "Each type of website to enable will target a distinct httpd server"; + type = attrsOf (submodule { + options = { + enable = mkEnableOption "Enable websites of this type"; + adminAddr = mkOption { + type = str; + description = "Admin e-mail address of the instance"; + }; + httpdName = mkOption { + type = str; + description = "Name of the httpd instance to assign this type to"; + }; + ips = mkOption { + type = listOf string; + default = []; + description = "ips to listen to"; + }; + modules = mkOption { + type = listOf str; + default = []; + description = "Additional modules to load in Apache"; + }; + extraConfig = mkOption { + type = listOf lines; + default = []; + description = "Additional configuration to append to Apache"; + }; + nosslVhost = mkOption { + description = "A default nossl vhost for captive portals"; + default = {}; + type = submodule { + options = { + enable = mkEnableOption "Add default no-ssl vhost for this instance"; + host = mkOption { + type = string; + description = "The hostname to use for this vhost"; + }; + root = mkOption { + type = path; + default = ./nosslVhost; + description = "The root folder to serve"; + }; + indexFile = mkOption { + type = string; + default = "index.html"; + description = "The index file to show."; + }; + }; + }; + }; + fallbackVhost = mkOption { + description = "The fallback vhost that will be defined as first vhost in Apache"; + type = submodule { + options = { + certName = mkOption { type = string; }; + hosts = mkOption { type = listOf string; }; + root = mkOption { type = nullOr path; }; + extraConfig = mkOption { type = listOf lines; default = []; }; + }; + }; + }; + vhostConfs = mkOption { + default = {}; + description = "List of vhosts to define for Apache"; + type = attrsOf (submodule { + options = { + certName = mkOption { type = string; }; + addToCerts = mkOption { + type = bool; + default = false; + description = "Use these to certificates. Is ignored (considered true) if certMainHost is not null"; + }; + certMainHost = mkOption { + type = nullOr string; + description = "Use that host as 'main host' for acme certs"; + default = null; + }; + hosts = mkOption { type = listOf string; }; + root = mkOption { type = nullOr path; }; + extraConfig = mkOption { type = listOf lines; default = []; }; + }; + }); + }; + }; + }); + }; + + config.services.httpd = let + redirectVhost = ips: { # Should go last, catchall http -> https redirect + listen = map (ip: { inherit ip; port = 80; }) ips; + hostName = "redirectSSL"; + serverAliases = [ "*" ]; + enableSSL = false; + logFormat = "combinedVhost"; + documentRoot = "${config.security.acme.directory}/acme-challenge"; + extraConfig = '' + RewriteEngine on + RewriteCond "%{REQUEST_URI}" "!^/\.well-known" + RewriteRule ^(.+) https://%{HTTP_HOST}$1 [R=301] + # To redirect in specific "VirtualHost *:80", do + # RedirectMatch 301 ^/((?!\.well-known.*$).*)$ https://host/$1 + # rather than rewrite + ''; + }; + nosslVhost = ips: cfg: { + listen = map (ip: { inherit ip; port = 80; }) ips; + hostName = cfg.host; + enableSSL = false; + logFormat = "combinedVhost"; + documentRoot = cfg.root; + extraConfig = '' + + DirectoryIndex ${cfg.indexFile} + AllowOverride None + Require all granted + + RewriteEngine on + RewriteRule ^/(.+) / [L] + + ''; + }; + toVhost = ips: vhostConf: { + enableSSL = true; + sslServerCert = "${config.security.acme.directory}/${vhostConf.certName}/cert.pem"; + sslServerKey = "${config.security.acme.directory}/${vhostConf.certName}/key.pem"; + sslServerChain = "${config.security.acme.directory}/${vhostConf.certName}/chain.pem"; + logFormat = "combinedVhost"; + listen = map (ip: { inherit ip; port = 443; }) ips; + hostName = builtins.head vhostConf.hosts; + serverAliases = builtins.tail vhostConf.hosts or []; + documentRoot = vhostConf.root; + extraConfig = builtins.concatStringsSep "\n" vhostConf.extraConfig; + }; + in attrsets.mapAttrs' (name: icfg: attrsets.nameValuePair + icfg.httpdName (mkIf icfg.enable { + enable = true; + listen = map (ip: { inherit ip; port = 443; }) icfg.ips; + stateDir = "/run/httpd_${name}"; + logPerVirtualHost = true; + multiProcessingModule = "worker"; + inherit (icfg) adminAddr; + logFormat = "combinedVhost"; + extraModules = lists.unique icfg.modules; + extraConfig = builtins.concatStringsSep "\n" icfg.extraConfig; + virtualHosts = [ (toVhost icfg.ips icfg.fallbackVhost) ] + ++ optionals (icfg.nosslVhost.enable) [ (nosslVhost icfg.ips icfg.nosslVhost) ] + ++ (attrsets.mapAttrsToList (n: v: toVhost icfg.ips v) icfg.vhostConfs) + ++ [ (redirectVhost icfg.ips) ]; + }) + ) cfg; + + config.security.acme.certs = let + typesToManage = attrsets.filterAttrs (k: v: v.enable) cfg; + flatVhosts = lists.flatten (attrsets.mapAttrsToList (k: v: + attrValues v.vhostConfs + ) typesToManage); + groupedCerts = attrsets.filterAttrs + (_: group: builtins.any (v: v.addToCerts || !isNull v.certMainHost) group) + (lists.groupBy (v: v.certName) flatVhosts); + groupToDomain = group: + let + nonNull = builtins.filter (v: !isNull v.certMainHost) group; + domains = lists.unique (map (v: v.certMainHost) nonNull); + in + if builtins.length domains == 0 + then null + else assert (builtins.length domains == 1); (elemAt domains 0); + extraDomains = group: + let + mainDomain = groupToDomain group; + in + lists.remove mainDomain ( + lists.unique ( + lists.flatten (map (c: optionals (c.addToCerts || !isNull c.certMainHost) c.hosts) group) + ) + ); + in attrsets.mapAttrs (k: g: + if (!isNull (groupToDomain g)) + then config.services.websitesCerts // { + domain = groupToDomain g; + extraDomains = builtins.listToAttrs ( + map (d: attrsets.nameValuePair d null) (extraDomains g)); + } + else { + extraDomains = builtins.listToAttrs ( + map (d: attrsets.nameValuePair d null) (extraDomains g)); + } + ) groupedCerts; +} diff --git a/modules/websites/httpd-service-builder.nix b/modules/websites/httpd-service-builder.nix new file mode 100644 index 00000000..d049202c --- /dev/null +++ b/modules/websites/httpd-service-builder.nix @@ -0,0 +1,746 @@ +# to help backporting this builder should stay as close as possible to +# nixos/modules/services/web-servers/apache-httpd/default.nix +{ httpdName, withUsers ? true }: +{ config, lib, pkgs, ... }: + +with lib; + +let + + mainCfg = config.services.httpd."${httpdName}"; + + httpd = mainCfg.package.out; + + version24 = !versionOlder httpd.version "2.4"; + + httpdConf = mainCfg.configFile; + + php = mainCfg.phpPackage.override { apacheHttpd = httpd.dev; /* otherwise it only gets .out */ }; + + phpMajorVersion = head (splitString "." php.version); + + mod_perl = pkgs.apacheHttpdPackages.mod_perl.override { apacheHttpd = httpd; }; + + defaultListen = cfg: if cfg.enableSSL + then [{ip = "*"; port = 443;}] + else [{ip = "*"; port = 80;}]; + + getListen = cfg: + let list = (lib.optional (cfg.port != 0) {ip = "*"; port = cfg.port;}) ++ cfg.listen; + in if list == [] + then defaultListen cfg + else list; + + listenToString = l: "${l.ip}:${toString l.port}"; + + extraModules = attrByPath ["extraModules"] [] mainCfg; + extraForeignModules = filter isAttrs extraModules; + extraApacheModules = filter isString extraModules; + + + makeServerInfo = cfg: { + # Canonical name must not include a trailing slash. + canonicalNames = + let defaultPort = (head (defaultListen cfg)).port; in + map (port: + (if cfg.enableSSL then "https" else "http") + "://" + + cfg.hostName + + (if port != defaultPort then ":${toString port}" else "") + ) (map (x: x.port) (getListen cfg)); + + # Admin address: inherit from the main server if not specified for + # a virtual host. + adminAddr = if cfg.adminAddr != null then cfg.adminAddr else mainCfg.adminAddr; + + vhostConfig = cfg; + serverConfig = mainCfg; + fullConfig = config; # machine config + }; + + + allHosts = [mainCfg] ++ mainCfg.virtualHosts; + + + callSubservices = serverInfo: defs: + let f = svc: + let + svcFunction = + if svc ? function then svc.function + # instead of using serviceType="mediawiki"; you can copy mediawiki.nix to any location outside nixpkgs, modify it at will, and use serviceExpression=./mediawiki.nix; + else if svc ? serviceExpression then import (toString svc.serviceExpression) + else import (toString "${toString ./.}/${if svc ? serviceType then svc.serviceType else svc.serviceName}.nix"); + config = (evalModules + { modules = [ { options = res.options; config = svc.config or svc; } ]; + check = false; + }).config; + defaults = { + extraConfig = ""; + extraModules = []; + extraModulesPre = []; + extraPath = []; + extraServerPath = []; + globalEnvVars = []; + robotsEntries = ""; + startupScript = ""; + enablePHP = false; + enablePerl = false; + phpOptions = ""; + options = {}; + documentRoot = null; + }; + res = defaults // svcFunction { inherit config lib pkgs serverInfo php; }; + in res; + in map f defs; + + + # !!! callSubservices is expensive + subservicesFor = cfg: callSubservices (makeServerInfo cfg) cfg.extraSubservices; + + mainSubservices = subservicesFor mainCfg; + + allSubservices = mainSubservices ++ concatMap subservicesFor mainCfg.virtualHosts; + + + enableSSL = any (vhost: vhost.enableSSL) allHosts; + + + # Names of modules from ${httpd}/modules that we want to load. + apacheModules = + [ # HTTP authentication mechanisms: basic and digest. + "auth_basic" "auth_digest" + + # Authentication: is the user who he claims to be? + "authn_file" "authn_dbm" "authn_anon" + (if version24 then "authn_core" else "authn_alias") + + # Authorization: is the user allowed access? + "authz_user" "authz_groupfile" "authz_host" + + # Other modules. + "ext_filter" "include" "log_config" "env" "mime_magic" + "cern_meta" "expires" "headers" "usertrack" /* "unique_id" */ "setenvif" + "mime" "dav" "status" "autoindex" "asis" "info" "dav_fs" + "vhost_alias" "negotiation" "dir" "imagemap" "actions" "speling" + "userdir" "alias" "rewrite" "proxy" "proxy_http" + ] + ++ optionals version24 [ + "mpm_${mainCfg.multiProcessingModule}" + "authz_core" + "unixd" + "cache" "cache_disk" + "slotmem_shm" + "socache_shmcb" + # For compatibility with old configurations, the new module mod_access_compat is provided. + "access_compat" + ] + ++ (if mainCfg.multiProcessingModule == "prefork" then [ "cgi" ] else [ "cgid" ]) + ++ optional enableSSL "ssl" + ++ extraApacheModules; + + + allDenied = if version24 then '' + Require all denied + '' else '' + Order deny,allow + Deny from all + ''; + + allGranted = if version24 then '' + Require all granted + '' else '' + Order allow,deny + Allow from all + ''; + + + loggingConf = (if mainCfg.logFormat != "none" then '' + ErrorLog ${mainCfg.logDir}/error.log + + LogLevel notice + + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined + LogFormat "%h %l %u %t \"%r\" %>s %b" common + LogFormat "%{Referer}i -> %U" referer + LogFormat "%{User-agent}i" agent + + CustomLog ${mainCfg.logDir}/access.log ${mainCfg.logFormat} + '' else '' + ErrorLog /dev/null + ''); + + + browserHacks = '' + BrowserMatch "Mozilla/2" nokeepalive + BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 + BrowserMatch "RealPlayer 4\.0" force-response-1.0 + BrowserMatch "Java/1\.0" force-response-1.0 + BrowserMatch "JDK/1\.0" force-response-1.0 + BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully + BrowserMatch "^WebDrive" redirect-carefully + BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully + BrowserMatch "^gnome-vfs" redirect-carefully + ''; + + + sslConf = '' + SSLSessionCache ${if version24 then "shmcb" else "shm"}:${mainCfg.stateDir}/ssl_scache(512000) + + ${if version24 then "Mutex" else "SSLMutex"} posixsem + + SSLRandomSeed startup builtin + SSLRandomSeed connect builtin + + SSLProtocol ${mainCfg.sslProtocols} + SSLCipherSuite ${mainCfg.sslCiphers} + SSLHonorCipherOrder on + ''; + + + mimeConf = '' + TypesConfig ${httpd}/conf/mime.types + + AddType application/x-x509-ca-cert .crt + AddType application/x-pkcs7-crl .crl + AddType application/x-httpd-php .php .phtml + + + MIMEMagicFile ${httpd}/conf/magic + + ''; + + + perServerConf = isMainServer: cfg: let + + serverInfo = makeServerInfo cfg; + + subservices = callSubservices serverInfo cfg.extraSubservices; + + maybeDocumentRoot = fold (svc: acc: + if acc == null then svc.documentRoot else assert svc.documentRoot == null; acc + ) null ([ cfg ] ++ subservices); + + documentRoot = if maybeDocumentRoot != null then maybeDocumentRoot else + pkgs.runCommand "empty" { preferLocalBuild = true; } "mkdir -p $out"; + + documentRootConf = '' + DocumentRoot "${documentRoot}" + + + Options Indexes FollowSymLinks + AllowOverride None + ${allGranted} + + ''; + + robotsTxt = + concatStringsSep "\n" (filter (x: x != "") ( + # If this is a vhost, the include the entries for the main server as well. + (if isMainServer then [] else [mainCfg.robotsEntries] ++ map (svc: svc.robotsEntries) mainSubservices) + ++ [cfg.robotsEntries] + ++ (map (svc: svc.robotsEntries) subservices))); + + in '' + ${concatStringsSep "\n" (map (n: "ServerName ${n}") serverInfo.canonicalNames)} + + ${concatMapStrings (alias: "ServerAlias ${alias}\n") cfg.serverAliases} + + ${if cfg.sslServerCert != null then '' + SSLCertificateFile ${cfg.sslServerCert} + SSLCertificateKeyFile ${cfg.sslServerKey} + ${if cfg.sslServerChain != null then '' + SSLCertificateChainFile ${cfg.sslServerChain} + '' else ""} + '' else ""} + + ${if cfg.enableSSL then '' + SSLEngine on + '' else if enableSSL then /* i.e., SSL is enabled for some host, but not this one */ + '' + SSLEngine off + '' else ""} + + ${if isMainServer || cfg.adminAddr != null then '' + ServerAdmin ${cfg.adminAddr} + '' else ""} + + ${if !isMainServer && mainCfg.logPerVirtualHost then '' + ErrorLog ${mainCfg.logDir}/error-${cfg.hostName}.log + CustomLog ${mainCfg.logDir}/access-${cfg.hostName}.log ${cfg.logFormat} + '' else ""} + + ${optionalString (robotsTxt != "") '' + Alias /robots.txt ${pkgs.writeText "robots.txt" robotsTxt} + ''} + + ${if isMainServer || maybeDocumentRoot != null then documentRootConf else ""} + + ${if cfg.enableUserDir then '' + + UserDir public_html + UserDir disabled root + + + AllowOverride FileInfo AuthConfig Limit Indexes + Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec + + ${allGranted} + + + ${allDenied} + + + + '' else ""} + + ${if cfg.globalRedirect != null && cfg.globalRedirect != "" then '' + RedirectPermanent / ${cfg.globalRedirect} + '' else ""} + + ${ + let makeFileConf = elem: '' + Alias ${elem.urlPath} ${elem.file} + ''; + in concatMapStrings makeFileConf cfg.servedFiles + } + + ${ + let makeDirConf = elem: '' + Alias ${elem.urlPath} ${elem.dir}/ + + Options +Indexes + ${allGranted} + AllowOverride All + + ''; + in concatMapStrings makeDirConf cfg.servedDirs + } + + ${concatMapStrings (svc: svc.extraConfig) subservices} + + ${cfg.extraConfig} + ''; + + + confFile = pkgs.writeText "httpd.conf" '' + + ServerRoot ${httpd} + + ${optionalString version24 '' + DefaultRuntimeDir ${mainCfg.stateDir}/runtime + ''} + + PidFile ${mainCfg.stateDir}/httpd.pid + + ${optionalString (mainCfg.multiProcessingModule != "prefork") '' + # mod_cgid requires this. + ScriptSock ${mainCfg.stateDir}/cgisock + ''} + + + MaxClients ${toString mainCfg.maxClients} + MaxRequestsPerChild ${toString mainCfg.maxRequestsPerChild} + + + ${let + listen = concatMap getListen allHosts; + toStr = listen: "Listen ${listenToString listen}\n"; + uniqueListen = uniqList {inputList = map toStr listen;}; + in concatStrings uniqueListen + } + + User ${mainCfg.user} + Group ${mainCfg.group} + + ${let + load = {name, path}: "LoadModule ${name}_module ${path}\n"; + allModules = + concatMap (svc: svc.extraModulesPre) allSubservices + ++ map (name: {inherit name; path = "${httpd}/modules/mod_${name}.so";}) apacheModules + ++ optional mainCfg.enableMellon { name = "auth_mellon"; path = "${pkgs.apacheHttpdPackages.mod_auth_mellon}/modules/mod_auth_mellon.so"; } + ++ optional enablePHP { name = "php${phpMajorVersion}"; path = "${php}/modules/libphp${phpMajorVersion}.so"; } + ++ optional enablePerl { name = "perl"; path = "${mod_perl}/modules/mod_perl.so"; } + ++ concatMap (svc: svc.extraModules) allSubservices + ++ extraForeignModules; + in concatMapStrings load allModules + } + + AddHandler type-map var + + + ${allDenied} + + + ${mimeConf} + ${loggingConf} + ${browserHacks} + + Include ${httpd}/conf/extra/httpd-default.conf + Include ${httpd}/conf/extra/httpd-autoindex.conf + Include ${httpd}/conf/extra/httpd-multilang-errordoc.conf + Include ${httpd}/conf/extra/httpd-languages.conf + + TraceEnable off + + ${if enableSSL then sslConf else ""} + + # Fascist default - deny access to everything. + + Options FollowSymLinks + AllowOverride None + ${allDenied} + + + # Generate directives for the main server. + ${perServerConf true mainCfg} + + # Always enable virtual hosts; it doesn't seem to hurt. + ${let + listen = concatMap getListen allHosts; + uniqueListen = uniqList {inputList = listen;}; + directives = concatMapStrings (listen: "NameVirtualHost ${listenToString listen}\n") uniqueListen; + in optionalString (!version24) directives + } + + ${let + makeVirtualHost = vhost: '' + + ${perServerConf false vhost} + + ''; + in concatMapStrings makeVirtualHost mainCfg.virtualHosts + } + ''; + + + enablePHP = mainCfg.enablePHP || any (svc: svc.enablePHP) allSubservices; + + enablePerl = mainCfg.enablePerl || any (svc: svc.enablePerl) allSubservices; + + + # Generate the PHP configuration file. Should probably be factored + # out into a separate module. + phpIni = pkgs.runCommand "php.ini" + { options = concatStringsSep "\n" + ([ mainCfg.phpOptions ] ++ (map (svc: svc.phpOptions) allSubservices)); + preferLocalBuild = true; + } + '' + cat ${php}/etc/php.ini > $out + echo "$options" >> $out + ''; + +in + + +{ + + ###### interface + + options = { + + services.httpd."${httpdName}" = { + + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to enable the Apache HTTP Server."; + }; + + package = mkOption { + type = types.package; + default = pkgs.apacheHttpd; + defaultText = "pkgs.apacheHttpd"; + description = '' + Overridable attribute of the Apache HTTP Server package to use. + ''; + }; + + configFile = mkOption { + type = types.path; + default = confFile; + defaultText = "confFile"; + example = literalExample ''pkgs.writeText "httpd.conf" "# my custom config file ..."''; + description = '' + Override the configuration file used by Apache. By default, + NixOS generates one automatically. + ''; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Cnfiguration lines appended to the generated Apache + configuration file. Note that this mechanism may not work + when is overridden. + ''; + }; + + extraModules = mkOption { + type = types.listOf types.unspecified; + default = []; + example = literalExample ''[ "proxy_connect" { name = "php5"; path = "''${pkgs.php}/modules/libphp5.so"; } ]''; + description = '' + Additional Apache modules to be used. These can be + specified as a string in the case of modules distributed + with Apache, or as an attribute set specifying the + name and path of the + module. + ''; + }; + + logPerVirtualHost = mkOption { + type = types.bool; + default = false; + description = '' + If enabled, each virtual host gets its own + access.log and + error.log, namely suffixed by the + of the virtual host. + ''; + }; + + user = mkOption { + type = types.str; + default = "wwwrun"; + description = '' + User account under which httpd runs. The account is created + automatically if it doesn't exist. + ''; + }; + + group = mkOption { + type = types.str; + default = "wwwrun"; + description = '' + Group under which httpd runs. The account is created + automatically if it doesn't exist. + ''; + }; + + logDir = mkOption { + type = types.path; + default = "/var/log/httpd"; + description = '' + Directory for Apache's log files. It is created automatically. + ''; + }; + + stateDir = mkOption { + type = types.path; + default = "/run/httpd"; + description = '' + Directory for Apache's transient runtime state (such as PID + files). It is created automatically. Note that the default, + /run/httpd, is deleted at boot time. + ''; + }; + + virtualHosts = mkOption { + type = types.listOf (types.submodule ( + { options = import { + inherit lib; + forMainServer = false; + }; + })); + default = []; + example = [ + { hostName = "foo"; + documentRoot = "/data/webroot-foo"; + } + { hostName = "bar"; + documentRoot = "/data/webroot-bar"; + } + ]; + description = '' + Specification of the virtual hosts served by Apache. Each + element should be an attribute set specifying the + configuration of the virtual host. The available options + are the non-global options permissible for the main host. + ''; + }; + + enableMellon = mkOption { + type = types.bool; + default = false; + description = "Whether to enable the mod_auth_mellon module."; + }; + + enablePHP = mkOption { + type = types.bool; + default = false; + description = "Whether to enable the PHP module."; + }; + + phpPackage = mkOption { + type = types.package; + default = pkgs.php; + defaultText = "pkgs.php"; + description = '' + Overridable attribute of the PHP package to use. + ''; + }; + + enablePerl = mkOption { + type = types.bool; + default = false; + description = "Whether to enable the Perl module (mod_perl)."; + }; + + phpOptions = mkOption { + type = types.lines; + default = ""; + example = + '' + date.timezone = "CET" + ''; + description = + "Options appended to the PHP configuration file php.ini."; + }; + + multiProcessingModule = mkOption { + type = types.str; + default = "prefork"; + example = "worker"; + description = + '' + Multi-processing module to be used by Apache. Available + modules are prefork (the default; + handles each request in a separate child process), + worker (hybrid approach that starts a + number of child processes each running a number of + threads) and event (a recent variant of + worker that handles persistent + connections more efficiently). + ''; + }; + + maxClients = mkOption { + type = types.int; + default = 150; + example = 8; + description = "Maximum number of httpd processes (prefork)"; + }; + + maxRequestsPerChild = mkOption { + type = types.int; + default = 0; + example = 500; + description = + "Maximum number of httpd requests answered per httpd child (prefork), 0 means unlimited"; + }; + + sslCiphers = mkOption { + type = types.str; + default = "HIGH:!aNULL:!MD5:!EXP"; + description = "Cipher Suite available for negotiation in SSL proxy handshake."; + }; + + sslProtocols = mkOption { + type = types.str; + default = "All -SSLv2 -SSLv3 -TLSv1"; + example = "All -SSLv2 -SSLv3"; + description = "Allowed SSL/TLS protocol versions."; + }; + } + + # Include the options shared between the main server and virtual hosts. + // (import { + inherit lib; + forMainServer = true; + }); + + }; + + + ###### implementation + + config = mkIf config.services.httpd."${httpdName}".enable { + + assertions = [ { assertion = mainCfg.enableSSL == true + -> mainCfg.sslServerCert != null + && mainCfg.sslServerKey != null; + message = "SSL is enabled for httpd, but sslServerCert and/or sslServerKey haven't been specified."; } + ]; + + warnings = map (cfg: ''apache-httpd's port option is deprecated. Use listen = [{/*ip = "*"; */ port = ${toString cfg.port};}]; instead'' ) (lib.filter (cfg: cfg.port != 0) allHosts); + + users.users = optionalAttrs (withUsers && mainCfg.user == "wwwrun") (singleton + { name = "wwwrun"; + group = mainCfg.group; + description = "Apache httpd user"; + uid = config.ids.uids.wwwrun; + }); + + users.groups = optionalAttrs (withUsers && mainCfg.group == "wwwrun") (singleton + { name = "wwwrun"; + gid = config.ids.gids.wwwrun; + }); + + environment.systemPackages = [httpd] ++ concatMap (svc: svc.extraPath) allSubservices; + + services.httpd."${httpdName}".phpOptions = + '' + ; Needed for PHP's mail() function. + sendmail_path = sendmail -t -i + + ; Don't advertise PHP + expose_php = off + '' + optionalString (!isNull config.time.timeZone) '' + + ; Apparently PHP doesn't use $TZ. + date.timezone = "${config.time.timeZone}" + ''; + + systemd.services."httpd${httpdName}" = + { description = "Apache HTTPD"; + + wantedBy = [ "multi-user.target" ]; + wants = [ "keys.target" ]; + after = [ "network.target" "fs.target" "postgresql.service" "keys.target" ]; + + path = + [ httpd pkgs.coreutils pkgs.gnugrep ] + ++ optional enablePHP pkgs.system-sendmail # Needed for PHP's mail() function. + ++ concatMap (svc: svc.extraServerPath) allSubservices; + + environment = + optionalAttrs enablePHP { PHPRC = phpIni; } + // optionalAttrs mainCfg.enableMellon { LD_LIBRARY_PATH = "${pkgs.xmlsec}/lib"; } + // (listToAttrs (concatMap (svc: svc.globalEnvVars) allSubservices)); + + preStart = + '' + mkdir -m 0750 -p ${mainCfg.stateDir} + [ $(id -u) != 0 ] || chown root.${mainCfg.group} ${mainCfg.stateDir} + ${optionalString version24 '' + mkdir -m 0750 -p "${mainCfg.stateDir}/runtime" + [ $(id -u) != 0 ] || chown root.${mainCfg.group} "${mainCfg.stateDir}/runtime" + ''} + mkdir -m 0700 -p ${mainCfg.logDir} + + # Get rid of old semaphores. These tend to accumulate across + # server restarts, eventually preventing it from restarting + # successfully. + for i in $(${pkgs.utillinux}/bin/ipcs -s | grep ' ${mainCfg.user} ' | cut -f2 -d ' '); do + ${pkgs.utillinux}/bin/ipcrm -s $i + done + + # Run the startup hooks for the subservices. + for i in ${toString (map (svn: svn.startupScript) allSubservices)}; do + echo Running Apache startup hook $i... + $i + done + ''; + + serviceConfig.ExecStart = "@${httpd}/bin/httpd httpd -f ${httpdConf}"; + serviceConfig.ExecStop = "${httpd}/bin/httpd -f ${httpdConf} -k graceful-stop"; + serviceConfig.ExecReload = "${httpd}/bin/httpd -f ${httpdConf} -k graceful"; + serviceConfig.Type = "forking"; + serviceConfig.PIDFile = "${mainCfg.stateDir}/httpd.pid"; + serviceConfig.Restart = "always"; + serviceConfig.RestartSec = "5s"; + }; + + }; +} diff --git a/modules/websites/nosslVhost/index.html b/modules/websites/nosslVhost/index.html new file mode 100644 index 00000000..4401a806 --- /dev/null +++ b/modules/websites/nosslVhost/index.html @@ -0,0 +1,11 @@ + + + + No SSL site + + +

No SSL on this site

+

Use for wifi networks with login page that doesn't work well with + https.

+ + diff --git a/nix_path_env b/nix_path_env new file mode 100644 index 00000000..901cd693 --- /dev/null +++ b/nix_path_env @@ -0,0 +1,11 @@ +#!/bin/bash + +if [ -z "$NIXOPS_DEPLOYMENT" ]; then + # This will automatically upgrade to latest version at each build + nixpkgs="https://nixos.org/channels/nixos-19.03/nixexprs.tar.xz" +else + nixpkgs="https://releases.nixos.org/nixos/19.03/nixos-19.03.172530.096e2f137b6/nixexprs.tar.xz" +fi +nixpkgsPrevious="$nixpkgs" +nixpkgsNext="$nixpkgs" +export NIX_PATH="nixpkgs=$nixpkgs:nixpkgsNext=$nixpkgsNext:nixpkgsPrevious=$nixpkgsPrevious" diff --git a/overlays/bitlbee/bitlbee_long_nicks.patch b/overlays/bitlbee/bitlbee_long_nicks.patch new file mode 100644 index 00000000..70be0925 --- /dev/null +++ b/overlays/bitlbee/bitlbee_long_nicks.patch @@ -0,0 +1,56 @@ +diff --git a/bitlbee.h b/bitlbee.h +index 17ab2979..5858277e 100644 +--- a/bitlbee.h ++++ b/bitlbee.h +@@ -121,7 +121,7 @@ extern "C" { + #define CONTROL_TOPIC "Welcome to the control channel. Type \2help\2 for help information." + #define IRCD_INFO PACKAGE " " + +-#define MAX_NICK_LENGTH 24 ++#define MAX_NICK_LENGTH 99 + + #define HELP_FILE VARDIR "help.txt" + #define CONF_FILE_DEF ETCDIR "bitlbee.conf" +diff --git a/tests/check_nick.c b/tests/check_nick.c +index ca5e5111..909fdcc9 100644 +--- a/tests/check_nick.c ++++ b/tests/check_nick.c +@@ -11,16 +11,16 @@ + START_TEST(test_nick_strip){ + int i; + const char *get[] = { "test:", "test", "test\n", +- "thisisaveryveryveryverylongnick", +- "thisisave:ryveryveryverylongnick", ++ "thisisaveryveryveryveryveryveryverylongnickthisisaveryveryveryveryveryveryverylongnickthisisaveryveryveryveryveryveryverylongnick", ++ "thisis:averyveryveryveryveryveryverylongnickthisisaveryveryveryveryveryveryverylongnickthisisaveryveryveryveryveryveryverylongnick", + "t::::est", + "test123", + "123test", + "123", + NULL }; + const char *expected[] = { "test", "test", "test", +- "thisisaveryveryveryveryl", +- "thisisaveryveryveryveryl", ++ "thisisaveryveryveryveryveryveryverylongnickthisisaveryveryveryveryveryveryverylongnickthisisaveryve", ++ "thisisaveryveryveryveryveryveryverylongnickthisisaveryveryveryveryveryveryverylongnickthisisaveryve", + "test", + "test123", + "_123test", +@@ -28,7 +28,7 @@ START_TEST(test_nick_strip){ + NULL }; + + for (i = 0; get[i]; i++) { +- char copy[60]; ++ char copy[260]; + strcpy(copy, get[i]); + nick_strip(NULL, copy); + fail_unless(strcmp(copy, expected[i]) == 0, +@@ -53,7 +53,7 @@ END_TEST + + START_TEST(test_nick_ok_notok) + { +- const char *nicks[] = { "thisisaveryveryveryveryveryveryverylongnick", ++ const char *nicks[] = { "thisisaveryveryveryveryveryveryverylongnickthisisaveryveryveryveryveryveryverylongnickthisisaveryveryveryveryveryveryverylongnick", + "\nillegalchar", "", "nick%", "123test", NULL }; + int i; + diff --git a/overlays/bitlbee/default.nix b/overlays/bitlbee/default.nix new file mode 100644 index 00000000..5183d012 --- /dev/null +++ b/overlays/bitlbee/default.nix @@ -0,0 +1,5 @@ +self: super: { + bitlbee = super.bitlbee.overrideAttrs(old: { + patches = (old.patches or []) ++ [ ./bitlbee_long_nicks.patch ]; + }); +} diff --git a/overlays/bundix/default.nix b/overlays/bundix/default.nix new file mode 100644 index 00000000..6c4046cf --- /dev/null +++ b/overlays/bundix/default.nix @@ -0,0 +1,7 @@ +self: super: { + bundix = super.bundix.overrideAttrs (old: { + preBuild = (old.preBuild or "") + '' + sed -i -e "/case obj/a\ when nil\n nil" lib/bundix/nixer.rb + ''; + }); +} diff --git a/overlays/databases/mysql/default.nix b/overlays/databases/mysql/default.nix new file mode 100644 index 00000000..5e402841 --- /dev/null +++ b/overlays/databases/mysql/default.nix @@ -0,0 +1,12 @@ +self: super: rec { + mariadb = mariadbPAM; + mariadbPAM = super.mariadb.overrideAttrs(old: { + cmakeFlags = old.cmakeFlags ++ [ "-DWITH_AUTHENTICATION_PAM=ON" ]; + buildInputs = old.buildInputs ++ [ self.pam ]; + }) // (with super.mariadb; { + inherit client; + servier = super.mariadb; + inherit connector-c; + inherit galera; + }); +} diff --git a/overlays/databases/postgresql/default.nix b/overlays/databases/postgresql/default.nix new file mode 100644 index 00000000..8d1405e3 --- /dev/null +++ b/overlays/databases/postgresql/default.nix @@ -0,0 +1,11 @@ +self: super: rec { + postgresql_11_custom = super.postgresql_11.overrideAttrs(old: { + # datadir in /var/lib/postgresql is named after psqlSchema + passthru = old.passthru // { psqlSchema = "11.0"; }; + configureFlags = old.configureFlags ++ [ "--with-pam" ]; + buildInputs = (old.buildInputs or []) ++ [ self.pam ]; + patches = old.patches ++ [ + ./postgresql_run_socket_path.patch + ]; + }); +} diff --git a/overlays/databases/postgresql/postgresql_run_socket_path.patch b/overlays/databases/postgresql/postgresql_run_socket_path.patch new file mode 100644 index 00000000..b558c7b7 --- /dev/null +++ b/overlays/databases/postgresql/postgresql_run_socket_path.patch @@ -0,0 +1,12 @@ +diff -Naur postgresql-9.2.0.sockets/src/include/pg_config_manual.h postgresql-9.2.0/src/include/pg_config_manual.h +--- postgresql-9.2.0.sockets/src/include/pg_config_manual.h 2012-09-06 17:26:17.000000000 -0400 ++++ postgresql-9.2.0/src/include/pg_config_manual.h 2012-09-06 18:13:18.183092471 -0400 +@@ -144,7 +144,7 @@ + * here's where to twiddle it. You can also override this at runtime + * with the postmaster's -k switch. + */ +-#define DEFAULT_PGSOCKET_DIR "/tmp" ++#define DEFAULT_PGSOCKET_DIR "/run/postgresql" + + /* + * The random() function is expected to yield values between 0 and diff --git a/overlays/default.nix b/overlays/default.nix new file mode 100644 index 00000000..408515ed --- /dev/null +++ b/overlays/default.nix @@ -0,0 +1,31 @@ +{ + mylibs = self: super: { mylibs = import ../libs.nix { pkgs = self; }; }; + mypkgs = self: super: import ../pkgs { pkgs = self; }; + + bitlbee = import ./bitlbee; + bundix = import ./bundix; + dwm = import ./dwm; + elinks = import ./elinks; + gitweb = import ./gitweb; + goaccess = import ./goaccess; + kanboard = import ./kanboard; + ldapvi = import ./ldapvi; + lesspipe = import ./lesspipe; + mysql = import ./databases/mysql; + neomutt = import ./neomutt; + nixops = import ./nixops; + pass = import ./pass; + pelican = import ./pelican; + postgresql = import ./databases/postgresql; + profanity = import ./profanity; + sc-im = import ./sc-im; + shaarli = import ./shaarli; + slrn = import ./slrn; + taskwarrior = import ./taskwarrior; + vit = import ./vit; + weboob = import ./weboob; + weechat = import ./weechat; + ympd = import ./ympd; +} +// import ./python-packages +// import ./environments diff --git a/overlays/dwm/default.nix b/overlays/dwm/default.nix new file mode 100644 index 00000000..96ed3ff5 --- /dev/null +++ b/overlays/dwm/default.nix @@ -0,0 +1,7 @@ +self: super: { + dwm = super.dwm.overrideAttrs(old: rec { + postPatch = '' + cp ${./dwm_config.h} ./config.h + ''; + }); +} diff --git a/overlays/dwm/dwm_config.h b/overlays/dwm/dwm_config.h new file mode 100644 index 00000000..b1587e88 --- /dev/null +++ b/overlays/dwm/dwm_config.h @@ -0,0 +1,98 @@ +/* See LICENSE file for copyright and license details. */ + +/* appearance */ +static const unsigned int borderpx = 1; /* border pixel of windows */ +static const unsigned int snap = 32; /* snap pixel */ +static const int showbar = 1; /* 0 means no bar */ +static const int topbar = 1; /* 0 means bottom bar */ +static const char *fonts[] = { "monospace:size=10" }; +static const char dmenufont[] = "monospace:size=10"; +static const char col_gray1[] = "#222222"; +static const char col_gray2[] = "#444444"; +static const char col_gray3[] = "#bbbbbb"; +static const char col_gray4[] = "#eeeeee"; +static const char col_cyan[] = "#005577"; +static const char *colors[][3] = { + /* fg bg border */ + [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, + [SchemeSel] = { col_gray4, col_cyan, col_cyan }, +}; + +/* tagging */ +static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; + +static const Rule rules[] = { + /* xprop(1): + * WM_CLASS(STRING) = instance, class + * WM_NAME(STRING) = title + */ + /* class instance title tags mask isfloating monitor */ + { "Nextcloud", NULL, NULL, 9 << 8, 0, -1 }, +}; + +/* layout(s) */ +static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */ +static const int nmaster = 1; /* number of clients in master area */ +static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */ + +static const Layout layouts[] = { + /* symbol arrange function */ + { "[M]", monocle }, /* first entry is default */ + { "[]=", tile }, + { "><>", NULL }, /* no layout function means floating behavior */ +}; + +/* key definitions */ +#define MODKEY Mod1Mask +#define TAGKEYS(KEY,TAG) \ + { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ + { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ + { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \ + { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} }, + +/* helper for spawning shell commands in the pre dwm-5.0 fashion */ +#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } + +/* commands */ +static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */ +static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; +static const char *termcmd[] = { "st", NULL }; + +static Key keys[] = { + /* modifier key function argument */ + { MODKEY, XK_p, spawn, {.v = dmenucmd } }, + { MODKEY, XK_t, spawn, {.v = termcmd } }, + { MODKEY, XK_Tab, view, {0} }, + { MODKEY|ShiftMask, XK_c, killclient, {0} }, + { MODKEY, XK_j, focusstack, {.i = +1 } }, + { MODKEY, XK_k, focusstack, {.i = -1 } }, + { MODKEY, XK_Return, zoom, {0} }, + TAGKEYS( XK_1, 0) + TAGKEYS( XK_2, 1) + TAGKEYS( XK_3, 2) + TAGKEYS( XK_4, 3) + TAGKEYS( XK_5, 4) + TAGKEYS( XK_6, 5) + TAGKEYS( XK_7, 6) + TAGKEYS( XK_8, 7) + TAGKEYS( XK_9, 8) + { MODKEY|ShiftMask, XK_q, quit, {0} }, +}; + +/* button definitions */ +/* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */ +static Button buttons[] = { + /* click event mask button function argument */ + { ClkLtSymbol, 0, Button1, setlayout, {0} }, + { ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} }, + { ClkWinTitle, 0, Button2, zoom, {0} }, + { ClkStatusText, 0, Button2, spawn, {.v = termcmd } }, + { ClkClientWin, MODKEY, Button1, movemouse, {0} }, + { ClkClientWin, MODKEY, Button2, togglefloating, {0} }, + { ClkClientWin, MODKEY, Button3, resizemouse, {0} }, + { ClkTagBar, 0, Button1, view, {0} }, + { ClkTagBar, 0, Button3, toggleview, {0} }, + { ClkTagBar, MODKEY, Button1, tag, {0} }, + { ClkTagBar, MODKEY, Button3, toggletag, {0} }, +}; + diff --git a/overlays/elinks/default.nix b/overlays/elinks/default.nix new file mode 100644 index 00000000..1744dc0b --- /dev/null +++ b/overlays/elinks/default.nix @@ -0,0 +1,14 @@ +self: super: { + elinks = super.elinks.overrideAttrs (old: + self.mylibs.fetchedGithub ./elinks.json // rec { + preConfigure = ''sh autogen.sh''; + buildInputs = old.buildInputs ++ (with self; [ gettext automake autoconf ]); + configureFlags = [ + "--disable-smb" "--without-x" "--enable-cgi" + "--enable-leds" "--enable-256-colors" + "--enable-html-highlight" "--with-zlib" + ]; + patches = []; + } + ); +} diff --git a/overlays/elinks/elinks.json b/overlays/elinks/elinks.json new file mode 100644 index 00000000..ea13b1fa --- /dev/null +++ b/overlays/elinks/elinks.json @@ -0,0 +1,15 @@ +{ + "tag": "f86be65-master", + "meta": { + "name": "elinks", + "url": "https://github.com/nabetaro/elinks", + "branch": "master" + }, + "github": { + "owner": "nabetaro", + "repo": "elinks", + "rev": "f86be659718c0cd0a67f88b42f07044c23d0d028", + "sha256": "1jxb7xgawcjkb3gw4gqyw26g02709wwdbhyczfckh3l4njxhy14m", + "fetchSubmodules": true + } +} diff --git a/overlays/environments/default.nix b/overlays/environments/default.nix new file mode 100644 index 00000000..630b0bd1 --- /dev/null +++ b/overlays/environments/default.nix @@ -0,0 +1,3 @@ +{ + immae-eu = import ./immae-eu.nix; +} diff --git a/overlays/environments/immae-eu.nix b/overlays/environments/immae-eu.nix new file mode 100644 index 00000000..1f27e7ca --- /dev/null +++ b/overlays/environments/immae-eu.nix @@ -0,0 +1,116 @@ +self: super: with self; +let + # https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh + # https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks + paths = [ + # archives + lzo unzip bzip2 p7zip xz + # unrar is unfree + + # backups + duply + + # calendar/contacts + abook khard khal cadaver vdirsyncer pal + + # computing + boinctui + + # cryptocurrencies + cardano sia monero + xmr-stak + solc + iota-cli-app + + # debugging + rr valgrind netcat-gnu strace + + # documentations + unicodeDoc + + # e-mails + muttprint mutt-ics + notmuch-python2 notmuch-python3 notmuch-vim + neomutt mairix notmuch + bogofilter fetchmail + + # git + vcsh gitRepo gitAndTools.stgit tig + + # graphical tools + nextcloud-client firefox + dwm dmenu st + + # images + feh imagemagick tiv graphicsmagick + + # internet browsing + w3m lynx links elinks browsh weboob urlview googler urlwatch + + # less + python3Packages.pygments lesspipe highlight sourceHighlight + + # monitoring + cnagios mtop pg_activity nagios-cli mtr + iftop htop iotop iperf + goaccess + # nagnu + + # messaging/forums/news + flrn slrn + telegram-cli telegram-history-dump telegramircd + weechat profanity + newsboat irssi + + # nix + mylibs.yarn2nixPackage.yarn2nix + nixops nix-prefetch-scripts nix-generate-from-cpan + nix-zsh-completions bundix nodePackages.bower2nix + nodePackages.node2nix + # (nixos {}).nixos-generate-config + # (nixos {}).nixos-install + # (nixos {}).nixos-enter + # (nixos {}).manual.manpages + + # note taking + note terminal-velocity jrnl + + # office + sc-im ranger + genius bc + ledger + tmux + rtorrent + ldapvi + + # password management + pass apg pwgen + + # pdf + pdftk poppler_utils + + # programming + pelican emacs26-nox ctags + wdiff + + # security + keybase + + # todolist/time management + taskwarrior vit timewarrior + + # video/music + youtube-dl ncmpc ncmpcpp ffmpeg + + # other tools + pgloader s3cmd lftp jq cpulimit libxslt + ]; +in +{ + myEnvironments.immae-eu = buildEnv { + name = "immae-eu-packages"; + inherit paths; + pathsToLink = [ "/bin" "/etc" "/include" "/lib" "/libexec" "/share"]; + extraOutputsToInstall = [ "bin" "man" "doc" "info" ]; + }; +} diff --git a/overlays/gitweb/default.nix b/overlays/gitweb/default.nix new file mode 100644 index 00000000..aa17d22f --- /dev/null +++ b/overlays/gitweb/default.nix @@ -0,0 +1,7 @@ +self: super: { + gitweb = super.gitweb.overrideAttrs(old: { + installPhase = old.installPhase + '' + cp -r ${./theme} $out/gitweb-theme; + ''; + }); +} diff --git a/overlays/gitweb/theme/git-favicon.png b/overlays/gitweb/theme/git-favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..4fa44bb051e6ed0726911f095d6991e430805242 GIT binary patch literal 1125 zcmaJ=T}TvB6dp574ADR;i)tLBjN18iU3c2m+@0NAadwy86*q!xoVn_t^W)6bUF{|8 zsfQpXqURp!p+5+!hoB%L@F_w;j35M|w=yj?((I198qs!P?!D*U@B7ZV=bX73kDe_p zIZ%ROSZSnLNT9Xc`HBnCT;nQBqNNgs(lBXs!Hi@9tVuCC0Upt$ZjbB?p zsHrqei>aW?QW44%^>Jen};os z9FC^s;a=IR5RDDEFUunV4L}LcYJIxRXZ^&wE|2!kF-73(5ZLP{HiAlvaXe^P0C$tL zOQ!2+ypACmuGZu6oWfa}p(&cB7}mvjc#h?18s8iQ@@6Srd_o9s`a+hU=z-AWDJql6 zkQt6NtZs_&dcBSY%eoN4We@34%DQyBI;S82Teegas)mj`ic+UB0R04tbmIw{xh1RH zn`uG`qq34oF(mCgDF+nA|3fux3vI&$*pBy~!ggxN1XKdp#(*WG!gW(6D<96AvccxG2f0?%3;iQRE}K4JBO$5y4L&1yWTNo@Ik5y>;$T*z0AO z5K|v^hlKz`3-z90kPg)5xPl=MXh4TKuCmRo%gc3IK{JtO0a)rFP{Nj>;pw= zdG$8AO8!`C^KvN^4CNH|k3#2;Q1>|7t+qwRR^tO5b-RVydWN|B!uciQt*OwQ$bOBo zOL1;K$}U9N?=fyU&i#mU-(u|Q^u)^a#A1w_PkHCt_@(yKi)c>!em=XuI`wXCZS4v1 z@eR_cfQe`lnST!~7W=dZ-S)YwQm+|7A@mG&02Y;<~9K6}mG5g_4;n?!H zT`{|F;bg(m@uG>NQCB{9CY}X%cZ0b~2nqo%05V__ZX8cUkPzWtbqR|7(lH7S`w9VL ziSWOQ3Z(?YNPHmx!y(ZKCfX4VbHpGq_6|-?PMcs@GzN`AV^J6^0^>xm#}d$J*tZ9+ z$R=b(5oq4N-*PD;B0L5J1q2jIEEXfh_DH@k8im2*@k<(5EJA@mi1zY8h6KSASu87f z10tr7Edbek9&AaG5y?*giEu@we_eqq_%6#6eQT4VVJHbhfWjcrOIKP3QYil)%H@7X zi$EIicfJ2pSVZ3|08lhQ#7_`16@!biSV|=zkc0pO~4<}(wx01sT|vi|0J{*b$51+GAm*&7hD69Ja5kk5sEy)uFQ<64}4sP~P_ z`f)AJKjfkm#h{i3`(J}zK2o@6Y5U!_ir~BP0iMF`LWQj_F;6e zIQmwD)(iFnoskHAB`pKJ)7vay5rM(bM%4l{o_l3(q=%Y?wSNaEM_UTF4xm7DGL%Yu zM`-%`O${MVq!rR@>}T~!^o1Vx{be;%neW0Wu8HmfoS;fLKu@ZLv2)uWrfS(So9cRJw+EZ7Qa+Ua z*!G20Snv_c5vAcMw;{wJgr`<+Z`>m57#ypp;Q+~Pd(_BdSDCQRy!_u%Y;)tgOvlv2 z$z&1glGJT{oz_BhX60w4oclcmxs+8Q7Yq!}8fPnO%m+!=xm$B(Aw}bA>s4loUU#+{ zij8{<$5n4-dR&{_yt3j2HurdIy`!x5hT~XYa?o7Mhf@>Ey6QN2y30vo!AqAtN)sC- zip~M1cN!P-wtj5Qs_Y3Q(Q*T5s}DH3q-Ca3o2(mvSC85zn&xafQH9-YUdQSq+niln zI)j^@KSLGuQkwp`mQKA_`)+dmZwzX+dBDxxkoqwVAKiebI-~Ec^df}~p*dQk(!MSF zwHqF2e5?r{s>jub=%nP$=uGs1vjZBqd6-`=8m%;c7)9$WtihFDqCc<@&dc+oLPVs9 z4`~^n={;R4$Oq?Jefy_O^9DVwCZBr-L4hFE6-A%;_|mz3{Xpl9LxrcF)eX%2G)#_A z)3`vzr?yu#nA=Pq^c)PVi>|szl+{*r1|~{tHKEdc{RZ4WOe6tY2FSatB+6HI2WAuO zoF4i|J+K{Ahwj~UiOTBw`K|K8Lt0gq;rql}`Elxqz)_{}X-j1Crs`^n*!K0%+lAXY zTX}x*)~fF>?IGJyb~oG746ynJPb`q-^xvLCfdh zLbqFS>gCg?wxOChwdVa9VeOCG*_Lr7C0MiS>yB6Q_0H^IUAubZ~8VK z9Tc}bT9*?tUV5#{FrMmw(Adne4>AnD+b9_^X*GdACR9n&WV#XM*@mQ7&DHU5H{ReJ zMbA@dWE9?JQTs|(?zx=A;hm11Q8U6Y*-F}m<|8}iE5Zxk{VCs(eQevtUXz2cv9iyH zLyg#!yYydUT#GPSslrSa6io?gEY$mBEh*umR#uEDlsie=zT#2K()0b!XSCLgU7Z+{C!BF@yXohX z{Q*DJl@YemS_Gk9`!bto)E($#cn-F>KTY$|%+2)|Wv1s!MaNlp zK0I!DwX?Yc?QQ)frJ)EcwV%2TYE#`tL^sN__3iF`v>9mb4!+f .list_head { + width: 98.5%; +} + +.page_body > .diff_tree { + width: 99.5%; +} + +.patch > .header { + width: 99%; +} + +.author .avatar, +.author_date .avatar { + position: relative; + top: 3px; +} + +.object_header .avatar { + border: 1px solid #D8D8D8; + float: right; +} + +.object_header td, +.object_header th { + vertical-align: top; +} + +/* Refs +---------------------------------------------------------------------------- */ + +span.refs span { + color: #707070; + display: inline-block; + margin: 0; + background-color: #eee; + border: 1px solid #ccc; + border-radius: 3px; + height: 18px; + padding: 0 6px; + text-overflow: ellipsis; +} + +span.refs span.ref { + color: #707070; + display: inline-block; + margin: 0; + background-color: #c4c4ff; + border: 1px solid #7878ff; + border-radius: 3px; + height: 18px; + padding: 0 6px; + text-overflow: ellipsis; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gIKFSUnpolg7AAAAHJQTFRFAAAAVVWqZmbMVVXVYGDgbW3td3fuc3PzdHT0cHD1d3f6dHT6dnb7dHT7dnb8dnb8dnb9d3f9dnb+eHj+d3f+eHj+d3f+d3f+d3f+eHj+d3f+eHj+d3f+eHj+d3f+d3f+eHj+d3f+d3f+d3f+eHj/////V9oQhQAAACR0Uk5TAAIEBQcNDhMVGCotNTZAT217i5CgobvExtjZ4eLr7vP09ff7uqQ6cgAAAAFiS0dEJcMByQ8AAABUSURBVBjTpc43AoAwDENRh95bgNBM1f3PyOpslD++RSJ61YgH5M2IbIkn4GocSR1MZVBL4t2n4FgkbaxI8Sqph041WknZCWAIrcmEUbpf3lNe0N9u59YFYHnZ78gAAAAASUVORK5CYII=); + background-repeat: no-repeat; + padding-left: 18px; +} + +span.refs span.tag { + color: #707070; + display: inline-block; + margin: 0; + background-color: #ffffab; + border: 1px solid #d9d93b; + border-radius: 3px; + height: 18px; + padding: 0 6px; + text-overflow: ellipsis; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gIKFSUZZ+h9RwAAAGZQTFRFAAAAtrYkwMBAwMBAx8c4yso11NQ71NQ51dU52Ng71tY519c719c719c62Ng719c719c62Ng72dk62Ng62Ng72Ng72dk62Ng72Ng62dk62dk72dk62Ng62dk72Ng72Ng72dk7////ou/AnQAAACB0Uk5TAAYHCxESLjRCWWlqa4uNkpissbrO19jc3ufs8vf6/f7atAU2AAAAAWJLR0QhxGwNFgAAAF1JREFUGFeNy0cOgCAABVGw94rY5d//lC7omhhn+ZIh5Gf1xPk0Zi5dAABROIQjSU/fsAXhDkCUljAv8jW2wlQpaixpo4Nj+dtatVpjkSJjLNaizRVpvhBCu/4h391jzw1lU12Z7wAAAABJRU5ErkJggg==); + background-repeat: no-repeat; + padding-left: 18px; +} + +span.refs span.head { + color: #707070; + display: inline-block; + margin: 0; + background-color: #c4ffc4; + border: 1px solid #78ff78; + border-radius: 3px; + height: 18px; + padding: 0 6px; + text-overflow: ellipsis; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gIKFSYDsafX/gAAAUpJREFUOMvVkjFLA0EQhd/s7l06MSCihbV/wC5/QBDEIFYWprRIIQQJFqKFQi4kUbBQsFSwtrUQLQULUTBFLCzVIgimCXe7z0q5yIWcqfRVwzDzMTNvgL8mSUqWw3JOtFQJdsIwLDYyjdYgkEmkazl2oVtQWk36nn8AYBYASmFpxmizGtnoqO7Vb+M9KglEkASdpWU872nvVCiPRpuTnz2JIHGyqX3d0kZfR1G0Ht+g/do+FIhOBbLW3n/FNb/28D0puZ+dyL44ur1UoH5yzt2JyIj6UGdDgwrPhYzSagNEszJaeU/lWlylbmnaeGZZICsAppxzi6nt73HK85oQCMknOuarpno+FIjglVjZDXaCS2yDv3rIHlCb88FY0BlUl3hs7ektkhckb5DFWhoz+n12zr7ZPLpYUqLm0oBMn8NUzLhpAgjpWMS/1CcSJ3ykD7Rk1QAAAABJRU5ErkJggg==); + background-repeat: no-repeat; + padding-left: 18px; +} + +span.refs a { + color: #4e4e4e; + font: 11px "Bitstream Vera Sans Mono", "DejaVu Sans Mono", Monaco, monospace; + line-height: 18px; +} + +/* Diffs +---------------------------------------------------------------------------- */ + +div.diff.to_file a.path, +div.diff.to_file { + color: #007000; +} + +div.diff.from_file a.path, +div.diff.from_file { + color: #aa0000; +} + +.patch .header { + margin: 0; +} + +.patchset { + overflow-x: auto; + overflow-y: hidden; +} + +.chunk_header { + background: #eaf2f5; + color: #999; +} + +.rem { + background: #ffdddd; +} +.rem .marked { + background: #ffaaaa; +} +.add { + background: #ddffdd; +} +.add .marked { + background: #7dff7d; +} + +.extended_header { + width: 99.5%; +} + +div.chunk_block { + overflow: hidden; +} + +div.chunk_block div.old { + float: left; + width: 50%; + overflow: hidden; + border-right: 5px solid #EAF2F5; +} + +div.chunk_block.rem, +div.chunk_block.add { + background: transparent; +} + +div.chunk_block div.old .add, +div.chunk_block div.old .rem { + padding-right: 3px; +} + +div.chunk_block div.new .add, +div.chunk_block div.new .rem { + padding-left: 3px; +} + +div.chunk_block div.new { + margin-left: 50%; + width: 50%; + border-left: 5px solid #EAF2F5; +} + +/* Category +---------------------------------------------------------------------------- */ + +td.category { + background: #E6F1F6; /* old browsers */ + background: -moz-linear-gradient(top, #C8D8E7 0%, #E6F1F3 100%); /* firefox */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#C8D8E7), color-stop(100%,#E6F1F3)); /* webkit */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#C8D8E7', endColorstr='#E6F1F3',GradientType=0 ); /* ie */ + background: -o-linear-gradient(top, #C8D8E7 0%, #E6F1F3 100%); + font-weight: bold; + border-bottom: 1px solid #D1D1D1; + border-top: 1px solid #D1D1D1; +} + +/* Age +---------------------------------------------------------------------------- */ + +/* noage: "No commits" */ +.project_list td.noage { + color: #cdcdcd; +} + +/* age2: 60*60*24*2 <= age */ +.project_list td.age2, .blame td.age2 { + color: #545454; +} + +/* age1: 60*60*2 <= age < 60*60*24*2 */ +.project_list td.age1 { + color: #009900; +} + +/* age0: age < 60*60*2 */ +.project_list td.age0 { + color: #009900; + font-weight: bold; +} + +/* File status +---------------------------------------------------------------------------- */ + +.diff_tree span.file_status.new { + color: #008000; +} + +table.diff_tree span.file_status.deleted { + color: #c00000; +} + +table.diff_tree span.file_status.moved, +table.diff_tree span.file_status.mode_chnge { + color: #545454; +} + +table.diff_tree span.file_status.copied { + color: #70a070; +} + +span.cntrl { + border: dashed #aaaaaa; + border-width: 1px; + padding: 0px 2px 0px 2px; + margin: 0px 2px 0px 2px; +} + +span.match { + background: #aaffaa; + color: #000; +} + +td.error { + color: red; + background: yellow; +} + +/* blob view */ + +td.pre, div.pre, div.diff { + white-space: pre-wrap; +} + +/* JavaScript-based timezone manipulation */ + +.popup { /* timezone selection UI */ + position: absolute; + /* "top: 0; right: 0;" would be better, if not for bugs in browsers */ + top: 0; left: 0; + border: 1px solid #d8d8d8; + padding: 2px; + background-color: #f0f0f0; + font-style: normal; + color: #545454; + cursor: auto; +} + +.close-button { /* close timezone selection UI without selecting */ + /* float doesn't work within absolutely positioned container, + * if width of container is not set explicitly */ + /* float: right; */ + position: absolute; + top: 0px; right: 0px; + border: 1px solid #ffaaaa; + margin: 1px 1px 1px 1px; + padding-bottom: 2px; + width: 12px; + height: 10px; + font-size: 9px; + font-weight: bold; + text-align: center; + background-color: #ffdddd; + cursor: pointer; +} + +/* Style definition generated by highlight 2.4.5, http://www.andre-simon.de/ */ + +/* Highlighting theme definition: */ + +.num { color:#6ecf36; } +.esc { color:#ff00ff; } +.str { color:#ff00d3; background-color: #edc9ec } +.dstr { color:#818100; } +.slc { color:#838183; font-style:italic; } +.com { color:#838183; font-style:italic; } +.dir { color:#008200; } +.sym { color:#000000; } +.line { color:#555555; } +.kwa { color:#666666; font-weight:bold; } +.kwb { color:#6b3099; } +.kwc { color:#d4663d; } +.kwd { color:#2928ff; } + +/**** Styles supplémentaires *****/ + +.readme div.toc { + float: right; + border: 1px solid black; + background-color: white; +} +.readme div.toc span.toctitle { + display: inline-block; + width: 100%; + text-align: center; + font-weight: bold; +} + +.readme table { + background-color: white; +} + +.readme table thead tr { + background-color: #ccc; +} + +.readme table tbody tr:nth-child(2n) { + background-color: #f8f8f8; +} + +.readme table td, .readme table th { + border: 1px solid black; +} diff --git a/overlays/gitweb/theme/gitweb.js b/overlays/gitweb/theme/gitweb.js new file mode 100644 index 00000000..72f3cfa5 --- /dev/null +++ b/overlays/gitweb/theme/gitweb.js @@ -0,0 +1,27 @@ +function include(filename, onload) { + var head = document.getElementsByTagName('head')[0]; + var script = document.createElement('script'); + script.src = filename; + script.type = 'text/javascript'; + script.onload = script.onreadystatechange = function() { + if (script.readyState) { + if (script.readyState === 'complete' || script.readyState === 'loaded') { + script.onreadystatechange = null; + onload(); + } + } + else { + onload(); + } + } + head.appendChild(script); +} + +include('static/gitweb.js', function() {}); +include('//code.jquery.com/jquery-3.1.0.min.js', function() { + $("div.title").each(function(index, element) { + if ($(element).text() === "readme" || $(element).text() === " ") { + $(element).hide(); + } + }); +}); diff --git a/overlays/goaccess/default.nix b/overlays/goaccess/default.nix new file mode 100644 index 00000000..12b28f3b --- /dev/null +++ b/overlays/goaccess/default.nix @@ -0,0 +1,13 @@ +self: super: { + goaccess = super.goaccess.overrideAttrs(old: rec { + name = "goaccess-${version}"; + version = "1.3"; + src = self.fetchurl { + url = "https://tar.goaccess.io/${name}.tar.gz"; + sha256 = "16vv3pj7pbraq173wlxa89jjsd279004j4kgzlrsk1dz4if5qxwc"; + }; + configureFlags = old.configureFlags ++ [ "--enable-tcb=btree" ]; + buildInputs = old.buildInputs ++ [ self.tokyocabinet self.bzip2 ]; + }); + +} diff --git a/overlays/kanboard/default.nix b/overlays/kanboard/default.nix new file mode 100644 index 00000000..81b39fec --- /dev/null +++ b/overlays/kanboard/default.nix @@ -0,0 +1,18 @@ +self: super: { + kanboard = { kanboard_config ? "/etc/kanboard/config.php" }: + super.kanboard.overrideAttrs(old: rec { + name = "kanboard-${version}"; + version = "1.2.9"; + src = self.fetchFromGitHub { + owner = "kanboard"; + repo = "kanboard"; + rev = "c4152316b14936556edf3bcc4d11f16ba31b8ae7"; + sha256 = "18bn9zhyfc5x28hwcxss7chdq7c8rshc8jxgai65i5l68iwhvjg7"; + }; + installPhase = '' + cp -a . $out + ln -s ${kanboard_config} $out/config.php + mv $out/data $out/dataold + ''; + }); +} diff --git a/overlays/ldapvi/default.nix b/overlays/ldapvi/default.nix new file mode 100644 index 00000000..030e6769 --- /dev/null +++ b/overlays/ldapvi/default.nix @@ -0,0 +1,3 @@ +self: super: { + ldapvi = super.ldapvi.overrideAttrs (old: self.mylibs.fetchedGit ./ldapvi.json); +} diff --git a/overlays/ldapvi/ldapvi.json b/overlays/ldapvi/ldapvi.json new file mode 100644 index 00000000..ceaff712 --- /dev/null +++ b/overlays/ldapvi/ldapvi.json @@ -0,0 +1,14 @@ +{ + "tag": "f1d42ba-master", + "meta": { + "name": "ldapvi", + "url": "http://www.lichteblau.com/git/ldapvi.git", + "branch": "master" + }, + "git": { + "url": "http://www.lichteblau.com/git/ldapvi.git", + "rev": "f1d42bad66cc4623d1ff21fbd5dddbf5009d3e40", + "sha256": "0c2h4b1spp9z6a16gy9azf0wyxq397yy7001x1zlvc7c60q11wry", + "fetchSubmodules": true + } +} diff --git a/overlays/lesspipe/default.nix b/overlays/lesspipe/default.nix new file mode 100644 index 00000000..e53feae6 --- /dev/null +++ b/overlays/lesspipe/default.nix @@ -0,0 +1,5 @@ +self: super: { + lesspipe = super.lesspipe.overrideAttrs(old: { + configureFlags = (old.configureFlags or []) ++ [ "--yes" ]; + }); +} diff --git a/overlays/neomutt/default.nix b/overlays/neomutt/default.nix new file mode 100644 index 00000000..c8578c9a --- /dev/null +++ b/overlays/neomutt/default.nix @@ -0,0 +1,8 @@ +self: super: { + neomutt = super.neomutt.overrideAttrs (old: + { + buildInputs = old.buildInputs ++ [ self.gdbm ]; + configureFlags = old.configureFlags ++ [ "--gdbm" ]; + } + ); +} diff --git a/overlays/nixops/default.nix b/overlays/nixops/default.nix new file mode 100644 index 00000000..eb29ecd0 --- /dev/null +++ b/overlays/nixops/default.nix @@ -0,0 +1,7 @@ +self: super: { + nixops = super.nixops.overrideAttrs (old: { + preConfigure = (old.preConfigure or "") + '' + sed -i -e "/'keyFile'/s/'path'/'string'/" nixops/backends/__init__.py + ''; + }); +} diff --git a/overlays/pass/default.nix b/overlays/pass/default.nix new file mode 100644 index 00000000..df42cf19 --- /dev/null +++ b/overlays/pass/default.nix @@ -0,0 +1,8 @@ +self: super: { + pass = (super.pass.withExtensions (exts: [ exts.pass-otp ])).overrideAttrs (old: + self.mylibs.fetchedGit ./pass.json // { + patches = old.patches ++ [ ./pass-fix-pass-init.patch ]; + } + ); + +} diff --git a/overlays/pass/pass-fix-pass-init.patch b/overlays/pass/pass-fix-pass-init.patch new file mode 100644 index 00000000..10a76c16 --- /dev/null +++ b/overlays/pass/pass-fix-pass-init.patch @@ -0,0 +1,42 @@ +From 33e8f1cd0065639a948d7b5ba3f93d43bdf7f3be Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= +Date: Sun, 11 Nov 2018 19:47:33 +0100 +Subject: [PATCH] Fix pass init for some gpg keys + +This fixes the pass init for gpg keys which have their main key as +encryption key. This may happen for instance with RSA keys and specific +configuration. +--- + src/password-store.sh | 2 +- + tests/t0300-reencryption.sh | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/password-store.sh b/src/password-store.sh +index d89d455..44d122e 100755 +--- a/src/password-store.sh ++++ b/src/password-store.sh +@@ -124,7 +124,7 @@ reencrypt_path() { + IFS=";" eval 'GPG_RECIPIENTS+=( $group )' # http://unix.stackexchange.com/a/92190 + unset "GPG_RECIPIENTS[$index]" + done +- gpg_keys="$($GPG $PASSWORD_STORE_GPG_OPTS --list-keys --with-colons "${GPG_RECIPIENTS[@]}" | sed -n 's/^sub:[^:]*:[^:]*:[^:]*:\([^:]*\):[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[a-zA-Z]*e[a-zA-Z]*:.*/\1/p' | LC_ALL=C sort -u)" ++ gpg_keys="$($GPG $PASSWORD_STORE_GPG_OPTS --list-keys --with-colons "${GPG_RECIPIENTS[@]}" | sed -n 's/^[ps]ub:[^:]*:[^:]*:[^:]*:\([^:]*\):[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[a-zA-Z]*e[a-zA-Z]*:.*/\1/p' | LC_ALL=C sort -u)" + fi + current_keys="$(LC_ALL=C $GPG $PASSWORD_STORE_GPG_OPTS -v --no-secmem-warning --no-permission-warning --decrypt --list-only --keyid-format long "$passfile" 2>&1 | sed -n 's/^gpg: public key is \([A-F0-9]\+\)$/\1/p' | LC_ALL=C sort -u)" + +diff --git a/tests/t0300-reencryption.sh b/tests/t0300-reencryption.sh +index 3c88987..57d873f 100755 +--- a/tests/t0300-reencryption.sh ++++ b/tests/t0300-reencryption.sh +@@ -7,7 +7,7 @@ cd "$(dirname "$0")" + INITIAL_PASSWORD="will this password live? a big question indeed..." + + canonicalize_gpg_keys() { +- $GPG --list-keys --with-colons "$@" | sed -n 's/sub:[^:]*:[^:]*:[^:]*:\([^:]*\):[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[a-zA-Z]*e[a-zA-Z]*:.*/\1/p' | LC_ALL=C sort -u ++ $GPG --list-keys --with-colons "$@" | sed -n 's/[ps]ub:[^:]*:[^:]*:[^:]*:\([^:]*\):[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[a-zA-Z]*e[a-zA-Z]*:.*/\1/p' | LC_ALL=C sort -u + } + gpg_keys_from_encrypted_file() { + $GPG -v --no-secmem-warning --no-permission-warning --decrypt --list-only --keyid-format long "$1" 2>&1 | grep "public key is" | cut -d ' ' -f 5 | LC_ALL=C sort -u +-- +2.19.1 + diff --git a/overlays/pass/pass.json b/overlays/pass/pass.json new file mode 100644 index 00000000..a4638c13 --- /dev/null +++ b/overlays/pass/pass.json @@ -0,0 +1,14 @@ +{ + "tag": "d29a389-master", + "meta": { + "name": "password-store", + "url": "https://git.zx2c4.com/password-store/", + "branch": "master" + }, + "git": { + "url": "https://git.zx2c4.com/password-store/", + "rev": "d29a389a40524c684595f51bb937f66958bc14ea", + "sha256": "17g43i0if9nggcq6005iyxxy9my8s15ihc2nzwjgqzhy3svh5xvn", + "fetchSubmodules": true + } +} diff --git a/overlays/pelican/default.nix b/overlays/pelican/default.nix new file mode 100644 index 00000000..5f60b8f7 --- /dev/null +++ b/overlays/pelican/default.nix @@ -0,0 +1,6 @@ +self: super: { + pelican = with self.python3Packages; + pelican.overrideAttrs(old: self.mylibs.fetchedGithub ./pelican.json // { + propagatedBuildInputs = old.propagatedBuildInputs ++ [ pyyaml ]; + }); +} diff --git a/overlays/pelican/pelican.json b/overlays/pelican/pelican.json new file mode 100644 index 00000000..d8f4425e --- /dev/null +++ b/overlays/pelican/pelican.json @@ -0,0 +1,15 @@ +{ + "tag": "4.0.1", + "meta": { + "name": "pelican", + "url": "https://github.com/getpelican/pelican", + "branch": "refs/tags/4.0.1" + }, + "github": { + "owner": "getpelican", + "repo": "pelican", + "rev": "24d6efa9fda4ad45649ddf88c1c596193d589bf8", + "sha256": "09fcwnnfln0cl5v0qpxzrllj27znrg6dbhaksxrl0192c3mbyjvl", + "fetchSubmodules": true + } +} diff --git a/overlays/profanity/default.nix b/overlays/profanity/default.nix new file mode 100644 index 00000000..33861f1b --- /dev/null +++ b/overlays/profanity/default.nix @@ -0,0 +1,9 @@ +self: super: { + profanity = (super.profanity.override { + notifySupport = true; + inherit (self) libnotify gpgme gdk_pixbuf; + python = self.python3; + }).overrideAttrs (old: rec { + configureFlags = old.configureFlags ++ [ "--enable-plugins" ]; + }); +} diff --git a/overlays/python-packages/buildbot.nix b/overlays/python-packages/buildbot.nix new file mode 100644 index 00000000..ccf2f6a7 --- /dev/null +++ b/overlays/python-packages/buildbot.nix @@ -0,0 +1,8 @@ +self: super: { + pythonOverrides = self.buildPythonOverrides (pyself: pysuper: { + buildbot-plugins = pysuper.buildbot-plugins // { + buildslist = self.python3PackagesPlus.buildbot-plugins.buildslist; + }; + buildbot-full = pysuper.buildbot-full.withPlugins [ pyself.buildbot-plugins.buildslist ]; + }) super.pythonOverrides; +} diff --git a/overlays/python-packages/default.nix b/overlays/python-packages/default.nix new file mode 100644 index 00000000..8a9949e6 --- /dev/null +++ b/overlays/python-packages/default.nix @@ -0,0 +1,28 @@ +let + fromMyPythonPackages = name: self: super: { + pythonOverrides = self.buildPythonOverrides (pyself: pysuper: { + "${name}" = self."${pyself.python.pname}PackagesPlus"."${name}"; + }) super.pythonOverrides; + }; +in +{ + # https://github.com/NixOS/nixpkgs/issues/44426 + # needs to come before all other in alphabetical order (or make use of + # lib.mkBefore) + __pythonOverlayFix = self: super: let + pyNames = [ "python3" "python36" "python37" ]; + overriddenPython = name: [ + { inherit name; value = super.${name}.override { packageOverrides = self.pythonOverrides; }; } + { name = "${name}Packages"; value = self.recurseIntoAttrs self.${name}.pkgs; } + ]; + overriddenPythons = builtins.concatLists (map overriddenPython pyNames); + in { + pythonOverrides = pyself: pysuper: {}; + buildPythonOverrides = newOverrides: currentOverrides: super.lib.composeExtensions newOverrides currentOverrides; + } // super.lib.attrsets.listToAttrs overriddenPythons; + + + apprise = fromMyPythonPackages "apprise"; + buildbot = import ./buildbot.nix; + wokkel = fromMyPythonPackages "wokkel"; +} diff --git a/overlays/sc-im/default.nix b/overlays/sc-im/default.nix new file mode 100644 index 00000000..f7286552 --- /dev/null +++ b/overlays/sc-im/default.nix @@ -0,0 +1,9 @@ +self: super: { + sc-im = super.sc-im.overrideAttrs (old: { + buildPhase = '' + cd src + sed -i Makefile -e 's@\...name.info@.local/state/$(name)info@' + cd .. + '' + old.buildPhase; + }); +} diff --git a/overlays/shaarli/default.nix b/overlays/shaarli/default.nix new file mode 100644 index 00000000..c2fb9cce --- /dev/null +++ b/overlays/shaarli/default.nix @@ -0,0 +1,10 @@ +self: super: { + shaarli = varDir: super.shaarli.overrideAttrs (old: { + patchPhase = ""; + patches = (old.patches or []) ++ [ ./shaarli_ldap.patch ]; + installPhase = (old.installPhase or "") + '' + cp .htaccess $out/ + ln -sf ${varDir}/{cache,pagecache,tmp,data} $out/ + ''; + }); +} diff --git a/overlays/shaarli/shaarli_ldap.patch b/overlays/shaarli/shaarli_ldap.patch new file mode 100644 index 00000000..9c7315a1 --- /dev/null +++ b/overlays/shaarli/shaarli_ldap.patch @@ -0,0 +1,420 @@ +commit bc82ebfd779b8641dadd6787f51639ea9105c3e8 +Author: Ismaël Bouya +Date: Sun Feb 3 20:58:18 2019 +0100 + + Add ldap connection + +diff --git a/.htaccess b/.htaccess +index 4c00427..5acd708 100644 +--- a/.htaccess ++++ b/.htaccess +@@ -6,10 +6,23 @@ RewriteEngine On + # Prevent accessing subdirectories not managed by SCM + RewriteRule ^(.git|doxygen|vendor) - [F] + ++RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$ ++RewriteRule ^(.*) - [E=BASE:%1] ++ ++RewriteCond %{ENV:REDIRECT_BASE} (.+) ++RewriteRule .* - [E=BASE:%1] ++ + # Forward the "Authorization" HTTP header + RewriteCond %{HTTP:Authorization} ^(.*) + RewriteRule .* - [e=HTTP_AUTHORIZATION:%1] + ++RewriteCond %{REQUEST_FILENAME} !-f ++RewriteCond %{REQUEST_FILENAME} !-d ++RewriteRule ^((?!api/)[^/]*)/?(.*)$ $2?%{QUERY_STRING} [E=USERSPACE:$1] ++ ++RewriteCond %{ENV:REDIRECT_USERSPACE} (.+) ++RewriteRule .* - [E=USERSPACE:%1] ++ + # REST API + RewriteCond %{REQUEST_FILENAME} !-f + RewriteCond %{REQUEST_FILENAME} !-d +diff --git a/application/ApplicationUtils.php b/application/ApplicationUtils.php +index 911873a..f21a1ef 100644 +--- a/application/ApplicationUtils.php ++++ b/application/ApplicationUtils.php +@@ -191,6 +191,9 @@ public static function checkResourcePermissions($conf) + $conf->get('resource.page_cache'), + $conf->get('resource.raintpl_tmp'), + ) as $path) { ++ if (! is_dir($path)) { ++ mkdir($path, 0755, true); ++ } + if (! is_readable(realpath($path))) { + $errors[] = '"'.$path.'" '. t('directory is not readable'); + } +diff --git a/application/config/ConfigManager.php b/application/config/ConfigManager.php +index 32aaea4..99efc15 100644 +--- a/application/config/ConfigManager.php ++++ b/application/config/ConfigManager.php +@@ -21,6 +21,11 @@ class ConfigManager + + public static $DEFAULT_PLUGINS = array('qrcode'); + ++ /** ++ * @var string User space. ++ */ ++ protected $userSpace; ++ + /** + * @var string Config folder. + */ +@@ -41,12 +46,36 @@ class ConfigManager + * + * @param string $configFile Configuration file path without extension. + */ +- public function __construct($configFile = 'data/config') ++ public function __construct($configFile = null, $userSpace = null) + { +- $this->configFile = $configFile; ++ $this->userSpace = $this->findLDAPUser($userSpace); ++ if ($configFile !== null) { ++ $this->configFile = $configFile; ++ } else { ++ $this->configFile = ($this->userSpace === null) ? 'data/config' : 'data/' . $this->userSpace . '/config'; ++ } + $this->initialize(); + } + ++ public function findLDAPUser($login, $password = null) { ++ $connect = ldap_connect(getenv('SHAARLI_LDAP_HOST')); ++ ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3); ++ if (!$connect || !ldap_bind($connect, getenv('SHAARLI_LDAP_DN'), getenv('SHAARLI_LDAP_PASSWORD'))) { ++ return false; ++ } ++ ++ $search_query = str_replace('%login%', ldap_escape($login), getenv('SHAARLI_LDAP_FILTER')); ++ ++ $search = ldap_search($connect, getenv('SHAARLI_LDAP_BASE'), $search_query); ++ $info = ldap_get_entries($connect, $search); ++ ++ if (ldap_count_entries($connect, $search) == 1 && (is_null($password) || ldap_bind($connect, $info[0]["dn"], $password))) { ++ return $login; ++ } else { ++ return null; ++ } ++ } ++ + /** + * Reset the ConfigManager instance. + */ +@@ -269,6 +298,16 @@ public function getConfigFileExt() + return $this->configFile . $this->configIO->getExtension(); + } + ++ /** ++ * Get the current userspace. ++ * ++ * @return mixed User space. ++ */ ++ public function getUserSpace() ++ { ++ return $this->userSpace; ++ } ++ + /** + * Recursive function which find asked setting in the loaded config. + * +@@ -342,19 +381,31 @@ protected static function removeConfig($settings, &$conf) + */ + protected function setDefaultValues() + { +- $this->setEmpty('resource.data_dir', 'data'); +- $this->setEmpty('resource.config', 'data/config.php'); +- $this->setEmpty('resource.datastore', 'data/datastore.php'); +- $this->setEmpty('resource.ban_file', 'data/ipbans.php'); +- $this->setEmpty('resource.updates', 'data/updates.txt'); +- $this->setEmpty('resource.log', 'data/log.txt'); +- $this->setEmpty('resource.update_check', 'data/lastupdatecheck.txt'); +- $this->setEmpty('resource.history', 'data/history.php'); ++ if ($this->userSpace === null) { ++ $data = 'data'; ++ $tmp = 'tmp'; ++ $cache = 'cache'; ++ $pagecache = 'pagecache'; ++ } else { ++ $data = 'data/' . ($this->userSpace); ++ $tmp = 'tmp/' . ($this->userSpace); ++ $cache = 'cache/' . ($this->userSpace); ++ $pagecache = 'pagecache/' . ($this->userSpace); ++ } ++ ++ $this->setEmpty('resource.data_dir', $data); ++ $this->setEmpty('resource.config', $data . '/config.php'); ++ $this->setEmpty('resource.datastore', $data . '/datastore.php'); ++ $this->setEmpty('resource.ban_file', $data . '/ipbans.php'); ++ $this->setEmpty('resource.updates', $data . '/updates.txt'); ++ $this->setEmpty('resource.log', $data . '/log.txt'); ++ $this->setEmpty('resource.update_check', $data . '/lastupdatecheck.txt'); ++ $this->setEmpty('resource.history', $data . '/history.php'); + $this->setEmpty('resource.raintpl_tpl', 'tpl/'); + $this->setEmpty('resource.theme', 'default'); +- $this->setEmpty('resource.raintpl_tmp', 'tmp/'); +- $this->setEmpty('resource.thumbnails_cache', 'cache'); +- $this->setEmpty('resource.page_cache', 'pagecache'); ++ $this->setEmpty('resource.raintpl_tmp', $tmp); ++ $this->setEmpty('resource.thumbnails_cache', $cache); ++ $this->setEmpty('resource.page_cache', $pagecache); + + $this->setEmpty('security.ban_after', 4); + $this->setEmpty('security.ban_duration', 1800); +diff --git a/application/security/LoginManager.php b/application/security/LoginManager.php +index d6784d6..bdfaca7 100644 +--- a/application/security/LoginManager.php ++++ b/application/security/LoginManager.php +@@ -32,6 +32,9 @@ class LoginManager + /** @var string User sign-in token depending on remote IP and credentials */ + protected $staySignedInToken = ''; + ++ protected $lastErrorReason = ''; ++ protected $lastErrorIsBanishable = false; ++ + /** + * Constructor + * +@@ -83,7 +86,7 @@ public function getStaySignedInToken() + */ + public function checkLoginState($cookie, $clientIpId) + { +- if (! $this->configManager->exists('credentials.login')) { ++ if (! $this->configManager->exists('credentials.login') || (isset($_SESSION['username']) && $_SESSION['username'] && $this->configManager->get('credentials.login') !== $_SESSION['username'])) { + // Shaarli is not configured yet + $this->isLoggedIn = false; + return; +@@ -133,20 +136,40 @@ public function isLoggedIn() + */ + public function checkCredentials($remoteIp, $clientIpId, $login, $password) + { +- $hash = sha1($password . $login . $this->configManager->get('credentials.salt')); ++ $this->lastErrorIsBanishable = false; ++ ++ if ($this->configManager->getUserSpace() !== null && $this->configManager->getUserSpace() !== $login) { ++ logm($this->configManager->get('resource.log'), ++ $remoteIp, ++ 'Trying to login to wrong user space'); ++ $this->lastErrorReason = 'You’re trying to access the wrong account.'; ++ return false; ++ } + +- if ($login != $this->configManager->get('credentials.login') +- || $hash != $this->configManager->get('credentials.hash') +- ) { ++ logm($this->configManager->get('resource.log'), ++ $remoteIp, ++ 'Trying LDAP connection'); ++ $result = $this->configManager->findLDAPUser($login, $password); ++ if ($result === false) { + logm( + $this->configManager->get('resource.log'), + $remoteIp, +- 'Login failed for user ' . $login ++ 'Impossible to connect to LDAP' + ); ++ $this->lastErrorReason = 'Server error.'; ++ return false; ++ } else if (is_null($result)) { ++ logm( ++ $this->configManager->get('resource.log'), ++ $remoteIp, ++ 'Login failed for user ' . $login ++ ); ++ $this->lastErrorIsBanishable = true; ++ $this->lastErrorReason = 'Wrong login/password.'; + return false; + } + +- $this->sessionManager->storeLoginInfo($clientIpId); ++ $this->sessionManager->storeLoginInfo($clientIpId, $login); + logm( + $this->configManager->get('resource.log'), + $remoteIp, +@@ -187,6 +210,10 @@ protected function writeBanFile() + */ + public function handleFailedLogin($server) + { ++ if (!$this->lastErrorIsBanishable) { ++ return $this->lastErrorReason ?: 'Error during login.'; ++ }; ++ + $ip = $server['REMOTE_ADDR']; + $trusted = $this->configManager->get('security.trusted_proxies', []); + +@@ -215,6 +242,7 @@ public function handleFailedLogin($server) + ); + } + $this->writeBanFile(); ++ return $this->lastErrorReason ?: 'Error during login.'; + } + + /** +diff --git a/application/security/SessionManager.php b/application/security/SessionManager.php +index b8b8ab8..5eb4aac 100644 +--- a/application/security/SessionManager.php ++++ b/application/security/SessionManager.php +@@ -111,10 +111,10 @@ public static function checkId($sessionId) + * + * @param string $clientIpId Client IP address identifier + */ +- public function storeLoginInfo($clientIpId) ++ public function storeLoginInfo($clientIpId, $login = null) + { + $this->session['ip'] = $clientIpId; +- $this->session['username'] = $this->conf->get('credentials.login'); ++ $this->session['username'] = $login ?: $this->conf->get('credentials.login'); + $this->extendTimeValidityBy(self::$SHORT_TIMEOUT); + } + +diff --git a/index.php b/index.php +index 4b86a3e..85376e8 100644 +--- a/index.php ++++ b/index.php +@@ -121,7 +121,27 @@ + $_COOKIE['shaarli'] = session_id(); + } + +-$conf = new ConfigManager(); ++$folderBase = getenv("BASE"); ++ ++if (getenv("USERSPACE")) { ++ if (isset($_GET["do"]) && $_GET["do"] == "login") { ++ header("Location: $folderBase/?do=login"); ++ exit; ++ } ++ $userspace = preg_replace("/[^-_A-Za-z0-9]/", '', getenv("USERSPACE")); ++} else if (isset($_SESSION["username"]) && $_SESSION["username"]) { ++ header("Location: " . $folderBase . "/" . $_SESSION["username"] . "?"); ++ exit; ++} else if (!isset($_GET["do"]) || $_GET["do"] != "login") { ++ header("Location: $folderBase/?do=login"); ++ exit; ++} ++ ++if (isset($userspace)) { ++ $conf = new ConfigManager(null, $userspace); ++} else { ++ $conf = new ConfigManager(); ++} + $sessionManager = new SessionManager($_SESSION, $conf); + $loginManager = new LoginManager($GLOBALS, $conf, $sessionManager); + $loginManager->generateStaySignedInToken($_SERVER['REMOTE_ADDR']); +@@ -175,7 +195,7 @@ + } + + // Display the installation form if no existing config is found +- install($conf, $sessionManager, $loginManager); ++ install($conf, $sessionManager, $loginManager, $userspace); + } + + $loginManager->checkLoginState($_COOKIE, $clientIpId); +@@ -205,6 +225,7 @@ function isLoggedIn() + && $loginManager->checkCredentials($_SERVER['REMOTE_ADDR'], $clientIpId, $_POST['login'], $_POST['password']) + ) { + $loginManager->handleSuccessfulLogin($_SERVER); ++ $userspace = $_POST['login']; + + $cookiedir = ''; + if (dirname($_SERVER['SCRIPT_NAME']) != '/') { +@@ -241,25 +262,25 @@ function isLoggedIn() + $uri .= '&'.$param.'='.urlencode($_GET[$param]); + } + } +- header('Location: '. $uri); ++ header('Location: '. $userspace . $uri); + exit; + } + + if (isset($_GET['edit_link'])) { +- header('Location: ?edit_link='. escape($_GET['edit_link'])); ++ header('Location: ' . $userspace . '?edit_link='. escape($_GET['edit_link'])); + exit; + } + + if (isset($_POST['returnurl'])) { + // Prevent loops over login screen. + if (strpos($_POST['returnurl'], 'do=login') === false) { +- header('Location: '. generateLocation($_POST['returnurl'], $_SERVER['HTTP_HOST'])); ++ header('Location: ' . generateLocation($_POST['returnurl'], $_SERVER['HTTP_HOST'])); + exit; + } + } +- header('Location: ?'); exit; ++ header('Location: '. $userspace . '?'); exit; + } else { +- $loginManager->handleFailedLogin($_SERVER); ++ $errorReason = $loginManager->handleFailedLogin($_SERVER); + $redir = '&username='. urlencode($_POST['login']); + if (isset($_GET['post'])) { + $redir .= '&post=' . urlencode($_GET['post']); +@@ -270,7 +291,7 @@ function isLoggedIn() + } + } + // Redirect to login screen. +- echo ''; ++ echo ''; + exit; + } + } +@@ -1719,7 +1740,7 @@ function buildLinkList($PAGE, $LINKSDB, $conf, $pluginManager, $loginManager) + * @param SessionManager $sessionManager SessionManager instance + * @param LoginManager $loginManager LoginManager instance + */ +-function install($conf, $sessionManager, $loginManager) { ++function install($conf, $sessionManager, $loginManager, $userspace) { + // On free.fr host, make sure the /sessions directory exists, otherwise login will not work. + if (endsWith($_SERVER['HTTP_HOST'],'.free.fr') && !is_dir($_SERVER['DOCUMENT_ROOT'].'/sessions')) mkdir($_SERVER['DOCUMENT_ROOT'].'/sessions',0705); + +@@ -1755,7 +1776,7 @@ function install($conf, $sessionManager, $loginManager) { + } + + +- if (!empty($_POST['setlogin']) && !empty($_POST['setpassword'])) ++ if (true) + { + $tz = 'UTC'; + if (!empty($_POST['continent']) && !empty($_POST['city']) +@@ -1764,15 +1785,15 @@ function install($conf, $sessionManager, $loginManager) { + $tz = $_POST['continent'].'/'.$_POST['city']; + } + $conf->set('general.timezone', $tz); +- $login = $_POST['setlogin']; +- $conf->set('credentials.login', $login); ++ $conf->set('credentials.login', $userspace); + $salt = sha1(uniqid('', true) .'_'. mt_rand()); + $conf->set('credentials.salt', $salt); +- $conf->set('credentials.hash', sha1($_POST['setpassword'] . $login . $salt)); ++ $hash = sha1(uniqid('', true) .'_'. mt_rand()); ++ $conf->set('credentials.hash', $hash); + if (!empty($_POST['title'])) { + $conf->set('general.title', escape($_POST['title'])); + } else { +- $conf->set('general.title', 'Shared links on '.escape(index_url($_SERVER))); ++ $conf->set('general.title', ucwords(str_replace("_", " ", $userspace))); + } + $conf->set('translation.language', escape($_POST['language'])); + $conf->set('updates.check_updates', !empty($_POST['updateCheck'])); +@@ -1841,7 +1862,12 @@ function install($conf, $sessionManager, $loginManager) { + $app = new \Slim\App($container); + + // REST API routes +-$app->group('/api/v1', function() { ++if (isset($userspace)) { ++ $mountpoint = '/' . $userspace . '/api/v1'; ++} else { ++ $mountpoint = '/api/v1'; ++} ++$app->group($mountpoint, function() { + $this->get('/info', '\Shaarli\Api\Controllers\Info:getInfo')->setName('getInfo'); + $this->get('/links', '\Shaarli\Api\Controllers\Links:getLinks')->setName('getLinks'); + $this->get('/links/{id:[\d]+}', '\Shaarli\Api\Controllers\Links:getLink')->setName('getLink'); +@@ -1860,7 +1886,7 @@ function install($conf, $sessionManager, $loginManager) { + $response = $app->run(true); + // Hack to make Slim and Shaarli router work together: + // If a Slim route isn't found and NOT API call, we call renderPage(). +-if ($response->getStatusCode() == 404 && strpos($_SERVER['REQUEST_URI'], '/api/v1') === false) { ++if ($response->getStatusCode() == 404 && strpos($_SERVER['REQUEST_URI'], $mountpoint) === false) { + // We use UTF-8 for proper international characters handling. + header('Content-Type: text/html; charset=utf-8'); + renderPage($conf, $pluginManager, $linkDb, $history, $sessionManager, $loginManager); diff --git a/overlays/slrn/default.nix b/overlays/slrn/default.nix new file mode 100644 index 00000000..6caef550 --- /dev/null +++ b/overlays/slrn/default.nix @@ -0,0 +1,11 @@ +self: super: { + slrn = super.slrn.overrideAttrs (old: rec { + version = "1.0.3a"; + name = "slrn-${version}"; + src = self.fetchurl { + url = "http://www.jedsoft.org/releases/slrn/slrn-${version}.tar.bz2"; + sha256 = "1b1d9iikr60w0vq86y9a0l4gjl0jxhdznlrdp3r405i097as9a1v"; + }; + configureFlags = old.configureFlags ++ [ "--with-slrnpull" ]; + }); +} diff --git a/overlays/taskwarrior/default.nix b/overlays/taskwarrior/default.nix new file mode 100644 index 00000000..64ea6900 --- /dev/null +++ b/overlays/taskwarrior/default.nix @@ -0,0 +1,13 @@ +self: super: +{ + taskwarrior = super.taskwarrior.overrideAttrs (old: { + postInstall = ''${old.postInstall} + mkdir -p "$out/share/vim/vimfiles/ftdetect" + mkdir -p "$out/share/vim/vimfiles/syntax" + ln -s "../../../../share/doc/task/scripts/vim/ftdetect/task.vim" "$out/share/vim/vimfiles/ftdetect/" + ln -s "../../../../share/doc/task/scripts/vim/syntax/taskrc.vim" "$out/share/vim/vimfiles/syntax/" + ln -s "../../../../share/doc/task/scripts/vim/syntax/taskdata.vim" "$out/share/vim/vimfiles/syntax/" + ln -s "../../../../share/doc/task/scripts/vim/syntax/taskedit.vim" "$out/share/vim/vimfiles/syntax/" + ''; + }); +} diff --git a/overlays/vit/default.nix b/overlays/vit/default.nix new file mode 100644 index 00000000..46242840 --- /dev/null +++ b/overlays/vit/default.nix @@ -0,0 +1,8 @@ +self: super: +{ + vit = (super.vit.override { inherit (self) taskwarrior; }).overrideAttrs (old: + self.mylibs.fetchedGithub ./vit.json // { + buildInputs = old.buildInputs ++ (with self.perlPackages; [ TryTiny TextCharWidth ]); + } + ); +} diff --git a/overlays/vit/vit.json b/overlays/vit/vit.json new file mode 100644 index 00000000..d062f685 --- /dev/null +++ b/overlays/vit/vit.json @@ -0,0 +1,15 @@ +{ + "tag": "dbacada-1.3", + "meta": { + "name": "vit", + "url": "https://github.com/scottkosty/vit", + "branch": "1.3" + }, + "github": { + "owner": "scottkosty", + "repo": "vit", + "rev": "dbacada5867b238fdf35dbf00a3ca0daf7703038", + "sha256": "1wlk62cv6dc0dqv8265xcx2l7ydzg40xf6l4qbrf6h5156ncc90l", + "fetchSubmodules": true + } +} diff --git a/overlays/weboob/default.nix b/overlays/weboob/default.nix new file mode 100644 index 00000000..d0a15a7d --- /dev/null +++ b/overlays/weboob/default.nix @@ -0,0 +1,15 @@ +self: super: { + weboob = (self.pythonPackages.weboob.overridePythonAttrs { + setupPyBuildFlags = [ "--no-qt" "--xdg" ]; + }).overrideAttrs (old: rec { + version = "1.5"; + src = self.fetchurl { + url = "https://git.weboob.org/weboob/weboob/-/archive/${version}/${old.pname}-${version}.tar.gz"; + sha256 = "0l6q5nm5g0zn6gmf809059kddrbds27wgygxsfkqja9blks5vq7z"; + }; + postInstall = ''${old.postInstall or ""} + mkdir -p $out/share/bash-completion/completions/ + cp tools/weboob_bash_completion $out/share/bash-completion/completions/weboob + ''; + }); +} diff --git a/overlays/weechat/default.nix b/overlays/weechat/default.nix new file mode 100644 index 00000000..17faa0ec --- /dev/null +++ b/overlays/weechat/default.nix @@ -0,0 +1,14 @@ +self: super: { + weechat = super.weechat.override { + configure = { availablePlugins, ... }: { + plugins = with self; with availablePlugins; [ + # Make sure websocket_client is not 0.55.0, it provokes + # regular crashes + (python.withPackages (ps: with ps; assert websocket_client.version == "0.54.0"; [websocket_client emoji])) + perl + ruby + ]; + }; + }; + +} diff --git a/overlays/ympd/default.nix b/overlays/ympd/default.nix new file mode 100644 index 00000000..dda17aa7 --- /dev/null +++ b/overlays/ympd/default.nix @@ -0,0 +1,5 @@ +self: super: { + ympd = super.ympd.overrideAttrs(old: self.mylibs.fetchedGithub ./ympd.json // { + patches = (old.patches or []) ++ [ ./ympd-password-env.patch ]; + }); +} diff --git a/overlays/ympd/ympd-password-env.patch b/overlays/ympd/ympd-password-env.patch new file mode 100644 index 00000000..2bbe1886 --- /dev/null +++ b/overlays/ympd/ympd-password-env.patch @@ -0,0 +1,23 @@ +diff --git a/src/ympd.c b/src/ympd.c +index 3aed7e6..b3b6fda 100644 +--- a/src/ympd.c ++++ b/src/ympd.c +@@ -71,6 +71,7 @@ int main(int argc, char **argv) + char *run_as_user = NULL; + char const *error_msg = NULL; + char *webport = "8080"; ++ const char *s; + + atexit(bye); + #ifdef WITH_DYNAMIC_ASSETS +@@ -92,6 +93,10 @@ int main(int argc, char **argv) + {0, 0, 0, 0 } + }; + ++ if ((s = getenv("MPD_PASSWORD")) != NULL) { ++ mpd.password = strdup(s); ++ } ++ + while((n = getopt_long(argc, argv, "h:p:w:u:vm:", + long_options, &option_index)) != -1) { + switch (n) { diff --git a/overlays/ympd/ympd.json b/overlays/ympd/ympd.json new file mode 100644 index 00000000..51f06d5d --- /dev/null +++ b/overlays/ympd/ympd.json @@ -0,0 +1,15 @@ +{ + "tag": "612f8fc-master", + "meta": { + "name": "ympd", + "url": "https://github.com/notandy/ympd", + "branch": "master" + }, + "github": { + "owner": "notandy", + "repo": "ympd", + "rev": "612f8fc0b2c47fc89d403e4a044541c6b2b238c8", + "sha256": "01hnj10zl103mrn82vyd42fvq7w5az3jf1qz18889zv67kn73ll9", + "fetchSubmodules": true + } +} diff --git a/pkgs/bitlbee-mastodon/default.nix b/pkgs/bitlbee-mastodon/default.nix new file mode 100644 index 00000000..0451068f --- /dev/null +++ b/pkgs/bitlbee-mastodon/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, bitlbee, glib, lib }: +stdenv.mkDerivation rec { + name = "bitlbee-mastodon-${version}"; + version = "v1.4.2"; + + src = fetchFromGitHub { + rev = version; + owner = "kensanata"; + repo = "bitlbee-mastodon"; + sha256 = "04rakgr1pfsg1vhfwlfbggbzw249j7dmk88xrsnf3n84c5ccdyas"; + }; + + nativeBuildInputs = [ autoreconfHook pkgconfig ]; + buildInputs = [ bitlbee glib ]; + + preConfigure = '' + export BITLBEE_PLUGINDIR=$out/lib/bitlbee + ./autogen.sh + ''; + + meta = { + description = "Bitlbee plugin for Mastodon"; + + homepage = https://github.com/kensanata/bitlbee-mastodon; + license = lib.licenses.gpl2Plus; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/boinctui/default.nix b/pkgs/boinctui/default.nix new file mode 100644 index 00000000..d8b106a3 --- /dev/null +++ b/pkgs/boinctui/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, expat, openssl, autoconf, ncurses }: +stdenv.mkDerivation rec { + name = "boinctui-${version}"; + version = "2.5.0"; + src = fetchurl { + url = "http://sourceforge.net/projects/boinctui/files/boinctui_${version}.tar.gz"; + sha256 = "16zxp8r4z6pllacdacg681y56cg2phnn3pm5gwszbsi93cix2g8p"; + }; + + configureFlags = [ "--without-gnutls" ]; + preConfigure = '' + autoconf + ''; + + preBuild = '' + sed -i -e 's/"HOME"/"XDG_CONFIG_HOME"/' src/cfg.cpp + sed -i -e 's@\.boinctui\.cfg@boinctui/boinctui.cfg@' src/mainprog.cpp + ''; + buildInputs = [ expat openssl autoconf ncurses ]; +} diff --git a/pkgs/cnagios/cnagios.json b/pkgs/cnagios/cnagios.json new file mode 100644 index 00000000..4c1c385a --- /dev/null +++ b/pkgs/cnagios/cnagios.json @@ -0,0 +1,15 @@ +{ + "tag": "3bd27fb-master", + "meta": { + "name": "cnagios", + "url": "https://github.com/dannywarren/cnagios", + "branch": "master" + }, + "github": { + "owner": "dannywarren", + "repo": "cnagios", + "rev": "3bd27fb40e68f61ffd01bea6234b919a667b6fe4", + "sha256": "0iy5pmlcz6y3if72nav22xqxniiv1v8ywi0927m6s459hkw5n2rb", + "fetchSubmodules": true + } +} diff --git a/pkgs/cnagios/default.nix b/pkgs/cnagios/default.nix new file mode 100644 index 00000000..d5b52f3f --- /dev/null +++ b/pkgs/cnagios/default.nix @@ -0,0 +1,22 @@ +{ stdenv, mylibs, perl, ncurses }: +stdenv.mkDerivation (mylibs.fetchedGithub ./cnagios.json // { + configureFlags = [ + "--with-etc-dir=/etc/cnagios" + "--with-var-dir=/var/lib/naemon" + "--with-status-file=/var/lib/naemon/status.dat" + "--with-nagios-data=4" + ]; + + prePatch = '' + sed -i -e "s/-lcurses/-lncurses/" Makefile.in + ''; + installPhase = '' + install -dm755 $out/share/doc/cnagios + install -Dm644 cnagiosrc $out/share/doc/cnagios/ + install -Dm644 cnagios.help $out/share/doc/cnagios/ + install -Dm644 cnagios.pl $out/share/doc/cnagios/ + install -dm755 $out/bin + install -Dm755 cnagios $out/bin/ + ''; + buildInputs = [ perl ncurses ]; +}) diff --git a/pkgs/composer-env/default.nix b/pkgs/composer-env/default.nix new file mode 100644 index 00000000..416a61ca --- /dev/null +++ b/pkgs/composer-env/default.nix @@ -0,0 +1,280 @@ +# This file originates from composer2nix + +{ stdenv, writeTextFile, fetchurl, php, unzip }: + +let + composer = stdenv.mkDerivation { + name = "composer-1.8.0"; + src = fetchurl { + url = https://github.com/composer/composer/releases/download/1.8.0/composer.phar; + sha256 = "19pg9ip2mpyf5cyq34fld7qwl77mshqw3c4nif7sxmpnar6sh089"; + }; + buildInputs = [ php ]; + + # We must wrap the composer.phar because of the impure shebang. + # We cannot use patchShebangs because the executable verifies its own integrity and will detect that somebody has tampered with it. + + buildCommand = '' + # Copy phar file + mkdir -p $out/share/php + cp $src $out/share/php/composer.phar + chmod 755 $out/share/php/composer.phar + + # Create wrapper executable + mkdir -p $out/bin + cat > $out/bin/composer < + ''; + }; + + constructBin = writeTextFile { + name = "constructbin.php"; + executable = true; + text = '' + #! ${php}/bin/php + + ''; + }; + + bundleDependencies = dependencies: + stdenv.lib.concatMapStrings (dependencyName: + let + dependency = dependencies.${dependencyName}; + in + '' + ${if dependency.targetDir == "" then '' + vendorDir="$(dirname ${dependencyName})" + mkdir -p "$vendorDir" + ${if symlinkDependencies then + ''ln -s "${dependency.src}" "$vendorDir/$(basename "${dependencyName}")"'' + else + ''cp -a "${dependency.src}" "$vendorDir/$(basename "${dependencyName}")"'' + }${if dependency.needsModifyRights or false then "\n" + '' + chmod -R u+rwx "$vendorDir/$(basename "${dependencyName}")" + '' else ""} + '' else '' + namespaceDir="${dependencyName}/$(dirname "${dependency.targetDir}")" + mkdir -p "$namespaceDir" + ${if symlinkDependencies then + ''ln -s "${dependency.src}" "$namespaceDir/$(basename "${dependency.targetDir}")"'' + else + ''cp -a "${dependency.src}" "$namespaceDir/$(basename "${dependency.targetDir}")"'' + }${if dependency.needsModifyRights or false then "\n" + '' + chmod -R u+rwx "$namespaceDir/$(basename "${dependency.targetDir}")" + '' else ""} + ''} + '') (builtins.attrNames dependencies); + + extraArgs = removeAttrs args [ "name" "packages" "devPackages" "buildInputs" ]; + in + stdenv.mkDerivation ({ + name = "composer-${name}"; + buildInputs = [ php composer ] ++ buildInputs; + + inherit unpackPhase buildPhase; + + installPhase = '' + ${if executable then '' + mkdir -p $out/share/php + cp -a $src $out/share/php/$name + chmod -R u+w $out/share/php/$name + cd $out/share/php/$name + '' else '' + cp -a $src $out + chmod -R u+w $out + cd $out + ''} + + # Execute pre install hook + runHook preInstall + + # Remove unwanted files + rm -f *.nix + + export HOME=$TMPDIR + + ${if doRemoveVendor then '' + # Remove the provided vendor folder if it exists + rm -Rf vendor + '' else ""} + # If there is no composer.lock file, compose a dummy file. + # Otherwise, composer attempts to download the package.json file from + # the registry which we do not want. + if [ ! -f composer.lock ] + then + cat > composer.lock < vendor/composer/installed.json + + # Copy or symlink the provided dependencies + cd vendor + ${bundleDependencies packages} + ${stdenv.lib.optionalString (!noDev) (bundleDependencies devPackages)} + cd .. + + # Reconstruct autoload scripts + # We use the optimize feature because Nix packages cannot change after they have been built + # Using the dynamic loader for a Nix package is useless since there is nothing to dynamically reload. + composer dump-autoload --optimize ${stdenv.lib.optionalString noDev "--no-dev"} + + # Run the install step as a validation to confirm that everything works out as expected + composer install --optimize-autoloader ${stdenv.lib.optionalString noDev "--no-dev"} + + ${stdenv.lib.optionalString executable '' + # Reconstruct the bin/ folder if we deploy an executable project + ${constructBin} composer.json + ln -s $(pwd)/vendor/bin $out/bin + ''} + + ${stdenv.lib.optionalString (!symlinkDependencies) '' + # Patch the shebangs if possible + if [ -d $(pwd)/vendor/bin ] + then + # Look for all executables in bin/ + for i in $(pwd)/vendor/bin/* + do + # Look for their location + realFile=$(readlink -f "$i") + + # Restore write permissions + chmod u+wx "$(dirname "$realFile")" + chmod u+w "$realFile" + + # Patch shebang + sed -e "s|#!/usr/bin/php|#!${php}/bin/php|" \ + -e "s|#!/usr/bin/env php|#!${php}/bin/php|" \ + "$realFile" > tmp + mv tmp "$realFile" + chmod u+x "$realFile" + done + fi + ''} + + if [ "$removeComposerArtifacts" = "1" ] + then + # Remove composer stuff + rm -f composer.json composer.lock + fi + + # Execute post install hook + runHook postInstall + ''; + } // extraArgs); +in +{ + composer = stdenv.lib.makeOverridable composer; + buildZipPackage = stdenv.lib.makeOverridable buildZipPackage; + buildPackage = stdenv.lib.makeOverridable buildPackage; +} diff --git a/pkgs/crypto/cardano/daedalus.json b/pkgs/crypto/cardano/daedalus.json new file mode 100644 index 00000000..5bb72f49 --- /dev/null +++ b/pkgs/crypto/cardano/daedalus.json @@ -0,0 +1,15 @@ +{ + "tag": "0.12.1", + "meta": { + "name": "daedalus", + "url": "https://github.com/input-output-hk/daedalus", + "branch": "refs/tags/0.12.1" + }, + "github": { + "owner": "input-output-hk", + "repo": "daedalus", + "rev": "1276852b9a766d9fd4cda10561254f1a8ddd33ed", + "sha256": "0jf6ibwf0r4587g1ixq6zvi40kzwy137jgay5136yfbg15xw14k2", + "fetchSubmodules": true + } +} diff --git a/pkgs/crypto/cardano/default.nix b/pkgs/crypto/cardano/default.nix new file mode 100644 index 00000000..5d08eda3 --- /dev/null +++ b/pkgs/crypto/cardano/default.nix @@ -0,0 +1,2 @@ +{ runCommand, mylibs }: +runCommand "empty" { preferLocalBuild = true; } "mkdir -p $out" diff --git a/pkgs/crypto/iota-cli-app/default.nix b/pkgs/crypto/iota-cli-app/default.nix new file mode 100644 index 00000000..1a9d3ed7 --- /dev/null +++ b/pkgs/crypto/iota-cli-app/default.nix @@ -0,0 +1,20 @@ +{ stdenv, mylibs, fetchurl, fetchgit, callPackage, nodePackages, nodejs-8_x }: +let + nodeEnv = callPackage mylibs.nodeEnv { nodejs = nodejs-8_x; }; + # built using node2nix -8 -l package-lock.json + # and changing "./." to "src" + packageEnv = import ./node-packages.nix { + src = stdenv.mkDerivation (mylibs.fetchedGithub ./iota-cli-app.json // { + phases = "installPhase"; + installPhase = '' + cp -a $src $out + chmod u+w -R $out + cd $out + sed -i -e "s@host: 'http://localhost',@host: 'https://iri.trytes.eu',@" index.js + sed -i -e "s@port: 14265@port: 443@" index.js + ''; + }); + inherit fetchurl fetchgit nodeEnv; + }; +in +packageEnv.package diff --git a/pkgs/crypto/iota-cli-app/iota-cli-app.json b/pkgs/crypto/iota-cli-app/iota-cli-app.json new file mode 100644 index 00000000..6b47dec1 --- /dev/null +++ b/pkgs/crypto/iota-cli-app/iota-cli-app.json @@ -0,0 +1,15 @@ +{ + "tag": "d7e2e08-master", + "meta": { + "name": "iota-cli-app", + "url": "https://github.com/iotaledger/cli-app", + "branch": "master" + }, + "github": { + "owner": "iotaledger", + "repo": "cli-app", + "rev": "d7e2e0856ae6bd34890fefb4245c07cd467a5032", + "sha256": "1n9kczsxdgjv8282nj2grlijvxipiskx0ndn169vz6v1l1hrwc8b", + "fetchSubmodules": true + } +} diff --git a/pkgs/crypto/iota-cli-app/node-packages.nix b/pkgs/crypto/iota-cli-app/node-packages.nix new file mode 100644 index 00000000..d5c61d6d --- /dev/null +++ b/pkgs/crypto/iota-cli-app/node-packages.nix @@ -0,0 +1,1814 @@ +# This file has been generated by node2nix 1.6.0. Do not edit! + +{src, nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}: + +let + sources = { + "acorn-3.3.0" = { + name = "acorn"; + packageName = "acorn"; + version = "3.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz"; + sha1 = "45e37fb39e8da3f25baee3ff5369e2bb5f22017a"; + }; + }; + "acorn-5.2.1" = { + name = "acorn"; + packageName = "acorn"; + version = "5.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz"; + sha512 = "jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w=="; + }; + }; + "acorn-jsx-3.0.1" = { + name = "acorn-jsx"; + packageName = "acorn-jsx"; + version = "3.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz"; + sha1 = "afdf9488fb1ecefc8348f6fb22f464e32a58b36b"; + }; + }; + "ajv-4.11.8" = { + name = "ajv"; + packageName = "ajv"; + version = "4.11.8"; + src = fetchurl { + url = "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz"; + sha1 = "82ffb02b29e662ae53bdc20af15947706739c536"; + }; + }; + "ajv-keywords-1.5.1" = { + name = "ajv-keywords"; + packageName = "ajv-keywords"; + version = "1.5.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz"; + sha1 = "314dd0a4b3368fad3dfcdc54ede6171b886daf3c"; + }; + }; + "ansi-escapes-1.4.0" = { + name = "ansi-escapes"; + packageName = "ansi-escapes"; + version = "1.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz"; + sha1 = "d3a8a83b319aa67793662b13e761c7911422306e"; + }; + }; + "ansi-regex-2.1.1" = { + name = "ansi-regex"; + packageName = "ansi-regex"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"; + sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df"; + }; + }; + "ansi-regex-3.0.0" = { + name = "ansi-regex"; + packageName = "ansi-regex"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz"; + sha1 = "ed0317c322064f79466c02966bddb605ab37d998"; + }; + }; + "ansi-styles-2.2.1" = { + name = "ansi-styles"; + packageName = "ansi-styles"; + version = "2.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz"; + sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe"; + }; + }; + "ansi-styles-3.2.0" = { + name = "ansi-styles"; + packageName = "ansi-styles"; + version = "3.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz"; + sha512 = "NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug=="; + }; + }; + "argparse-1.0.9" = { + name = "argparse"; + packageName = "argparse"; + version = "1.0.9"; + src = fetchurl { + url = "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz"; + sha1 = "73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86"; + }; + }; + "array-union-1.0.2" = { + name = "array-union"; + packageName = "array-union"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz"; + sha1 = "9a34410e4f4e3da23dea375be5be70f24778ec39"; + }; + }; + "array-uniq-1.0.3" = { + name = "array-uniq"; + packageName = "array-uniq"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz"; + sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6"; + }; + }; + "arrify-1.0.1" = { + name = "arrify"; + packageName = "arrify"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz"; + sha1 = "898508da2226f380df904728456849c1501a4b0d"; + }; + }; + "async-2.6.0" = { + name = "async"; + packageName = "async"; + version = "2.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/async/-/async-2.6.0.tgz"; + sha512 = "xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw=="; + }; + }; + "babel-code-frame-6.26.0" = { + name = "babel-code-frame"; + packageName = "babel-code-frame"; + version = "6.26.0"; + src = fetchurl { + url = "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz"; + sha1 = "63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"; + }; + }; + "babel-polyfill-6.26.0" = { + name = "babel-polyfill"; + packageName = "babel-polyfill"; + version = "6.26.0"; + src = fetchurl { + url = "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz"; + sha1 = "379937abc67d7895970adc621f284cd966cf2153"; + }; + }; + "babel-runtime-6.26.0" = { + name = "babel-runtime"; + packageName = "babel-runtime"; + version = "6.26.0"; + src = fetchurl { + url = "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"; + sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe"; + }; + }; + "balanced-match-1.0.0" = { + name = "balanced-match"; + packageName = "balanced-match"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz"; + sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767"; + }; + }; + "bignumber.js-4.1.0" = { + name = "bignumber.js"; + packageName = "bignumber.js"; + version = "4.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/bignumber.js/-/bignumber.js-4.1.0.tgz"; + sha512 = "eJzYkFYy9L4JzXsbymsFn3p54D+llV27oTQ+ziJG7WFRheJcNZilgVXMG0LoZtlQSKBsJdWtLFqOD0u+U0jZKA=="; + }; + }; + "bluebird-3.5.1" = { + name = "bluebird"; + packageName = "bluebird"; + version = "3.5.1"; + src = fetchurl { + url = "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz"; + sha512 = "MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA=="; + }; + }; + "brace-expansion-1.1.8" = { + name = "brace-expansion"; + packageName = "brace-expansion"; + version = "1.1.8"; + src = fetchurl { + url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz"; + sha1 = "c07b211c7c952ec1f8efd51a77ef0d1d3990a292"; + }; + }; + "caller-path-0.1.0" = { + name = "caller-path"; + packageName = "caller-path"; + version = "0.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz"; + sha1 = "94085ef63581ecd3daa92444a8fe94e82577751f"; + }; + }; + "callsites-0.2.0" = { + name = "callsites"; + packageName = "callsites"; + version = "0.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz"; + sha1 = "afab96262910a7f33c19a5775825c69f34e350ca"; + }; + }; + "chalk-1.1.3" = { + name = "chalk"; + packageName = "chalk"; + version = "1.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz"; + sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98"; + }; + }; + "chalk-2.3.0" = { + name = "chalk"; + packageName = "chalk"; + version = "2.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz"; + sha512 = "Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q=="; + }; + }; + "circular-json-0.3.3" = { + name = "circular-json"; + packageName = "circular-json"; + version = "0.3.3"; + src = fetchurl { + url = "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz"; + sha512 = "UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A=="; + }; + }; + "cli-cursor-1.0.2" = { + name = "cli-cursor"; + packageName = "cli-cursor"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz"; + sha1 = "64da3f7d56a54412e59794bd62dc35295e8f2987"; + }; + }; + "cli-width-1.1.1" = { + name = "cli-width"; + packageName = "cli-width"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz"; + sha1 = "a4d293ef67ebb7b88d4a4d42c0ccf00c4d1e366d"; + }; + }; + "cli-width-2.2.0" = { + name = "cli-width"; + packageName = "cli-width"; + version = "2.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz"; + sha1 = "ff19ede8a9a5e579324147b0c11f0fbcbabed639"; + }; + }; + "co-4.6.0" = { + name = "co"; + packageName = "co"; + version = "4.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/co/-/co-4.6.0.tgz"; + sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"; + }; + }; + "code-point-at-1.1.0" = { + name = "code-point-at"; + packageName = "code-point-at"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz"; + sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"; + }; + }; + "color-convert-1.9.1" = { + name = "color-convert"; + packageName = "color-convert"; + version = "1.9.1"; + src = fetchurl { + url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz"; + sha512 = "mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ=="; + }; + }; + "color-name-1.1.3" = { + name = "color-name"; + packageName = "color-name"; + version = "1.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"; + sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25"; + }; + }; + "colors-1.1.2" = { + name = "colors"; + packageName = "colors"; + version = "1.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz"; + sha1 = "168a4701756b6a7f51a12ce0c97bfa28c084ed63"; + }; + }; + "concat-map-0.0.1" = { + name = "concat-map"; + packageName = "concat-map"; + version = "0.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"; + sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b"; + }; + }; + "concat-stream-1.6.0" = { + name = "concat-stream"; + packageName = "concat-stream"; + version = "1.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz"; + sha1 = "0aac662fd52be78964d5532f694784e70110acf7"; + }; + }; + "core-js-2.5.3" = { + name = "core-js"; + packageName = "core-js"; + version = "2.5.3"; + src = fetchurl { + url = "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz"; + sha1 = "8acc38345824f16d8365b7c9b4259168e8ed603e"; + }; + }; + "core-util-is-1.0.2" = { + name = "core-util-is"; + packageName = "core-util-is"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"; + sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7"; + }; + }; + "crypto-js-3.1.9-1" = { + name = "crypto-js"; + packageName = "crypto-js"; + version = "3.1.9-1"; + src = fetchurl { + url = "https://registry.npmjs.org/crypto-js/-/crypto-js-3.1.9-1.tgz"; + sha1 = "fda19e761fc077e01ffbfdc6e9fdfc59e8806cd8"; + }; + }; + "d-1.0.0" = { + name = "d"; + packageName = "d"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/d/-/d-1.0.0.tgz"; + sha1 = "754bb5bfe55451da69a58b94d45f4c5b0462d58f"; + }; + }; + "debug-2.6.9" = { + name = "debug"; + packageName = "debug"; + version = "2.6.9"; + src = fetchurl { + url = "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"; + sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="; + }; + }; + "deep-is-0.1.3" = { + name = "deep-is"; + packageName = "deep-is"; + version = "0.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz"; + sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34"; + }; + }; + "del-2.2.2" = { + name = "del"; + packageName = "del"; + version = "2.2.2"; + src = fetchurl { + url = "https://registry.npmjs.org/del/-/del-2.2.2.tgz"; + sha1 = "c12c981d067846c84bcaf862cff930d907ffd1a8"; + }; + }; + "doctrine-2.0.2" = { + name = "doctrine"; + packageName = "doctrine"; + version = "2.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/doctrine/-/doctrine-2.0.2.tgz"; + sha512 = "y0tm5Pq6ywp3qSTZ1vPgVdAnbDEoeoc5wlOHXoY1c4Wug/a7JvqHIl7BTvwodaHmejWkK/9dSb3sCYfyo/om8A=="; + }; + }; + "encoding-0.1.12" = { + name = "encoding"; + packageName = "encoding"; + version = "0.1.12"; + src = fetchurl { + url = "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz"; + sha1 = "538b66f3ee62cd1ab51ec323829d1f9480c74beb"; + }; + }; + "es5-ext-0.10.37" = { + name = "es5-ext"; + packageName = "es5-ext"; + version = "0.10.37"; + src = fetchurl { + url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.37.tgz"; + sha1 = "0ee741d148b80069ba27d020393756af257defc3"; + }; + }; + "es6-iterator-2.0.3" = { + name = "es6-iterator"; + packageName = "es6-iterator"; + version = "2.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz"; + sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7"; + }; + }; + "es6-map-0.1.5" = { + name = "es6-map"; + packageName = "es6-map"; + version = "0.1.5"; + src = fetchurl { + url = "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz"; + sha1 = "9136e0503dcc06a301690f0bb14ff4e364e949f0"; + }; + }; + "es6-set-0.1.5" = { + name = "es6-set"; + packageName = "es6-set"; + version = "0.1.5"; + src = fetchurl { + url = "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz"; + sha1 = "d2b3ec5d4d800ced818db538d28974db0a73ccb1"; + }; + }; + "es6-symbol-3.1.1" = { + name = "es6-symbol"; + packageName = "es6-symbol"; + version = "3.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz"; + sha1 = "bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"; + }; + }; + "es6-weak-map-2.0.2" = { + name = "es6-weak-map"; + packageName = "es6-weak-map"; + version = "2.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz"; + sha1 = "5e3ab32251ffd1538a1f8e5ffa1357772f92d96f"; + }; + }; + "escape-string-regexp-1.0.5" = { + name = "escape-string-regexp"; + packageName = "escape-string-regexp"; + version = "1.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"; + sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"; + }; + }; + "escope-3.6.0" = { + name = "escope"; + packageName = "escope"; + version = "3.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz"; + sha1 = "e01975e812781a163a6dadfdd80398dc64c889c3"; + }; + }; + "eslint-3.19.0" = { + name = "eslint"; + packageName = "eslint"; + version = "3.19.0"; + src = fetchurl { + url = "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz"; + sha1 = "c8fc6201c7f40dd08941b87c085767386a679acc"; + }; + }; + "espree-3.5.2" = { + name = "espree"; + packageName = "espree"; + version = "3.5.2"; + src = fetchurl { + url = "https://registry.npmjs.org/espree/-/espree-3.5.2.tgz"; + sha512 = "sadKeYwaR/aJ3stC2CdvgXu1T16TdYN+qwCpcWbMnGJ8s0zNWemzrvb2GbD4OhmJ/fwpJjudThAlLobGbWZbCQ=="; + }; + }; + "esprima-4.0.0" = { + name = "esprima"; + packageName = "esprima"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz"; + sha512 = "oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw=="; + }; + }; + "esquery-1.0.0" = { + name = "esquery"; + packageName = "esquery"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz"; + sha1 = "cfba8b57d7fba93f17298a8a006a04cda13d80fa"; + }; + }; + "esrecurse-4.2.0" = { + name = "esrecurse"; + packageName = "esrecurse"; + version = "4.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz"; + sha1 = "fa9568d98d3823f9a41d91e902dcab9ea6e5b163"; + }; + }; + "estraverse-4.2.0" = { + name = "estraverse"; + packageName = "estraverse"; + version = "4.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz"; + sha1 = "0dee3fed31fcd469618ce7342099fc1afa0bdb13"; + }; + }; + "esutils-2.0.2" = { + name = "esutils"; + packageName = "esutils"; + version = "2.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz"; + sha1 = "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"; + }; + }; + "event-emitter-0.3.5" = { + name = "event-emitter"; + packageName = "event-emitter"; + version = "0.3.5"; + src = fetchurl { + url = "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz"; + sha1 = "df8c69eef1647923c7157b9ce83840610b02cc39"; + }; + }; + "exit-hook-1.1.1" = { + name = "exit-hook"; + packageName = "exit-hook"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz"; + sha1 = "f05ca233b48c05d54fff07765df8507e95c02ff8"; + }; + }; + "fast-levenshtein-2.0.6" = { + name = "fast-levenshtein"; + packageName = "fast-levenshtein"; + version = "2.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"; + sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917"; + }; + }; + "figures-1.7.0" = { + name = "figures"; + packageName = "figures"; + version = "1.7.0"; + src = fetchurl { + url = "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz"; + sha1 = "cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"; + }; + }; + "file-entry-cache-2.0.0" = { + name = "file-entry-cache"; + packageName = "file-entry-cache"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz"; + sha1 = "c392990c3e684783d838b8c84a45d8a048458361"; + }; + }; + "flat-cache-1.3.0" = { + name = "flat-cache"; + packageName = "flat-cache"; + version = "1.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz"; + sha1 = "d3030b32b38154f4e3b7e9c709f490f7ef97c481"; + }; + }; + "fs.realpath-1.0.0" = { + name = "fs.realpath"; + packageName = "fs.realpath"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"; + sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f"; + }; + }; + "generate-function-2.0.0" = { + name = "generate-function"; + packageName = "generate-function"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz"; + sha1 = "6858fe7c0969b7d4e9093337647ac79f60dfbe74"; + }; + }; + "generate-object-property-1.2.0" = { + name = "generate-object-property"; + packageName = "generate-object-property"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz"; + sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0"; + }; + }; + "glob-7.1.2" = { + name = "glob"; + packageName = "glob"; + version = "7.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz"; + sha512 = "MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ=="; + }; + }; + "globals-9.18.0" = { + name = "globals"; + packageName = "globals"; + version = "9.18.0"; + src = fetchurl { + url = "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz"; + sha512 = "S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ=="; + }; + }; + "globby-5.0.0" = { + name = "globby"; + packageName = "globby"; + version = "5.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz"; + sha1 = "ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"; + }; + }; + "graceful-fs-4.1.11" = { + name = "graceful-fs"; + packageName = "graceful-fs"; + version = "4.1.11"; + src = fetchurl { + url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"; + sha1 = "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"; + }; + }; + "has-ansi-2.0.0" = { + name = "has-ansi"; + packageName = "has-ansi"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"; + sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91"; + }; + }; + "has-flag-2.0.0" = { + name = "has-flag"; + packageName = "has-flag"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz"; + sha1 = "e8207af1cc7b30d446cc70b734b5e8be18f88d51"; + }; + }; + "iconv-lite-0.4.19" = { + name = "iconv-lite"; + packageName = "iconv-lite"; + version = "0.4.19"; + src = fetchurl { + url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz"; + sha512 = "oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ=="; + }; + }; + "ignore-3.3.7" = { + name = "ignore"; + packageName = "ignore"; + version = "3.3.7"; + src = fetchurl { + url = "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz"; + sha512 = "YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA=="; + }; + }; + "imurmurhash-0.1.4" = { + name = "imurmurhash"; + packageName = "imurmurhash"; + version = "0.1.4"; + src = fetchurl { + url = "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz"; + sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea"; + }; + }; + "in-publish-2.0.0" = { + name = "in-publish"; + packageName = "in-publish"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz"; + sha1 = "e20ff5e3a2afc2690320b6dc552682a9c7fadf51"; + }; + }; + "inflight-1.0.6" = { + name = "inflight"; + packageName = "inflight"; + version = "1.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"; + sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9"; + }; + }; + "inherits-2.0.3" = { + name = "inherits"; + packageName = "inherits"; + version = "2.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"; + sha1 = "633c2c83e3da42a502f52466022480f4208261de"; + }; + }; + "inquirer-0.11.0" = { + name = "inquirer"; + packageName = "inquirer"; + version = "0.11.0"; + src = fetchurl { + url = "https://registry.npmjs.org/inquirer/-/inquirer-0.11.0.tgz"; + sha1 = "7448bfa924092af311d47173bbab990cae2bb027"; + }; + }; + "inquirer-0.12.0" = { + name = "inquirer"; + packageName = "inquirer"; + version = "0.12.0"; + src = fetchurl { + url = "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz"; + sha1 = "1ef2bfd63504df0bc75785fff8c2c41df12f077e"; + }; + }; + "install-0.10.4" = { + name = "install"; + packageName = "install"; + version = "0.10.4"; + src = fetchurl { + url = "https://registry.npmjs.org/install/-/install-0.10.4.tgz"; + sha512 = "+IRyOastuPmLVx9zlVXJoKErSqz1Ma5at9A7S8yfsj3W+Kg95faPoh3bPDtMrZ/grz4PRmXzrswmlzfLlYyLOw=="; + }; + }; + "interpret-1.1.0" = { + name = "interpret"; + packageName = "interpret"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz"; + sha1 = "7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614"; + }; + }; + "iota.lib.js-0.4.6" = { + name = "iota.lib.js"; + packageName = "iota.lib.js"; + version = "0.4.6"; + src = fetchurl { + url = "https://registry.npmjs.org/iota.lib.js/-/iota.lib.js-0.4.6.tgz"; + sha1 = "47afdc03d57c7f55d2f58f068db492df6bc6e9bb"; + }; + }; + "is-fullwidth-code-point-1.0.0" = { + name = "is-fullwidth-code-point"; + packageName = "is-fullwidth-code-point"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz"; + sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb"; + }; + }; + "is-fullwidth-code-point-2.0.0" = { + name = "is-fullwidth-code-point"; + packageName = "is-fullwidth-code-point"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz"; + sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f"; + }; + }; + "is-my-json-valid-2.16.1" = { + name = "is-my-json-valid"; + packageName = "is-my-json-valid"; + version = "2.16.1"; + src = fetchurl { + url = "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz"; + sha512 = "ochPsqWS1WXj8ZnMIV0vnNXooaMhp7cyL4FMSIPKTtnV0Ha/T19G2b9kkhcNsabV9bxYkze7/aLZJb/bYuFduQ=="; + }; + }; + "is-path-cwd-1.0.0" = { + name = "is-path-cwd"; + packageName = "is-path-cwd"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz"; + sha1 = "d225ec23132e89edd38fda767472e62e65f1106d"; + }; + }; + "is-path-in-cwd-1.0.0" = { + name = "is-path-in-cwd"; + packageName = "is-path-in-cwd"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz"; + sha1 = "6477582b8214d602346094567003be8a9eac04dc"; + }; + }; + "is-path-inside-1.0.1" = { + name = "is-path-inside"; + packageName = "is-path-inside"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz"; + sha1 = "8ef5b7de50437a3fdca6b4e865ef7aa55cb48036"; + }; + }; + "is-property-1.0.2" = { + name = "is-property"; + packageName = "is-property"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"; + sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84"; + }; + }; + "is-resolvable-1.0.1" = { + name = "is-resolvable"; + packageName = "is-resolvable"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.1.tgz"; + sha512 = "y5CXYbzvB3jTnWAZH1Nl7ykUWb6T3BcTs56HUruwBf8MhF56n1HWqhDWnVFo8GHrUPDgvUUNVhrc2U8W7iqz5g=="; + }; + }; + "is-stream-1.1.0" = { + name = "is-stream"; + packageName = "is-stream"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz"; + sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"; + }; + }; + "isarray-1.0.0" = { + name = "isarray"; + packageName = "isarray"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"; + sha1 = "bb935d48582cba168c06834957a54a3e07124f11"; + }; + }; + "js-tokens-3.0.2" = { + name = "js-tokens"; + packageName = "js-tokens"; + version = "3.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz"; + sha1 = "9866df395102130e38f7f996bceb65443209c25b"; + }; + }; + "js-yaml-3.10.0" = { + name = "js-yaml"; + packageName = "js-yaml"; + version = "3.10.0"; + src = fetchurl { + url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz"; + sha512 = "O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA=="; + }; + }; + "json-stable-stringify-1.0.1" = { + name = "json-stable-stringify"; + packageName = "json-stable-stringify"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz"; + sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af"; + }; + }; + "json5-0.5.1" = { + name = "json5"; + packageName = "json5"; + version = "0.5.1"; + src = fetchurl { + url = "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz"; + sha1 = "1eade7acc012034ad84e2396767ead9fa5495821"; + }; + }; + "jsonify-0.0.0" = { + name = "jsonify"; + packageName = "jsonify"; + version = "0.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"; + sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73"; + }; + }; + "jsonpointer-4.0.1" = { + name = "jsonpointer"; + packageName = "jsonpointer"; + version = "4.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz"; + sha1 = "4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"; + }; + }; + "left-pad-1.2.0" = { + name = "left-pad"; + packageName = "left-pad"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/left-pad/-/left-pad-1.2.0.tgz"; + sha1 = "d30a73c6b8201d8f7d8e7956ba9616087a68e0ee"; + }; + }; + "levn-0.3.0" = { + name = "levn"; + packageName = "levn"; + version = "0.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz"; + sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee"; + }; + }; + "lodash-3.10.1" = { + name = "lodash"; + packageName = "lodash"; + version = "3.10.1"; + src = fetchurl { + url = "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz"; + sha1 = "5bf45e8e49ba4189e17d482789dfd15bd140b7b6"; + }; + }; + "lodash-4.17.4" = { + name = "lodash"; + packageName = "lodash"; + version = "4.17.4"; + src = fetchurl { + url = "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz"; + sha1 = "78203a4d1c328ae1d86dca6460e369b57f4055ae"; + }; + }; + "log-update-1.0.2" = { + name = "log-update"; + packageName = "log-update"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz"; + sha1 = "19929f64c4093d2d2e7075a1dad8af59c296b8d1"; + }; + }; + "minimatch-3.0.4" = { + name = "minimatch"; + packageName = "minimatch"; + version = "3.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz"; + sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA=="; + }; + }; + "minimist-0.0.8" = { + name = "minimist"; + packageName = "minimist"; + version = "0.0.8"; + src = fetchurl { + url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"; + sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d"; + }; + }; + "minimist-1.2.0" = { + name = "minimist"; + packageName = "minimist"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz"; + sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284"; + }; + }; + "mkdirp-0.5.1" = { + name = "mkdirp"; + packageName = "mkdirp"; + version = "0.5.1"; + src = fetchurl { + url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"; + sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903"; + }; + }; + "moment-2.20.1" = { + name = "moment"; + packageName = "moment"; + version = "2.20.1"; + src = fetchurl { + url = "https://registry.npmjs.org/moment/-/moment-2.20.1.tgz"; + sha512 = "Yh9y73JRljxW5QxN08Fner68eFLxM5ynNOAw2LbIB1YAGeQzZT8QFSUvkAz609Zf+IHhhaUxqZK8dG3W/+HEvg=="; + }; + }; + "ms-2.0.0" = { + name = "ms"; + packageName = "ms"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"; + sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8"; + }; + }; + "mute-stream-0.0.5" = { + name = "mute-stream"; + packageName = "mute-stream"; + version = "0.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz"; + sha1 = "8fbfabb0a98a253d3184331f9e8deb7372fac6c0"; + }; + }; + "natural-compare-1.4.0" = { + name = "natural-compare"; + packageName = "natural-compare"; + version = "1.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"; + sha1 = "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"; + }; + }; + "node-fetch-1.7.3" = { + name = "node-fetch"; + packageName = "node-fetch"; + version = "1.7.3"; + src = fetchurl { + url = "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz"; + sha512 = "NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ=="; + }; + }; + "node-localstorage-0.6.0" = { + name = "node-localstorage"; + packageName = "node-localstorage"; + version = "0.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/node-localstorage/-/node-localstorage-0.6.0.tgz"; + sha1 = "45a0601c6932dfde6644a23361f1be173c75d3af"; + }; + }; + "number-is-nan-1.0.1" = { + name = "number-is-nan"; + packageName = "number-is-nan"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz"; + sha1 = "097b602b53422a522c1afb8790318336941a011d"; + }; + }; + "object-assign-4.1.1" = { + name = "object-assign"; + packageName = "object-assign"; + version = "4.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"; + sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863"; + }; + }; + "once-1.4.0" = { + name = "once"; + packageName = "once"; + version = "1.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz"; + sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1"; + }; + }; + "onetime-1.1.0" = { + name = "onetime"; + packageName = "onetime"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz"; + sha1 = "a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"; + }; + }; + "optionator-0.8.2" = { + name = "optionator"; + packageName = "optionator"; + version = "0.8.2"; + src = fetchurl { + url = "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz"; + sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64"; + }; + }; + "os-homedir-1.0.2" = { + name = "os-homedir"; + packageName = "os-homedir"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz"; + sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3"; + }; + }; + "path-is-absolute-1.0.1" = { + name = "path-is-absolute"; + packageName = "path-is-absolute"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"; + sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"; + }; + }; + "path-is-inside-1.0.2" = { + name = "path-is-inside"; + packageName = "path-is-inside"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz"; + sha1 = "365417dede44430d1c11af61027facf074bdfc53"; + }; + }; + "path-parse-1.0.5" = { + name = "path-parse"; + packageName = "path-parse"; + version = "1.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz"; + sha1 = "3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"; + }; + }; + "pify-2.3.0" = { + name = "pify"; + packageName = "pify"; + version = "2.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"; + sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c"; + }; + }; + "pinkie-2.0.4" = { + name = "pinkie"; + packageName = "pinkie"; + version = "2.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz"; + sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870"; + }; + }; + "pinkie-promise-2.0.1" = { + name = "pinkie-promise"; + packageName = "pinkie-promise"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"; + sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa"; + }; + }; + "pluralize-1.2.1" = { + name = "pluralize"; + packageName = "pluralize"; + version = "1.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz"; + sha1 = "d1a21483fd22bb41e58a12fa3421823140897c45"; + }; + }; + "prelude-ls-1.1.2" = { + name = "prelude-ls"; + packageName = "prelude-ls"; + version = "1.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz"; + sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54"; + }; + }; + "prettyjson-1.2.1" = { + name = "prettyjson"; + packageName = "prettyjson"; + version = "1.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/prettyjson/-/prettyjson-1.2.1.tgz"; + sha1 = "fcffab41d19cab4dfae5e575e64246619b12d289"; + }; + }; + "process-nextick-args-1.0.7" = { + name = "process-nextick-args"; + packageName = "process-nextick-args"; + version = "1.0.7"; + src = fetchurl { + url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz"; + sha1 = "150e20b756590ad3f91093f25a4f2ad8bff30ba3"; + }; + }; + "progress-1.1.8" = { + name = "progress"; + packageName = "progress"; + version = "1.1.8"; + src = fetchurl { + url = "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz"; + sha1 = "e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"; + }; + }; + "readable-stream-2.3.3" = { + name = "readable-stream"; + packageName = "readable-stream"; + version = "2.3.3"; + src = fetchurl { + url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz"; + sha512 = "m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ=="; + }; + }; + "readline2-1.0.1" = { + name = "readline2"; + packageName = "readline2"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz"; + sha1 = "41059608ffc154757b715d9989d199ffbf372e35"; + }; + }; + "rechoir-0.6.2" = { + name = "rechoir"; + packageName = "rechoir"; + version = "0.6.2"; + src = fetchurl { + url = "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz"; + sha1 = "85204b54dba82d5742e28c96756ef43af50e3384"; + }; + }; + "regenerator-runtime-0.10.5" = { + name = "regenerator-runtime"; + packageName = "regenerator-runtime"; + version = "0.10.5"; + src = fetchurl { + url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz"; + sha1 = "336c3efc1220adcedda2c9fab67b5a7955a33658"; + }; + }; + "regenerator-runtime-0.11.1" = { + name = "regenerator-runtime"; + packageName = "regenerator-runtime"; + version = "0.11.1"; + src = fetchurl { + url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz"; + sha512 = "MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="; + }; + }; + "require-uncached-1.0.3" = { + name = "require-uncached"; + packageName = "require-uncached"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz"; + sha1 = "4e0d56d6c9662fd31e43011c4b95aa49955421d3"; + }; + }; + "resolve-1.5.0" = { + name = "resolve"; + packageName = "resolve"; + version = "1.5.0"; + src = fetchurl { + url = "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz"; + sha512 = "hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw=="; + }; + }; + "resolve-from-1.0.1" = { + name = "resolve-from"; + packageName = "resolve-from"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz"; + sha1 = "26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"; + }; + }; + "restore-cursor-1.0.1" = { + name = "restore-cursor"; + packageName = "restore-cursor"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz"; + sha1 = "34661f46886327fed2991479152252df92daa541"; + }; + }; + "rimraf-2.6.2" = { + name = "rimraf"; + packageName = "rimraf"; + version = "2.6.2"; + src = fetchurl { + url = "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz"; + sha512 = "lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w=="; + }; + }; + "run-async-0.1.0" = { + name = "run-async"; + packageName = "run-async"; + version = "0.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz"; + sha1 = "c8ad4a5e110661e402a7d21b530e009f25f8e389"; + }; + }; + "rx-lite-3.1.2" = { + name = "rx-lite"; + packageName = "rx-lite"; + version = "3.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz"; + sha1 = "19ce502ca572665f3b647b10939f97fd1615f102"; + }; + }; + "safe-buffer-5.1.1" = { + name = "safe-buffer"; + packageName = "safe-buffer"; + version = "5.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"; + sha512 = "kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="; + }; + }; + "shelljs-0.7.8" = { + name = "shelljs"; + packageName = "shelljs"; + version = "0.7.8"; + src = fetchurl { + url = "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz"; + sha1 = "decbcf874b0d1e5fb72e14b164a9683048e9acb3"; + }; + }; + "slice-ansi-0.0.4" = { + name = "slice-ansi"; + packageName = "slice-ansi"; + version = "0.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz"; + sha1 = "edbf8903f66f7ce2f8eafd6ceed65e264c831b35"; + }; + }; + "sprintf-js-1.0.3" = { + name = "sprintf-js"; + packageName = "sprintf-js"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"; + sha1 = "04e6926f662895354f3dd015203633b857297e2c"; + }; + }; + "string-width-1.0.2" = { + name = "string-width"; + packageName = "string-width"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz"; + sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"; + }; + }; + "string-width-2.1.1" = { + name = "string-width"; + packageName = "string-width"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz"; + sha512 = "nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw=="; + }; + }; + "string_decoder-1.0.3" = { + name = "string_decoder"; + packageName = "string_decoder"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz"; + sha512 = "4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ=="; + }; + }; + "strip-ansi-3.0.1" = { + name = "strip-ansi"; + packageName = "strip-ansi"; + version = "3.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"; + sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"; + }; + }; + "strip-ansi-4.0.0" = { + name = "strip-ansi"; + packageName = "strip-ansi"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz"; + sha1 = "a8479022eb1ac368a871389b635262c505ee368f"; + }; + }; + "strip-bom-3.0.0" = { + name = "strip-bom"; + packageName = "strip-bom"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz"; + sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"; + }; + }; + "strip-json-comments-2.0.1" = { + name = "strip-json-comments"; + packageName = "strip-json-comments"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz"; + sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a"; + }; + }; + "supports-color-2.0.0" = { + name = "supports-color"; + packageName = "supports-color"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"; + sha1 = "535d045ce6b6363fa40117084629995e9df324c7"; + }; + }; + "supports-color-4.5.0" = { + name = "supports-color"; + packageName = "supports-color"; + version = "4.5.0"; + src = fetchurl { + url = "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz"; + sha1 = "be7a0de484dec5c5cddf8b3d59125044912f635b"; + }; + }; + "table-3.8.3" = { + name = "table"; + packageName = "table"; + version = "3.8.3"; + src = fetchurl { + url = "https://registry.npmjs.org/table/-/table-3.8.3.tgz"; + sha1 = "2bbc542f0fda9861a755d3947fefd8b3f513855f"; + }; + }; + "text-table-0.2.0" = { + name = "text-table"; + packageName = "text-table"; + version = "0.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"; + sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4"; + }; + }; + "through-2.3.8" = { + name = "through"; + packageName = "through"; + version = "2.3.8"; + src = fetchurl { + url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz"; + sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"; + }; + }; + "type-check-0.3.2" = { + name = "type-check"; + packageName = "type-check"; + version = "0.3.2"; + src = fetchurl { + url = "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz"; + sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72"; + }; + }; + "typedarray-0.0.6" = { + name = "typedarray"; + packageName = "typedarray"; + version = "0.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"; + sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777"; + }; + }; + "user-home-2.0.0" = { + name = "user-home"; + packageName = "user-home"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz"; + sha1 = "9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f"; + }; + }; + "util-deprecate-1.0.2" = { + name = "util-deprecate"; + packageName = "util-deprecate"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"; + sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf"; + }; + }; + "vorpal-1.12.0" = { + name = "vorpal"; + packageName = "vorpal"; + version = "1.12.0"; + src = fetchurl { + url = "https://registry.npmjs.org/vorpal/-/vorpal-1.12.0.tgz"; + sha1 = "4be7b2a4e48f8fcfc9cf3648c419d311c522159d"; + }; + }; + "wordwrap-1.0.0" = { + name = "wordwrap"; + packageName = "wordwrap"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz"; + sha1 = "27584810891456a4171c8d0226441ade90cbcaeb"; + }; + }; + "wrap-ansi-2.1.0" = { + name = "wrap-ansi"; + packageName = "wrap-ansi"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz"; + sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85"; + }; + }; + "wrappy-1.0.2" = { + name = "wrappy"; + packageName = "wrappy"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"; + sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"; + }; + }; + "write-0.2.1" = { + name = "write"; + packageName = "write"; + version = "0.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/write/-/write-0.2.1.tgz"; + sha1 = "5fc03828e264cea3fe91455476f7a3c566cb0757"; + }; + }; + "xmlhttprequest-1.8.0" = { + name = "xmlhttprequest"; + packageName = "xmlhttprequest"; + version = "1.8.0"; + src = fetchurl { + url = "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz"; + sha1 = "67fe075c5c24fef39f9d65f5f7b7fe75171968fc"; + }; + }; + "xtend-4.0.1" = { + name = "xtend"; + packageName = "xtend"; + version = "4.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"; + sha1 = "a5c6d532be656e23db820efb943a1f04998d63af"; + }; + }; + }; + args = { + name = "iota-cli-app"; + packageName = "iota-cli-app"; + version = "1.0.8"; + inherit src; + dependencies = [ + sources."acorn-5.2.1" + (sources."acorn-jsx-3.0.1" // { + dependencies = [ + sources."acorn-3.3.0" + ]; + }) + sources."ajv-4.11.8" + sources."ajv-keywords-1.5.1" + sources."ansi-escapes-1.4.0" + sources."ansi-regex-2.1.1" + sources."ansi-styles-3.2.0" + sources."argparse-1.0.9" + sources."array-union-1.0.2" + sources."array-uniq-1.0.3" + sources."arrify-1.0.1" + sources."async-2.6.0" + (sources."babel-code-frame-6.26.0" // { + dependencies = [ + sources."ansi-styles-2.2.1" + sources."chalk-1.1.3" + sources."supports-color-2.0.0" + ]; + }) + sources."babel-polyfill-6.26.0" + (sources."babel-runtime-6.26.0" // { + dependencies = [ + sources."regenerator-runtime-0.11.1" + ]; + }) + sources."balanced-match-1.0.0" + sources."bignumber.js-4.1.0" + sources."bluebird-3.5.1" + sources."brace-expansion-1.1.8" + sources."caller-path-0.1.0" + sources."callsites-0.2.0" + sources."chalk-2.3.0" + sources."circular-json-0.3.3" + sources."cli-cursor-1.0.2" + sources."cli-width-2.2.0" + sources."co-4.6.0" + sources."code-point-at-1.1.0" + sources."color-convert-1.9.1" + sources."color-name-1.1.3" + sources."colors-1.1.2" + sources."concat-map-0.0.1" + sources."concat-stream-1.6.0" + sources."core-js-2.5.3" + sources."core-util-is-1.0.2" + sources."crypto-js-3.1.9-1" + sources."d-1.0.0" + sources."debug-2.6.9" + sources."deep-is-0.1.3" + sources."del-2.2.2" + sources."doctrine-2.0.2" + sources."encoding-0.1.12" + sources."es5-ext-0.10.37" + sources."es6-iterator-2.0.3" + sources."es6-map-0.1.5" + sources."es6-set-0.1.5" + sources."es6-symbol-3.1.1" + sources."es6-weak-map-2.0.2" + sources."escape-string-regexp-1.0.5" + sources."escope-3.6.0" + (sources."eslint-3.19.0" // { + dependencies = [ + sources."ansi-styles-2.2.1" + sources."chalk-1.1.3" + sources."supports-color-2.0.0" + ]; + }) + sources."espree-3.5.2" + sources."esprima-4.0.0" + sources."esquery-1.0.0" + sources."esrecurse-4.2.0" + sources."estraverse-4.2.0" + sources."esutils-2.0.2" + sources."event-emitter-0.3.5" + sources."exit-hook-1.1.1" + sources."fast-levenshtein-2.0.6" + sources."figures-1.7.0" + sources."file-entry-cache-2.0.0" + sources."flat-cache-1.3.0" + sources."fs.realpath-1.0.0" + sources."generate-function-2.0.0" + sources."generate-object-property-1.2.0" + sources."glob-7.1.2" + sources."globals-9.18.0" + sources."globby-5.0.0" + sources."graceful-fs-4.1.11" + sources."has-ansi-2.0.0" + sources."has-flag-2.0.0" + sources."iconv-lite-0.4.19" + sources."ignore-3.3.7" + sources."imurmurhash-0.1.4" + sources."in-publish-2.0.0" + sources."inflight-1.0.6" + sources."inherits-2.0.3" + (sources."inquirer-0.12.0" // { + dependencies = [ + sources."ansi-styles-2.2.1" + sources."chalk-1.1.3" + sources."supports-color-2.0.0" + ]; + }) + sources."install-0.10.4" + sources."interpret-1.1.0" + sources."iota.lib.js-0.4.6" + sources."is-fullwidth-code-point-1.0.0" + sources."is-my-json-valid-2.16.1" + sources."is-path-cwd-1.0.0" + sources."is-path-in-cwd-1.0.0" + sources."is-path-inside-1.0.1" + sources."is-property-1.0.2" + sources."is-resolvable-1.0.1" + sources."is-stream-1.1.0" + sources."isarray-1.0.0" + sources."js-tokens-3.0.2" + sources."js-yaml-3.10.0" + sources."json-stable-stringify-1.0.1" + sources."json5-0.5.1" + sources."jsonify-0.0.0" + sources."jsonpointer-4.0.1" + sources."left-pad-1.2.0" + sources."levn-0.3.0" + sources."lodash-4.17.4" + sources."log-update-1.0.2" + sources."minimatch-3.0.4" + sources."minimist-0.0.8" + sources."mkdirp-0.5.1" + sources."moment-2.20.1" + sources."ms-2.0.0" + sources."mute-stream-0.0.5" + sources."natural-compare-1.4.0" + sources."node-fetch-1.7.3" + sources."node-localstorage-0.6.0" + sources."number-is-nan-1.0.1" + sources."object-assign-4.1.1" + sources."once-1.4.0" + sources."onetime-1.1.0" + sources."optionator-0.8.2" + sources."os-homedir-1.0.2" + sources."path-is-absolute-1.0.1" + sources."path-is-inside-1.0.2" + sources."path-parse-1.0.5" + sources."pify-2.3.0" + sources."pinkie-2.0.4" + sources."pinkie-promise-2.0.1" + sources."pluralize-1.2.1" + sources."prelude-ls-1.1.2" + (sources."prettyjson-1.2.1" // { + dependencies = [ + sources."minimist-1.2.0" + ]; + }) + sources."process-nextick-args-1.0.7" + sources."progress-1.1.8" + sources."readable-stream-2.3.3" + sources."readline2-1.0.1" + sources."rechoir-0.6.2" + sources."regenerator-runtime-0.10.5" + sources."require-uncached-1.0.3" + sources."resolve-1.5.0" + sources."resolve-from-1.0.1" + sources."restore-cursor-1.0.1" + sources."rimraf-2.6.2" + sources."run-async-0.1.0" + sources."rx-lite-3.1.2" + sources."safe-buffer-5.1.1" + sources."shelljs-0.7.8" + sources."slice-ansi-0.0.4" + sources."sprintf-js-1.0.3" + sources."string-width-1.0.2" + sources."string_decoder-1.0.3" + sources."strip-ansi-3.0.1" + sources."strip-bom-3.0.0" + sources."strip-json-comments-2.0.1" + sources."supports-color-4.5.0" + (sources."table-3.8.3" // { + dependencies = [ + sources."ansi-regex-3.0.0" + sources."ansi-styles-2.2.1" + (sources."chalk-1.1.3" // { + dependencies = [ + sources."ansi-regex-2.1.1" + sources."strip-ansi-3.0.1" + ]; + }) + sources."is-fullwidth-code-point-2.0.0" + sources."string-width-2.1.1" + sources."strip-ansi-4.0.0" + sources."supports-color-2.0.0" + ]; + }) + sources."text-table-0.2.0" + sources."through-2.3.8" + sources."type-check-0.3.2" + sources."typedarray-0.0.6" + sources."user-home-2.0.0" + sources."util-deprecate-1.0.2" + (sources."vorpal-1.12.0" // { + dependencies = [ + sources."ansi-styles-2.2.1" + sources."chalk-1.1.3" + sources."cli-width-1.1.1" + (sources."inquirer-0.11.0" // { + dependencies = [ + sources."lodash-3.10.1" + ]; + }) + sources."minimist-1.2.0" + sources."supports-color-2.0.0" + ]; + }) + sources."wordwrap-1.0.0" + sources."wrap-ansi-2.1.0" + sources."wrappy-1.0.2" + sources."write-0.2.1" + sources."xmlhttprequest-1.8.0" + sources."xtend-4.0.1" + ]; + buildInputs = globalBuildInputs; + meta = { + description = "IOTA CLI"; + homepage = "https://github.com/iotaledger/cli-app#readme"; + license = "MIT"; + }; + production = true; + bypassCache = true; + }; +in +{ + tarball = nodeEnv.buildNodeSourceDist args; + package = nodeEnv.buildNodePackage args; + shell = nodeEnv.buildNodeShell args; +} diff --git a/pkgs/crypto/sia/default.nix b/pkgs/crypto/sia/default.nix new file mode 100644 index 00000000..45908afb --- /dev/null +++ b/pkgs/crypto/sia/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchzip }: +stdenv.mkDerivation rec { + version = "v1.3.7"; + name = "Sia-${version}"; + src = fetchzip { + url = "https://sia.tech/static/releases/${name}-linux-amd64.zip"; + sha256 = "1ljzwrlkx4hc16r8siiyakn039afipp95dyr83c8yfq3r3bfasqd"; + }; + phases = "installPhase"; + installPhase = '' + mkdir -p $out/share/doc + mkdir -p $out/bin + mkdir -p $out/share/sia + cp -a $src/doc $out/share/doc/sia + cp -a $src/LICENSE $src/README.md $out/share/sia + cp -a $src/{siac,siad} $out/bin + cp -a $src/{siac,siad}.sig $out/share/sia/ + ''; +} diff --git a/pkgs/default.nix b/pkgs/default.nix new file mode 100644 index 00000000..8ea65a5c --- /dev/null +++ b/pkgs/default.nix @@ -0,0 +1,51 @@ +{ pkgs }: +with pkgs; +let + mylibs = import ../libs.nix { inherit pkgs; }; +in +rec { + boinctui = callPackage ../pkgs/boinctui {}; + cnagios = callPackage ../pkgs/cnagios { inherit mylibs; }; + duply = callPackage ../pkgs/duply {}; + flrn = callPackage ../pkgs/flrn { inherit mylibs; slang = callPackage ../pkgs/slang_1 {}; }; + genius = callPackage ../pkgs/genius {}; + mtop = callPackage ../pkgs/mtop {}; + muttprint = callPackage ../pkgs/muttprint {}; + mutt-ics = callPackage ../pkgs/mutt-ics { inherit mylibs; }; + nagios-cli = callPackage ../pkgs/nagios-cli { inherit mylibs; }; + nagnu = callPackage ../pkgs/nagnu { inherit mylibs; }; + note = callPackage ../pkgs/note {}; + notmuch-python2 = callPackage ../pkgs/notmuch/notmuch-python { pythonPackages = python2Packages; }; + notmuch-python3 = callPackage ../pkgs/notmuch/notmuch-python { pythonPackages = python3Packages; }; + notmuch-vim = callPackage ../pkgs/notmuch/notmuch-vim {}; + pg_activity = callPackage ../pkgs/pg_activity { inherit mylibs; }; + pgloader = callPackage ../pkgs/pgloader { inherit mylibs; }; + telegram-cli = callPackage ../pkgs/telegram-cli { inherit mylibs; }; + telegram-history-dump = callPackage ../pkgs/telegram-history-dump { inherit mylibs; }; + telegramircd = callPackage ../pkgs/telegramircd { inherit mylibs; telethon = callPackage ../pkgs/telethon_sync {}; }; + terminal-velocity = callPackage ../pkgs/terminal-velocity {}; + tiv = callPackage ../pkgs/tiv {}; + unicodeDoc = callPackage ../pkgs/unicode {}; + + cardano = callPackage ../pkgs/crypto/cardano { inherit mylibs; }; + iota-cli-app = callPackage ../pkgs/crypto/iota-cli-app { inherit mylibs; }; + sia = callPackage ../pkgs/crypto/sia {}; + + pure-ftpd = callPackage ../pkgs/pure-ftpd {}; + mpd = (callPackage ../pkgs/mpd_0_21 {}).mpd; + mpd-small = (callPackage ../pkgs/mpd_0_21 {}).mpd-small; + + bitlbee-mastodon = callPackage ./bitlbee-mastodon {}; + + composerEnv = callPackage ./composer-env {}; + webapps = callPackage ./webapps { inherit mylibs composerEnv private; }; + + private = if builtins.pathExists (./. + "/private") + then import ./private { inherit pkgs; } + else { webapps = {}; }; + + python3PackagesPlus = callPackage ./python-packages { + python = python3; + inherit mylibs; + }; +} diff --git a/pkgs/duply/default.nix b/pkgs/duply/default.nix new file mode 100644 index 00000000..3816996c --- /dev/null +++ b/pkgs/duply/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, makeWrapper, coreutils, python2, duplicity, gawk, gnupg1, bash, gnugrep, txt2man, which }: +stdenv.mkDerivation rec { + name = "duply-${version}"; + version = "2.1"; + + src = fetchurl { + url = "mirror://sourceforge/project/ftplicity/duply%20%28simple%20duplicity%29/2.1.x/duply_${version}.tgz"; + sha256 = "0i5j7h7h6ssrwhll0sfhymisshg54kx7j45zcqffzjxa0ylvzlm8"; + }; + + buildInputs = [ txt2man makeWrapper ]; + + postPatch = "patchShebangs ."; + + installPhase = '' + mkdir -p "$out/bin" + mkdir -p "$out/share/man/man1" + install -vD duply "$out/bin" + sed -i $out/bin/duply -e "1a \ + export PATH='${stdenv.lib.makeBinPath [ coreutils python2 duplicity gawk gnupg1 bash gnugrep txt2man which ]}' + " -e "1a \ + export DUPL_PYTHON_BIN=$(basename ${duplicity}/lib/python*) + " + "$out/bin/duply" txt2man > "$out/share/man/man1/duply.1" + ''; + + meta = with stdenv.lib; { + description = "Shell front end for the duplicity backup tool"; + longDescription = '' + Duply is a shell front end for the duplicity backup tool + http://duplicity.nongnu.org/. It greatly simplifies it's usage by + implementing backup job profiles, batch commands and more. Who says + secure backups on non-trusted spaces are no child's play? + ''; + homepage = http://duply.net/; + license = licenses.gpl2; + maintainers = [ maintainers.bjornfor ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/flrn/default.nix b/pkgs/flrn/default.nix new file mode 100644 index 00000000..f288615a --- /dev/null +++ b/pkgs/flrn/default.nix @@ -0,0 +1,13 @@ +{ stdenv, mylibs, libetpan, openssl, autoconf, groff, slang, yacc }: +stdenv.mkDerivation (mylibs.fetchedGithub ./flrn.json // { + buildInputs = [ libetpan openssl autoconf groff slang yacc ]; + preConfigure = '' + sed -i -e "s/test -e configure/false/" configure.in + autoconf + sed -i -e '/define CHECK_MAIL/d' src/flrn_config.h + sed -i -e '/DEFAULT_DIR_FILE/s@".flrn"@".config/flrn"@' src/flrn_config.h + sed -i -e '/DEFAULT_CONFIG_FILE/s@".flrnrc"@"flrnrc"@' src/flrn_config.h + sed -i -e '/DEFAULT_FLNEWS_FILE/s@".flnewsrc"@"flnewsrc"@' src/flrn_config.h + sed -i -e '/flrn_char chaine/s@18@20@' src/flrn_command.c + ''; +}) diff --git a/pkgs/flrn/flrn.json b/pkgs/flrn/flrn.json new file mode 100644 index 00000000..3d7a9443 --- /dev/null +++ b/pkgs/flrn/flrn.json @@ -0,0 +1,15 @@ +{ + "tag": "860d642-master", + "meta": { + "name": "flrn", + "url": "https://github.com/Cigaes/flrn", + "branch": "master" + }, + "github": { + "owner": "Cigaes", + "repo": "flrn", + "rev": "860d642bd6389a209c8b697bd044f78d23406509", + "sha256": "0sqlxxpy1xg7cb2hbxcr0al46nyr6jjnns4b5i8w04z5sypa9r5c", + "fetchSubmodules": true + } +} diff --git a/pkgs/genius/default.nix b/pkgs/genius/default.nix new file mode 100644 index 00000000..b40d1d01 --- /dev/null +++ b/pkgs/genius/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, mpfr, glib, hicolor-icon-theme, gtk2, intltool, gnome-doc-utils, python3, gnome2, autoconf, automake, libtool, ncurses, readline, pkg-config, }: +stdenv.mkDerivation rec { + name = "genius-${version}"; + version = "1.0.24"; + src = fetchurl { + url = "https://download.gnome.org/sources/genius/1.0/${name}.tar.xz"; + sha256 = "772f95f6ae4716d39bb180cd50e8b6b9b074107bee0cd083b825e1e6e55916b6"; + }; + buildInputs = [ + mpfr glib hicolor-icon-theme gtk2 intltool gnome-doc-utils python3 gnome2.gtksourceview + autoconf automake libtool ncurses readline pkg-config + ]; + preConfigure = '' + autoreconf -fi + ''; + preBuild = '' + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + ''; +} diff --git a/pkgs/mpd_0_21/default.nix b/pkgs/mpd_0_21/default.nix new file mode 100644 index 00000000..f19a76fb --- /dev/null +++ b/pkgs/mpd_0_21/default.nix @@ -0,0 +1,152 @@ +{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, glib, systemd, boost, darwin +# Inputs +, curl, libmms, libnfs, samba +# Archive support +, bzip2, zziplib +# Codecs +, audiofile, faad2, ffmpeg, flac, fluidsynth, game-music-emu +, libmad, libmikmod, mpg123, libopus, libvorbis, lame +# Filters +, libsamplerate +# Outputs +, alsaLib, libjack2, libpulseaudio, libshout +# Misc +, icu, sqlite, avahi, dbus, pcre, libgcrypt, expat +# Services +, yajl +# Client support +, mpd_clientlib +# Tag support +, libid3tag +}: + +let + major = "0.21"; + minor = "7"; + + lib = stdenv.lib; + mkDisable = f: "-D${f}=disabled"; + mkEnable = f: "-D${f}=enabled"; + keys = lib.mapAttrsToList (k: v: k); + + featureDependencies = { + # Storage plugins + udisks = [ dbus ]; + webdav = [ curl expat ]; + # Input plugins + curl = [ curl ]; + mms = [ libmms ]; + nfs = [ libnfs ]; + smbclient = [ samba ]; + # Archive support + bzip2 = [ bzip2 ]; + zzip = [ zziplib ]; + # Decoder plugins + audiofile = [ audiofile ]; + faad = [ faad2 ]; + ffmpeg = [ ffmpeg ]; + flac = [ flac ]; + fluidsynth = [ fluidsynth ]; + gme = [ game-music-emu ]; + mad = [ libmad ]; + mikmod = [ libmikmod ]; + mpg123 = [ mpg123 ]; + opus = [ libopus ]; + vorbis = [ libvorbis ]; + # Encoder plugins + vorbisenc = [ libvorbis ]; + lame = [ lame ]; + # Filter plugins + libsamplerate = [ libsamplerate ]; + # Output plugins + alsa = [ alsaLib ]; + jack = [ libjack2 ]; + pulse = [ libpulseaudio ]; + shout = [ libshout ]; + # Commercial services + qobuz = [ curl libgcrypt yajl ]; + soundcloud = [ curl yajl ]; + tidal = [ curl yajl ]; + # Client support + libmpdclient = [ mpd_clientlib ]; + # Tag support + id3tag = [ libid3tag ]; + # Misc + dbus = [ dbus ]; + expat = [ expat ]; + icu = [ icu ]; + pcre = [ pcre ]; + sqlite = [ sqlite ]; + systemd = [ systemd ]; + yajl = [ yajl ]; + zeroconf = [ avahi dbus ]; + }; + + run = { features ? null }: + let + fl = if (features == null ) + then keys featureDependencies + else features; + + # Disable platform specific features if needed + # using libmad to decode mp3 files on darwin is causing a segfault -- there + # is probably a solution, but I'm disabling it for now + platformMask = lib.optionals stdenv.isDarwin [ "mad" "pulse" "jack" "nfs" "smb" ] + ++ lib.optionals (!stdenv.isLinux) [ "alsa" "systemd" ]; + features_ = lib.subtractLists platformMask fl; + + in stdenv.mkDerivation rec { + name = "mpd-${version}"; + version = "${major}${if minor == "" then "" else "." + minor}"; + + src = fetchFromGitHub { + owner = "MusicPlayerDaemon"; + repo = "MPD"; + rev = "v${version}"; + sha256 = "11zi8hmlj63ngzl06vzx05669k20j4cdsp0caz4p4ayn46fd4m17"; + }; + + buildInputs = [ glib boost ] + ++ (lib.concatLists (lib.attrVals features_ featureDependencies)) + ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.AudioToolbox; + + nativeBuildInputs = [ meson ninja pkgconfig ]; + + enableParallelBuilding = true; + + mesonFlags = + map mkEnable features_ ++ map mkDisable (lib.subtractLists features_ (keys featureDependencies)) + ++ [ "-Dsyslog=enabled" ] + ++ lib.optional (lib.any (x: x == "zeroconf") features_) + "-Dzeroconf=avahi" + ++ lib.optional stdenv.isLinux + "-Dsystemd_system_unit_dir=etc/systemd/system"; + + meta = with stdenv.lib; { + description = "A flexible, powerful daemon for playing music"; + homepage = http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki; + license = licenses.gpl2; + maintainers = with maintainers; [ astsmtl fuuzetsu ehmry fpletz ]; + platforms = platforms.unix; + + longDescription = '' + Music Player Daemon (MPD) is a flexible, powerful daemon for playing + music. Through plugins and libraries it can play a variety of sound + files while being controlled by its network protocol. + ''; + }; + }; +in +{ + mpd = run { }; + mpd-small = run { features = [ + "webdav" "curl" "mms" "nfs" "bzip2" "zzip" + "audiofile" "faad" "flac" "gme" "mad" + "mpg123" "opus" "vorbis" + "vorbisenc" "lame" "libsamplerate" + "alsa" "shout" "libmpdclient" + "id3tag" "expat" "pcre" "yajl" "sqlite" + "soundcloud" "qobuz" "tidal" + "systemd" + ]; }; +} diff --git a/pkgs/mtop/default.nix b/pkgs/mtop/default.nix new file mode 100644 index 00000000..4a894303 --- /dev/null +++ b/pkgs/mtop/default.nix @@ -0,0 +1,24 @@ +{ buildPerlPackage, fetchurl, perlPackages, lib }: +buildPerlPackage rec { + name = "mtop-${version}"; + version = "0.6.6"; + src = fetchurl { + url = "http://downloads.sourceforge.net/project/mtop/mtop/v${version}/mtop-${version}.tar.gz"; + sha256 = "0x0x5300b1j9i0xxk8rsrki0pspyzj2vylhzv8qg3l6j26aw0zrf"; + }; + outputs = ["out"]; + buildInputs = with perlPackages; [ DBI DBDmysql Curses ]; + + postInstall = '' + cd "$out" + preConfigure || true + ''; + + meta = with lib; { + description = "MySQL top (monitor and examine slow queries)"; + homepage = http://mtop.sourceforge.net/; + license = licenses.gpl3; + maintainers = with maintainers; [ { name = "Marc Prewitt"; email = "mprewitt@chelsea.net"; } ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/mutt-ics/default.nix b/pkgs/mutt-ics/default.nix new file mode 100644 index 00000000..a8a529b9 --- /dev/null +++ b/pkgs/mutt-ics/default.nix @@ -0,0 +1,5 @@ +{ python3Packages, mylibs }: +with python3Packages; +buildPythonApplication (mylibs.fetchedGithub ./mutt-ics.json // { + propagatedBuildInputs = [ icalendar ]; +}) diff --git a/pkgs/mutt-ics/mutt-ics.json b/pkgs/mutt-ics/mutt-ics.json new file mode 100644 index 00000000..ae8ed372 --- /dev/null +++ b/pkgs/mutt-ics/mutt-ics.json @@ -0,0 +1,15 @@ +{ + "tag": "d291187-master", + "meta": { + "name": "mutt-ics", + "url": "https://github.com/dmedvinsky/mutt-ics", + "branch": "master" + }, + "github": { + "owner": "dmedvinsky", + "repo": "mutt-ics", + "rev": "d29118788f291f67d34fefa6eda9f95846a2fe34", + "sha256": "0kqzngsvzjq5gpf60jhfmb2xzjznvk172khf4dlcb72n3ak4rb92", + "fetchSubmodules": true + } +} diff --git a/pkgs/muttprint/0.73-4.diff.gz b/pkgs/muttprint/0.73-4.diff.gz new file mode 100644 index 0000000000000000000000000000000000000000..c4f3cefe2238dcd72a18eb88d718372e29ff74e8 GIT binary patch literal 16525 zcmY(IQ*bU^6QyI@wr$(CZQDGtZJyXR-`KWo+sR2X-(NE~bHA$gvsTxx?&>Ctfr8S= zZBzyVwRd-Ob8@kEa5H3L;AEv|V=%L}umEb&y>i)>@c8NZ6FqyaA*M16=imxTpFy1z z-9kG_6XlUBqe2Ha&$>hbA>>3XJ~DxOLj7p+p#^FW4X-^G9dE?tSwGZbnD-c z!DhUDz}w@=lqBI7<(dcIRG!vrD!0e}49FJYW=hnZ59`*58D>hrza;HfW`YwuMZbja z_aje6PIvW_FezFOBgFE&6T&7Q`f8`7dsGcf+B^x*`sC}^?u@-2v+GE7zmy%PboxoU z19VF*$<$KWbc^>X;Z!qnM$p%@s57rN&sf5vjdcRT%L(_%M>-Eq<4FhcR*Q6X%_;0^ zmNqoQjc80a$lue0XjTAEjCdDM*+i^5(o2`woma4L0Iiq4|Im2LugX}~rRRz_o{4mv z9|pvlF-vUoxK1d!r3%UQh-IFOhk}k?g!ptXniI5_(My=9mtu3~f$B1=DpGRK`?vShbQHI|~7?>E03!_0>vr272}Tn%K6JZC0te z^+UZn@@-*kz$tSovxOxeiTV1w;{G&ffF0a(A*=G*`=@tExye2-2Hw?ic zRisc}D?>0qq>y*H@>$ZsJe=8`G}g2Y*<6~|aG4~kHuH>578_uaWWIJ&F~=@3fE^c* zf`P)NHetkI9hFaVrJc?BLV;>;?UI7hSTP))f~mvJh@zt~P;A$HV6Ep-_Brdv@fYv* zCQ*R5R#Pd9-?9x;X};M#*H_HELFfm4sz2Jue4^NfG^g^ZiN>pAK*gAeoUrP<&B{aS z>c{bMaw@-WxA)g+7v02SZgg_Vifs^Ejl7mjPOHr<_nOzZRO?0TEjNmj_d0A9#`vY$ zy(IQ7_N=6~fY*{Id^|$V@j{{o2FA_B3qU13<81n2!|JPxzp5^w%Tq*{bDzyS#J!p( zu|2LwlD*f&z6~yzDmH{Hk6higUkp2~9UYo6bdY!g-tKf2j)^`ct`?sO5UJHwmv$~2tm*F7^H-KJuQkFDxA|E2?*IL3vFP_S* zA^7_E_k4ZmCsjX`*d6DwOj`D2ro2={5}C33@dSTEB72bIihq5L?b_4t4!X8`n&V){ z{c5_~iBa9!*es5ve};`FA&tlke(-!b!+3_#Gl1iplC>#k9-UK{vf&zFfr2Mr=h~sI zlT^GLE)HX#HivoZqA%LvEXl=rueS`Z2*tUF>^;7zVN6nFaBW2zE^TmKZ=6cc;(?73 zHtsXf-`;Z}Fd%e`oct)Rm58NkF$d~f)bzx`Y%y2ulI=~ZU54fTQ!Ig#HaNVeNn^?L9G{!b+Z`STj~A0~(bmGJuy>H-3Yf+ti( zbFNO`vj)tqVJ*(jldmdqg{}O2+4Np5Kf|E9PDTSMgM2+BsmcZci@_>h4%gjyB#0LV z*DNZFg2%Yms$D!xB^fR_2l^F+U^&PO`J);}7#d#uV6ZAcE8JbBF+kku%hN@HoJNul zUkPAq?nYTB$eKn!qWr28u8rSR`$i4Ez1v!l68>~4{rj#5`--zxTvM)L$l@>g2)T2I)M86z##lC=D*^7xGu2*7?YrOboCiMmqSL&U$1zGkE6NL3l}x@kW4kn zDNm(Wz`*2gGDp*m9$?z+}oP^}9Vj5=+#;Q@pw`}$q3heeVpiTZwq(au4{C%eAtOm0*6vHbPp_X;){qDjB2yRbRbz6^6tVs;azkTsP+yEYvNi@|s<&&nmk*P5* z8!0MjPrp8V{vMmEW;`p;-veA-F6YgiI#|jEz~;;0-x;B-1%Jyz0d0|cZFk;CSr{`; zLzLkM^iC~ zx}rkqIg_)jIBfx^F%v;bnSY?yB)Z%=8G#g8KVjBSHtiZ>Pc$}%imYuS9EAR*`Q>48 z3fBN(B!K}@hoimYSoc$nx?t|PG-JU|c!Rzd6J;73o@6$*!98&C4NM^5d}645!YZ)f z|HDvUXAtm5<*D2nZbD!gBq#A?bg?^`g#O*PyeVpczZcBi>HMaHayx5sJoq-vhY4u% z(w#inLCE8qTh1}zgl5p*0dI`b??@ih*Y_W^Cr|t&AXVP1ZiTwE#HFNGZ5{X*$5~9X zs|9O^#Jsdxrz8TUzsmj`Xho^)%9O?QZ|(E@f#b)eSf5K46dC9_jo!BYD$Mt3G=fnV zQ-(!ddSHOK+s+~w`5A7OZIrkWyTG>V(qC!G7>|8mDj!9w2gIzmp+i6I=j78aq*Af# ze69w^dK%a72RFVxNyrO%9*Yvmi2y8ejx7ltyTrIf^GR^(rt&egAq|t1>K*0EC7o53 z92WuM(wCcX{4^fuc-XRZ!t@472a6DxzFS}{ap}xZ9lRN&9CrH;0 za&9G>wQ(Ke!B(;&>Lp=UCJWiem&emV{=qxCg-V4CH@Rq7^e2&|yGe4I3ddFl6HBNt z5pY{C)+pf@@XmIO8%TAHFyK&}SK-)G?Yd{<^cPIS!Nce9Ff>ycTVGtR(fQI%F1Y^Fi`Tm0%I z$2_hHCkfi1W7%;7U#X)2i|y(_+^y+BcS5K=ekc6 z5+(?}eZlc>|GK2A^k_MiK5r2PL_Fh99~$m!4B0COp2m)5GQX!CD$Su>HlBIb9`#!u zt?!+r_LgUPb5Cb${0lNJ7viX{aa3~(WO|7OL0QqZETZEeh)TbWlJo#^BmK(n4`NAd zbDm%PQf>=_4cb7$FxYfigVCKX>F0I5dy&5rMl7Y`{K2e3kv73P#zA{1lSrOAI|$pJ zB;gy-Q+qr{?uXm;HK>5PJXg4%b@NoqLdwk}KO_y~L)jV5m*}ut->~QDQIz0b_p*7j z2Ho%s^Y;eBs%uBZD_m`k4z~IWx;fdP*1h0}i>D6xqe`0A8!AgE8n-VjS95T0`~j-mZxAFd0_A$P@WWuq=TJ@}7zBq4^Yn zo;b8$tceDs&&0yZtp|IJEl4e-%Hy|LucetN+nQPsWsGp>d#z8SCk`ZVpv5e#y6oPa zoUgE08OX`^Do#Q4hZ*24i3_(KWuAD4?7nP^e7&_<(XNK)6h`N>Ot1qc27E<{zG{*z zjb4&K`Um<_soRf?8$n)>eb_SeOzm+3=+}LLjj{4mPBa+R8>0F`37{Zo28`MbY?NY- zWgydDDlgl4u1*3el=PS1fN1Lo{BBdhqLsw1t_l!oDi9WEXs zscyt_bZGADA-JR{|31&F6qcoV`5O1towhwh)oBXy@`zZl4T2}>K#M6__DiriSg2X< zRo-pgaz`oUhXtI~xH1NC6);qY%8xaI>hy~FJgZE-(p&Bl^{m3CD!=h!)}lxB08wgl zF6!N?!p%|kI*s*g_Fr(5UBJ`lhDt4cYQ-5;;+qN_WG_Cg&W;$vi?1Epb!VN^BY zKM_&q%$8 zIdujdxOC(qRp^=QW-*eW<&}J133`@wV4Rhptei?fpd6NZs-2_*I$29V0N$ZB8UBFEsG{D zgmr`XjFSvdhPvrr^u3@%lg zhirn2yzgc$+rH!sP^+C)G)g&{N(t0Bt!IhqH--t8`A>~|ZSQ_0r3p33$6C_mpP5uo zxCS1UZk3O-ezot1jEP%}IO&xvRJ~ zPVA85@kii%Dqk--&Kc!y518C2x4Y5kel(u@+vzNrt!x*SOxCsN)8u#M2s- zKSQXew6AZBzn#eDXjUqBeO9M`+=c-&E>y3HC;#k6c83FQ4`kJrWp7fWgB@ui{ShP8 zr1?2gqv$I21snd-r$Vp3=O**$Je})!957C-!Be?IuA| zxm+r4`}5$ac`vX*b|(ic`Df{dZdO;#8$bQQP}exVw5z%r_eh__EUbfv2^T>e=$j~F z9`q6(!=BG}AysvOlf^or4-l4CEklCmzbN-E*UCO)`zs@tN2>Ov3KO@fC;6)8SUlHY z&HK@u2X|>kWMNCNi?0^c z60j;ooJEuIyhdB>BrQ^Feu!<2jOpo*(LId{&%qX{ViZ!Tau7Dj$=GElCQ|!znpwY; z&Pa@Fj^q>EOZu{vPB02c8}-RgagRqxWrSVAjQqDuOMg6&!7QJ3L*BQ`Z9NZFH-r7W zB5V_%L|{K?m-i;6YKaAVFs_TcpTcCO^gOK?K`kCwwW zNAl*-WNs4#n0@MetsPVCHE~p+=hsUBr%(vn|5zP6jN1|u3LKA?P6Bg-6R5+f#JQtp zeVG}V21tEVR1|QH-N=tU_o?Qd^&~}iw_d)ac$TkN;@yfe?@9hxpqd@b_Jvm+DAV^4 zA-t2<`Sr{>WfzT9*E?ENa68FSQ7eq!cSledMSOHp zwPU?+C*HMtn@-V#J{pt_w#4n#gTC-bQll(J%QK;SdFpr?#PfBS#}ggo4yM1rRQz`Z zoIQghv+Wo??5RoEe)&9^8l}Q>(<|{z8kL1ZTdwV`;8HKTsD`cLJK4HmzD-X>q<}L< zO#&a&)CmP6{%gs9x0F6v0x zmIAJ77P-`LoC2g4ggbw6y{Ve`18nCH@r#f+YuXp3nv8H_ERvoS5Qd|Jz;_YvN_LTx zL`3x?wXKbdn&Dq_G1vN$QJe#c0b!ek*QW>>JsQ94q9q)Cp%eC`| zG<}+av0^C`#2kOx?vwkD*mZ#oT~QO=csRE7YAH#zD2Nn}dYb-C^Uq%kf1^4Qh zV-C@=TWi3d4L9{DFW~hZ7qk9S?WbrHt1VsjUI5^e4VdyAe|K%0zCw)Bg3wIP+wCsz z*yjHHJRkg9(*&(O3$kufGfd67OpiZ`->@|(ak<$EHTP|Lv1SxHU$2dQmfvE#Z^Q4G z2M8XI!Vi>uDL_$=!0M;hvUn#WRSl6%kXx&0c<6kSP92qM5c;R)V|u{}4GOgzBFF{M z@+$4r^yN|Yl9q;qne|hJUlP!TFdK1%j3?y9^*z>Y5ekShqd8%azvjvtK(4BQzYEZsL|~)6KMSy8iXsbIk$j{twq3{| z@A}dFjz#$zcUZn{=))s(+7^vfN4t%B%}$?7(_JJYMGun(OOlYLpZXE#b|*>U+pUz* zjJuNyA^x2#{`}qiO26rFCR=EILC2afmDRAI$@eKa$xbKVSfv(ZOV(58Z@;amlq(a9 zkv=8MQkmFU`DGgLHHb!8XOZ8 z7r?kG`ncQ?p=;EDK*SJb(1a;uuLsv<6XQh&FWY|zm0!*r53Kp(XP3WZG;4nc7>G}8 z4s^#qLb`*dv?Y#R4vCxa8-iX7Ecj-=$W-2=xE|L8-Nq?v+h$t}tR?2q8?PSRfXigt zWsNOuAel3UTF#tfv;)PkZ?=((+U}_*KN0HYlNDf_RvX_yO^7M;-|_ z+YokKpWOyErite8*#<*5WOkQs|I&qtvE&#@aps#qOReg;anP;B>4cLR`dWD|XslC% zTA1Nf==7Mr^Az4sxD&pZ54{q%1=epa@!BwJ!PAn|hC5c^M8KT8|D@;zL)xBhr7Ya; z5~o7ACW+P&u9$9%n>U`1dDDysD<`SduirgK|^0uIHh~nC4Ge%#CS4(73q9 zab$VQb5K9bc|(|!0Oe^svRa_J3zA)eTu($-ofyGc zxX)>zn~>|~=Ab}+jZ=F+Rezy{8yN(~Wy5?}A+=k^--7o>;dhr6c75Y0J>awu4cD^= zg^p#u;K~D{=WqBsOCmy%qhG;6ry3lv_#T(*o@gcUidXgJycb^ver4CS5nP->gd3^0 zX!TitCD7)DoA0@vxFN)IX?v?S_FgHdHkeO)j4m-xBDOGLs?rtO;O?%2qYUK>D>Y2e zHukz+L)v*14wD^N$scN+3396lX2gxbi;o3@i-qaZkaB zNdN0{ugYK9#n@yQE1q(mI)6}wsqSL2q9 zm>8A8oarwI3y83>p59SZu@}*;tI(mgzSnGN1f?#TAXko=iZ#+sd=(9CTDT_bug)qK#gj6yPjyxSzbW=HSUbsbyvd z%utaG_-o3;w(3O)7=QXxfxa1%)gFz%DkV}Vb6f@z=7yVZ(a3jV6=GuR3c@QT6Qfg} zV+2#))j`B6z{Iie7kF&vh+DiH_p1X)VMXnpZQUYK-FI`!%#l~5Ef$+ttr9&y8XBa_ z6wa-Dm%&Bf81_K(hg4xfY@RA3YXX>N4hQ6ZN8d7ZxWybCDVIYsgwF zUe%K0Qx!*A2ali9N3lLYkpkOzbT6fM;_wLIA)ja3BFP z8e5_(fZt^T=Nthvne^3!GXx==UHCBPDsb~V5@%1Xid%ghMXW~bnPXhJ@ODjyO5E#5 z8XgADXCu-$E;o%3YUe6k<>$)^U^r^hYr?}jW=ynJ>h+w2y4-n+lwo4cd&zylA65c6 z5?()kBMDOLvc2)R)atMePJzSPakw_)$fE@+%v4Wn{g>p*qs~Psec=8Y2~M!>!&c-E zTyhO%E=Eo`he*DEQbYSs$+-l^Fg0Es74z1!EZOFl4|t(V-Rn-cuQ)Jspt-bNnn`(i z55TI+!#FLn&PQO`c}Z96gV*r-l8wdK0TJfsfx6vA(Er-kaXx5&JkgS2;RASeR6+}J zab1x-3wlGhL0ykkE2Z87J;L7&wskZ^!iGrSB^}rXc_~#$=2tpS3noKKw9HO#T#f?R zOd&7sF!o zCk(|%7XcNiUScq;PIrKOAbUqg#~e)8Uk)HVV3tANw!Z!Uj;^DPj>!C~v%EOby+@c% zZdVnV=>g);d`A@I|Dfmrji4t@Ow139hy2-FQ=RPHMI=KoSZ8_%_1>!P(do~NXGS2p zDEgm+MxjYGC^8Mqt-(o(@mr@siTu5t^jk*Gw$hbF_#1p2*b?M=JwR}syB#BqwGW5p zEf0ecQ=6){qWj%HddsL}_}e^Q3E9f5swIgceH6fvA|YDDdCRDDW=GLQ;t??zo6CF2 zgv_t941-L{=H?QBD@G(-X@s3KkE!!p>QYo6#Bs{sx4kFuRMJ1Y1VhGn%|%K=5&=4R z<_Lyg%6T8J7~_ZG*EffogZtO0ZC8hDtA5NMA-p;55}JE-(6WXnh(H-nd?m(Ww1BR@ z@Q^U`t0OLwoXNYONV_&);y>*U4{wAF<${GP@v8%oJXmb^{2xa2wZ997i3WdygAnJ5 zR)d_m`=`UwIqoTmcP#0s6u6o|+)zbn^mN7y>-Pf8>L;Lv%*SG2*RUJgXQAS0yvpA9 z#jWPzE^%3~#$w^(CgwCUNlSQjbTIi#IXFfV5l(RTY`e5j5d?AT6ZWE0oFV9y-+{pQ z9z3Ii8yXNEl)7;upn37k2d@&`ybe5Z45(_r8QZFX>y`8Y5Wp<3x5stcG75l35gW5n z9rtjX+ltZk=2)((2xckV(2O!KK2UOfwAx|*-b83*EX={w6{SIxiVUgfM?FnttO|YZUxQTm< zN}*^hJy~_%frv5v#DiCnh71Q0BLI*raqb_!Ba%z6Iz$hx41%J9*s}GT&eY9yUH`~3 zG`%$}g;!41J)M(&9K(9PygVdMsgiOK+nYsiVdfeq4LNnHs*s1JRh`JIJ|P?f?~K}o z4G6yAcM2C|kB1ruXZ#F>?pNuw!n2jdoxL+5q6ax-gtHFal%5OGU$t;f_WyJMk+}_q&CjR?8vmf#PBz3p z`Y$@e?(ta8m~Nm7CH^r0!_e`8l^q@b43KGrk4N0=`|*1I8EF#C8t%z0OsS`NnW`ZC z*8zpH3bAZi-B3c3DCyToAZF=v9W||Yl)?|yA_&;r5|jfdhGg@_N~g$qAjxeu5ycBt zW9XjTq45N>>r8Q_mvtkh|2)IkwOsp79f}LpYH4n&Ryg*9;bB3CPrH%iqZ>&N#*_l> zLkTcrR@B1G*Z5y1SW{>ee_W47tRVR77h^F`W;Xm-gH5YeO87>{yS;1hXcyDs2PC}` zRET6)Vx7m^fxRnpAr%k9MIHnDcD?D}vRHA+TjpiW=nsJ4Mmos}9a33_N|ldALXN~kNOZ#|6bcwlzK z=;3dYdbJy>_8yw*^rtKj>n;A+Ag}i|2DLkSRx{~A3)LDQI5KuuU$W<+B-IOqpbUg8 zw+!%u#hS}t7+q9#5E$m?Rr)nHP04X|+Xm-1T zVqKwqfu z-GtY0#fY;4QgyE#{buO?~iuZ%;pc2l(Uk{zzIAGpL^w zz@qm|3}xxHv2f8JA09>6-JIy!yHp$ylr>uJ+}z$P3GLen^Y)d}bL8nuS+5MTj`7#@ zaZ`2-)Q#&4iU0b#e<*`+c2?587VHXx}Am zLJX0%04auN7h*1tvfbN`6OTamNof6=ydGVtyGxRaoJR_v3P4FiJ$IJ!rJP4?E#$0y zxLF;gLA~~AZKuF%6{&k0>pH6!$OUYL>>LwHn&eq%AUP!uuSby}#2_^XZZZOymRGTJ zkg!lQ%rl#tco%o)e9Vk2etJewGQQ2m@Aiyg0{j~Rc$mn{i}s`F^Y5^dbYu(WNX$6L zK0#IrYR}chzt@+7zMpfwKdym-tO~q()VVx2v?G;E@sBmL){^#r@}K-xBSS;>CA#AX zcrJ5ZC@Y;W60YFr7ebufbTcRYs~x%GUBm36sJ>;d{?2ks+n#OOUwsU>GHJ+{``&(R zujDT)Ui}5e06_TM3%gy}i8Ny7!A2Cj*5L;~iaFR*Z3tjm?=DoLf>L29_%J`Sn73Q+ z%CyfK02cMPZG)!zMru+nT0J+vZ|Ff$oanSZASLoP2GYtl3K&Kp=|H5mXlczKd8n)x zW9Wf3G%B|E*U(W;!r<|JlAQnL?;i|2+*AL3r=tfeOr^Ltr@sWJnS>j|!^~Lyb#elD zw*5j#Oe9$|2RK$5r!vpI8FC&XAuxTY__Ma@4xB8@tIgJSx5QVdl)g!(_H{1Vdw9+p zRyVWaxyeN~8i2=&mG8_t&C7d6N6ufl;r8RdLmq-`E(-cQTfKSR8qU^U=-zrpuA#L^ zaU7{&!uq`jt$Ica-1Pm-1?U-3q`~4Ytp}kYP%Y)^WHum?{o#vfKB07Y_qzsjdhD_d z|2ZkO<#ZH=^K!u!uzZ(0$LRz@PdjY|Dr6WYoLZPt^2--|pDOr$c?@CpFjO+cp78ld zQuAMG(mIHHMv0-MiVbiD8msqQWd}kAO6xAfZ<>R>i)zj6nv>LQSksPy-g*+)nk|jX z=m07giW_NB&fc_BR8GfG(yekJZY|Z}18YTh&la`c`AeXJ`>RxGKbkS9UU>ubBwwKJ z<|gywTUN>_CPOXb)Bh&LBg2>{Bk3zrIghkS1V#~98wY9n7U?_dpb?Hc#!-aAStFSfCgxMkpRSd<0a$IEdwy9drA*8pa>ov}b+U zF0INM+br;gJM9539#=yRl_tb5C5zQPRlHPZJRrN6Ldy7*t)L~QSlJc!oNDuc^sKgQ zy*s+RMd4F~D6Oa+AVIgExdv#@mV zHzD162}-ZQ{eAPlKCwP?X)z?vHm~ZDY3WJmt(JR3N7w&5bD3Sog8JpIrg!I0 z50KYq*F1hTmw!r=l^J1yVJQ6swQg_n1uNT{FzWhy1JT9(glN*0Ku{n5?aH#GZQ6bP zV8b-FUSlgAw#P|FV+HZ5bxy#uFX`Hfbv+b5;({8VZT&{#MPZCZ=h9pPS-xERfN6k zidJdDb6loPSC$lDa-6<-5cV!so09-6yiNm>aC=6*N>^w{a9c4-y^0ZHf)x*g264H) zs3Sx40-wB#fp`6OwV)gdg3`e>j^eDXV!TXown=ui!0P{}l8$8G%?$5|~YlKcfiXu@i>fZOem^vgN(r`|0r9^V_ z6lQUXh{ti-yvRIA)QVH@Rty#Gr+5|IOCT7)91>yf`|Vlb+4DW%xs|EBwn3Fh=Yc|AV z_vXp!htYoe3EY=x^Ew}bOwQBS_X2>jfxkF_*=YuVOk)F3uGWm^w4wix2p`4L?@BwH<+7<$(hprjLU7E*u7-j1a2Q)$%{7;pPWc%Nn&d82(qI$!) zF+>_(q>zlzjkCB*L>UKh)(!s^4rHG5*@ngu&8Xa)s6I!1*4uPp=C1>HzNfZjO_sl) zWzC;@T5i__bjO2By}_)r^EcminKy?_((|CZooW6i7_Yz>*LM=48w7mw!Qj&L`Bh@9^jeAY zAlMjmUJc-1G&U(ZXd2~XJg^jQ#Mybmf@72za=B?KkXy(&&k>LET6tr zUv#m=^}Tsv(Zg$ROU(X&TzCo!z(3O)A;QfBHg-E%H`P)}_&a;L3YFqz+JZvxGxh4_ zrTV_+cVJ{Tuh~sYTkiO(fPfgUprMh9WE2Q_HA>^Rz!4gEUU*b^v@JVUYBXXxW|8t6 zfeg*(!DJX)H_?O8a{<&cZ&BVRdf|3@jW6K_9_Yv%>x%WE-E{T)zz5RIMzU@IE+(bH z5Ck|;(hmbd) zS_Wn_ofVGmM$R&jZoYq1Xk8X-6&t^pj^hg)v~=HV5FAtkQ!78w*J!w+^G0(3!HtF{ z4u4{jyn%G%*tlV6*>-1#L<9*kQFsjT5G7SWvLJMbifQ#^(1D-MAQpol8U)L1&UGD1 z99$5}Z_d&KsbJ3vNhh-wq?eA#hm!<^IFuX-70X`9_5@+_0Tw!d0H9a z4*LEtffPmTU=4d?IVt-9ms@vCcZQ|>jpH;_dpEMW)s4e^#r?c;FJ*kjs6$I9&x?M> zFgnBZe*2oM?V(>% z&g?UAC@P^RjB zsC5Ju*Ss3gQW3G+^nwsj-c0(R6foKK0Pa7!q-T9S5S^u41f@1jr+xdL@ei#@U%>b8 z%R#_{6lRcM4AL1uHDLJ^=G0rNUT{t4RBjG6jVt|p#_^VCg`5fS8a&G)M2z%{%)6(s80R)EiS%SchI)6Y@k{9M|BQbs>D6|dElz&GHg#~J>0x3t@; z{kIfUkAr@}f{S_Rx&_3Hxu~a)%@<1sID#=4FkjGjn$NDREmOo4yb~jKsV(iA zE-C$Lu-Pfq<+5t?YO5vpyV6{CH_Zizg00HBH1_GKwS}==lVq1WYpDT%w*^WtO>)p= zwb_MNhHFf+pM!<|gifpCTv$OFc8@(f&%JMTBlQRBEf`<(6t_8p&5TiRfE=IA zMl+Ef(exR7xq+%e6tl-RY7fB^_lW*h1&eG6<#?%Ox{@t1u}!{ccFmbGb=PlS zWowBH^owTAqhz-wK1HD{yEhjH!_QUBveBdyMTdu82RGi){#zff7fWT< zEM6;{fvg!*R1f}k3RI-ivQ;ktmOf=+nFPtv)(A+*AF(-3h>+QWy(x;9@|m*lrE&e( z8_ci0zXIw3?ZLQ;j2&(wJ^k4Ubtc8}1KOo{oXWoEEjfP`n!CfK_qQrZ)#zlNw}>Qajv}B^p3g1c_vT7;^$7KWn`#9F z{C;=x_x!v(-=A>4rVOzd{kk69;D^42M$!%iJ>Gxz8{|gP&V9;_!kzqfEG&VFXei?D zaQI|pr#vI{>4c(bA# zI(uX$D<$j!E_WrP?~*)nzT&bY>OZ6kNNqVJQ^Q|ITx!U_J(z#(yz6d4VeeeBuszZ> zAhl(;Ax+r)loV1ig}K5R-_Eo6=+UeuqW{~}r1U(66fd#1j4V+Qg=i|rQ>G!`mncf- ziI%#*!#HYfXxQsAAs%9n3o?1~+bSet;U`2Ar{uRZFlfZ8oWUQ_`N(%+Y2-Zw6I+5j zUKBs9a8nEyi^1J5;V2)bT9mhj^kEbx-1X--1QOA+mn$FWgk@!IE6@J{KXv=;u%gv2MFF(nu0@PbTie3s)QSV}QK3%8(yjii8nY3+EubnwPAEOcP;94j9DCt+*>O)Vfpja`RDO zAIrp003yPzq@;dP3l;SPd^+514YBun_|ddNgFFK#?cuVt-M1##@ zww|~)slQZ#Z)@;mSj0?zqwFLVpN@|g%;e+tc=&MnGlu%!ls-u{1*{XL6MGZY>Le>(NtqzGAb-Mpr*(i5ZzAwv=s)exJ^_v&OB8S z%s$V}e96u64DLi($4ctNP5o~;ey{Iz2fa@>R#pg!IqY=!#S+=N@KPLwpcf7{SrvVj zo^fCE8QA=#c+8Wd^e%kpt=2ul@_wY$SJL{+j<&;eE~!pFwiA6WkoW~%W`Kj!u6>q==o`iDQQamvl6N3yNqXD*5YJ0sDjvqB2{J?}I z3QHV#pDeiKvjBeOq2@y$)jruG*i{OK;g~4dQptg!G;k4Wqu&5j?g`p(&qRi=HO!wl z6!utDKwmC~K?p9>c=f}~{|EPJtWtzDT|e5^(-4RcA2B%WIuJr^Mi>v(bRmLxY&TaG1-gb?vRDg`!5eR~ z)0W03OIvGK!nkv1S2@)D28@i)XkF!&y5f`goOo8q@DeJO3wU6?IyV4C;<@uY@!p)h zSafr*g@C8zQ@UWNVCmBF7H;##puV^WRQt&j!Vno>q26y@tkeBo)I>Dv43WX z4vSPN->Fs6C^bRo)N{Lb4(`p1TMk7}0$g^E9{x znq(;BcuHk-{MepMGf2SgwS8q%$l?6dG0f2ULSvP6bGh)*SQ?=wg1~i%SnM87BqWz+ z^q%9)JUTgvW(laKQ@-KKi6&74@x0nL8;nb_#LH=T!dr}gf?09gIu<*?XaB3p`A#;h zXDw(3%EyrV)PE%LjhtlH*2!YDyPn{-*QVu5W#E?Gh*fk)Gr`S}ecr#4>kX%2L;3a! zyt5wls8=KMD;Da_8~FBV!!vksDVBYJl_k@QKcRMTElt7buatIm1&_zs>vXF`oBP4$ zo?nE6cW?WD(;PCrT$cS6dE2+{sp;q9Mdpu%wtb(Oimt1IZsRFp;sQrRTa)6_MY%*( z*RS;E`qUa)+$2~O4KgVWK1o%)Rmt$OX2@p-TAYij;jpi~!C}m$H)B;<4^`TW2qXvT znfOU6COWG@s+3pZKvvdmkxyGp)dYjgN!NVf%(R;_|AP1mA7<&Io>jjEWoJdkQISG) zj1D#f3yR+HN&C3v9<+=i>nhmXxY40cZC6oJC25M47|!EN@8Bfr#|UkV#DraV8QpO} zU+^5Jtmwx{lTvnyQkBRY|5CzPl6=`F*Y~m<)0+l1uJ1>ciei*h3^@pW*%94pvJXhg zGHPm?&tvi?)s~ckOwJ{?eHBFub=sW7f7m(lCuSVzt{bUR=EeVEkC*un@E`vi=`-d3|L@Pnp7Fwoa!li^|%udELbSkG-jqP*|L-GFPCeg6MB1 z%a2xm(KjW{kM+;kVa7OQcpU+&%GgYQos{ZJALugXN#;%A$rQtwH8LNBZg~cIxOU>S^QZrT;mqtnw+Us`9RqDXm-#oRL#e=a*DpK~pbf zQM2y1I4iHp$g5KDsM49JWN}eFDJ`4){~dJ=CR7$D4=Ot5gc5#IseP;`J%?B&y;vqk z#-EM5XhZGrUN5@;aC{c*HGn;fm*!2Uu||n(OvyD~@y$I7@OCr^NPHwKff6M}9(#EY zr%FL43f+hy0HI=+7C)~gg{k!T$!k~0i3Fm204-hsU5<;$eA2T2YDjBSamwlgI*(5( zs`HBKY{I)#pfBBwSQnSnXB9M=x%H#A-EeZVvM#D9%c`?8>eO_2;Mb>1+*Vu{)#ar% zX-NM<*m($a`COb|niW^4#WIj$>X)jyc_X9$zwgpvP+do7c3DwEw@jEwCq_6vOMj}( zDk*_HtQD!+@;k2l4^Q8RsiE^FD$Z^VQh2QEAzDq)%x-8rxWwCeo2~0nY+r?FBaYMi@EC&!;R6tx;%fb0QcwDdqyHOdgFUch~IP>u|;j4eJ-8` zKG~>ucK&F?A)#9%RN9tpQ8urL!kR`w#9$*r*&{IsD7qZm*V$H0GQ%~w;*a`|Y20eX}1{Z=sjR?&T#_P0Vm}_#Ft8%C-be-kekEh!jmbuQJ$$a@QoJ)a-P6;OKYGT0_ONEF|OVN)M z|4#ra0M-A;M#y+1Lg{IbjP>=JsptykCx$kr+Iqc2JU?SNzx2ZYe?wq*8#E;W0Kx!5 A4*&oF literal 0 HcmV?d00001 diff --git a/pkgs/muttprint/default.nix b/pkgs/muttprint/default.nix new file mode 100644 index 00000000..0863a7b9 --- /dev/null +++ b/pkgs/muttprint/default.nix @@ -0,0 +1,44 @@ +{ stdenv, fetchurl, lib, psutils, dialog, texlive, makeWrapper, automake, autoconf, imagemagick, ghostscript, perl, perlPackages }: +stdenv.mkDerivation rec { + name = "muttprint-${version}"; + version = "0.73"; + src = fetchurl { + url = "http://downloads.sf.net/muttprint/${name}.tar.gz"; + sha256 = "1dny4niyibfgazwlzfcnb37jy6k140rs6baaj629z12rmahfdavw"; + }; + patches = [ + ./0.73-4.diff.gz + ./regex.patch + ./two_edge.patch + ]; + preConfigure = '' + aclocal + automake --add-missing --copy + autoconf + ''; + preBuild = '' + cd pics + convert -flop BabyTuX.eps BabyTuX.eps + for i in BabyTuX_color.eps BabyTuX.eps Debian_color.eps \ + Debian.eps Gentoo.eps Gentoo_color.eps ; do + convert $i $(basename $i .eps).png + done + convert penguin.eps penguin.jpg + cd .. + ''; + postInstall = '' + perlFlags= + for i in $(IFS=:; echo $PERL5LIB); do + perlFlags="$perlFlags -I$i" + done + + sed -i "$out/bin/muttprint" -e "s|^#\!\(.*[ /]perl.*\)$|#\!\1$perlFlags|" + sed -i "$out/bin/muttprint" -e "s|ENV{HOME}/.muttprintrc|ENV{XDG_CONFIG_HOME}/muttprint/muttprintrc|" + + wrapProgram $out/bin/muttprint \ + --prefix PATH : ${lib.makeBinPath [ psutils dialog + (texlive.combine { inherit (texlive) scheme-basic utopia fancyvrb lastpage marvosym ucs cm-super; }) ]} + ''; + buildInputs = [ makeWrapper automake autoconf imagemagick ghostscript perl ] ++ + (with perlPackages; [ TimeDate FileWhich TextIconv ]); +} diff --git a/pkgs/muttprint/regex.patch b/pkgs/muttprint/regex.patch new file mode 100644 index 00000000..e99c4a2c --- /dev/null +++ b/pkgs/muttprint/regex.patch @@ -0,0 +1,11 @@ +--- a/muttprint 2015-07-21 11:18:04.219578426 +1200 ++++ b/muttprint 2015-07-21 11:18:53.906243779 +1200 +@@ -1635,7 +1635,7 @@ + open (AUX, "$auxfile") or fatalError "Could not open $auxfile:\n$!"; + + while () { +- ($numberOfPages) = /\\newlabel{LastPage}{{}{(\d+)}}/; ++ ($numberOfPages) = /\\newlabel\{LastPage}\{\{}\{(\d+)}}/; + } + + close AUX or fatalError "Could not close $auxfile:\n$!"; diff --git a/pkgs/muttprint/two_edge.patch b/pkgs/muttprint/two_edge.patch new file mode 100644 index 00000000..4a7290d3 --- /dev/null +++ b/pkgs/muttprint/two_edge.patch @@ -0,0 +1,19 @@ +--- a/muttprint 2016-05-05 13:48:50.515950744 +1200 ++++ b/muttprint 2016-05-05 13:52:10.722623902 +1200 +@@ -643,14 +643,14 @@ + if ($Config{PAPERSAVE} eq "on") { + if ($useCups) { + $Config{PRINT_COMMAND} =~ +- s/\$CUPS_OPTIONS/ -o sides=two-sided-long-edge \$CUPS_OPTIONS/; ++ s/\$CUPS_OPTIONS/ -o sides=two-sided-short-edge \$CUPS_OPTIONS/; + } else { # no cups + modifyPS("landscape"); + } + } else { # no papersave + if ($useCups) { + $Config{PRINT_COMMAND} =~ +- s/\$CUPS_OPTIONS/ -o sides=two-sided-short-edge \$CUPS_OPTIONS/; ++ s/\$CUPS_OPTIONS/ -o sides=two-sided-long-edge \$CUPS_OPTIONS/; + } else { # no cups + modifyPS("portrait"); + } diff --git a/pkgs/nagios-cli/default.nix b/pkgs/nagios-cli/default.nix new file mode 100644 index 00000000..7d7e7cc2 --- /dev/null +++ b/pkgs/nagios-cli/default.nix @@ -0,0 +1,2 @@ +{ python2Packages, mylibs }: +python2Packages.buildPythonApplication (mylibs.fetchedGithub ./nagios-cli.json) diff --git a/pkgs/nagios-cli/nagios-cli.json b/pkgs/nagios-cli/nagios-cli.json new file mode 100644 index 00000000..fc912277 --- /dev/null +++ b/pkgs/nagios-cli/nagios-cli.json @@ -0,0 +1,15 @@ +{ + "tag": "edc51ea-master", + "meta": { + "name": "nagios-cli", + "url": "https://github.com/tehmaze/nagios-cli", + "branch": "master" + }, + "github": { + "owner": "tehmaze", + "repo": "nagios-cli", + "rev": "edc51eaccf1086bb4469ce45c5e5155f2d71a2f9", + "sha256": "1qw5fv4niz079zqwmfr3kzjv8cc31rbhi9whdbv9c32qdi3h7vsp", + "fetchSubmodules": true + } +} diff --git a/pkgs/nagnu/default.nix b/pkgs/nagnu/default.nix new file mode 100644 index 00000000..2b9c0ecc --- /dev/null +++ b/pkgs/nagnu/default.nix @@ -0,0 +1,12 @@ +{ stdenv, mylibs, ncurses, curl }: +stdenv.mkDerivation (mylibs.fetchedGithub ./nagnu.json // rec { + buildInputs = [ ncurses curl ]; + installPhase = '' + mkdir -p $out/bin + cp nagnu $out/bin + mkdir -p $out/share/doc/nagnu + cp nagnu.conf.sample $out/share/doc/nagnu + mkdir -p $out/share/man/man8 + cp docs/nagnu.8 $out/share/man/man8 + ''; +}) diff --git a/pkgs/nagnu/nagnu.json b/pkgs/nagnu/nagnu.json new file mode 100644 index 00000000..60a8b079 --- /dev/null +++ b/pkgs/nagnu/nagnu.json @@ -0,0 +1,15 @@ +{ + "tag": "c7e65fc-master", + "meta": { + "name": "nagnu", + "url": "https://github.com/frlen/nagnu", + "branch": "master" + }, + "github": { + "owner": "frlen", + "repo": "nagnu", + "rev": "c7e65fc02f46a3756a4cc47953ea2f3e57a84728", + "sha256": "1i2jm8ibvqcc734daamnzc3hx8q0nsry1x12q0kr5yvcsdjjgyy3", + "fetchSubmodules": true + } +} diff --git a/pkgs/note/default.nix b/pkgs/note/default.nix new file mode 100644 index 00000000..0c422bcc --- /dev/null +++ b/pkgs/note/default.nix @@ -0,0 +1,18 @@ +{ lib, buildPerlPackage, fetchurl, perlPackages }: +buildPerlPackage rec { + name = "note-1.3.26"; + src = fetchurl { + url = "mirror://cpan/authors/id/T/TL/TLINDEN/${name}.tar.gz"; + sha256 = "1h645rnb5vpms48fcyzvp7cwwcbf9k5xq49w2bpniyzzgk2brjrq"; + }; + outputs = ["out" "man"]; + propagatedBuildInputs = with perlPackages; [ YAML ]; + + meta = with lib; { + description = "A perl script for maintaining notes"; + homepage = http://www.daemon.de/NOTE; + license = licenses.gpl3; + maintainers = with maintainers; [ { name = "T.v.Dein"; email = "tlinden@cpan.org"; } ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/notmuch/notmuch-python/default.nix b/pkgs/notmuch/notmuch-python/default.nix new file mode 100644 index 00000000..d639d9ae --- /dev/null +++ b/pkgs/notmuch/notmuch-python/default.nix @@ -0,0 +1,16 @@ +{ stdenv, notmuch, pythonPackages }: +stdenv.mkDerivation rec { + name = "notmuch-${pythonPackages.python.name}-${version}"; + version = notmuch.version; + outputs = [ "out" ]; + buildInputs = with pythonPackages; [ sphinx python ]; + src = notmuch.src; + phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ]; + buildPhase = '' + cd bindings/python + python setup.py build + ''; + installPhase = '' + python setup.py install --prefix=$out --optimize=1 + ''; +} diff --git a/pkgs/notmuch/notmuch-vim/default.nix b/pkgs/notmuch/notmuch-vim/default.nix new file mode 100644 index 00000000..e79a253a --- /dev/null +++ b/pkgs/notmuch/notmuch-vim/default.nix @@ -0,0 +1,11 @@ +{ stdenv, notmuch }: +stdenv.mkDerivation rec { + name = "notmuch-vim-${version}"; + version = notmuch.version; + outputs = [ "out" ]; + src = notmuch.src; + phases = [ "unpackPhase" "installPhase" ]; + installPhase = '' + make -C vim DESTDIR=$out prefix="/share/vim/vimfiles" install + ''; +} diff --git a/pkgs/pg_activity/default.nix b/pkgs/pg_activity/default.nix new file mode 100644 index 00000000..a20ee8a4 --- /dev/null +++ b/pkgs/pg_activity/default.nix @@ -0,0 +1,5 @@ +{ python2Packages, mylibs }: +with python2Packages; +buildPythonApplication (mylibs.fetchedGithub ./pg_activity.json // { + propagatedBuildInputs = [ psycopg2 psutil ]; +}) diff --git a/pkgs/pg_activity/pg_activity.json b/pkgs/pg_activity/pg_activity.json new file mode 100644 index 00000000..4485d9a7 --- /dev/null +++ b/pkgs/pg_activity/pg_activity.json @@ -0,0 +1,15 @@ +{ + "tag": "v1.4.0", + "meta": { + "name": "pg_activity", + "url": "https://github.com/julmon/pg_activity/", + "branch": "refs/tags/v1.4.0" + }, + "github": { + "owner": "julmon", + "repo": "pg_activity", + "rev": "f26ae614c204254a805309026eebd5e9230b0214", + "sha256": "1bmvgrmna7vz2a6vknxm0k19vl9x7l6hn6vpfd7jgd53rz7c9w5p", + "fetchSubmodules": true + } +} diff --git a/pkgs/pgloader/default.nix b/pkgs/pgloader/default.nix new file mode 100644 index 00000000..9f1be67d --- /dev/null +++ b/pkgs/pgloader/default.nix @@ -0,0 +1,19 @@ +{ stdenv, mylibs, sbcl, cacert, sqlite, freetds, libzip, curl, git, openssl, makeWrapper }: +stdenv.mkDerivation (mylibs.fetchedGithub ./pgloader.json // { + # was removed from quicklisp packages cd7bfa6f48295f361c691a7520fb122938bd2a68, + # but needs curl to build everything otherwise + __noChroot = true; + buildInputs = [ sbcl cacert sqlite freetds libzip curl git openssl makeWrapper ]; + LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ sqlite libzip curl git openssl freetds ]; + buildPhase = '' + export PATH=$PATH:$out/bin + export HOME=$TMPDIR + make pgloader + ''; + dontStrip = true; + enableParallelBuilding = false; + installPhase = '' + install -Dm755 build/bin/pgloader "$out/bin/pgloader" + wrapProgram $out/bin/pgloader --prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH" + ''; +}) diff --git a/pkgs/pgloader/pgloader.json b/pkgs/pgloader/pgloader.json new file mode 100644 index 00000000..dfe310b7 --- /dev/null +++ b/pkgs/pgloader/pgloader.json @@ -0,0 +1,15 @@ +{ + "tag": "v3.5.2", + "meta": { + "name": "pgloader", + "url": "https://github.com/dimitri/pgloader", + "branch": "refs/tags/v3.5.2" + }, + "github": { + "owner": "dimitri", + "repo": "pgloader", + "rev": "63af7e7373975391446dcae151f5c61564849025", + "sha256": "1rd0k1x7ml6b6x526brachm13v51vx5ikpg64c8k8j29cskq2vqa", + "fetchSubmodules": true + } +} diff --git a/pkgs/pure-ftpd/default.nix b/pkgs/pure-ftpd/default.nix new file mode 100644 index 00000000..37ce6952 --- /dev/null +++ b/pkgs/pure-ftpd/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, openssl, postgresql, openldap }: + +stdenv.mkDerivation rec { + name = "pure-ftpd-1.0.47"; + + src = fetchurl { + url = "https://download.pureftpd.org/pub/pure-ftpd/releases/${name}.tar.gz"; + sha256 = "1b97ixva8m10vln8xrfwwwzi344bkgxqji26d0nrm1yzylbc6h27"; + }; + + preConfigure = '' + sed -i -e "s#FTPuid#immaeFtpUid#" src/log_ldap.h + sed -i -e "s#FTPgid#immaeFtpGid#" src/log_ldap.h + ''; + postConfigure = '' + sed -i 's/define MAX_DATA_SIZE (40/define MAX_DATA_SIZE (70/' src/ftpd.h + ''; + buildInputs = [ openssl postgresql openldap ]; + + configureFlags = [ "--with-everything" "--with-tls" "--with-pgsql" "--with-ldap" ]; + + meta = with stdenv.lib; { + description = "A free, secure, production-quality and standard-conformant FTP server"; + homepage = https://www.pureftpd.org; + license = licenses.isc; # with some parts covered by BSD3(?) + maintainers = [ maintainers.lethalman ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/python-packages/apprise/apprise.json b/pkgs/python-packages/apprise/apprise.json new file mode 100644 index 00000000..b408ea49 --- /dev/null +++ b/pkgs/python-packages/apprise/apprise.json @@ -0,0 +1,15 @@ +{ + "tag": "c9b957c-master", + "meta": { + "name": "apprise", + "url": "https://github.com/caronc/apprise", + "branch": "master" + }, + "github": { + "owner": "caronc", + "repo": "apprise", + "rev": "c9b957c4341e7d43e5be6463bd317a7401d083d9", + "sha256": "01zz4mh3xvplrm5xalzrcncnh0jq5y51pmdxkr4hdd6dz9wx0mbg", + "fetchSubmodules": true + } +} diff --git a/pkgs/python-packages/apprise/default.nix b/pkgs/python-packages/apprise/default.nix new file mode 100644 index 00000000..d310599e --- /dev/null +++ b/pkgs/python-packages/apprise/default.nix @@ -0,0 +1,11 @@ +{ mylibs, pythonPackages }: with pythonPackages; +buildPythonPackage rec { + pname = "apprise"; + version = "0.7.4"; + src = (mylibs.fetchedGithub ./apprise.json).src; + propagatedBuildInputs = [ decorator requests + requests_oauthlib oauthlib urllib3 six click markdown pyyaml + sleekxmpp + ]; + doChecks = false; +} diff --git a/pkgs/python-packages/buildbot/plugins/buildslist/bower.nix b/pkgs/python-packages/buildbot/plugins/buildslist/bower.nix new file mode 100644 index 00000000..8b26e0af --- /dev/null +++ b/pkgs/python-packages/buildbot/plugins/buildslist/bower.nix @@ -0,0 +1,9 @@ +# Generated by bower2nix v3.2.0 (https://github.com/rvl/bower2nix) +{ fetchbower, buildEnv }: +buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [ + (fetchbower "jquery" "2.1.1" "2.1.1" "1qir36vi0bppjr9ckm6303vk1f1dkvq5wandpihb7dxl76s832bd") + (fetchbower "angular" "1.5.11" "~1.5.3" "1sw31v3dhmxwgrmncw2f9yl07i9px62ssbj0739zsgi59cq2khl7") + (fetchbower "lodash" "2.4.2" "~2.4.1" "0bhqarlvhlrxfvcgnxgsrsjgi6az4c117ffxyfi7gjwr9cvrzz4q") + (fetchbower "angular-mocks" "1.5.11" "~1.5.3" "0yv0396fw51i6d9lwiwf241rmc28rnxgg2aa9vsc7dnm4qjkn6gx") + (fetchbower "buildbot-data" "2.1.0" "~2.1.0" "0hkmm1byy7d712898lhkxf7i0wshmd1f8cr98iz67679nm6abimk") +]; } diff --git a/pkgs/python-packages/buildbot/plugins/buildslist/buildslist.json b/pkgs/python-packages/buildbot/plugins/buildslist/buildslist.json new file mode 100644 index 00000000..27ca94c1 --- /dev/null +++ b/pkgs/python-packages/buildbot/plugins/buildslist/buildslist.json @@ -0,0 +1,14 @@ +{ + "tag": "9e87787-master", + "meta": { + "name": "buildslist", + "url": "https://git.immae.eu/perso/Immae/Projets/Buildbot/buildslist", + "branch": "master" + }, + "git": { + "url": "https://git.immae.eu/perso/Immae/Projets/Buildbot/buildslist", + "rev": "9e87787b40f4d6435218268e516be56eacd8d17b", + "sha256": "0bli9w0xwpij23jblggz2zwhb7y3gkjdvsppcy6ia3m0x0siclpi", + "fetchSubmodules": true + } +} diff --git a/pkgs/python-packages/buildbot/plugins/buildslist/default.nix b/pkgs/python-packages/buildbot/plugins/buildslist/default.nix new file mode 100644 index 00000000..08e6955a --- /dev/null +++ b/pkgs/python-packages/buildbot/plugins/buildslist/default.nix @@ -0,0 +1,45 @@ +{ mylibs, runCommand, buildBowerComponents, pythonPackages, jq, yarn, nodejs }: +let + buildslist_src = mylibs.fetchedGit ./buildslist.json; + packagejson = runCommand "package.json" { buildInputs = [ jq ]; } '' + cat ${buildslist_src.src}/package.json | jq -r '.version = "${pythonPackages.buildbot-pkg.version}"' > $out + ''; + buildslist_yarn = mylibs.yarn2nixPackage.mkYarnModules rec { + name = "buildslist-yarn-modules"; + pname = name; + inherit (pythonPackages.buildbot-pkg) version; + packageJSON = packagejson; + yarnLock = "${buildslist_src.src}/yarn.lock"; + yarnNix = ./yarn-packages.nix; + pkgConfig = { + all = { buildInputs = [ mylibs.yarn2nixPackage.src ]; }; + }; + }; + buildslist_bower = buildBowerComponents { + name = "buildslist"; + generated = ./bower.nix; + src = "${buildslist_src.src}/guanlecoja/"; + }; +in +pythonPackages.buildPythonPackage rec { + pname = "buildbot-buildslist"; + inherit (pythonPackages.buildbot-pkg) version; + + __noChroot = true; + preConfigure = '' + export HOME=$PWD + cp -a ${buildslist_yarn}/node_modules . + chmod -R u+w node_modules + cp -a ${buildslist_bower}/bower_components ./libs + chmod -R u+w libs + ''; + propagatedBuildInputs = with pythonPackages; [ + (klein.overridePythonAttrs(old: { checkPhase = ""; })) + buildbot-pkg + ]; + nativeBuildInputs = [ yarn nodejs ]; + buildInputs = [ buildslist_yarn buildslist_bower ]; + + doCheck = false; + src = buildslist_src.src; +} diff --git a/pkgs/python-packages/buildbot/plugins/buildslist/yarn-packages.nix b/pkgs/python-packages/buildbot/plugins/buildslist/yarn-packages.nix new file mode 100644 index 00000000..7ab3c635 --- /dev/null +++ b/pkgs/python-packages/buildbot/plugins/buildslist/yarn-packages.nix @@ -0,0 +1,5459 @@ +{fetchurl, linkFarm}: rec { + offline_cache = linkFarm "offline" packages; + packages = [ + + { + name = "abbrev___abbrev_1.1.1.tgz"; + path = fetchurl { + name = "abbrev___abbrev_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz"; + sha1 = "f8f2c887ad10bf67f634f005b6987fed3179aac8"; + }; + } + + { + name = "abbrev___abbrev_1.0.9.tgz"; + path = fetchurl { + name = "abbrev___abbrev_1.0.9.tgz"; + url = "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz"; + sha1 = "91b4792588a7738c25f35dd6f63752a2f8776135"; + }; + } + + { + name = "accepts___accepts_1.3.3.tgz"; + path = fetchurl { + name = "accepts___accepts_1.3.3.tgz"; + url = "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz"; + sha1 = "c3ca7434938648c3e0d9c1e328dd68b622c284ca"; + }; + } + + { + name = "after___after_0.8.2.tgz"; + path = fetchurl { + name = "after___after_0.8.2.tgz"; + url = "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz"; + sha1 = "fedb394f9f0e02aa9768e702bda23b505fae7e1f"; + }; + } + + { + name = "ajv___ajv_6.10.0.tgz"; + path = fetchurl { + name = "ajv___ajv_6.10.0.tgz"; + url = "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz"; + sha1 = "90d0d54439da587cd7e843bfb7045f50bd22bdf1"; + }; + } + + { + name = "amdefine___amdefine_1.0.1.tgz"; + path = fetchurl { + name = "amdefine___amdefine_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz"; + sha1 = "4a5282ac164729e93619bcfd3ad151f817ce91f5"; + }; + } + + { + name = "ansi_gray___ansi_gray_0.1.1.tgz"; + path = fetchurl { + name = "ansi_gray___ansi_gray_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz"; + sha1 = "2962cf54ec9792c48510a3deb524436861ef7251"; + }; + } + + { + name = "ansi_regex___ansi_regex_0.2.1.tgz"; + path = fetchurl { + name = "ansi_regex___ansi_regex_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz"; + sha1 = "0d8e946967a3d8143f93e24e298525fc1b2235f9"; + }; + } + + { + name = "ansi_regex___ansi_regex_2.1.1.tgz"; + path = fetchurl { + name = "ansi_regex___ansi_regex_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz"; + sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df"; + }; + } + + { + name = "ansi_regex___ansi_regex_3.0.0.tgz"; + path = fetchurl { + name = "ansi_regex___ansi_regex_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz"; + sha1 = "ed0317c322064f79466c02966bddb605ab37d998"; + }; + } + + { + name = "ansi_styles___ansi_styles_1.1.0.tgz"; + path = fetchurl { + name = "ansi_styles___ansi_styles_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.1.0.tgz"; + sha1 = "eaecbf66cd706882760b2f4691582b8f55d7a7de"; + }; + } + + { + name = "ansi_styles___ansi_styles_2.2.1.tgz"; + path = fetchurl { + name = "ansi_styles___ansi_styles_2.2.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz"; + sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe"; + }; + } + + { + name = "ansi_wrap___ansi_wrap_0.1.0.tgz"; + path = fetchurl { + name = "ansi_wrap___ansi_wrap_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz"; + sha1 = "a82250ddb0015e9a27ca82e82ea603bbfa45efaf"; + }; + } + + { + name = "anymatch___anymatch_1.3.2.tgz"; + path = fetchurl { + name = "anymatch___anymatch_1.3.2.tgz"; + url = "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz"; + sha1 = "553dcb8f91e3c889845dfdba34c77721b90b9d7a"; + }; + } + + { + name = "aproba___aproba_1.2.0.tgz"; + path = fetchurl { + name = "aproba___aproba_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz"; + sha1 = "6802e6264efd18c790a1b0d517f0f2627bf2c94a"; + }; + } + + { + name = "archy___archy_1.0.0.tgz"; + path = fetchurl { + name = "archy___archy_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz"; + sha1 = "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40"; + }; + } + + { + name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz"; + path = fetchurl { + name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz"; + url = "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz"; + sha1 = "4b35c2944f062a8bfcda66410760350fe9ddfc21"; + }; + } + + { + name = "argparse___argparse_1.0.10.tgz"; + path = fetchurl { + name = "argparse___argparse_1.0.10.tgz"; + url = "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz"; + sha1 = "bcd6791ea5ae09725e17e5ad988134cd40b3d911"; + }; + } + + { + name = "arr_diff___arr_diff_2.0.0.tgz"; + path = fetchurl { + name = "arr_diff___arr_diff_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz"; + sha1 = "8f3b827f955a8bd669697e4a4256ac3ceae356cf"; + }; + } + + { + name = "arr_diff___arr_diff_4.0.0.tgz"; + path = fetchurl { + name = "arr_diff___arr_diff_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz"; + sha1 = "d6461074febfec71e7e15235761a329a5dc7c520"; + }; + } + + { + name = "arr_flatten___arr_flatten_1.1.0.tgz"; + path = fetchurl { + name = "arr_flatten___arr_flatten_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz"; + sha1 = "36048bbff4e7b47e136644316c99669ea5ae91f1"; + }; + } + + { + name = "arr_union___arr_union_3.1.0.tgz"; + path = fetchurl { + name = "arr_union___arr_union_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz"; + sha1 = "e39b09aea9def866a8f206e288af63919bae39c4"; + }; + } + + { + name = "array_differ___array_differ_1.0.0.tgz"; + path = fetchurl { + name = "array_differ___array_differ_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz"; + sha1 = "eff52e3758249d33be402b8bb8e564bb2b5d4031"; + }; + } + + { + name = "array_each___array_each_1.0.1.tgz"; + path = fetchurl { + name = "array_each___array_each_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz"; + sha1 = "a794af0c05ab1752846ee753a1f211a05ba0c44f"; + }; + } + + { + name = "array_find_index___array_find_index_1.0.2.tgz"; + path = fetchurl { + name = "array_find_index___array_find_index_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz"; + sha1 = "df010aa1287e164bbda6f9723b0a96a1ec4187a1"; + }; + } + + { + name = "array_slice___array_slice_0.2.3.tgz"; + path = fetchurl { + name = "array_slice___array_slice_0.2.3.tgz"; + url = "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz"; + sha1 = "dd3cfb80ed7973a75117cdac69b0b99ec86186f5"; + }; + } + + { + name = "array_slice___array_slice_1.1.0.tgz"; + path = fetchurl { + name = "array_slice___array_slice_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz"; + sha1 = "e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4"; + }; + } + + { + name = "array_uniq___array_uniq_1.0.3.tgz"; + path = fetchurl { + name = "array_uniq___array_uniq_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz"; + sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6"; + }; + } + + { + name = "array_unique___array_unique_0.2.1.tgz"; + path = fetchurl { + name = "array_unique___array_unique_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz"; + sha1 = "a1d97ccafcbc2625cc70fadceb36a50c58b01a53"; + }; + } + + { + name = "array_unique___array_unique_0.3.2.tgz"; + path = fetchurl { + name = "array_unique___array_unique_0.3.2.tgz"; + url = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz"; + sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"; + }; + } + + { + name = "arraybuffer.slice___arraybuffer.slice_0.0.6.tgz"; + path = fetchurl { + name = "arraybuffer.slice___arraybuffer.slice_0.0.6.tgz"; + url = "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz"; + sha1 = "f33b2159f0532a3f3107a272c0ccfbd1ad2979ca"; + }; + } + + { + name = "asn1___asn1_0.2.4.tgz"; + path = fetchurl { + name = "asn1___asn1_0.2.4.tgz"; + url = "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz"; + sha1 = "8d2475dfab553bb33e77b54e59e880bb8ce23136"; + }; + } + + { + name = "assert_plus___assert_plus_1.0.0.tgz"; + path = fetchurl { + name = "assert_plus___assert_plus_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz"; + sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"; + }; + } + + { + name = "assign_symbols___assign_symbols_1.0.0.tgz"; + path = fetchurl { + name = "assign_symbols___assign_symbols_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz"; + sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"; + }; + } + + { + name = "async_each___async_each_1.0.1.tgz"; + path = fetchurl { + name = "async_each___async_each_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz"; + sha1 = "19d386a1d9edc6e7c1c85d388aedbcc56d33602d"; + }; + } + + { + name = "async_foreach___async_foreach_0.1.3.tgz"; + path = fetchurl { + name = "async_foreach___async_foreach_0.1.3.tgz"; + url = "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz"; + sha1 = "36121f845c0578172de419a97dbeb1d16ec34542"; + }; + } + + { + name = "async___async_1.5.2.tgz"; + path = fetchurl { + name = "async___async_1.5.2.tgz"; + url = "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz"; + sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a"; + }; + } + + { + name = "async___async_2.6.2.tgz"; + path = fetchurl { + name = "async___async_2.6.2.tgz"; + url = "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz"; + sha1 = "18330ea7e6e313887f5d2f2a904bac6fe4dd5381"; + }; + } + + { + name = "asynckit___asynckit_0.4.0.tgz"; + path = fetchurl { + name = "asynckit___asynckit_0.4.0.tgz"; + url = "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz"; + sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"; + }; + } + + { + name = "atob___atob_2.1.2.tgz"; + path = fetchurl { + name = "atob___atob_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz"; + sha1 = "6d9517eb9e030d2436666651e86bd9f6f13533c9"; + }; + } + + { + name = "aws_sign2___aws_sign2_0.7.0.tgz"; + path = fetchurl { + name = "aws_sign2___aws_sign2_0.7.0.tgz"; + url = "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz"; + sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"; + }; + } + + { + name = "aws4___aws4_1.8.0.tgz"; + path = fetchurl { + name = "aws4___aws4_1.8.0.tgz"; + url = "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz"; + sha1 = "f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"; + }; + } + + { + name = "backo2___backo2_1.0.2.tgz"; + path = fetchurl { + name = "backo2___backo2_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz"; + sha1 = "31ab1ac8b129363463e35b3ebb69f4dfcfba7947"; + }; + } + + { + name = "balanced_match___balanced_match_1.0.0.tgz"; + path = fetchurl { + name = "balanced_match___balanced_match_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz"; + sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767"; + }; + } + + { + name = "base64_arraybuffer___base64_arraybuffer_0.1.5.tgz"; + path = fetchurl { + name = "base64_arraybuffer___base64_arraybuffer_0.1.5.tgz"; + url = "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz"; + sha1 = "73926771923b5a19747ad666aa5cd4bf9c6e9ce8"; + }; + } + + { + name = "base64id___base64id_1.0.0.tgz"; + path = fetchurl { + name = "base64id___base64id_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz"; + sha1 = "47688cb99bb6804f0e06d3e763b1c32e57d8e6b6"; + }; + } + + { + name = "base___base_0.11.2.tgz"; + path = fetchurl { + name = "base___base_0.11.2.tgz"; + url = "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz"; + sha1 = "7bde5ced145b6d551a90db87f83c558b4eb48a8f"; + }; + } + + { + name = "batch___batch_0.5.3.tgz"; + path = fetchurl { + name = "batch___batch_0.5.3.tgz"; + url = "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz"; + sha1 = "3f3414f380321743bfc1042f9a83ff1d5824d464"; + }; + } + + { + name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz"; + path = fetchurl { + name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz"; + sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"; + }; + } + + { + name = "beeper___beeper_1.1.1.tgz"; + path = fetchurl { + name = "beeper___beeper_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz"; + sha1 = "e6d5ea8c5dad001304a70b22638447f69cb2f809"; + }; + } + + { + name = "better_assert___better_assert_1.0.2.tgz"; + path = fetchurl { + name = "better_assert___better_assert_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz"; + sha1 = "40866b9e1b9e0b55b481894311e68faffaebc522"; + }; + } + + { + name = "binary_extensions___binary_extensions_1.13.0.tgz"; + path = fetchurl { + name = "binary_extensions___binary_extensions_1.13.0.tgz"; + url = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.0.tgz"; + sha1 = "9523e001306a32444b907423f1de2164222f6ab1"; + }; + } + + { + name = "blob___blob_0.0.4.tgz"; + path = fetchurl { + name = "blob___blob_0.0.4.tgz"; + url = "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz"; + sha1 = "bcf13052ca54463f30f9fc7e95b9a47630a94921"; + }; + } + + { + name = "block_stream___block_stream_0.0.9.tgz"; + path = fetchurl { + name = "block_stream___block_stream_0.0.9.tgz"; + url = "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz"; + sha1 = "13ebfe778a03205cfe03751481ebb4b3300c126a"; + }; + } + + { + name = "bluebird___bluebird_2.11.0.tgz"; + path = fetchurl { + name = "bluebird___bluebird_2.11.0.tgz"; + url = "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz"; + sha1 = "534b9033c022c9579c56ba3b3e5a5caafbb650e1"; + }; + } + + { + name = "body_parser___body_parser_1.18.3.tgz"; + path = fetchurl { + name = "body_parser___body_parser_1.18.3.tgz"; + url = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz"; + sha1 = "5b292198ffdd553b3a0f20ded0592b956955c8b4"; + }; + } + + { + name = "body_parser___body_parser_1.14.2.tgz"; + path = fetchurl { + name = "body_parser___body_parser_1.14.2.tgz"; + url = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.14.2.tgz"; + sha1 = "1015cb1fe2c443858259581db53332f8d0cf50f9"; + }; + } + + { + name = "brace_expansion___brace_expansion_1.1.11.tgz"; + path = fetchurl { + name = "brace_expansion___brace_expansion_1.1.11.tgz"; + url = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz"; + sha1 = "3c7fcbf529d87226f3d2f52b966ff5271eb441dd"; + }; + } + + { + name = "braces___braces_0.1.5.tgz"; + path = fetchurl { + name = "braces___braces_0.1.5.tgz"; + url = "https://registry.yarnpkg.com/braces/-/braces-0.1.5.tgz"; + sha1 = "c085711085291d8b75fdd74eab0f8597280711e6"; + }; + } + + { + name = "braces___braces_1.8.5.tgz"; + path = fetchurl { + name = "braces___braces_1.8.5.tgz"; + url = "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz"; + sha1 = "ba77962e12dff969d6b76711e914b737857bf6a7"; + }; + } + + { + name = "braces___braces_2.3.2.tgz"; + path = fetchurl { + name = "braces___braces_2.3.2.tgz"; + url = "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz"; + sha1 = "5979fd3f14cd531565e5fa2df1abfff1dfaee729"; + }; + } + + { + name = "buffer_alloc_unsafe___buffer_alloc_unsafe_1.1.0.tgz"; + path = fetchurl { + name = "buffer_alloc_unsafe___buffer_alloc_unsafe_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz"; + sha1 = "bd7dc26ae2972d0eda253be061dba992349c19f0"; + }; + } + + { + name = "buffer_alloc___buffer_alloc_1.2.0.tgz"; + path = fetchurl { + name = "buffer_alloc___buffer_alloc_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz"; + sha1 = "890dd90d923a873e08e10e5fd51a57e5b7cce0ec"; + }; + } + + { + name = "buffer_fill___buffer_fill_1.0.0.tgz"; + path = fetchurl { + name = "buffer_fill___buffer_fill_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz"; + sha1 = "f8f78b76789888ef39f205cd637f68e702122b2c"; + }; + } + + { + name = "bytes___bytes_2.2.0.tgz"; + path = fetchurl { + name = "bytes___bytes_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/bytes/-/bytes-2.2.0.tgz"; + sha1 = "fd35464a403f6f9117c2de3609ecff9cae000588"; + }; + } + + { + name = "bytes___bytes_2.4.0.tgz"; + path = fetchurl { + name = "bytes___bytes_2.4.0.tgz"; + url = "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz"; + sha1 = "7d97196f9d5baf7f6935e25985549edd2a6c2339"; + }; + } + + { + name = "bytes___bytes_3.0.0.tgz"; + path = fetchurl { + name = "bytes___bytes_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz"; + sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048"; + }; + } + + { + name = "cache_base___cache_base_1.0.1.tgz"; + path = fetchurl { + name = "cache_base___cache_base_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz"; + sha1 = "0a7f46416831c8b662ee36fe4e7c59d76f666ab2"; + }; + } + + { + name = "callsite___callsite_1.0.0.tgz"; + path = fetchurl { + name = "callsite___callsite_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz"; + sha1 = "280398e5d664bd74038b6f0905153e6e8af1bc20"; + }; + } + + { + name = "camelcase_keys___camelcase_keys_2.1.0.tgz"; + path = fetchurl { + name = "camelcase_keys___camelcase_keys_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz"; + sha1 = "308beeaffdf28119051efa1d932213c91b8f92e7"; + }; + } + + { + name = "camelcase___camelcase_2.1.1.tgz"; + path = fetchurl { + name = "camelcase___camelcase_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz"; + sha1 = "7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"; + }; + } + + { + name = "camelcase___camelcase_3.0.0.tgz"; + path = fetchurl { + name = "camelcase___camelcase_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz"; + sha1 = "32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"; + }; + } + + { + name = "caseless___caseless_0.12.0.tgz"; + path = fetchurl { + name = "caseless___caseless_0.12.0.tgz"; + url = "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz"; + sha1 = "1b681c21ff84033c826543090689420d187151dc"; + }; + } + + { + name = "chalk___chalk_0.5.1.tgz"; + path = fetchurl { + name = "chalk___chalk_0.5.1.tgz"; + url = "https://registry.yarnpkg.com/chalk/-/chalk-0.5.1.tgz"; + sha1 = "663b3a648b68b55d04690d49167aa837858f2174"; + }; + } + + { + name = "chalk___chalk_1.1.3.tgz"; + path = fetchurl { + name = "chalk___chalk_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz"; + sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98"; + }; + } + + { + name = "chokidar___chokidar_1.7.0.tgz"; + path = fetchurl { + name = "chokidar___chokidar_1.7.0.tgz"; + url = "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz"; + sha1 = "798e689778151c8076b4b360e5edd28cda2bb468"; + }; + } + + { + name = "chownr___chownr_1.1.1.tgz"; + path = fetchurl { + name = "chownr___chownr_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz"; + sha1 = "54726b8b8fff4df053c42187e801fb4412df1494"; + }; + } + + { + name = "class_utils___class_utils_0.3.6.tgz"; + path = fetchurl { + name = "class_utils___class_utils_0.3.6.tgz"; + url = "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz"; + sha1 = "f93369ae8b9a7ce02fd41faad0ca83033190c463"; + }; + } + + { + name = "cliui___cliui_3.2.0.tgz"; + path = fetchurl { + name = "cliui___cliui_3.2.0.tgz"; + url = "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz"; + sha1 = "120601537a916d29940f934da3b48d585a39213d"; + }; + } + + { + name = "clone_stats___clone_stats_0.0.1.tgz"; + path = fetchurl { + name = "clone_stats___clone_stats_0.0.1.tgz"; + url = "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz"; + sha1 = "b88f94a82cf38b8791d58046ea4029ad88ca99d1"; + }; + } + + { + name = "clone___clone_0.2.0.tgz"; + path = fetchurl { + name = "clone___clone_0.2.0.tgz"; + url = "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz"; + sha1 = "c6126a90ad4f72dbf5acdb243cc37724fe93fc1f"; + }; + } + + { + name = "clone___clone_1.0.4.tgz"; + path = fetchurl { + name = "clone___clone_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz"; + sha1 = "da309cc263df15994c688ca902179ca3c7cd7c7e"; + }; + } + + { + name = "code_point_at___code_point_at_1.1.0.tgz"; + path = fetchurl { + name = "code_point_at___code_point_at_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz"; + sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"; + }; + } + + { + name = "coffee_script___coffee_script_1.12.7.tgz"; + path = fetchurl { + name = "coffee_script___coffee_script_1.12.7.tgz"; + url = "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.12.7.tgz"; + sha1 = "c05dae0cb79591d05b3070a8433a98c9a89ccc53"; + }; + } + + { + name = "coffee_script___coffee_script_1.10.0.tgz"; + path = fetchurl { + name = "coffee_script___coffee_script_1.10.0.tgz"; + url = "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.10.0.tgz"; + sha1 = "12938bcf9be1948fa006f92e0c4c9e81705108c0"; + }; + } + + { + name = "collection_visit___collection_visit_1.0.0.tgz"; + path = fetchurl { + name = "collection_visit___collection_visit_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz"; + sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0"; + }; + } + + { + name = "color_support___color_support_1.1.3.tgz"; + path = fetchurl { + name = "color_support___color_support_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz"; + sha1 = "93834379a1cc9a0c61f82f52f0d04322251bd5a2"; + }; + } + + { + name = "colors___colors_1.3.3.tgz"; + path = fetchurl { + name = "colors___colors_1.3.3.tgz"; + url = "https://registry.yarnpkg.com/colors/-/colors-1.3.3.tgz"; + sha1 = "39e005d546afe01e01f9c4ca8fa50f686a01205d"; + }; + } + + { + name = "combined_stream___combined_stream_1.0.7.tgz"; + path = fetchurl { + name = "combined_stream___combined_stream_1.0.7.tgz"; + url = "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz"; + sha1 = "2d1d24317afb8abe95d6d2c0b07b57813539d828"; + }; + } + + { + name = "commander___commander_2.17.1.tgz"; + path = fetchurl { + name = "commander___commander_2.17.1.tgz"; + url = "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz"; + sha1 = "bd77ab7de6de94205ceacc72f1716d29f20a77bf"; + }; + } + + { + name = "component_bind___component_bind_1.0.0.tgz"; + path = fetchurl { + name = "component_bind___component_bind_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz"; + sha1 = "00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"; + }; + } + + { + name = "component_emitter___component_emitter_1.1.2.tgz"; + path = fetchurl { + name = "component_emitter___component_emitter_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz"; + sha1 = "296594f2753daa63996d2af08d15a95116c9aec3"; + }; + } + + { + name = "component_emitter___component_emitter_1.2.1.tgz"; + path = fetchurl { + name = "component_emitter___component_emitter_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz"; + sha1 = "137918d6d78283f7df7a6b7c5a63e140e69425e6"; + }; + } + + { + name = "component_inherit___component_inherit_0.0.3.tgz"; + path = fetchurl { + name = "component_inherit___component_inherit_0.0.3.tgz"; + url = "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz"; + sha1 = "645fc4adf58b72b649d5cae65135619db26ff143"; + }; + } + + { + name = "concat_map___concat_map_0.0.1.tgz"; + path = fetchurl { + name = "concat_map___concat_map_0.0.1.tgz"; + url = "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz"; + sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b"; + }; + } + + { + name = "connect___connect_3.6.6.tgz"; + path = fetchurl { + name = "connect___connect_3.6.6.tgz"; + url = "https://registry.yarnpkg.com/connect/-/connect-3.6.6.tgz"; + sha1 = "09eff6c55af7236e137135a72574858b6786f524"; + }; + } + + { + name = "console_control_strings___console_control_strings_1.1.0.tgz"; + path = fetchurl { + name = "console_control_strings___console_control_strings_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz"; + sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e"; + }; + } + + { + name = "content_type___content_type_1.0.4.tgz"; + path = fetchurl { + name = "content_type___content_type_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz"; + sha1 = "e138cc75e040c727b1966fe5e5f8c9aee256fe3b"; + }; + } + + { + name = "cookie___cookie_0.3.1.tgz"; + path = fetchurl { + name = "cookie___cookie_0.3.1.tgz"; + url = "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz"; + sha1 = "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"; + }; + } + + { + name = "copy_descriptor___copy_descriptor_0.1.1.tgz"; + path = fetchurl { + name = "copy_descriptor___copy_descriptor_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz"; + sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d"; + }; + } + + { + name = "core_js___core_js_2.6.5.tgz"; + path = fetchurl { + name = "core_js___core_js_2.6.5.tgz"; + url = "https://registry.yarnpkg.com/core-js/-/core-js-2.6.5.tgz"; + sha1 = "44bc8d249e7fb2ff5d00e0341a7ffb94fbf67895"; + }; + } + + { + name = "core_util_is___core_util_is_1.0.2.tgz"; + path = fetchurl { + name = "core_util_is___core_util_is_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz"; + sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7"; + }; + } + + { + name = "cross_spawn___cross_spawn_3.0.1.tgz"; + path = fetchurl { + name = "cross_spawn___cross_spawn_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz"; + sha1 = "1256037ecb9f0c5f79e3d6ef135e30770184b982"; + }; + } + + { + name = "currently_unhandled___currently_unhandled_0.4.1.tgz"; + path = fetchurl { + name = "currently_unhandled___currently_unhandled_0.4.1.tgz"; + url = "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz"; + sha1 = "988df33feab191ef799a61369dd76c17adf957ea"; + }; + } + + { + name = "custom_event___custom_event_1.0.1.tgz"; + path = fetchurl { + name = "custom_event___custom_event_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz"; + sha1 = "5d02a46850adf1b4a317946a3928fccb5bfd0425"; + }; + } + + { + name = "dashdash___dashdash_1.14.1.tgz"; + path = fetchurl { + name = "dashdash___dashdash_1.14.1.tgz"; + url = "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz"; + sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"; + }; + } + + { + name = "dateformat___dateformat_1.0.12.tgz"; + path = fetchurl { + name = "dateformat___dateformat_1.0.12.tgz"; + url = "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz"; + sha1 = "9f124b67594c937ff706932e4a642cca8dbbfee9"; + }; + } + + { + name = "dateformat___dateformat_2.2.0.tgz"; + path = fetchurl { + name = "dateformat___dateformat_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz"; + sha1 = "4065e2013cf9fb916ddfd82efb506ad4c6769062"; + }; + } + + { + name = "debug___debug_2.2.0.tgz"; + path = fetchurl { + name = "debug___debug_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz"; + sha1 = "f87057e995b1a1f6ae6a4960664137bc56f039da"; + }; + } + + { + name = "debug___debug_2.3.3.tgz"; + path = fetchurl { + name = "debug___debug_2.3.3.tgz"; + url = "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz"; + sha1 = "40c453e67e6e13c901ddec317af8986cda9eff8c"; + }; + } + + { + name = "debug___debug_2.6.9.tgz"; + path = fetchurl { + name = "debug___debug_2.6.9.tgz"; + url = "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz"; + sha1 = "5d128515df134ff327e90a4c93f4e077a536341f"; + }; + } + + { + name = "debug___debug_3.2.6.tgz"; + path = fetchurl { + name = "debug___debug_3.2.6.tgz"; + url = "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz"; + sha1 = "e83d17de16d8a7efb7717edbe5fb10135eee629b"; + }; + } + + { + name = "decamelize___decamelize_1.2.0.tgz"; + path = fetchurl { + name = "decamelize___decamelize_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz"; + sha1 = "f6534d15148269b20352e7bee26f501f9a191290"; + }; + } + + { + name = "decode_uri_component___decode_uri_component_0.2.0.tgz"; + path = fetchurl { + name = "decode_uri_component___decode_uri_component_0.2.0.tgz"; + url = "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz"; + sha1 = "eb3913333458775cb84cd1a1fae062106bb87545"; + }; + } + + { + name = "deep_extend___deep_extend_0.6.0.tgz"; + path = fetchurl { + name = "deep_extend___deep_extend_0.6.0.tgz"; + url = "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz"; + sha1 = "c4fa7c95404a17a9c3e8ca7e1537312b736330ac"; + }; + } + + { + name = "deep_is___deep_is_0.1.3.tgz"; + path = fetchurl { + name = "deep_is___deep_is_0.1.3.tgz"; + url = "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz"; + sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34"; + }; + } + + { + name = "defaults___defaults_1.0.3.tgz"; + path = fetchurl { + name = "defaults___defaults_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz"; + sha1 = "c656051e9817d9ff08ed881477f3fe4019f3ef7d"; + }; + } + + { + name = "define_property___define_property_0.2.5.tgz"; + path = fetchurl { + name = "define_property___define_property_0.2.5.tgz"; + url = "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz"; + sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116"; + }; + } + + { + name = "define_property___define_property_1.0.0.tgz"; + path = fetchurl { + name = "define_property___define_property_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz"; + sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"; + }; + } + + { + name = "define_property___define_property_2.0.2.tgz"; + path = fetchurl { + name = "define_property___define_property_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz"; + sha1 = "d459689e8d654ba77e02a817f8710d702cb16e9d"; + }; + } + + { + name = "delayed_stream___delayed_stream_1.0.0.tgz"; + path = fetchurl { + name = "delayed_stream___delayed_stream_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz"; + sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619"; + }; + } + + { + name = "delegates___delegates_1.0.0.tgz"; + path = fetchurl { + name = "delegates___delegates_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz"; + sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a"; + }; + } + + { + name = "depd___depd_1.1.2.tgz"; + path = fetchurl { + name = "depd___depd_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz"; + sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9"; + }; + } + + { + name = "deprecated___deprecated_0.0.1.tgz"; + path = fetchurl { + name = "deprecated___deprecated_0.0.1.tgz"; + url = "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz"; + sha1 = "f9c9af5464afa1e7a971458a8bdef2aa94d5bb19"; + }; + } + + { + name = "detect_file___detect_file_1.0.0.tgz"; + path = fetchurl { + name = "detect_file___detect_file_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz"; + sha1 = "f0d66d03672a825cb1b73bdb3fe62310c8e552b7"; + }; + } + + { + name = "detect_libc___detect_libc_1.0.3.tgz"; + path = fetchurl { + name = "detect_libc___detect_libc_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz"; + sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"; + }; + } + + { + name = "di___di_0.0.1.tgz"; + path = fetchurl { + name = "di___di_0.0.1.tgz"; + url = "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz"; + sha1 = "806649326ceaa7caa3306d75d985ea2748ba913c"; + }; + } + + { + name = "dom_serialize___dom_serialize_2.2.1.tgz"; + path = fetchurl { + name = "dom_serialize___dom_serialize_2.2.1.tgz"; + url = "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz"; + sha1 = "562ae8999f44be5ea3076f5419dcd59eb43ac95b"; + }; + } + + { + name = "duplexer2___duplexer2_0.0.2.tgz"; + path = fetchurl { + name = "duplexer2___duplexer2_0.0.2.tgz"; + url = "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz"; + sha1 = "c614dcf67e2fb14995a91711e5a617e8a60a31db"; + }; + } + + { + name = "duplexer___duplexer_0.1.1.tgz"; + path = fetchurl { + name = "duplexer___duplexer_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz"; + sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1"; + }; + } + + { + name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz"; + path = fetchurl { + name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz"; + sha1 = "3a83a904e54353287874c564b7549386849a98c9"; + }; + } + + { + name = "ee_first___ee_first_1.1.1.tgz"; + path = fetchurl { + name = "ee_first___ee_first_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz"; + sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d"; + }; + } + + { + name = "encodeurl___encodeurl_1.0.2.tgz"; + path = fetchurl { + name = "encodeurl___encodeurl_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz"; + sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"; + }; + } + + { + name = "end_of_stream___end_of_stream_0.1.5.tgz"; + path = fetchurl { + name = "end_of_stream___end_of_stream_0.1.5.tgz"; + url = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz"; + sha1 = "8e177206c3c80837d85632e8b9359dfe8b2f6eaf"; + }; + } + + { + name = "engine.io_client___engine.io_client_1.8.5.tgz"; + path = fetchurl { + name = "engine.io_client___engine.io_client_1.8.5.tgz"; + url = "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.5.tgz"; + sha1 = "fe7fb60cb0dcf2fa2859489329cb5968dedeb11f"; + }; + } + + { + name = "engine.io_parser___engine.io_parser_1.3.2.tgz"; + path = fetchurl { + name = "engine.io_parser___engine.io_parser_1.3.2.tgz"; + url = "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.2.tgz"; + sha1 = "937b079f0007d0893ec56d46cb220b8cb435220a"; + }; + } + + { + name = "engine.io___engine.io_1.8.5.tgz"; + path = fetchurl { + name = "engine.io___engine.io_1.8.5.tgz"; + url = "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.5.tgz"; + sha1 = "4ebe5e75c6dc123dee4afdce6e5fdced21eb93f6"; + }; + } + + { + name = "ent___ent_2.2.0.tgz"; + path = fetchurl { + name = "ent___ent_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz"; + sha1 = "e964219325a21d05f44466a2f686ed6ce5f5dd1d"; + }; + } + + { + name = "error_ex___error_ex_1.3.2.tgz"; + path = fetchurl { + name = "error_ex___error_ex_1.3.2.tgz"; + url = "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz"; + sha1 = "b4ac40648107fdcdcfae242f428bea8a14d4f1bf"; + }; + } + + { + name = "escape_html___escape_html_1.0.3.tgz"; + path = fetchurl { + name = "escape_html___escape_html_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz"; + sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988"; + }; + } + + { + name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz"; + path = fetchurl { + name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz"; + url = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"; + sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"; + }; + } + + { + name = "escodegen___escodegen_1.8.1.tgz"; + path = fetchurl { + name = "escodegen___escodegen_1.8.1.tgz"; + url = "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz"; + sha1 = "5a5b53af4693110bebb0867aa3430dd3b70a1018"; + }; + } + + { + name = "esprima___esprima_2.7.3.tgz"; + path = fetchurl { + name = "esprima___esprima_2.7.3.tgz"; + url = "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz"; + sha1 = "96e3b70d5779f6ad49cd032673d1c312767ba581"; + }; + } + + { + name = "esprima___esprima_4.0.1.tgz"; + path = fetchurl { + name = "esprima___esprima_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz"; + sha1 = "13b04cdb3e6c5d19df91ab6987a8695619b0aa71"; + }; + } + + { + name = "estraverse___estraverse_1.9.3.tgz"; + path = fetchurl { + name = "estraverse___estraverse_1.9.3.tgz"; + url = "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz"; + sha1 = "af67f2dc922582415950926091a4005d29c9bb44"; + }; + } + + { + name = "esutils___esutils_2.0.2.tgz"; + path = fetchurl { + name = "esutils___esutils_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz"; + sha1 = "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"; + }; + } + + { + name = "event_stream___event_stream_3.3.5.tgz"; + path = fetchurl { + name = "event_stream___event_stream_3.3.5.tgz"; + url = "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.5.tgz"; + sha1 = "e5dd8989543630d94c6cf4d657120341fa31636b"; + }; + } + + { + name = "eventemitter3___eventemitter3_3.1.0.tgz"; + path = fetchurl { + name = "eventemitter3___eventemitter3_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz"; + sha1 = "090b4d6cdbd645ed10bf750d4b5407942d7ba163"; + }; + } + + { + name = "expand_braces___expand_braces_0.1.2.tgz"; + path = fetchurl { + name = "expand_braces___expand_braces_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/expand-braces/-/expand-braces-0.1.2.tgz"; + sha1 = "488b1d1d2451cb3d3a6b192cfc030f44c5855fea"; + }; + } + + { + name = "expand_brackets___expand_brackets_0.1.5.tgz"; + path = fetchurl { + name = "expand_brackets___expand_brackets_0.1.5.tgz"; + url = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz"; + sha1 = "df07284e342a807cd733ac5af72411e581d1177b"; + }; + } + + { + name = "expand_brackets___expand_brackets_2.1.4.tgz"; + path = fetchurl { + name = "expand_brackets___expand_brackets_2.1.4.tgz"; + url = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz"; + sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622"; + }; + } + + { + name = "expand_range___expand_range_0.1.1.tgz"; + path = fetchurl { + name = "expand_range___expand_range_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/expand-range/-/expand-range-0.1.1.tgz"; + sha1 = "4cb8eda0993ca56fa4f41fc42f3cbb4ccadff044"; + }; + } + + { + name = "expand_range___expand_range_1.8.2.tgz"; + path = fetchurl { + name = "expand_range___expand_range_1.8.2.tgz"; + url = "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz"; + sha1 = "a299effd335fe2721ebae8e257ec79644fc85337"; + }; + } + + { + name = "expand_tilde___expand_tilde_2.0.2.tgz"; + path = fetchurl { + name = "expand_tilde___expand_tilde_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz"; + sha1 = "97e801aa052df02454de46b02bf621642cdc8502"; + }; + } + + { + name = "extend_shallow___extend_shallow_2.0.1.tgz"; + path = fetchurl { + name = "extend_shallow___extend_shallow_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz"; + sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f"; + }; + } + + { + name = "extend_shallow___extend_shallow_3.0.2.tgz"; + path = fetchurl { + name = "extend_shallow___extend_shallow_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz"; + sha1 = "26a71aaf073b39fb2127172746131c2704028db8"; + }; + } + + { + name = "extend___extend_3.0.2.tgz"; + path = fetchurl { + name = "extend___extend_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz"; + sha1 = "f8b1136b4071fbd8eb140aff858b1019ec2915fa"; + }; + } + + { + name = "extglob___extglob_0.3.2.tgz"; + path = fetchurl { + name = "extglob___extglob_0.3.2.tgz"; + url = "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz"; + sha1 = "2e18ff3d2f49ab2765cec9023f011daa8d8349a1"; + }; + } + + { + name = "extglob___extglob_2.0.4.tgz"; + path = fetchurl { + name = "extglob___extglob_2.0.4.tgz"; + url = "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz"; + sha1 = "ad00fe4dc612a9232e8718711dc5cb5ab0285543"; + }; + } + + { + name = "extsprintf___extsprintf_1.3.0.tgz"; + path = fetchurl { + name = "extsprintf___extsprintf_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz"; + sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05"; + }; + } + + { + name = "extsprintf___extsprintf_1.4.0.tgz"; + path = fetchurl { + name = "extsprintf___extsprintf_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz"; + sha1 = "e2689f8f356fad62cca65a3a91c5df5f9551692f"; + }; + } + + { + name = "fancy_log___fancy_log_1.3.3.tgz"; + path = fetchurl { + name = "fancy_log___fancy_log_1.3.3.tgz"; + url = "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz"; + sha1 = "dbc19154f558690150a23953a0adbd035be45fc7"; + }; + } + + { + name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz"; + path = fetchurl { + name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz"; + sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"; + }; + } + + { + name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz"; + path = fetchurl { + name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz"; + sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2"; + }; + } + + { + name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz"; + path = fetchurl { + name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz"; + url = "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"; + sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917"; + }; + } + + { + name = "faye_websocket___faye_websocket_0.7.3.tgz"; + path = fetchurl { + name = "faye_websocket___faye_websocket_0.7.3.tgz"; + url = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.7.3.tgz"; + sha1 = "cc4074c7f4a4dfd03af54dd65c354b135132ce11"; + }; + } + + { + name = "filename_regex___filename_regex_2.0.1.tgz"; + path = fetchurl { + name = "filename_regex___filename_regex_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz"; + sha1 = "c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"; + }; + } + + { + name = "fill_range___fill_range_2.2.4.tgz"; + path = fetchurl { + name = "fill_range___fill_range_2.2.4.tgz"; + url = "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz"; + sha1 = "eb1e773abb056dcd8df2bfdf6af59b8b3a936565"; + }; + } + + { + name = "fill_range___fill_range_4.0.0.tgz"; + path = fetchurl { + name = "fill_range___fill_range_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz"; + sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7"; + }; + } + + { + name = "finalhandler___finalhandler_1.1.0.tgz"; + path = fetchurl { + name = "finalhandler___finalhandler_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz"; + sha1 = "ce0b6855b45853e791b2fcc680046d88253dd7f5"; + }; + } + + { + name = "find_index___find_index_0.1.1.tgz"; + path = fetchurl { + name = "find_index___find_index_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz"; + sha1 = "675d358b2ca3892d795a1ab47232f8b6e2e0dde4"; + }; + } + + { + name = "find_up___find_up_1.1.2.tgz"; + path = fetchurl { + name = "find_up___find_up_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz"; + sha1 = "6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"; + }; + } + + { + name = "findup_sync___findup_sync_2.0.0.tgz"; + path = fetchurl { + name = "findup_sync___findup_sync_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz"; + sha1 = "9326b1488c22d1a6088650a86901b2d9a90a2cbc"; + }; + } + + { + name = "fined___fined_1.1.1.tgz"; + path = fetchurl { + name = "fined___fined_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/fined/-/fined-1.1.1.tgz"; + sha1 = "95d88ff329123dd1a6950fdfcd321f746271e01f"; + }; + } + + { + name = "first_chunk_stream___first_chunk_stream_1.0.0.tgz"; + path = fetchurl { + name = "first_chunk_stream___first_chunk_stream_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz"; + sha1 = "59bfb50cd905f60d7c394cd3d9acaab4e6ad934e"; + }; + } + + { + name = "flagged_respawn___flagged_respawn_1.0.1.tgz"; + path = fetchurl { + name = "flagged_respawn___flagged_respawn_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz"; + sha1 = "e7de6f1279ddd9ca9aac8a5971d618606b3aab41"; + }; + } + + { + name = "follow_redirects___follow_redirects_1.7.0.tgz"; + path = fetchurl { + name = "follow_redirects___follow_redirects_1.7.0.tgz"; + url = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.7.0.tgz"; + sha1 = "489ebc198dc0e7f64167bd23b03c4c19b5784c76"; + }; + } + + { + name = "for_in___for_in_1.0.2.tgz"; + path = fetchurl { + name = "for_in___for_in_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz"; + sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80"; + }; + } + + { + name = "for_own___for_own_0.1.5.tgz"; + path = fetchurl { + name = "for_own___for_own_0.1.5.tgz"; + url = "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz"; + sha1 = "5265c681a4f294dabbf17c9509b6763aa84510ce"; + }; + } + + { + name = "for_own___for_own_1.0.0.tgz"; + path = fetchurl { + name = "for_own___for_own_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz"; + sha1 = "c63332f415cedc4b04dbfe70cf836494c53cb44b"; + }; + } + + { + name = "forever_agent___forever_agent_0.6.1.tgz"; + path = fetchurl { + name = "forever_agent___forever_agent_0.6.1.tgz"; + url = "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz"; + sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"; + }; + } + + { + name = "form_data___form_data_2.3.3.tgz"; + path = fetchurl { + name = "form_data___form_data_2.3.3.tgz"; + url = "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz"; + sha1 = "dcce52c05f644f298c6a7ab936bd724ceffbf3a6"; + }; + } + + { + name = "fragment_cache___fragment_cache_0.2.1.tgz"; + path = fetchurl { + name = "fragment_cache___fragment_cache_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz"; + sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19"; + }; + } + + { + name = "from___from_0.1.7.tgz"; + path = fetchurl { + name = "from___from_0.1.7.tgz"; + url = "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz"; + sha1 = "83c60afc58b9c56997007ed1a768b3ab303a44fe"; + }; + } + + { + name = "fs_access___fs_access_1.0.1.tgz"; + path = fetchurl { + name = "fs_access___fs_access_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/fs-access/-/fs-access-1.0.1.tgz"; + sha1 = "d6a87f262271cefebec30c553407fb995da8777a"; + }; + } + + { + name = "fs_minipass___fs_minipass_1.2.5.tgz"; + path = fetchurl { + name = "fs_minipass___fs_minipass_1.2.5.tgz"; + url = "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz"; + sha1 = "06c277218454ec288df77ada54a03b8702aacb9d"; + }; + } + + { + name = "fs.realpath___fs.realpath_1.0.0.tgz"; + path = fetchurl { + name = "fs.realpath___fs.realpath_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz"; + sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f"; + }; + } + + { + name = "fsevents___fsevents_1.2.7.tgz"; + path = fetchurl { + name = "fsevents___fsevents_1.2.7.tgz"; + url = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.7.tgz"; + sha1 = "4851b664a3783e52003b3c66eb0eee1074933aa4"; + }; + } + + { + name = "fstream___fstream_1.0.11.tgz"; + path = fetchurl { + name = "fstream___fstream_1.0.11.tgz"; + url = "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz"; + sha1 = "5c1fb1f117477114f0632a0eb4b71b3cb0fd3171"; + }; + } + + { + name = "function_bind___function_bind_1.1.1.tgz"; + path = fetchurl { + name = "function_bind___function_bind_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz"; + sha1 = "a56899d3ea3c9bab874bb9773b7c5ede92f4895d"; + }; + } + + { + name = "gauge___gauge_2.7.4.tgz"; + path = fetchurl { + name = "gauge___gauge_2.7.4.tgz"; + url = "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz"; + sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7"; + }; + } + + { + name = "gaze___gaze_0.5.2.tgz"; + path = fetchurl { + name = "gaze___gaze_0.5.2.tgz"; + url = "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz"; + sha1 = "40b709537d24d1d45767db5a908689dfe69ac44f"; + }; + } + + { + name = "gaze___gaze_1.1.3.tgz"; + path = fetchurl { + name = "gaze___gaze_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz"; + sha1 = "c441733e13b927ac8c0ff0b4c3b033f28812924a"; + }; + } + + { + name = "get_caller_file___get_caller_file_1.0.3.tgz"; + path = fetchurl { + name = "get_caller_file___get_caller_file_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz"; + sha1 = "f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"; + }; + } + + { + name = "get_stdin___get_stdin_4.0.1.tgz"; + path = fetchurl { + name = "get_stdin___get_stdin_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz"; + sha1 = "b968c6b0a04384324902e8bf1a5df32579a450fe"; + }; + } + + { + name = "get_value___get_value_2.0.6.tgz"; + path = fetchurl { + name = "get_value___get_value_2.0.6.tgz"; + url = "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz"; + sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28"; + }; + } + + { + name = "getpass___getpass_0.1.7.tgz"; + path = fetchurl { + name = "getpass___getpass_0.1.7.tgz"; + url = "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz"; + sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa"; + }; + } + + { + name = "glob_base___glob_base_0.3.0.tgz"; + path = fetchurl { + name = "glob_base___glob_base_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz"; + sha1 = "dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"; + }; + } + + { + name = "glob_parent___glob_parent_2.0.0.tgz"; + path = fetchurl { + name = "glob_parent___glob_parent_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz"; + sha1 = "81383d72db054fcccf5336daa902f182f6edbb28"; + }; + } + + { + name = "glob_stream___glob_stream_3.1.18.tgz"; + path = fetchurl { + name = "glob_stream___glob_stream_3.1.18.tgz"; + url = "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz"; + sha1 = "9170a5f12b790306fdfe598f313f8f7954fd143b"; + }; + } + + { + name = "glob_watcher___glob_watcher_0.0.6.tgz"; + path = fetchurl { + name = "glob_watcher___glob_watcher_0.0.6.tgz"; + url = "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz"; + sha1 = "b95b4a8df74b39c83298b0c05c978b4d9a3b710b"; + }; + } + + { + name = "glob2base___glob2base_0.0.12.tgz"; + path = fetchurl { + name = "glob2base___glob2base_0.0.12.tgz"; + url = "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz"; + sha1 = "9d419b3e28f12e83a362164a277055922c9c0d56"; + }; + } + + { + name = "glob___glob_4.5.3.tgz"; + path = fetchurl { + name = "glob___glob_4.5.3.tgz"; + url = "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz"; + sha1 = "c6cb73d3226c1efef04de3c56d012f03377ee15f"; + }; + } + + { + name = "glob___glob_5.0.15.tgz"; + path = fetchurl { + name = "glob___glob_5.0.15.tgz"; + url = "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz"; + sha1 = "1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"; + }; + } + + { + name = "glob___glob_7.1.3.tgz"; + path = fetchurl { + name = "glob___glob_7.1.3.tgz"; + url = "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz"; + sha1 = "3960832d3f1574108342dafd3a67b332c0969df1"; + }; + } + + { + name = "glob___glob_3.1.21.tgz"; + path = fetchurl { + name = "glob___glob_3.1.21.tgz"; + url = "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz"; + sha1 = "d29e0a055dea5138f4d07ed40e8982e83c2066cd"; + }; + } + + { + name = "global_modules___global_modules_1.0.0.tgz"; + path = fetchurl { + name = "global_modules___global_modules_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz"; + sha1 = "6d770f0eb523ac78164d72b5e71a8877265cc3ea"; + }; + } + + { + name = "global_prefix___global_prefix_1.0.2.tgz"; + path = fetchurl { + name = "global_prefix___global_prefix_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz"; + sha1 = "dbf743c6c14992593c655568cb66ed32c0122ebe"; + }; + } + + { + name = "globule___globule_1.2.1.tgz"; + path = fetchurl { + name = "globule___globule_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz"; + sha1 = "5dffb1b191f22d20797a9369b49eab4e9839696d"; + }; + } + + { + name = "globule___globule_0.1.0.tgz"; + path = fetchurl { + name = "globule___globule_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz"; + sha1 = "d9c8edde1da79d125a151b79533b978676346ae5"; + }; + } + + { + name = "glogg___glogg_1.0.2.tgz"; + path = fetchurl { + name = "glogg___glogg_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/glogg/-/glogg-1.0.2.tgz"; + sha1 = "2d7dd702beda22eb3bffadf880696da6d846313f"; + }; + } + + { + name = "graceful_fs___graceful_fs_3.0.11.tgz"; + path = fetchurl { + name = "graceful_fs___graceful_fs_3.0.11.tgz"; + url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz"; + sha1 = "7613c778a1afea62f25c630a086d7f3acbbdd818"; + }; + } + + { + name = "graceful_fs___graceful_fs_4.1.15.tgz"; + path = fetchurl { + name = "graceful_fs___graceful_fs_4.1.15.tgz"; + url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz"; + sha1 = "ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"; + }; + } + + { + name = "graceful_fs___graceful_fs_1.2.3.tgz"; + path = fetchurl { + name = "graceful_fs___graceful_fs_1.2.3.tgz"; + url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz"; + sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364"; + }; + } + + { + name = "guanlecoja___guanlecoja_0.8.8.tgz"; + path = fetchurl { + name = "guanlecoja___guanlecoja_0.8.8.tgz"; + url = "https://registry.yarnpkg.com/guanlecoja/-/guanlecoja-0.8.8.tgz"; + sha1 = "210099a9f4ea9bf80d78fda730226f7862478a26"; + }; + } + + { + name = "gulp_livereload___gulp_livereload_3.8.1.tgz"; + path = fetchurl { + name = "gulp_livereload___gulp_livereload_3.8.1.tgz"; + url = "https://registry.yarnpkg.com/gulp-livereload/-/gulp-livereload-3.8.1.tgz"; + sha1 = "00f744b2d749d3e9e3746589c8a44acac779b50f"; + }; + } + + { + name = "gulp_ng_classify___gulp_ng_classify_4.0.1.tgz"; + path = fetchurl { + name = "gulp_ng_classify___gulp_ng_classify_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/gulp-ng-classify/-/gulp-ng-classify-4.0.1.tgz"; + sha1 = "3019161127c35c317ea08dc2a65ea35b592dbfd7"; + }; + } + + { + name = "gulp_sass___gulp_sass_3.2.1.tgz"; + path = fetchurl { + name = "gulp_sass___gulp_sass_3.2.1.tgz"; + url = "https://registry.yarnpkg.com/gulp-sass/-/gulp-sass-3.2.1.tgz"; + sha1 = "2e3688a96fd8be1c0c01340750c191b2e79fab94"; + }; + } + + { + name = "gulp_util___gulp_util_3.0.8.tgz"; + path = fetchurl { + name = "gulp_util___gulp_util_3.0.8.tgz"; + url = "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz"; + sha1 = "0054e1e744502e27c04c187c3ecc505dd54bbb4f"; + }; + } + + { + name = "gulp___gulp_3.9.0.tgz"; + path = fetchurl { + name = "gulp___gulp_3.9.0.tgz"; + url = "https://registry.yarnpkg.com/gulp/-/gulp-3.9.0.tgz"; + sha1 = "cf1fba4cb558bb8c6ae6c9613f583ae2620d214a"; + }; + } + + { + name = "gulplog___gulplog_1.0.0.tgz"; + path = fetchurl { + name = "gulplog___gulplog_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz"; + sha1 = "e28c4d45d05ecbbed818363ce8f9c5926229ffe5"; + }; + } + + { + name = "handlebars___handlebars_4.1.0.tgz"; + path = fetchurl { + name = "handlebars___handlebars_4.1.0.tgz"; + url = "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.0.tgz"; + sha1 = "0d6a6f34ff1f63cecec8423aa4169827bf787c3a"; + }; + } + + { + name = "har_schema___har_schema_2.0.0.tgz"; + path = fetchurl { + name = "har_schema___har_schema_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz"; + sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92"; + }; + } + + { + name = "har_validator___har_validator_5.1.3.tgz"; + path = fetchurl { + name = "har_validator___har_validator_5.1.3.tgz"; + url = "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz"; + sha1 = "1ef89ebd3e4996557675eed9893110dc350fa080"; + }; + } + + { + name = "has_ansi___has_ansi_0.1.0.tgz"; + path = fetchurl { + name = "has_ansi___has_ansi_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-0.1.0.tgz"; + sha1 = "84f265aae8c0e6a88a12d7022894b7568894c62e"; + }; + } + + { + name = "has_ansi___has_ansi_2.0.0.tgz"; + path = fetchurl { + name = "has_ansi___has_ansi_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz"; + sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91"; + }; + } + + { + name = "has_binary___has_binary_0.1.7.tgz"; + path = fetchurl { + name = "has_binary___has_binary_0.1.7.tgz"; + url = "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz"; + sha1 = "68e61eb16210c9545a0a5cce06a873912fe1e68c"; + }; + } + + { + name = "has_cors___has_cors_1.1.0.tgz"; + path = fetchurl { + name = "has_cors___has_cors_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz"; + sha1 = "5e474793f7ea9843d1bb99c23eef49ff126fff39"; + }; + } + + { + name = "has_flag___has_flag_1.0.0.tgz"; + path = fetchurl { + name = "has_flag___has_flag_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz"; + sha1 = "9d9e793165ce017a00f00418c43f942a7b1d11fa"; + }; + } + + { + name = "has_gulplog___has_gulplog_0.1.0.tgz"; + path = fetchurl { + name = "has_gulplog___has_gulplog_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz"; + sha1 = "6414c82913697da51590397dafb12f22967811ce"; + }; + } + + { + name = "has_unicode___has_unicode_2.0.1.tgz"; + path = fetchurl { + name = "has_unicode___has_unicode_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz"; + sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9"; + }; + } + + { + name = "has_value___has_value_0.3.1.tgz"; + path = fetchurl { + name = "has_value___has_value_0.3.1.tgz"; + url = "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz"; + sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f"; + }; + } + + { + name = "has_value___has_value_1.0.0.tgz"; + path = fetchurl { + name = "has_value___has_value_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz"; + sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177"; + }; + } + + { + name = "has_values___has_values_0.1.4.tgz"; + path = fetchurl { + name = "has_values___has_values_0.1.4.tgz"; + url = "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz"; + sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771"; + }; + } + + { + name = "has_values___has_values_1.0.0.tgz"; + path = fetchurl { + name = "has_values___has_values_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz"; + sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f"; + }; + } + + { + name = "has___has_1.0.3.tgz"; + path = fetchurl { + name = "has___has_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz"; + sha1 = "722d7cbfc1f6aa8241f16dd814e011e1f41e8796"; + }; + } + + { + name = "homedir_polyfill___homedir_polyfill_1.0.3.tgz"; + path = fetchurl { + name = "homedir_polyfill___homedir_polyfill_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz"; + sha1 = "743298cef4e5af3e194161fbadcc2151d3a058e8"; + }; + } + + { + name = "hosted_git_info___hosted_git_info_2.7.1.tgz"; + path = fetchurl { + name = "hosted_git_info___hosted_git_info_2.7.1.tgz"; + url = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz"; + sha1 = "97f236977bd6e125408930ff6de3eec6281ec047"; + }; + } + + { + name = "http_errors___http_errors_1.6.3.tgz"; + path = fetchurl { + name = "http_errors___http_errors_1.6.3.tgz"; + url = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz"; + sha1 = "8b55680bb4be283a0b5bf4ea2e38580be1d9320d"; + }; + } + + { + name = "http_errors___http_errors_1.3.1.tgz"; + path = fetchurl { + name = "http_errors___http_errors_1.3.1.tgz"; + url = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.3.1.tgz"; + sha1 = "197e22cdebd4198585e8694ef6786197b91ed942"; + }; + } + + { + name = "http_parser_js___http_parser_js_0.5.0.tgz"; + path = fetchurl { + name = "http_parser_js___http_parser_js_0.5.0.tgz"; + url = "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.0.tgz"; + sha1 = "d65edbede84349d0dc30320815a15d39cc3cbbd8"; + }; + } + + { + name = "http_proxy___http_proxy_1.17.0.tgz"; + path = fetchurl { + name = "http_proxy___http_proxy_1.17.0.tgz"; + url = "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz"; + sha1 = "7ad38494658f84605e2f6db4436df410f4e5be9a"; + }; + } + + { + name = "http_signature___http_signature_1.2.0.tgz"; + path = fetchurl { + name = "http_signature___http_signature_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz"; + sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1"; + }; + } + + { + name = "iconv_lite___iconv_lite_0.4.13.tgz"; + path = fetchurl { + name = "iconv_lite___iconv_lite_0.4.13.tgz"; + url = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz"; + sha1 = "1f88aba4ab0b1508e8312acc39345f36e992e2f2"; + }; + } + + { + name = "iconv_lite___iconv_lite_0.4.23.tgz"; + path = fetchurl { + name = "iconv_lite___iconv_lite_0.4.23.tgz"; + url = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz"; + sha1 = "297871f63be507adcfbfca715d0cd0eed84e9a63"; + }; + } + + { + name = "iconv_lite___iconv_lite_0.4.24.tgz"; + path = fetchurl { + name = "iconv_lite___iconv_lite_0.4.24.tgz"; + url = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz"; + sha1 = "2022b4b25fbddc21d2f524974a474aafe733908b"; + }; + } + + { + name = "ignore_walk___ignore_walk_3.0.1.tgz"; + path = fetchurl { + name = "ignore_walk___ignore_walk_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz"; + sha1 = "a83e62e7d272ac0e3b551aaa82831a19b69f82f8"; + }; + } + + { + name = "in_publish___in_publish_2.0.0.tgz"; + path = fetchurl { + name = "in_publish___in_publish_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz"; + sha1 = "e20ff5e3a2afc2690320b6dc552682a9c7fadf51"; + }; + } + + { + name = "indent_string___indent_string_2.1.0.tgz"; + path = fetchurl { + name = "indent_string___indent_string_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz"; + sha1 = "8e2d48348742121b4a8218b7a137e9a52049dc80"; + }; + } + + { + name = "indexof___indexof_0.0.1.tgz"; + path = fetchurl { + name = "indexof___indexof_0.0.1.tgz"; + url = "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz"; + sha1 = "82dc336d232b9062179d05ab3293a66059fd435d"; + }; + } + + { + name = "inflight___inflight_1.0.6.tgz"; + path = fetchurl { + name = "inflight___inflight_1.0.6.tgz"; + url = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz"; + sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9"; + }; + } + + { + name = "inherits___inherits_1.0.2.tgz"; + path = fetchurl { + name = "inherits___inherits_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz"; + sha1 = "ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b"; + }; + } + + { + name = "inherits___inherits_2.0.3.tgz"; + path = fetchurl { + name = "inherits___inherits_2.0.3.tgz"; + url = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz"; + sha1 = "633c2c83e3da42a502f52466022480f4208261de"; + }; + } + + { + name = "ini___ini_1.3.5.tgz"; + path = fetchurl { + name = "ini___ini_1.3.5.tgz"; + url = "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz"; + sha1 = "eee25f56db1c9ec6085e0c22778083f596abf927"; + }; + } + + { + name = "interpret___interpret_0.6.6.tgz"; + path = fetchurl { + name = "interpret___interpret_0.6.6.tgz"; + url = "https://registry.yarnpkg.com/interpret/-/interpret-0.6.6.tgz"; + sha1 = "fecd7a18e7ce5ca6abfb953e1f86213a49f1625b"; + }; + } + + { + name = "invert_kv___invert_kv_1.0.0.tgz"; + path = fetchurl { + name = "invert_kv___invert_kv_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz"; + sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"; + }; + } + + { + name = "is_absolute___is_absolute_1.0.0.tgz"; + path = fetchurl { + name = "is_absolute___is_absolute_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz"; + sha1 = "395e1ae84b11f26ad1795e73c17378e48a301576"; + }; + } + + { + name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz"; + path = fetchurl { + name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz"; + url = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz"; + sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"; + }; + } + + { + name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz"; + path = fetchurl { + name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz"; + sha1 = "169c2f6d3df1f992618072365c9b0ea1f6878656"; + }; + } + + { + name = "is_arrayish___is_arrayish_0.2.1.tgz"; + path = fetchurl { + name = "is_arrayish___is_arrayish_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz"; + sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d"; + }; + } + + { + name = "is_binary_path___is_binary_path_1.0.1.tgz"; + path = fetchurl { + name = "is_binary_path___is_binary_path_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz"; + sha1 = "75f16642b480f187a711c814161fd3a4a7655898"; + }; + } + + { + name = "is_buffer___is_buffer_1.1.6.tgz"; + path = fetchurl { + name = "is_buffer___is_buffer_1.1.6.tgz"; + url = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz"; + sha1 = "efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"; + }; + } + + { + name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz"; + path = fetchurl { + name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz"; + url = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz"; + sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56"; + }; + } + + { + name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz"; + path = fetchurl { + name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz"; + sha1 = "d84876321d0e7add03990406abbbbd36ba9268c7"; + }; + } + + { + name = "is_descriptor___is_descriptor_0.1.6.tgz"; + path = fetchurl { + name = "is_descriptor___is_descriptor_0.1.6.tgz"; + url = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz"; + sha1 = "366d8240dde487ca51823b1ab9f07a10a78251ca"; + }; + } + + { + name = "is_descriptor___is_descriptor_1.0.2.tgz"; + path = fetchurl { + name = "is_descriptor___is_descriptor_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz"; + sha1 = "3b159746a66604b04f8c81524ba365c5f14d86ec"; + }; + } + + { + name = "is_dotfile___is_dotfile_1.0.3.tgz"; + path = fetchurl { + name = "is_dotfile___is_dotfile_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz"; + sha1 = "a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"; + }; + } + + { + name = "is_equal_shallow___is_equal_shallow_0.1.3.tgz"; + path = fetchurl { + name = "is_equal_shallow___is_equal_shallow_0.1.3.tgz"; + url = "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz"; + sha1 = "2238098fc221de0bcfa5d9eac4c45d638aa1c534"; + }; + } + + { + name = "is_extendable___is_extendable_0.1.1.tgz"; + path = fetchurl { + name = "is_extendable___is_extendable_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz"; + sha1 = "62b110e289a471418e3ec36a617d472e301dfc89"; + }; + } + + { + name = "is_extendable___is_extendable_1.0.1.tgz"; + path = fetchurl { + name = "is_extendable___is_extendable_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz"; + sha1 = "a7470f9e426733d81bd81e1155264e3a3507cab4"; + }; + } + + { + name = "is_extglob___is_extglob_1.0.0.tgz"; + path = fetchurl { + name = "is_extglob___is_extglob_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz"; + sha1 = "ac468177c4943405a092fc8f29760c6ffc6206c0"; + }; + } + + { + name = "is_extglob___is_extglob_2.1.1.tgz"; + path = fetchurl { + name = "is_extglob___is_extglob_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz"; + sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2"; + }; + } + + { + name = "is_finite___is_finite_1.0.2.tgz"; + path = fetchurl { + name = "is_finite___is_finite_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz"; + sha1 = "cc6677695602be550ef11e8b4aa6305342b6d0aa"; + }; + } + + { + name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz"; + path = fetchurl { + name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz"; + sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb"; + }; + } + + { + name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz"; + path = fetchurl { + name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz"; + sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f"; + }; + } + + { + name = "is_glob___is_glob_2.0.1.tgz"; + path = fetchurl { + name = "is_glob___is_glob_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz"; + sha1 = "d096f926a3ded5600f3fdfd91198cb0888c2d863"; + }; + } + + { + name = "is_glob___is_glob_3.1.0.tgz"; + path = fetchurl { + name = "is_glob___is_glob_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz"; + sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a"; + }; + } + + { + name = "is_number___is_number_0.1.1.tgz"; + path = fetchurl { + name = "is_number___is_number_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/is-number/-/is-number-0.1.1.tgz"; + sha1 = "69a7af116963d47206ec9bd9b48a14216f1e3806"; + }; + } + + { + name = "is_number___is_number_2.1.0.tgz"; + path = fetchurl { + name = "is_number___is_number_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz"; + sha1 = "01fcbbb393463a548f2f466cce16dece49db908f"; + }; + } + + { + name = "is_number___is_number_3.0.0.tgz"; + path = fetchurl { + name = "is_number___is_number_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz"; + sha1 = "24fd6201a4782cf50561c810276afc7d12d71195"; + }; + } + + { + name = "is_number___is_number_4.0.0.tgz"; + path = fetchurl { + name = "is_number___is_number_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz"; + sha1 = "0026e37f5454d73e356dfe6564699867c6a7f0ff"; + }; + } + + { + name = "is_plain_object___is_plain_object_2.0.4.tgz"; + path = fetchurl { + name = "is_plain_object___is_plain_object_2.0.4.tgz"; + url = "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz"; + sha1 = "2c163b3fafb1b606d9d17928f05c2a1c38e07677"; + }; + } + + { + name = "is_posix_bracket___is_posix_bracket_0.1.1.tgz"; + path = fetchurl { + name = "is_posix_bracket___is_posix_bracket_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz"; + sha1 = "3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"; + }; + } + + { + name = "is_primitive___is_primitive_2.0.0.tgz"; + path = fetchurl { + name = "is_primitive___is_primitive_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz"; + sha1 = "207bab91638499c07b2adf240a41a87210034575"; + }; + } + + { + name = "is_relative___is_relative_1.0.0.tgz"; + path = fetchurl { + name = "is_relative___is_relative_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz"; + sha1 = "a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d"; + }; + } + + { + name = "is_typedarray___is_typedarray_1.0.0.tgz"; + path = fetchurl { + name = "is_typedarray___is_typedarray_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz"; + sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a"; + }; + } + + { + name = "is_unc_path___is_unc_path_1.0.0.tgz"; + path = fetchurl { + name = "is_unc_path___is_unc_path_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz"; + sha1 = "d731e8898ed090a12c352ad2eaed5095ad322c9d"; + }; + } + + { + name = "is_utf8___is_utf8_0.2.1.tgz"; + path = fetchurl { + name = "is_utf8___is_utf8_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz"; + sha1 = "4b0da1442104d1b336340e80797e865cf39f7d72"; + }; + } + + { + name = "is_windows___is_windows_1.0.2.tgz"; + path = fetchurl { + name = "is_windows___is_windows_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz"; + sha1 = "d1850eb9791ecd18e6182ce12a30f396634bb19d"; + }; + } + + { + name = "is___is_3.3.0.tgz"; + path = fetchurl { + name = "is___is_3.3.0.tgz"; + url = "https://registry.yarnpkg.com/is/-/is-3.3.0.tgz"; + sha1 = "61cff6dd3c4193db94a3d62582072b44e5645d79"; + }; + } + + { + name = "isarray___isarray_0.0.1.tgz"; + path = fetchurl { + name = "isarray___isarray_0.0.1.tgz"; + url = "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz"; + sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf"; + }; + } + + { + name = "isarray___isarray_1.0.0.tgz"; + path = fetchurl { + name = "isarray___isarray_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz"; + sha1 = "bb935d48582cba168c06834957a54a3e07124f11"; + }; + } + + { + name = "isbinaryfile___isbinaryfile_3.0.3.tgz"; + path = fetchurl { + name = "isbinaryfile___isbinaryfile_3.0.3.tgz"; + url = "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.3.tgz"; + sha1 = "5d6def3edebf6e8ca8cae9c30183a804b5f8be80"; + }; + } + + { + name = "isexe___isexe_2.0.0.tgz"; + path = fetchurl { + name = "isexe___isexe_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz"; + sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10"; + }; + } + + { + name = "isobject___isobject_2.1.0.tgz"; + path = fetchurl { + name = "isobject___isobject_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz"; + sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89"; + }; + } + + { + name = "isobject___isobject_3.0.1.tgz"; + path = fetchurl { + name = "isobject___isobject_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz"; + sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"; + }; + } + + { + name = "isstream___isstream_0.1.2.tgz"; + path = fetchurl { + name = "isstream___isstream_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz"; + sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a"; + }; + } + + { + name = "istanbul___istanbul_0.4.5.tgz"; + path = fetchurl { + name = "istanbul___istanbul_0.4.5.tgz"; + url = "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz"; + sha1 = "65c7d73d4c4da84d4f3ac310b918fb0b8033733b"; + }; + } + + { + name = "jasmine_core___jasmine_core_2.99.1.tgz"; + path = fetchurl { + name = "jasmine_core___jasmine_core_2.99.1.tgz"; + url = "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.99.1.tgz"; + sha1 = "e6400df1e6b56e130b61c4bcd093daa7f6e8ca15"; + }; + } + + { + name = "js_base64___js_base64_2.5.1.tgz"; + path = fetchurl { + name = "js_base64___js_base64_2.5.1.tgz"; + url = "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz"; + sha1 = "1efa39ef2c5f7980bb1784ade4a8af2de3291121"; + }; + } + + { + name = "js_yaml___js_yaml_3.12.2.tgz"; + path = fetchurl { + name = "js_yaml___js_yaml_3.12.2.tgz"; + url = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.2.tgz"; + sha1 = "ef1d067c5a9d9cb65bd72f285b5d8105c77f14fc"; + }; + } + + { + name = "jsbn___jsbn_0.1.1.tgz"; + path = fetchurl { + name = "jsbn___jsbn_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz"; + sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"; + }; + } + + { + name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz"; + path = fetchurl { + name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz"; + url = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"; + sha1 = "69f6a87d9513ab8bb8fe63bdb0979c448e684660"; + }; + } + + { + name = "json_schema___json_schema_0.2.3.tgz"; + path = fetchurl { + name = "json_schema___json_schema_0.2.3.tgz"; + url = "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz"; + sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13"; + }; + } + + { + name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz"; + path = fetchurl { + name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz"; + url = "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"; + sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"; + }; + } + + { + name = "json3___json3_3.3.2.tgz"; + path = fetchurl { + name = "json3___json3_3.3.2.tgz"; + url = "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz"; + sha1 = "3c0434743df93e2f5c42aee7b19bcb483575f4e1"; + }; + } + + { + name = "jsprim___jsprim_1.4.1.tgz"; + path = fetchurl { + name = "jsprim___jsprim_1.4.1.tgz"; + url = "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz"; + sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"; + }; + } + + { + name = "karma_chrome_launcher___karma_chrome_launcher_2.1.1.tgz"; + path = fetchurl { + name = "karma_chrome_launcher___karma_chrome_launcher_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-2.1.1.tgz"; + sha1 = "216879c68ac04d8d5140e99619ba04b59afd46cf"; + }; + } + + { + name = "karma_coffee_preprocessor___karma_coffee_preprocessor_0.3.0.tgz"; + path = fetchurl { + name = "karma_coffee_preprocessor___karma_coffee_preprocessor_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/karma-coffee-preprocessor/-/karma-coffee-preprocessor-0.3.0.tgz"; + sha1 = "a4d8dc2b145bfef458a203d308b63bc03c9b4259"; + }; + } + + { + name = "karma_coverage___karma_coverage_0.5.5.tgz"; + path = fetchurl { + name = "karma_coverage___karma_coverage_0.5.5.tgz"; + url = "https://registry.yarnpkg.com/karma-coverage/-/karma-coverage-0.5.5.tgz"; + sha1 = "b0d58b1025d59d5c6620263186f1d58f5d5348c5"; + }; + } + + { + name = "karma_jasmine___karma_jasmine_0.3.8.tgz"; + path = fetchurl { + name = "karma_jasmine___karma_jasmine_0.3.8.tgz"; + url = "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-0.3.8.tgz"; + sha1 = "5b6457791ad9b89aa173f079e3ebe1b8c805236c"; + }; + } + + { + name = "karma_sourcemap_loader___karma_sourcemap_loader_0.3.7.tgz"; + path = fetchurl { + name = "karma_sourcemap_loader___karma_sourcemap_loader_0.3.7.tgz"; + url = "https://registry.yarnpkg.com/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz"; + sha1 = "91322c77f8f13d46fed062b042e1009d4c4505d8"; + }; + } + + { + name = "karma___karma_0.13.22.tgz"; + path = fetchurl { + name = "karma___karma_0.13.22.tgz"; + url = "https://registry.yarnpkg.com/karma/-/karma-0.13.22.tgz"; + sha1 = "07750b1bd063d7e7e7b91bcd2e6354d8f2aa8744"; + }; + } + + { + name = "kind_of___kind_of_3.2.2.tgz"; + path = fetchurl { + name = "kind_of___kind_of_3.2.2.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz"; + sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64"; + }; + } + + { + name = "kind_of___kind_of_4.0.0.tgz"; + path = fetchurl { + name = "kind_of___kind_of_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz"; + sha1 = "20813df3d712928b207378691a45066fae72dd57"; + }; + } + + { + name = "kind_of___kind_of_5.1.0.tgz"; + path = fetchurl { + name = "kind_of___kind_of_5.1.0.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz"; + sha1 = "729c91e2d857b7a419a1f9aa65685c4c33f5845d"; + }; + } + + { + name = "kind_of___kind_of_6.0.2.tgz"; + path = fetchurl { + name = "kind_of___kind_of_6.0.2.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz"; + sha1 = "01146b36a6218e64e58f3a8d66de5d7fc6f6d051"; + }; + } + + { + name = "lcid___lcid_1.0.0.tgz"; + path = fetchurl { + name = "lcid___lcid_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz"; + sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835"; + }; + } + + { + name = "levn___levn_0.3.0.tgz"; + path = fetchurl { + name = "levn___levn_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz"; + sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee"; + }; + } + + { + name = "liftoff___liftoff_2.5.0.tgz"; + path = fetchurl { + name = "liftoff___liftoff_2.5.0.tgz"; + url = "https://registry.yarnpkg.com/liftoff/-/liftoff-2.5.0.tgz"; + sha1 = "2009291bb31cea861bbf10a7c15a28caf75c31ec"; + }; + } + + { + name = "livereload_js___livereload_js_2.4.0.tgz"; + path = fetchurl { + name = "livereload_js___livereload_js_2.4.0.tgz"; + url = "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.4.0.tgz"; + sha1 = "447c31cf1ea9ab52fc20db615c5ddf678f78009c"; + }; + } + + { + name = "load_json_file___load_json_file_1.1.0.tgz"; + path = fetchurl { + name = "load_json_file___load_json_file_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz"; + sha1 = "956905708d58b4bab4c2261b04f59f31c99374c0"; + }; + } + + { + name = "lodash._baseassign___lodash._baseassign_3.2.0.tgz"; + path = fetchurl { + name = "lodash._baseassign___lodash._baseassign_3.2.0.tgz"; + url = "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz"; + sha1 = "8c38a099500f215ad09e59f1722fd0c52bfe0a4e"; + }; + } + + { + name = "lodash._basecopy___lodash._basecopy_3.0.1.tgz"; + path = fetchurl { + name = "lodash._basecopy___lodash._basecopy_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz"; + sha1 = "8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"; + }; + } + + { + name = "lodash._basetostring___lodash._basetostring_3.0.1.tgz"; + path = fetchurl { + name = "lodash._basetostring___lodash._basetostring_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz"; + sha1 = "d1861d877f824a52f669832dcaf3ee15566a07d5"; + }; + } + + { + name = "lodash._basevalues___lodash._basevalues_3.0.0.tgz"; + path = fetchurl { + name = "lodash._basevalues___lodash._basevalues_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz"; + sha1 = "5b775762802bde3d3297503e26300820fdf661b7"; + }; + } + + { + name = "lodash._bindcallback___lodash._bindcallback_3.0.1.tgz"; + path = fetchurl { + name = "lodash._bindcallback___lodash._bindcallback_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz"; + sha1 = "e531c27644cf8b57a99e17ed95b35c748789392e"; + }; + } + + { + name = "lodash._createassigner___lodash._createassigner_3.1.1.tgz"; + path = fetchurl { + name = "lodash._createassigner___lodash._createassigner_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz"; + sha1 = "838a5bae2fdaca63ac22dee8e19fa4e6d6970b11"; + }; + } + + { + name = "lodash._getnative___lodash._getnative_3.9.1.tgz"; + path = fetchurl { + name = "lodash._getnative___lodash._getnative_3.9.1.tgz"; + url = "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz"; + sha1 = "570bc7dede46d61cdcde687d65d3eecbaa3aaff5"; + }; + } + + { + name = "lodash._isiterateecall___lodash._isiterateecall_3.0.9.tgz"; + path = fetchurl { + name = "lodash._isiterateecall___lodash._isiterateecall_3.0.9.tgz"; + url = "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz"; + sha1 = "5203ad7ba425fae842460e696db9cf3e6aac057c"; + }; + } + + { + name = "lodash._reescape___lodash._reescape_3.0.0.tgz"; + path = fetchurl { + name = "lodash._reescape___lodash._reescape_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz"; + sha1 = "2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a"; + }; + } + + { + name = "lodash._reevaluate___lodash._reevaluate_3.0.0.tgz"; + path = fetchurl { + name = "lodash._reevaluate___lodash._reevaluate_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz"; + sha1 = "58bc74c40664953ae0b124d806996daca431e2ed"; + }; + } + + { + name = "lodash._reinterpolate___lodash._reinterpolate_3.0.0.tgz"; + path = fetchurl { + name = "lodash._reinterpolate___lodash._reinterpolate_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz"; + sha1 = "0ccf2d89166af03b3663c796538b75ac6e114d9d"; + }; + } + + { + name = "lodash._root___lodash._root_3.0.1.tgz"; + path = fetchurl { + name = "lodash._root___lodash._root_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz"; + sha1 = "fba1c4524c19ee9a5f8136b4609f017cf4ded692"; + }; + } + + { + name = "lodash.assign___lodash.assign_3.2.0.tgz"; + path = fetchurl { + name = "lodash.assign___lodash.assign_3.2.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-3.2.0.tgz"; + sha1 = "3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa"; + }; + } + + { + name = "lodash.assign___lodash.assign_4.2.0.tgz"; + path = fetchurl { + name = "lodash.assign___lodash.assign_4.2.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz"; + sha1 = "0d99f3ccd7a6d261d19bdaeb9245005d285808e7"; + }; + } + + { + name = "lodash.clonedeep___lodash.clonedeep_4.5.0.tgz"; + path = fetchurl { + name = "lodash.clonedeep___lodash.clonedeep_4.5.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz"; + sha1 = "e23f3f9c4f8fbdde872529c1071857a086e5ccef"; + }; + } + + { + name = "lodash.escape___lodash.escape_3.2.0.tgz"; + path = fetchurl { + name = "lodash.escape___lodash.escape_3.2.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz"; + sha1 = "995ee0dc18c1b48cc92effae71a10aab5b487698"; + }; + } + + { + name = "lodash.isarguments___lodash.isarguments_3.1.0.tgz"; + path = fetchurl { + name = "lodash.isarguments___lodash.isarguments_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz"; + sha1 = "2f573d85c6a24289ff00663b491c1d338ff3458a"; + }; + } + + { + name = "lodash.isarray___lodash.isarray_3.0.4.tgz"; + path = fetchurl { + name = "lodash.isarray___lodash.isarray_3.0.4.tgz"; + url = "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz"; + sha1 = "79e4eb88c36a8122af86f844aa9bcd851b5fbb55"; + }; + } + + { + name = "lodash.keys___lodash.keys_3.1.2.tgz"; + path = fetchurl { + name = "lodash.keys___lodash.keys_3.1.2.tgz"; + url = "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz"; + sha1 = "4dbc0472b156be50a0b286855d1bd0b0c656098a"; + }; + } + + { + name = "lodash.mergewith___lodash.mergewith_4.6.1.tgz"; + path = fetchurl { + name = "lodash.mergewith___lodash.mergewith_4.6.1.tgz"; + url = "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz"; + sha1 = "639057e726c3afbdb3e7d42741caa8d6e4335927"; + }; + } + + { + name = "lodash.restparam___lodash.restparam_3.6.1.tgz"; + path = fetchurl { + name = "lodash.restparam___lodash.restparam_3.6.1.tgz"; + url = "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz"; + sha1 = "936a4e309ef330a7645ed4145986c85ae5b20805"; + }; + } + + { + name = "lodash.template___lodash.template_3.6.2.tgz"; + path = fetchurl { + name = "lodash.template___lodash.template_3.6.2.tgz"; + url = "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz"; + sha1 = "f8cdecc6169a255be9098ae8b0c53d378931d14f"; + }; + } + + { + name = "lodash.templatesettings___lodash.templatesettings_3.1.1.tgz"; + path = fetchurl { + name = "lodash.templatesettings___lodash.templatesettings_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz"; + sha1 = "fb307844753b66b9f1afa54e262c745307dba8e5"; + }; + } + + { + name = "lodash___lodash_3.10.1.tgz"; + path = fetchurl { + name = "lodash___lodash_3.10.1.tgz"; + url = "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz"; + sha1 = "5bf45e8e49ba4189e17d482789dfd15bd140b7b6"; + }; + } + + { + name = "lodash___lodash_4.17.11.tgz"; + path = fetchurl { + name = "lodash___lodash_4.17.11.tgz"; + url = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz"; + sha1 = "b39ea6229ef607ecd89e2c8df12536891cac9b8d"; + }; + } + + { + name = "lodash___lodash_1.0.2.tgz"; + path = fetchurl { + name = "lodash___lodash_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz"; + sha1 = "8f57560c83b59fc270bd3d561b690043430e2551"; + }; + } + + { + name = "log4js___log4js_0.6.38.tgz"; + path = fetchurl { + name = "log4js___log4js_0.6.38.tgz"; + url = "https://registry.yarnpkg.com/log4js/-/log4js-0.6.38.tgz"; + sha1 = "2c494116695d6fb25480943d3fc872e662a522fd"; + }; + } + + { + name = "loophole___loophole_1.1.0.tgz"; + path = fetchurl { + name = "loophole___loophole_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/loophole/-/loophole-1.1.0.tgz"; + sha1 = "37949fea453b6256acc725c320ce0c5a7f70a2bd"; + }; + } + + { + name = "loud_rejection___loud_rejection_1.6.0.tgz"; + path = fetchurl { + name = "loud_rejection___loud_rejection_1.6.0.tgz"; + url = "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz"; + sha1 = "5b46f80147edee578870f086d04821cf998e551f"; + }; + } + + { + name = "lru_cache___lru_cache_2.7.3.tgz"; + path = fetchurl { + name = "lru_cache___lru_cache_2.7.3.tgz"; + url = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz"; + sha1 = "6d4524e8b955f95d4f5b58851ce21dd72fb4e952"; + }; + } + + { + name = "lru_cache___lru_cache_4.1.5.tgz"; + path = fetchurl { + name = "lru_cache___lru_cache_4.1.5.tgz"; + url = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz"; + sha1 = "8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"; + }; + } + + { + name = "make_iterator___make_iterator_1.0.1.tgz"; + path = fetchurl { + name = "make_iterator___make_iterator_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz"; + sha1 = "29b33f312aa8f547c4a5e490f56afcec99133ad6"; + }; + } + + { + name = "map_cache___map_cache_0.2.2.tgz"; + path = fetchurl { + name = "map_cache___map_cache_0.2.2.tgz"; + url = "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz"; + sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"; + }; + } + + { + name = "map_obj___map_obj_1.0.1.tgz"; + path = fetchurl { + name = "map_obj___map_obj_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz"; + sha1 = "d933ceb9205d82bdcf4886f6742bdc2b4dea146d"; + }; + } + + { + name = "map_stream___map_stream_0.0.7.tgz"; + path = fetchurl { + name = "map_stream___map_stream_0.0.7.tgz"; + url = "https://registry.yarnpkg.com/map-stream/-/map-stream-0.0.7.tgz"; + sha1 = "8a1f07896d82b10926bd3744a2420009f88974a8"; + }; + } + + { + name = "map_visit___map_visit_1.0.0.tgz"; + path = fetchurl { + name = "map_visit___map_visit_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz"; + sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"; + }; + } + + { + name = "math_random___math_random_1.0.4.tgz"; + path = fetchurl { + name = "math_random___math_random_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz"; + sha1 = "5dd6943c938548267016d4e34f057583080c514c"; + }; + } + + { + name = "media_typer___media_typer_0.3.0.tgz"; + path = fetchurl { + name = "media_typer___media_typer_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz"; + sha1 = "8710d7af0aa626f8fffa1ce00168545263255748"; + }; + } + + { + name = "meow___meow_3.7.0.tgz"; + path = fetchurl { + name = "meow___meow_3.7.0.tgz"; + url = "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz"; + sha1 = "72cb668b425228290abbfa856892587308a801fb"; + }; + } + + { + name = "micromatch___micromatch_2.3.11.tgz"; + path = fetchurl { + name = "micromatch___micromatch_2.3.11.tgz"; + url = "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz"; + sha1 = "86677c97d1720b363431d04d0d15293bd38c1565"; + }; + } + + { + name = "micromatch___micromatch_3.1.10.tgz"; + path = fetchurl { + name = "micromatch___micromatch_3.1.10.tgz"; + url = "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz"; + sha1 = "70859bc95c9840952f359a068a3fc49f9ecfac23"; + }; + } + + { + name = "mime_db___mime_db_1.38.0.tgz"; + path = fetchurl { + name = "mime_db___mime_db_1.38.0.tgz"; + url = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.38.0.tgz"; + sha1 = "1a2aab16da9eb167b49c6e4df2d9c68d63d8e2ad"; + }; + } + + { + name = "mime_types___mime_types_2.1.22.tgz"; + path = fetchurl { + name = "mime_types___mime_types_2.1.22.tgz"; + url = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.22.tgz"; + sha1 = "fe6b355a190926ab7698c9a0556a11199b2199bd"; + }; + } + + { + name = "mime___mime_1.6.0.tgz"; + path = fetchurl { + name = "mime___mime_1.6.0.tgz"; + url = "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz"; + sha1 = "32cd9e5c64553bd58d19a568af452acff04981b1"; + }; + } + + { + name = "mini_lr___mini_lr_0.1.9.tgz"; + path = fetchurl { + name = "mini_lr___mini_lr_0.1.9.tgz"; + url = "https://registry.yarnpkg.com/mini-lr/-/mini-lr-0.1.9.tgz"; + sha1 = "02199d27347953d1fd1d6dbded4261f187b2d0f6"; + }; + } + + { + name = "minimatch___minimatch_3.0.4.tgz"; + path = fetchurl { + name = "minimatch___minimatch_3.0.4.tgz"; + url = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz"; + sha1 = "5166e286457f03306064be5497e8dbb0c3d32083"; + }; + } + + { + name = "minimatch___minimatch_2.0.10.tgz"; + path = fetchurl { + name = "minimatch___minimatch_2.0.10.tgz"; + url = "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz"; + sha1 = "8d087c39c6b38c001b97fca7ce6d0e1e80afbac7"; + }; + } + + { + name = "minimatch___minimatch_0.2.14.tgz"; + path = fetchurl { + name = "minimatch___minimatch_0.2.14.tgz"; + url = "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz"; + sha1 = "c74e780574f63c6f9a090e90efbe6ef53a6a756a"; + }; + } + + { + name = "minimist___minimist_0.0.8.tgz"; + path = fetchurl { + name = "minimist___minimist_0.0.8.tgz"; + url = "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz"; + sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d"; + }; + } + + { + name = "minimist___minimist_1.2.0.tgz"; + path = fetchurl { + name = "minimist___minimist_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz"; + sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284"; + }; + } + + { + name = "minimist___minimist_0.0.10.tgz"; + path = fetchurl { + name = "minimist___minimist_0.0.10.tgz"; + url = "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz"; + sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf"; + }; + } + + { + name = "minipass___minipass_2.3.5.tgz"; + path = fetchurl { + name = "minipass___minipass_2.3.5.tgz"; + url = "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz"; + sha1 = "cacebe492022497f656b0f0f51e2682a9ed2d848"; + }; + } + + { + name = "minizlib___minizlib_1.2.1.tgz"; + path = fetchurl { + name = "minizlib___minizlib_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz"; + sha1 = "dd27ea6136243c7c880684e8672bb3a45fd9b614"; + }; + } + + { + name = "mixin_deep___mixin_deep_1.3.1.tgz"; + path = fetchurl { + name = "mixin_deep___mixin_deep_1.3.1.tgz"; + url = "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz"; + sha1 = "a49e7268dce1a0d9698e45326c5626df3543d0fe"; + }; + } + + { + name = "mkdirp___mkdirp_0.5.1.tgz"; + path = fetchurl { + name = "mkdirp___mkdirp_0.5.1.tgz"; + url = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz"; + sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903"; + }; + } + + { + name = "ms___ms_0.7.1.tgz"; + path = fetchurl { + name = "ms___ms_0.7.1.tgz"; + url = "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz"; + sha1 = "9cd13c03adbff25b65effde7ce864ee952017098"; + }; + } + + { + name = "ms___ms_0.7.2.tgz"; + path = fetchurl { + name = "ms___ms_0.7.2.tgz"; + url = "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz"; + sha1 = "ae25cf2512b3885a1d95d7f037868d8431124765"; + }; + } + + { + name = "ms___ms_2.0.0.tgz"; + path = fetchurl { + name = "ms___ms_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz"; + sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8"; + }; + } + + { + name = "ms___ms_2.1.1.tgz"; + path = fetchurl { + name = "ms___ms_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz"; + sha1 = "30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"; + }; + } + + { + name = "multipipe___multipipe_0.1.2.tgz"; + path = fetchurl { + name = "multipipe___multipipe_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz"; + sha1 = "2a8f2ddf70eed564dff2d57f1e1a137d9f05078b"; + }; + } + + { + name = "nan___nan_2.12.1.tgz"; + path = fetchurl { + name = "nan___nan_2.12.1.tgz"; + url = "https://registry.yarnpkg.com/nan/-/nan-2.12.1.tgz"; + sha1 = "7b1aa193e9aa86057e3c7bbd0ac448e770925552"; + }; + } + + { + name = "nanomatch___nanomatch_1.2.13.tgz"; + path = fetchurl { + name = "nanomatch___nanomatch_1.2.13.tgz"; + url = "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz"; + sha1 = "b87a8aa4fc0de8fe6be88895b38983ff265bd119"; + }; + } + + { + name = "natives___natives_1.1.6.tgz"; + path = fetchurl { + name = "natives___natives_1.1.6.tgz"; + url = "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz"; + sha1 = "a603b4a498ab77173612b9ea1acdec4d980f00bb"; + }; + } + + { + name = "needle___needle_2.2.4.tgz"; + path = fetchurl { + name = "needle___needle_2.2.4.tgz"; + url = "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz"; + sha1 = "51931bff82533b1928b7d1d69e01f1b00ffd2a4e"; + }; + } + + { + name = "negotiator___negotiator_0.6.1.tgz"; + path = fetchurl { + name = "negotiator___negotiator_0.6.1.tgz"; + url = "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz"; + sha1 = "2b327184e8992101177b28563fb5e7102acd0ca9"; + }; + } + + { + name = "ng_classify___ng_classify_4.1.1.tgz"; + path = fetchurl { + name = "ng_classify___ng_classify_4.1.1.tgz"; + url = "https://registry.yarnpkg.com/ng-classify/-/ng-classify-4.1.1.tgz"; + sha1 = "6688b924c3c9b5f94da5f8fbc0d55176f3dda122"; + }; + } + + { + name = "node_gyp___node_gyp_3.8.0.tgz"; + path = fetchurl { + name = "node_gyp___node_gyp_3.8.0.tgz"; + url = "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz"; + sha1 = "540304261c330e80d0d5edce253a68cb3964218c"; + }; + } + + { + name = "node_pre_gyp___node_pre_gyp_0.10.3.tgz"; + path = fetchurl { + name = "node_pre_gyp___node_pre_gyp_0.10.3.tgz"; + url = "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz"; + sha1 = "3070040716afdc778747b61b6887bf78880b80fc"; + }; + } + + { + name = "node_sass___node_sass_4.11.0.tgz"; + path = fetchurl { + name = "node_sass___node_sass_4.11.0.tgz"; + url = "https://registry.yarnpkg.com/node-sass/-/node-sass-4.11.0.tgz"; + sha1 = "183faec398e9cbe93ba43362e2768ca988a6369a"; + }; + } + + { + name = "node.extend___node.extend_1.1.8.tgz"; + path = fetchurl { + name = "node.extend___node.extend_1.1.8.tgz"; + url = "https://registry.yarnpkg.com/node.extend/-/node.extend-1.1.8.tgz"; + sha1 = "0aab3e63789f4e6d68b42bc00073ad1881243cf0"; + }; + } + + { + name = "nopt___nopt_3.0.6.tgz"; + path = fetchurl { + name = "nopt___nopt_3.0.6.tgz"; + url = "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz"; + sha1 = "c6465dbf08abcd4db359317f79ac68a646b28ff9"; + }; + } + + { + name = "nopt___nopt_4.0.1.tgz"; + path = fetchurl { + name = "nopt___nopt_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz"; + sha1 = "d0d4685afd5415193c8c7505602d0d17cd64474d"; + }; + } + + { + name = "normalize_package_data___normalize_package_data_2.5.0.tgz"; + path = fetchurl { + name = "normalize_package_data___normalize_package_data_2.5.0.tgz"; + url = "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz"; + sha1 = "e66db1838b200c1dfc233225d12cb36520e234a8"; + }; + } + + { + name = "normalize_path___normalize_path_2.1.1.tgz"; + path = fetchurl { + name = "normalize_path___normalize_path_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz"; + sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"; + }; + } + + { + name = "npm_bundled___npm_bundled_1.0.6.tgz"; + path = fetchurl { + name = "npm_bundled___npm_bundled_1.0.6.tgz"; + url = "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz"; + sha1 = "e7ba9aadcef962bb61248f91721cd932b3fe6bdd"; + }; + } + + { + name = "npm_packlist___npm_packlist_1.4.1.tgz"; + path = fetchurl { + name = "npm_packlist___npm_packlist_1.4.1.tgz"; + url = "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.1.tgz"; + sha1 = "19064cdf988da80ea3cee45533879d90192bbfbc"; + }; + } + + { + name = "npmlog___npmlog_4.1.2.tgz"; + path = fetchurl { + name = "npmlog___npmlog_4.1.2.tgz"; + url = "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz"; + sha1 = "08a7f2a8bf734604779a9efa4ad5cc717abb954b"; + }; + } + + { + name = "null_check___null_check_1.0.0.tgz"; + path = fetchurl { + name = "null_check___null_check_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz"; + sha1 = "977dffd7176012b9ec30d2a39db5cf72a0439edd"; + }; + } + + { + name = "number_is_nan___number_is_nan_1.0.1.tgz"; + path = fetchurl { + name = "number_is_nan___number_is_nan_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz"; + sha1 = "097b602b53422a522c1afb8790318336941a011d"; + }; + } + + { + name = "oauth_sign___oauth_sign_0.9.0.tgz"; + path = fetchurl { + name = "oauth_sign___oauth_sign_0.9.0.tgz"; + url = "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz"; + sha1 = "47a7b016baa68b5fa0ecf3dee08a85c679ac6455"; + }; + } + + { + name = "object_assign___object_assign_4.1.0.tgz"; + path = fetchurl { + name = "object_assign___object_assign_4.1.0.tgz"; + url = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz"; + sha1 = "7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"; + }; + } + + { + name = "object_assign___object_assign_3.0.0.tgz"; + path = fetchurl { + name = "object_assign___object_assign_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz"; + sha1 = "9bedd5ca0897949bca47e7ff408062d549f587f2"; + }; + } + + { + name = "object_assign___object_assign_4.1.1.tgz"; + path = fetchurl { + name = "object_assign___object_assign_4.1.1.tgz"; + url = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz"; + sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863"; + }; + } + + { + name = "object_component___object_component_0.0.3.tgz"; + path = fetchurl { + name = "object_component___object_component_0.0.3.tgz"; + url = "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz"; + sha1 = "f0c69aa50efc95b866c186f400a33769cb2f1291"; + }; + } + + { + name = "object_copy___object_copy_0.1.0.tgz"; + path = fetchurl { + name = "object_copy___object_copy_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz"; + sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c"; + }; + } + + { + name = "object_visit___object_visit_1.0.1.tgz"; + path = fetchurl { + name = "object_visit___object_visit_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz"; + sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb"; + }; + } + + { + name = "object.defaults___object.defaults_1.1.0.tgz"; + path = fetchurl { + name = "object.defaults___object.defaults_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz"; + sha1 = "3a7f868334b407dea06da16d88d5cd29e435fecf"; + }; + } + + { + name = "object.map___object.map_1.0.1.tgz"; + path = fetchurl { + name = "object.map___object.map_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz"; + sha1 = "cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37"; + }; + } + + { + name = "object.omit___object.omit_2.0.1.tgz"; + path = fetchurl { + name = "object.omit___object.omit_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz"; + sha1 = "1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"; + }; + } + + { + name = "object.pick___object.pick_1.3.0.tgz"; + path = fetchurl { + name = "object.pick___object.pick_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz"; + sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747"; + }; + } + + { + name = "on_finished___on_finished_2.3.0.tgz"; + path = fetchurl { + name = "on_finished___on_finished_2.3.0.tgz"; + url = "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz"; + sha1 = "20f1336481b083cd75337992a16971aa2d906947"; + }; + } + + { + name = "once___once_1.4.0.tgz"; + path = fetchurl { + name = "once___once_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz"; + sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1"; + }; + } + + { + name = "once___once_1.3.3.tgz"; + path = fetchurl { + name = "once___once_1.3.3.tgz"; + url = "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz"; + sha1 = "b2e261557ce4c314ec8304f3fa82663e4297ca20"; + }; + } + + { + name = "optimist___optimist_0.6.1.tgz"; + path = fetchurl { + name = "optimist___optimist_0.6.1.tgz"; + url = "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz"; + sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686"; + }; + } + + { + name = "optionator___optionator_0.8.2.tgz"; + path = fetchurl { + name = "optionator___optionator_0.8.2.tgz"; + url = "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz"; + sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64"; + }; + } + + { + name = "options___options_0.0.6.tgz"; + path = fetchurl { + name = "options___options_0.0.6.tgz"; + url = "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz"; + sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f"; + }; + } + + { + name = "orchestrator___orchestrator_0.3.8.tgz"; + path = fetchurl { + name = "orchestrator___orchestrator_0.3.8.tgz"; + url = "https://registry.yarnpkg.com/orchestrator/-/orchestrator-0.3.8.tgz"; + sha1 = "14e7e9e2764f7315fbac184e506c7aa6df94ad7e"; + }; + } + + { + name = "ordered_read_streams___ordered_read_streams_0.1.0.tgz"; + path = fetchurl { + name = "ordered_read_streams___ordered_read_streams_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz"; + sha1 = "fd565a9af8eb4473ba69b6ed8a34352cb552f126"; + }; + } + + { + name = "os_homedir___os_homedir_1.0.2.tgz"; + path = fetchurl { + name = "os_homedir___os_homedir_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz"; + sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3"; + }; + } + + { + name = "os_locale___os_locale_1.4.0.tgz"; + path = fetchurl { + name = "os_locale___os_locale_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz"; + sha1 = "20f9f17ae29ed345e8bde583b13d2009803c14d9"; + }; + } + + { + name = "os_tmpdir___os_tmpdir_1.0.2.tgz"; + path = fetchurl { + name = "os_tmpdir___os_tmpdir_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz"; + sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274"; + }; + } + + { + name = "osenv___osenv_0.1.5.tgz"; + path = fetchurl { + name = "osenv___osenv_0.1.5.tgz"; + url = "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz"; + sha1 = "85cdfafaeb28e8677f416e287592b5f3f49ea410"; + }; + } + + { + name = "parse_filepath___parse_filepath_1.0.2.tgz"; + path = fetchurl { + name = "parse_filepath___parse_filepath_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz"; + sha1 = "a632127f53aaf3d15876f5872f3ffac763d6c891"; + }; + } + + { + name = "parse_glob___parse_glob_3.0.4.tgz"; + path = fetchurl { + name = "parse_glob___parse_glob_3.0.4.tgz"; + url = "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz"; + sha1 = "b2c376cfb11f35513badd173ef0bb6e3a388391c"; + }; + } + + { + name = "parse_json___parse_json_2.2.0.tgz"; + path = fetchurl { + name = "parse_json___parse_json_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz"; + sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9"; + }; + } + + { + name = "parse_node_version___parse_node_version_1.0.1.tgz"; + path = fetchurl { + name = "parse_node_version___parse_node_version_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz"; + sha1 = "e2b5dbede00e7fa9bc363607f53327e8b073189b"; + }; + } + + { + name = "parse_passwd___parse_passwd_1.0.0.tgz"; + path = fetchurl { + name = "parse_passwd___parse_passwd_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz"; + sha1 = "6d5b934a456993b23d37f40a382d6f1666a8e5c6"; + }; + } + + { + name = "parsejson___parsejson_0.0.3.tgz"; + path = fetchurl { + name = "parsejson___parsejson_0.0.3.tgz"; + url = "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz"; + sha1 = "ab7e3759f209ece99437973f7d0f1f64ae0e64ab"; + }; + } + + { + name = "parseqs___parseqs_0.0.5.tgz"; + path = fetchurl { + name = "parseqs___parseqs_0.0.5.tgz"; + url = "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz"; + sha1 = "d5208a3738e46766e291ba2ea173684921a8b89d"; + }; + } + + { + name = "parseuri___parseuri_0.0.5.tgz"; + path = fetchurl { + name = "parseuri___parseuri_0.0.5.tgz"; + url = "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz"; + sha1 = "80204a50d4dbb779bfdc6ebe2778d90e4bce320a"; + }; + } + + { + name = "parseurl___parseurl_1.3.2.tgz"; + path = fetchurl { + name = "parseurl___parseurl_1.3.2.tgz"; + url = "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz"; + sha1 = "fc289d4ed8993119460c156253262cdc8de65bf3"; + }; + } + + { + name = "pascalcase___pascalcase_0.1.1.tgz"; + path = fetchurl { + name = "pascalcase___pascalcase_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz"; + sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14"; + }; + } + + { + name = "path_exists___path_exists_2.1.0.tgz"; + path = fetchurl { + name = "path_exists___path_exists_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz"; + sha1 = "0feb6c64f0fc518d9a754dd5efb62c7022761f4b"; + }; + } + + { + name = "path_is_absolute___path_is_absolute_1.0.1.tgz"; + path = fetchurl { + name = "path_is_absolute___path_is_absolute_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz"; + sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"; + }; + } + + { + name = "path_parse___path_parse_1.0.6.tgz"; + path = fetchurl { + name = "path_parse___path_parse_1.0.6.tgz"; + url = "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz"; + sha1 = "d62dbb5679405d72c4737ec58600e9ddcf06d24c"; + }; + } + + { + name = "path_root_regex___path_root_regex_0.1.2.tgz"; + path = fetchurl { + name = "path_root_regex___path_root_regex_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz"; + sha1 = "bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d"; + }; + } + + { + name = "path_root___path_root_0.1.1.tgz"; + path = fetchurl { + name = "path_root___path_root_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz"; + sha1 = "9a4a6814cac1c0cd73360a95f32083c8ea4745b7"; + }; + } + + { + name = "path_type___path_type_1.1.0.tgz"; + path = fetchurl { + name = "path_type___path_type_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz"; + sha1 = "59c44f7ee491da704da415da5a4070ba4f8fe441"; + }; + } + + { + name = "pause_stream___pause_stream_0.0.11.tgz"; + path = fetchurl { + name = "pause_stream___pause_stream_0.0.11.tgz"; + url = "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz"; + sha1 = "fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445"; + }; + } + + { + name = "performance_now___performance_now_2.1.0.tgz"; + path = fetchurl { + name = "performance_now___performance_now_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz"; + sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"; + }; + } + + { + name = "pify___pify_2.3.0.tgz"; + path = fetchurl { + name = "pify___pify_2.3.0.tgz"; + url = "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz"; + sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c"; + }; + } + + { + name = "pinkie_promise___pinkie_promise_2.0.1.tgz"; + path = fetchurl { + name = "pinkie_promise___pinkie_promise_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz"; + sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa"; + }; + } + + { + name = "pinkie___pinkie_2.0.4.tgz"; + path = fetchurl { + name = "pinkie___pinkie_2.0.4.tgz"; + url = "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz"; + sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870"; + }; + } + + { + name = "posix_character_classes___posix_character_classes_0.1.1.tgz"; + path = fetchurl { + name = "posix_character_classes___posix_character_classes_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz"; + sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"; + }; + } + + { + name = "prelude_ls___prelude_ls_1.1.2.tgz"; + path = fetchurl { + name = "prelude_ls___prelude_ls_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz"; + sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54"; + }; + } + + { + name = "preserve___preserve_0.2.0.tgz"; + path = fetchurl { + name = "preserve___preserve_0.2.0.tgz"; + url = "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz"; + sha1 = "815ed1f6ebc65926f865b310c0713bcb3315ce4b"; + }; + } + + { + name = "pretty_hrtime___pretty_hrtime_1.0.3.tgz"; + path = fetchurl { + name = "pretty_hrtime___pretty_hrtime_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz"; + sha1 = "b7e3ea42435a4c9b2759d99e0f201eb195802ee1"; + }; + } + + { + name = "process_nextick_args___process_nextick_args_2.0.0.tgz"; + path = fetchurl { + name = "process_nextick_args___process_nextick_args_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz"; + sha1 = "a37d732f4271b4ab1ad070d35508e8290788ffaa"; + }; + } + + { + name = "pseudomap___pseudomap_1.0.2.tgz"; + path = fetchurl { + name = "pseudomap___pseudomap_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz"; + sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3"; + }; + } + + { + name = "psl___psl_1.1.31.tgz"; + path = fetchurl { + name = "psl___psl_1.1.31.tgz"; + url = "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz"; + sha1 = "e9aa86d0101b5b105cbe93ac6b784cd547276184"; + }; + } + + { + name = "punycode___punycode_1.4.1.tgz"; + path = fetchurl { + name = "punycode___punycode_1.4.1.tgz"; + url = "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz"; + sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"; + }; + } + + { + name = "punycode___punycode_2.1.1.tgz"; + path = fetchurl { + name = "punycode___punycode_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz"; + sha1 = "b58b010ac40c22c5657616c8d2c2c02c7bf479ec"; + }; + } + + { + name = "qs___qs_5.2.0.tgz"; + path = fetchurl { + name = "qs___qs_5.2.0.tgz"; + url = "https://registry.yarnpkg.com/qs/-/qs-5.2.0.tgz"; + sha1 = "a9f31142af468cb72b25b30136ba2456834916be"; + }; + } + + { + name = "qs___qs_6.5.2.tgz"; + path = fetchurl { + name = "qs___qs_6.5.2.tgz"; + url = "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz"; + sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36"; + }; + } + + { + name = "qs___qs_2.2.5.tgz"; + path = fetchurl { + name = "qs___qs_2.2.5.tgz"; + url = "https://registry.yarnpkg.com/qs/-/qs-2.2.5.tgz"; + sha1 = "1088abaf9dcc0ae5ae45b709e6c6b5888b23923c"; + }; + } + + { + name = "randomatic___randomatic_3.1.1.tgz"; + path = fetchurl { + name = "randomatic___randomatic_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz"; + sha1 = "b776efc59375984e36c537b2f51a1f0aff0da1ed"; + }; + } + + { + name = "raw_body___raw_body_2.3.3.tgz"; + path = fetchurl { + name = "raw_body___raw_body_2.3.3.tgz"; + url = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz"; + sha1 = "1b324ece6b5706e153855bc1148c65bb7f6ea0c3"; + }; + } + + { + name = "raw_body___raw_body_2.1.7.tgz"; + path = fetchurl { + name = "raw_body___raw_body_2.1.7.tgz"; + url = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.1.7.tgz"; + sha1 = "adfeace2e4fb3098058014d08c072dcc59758774"; + }; + } + + { + name = "rc___rc_1.2.8.tgz"; + path = fetchurl { + name = "rc___rc_1.2.8.tgz"; + url = "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz"; + sha1 = "cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"; + }; + } + + { + name = "read_pkg_up___read_pkg_up_1.0.1.tgz"; + path = fetchurl { + name = "read_pkg_up___read_pkg_up_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz"; + sha1 = "9d63c13276c065918d57f002a57f40a1b643fb02"; + }; + } + + { + name = "read_pkg___read_pkg_1.1.0.tgz"; + path = fetchurl { + name = "read_pkg___read_pkg_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz"; + sha1 = "f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"; + }; + } + + { + name = "readable_stream___readable_stream_1.0.34.tgz"; + path = fetchurl { + name = "readable_stream___readable_stream_1.0.34.tgz"; + url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz"; + sha1 = "125820e34bc842d2f2aaafafe4c2916ee32c157c"; + }; + } + + { + name = "readable_stream___readable_stream_2.3.6.tgz"; + path = fetchurl { + name = "readable_stream___readable_stream_2.3.6.tgz"; + url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz"; + sha1 = "b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"; + }; + } + + { + name = "readable_stream___readable_stream_1.1.14.tgz"; + path = fetchurl { + name = "readable_stream___readable_stream_1.1.14.tgz"; + url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz"; + sha1 = "7cf4c54ef648e3813084c636dd2079e166c081d9"; + }; + } + + { + name = "readdirp___readdirp_2.2.1.tgz"; + path = fetchurl { + name = "readdirp___readdirp_2.2.1.tgz"; + url = "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz"; + sha1 = "0e87622a3325aa33e892285caf8b4e846529a525"; + }; + } + + { + name = "rechoir___rechoir_0.6.2.tgz"; + path = fetchurl { + name = "rechoir___rechoir_0.6.2.tgz"; + url = "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz"; + sha1 = "85204b54dba82d5742e28c96756ef43af50e3384"; + }; + } + + { + name = "redent___redent_1.0.0.tgz"; + path = fetchurl { + name = "redent___redent_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz"; + sha1 = "cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"; + }; + } + + { + name = "regex_cache___regex_cache_0.4.4.tgz"; + path = fetchurl { + name = "regex_cache___regex_cache_0.4.4.tgz"; + url = "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz"; + sha1 = "75bdc58a2a1496cec48a12835bc54c8d562336dd"; + }; + } + + { + name = "regex_not___regex_not_1.0.2.tgz"; + path = fetchurl { + name = "regex_not___regex_not_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz"; + sha1 = "1f4ece27e00b0b65e0247a6810e6a85d83a5752c"; + }; + } + + { + name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz"; + path = fetchurl { + name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz"; + sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef"; + }; + } + + { + name = "repeat_element___repeat_element_1.1.3.tgz"; + path = fetchurl { + name = "repeat_element___repeat_element_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz"; + sha1 = "782e0d825c0c5a3bb39731f84efee6b742e6b1ce"; + }; + } + + { + name = "repeat_string___repeat_string_0.2.2.tgz"; + path = fetchurl { + name = "repeat_string___repeat_string_0.2.2.tgz"; + url = "https://registry.yarnpkg.com/repeat-string/-/repeat-string-0.2.2.tgz"; + sha1 = "c7a8d3236068362059a7e4651fc6884e8b1fb4ae"; + }; + } + + { + name = "repeat_string___repeat_string_1.6.1.tgz"; + path = fetchurl { + name = "repeat_string___repeat_string_1.6.1.tgz"; + url = "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz"; + sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637"; + }; + } + + { + name = "repeating___repeating_2.0.1.tgz"; + path = fetchurl { + name = "repeating___repeating_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz"; + sha1 = "5214c53a926d3552707527fbab415dbc08d06dda"; + }; + } + + { + name = "replace_ext___replace_ext_0.0.1.tgz"; + path = fetchurl { + name = "replace_ext___replace_ext_0.0.1.tgz"; + url = "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz"; + sha1 = "29bbd92078a739f0bcce2b4ee41e837953522924"; + }; + } + + { + name = "request___request_2.88.0.tgz"; + path = fetchurl { + name = "request___request_2.88.0.tgz"; + url = "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz"; + sha1 = "9c2fca4f7d35b592efe57c7f0a55e81052124fef"; + }; + } + + { + name = "require_directory___require_directory_2.1.1.tgz"; + path = fetchurl { + name = "require_directory___require_directory_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz"; + sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"; + }; + } + + { + name = "require_main_filename___require_main_filename_1.0.1.tgz"; + path = fetchurl { + name = "require_main_filename___require_main_filename_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz"; + sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1"; + }; + } + + { + name = "requires_port___requires_port_1.0.0.tgz"; + path = fetchurl { + name = "requires_port___requires_port_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz"; + sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff"; + }; + } + + { + name = "resolve_dir___resolve_dir_1.0.1.tgz"; + path = fetchurl { + name = "resolve_dir___resolve_dir_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz"; + sha1 = "79a40644c362be82f26effe739c9bb5382046f43"; + }; + } + + { + name = "resolve_url___resolve_url_0.2.1.tgz"; + path = fetchurl { + name = "resolve_url___resolve_url_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz"; + sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a"; + }; + } + + { + name = "resolve___resolve_1.1.7.tgz"; + path = fetchurl { + name = "resolve___resolve_1.1.7.tgz"; + url = "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz"; + sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b"; + }; + } + + { + name = "resolve___resolve_1.10.0.tgz"; + path = fetchurl { + name = "resolve___resolve_1.10.0.tgz"; + url = "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz"; + sha1 = "3bdaaeaf45cc07f375656dfd2e54ed0810b101ba"; + }; + } + + { + name = "ret___ret_0.1.15.tgz"; + path = fetchurl { + name = "ret___ret_0.1.15.tgz"; + url = "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz"; + sha1 = "b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"; + }; + } + + { + name = "rimraf___rimraf_2.6.3.tgz"; + path = fetchurl { + name = "rimraf___rimraf_2.6.3.tgz"; + url = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz"; + sha1 = "b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"; + }; + } + + { + name = "safe_buffer___safe_buffer_5.1.2.tgz"; + path = fetchurl { + name = "safe_buffer___safe_buffer_5.1.2.tgz"; + url = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz"; + sha1 = "991ec69d296e0313747d59bdfd2b745c35f8828d"; + }; + } + + { + name = "safe_regex___safe_regex_1.1.0.tgz"; + path = fetchurl { + name = "safe_regex___safe_regex_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz"; + sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e"; + }; + } + + { + name = "safer_buffer___safer_buffer_2.1.2.tgz"; + path = fetchurl { + name = "safer_buffer___safer_buffer_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz"; + sha1 = "44fa161b0187b9549dd84bb91802f9bd8385cd6a"; + }; + } + + { + name = "sass_graph___sass_graph_2.2.4.tgz"; + path = fetchurl { + name = "sass_graph___sass_graph_2.2.4.tgz"; + url = "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz"; + sha1 = "13fbd63cd1caf0908b9fd93476ad43a51d1e0b49"; + }; + } + + { + name = "sax___sax_1.2.4.tgz"; + path = fetchurl { + name = "sax___sax_1.2.4.tgz"; + url = "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz"; + sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9"; + }; + } + + { + name = "scss_tokenizer___scss_tokenizer_0.2.3.tgz"; + path = fetchurl { + name = "scss_tokenizer___scss_tokenizer_0.2.3.tgz"; + url = "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz"; + sha1 = "8eb06db9a9723333824d3f5530641149847ce5d1"; + }; + } + + { + name = "semver___semver_5.6.0.tgz"; + path = fetchurl { + name = "semver___semver_5.6.0.tgz"; + url = "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz"; + sha1 = "7e74256fbaa49c75aa7c7a205cc22799cac80004"; + }; + } + + { + name = "semver___semver_4.3.6.tgz"; + path = fetchurl { + name = "semver___semver_4.3.6.tgz"; + url = "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz"; + sha1 = "300bc6e0e86374f7ba61068b5b1ecd57fc6532da"; + }; + } + + { + name = "semver___semver_5.3.0.tgz"; + path = fetchurl { + name = "semver___semver_5.3.0.tgz"; + url = "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz"; + sha1 = "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"; + }; + } + + { + name = "sequencify___sequencify_0.0.7.tgz"; + path = fetchurl { + name = "sequencify___sequencify_0.0.7.tgz"; + url = "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz"; + sha1 = "90cff19d02e07027fd767f5ead3e7b95d1e7380c"; + }; + } + + { + name = "set_blocking___set_blocking_2.0.0.tgz"; + path = fetchurl { + name = "set_blocking___set_blocking_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz"; + sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7"; + }; + } + + { + name = "set_value___set_value_0.4.3.tgz"; + path = fetchurl { + name = "set_value___set_value_0.4.3.tgz"; + url = "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz"; + sha1 = "7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1"; + }; + } + + { + name = "set_value___set_value_2.0.0.tgz"; + path = fetchurl { + name = "set_value___set_value_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz"; + sha1 = "71ae4a88f0feefbbf52d1ea604f3fb315ebb6274"; + }; + } + + { + name = "setprototypeof___setprototypeof_1.1.0.tgz"; + path = fetchurl { + name = "setprototypeof___setprototypeof_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz"; + sha1 = "d0bd85536887b6fe7c0d818cb962d9d91c54e656"; + }; + } + + { + name = "sigmund___sigmund_1.0.1.tgz"; + path = fetchurl { + name = "sigmund___sigmund_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz"; + sha1 = "3ff21f198cad2175f9f3b781853fd94d0d19b590"; + }; + } + + { + name = "signal_exit___signal_exit_3.0.2.tgz"; + path = fetchurl { + name = "signal_exit___signal_exit_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz"; + sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d"; + }; + } + + { + name = "snapdragon_node___snapdragon_node_2.1.1.tgz"; + path = fetchurl { + name = "snapdragon_node___snapdragon_node_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz"; + sha1 = "6c175f86ff14bdb0724563e8f3c1b021a286853b"; + }; + } + + { + name = "snapdragon_util___snapdragon_util_3.0.1.tgz"; + path = fetchurl { + name = "snapdragon_util___snapdragon_util_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz"; + sha1 = "f956479486f2acd79700693f6f7b805e45ab56e2"; + }; + } + + { + name = "snapdragon___snapdragon_0.8.2.tgz"; + path = fetchurl { + name = "snapdragon___snapdragon_0.8.2.tgz"; + url = "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz"; + sha1 = "64922e7c565b0e14204ba1aa7d6964278d25182d"; + }; + } + + { + name = "socket.io_adapter___socket.io_adapter_0.5.0.tgz"; + path = fetchurl { + name = "socket.io_adapter___socket.io_adapter_0.5.0.tgz"; + url = "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz"; + sha1 = "cb6d4bb8bec81e1078b99677f9ced0046066bb8b"; + }; + } + + { + name = "socket.io_client___socket.io_client_1.7.4.tgz"; + path = fetchurl { + name = "socket.io_client___socket.io_client_1.7.4.tgz"; + url = "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.7.4.tgz"; + sha1 = "ec9f820356ed99ef6d357f0756d648717bdd4281"; + }; + } + + { + name = "socket.io_parser___socket.io_parser_2.3.1.tgz"; + path = fetchurl { + name = "socket.io_parser___socket.io_parser_2.3.1.tgz"; + url = "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.3.1.tgz"; + sha1 = "dd532025103ce429697326befd64005fcfe5b4a0"; + }; + } + + { + name = "socket.io___socket.io_1.7.4.tgz"; + path = fetchurl { + name = "socket.io___socket.io_1.7.4.tgz"; + url = "https://registry.yarnpkg.com/socket.io/-/socket.io-1.7.4.tgz"; + sha1 = "2f7ecedc3391bf2d5c73e291fe233e6e34d4dd00"; + }; + } + + { + name = "source_map_resolve___source_map_resolve_0.5.2.tgz"; + path = fetchurl { + name = "source_map_resolve___source_map_resolve_0.5.2.tgz"; + url = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz"; + sha1 = "72e2cc34095543e43b2c62b2c4c10d4a9054f259"; + }; + } + + { + name = "source_map_url___source_map_url_0.4.0.tgz"; + path = fetchurl { + name = "source_map_url___source_map_url_0.4.0.tgz"; + url = "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz"; + sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3"; + }; + } + + { + name = "source_map___source_map_0.4.4.tgz"; + path = fetchurl { + name = "source_map___source_map_0.4.4.tgz"; + url = "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz"; + sha1 = "eba4f5da9c0dc999de68032d8b4f76173652036b"; + }; + } + + { + name = "source_map___source_map_0.5.7.tgz"; + path = fetchurl { + name = "source_map___source_map_0.5.7.tgz"; + url = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz"; + sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"; + }; + } + + { + name = "source_map___source_map_0.6.1.tgz"; + path = fetchurl { + name = "source_map___source_map_0.6.1.tgz"; + url = "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz"; + sha1 = "74722af32e9614e9c287a8d0bbde48b5e2f1a263"; + }; + } + + { + name = "source_map___source_map_0.2.0.tgz"; + path = fetchurl { + name = "source_map___source_map_0.2.0.tgz"; + url = "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz"; + sha1 = "dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d"; + }; + } + + { + name = "sparkles___sparkles_1.0.1.tgz"; + path = fetchurl { + name = "sparkles___sparkles_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz"; + sha1 = "008db65edce6c50eec0c5e228e1945061dd0437c"; + }; + } + + { + name = "spdx_correct___spdx_correct_3.1.0.tgz"; + path = fetchurl { + name = "spdx_correct___spdx_correct_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz"; + sha1 = "fb83e504445268f154b074e218c87c003cd31df4"; + }; + } + + { + name = "spdx_exceptions___spdx_exceptions_2.2.0.tgz"; + path = fetchurl { + name = "spdx_exceptions___spdx_exceptions_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz"; + sha1 = "2ea450aee74f2a89bfb94519c07fcd6f41322977"; + }; + } + + { + name = "spdx_expression_parse___spdx_expression_parse_3.0.0.tgz"; + path = fetchurl { + name = "spdx_expression_parse___spdx_expression_parse_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz"; + sha1 = "99e119b7a5da00e05491c9fa338b7904823b41d0"; + }; + } + + { + name = "spdx_license_ids___spdx_license_ids_3.0.3.tgz"; + path = fetchurl { + name = "spdx_license_ids___spdx_license_ids_3.0.3.tgz"; + url = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz"; + sha1 = "81c0ce8f21474756148bbb5f3bfc0f36bf15d76e"; + }; + } + + { + name = "split_string___split_string_3.1.0.tgz"; + path = fetchurl { + name = "split_string___split_string_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz"; + sha1 = "7cb09dda3a86585705c64b39a6466038682e8fe2"; + }; + } + + { + name = "split___split_1.0.1.tgz"; + path = fetchurl { + name = "split___split_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz"; + sha1 = "605bd9be303aa59fb35f9229fbea0ddec9ea07d9"; + }; + } + + { + name = "sprintf_js___sprintf_js_1.0.3.tgz"; + path = fetchurl { + name = "sprintf_js___sprintf_js_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz"; + sha1 = "04e6926f662895354f3dd015203633b857297e2c"; + }; + } + + { + name = "sshpk___sshpk_1.16.1.tgz"; + path = fetchurl { + name = "sshpk___sshpk_1.16.1.tgz"; + url = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz"; + sha1 = "fb661c0bef29b39db40769ee39fa70093d6f6877"; + }; + } + + { + name = "static_extend___static_extend_0.1.2.tgz"; + path = fetchurl { + name = "static_extend___static_extend_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz"; + sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6"; + }; + } + + { + name = "statuses___statuses_1.5.0.tgz"; + path = fetchurl { + name = "statuses___statuses_1.5.0.tgz"; + url = "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz"; + sha1 = "161c7dac177659fd9811f43771fa99381478628c"; + }; + } + + { + name = "statuses___statuses_1.3.1.tgz"; + path = fetchurl { + name = "statuses___statuses_1.3.1.tgz"; + url = "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz"; + sha1 = "faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"; + }; + } + + { + name = "stdout_stream___stdout_stream_1.4.1.tgz"; + path = fetchurl { + name = "stdout_stream___stdout_stream_1.4.1.tgz"; + url = "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz"; + sha1 = "5ac174cdd5cd726104aa0c0b2bd83815d8d535de"; + }; + } + + { + name = "stream_combiner___stream_combiner_0.2.2.tgz"; + path = fetchurl { + name = "stream_combiner___stream_combiner_0.2.2.tgz"; + url = "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.2.2.tgz"; + sha1 = "aec8cbac177b56b6f4fa479ced8c1912cee52858"; + }; + } + + { + name = "stream_consume___stream_consume_0.1.1.tgz"; + path = fetchurl { + name = "stream_consume___stream_consume_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.1.tgz"; + sha1 = "d3bdb598c2bd0ae82b8cac7ac50b1107a7996c48"; + }; + } + + { + name = "string_width___string_width_1.0.2.tgz"; + path = fetchurl { + name = "string_width___string_width_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz"; + sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"; + }; + } + + { + name = "string_width___string_width_2.1.1.tgz"; + path = fetchurl { + name = "string_width___string_width_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz"; + sha1 = "ab93f27a8dc13d28cac815c462143a6d9012ae9e"; + }; + } + + { + name = "string_decoder___string_decoder_0.10.31.tgz"; + path = fetchurl { + name = "string_decoder___string_decoder_0.10.31.tgz"; + url = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz"; + sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94"; + }; + } + + { + name = "string_decoder___string_decoder_1.1.1.tgz"; + path = fetchurl { + name = "string_decoder___string_decoder_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz"; + sha1 = "9cf1611ba62685d7030ae9e4ba34149c3af03fc8"; + }; + } + + { + name = "strip_ansi___strip_ansi_0.3.0.tgz"; + path = fetchurl { + name = "strip_ansi___strip_ansi_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.3.0.tgz"; + sha1 = "25f48ea22ca79187f3174a4db8759347bb126220"; + }; + } + + { + name = "strip_ansi___strip_ansi_3.0.1.tgz"; + path = fetchurl { + name = "strip_ansi___strip_ansi_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz"; + sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"; + }; + } + + { + name = "strip_ansi___strip_ansi_4.0.0.tgz"; + path = fetchurl { + name = "strip_ansi___strip_ansi_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz"; + sha1 = "a8479022eb1ac368a871389b635262c505ee368f"; + }; + } + + { + name = "strip_bom___strip_bom_1.0.0.tgz"; + path = fetchurl { + name = "strip_bom___strip_bom_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz"; + sha1 = "85b8862f3844b5a6d5ec8467a93598173a36f794"; + }; + } + + { + name = "strip_bom___strip_bom_2.0.0.tgz"; + path = fetchurl { + name = "strip_bom___strip_bom_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz"; + sha1 = "6219a85616520491f35788bdbf1447a99c7e6b0e"; + }; + } + + { + name = "strip_indent___strip_indent_1.0.1.tgz"; + path = fetchurl { + name = "strip_indent___strip_indent_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz"; + sha1 = "0c7962a6adefa7bbd4ac366460a638552ae1a0a2"; + }; + } + + { + name = "strip_json_comments___strip_json_comments_2.0.1.tgz"; + path = fetchurl { + name = "strip_json_comments___strip_json_comments_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz"; + sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a"; + }; + } + + { + name = "supports_color___supports_color_0.2.0.tgz"; + path = fetchurl { + name = "supports_color___supports_color_0.2.0.tgz"; + url = "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz"; + sha1 = "d92de2694eb3f67323973d7ae3d8b55b4c22190a"; + }; + } + + { + name = "supports_color___supports_color_2.0.0.tgz"; + path = fetchurl { + name = "supports_color___supports_color_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz"; + sha1 = "535d045ce6b6363fa40117084629995e9df324c7"; + }; + } + + { + name = "supports_color___supports_color_3.2.3.tgz"; + path = fetchurl { + name = "supports_color___supports_color_3.2.3.tgz"; + url = "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz"; + sha1 = "65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"; + }; + } + + { + name = "tar___tar_2.2.1.tgz"; + path = fetchurl { + name = "tar___tar_2.2.1.tgz"; + url = "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz"; + sha1 = "8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"; + }; + } + + { + name = "tar___tar_4.4.8.tgz"; + path = fetchurl { + name = "tar___tar_4.4.8.tgz"; + url = "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz"; + sha1 = "b19eec3fde2a96e64666df9fdb40c5ca1bc3747d"; + }; + } + + { + name = "through2___through2_0.6.5.tgz"; + path = fetchurl { + name = "through2___through2_0.6.5.tgz"; + url = "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz"; + sha1 = "41ab9c67b29d57209071410e1d7a7a968cd3ad48"; + }; + } + + { + name = "through2___through2_2.0.5.tgz"; + path = fetchurl { + name = "through2___through2_2.0.5.tgz"; + url = "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz"; + sha1 = "01c1e39eb31d07cb7d03a96a70823260b23132cd"; + }; + } + + { + name = "through___through_2.3.8.tgz"; + path = fetchurl { + name = "through___through_2.3.8.tgz"; + url = "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz"; + sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"; + }; + } + + { + name = "tildify___tildify_1.2.0.tgz"; + path = fetchurl { + name = "tildify___tildify_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz"; + sha1 = "dcec03f55dca9b7aa3e5b04f21817eb56e63588a"; + }; + } + + { + name = "time_stamp___time_stamp_1.1.0.tgz"; + path = fetchurl { + name = "time_stamp___time_stamp_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz"; + sha1 = "764a5a11af50561921b133f3b44e618687e0f5c3"; + }; + } + + { + name = "tmp___tmp_0.0.33.tgz"; + path = fetchurl { + name = "tmp___tmp_0.0.33.tgz"; + url = "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz"; + sha1 = "6d34335889768d21b2bcda0aa277ced3b1bfadf9"; + }; + } + + { + name = "to_array___to_array_0.1.4.tgz"; + path = fetchurl { + name = "to_array___to_array_0.1.4.tgz"; + url = "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz"; + sha1 = "17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890"; + }; + } + + { + name = "to_object_path___to_object_path_0.3.0.tgz"; + path = fetchurl { + name = "to_object_path___to_object_path_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz"; + sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af"; + }; + } + + { + name = "to_regex_range___to_regex_range_2.1.1.tgz"; + path = fetchurl { + name = "to_regex_range___to_regex_range_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz"; + sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38"; + }; + } + + { + name = "to_regex___to_regex_3.0.2.tgz"; + path = fetchurl { + name = "to_regex___to_regex_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz"; + sha1 = "13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"; + }; + } + + { + name = "tough_cookie___tough_cookie_2.4.3.tgz"; + path = fetchurl { + name = "tough_cookie___tough_cookie_2.4.3.tgz"; + url = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz"; + sha1 = "53f36da3f47783b0925afa06ff9f3b165280f781"; + }; + } + + { + name = "trim_newlines___trim_newlines_1.0.0.tgz"; + path = fetchurl { + name = "trim_newlines___trim_newlines_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz"; + sha1 = "5887966bb582a4503a41eb524f7d35011815a613"; + }; + } + + { + name = "true_case_path___true_case_path_1.0.3.tgz"; + path = fetchurl { + name = "true_case_path___true_case_path_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz"; + sha1 = "f813b5a8c86b40da59606722b144e3225799f47d"; + }; + } + + { + name = "tunnel_agent___tunnel_agent_0.6.0.tgz"; + path = fetchurl { + name = "tunnel_agent___tunnel_agent_0.6.0.tgz"; + url = "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz"; + sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd"; + }; + } + + { + name = "tweetnacl___tweetnacl_0.14.5.tgz"; + path = fetchurl { + name = "tweetnacl___tweetnacl_0.14.5.tgz"; + url = "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz"; + sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64"; + }; + } + + { + name = "type_check___type_check_0.3.2.tgz"; + path = fetchurl { + name = "type_check___type_check_0.3.2.tgz"; + url = "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz"; + sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72"; + }; + } + + { + name = "type_is___type_is_1.6.16.tgz"; + path = fetchurl { + name = "type_is___type_is_1.6.16.tgz"; + url = "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz"; + sha1 = "f89ce341541c672b25ee7ae3c73dee3b2be50194"; + }; + } + + { + name = "uglify_js___uglify_js_3.4.9.tgz"; + path = fetchurl { + name = "uglify_js___uglify_js_3.4.9.tgz"; + url = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.9.tgz"; + sha1 = "af02f180c1207d76432e473ed24a28f4a782bae3"; + }; + } + + { + name = "ultron___ultron_1.0.2.tgz"; + path = fetchurl { + name = "ultron___ultron_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz"; + sha1 = "ace116ab557cd197386a4e88f4685378c8b2e4fa"; + }; + } + + { + name = "unc_path_regex___unc_path_regex_0.1.2.tgz"; + path = fetchurl { + name = "unc_path_regex___unc_path_regex_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz"; + sha1 = "e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa"; + }; + } + + { + name = "union_value___union_value_1.0.0.tgz"; + path = fetchurl { + name = "union_value___union_value_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz"; + sha1 = "5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4"; + }; + } + + { + name = "unique_stream___unique_stream_1.0.0.tgz"; + path = fetchurl { + name = "unique_stream___unique_stream_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz"; + sha1 = "d59a4a75427447d9aa6c91e70263f8d26a4b104b"; + }; + } + + { + name = "unpipe___unpipe_1.0.0.tgz"; + path = fetchurl { + name = "unpipe___unpipe_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz"; + sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec"; + }; + } + + { + name = "unset_value___unset_value_1.0.0.tgz"; + path = fetchurl { + name = "unset_value___unset_value_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz"; + sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"; + }; + } + + { + name = "uri_js___uri_js_4.2.2.tgz"; + path = fetchurl { + name = "uri_js___uri_js_4.2.2.tgz"; + url = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz"; + sha1 = "94c540e1ff772956e2299507c010aea6c8838eb0"; + }; + } + + { + name = "urix___urix_0.1.0.tgz"; + path = fetchurl { + name = "urix___urix_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz"; + sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72"; + }; + } + + { + name = "use___use_3.1.1.tgz"; + path = fetchurl { + name = "use___use_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz"; + sha1 = "d50c8cac79a19fbc20f2911f56eb973f4e10070f"; + }; + } + + { + name = "user_home___user_home_1.1.1.tgz"; + path = fetchurl { + name = "user_home___user_home_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz"; + sha1 = "2b5be23a32b63a7c9deb8d0f28d485724a3df190"; + }; + } + + { + name = "useragent___useragent_2.3.0.tgz"; + path = fetchurl { + name = "useragent___useragent_2.3.0.tgz"; + url = "https://registry.yarnpkg.com/useragent/-/useragent-2.3.0.tgz"; + sha1 = "217f943ad540cb2128658ab23fc960f6a88c9972"; + }; + } + + { + name = "util_deprecate___util_deprecate_1.0.2.tgz"; + path = fetchurl { + name = "util_deprecate___util_deprecate_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz"; + sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf"; + }; + } + + { + name = "utils_merge___utils_merge_1.0.1.tgz"; + path = fetchurl { + name = "utils_merge___utils_merge_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz"; + sha1 = "9f95710f50a267947b2ccc124741c1028427e713"; + }; + } + + { + name = "uuid___uuid_3.3.2.tgz"; + path = fetchurl { + name = "uuid___uuid_3.3.2.tgz"; + url = "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz"; + sha1 = "1b4af4955eb3077c501c23872fc6513811587131"; + }; + } + + { + name = "v8flags___v8flags_2.1.1.tgz"; + path = fetchurl { + name = "v8flags___v8flags_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz"; + sha1 = "aab1a1fa30d45f88dd321148875ac02c0b55e5b4"; + }; + } + + { + name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz"; + path = fetchurl { + name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz"; + url = "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz"; + sha1 = "fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"; + }; + } + + { + name = "verror___verror_1.10.0.tgz"; + path = fetchurl { + name = "verror___verror_1.10.0.tgz"; + url = "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz"; + sha1 = "3a105ca17053af55d6e270c1f8288682e18da400"; + }; + } + + { + name = "vinyl_fs___vinyl_fs_0.3.14.tgz"; + path = fetchurl { + name = "vinyl_fs___vinyl_fs_0.3.14.tgz"; + url = "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz"; + sha1 = "9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6"; + }; + } + + { + name = "vinyl_sourcemaps_apply___vinyl_sourcemaps_apply_0.2.1.tgz"; + path = fetchurl { + name = "vinyl_sourcemaps_apply___vinyl_sourcemaps_apply_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz"; + sha1 = "ab6549d61d172c2b1b87be5c508d239c8ef87705"; + }; + } + + { + name = "vinyl___vinyl_0.4.6.tgz"; + path = fetchurl { + name = "vinyl___vinyl_0.4.6.tgz"; + url = "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz"; + sha1 = "2f356c87a550a255461f36bbeb2a5ba8bf784847"; + }; + } + + { + name = "vinyl___vinyl_0.5.3.tgz"; + path = fetchurl { + name = "vinyl___vinyl_0.5.3.tgz"; + url = "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz"; + sha1 = "b0455b38fc5e0cf30d4325132e461970c2091cde"; + }; + } + + { + name = "void_elements___void_elements_2.0.1.tgz"; + path = fetchurl { + name = "void_elements___void_elements_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz"; + sha1 = "c066afb582bb1cb4128d60ea92392e94d5e9dbec"; + }; + } + + { + name = "websocket_driver___websocket_driver_0.7.0.tgz"; + path = fetchurl { + name = "websocket_driver___websocket_driver_0.7.0.tgz"; + url = "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz"; + sha1 = "0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb"; + }; + } + + { + name = "websocket_extensions___websocket_extensions_0.1.3.tgz"; + path = fetchurl { + name = "websocket_extensions___websocket_extensions_0.1.3.tgz"; + url = "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz"; + sha1 = "5d2ff22977003ec687a4b87073dfbbac146ccf29"; + }; + } + + { + name = "which_module___which_module_1.0.0.tgz"; + path = fetchurl { + name = "which_module___which_module_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz"; + sha1 = "bba63ca861948994ff307736089e3b96026c2a4f"; + }; + } + + { + name = "which___which_1.3.1.tgz"; + path = fetchurl { + name = "which___which_1.3.1.tgz"; + url = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz"; + sha1 = "a45043d54f5805316da8d62f9f50918d3da70b0a"; + }; + } + + { + name = "wide_align___wide_align_1.1.3.tgz"; + path = fetchurl { + name = "wide_align___wide_align_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz"; + sha1 = "ae074e6bdc0c14a431e804e624549c633b000457"; + }; + } + + { + name = "wordwrap___wordwrap_1.0.0.tgz"; + path = fetchurl { + name = "wordwrap___wordwrap_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz"; + sha1 = "27584810891456a4171c8d0226441ade90cbcaeb"; + }; + } + + { + name = "wordwrap___wordwrap_0.0.3.tgz"; + path = fetchurl { + name = "wordwrap___wordwrap_0.0.3.tgz"; + url = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz"; + sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107"; + }; + } + + { + name = "wrap_ansi___wrap_ansi_2.1.0.tgz"; + path = fetchurl { + name = "wrap_ansi___wrap_ansi_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz"; + sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85"; + }; + } + + { + name = "wrappy___wrappy_1.0.2.tgz"; + path = fetchurl { + name = "wrappy___wrappy_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz"; + sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"; + }; + } + + { + name = "ws___ws_1.1.5.tgz"; + path = fetchurl { + name = "ws___ws_1.1.5.tgz"; + url = "https://registry.yarnpkg.com/ws/-/ws-1.1.5.tgz"; + sha1 = "cbd9e6e75e09fc5d2c90015f21f0c40875e0dd51"; + }; + } + + { + name = "wtf_8___wtf_8_1.0.0.tgz"; + path = fetchurl { + name = "wtf_8___wtf_8_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz"; + sha1 = "392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a"; + }; + } + + { + name = "xmlhttprequest_ssl___xmlhttprequest_ssl_1.5.3.tgz"; + path = fetchurl { + name = "xmlhttprequest_ssl___xmlhttprequest_ssl_1.5.3.tgz"; + url = "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz"; + sha1 = "185a888c04eca46c3e4070d99f7b49de3528992d"; + }; + } + + { + name = "xtend___xtend_4.0.1.tgz"; + path = fetchurl { + name = "xtend___xtend_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz"; + sha1 = "a5c6d532be656e23db820efb943a1f04998d63af"; + }; + } + + { + name = "y18n___y18n_3.2.1.tgz"; + path = fetchurl { + name = "y18n___y18n_3.2.1.tgz"; + url = "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz"; + sha1 = "6d15fba884c08679c0d77e88e7759e811e07fa41"; + }; + } + + { + name = "yallist___yallist_2.1.2.tgz"; + path = fetchurl { + name = "yallist___yallist_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz"; + sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52"; + }; + } + + { + name = "yallist___yallist_3.0.3.tgz"; + path = fetchurl { + name = "yallist___yallist_3.0.3.tgz"; + url = "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz"; + sha1 = "b4b049e314be545e3ce802236d6cd22cd91c3de9"; + }; + } + + { + name = "yargs_parser___yargs_parser_5.0.0.tgz"; + path = fetchurl { + name = "yargs_parser___yargs_parser_5.0.0.tgz"; + url = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz"; + sha1 = "275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a"; + }; + } + + { + name = "yargs___yargs_7.1.0.tgz"; + path = fetchurl { + name = "yargs___yargs_7.1.0.tgz"; + url = "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz"; + sha1 = "6ba318eb16961727f5d284f8ea003e8d6154d0c8"; + }; + } + + { + name = "yeast___yeast_0.1.2.tgz"; + path = fetchurl { + name = "yeast___yeast_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz"; + sha1 = "008e06d8094320c372dbc2f8ed76a0ca6c8ac419"; + }; + } + ]; +} diff --git a/pkgs/python-packages/buildbot/plugins/default.nix b/pkgs/python-packages/buildbot/plugins/default.nix new file mode 100644 index 00000000..4952819a --- /dev/null +++ b/pkgs/python-packages/buildbot/plugins/default.nix @@ -0,0 +1,7 @@ +{ mylibs, callPackage, python }: +{ + buildslist = callPackage ./buildslist { + inherit mylibs; + pythonPackages = python.pkgs; + }; +} diff --git a/pkgs/python-packages/default.nix b/pkgs/python-packages/default.nix new file mode 100644 index 00000000..747bbe62 --- /dev/null +++ b/pkgs/python-packages/default.nix @@ -0,0 +1,6 @@ +{ mylibs, callPackage, python }: +{ + apprise = callPackage ./apprise { inherit mylibs; pythonPackages = python.pkgs; }; + buildbot-plugins = callPackage ./buildbot/plugins { inherit mylibs python; }; + wokkel = callPackage ./wokkel.nix { pythonPackages = python.pkgs; }; +} diff --git a/pkgs/python-packages/wokkel.nix b/pkgs/python-packages/wokkel.nix new file mode 100644 index 00000000..b34caecd --- /dev/null +++ b/pkgs/python-packages/wokkel.nix @@ -0,0 +1,11 @@ +{ pythonPackages }: with pythonPackages; +buildPythonPackage rec { + pname = "wokkel"; + version = "18.0.0"; + src = fetchPypi { + inherit pname version; + sha256 = "1spq44gg8gsviqx1dvlmjpgfc0wk0jpyx4ap01y2pad1ai9cw016"; + }; + propagatedBuildInputs = [ twisted.extras.tls twisted incremental dateutil ]; + doChecks = false; +} diff --git a/pkgs/slang_1/default.nix b/pkgs/slang_1/default.nix new file mode 100644 index 00000000..3054b1d3 --- /dev/null +++ b/pkgs/slang_1/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchpatch, fetchurl }: +stdenv.mkDerivation rec { + name = "slang-debian-patched-${version}"; + version = "1.4.9"; + src = fetchurl { + url = "ftp://space.mit.edu/pub/davis/slang/v1.4/slang-1.4.9.tar.gz"; + sha256 = "1y2mg0whqh4b3acd0k17i4biz55bimxg8aaxhmwd165cvspxns9r"; + }; + patches = [ + (fetchpatch { + name = "slang_1.4.9dbs-8.diff.gz"; + url = "http://archive.debian.org/debian-archive/debian-amd64/pool/main/s/slang/slang_1.4.9dbs-8.diff.gz"; + sha256 = "0xdq14k5ynqfwpmis1rcggs7m4n921i3bs27icbmbhfg5gb2hap2"; + }) + ]; + preConfigure = '' + for i in debian/patches/*; do + patch -p1 < $i + done + makeFlagsArray=(CFLAGS=" -g -O2 -fno-strength-reduce -DUTF8 -D_REENTRANT -D_XOPEN_SOURCE=500") + ''; + postBuild = '' + sed -i "1i#ifndef UTF8\n#define UTF8\n#endif" src/slang.h + ''; +} diff --git a/pkgs/telegram-cli/default.nix b/pkgs/telegram-cli/default.nix new file mode 100644 index 00000000..6987748d --- /dev/null +++ b/pkgs/telegram-cli/default.nix @@ -0,0 +1,16 @@ +{ stdenv, mylibs, pkgconfig, libevent, lua, jansson, openssl, readline, zlib, libconfig }: +stdenv.mkDerivation (mylibs.fetchedGithub ./telegram-cli.json // { + patches = [ + ./telegram-cli.patch + ]; + buildInputs = [ pkgconfig libevent lua jansson openssl readline zlib libconfig ]; + preBuild = '' + sed -i -e 's@"/etc/" PROG_NAME "/server.pub"@"'$out'/etc/server.pub"@' main.c + ''; + installPhase = '' + mkdir -p $out + install -Dm755 bin/telegram-cli $out/bin/telegram-cli + install -Dm644 tg-server.pub $out/etc/server.pub + install -Dm644 debian/telegram-cli.8 $out/man/man8/telegram-cli.8 + ''; +}) diff --git a/pkgs/telegram-cli/telegram-cli.json b/pkgs/telegram-cli/telegram-cli.json new file mode 100644 index 00000000..53e0a7b2 --- /dev/null +++ b/pkgs/telegram-cli/telegram-cli.json @@ -0,0 +1,15 @@ +{ + "tag": "6547c0b-master", + "meta": { + "name": "telegram-cli", + "url": "https://github.com/vysheng/tg", + "branch": "master" + }, + "github": { + "owner": "vysheng", + "repo": "tg", + "rev": "6547c0b21b977b327b3c5e8142963f4bc246187a", + "sha256": "07sss5cnw2ygd7mp8f5532lmj7qm6ywqf4cjaq5g13i8igzqzwzj", + "fetchSubmodules": true + } +} diff --git a/pkgs/telegram-cli/telegram-cli.patch b/pkgs/telegram-cli/telegram-cli.patch new file mode 100644 index 00000000..2d2b7b04 --- /dev/null +++ b/pkgs/telegram-cli/telegram-cli.patch @@ -0,0 +1,90 @@ +diff --git a/tgl/crypto/rsa_pem_openssl.c b/tgl/crypto/rsa_pem_openssl.c +index db653f2..5e6a697 100644 +--- a/tgl/crypto/rsa_pem_openssl.c ++++ b/tgl/crypto/rsa_pem_openssl.c +@@ -36,6 +36,12 @@ TGLC_WRAPPER_ASSOC(rsa,RSA) + // TODO: Refactor crucial struct-identity into its own header. + TGLC_WRAPPER_ASSOC(bn,BIGNUM) + ++/* ++ * Since OpenSSL version 1.1.0 the RSA struct (rsa_st) is opaque, ++ * see also https://wiki.openssl.org/index.php/OpenSSL_1.1.0_Changes ++ */ ++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) ++ + TGLC_rsa *TGLC_rsa_new (unsigned long e, int n_bytes, const unsigned char *n) { + RSA *ret = RSA_new (); + ret->e = unwrap_bn (TGLC_bn_new ()); +@@ -47,7 +53,30 @@ TGLC_rsa *TGLC_rsa_new (unsigned long e, int n_bytes, const unsigned char *n) { + #define RSA_GETTER(M) \ + TGLC_bn *TGLC_rsa_ ## M (TGLC_rsa *key) { \ + return wrap_bn (unwrap_rsa (key)->M); \ +- } \ ++ } ++ ++#else // OPENSSL_VERSION_NUMBER ++ ++TGLC_rsa *TGLC_rsa_new (unsigned long e, int n_bytes, const unsigned char *n) { ++ RSA *ret = RSA_new (); ++ BIGNUM *ret_e = unwrap_bn (TGLC_bn_new ()); ++ BIGNUM *ret_n = unwrap_bn (TGLC_bn_bin2bn (n, n_bytes, NULL)); ++ RSA_set0_key (ret, ret_n, ret_e, NULL); ++ TGLC_bn_set_word (wrap_bn (ret_e), e); ++ return wrap_rsa (ret); ++} ++ ++#define RSA_GETTER(M) \ ++TGLC_bn *TGLC_rsa_ ## M (TGLC_rsa *key) { \ ++ BIGNUM *rsa_n, *rsa_e, *rsa_d; \ ++ RSA_get0_key(unwrap_rsa (key), \ ++ (const BIGNUM **) &rsa_n, \ ++ (const BIGNUM **) &rsa_e, \ ++ (const BIGNUM **) &rsa_d); \ ++ return wrap_bn (rsa_ ## M); \ ++} ++ ++#endif // OPENSSL_VERSION_NUMBER + + RSA_GETTER(n); + RSA_GETTER(e); +@@ -60,4 +89,4 @@ TGLC_rsa *TGLC_pem_read_RSAPublicKey (FILE *fp) { + return wrap_rsa (PEM_read_RSAPublicKey (fp, NULL, NULL, NULL)); + } + +-#endif ++#endif // TGL_AVOID_OPENSSL +diff --git a/tgl/mtproto-utils.c b/tgl/mtproto-utils.c +index 0948bc8..cfdb216 100644 +--- a/tgl/mtproto-utils.c ++++ b/tgl/mtproto-utils.c +@@ -98,7 +98,7 @@ static unsigned long long BN2ull (TGLC_bn *b) { + if (sizeof (unsigned long) == 8) { + return TGLC_bn_get_word (b); + } else if (sizeof (unsigned long long) == 8) { +- assert (0); // As long as nobody ever uses this code, assume it is broken. ++// assert (0); // As long as nobody ever uses this code, assume it is broken. + unsigned long long tmp; + /* Here be dragons, but it should be okay due to be64toh */ + TGLC_bn_bn2bin (b, (unsigned char *) &tmp); +@@ -112,7 +112,7 @@ static void ull2BN (TGLC_bn *b, unsigned long long val) { + if (sizeof (unsigned long) == 8 || val < (1ll << 32)) { + TGLC_bn_set_word (b, val); + } else if (sizeof (unsigned long long) == 8) { +- assert (0); // As long as nobody ever uses this code, assume it is broken. ++// assert (0); // As long as nobody ever uses this code, assume it is broken. + htobe64(val); + /* Here be dragons, but it should be okay due to htobe64 */ + TGLC_bn_bin2bn ((unsigned char *) &val, 8, b); +diff --git a/tgl/tl-parser/tl-parser.c b/tgl/tl-parser/tl-parser.c +index 524b196..aeadbd2 100644 +--- a/tgl/tl-parser/tl-parser.c ++++ b/tgl/tl-parser/tl-parser.c +@@ -1903,7 +1903,7 @@ struct tl_combinator_tree *tl_parse_args134 (struct tree *T) { + //assert (S->data); + char *name = S->data; + if (!name) { +- static char s[20]; ++ static char s[21]; + sprintf (s, "%lld", lrand48 () * (1ll << 32) + lrand48 ()); + name = s; + } diff --git a/pkgs/telegram-history-dump/default.nix b/pkgs/telegram-history-dump/default.nix new file mode 100644 index 00000000..050b3511 --- /dev/null +++ b/pkgs/telegram-history-dump/default.nix @@ -0,0 +1,9 @@ +{ stdenv, ruby, mylibs }: +stdenv.mkDerivation (mylibs.fetchedGithub ./telegram-history-dump.json // { + installPhase = '' + mkdir -p $out/lib $out/bin + cp -a $src $out/lib/telegram-history-dump + ln -s $out/lib/telegram-history-dump/telegram-history-dump.rb $out/bin/telegram-history-dump + ''; + buildInputs = [ ruby ]; +}) diff --git a/pkgs/telegram-history-dump/telegram-history-dump.json b/pkgs/telegram-history-dump/telegram-history-dump.json new file mode 100644 index 00000000..487df731 --- /dev/null +++ b/pkgs/telegram-history-dump/telegram-history-dump.json @@ -0,0 +1,15 @@ +{ + "tag": "468ea91-master", + "meta": { + "name": "telegram-history-dump", + "url": "https://github.com/tvdstaaij/telegram-history-dump", + "branch": "master" + }, + "github": { + "owner": "tvdstaaij", + "repo": "telegram-history-dump", + "rev": "468ea91e543529b54bc2c5ea28b1ea17f362fd3e", + "sha256": "1wmwiqacfa56bmwx50njnb15cg0fy6rbdrmrjd4xfbh8bs6yp0gh", + "fetchSubmodules": true + } +} diff --git a/pkgs/telegramircd/default.nix b/pkgs/telegramircd/default.nix new file mode 100644 index 00000000..2f1d7ca5 --- /dev/null +++ b/pkgs/telegramircd/default.nix @@ -0,0 +1,16 @@ +{ openssl, telethon, python3Packages, mylibs }: +with python3Packages; +buildPythonApplication rec { + format = "other"; + pname = "telegramircd"; + version = "master"; + propagatedBuildInputs = [ telethon aiohttp ConfigArgParse openssl ]; + src = (mylibs.fetchedGithub ./telegramircd.json).src; + LD_LIBRARY_PATH = "${openssl.out}/lib"; + installPhase = '' + install -D $src/telegramircd.py $out/bin/telegramircd + wrapProgram "$out/bin/telegramircd" \ + --prefix LD_LIBRARY_PATH : "${openssl.out}/lib" + install -Dm644 "$src/config" -t "$out/etc/telegramircd/" + ''; +} diff --git a/pkgs/telegramircd/telegramircd.json b/pkgs/telegramircd/telegramircd.json new file mode 100644 index 00000000..3d219f81 --- /dev/null +++ b/pkgs/telegramircd/telegramircd.json @@ -0,0 +1,15 @@ +{ + "tag": "40a0c7c-master", + "meta": { + "name": "telegramircd", + "url": "https://github.com/MaskRay/telegramircd", + "branch": "master" + }, + "github": { + "owner": "MaskRay", + "repo": "telegramircd", + "rev": "40a0c7cf60492bde3f44d43f06f62e3792480139", + "sha256": "123fjhgxq2fzn0ar8274jv7jjbxnlpidrj5333kbch7rpcipks0y", + "fetchSubmodules": true + } +} diff --git a/pkgs/telethon_sync/default.nix b/pkgs/telethon_sync/default.nix new file mode 100644 index 00000000..aa58d5be --- /dev/null +++ b/pkgs/telethon_sync/default.nix @@ -0,0 +1,23 @@ +{ lib, python3Packages }: +with python3Packages; +buildPythonPackage rec { + pname = "Telethon-sync"; + version = "1.1.1"; + + src = fetchPypi { + inherit pname version; + sha256 = + "01z8fzqn0qs5pxhvzq891r3mwffq1ga3f8xvm7qdn6kvmxjni9fy"; + }; + + propagatedBuildInputs = [ + rsa pyaes async_generator + ]; + doCheck = false; + + meta = with lib; { + homepage = https://github.com/LonamiWebs/Telethon; + description = "Full-featured Telegram client library for Python 3"; + license = licenses.mit; + }; +} diff --git a/pkgs/terminal-velocity/default.nix b/pkgs/terminal-velocity/default.nix new file mode 100644 index 00000000..9e79deea --- /dev/null +++ b/pkgs/terminal-velocity/default.nix @@ -0,0 +1,33 @@ +{ python36Packages }: +with python36Packages; +buildPythonApplication rec { + pname = "terminal-velocity-git"; + version = "0.2.0"; + src = fetchPypi { + inherit pname version; + sha256 = "13yrkcmvh5h5fwnai61sbmqkrjyisz08n62pq0ada2lyyqf7g6b9"; + }; + + patches = [ + ./sort_found_notes.patch + ./python3_support.patch + # FIXME: update this patch when version changes + ./fix_build.patch + ]; + + propagatedBuildInputs = [ + chardet + urwid + (sh.overridePythonAttrs { doCheck = false; }) + pyyaml + ]; + buildInputs = [ + m2r + (restructuredtext_lint.overridePythonAttrs { doCheck = false; }) + pygments + ]; + + postInstall = '' + rm $out/bin/terminal_velocity + ''; +} diff --git a/pkgs/terminal-velocity/fix_build.patch b/pkgs/terminal-velocity/fix_build.patch new file mode 100644 index 00000000..b08e0c43 --- /dev/null +++ b/pkgs/terminal-velocity/fix_build.patch @@ -0,0 +1,21 @@ +commit a64bf3d58f6ba7f5fa72fe5b89a3973cac0c1a99 +Author: Ismaël Bouya +Date: Sat Mar 9 20:13:52 2019 +0100 + + Remove mister_bump dependency + +diff --git a/setup.py b/setup.py +index 84a99e9..a783dff 100644 +--- a/setup.py ++++ b/setup.py +@@ -1,7 +1,9 @@ + from setuptools import setup + from m2r import parse_from_file + import restructuredtext_lint +-from mister_bump import bump ++ ++def bump(): ++ return "0.2.0" + + # Parser README.md into reStructuredText format + rst_readme = parse_from_file('README.md') diff --git a/pkgs/terminal-velocity/python3_support.patch b/pkgs/terminal-velocity/python3_support.patch new file mode 100644 index 00000000..bd4aec7b --- /dev/null +++ b/pkgs/terminal-velocity/python3_support.patch @@ -0,0 +1,215 @@ +commit 6ca19964b9e8a7866fd7e21a3dac9ccd35f0d434 +Author: Ismaël Bouya +Date: Sat Mar 9 20:13:18 2019 +0100 + + Add python3 support + +diff --git a/terminal_velocity/notebook.py b/terminal_velocity/notebook.py +index b6226dc..11f76de 100644 +--- a/terminal_velocity/notebook.py ++++ b/terminal_velocity/notebook.py +@@ -60,51 +60,6 @@ import sys + import chardet + + +-def unicode_or_bust(raw_text): +- """Return the given raw text data decoded to unicode. +- +- If the text cannot be decoded, return None. +- +- """ +- encodings = ["utf-8"] +- for encoding in (sys.getfilesystemencoding(), sys.getdefaultencoding()): +- # I would use a set for this, but they don't maintain order. +- if encoding not in encodings: +- encodings.append(encoding) +- +- for encoding in encodings: +- if encoding: # getfilesystemencoding() may return None +- try: +- decoded = unicode(raw_text, encoding=encoding) +- return decoded +- except UnicodeDecodeError: +- pass +- +- # If none of those guesses worked, let chardet have a go. +- encoding = chardet.detect(raw_text)["encoding"] +- if encoding and encoding not in encodings: +- try: +- decoded = unicode(raw_text, encoding=encoding) +- logger.debug("File decoded with chardet, encoding was {0}".format( +- encoding)) +- return decoded +- except UnicodeDecodeError: +- pass +- except LookupError: +- pass +- +- # I've heard that decoding with cp1252 never fails, so try that last. +- try: +- decoded = unicode(raw_text, encoding="cp1252") +- logger.debug("File decoded with encoding cp1252") +- return decoded +- except UnicodeDecodeError: +- pass +- +- # If nothing worked then give up. +- return None +- +- + class Error(Exception): + """Base class for exceptions in this module.""" + pass +@@ -192,12 +147,12 @@ class PlainTextNote(object): + # subdirs) if they don't exist. + directory = os.path.split(self.abspath)[0] + if not os.path.isdir(directory): +- logger.debug(u"'{0} doesn't exist, creating it".format(directory)) ++ logger.debug("'{0} doesn't exist, creating it".format(directory)) + try: + os.makedirs(directory) + except os.error as e: + raise NewNoteError( +- u"{0} could not be created: {1}".format(directory, e)) ++ "{0} could not be created: {1}".format(directory, e)) + + # Create an empty file if the file doesn't exist. + open(self.abspath, 'a') +@@ -217,11 +172,11 @@ class PlainTextNote(object): + + @property + def contents(self): +- contents = unicode_or_bust(open(self.abspath, "r").read()) ++ contents = open(self.abspath, "rb").read().decode(errors='ignore') + if contents is None: + logger.error( +- u"Could not decode file contents: {0}".format(self.abspath)) +- return u"" ++ "Could not decode file contents: {0}".format(self.abspath)) ++ return "" + else: + return contents + +@@ -322,12 +277,12 @@ class PlainTextNoteBook(object): + + # Create notebook_dir if it doesn't exist. + if not os.path.isdir(self.path): +- logger.debug(u"'{0} doesn't exist, creating it".format(self.path)) ++ logger.debug("'{0} doesn't exist, creating it".format(self.path)) + try: + os.makedirs(self.path) + except os.error as e: + raise NewNoteBookError( +- u"{0} could not be created: {1}".format(self.path, e)) ++ "{0} could not be created: {1}".format(self.path, e)) + else: + # TODO: Check that self.path is a directory, if not raise. + pass +@@ -358,13 +313,12 @@ class PlainTextNoteBook(object): + abspath = os.path.join(root, filename) + relpath = os.path.relpath(abspath, self.path) + relpath, ext = os.path.splitext(relpath) +- unicode_relpath = unicode_or_bust(relpath) + if relpath is None: + # The filename could not be decoded. + logger.error( + "Could not decode filename: {0}".format(relpath)) + else: +- self.add_new(title=unicode_relpath, extension=ext) ++ self.add_new(title=relpath, extension=ext) + + @property + def path(self): +@@ -418,7 +372,7 @@ class PlainTextNoteBook(object): + for note in self._notes: + if note.title == title and note.extension == extension: + raise NoteAlreadyExistsError( +- u"Note already in NoteBook: {0}".format(note.title)) ++ "Note already in NoteBook: {0}".format(note.title)) + + # Ok, add the note. + note = PlainTextNote(title, self, extension) +diff --git a/terminal_velocity/terminal_velocity.py b/terminal_velocity/terminal_velocity.py +index 5f0e213..9234bea 100755 +--- a/terminal_velocity/terminal_velocity.py ++++ b/terminal_velocity/terminal_velocity.py +@@ -1,7 +1,7 @@ +-#!/usr/bin/env python2 ++#!/usr/bin/env python3 + """A fast note-taking app for the UNIX terminal""" + from __future__ import print_function +-import ConfigParser ++import configparser + import argparse + import os + import logging +@@ -9,9 +9,9 @@ import logging.handlers + import sys + + #import terminal_velocity.urwid_ui as urwid_ui +-import urwid_ui ++from . import urwid_ui + +-from git import get_git_project_config, git_project_is_configured, fetch_changes, push_changes ++from .git import get_git_project_config, git_project_is_configured, fetch_changes, push_changes + + + def startup(): +@@ -37,7 +37,7 @@ def main(): + + # Parse the config file. + config_file = os.path.abspath(os.path.expanduser(args.config)) +- config = ConfigParser.SafeConfigParser() ++ config = configparser.ConfigParser() + config.read(config_file) + defaults = dict(config.items('DEFAULT')) + +diff --git a/terminal_velocity/urwid_ui.py b/terminal_velocity/urwid_ui.py +index caebcb9..89bab35 100644 +--- a/terminal_velocity/urwid_ui.py ++++ b/terminal_velocity/urwid_ui.py +@@ -10,7 +10,7 @@ import logging + logger = logging.getLogger(__name__) + + import urwid +-import notebook ++from . import notebook + + + palette = [ +@@ -27,8 +27,6 @@ def system(cmd, loop): + + loop.screen.stop() + +- cmd = u"{0}".format(cmd) +- cmd = cmd.encode("utf-8") # FIXME: Correct encoding? + safe_cmd = shlex.split(cmd) + + logger.debug("System command: {0}".format(safe_cmd)) +@@ -114,7 +112,7 @@ class AutocompleteWidget(urwid.Edit): + + # When search bar is empty show placeholder text. + if not self.edit_text and not self.autocomplete_text: +- placeholder_text = u"Find or Create" ++ placeholder_text = "Find or Create" + return (placeholder_text, + [("placeholder", len(placeholder_text))]) + +@@ -186,7 +184,7 @@ class NoteFilterListBox(urwid.ListBox): + + def render(self, size, focus=False): + if len(self.list_walker) == 0: +- placeholder = placeholder_text(u"No matching notes, press Enter " ++ placeholder = placeholder_text("No matching notes, press Enter " + "to create a new note") + return placeholder.render(size) + return super(NoteFilterListBox, self).render(size, self.fake_focus) +@@ -399,7 +397,7 @@ class MainFrame(urwid.Frame): + # If the user has no notes yet show some placeholder text, otherwise + # show the note list. + if len(self.notebook) == 0: +- self.body = placeholder_text(u"You have no notes yet, to create " ++ self.body = placeholder_text("You have no notes yet, to create " + "a note type a note title then press Enter") + else: + self.body = urwid.Padding(self.list_box, left=1, right=1) diff --git a/pkgs/terminal-velocity/sort_found_notes.patch b/pkgs/terminal-velocity/sort_found_notes.patch new file mode 100644 index 00000000..2bc563c6 --- /dev/null +++ b/pkgs/terminal-velocity/sort_found_notes.patch @@ -0,0 +1,73 @@ +commit 0f9df37046e58c8963aff93c649e5d3dbf2202bd +Author: Ismaël Bouya +Date: Sat Mar 9 20:11:46 2019 +0100 + + Add sorting option + +diff --git a/terminal_velocity/terminal_velocity.py b/terminal_velocity/terminal_velocity.py +index a53eda3..5f0e213 100755 +--- a/terminal_velocity/terminal_velocity.py ++++ b/terminal_velocity/terminal_velocity.py +@@ -90,6 +90,10 @@ the default default will be used""" + default=defaults.get("log_file", "~/.tvlog"), + help="the file to log to (default: %(default)s)") + ++ parser.add_argument("-s", "--sort", dest="sort", action="store", ++ default=defaults.get("sort", "date"), ++ help="the note sorting rules. Possible values: date, title (default: %(default)s)") ++ + parser.add_argument("-p", "--print-config", dest="print_config", + action="store_true", default=False, + help="print your configuration settings then exit") +@@ -138,7 +142,7 @@ the default default will be used""" + try: + urwid_ui.launch(notes_dir=args.notes_dir, editor=args.editor, + extension=args.extension, extensions=args.extensions, +- exclude=args.exclude) ++ exclude=args.exclude, sort=args.sort) + except KeyboardInterrupt: + # Run the shutdown hook + shutdown() +diff --git a/terminal_velocity/urwid_ui.py b/terminal_velocity/urwid_ui.py +index 34cf4f6..caebcb9 100644 +--- a/terminal_velocity/urwid_ui.py ++++ b/terminal_velocity/urwid_ui.py +@@ -237,11 +237,12 @@ class NoteFilterListBox(urwid.ListBox): + class MainFrame(urwid.Frame): + """The topmost urwid widget.""" + +- def __init__(self, notes_dir, editor, extension, extensions, exclude=None): ++ def __init__(self, notes_dir, editor, extension, extensions, exclude=None, sort="date"): + + self.editor = editor + self.notebook = notebook.PlainTextNoteBook(notes_dir, extension, + extensions, exclude=exclude) ++ self.sort = sort + + # Don't filter the note list when the text in the search box changes. + self.suppress_filter = False +@@ -408,7 +409,10 @@ class MainFrame(urwid.Frame): + + # Sort the notes. + # TODO: Support different sort orderings. +- matching_notes.sort(key=lambda x: x.mtime, reverse=True) ++ if self.sort == "title": ++ matching_notes.sort(key=lambda x: x.title) ++ else: ++ matching_notes.sort(key=lambda x: x.mtime, reverse=True) + + # Tell the list box to show only the matching notes. + self.list_box.filter(matching_notes) +@@ -433,10 +437,10 @@ class MainFrame(urwid.Frame): + self.selected_note = note + + +-def launch(notes_dir, editor, extension, extensions, exclude=None): ++def launch(notes_dir, editor, extension, extensions, exclude=None, sort="date"): + """Launch the user interface.""" + +- frame = MainFrame(notes_dir, editor, extension, extensions, exclude=exclude) ++ frame = MainFrame(notes_dir, editor, extension, extensions, exclude=exclude, sort=sort) + loop = urwid.MainLoop(frame, palette) + frame.loop = loop + loop.run() diff --git a/pkgs/tiv/default.nix b/pkgs/tiv/default.nix new file mode 100644 index 00000000..c03aabe0 --- /dev/null +++ b/pkgs/tiv/default.nix @@ -0,0 +1,19 @@ +{ buildPerlPackage, fetchurl, perlPackages }: +buildPerlPackage rec { + name = "tiv-${version}"; + version = "2015"; + src = fetchurl { + url = "http://xyne.archlinux.ca/projects/tiv/src/tiv-${version}.tar.xz"; + sha256 = "1vq073v7z7vmcd57lhs4rf4jasji69cpjgkz4dykp94a77p1qq90"; + }; + + outputs = ["out"]; + buildInputs = with perlPackages; [ PerlMagick ]; + perlPreHookScript = ./tiv_builder.sh; + perlPreHook = '' + source $perlPreHookScript + ''; + installPhase = '' + install -Dm755 tiv "$out/bin/tiv" + ''; +} diff --git a/pkgs/tiv/tiv_builder.sh b/pkgs/tiv/tiv_builder.sh new file mode 100644 index 00000000..ea166828 --- /dev/null +++ b/pkgs/tiv/tiv_builder.sh @@ -0,0 +1,8 @@ +orig=$(declare -f preConfigure) +new_name="preConfigure2 ${orig#preConfigure}" +eval "$new_name" + +preConfigure() { + preConfigure2 || true +} + diff --git a/pkgs/unicode/default.nix b/pkgs/unicode/default.nix new file mode 100644 index 00000000..756e939b --- /dev/null +++ b/pkgs/unicode/default.nix @@ -0,0 +1,48 @@ +{ lib, fetchurl, runCommand, libarchive }: +with lib.attrsets; +let + version = "12.0"; + version-full = "${version}.0"; + files = { + emoji-data = fetchurl { + url = "http://www.unicode.org/Public/emoji/${version}/emoji-data.txt"; + sha256 = "03sf7h1d6kb9m5s02lif88jsi5kjszpkfvcymaqxj8ds70ar9pgv"; + }; + emoji-sequences = fetchurl { + url = "http://www.unicode.org/Public/emoji/${version}/emoji-sequences.txt"; + sha256 = "1hghki2rn3n7m4lwpwi2a5wrsf2nij4bxga9ldabx4g0g2k23svs"; + }; + emoji-test = fetchurl { + url = "http://www.unicode.org/Public/emoji/${version}/emoji-test.txt"; + sha256 = "1dqd0fh999mh6naj816ni113m9dimfy3ih9nffjq2lrv9mmlgdck"; + }; + emoji-variation-sequences = fetchurl { + url = "http://www.unicode.org/Public/emoji/${version}/emoji-variation-sequences.txt"; + sha256 = "1cccwx5bl79w4c19vi5dhjqxrph92s8hihp9y8s2cqvdzmgbln7a"; + }; + emoji-zwj-sequences = fetchurl { + url = "http://www.unicode.org/Public/emoji/${version}/emoji-zwj-sequences.txt"; + sha256 = "1l791nbijmmhwa7kmvfn8gp26ban512l6mgqpz1mnbq3xm19181n"; + }; + }; + zippedFiles = { + UCD = fetchurl { + url = "http://www.unicode.org/Public/zipped/${version-full}/UCD.zip"; + sha256 = "1ighy39cjkmqnv1797wrxjz76mv1fdw7zp5j04q55bkwxsdkvrmh"; + }; + Unihan = fetchurl { + url = "http://www.unicode.org/Public/zipped/${version-full}/Unihan.zip"; + sha256 = "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"; + }; + }; +in + runCommand "unicode" { + buildInputs = [ libarchive ]; + } '' + mkdir -p $out/share/unicode + ${builtins.concatStringsSep "\n" (mapAttrsToList (n: u: "install -Dm644 ${u} $out/share/unicode/emoji/${n}.txt") files)} + ${builtins.concatStringsSep "\n" (mapAttrsToList (n: u: '' + install -Dm644 ${u} $out/share/unicode/${n}.zip + bsdtar -C "$out/share/unicode" -x -f "$out/share/unicode/${n}.zip" + '') zippedFiles)} + '' diff --git a/pkgs/webapps/adminer/default.nix b/pkgs/webapps/adminer/default.nix new file mode 100644 index 00000000..b78a2e0b --- /dev/null +++ b/pkgs/webapps/adminer/default.nix @@ -0,0 +1,14 @@ +{ stdenv, fetchurl }: +stdenv.mkDerivation rec { + version = "4.7.1"; + name = "adminer-${version}"; + src = fetchurl { + url = "https://www.adminer.org/static/download/${version}/${name}.php"; + sha256 = "00gnck9vd44wc6ihf7hh4ma6jvdsw69xgjlkbrdf6irnni6rnvhn"; + }; + phases = "installPhase"; + installPhase = '' + mkdir -p $out + cp $src $out/index.php + ''; +} diff --git a/pkgs/webapps/apache-theme/default.nix b/pkgs/webapps/apache-theme/default.nix new file mode 100644 index 00000000..4b5755a8 --- /dev/null +++ b/pkgs/webapps/apache-theme/default.nix @@ -0,0 +1,88 @@ +{ theme_root ? null }: +rec { + theme = ./theme; + apacheConfig = let + theme_root' = if isNull theme_root then theme else theme_root; + in '' + + Alias /theme ${theme_root'} + + Options -Indexes + AllowOverride None + Require all granted + + + # mod_autoindex + + Options Indexes + AllowOverride None + Require all granted + + # Inspired from Apaxy by @adamwhitcroft + + IndexOptions +Charset=UTF-8 +FancyIndexing +IgnoreCase +FoldersFirst +XHTML +HTMLTable +SuppressRules +SuppressDescription +NameWidth=* +IconsAreLinks +ShowForbidden + + IndexHeadInsert "" + + IndexIgnoreReset ON + IndexIgnore /theme .htaccess %{ignored} + + AddIcon /theme/icons/blank.png ^^BLANKICON^^ + AddIcon /theme/icons/folder.png ^^DIRECTORY^^ + AddIcon /theme/icons/folder-home.png .. + + AddIconByType (TXT,/theme/icons/text.png) text/* + AddIconByType (IMG,/theme/icons/image.png) image/* + AddIconByType (SND,/theme/icons/audio.png) audio/* + AddIconByType (VID,/theme/icons/video.png) video/* + + AddIcon /theme/icons/archive.png .7z .bz2 .cab .gz .tar + AddIcon /theme/icons/audio.png .aac .aif .aifc .aiff .ape .au .flac .iff .m4a .mid .mp3 .mpa .ra .wav .wma .f4a .f4b .oga .ogg .xm .it .s3m .mod + AddIcon /theme/icons/bin.png .bin .hex + AddIcon /theme/icons/bmp.png .bmp + AddIcon /theme/icons/c.png .c + AddIcon /theme/icons/calc.png .xlsx .xlsm .xltx .xltm .xlam .xlr .xls .csv + AddIcon /theme/icons/cd.png .iso + AddIcon /theme/icons/cpp.png .cpp + AddIcon /theme/icons/css.png .css .sass .scss + AddIcon /theme/icons/deb.png .deb + AddIcon /theme/icons/doc.png .doc .docx .docm .dot .dotx .dotm .log .msg .odt .pages .rtf .tex .wpd .wps + AddIcon /theme/icons/draw.png .svg .svgz + AddIcon /theme/icons/eps.png .ai .eps + AddIcon /theme/icons/exe.png .exe + AddIcon /theme/icons/gif.png .gif + AddIcon /theme/icons/h.png .h + AddIcon /theme/icons/html.png .html .xhtml .shtml .htm .URL .url + AddIcon /theme/icons/ico.png .ico + AddIcon /theme/icons/java.png .jar + AddIcon /theme/icons/jpg.png .jpg .jpeg .jpe + AddIcon /theme/icons/js.png .js .json + AddIcon /theme/icons/markdown.png .md + AddIcon /theme/icons/package.png .pkg .dmg + AddIcon /theme/icons/pdf.png .pdf + AddIcon /theme/icons/php.png .php .phtml + AddIcon /theme/icons/playlist.png .m3u .m3u8 .pls .pls8 + AddIcon /theme/icons/png.png .png + AddIcon /theme/icons/ps.png .ps + AddIcon /theme/icons/psd.png .psd + AddIcon /theme/icons/py.png .py + AddIcon /theme/icons/rar.png .rar + AddIcon /theme/icons/rb.png .rb + AddIcon /theme/icons/rpm.png .rpm + AddIcon /theme/icons/rss.png .rss + AddIcon /theme/icons/script.png .bat .cmd .sh + AddIcon /theme/icons/sql.png .sql + AddIcon /theme/icons/tiff.png .tiff .tif + AddIcon /theme/icons/text.png .txt .nfo + AddIcon /theme/icons/video.png .asf .asx .avi .flv .mkv .mov .mp4 .mpg .rm .srt .swf .vob .wmv .m4v .f4v .f4p .ogv + AddIcon /theme/icons/xml.png .xml + AddIcon /theme/icons/zip.png .zip + DefaultIcon /theme/icons/default.png + + HeaderName /theme/header.html + ReadmeName /theme/footer.html + IndexStyleSheet /theme/style.css + + + ''; +} diff --git a/pkgs/webapps/apache-theme/theme/.htaccess b/pkgs/webapps/apache-theme/theme/.htaccess new file mode 100644 index 00000000..f9e54722 --- /dev/null +++ b/pkgs/webapps/apache-theme/theme/.htaccess @@ -0,0 +1,9 @@ +# +# Apaxy by @adamwhitcroft +# +# For a full breakdown of the mod_autoindex module +# http://apache.org/docs/2.2/mod/mod_autoindex.html +# + +# Don't index this folder +Options -Indexes diff --git a/pkgs/webapps/apache-theme/theme/footer.html b/pkgs/webapps/apache-theme/theme/footer.html new file mode 100644 index 00000000..57a2012f --- /dev/null +++ b/pkgs/webapps/apache-theme/theme/footer.html @@ -0,0 +1,31 @@ + + + diff --git a/pkgs/webapps/apache-theme/theme/header.html b/pkgs/webapps/apache-theme/theme/header.html new file mode 100644 index 00000000..cbded6a4 --- /dev/null +++ b/pkgs/webapps/apache-theme/theme/header.html @@ -0,0 +1,3 @@ +
+

+ diff --git a/pkgs/webapps/apache-theme/theme/icons/archive.png b/pkgs/webapps/apache-theme/theme/icons/archive.png new file mode 100644 index 0000000000000000000000000000000000000000..99ae6fc6677bb9c0b47e740778a315a56b1fc3c5 GIT binary patch literal 551 zcmV+?0@(eDP)hnm57*rzi*-_GEo$ne!p+>JU83z z)&xNisx(cXT-QZweNTXTy$(R9)4AP=2(IgLI2@joh)|a0-C+RBvH+OR=Y(MhfH8)$ zED;ebtu+p&-3toAAqW=5E1e`$0~~Ap9a_X zzK`d5x4tY(ilRV?2vt=*G`Qxi!CMP;Jv@qtFdB_++ef1jBEogCs;Uaxw#l;WF5q&x zuvjc^e<31VE*EUueg(vFjN>@;dcFTXeKUADolc*I!y&e9ziYTC3W6X&YyDE2&1T<@ p$K!LFrk_7z&}cM%b-UdkzX4XSEHy8yRp>>VCD?q+4djE zFhLZ?kYNHDo&L{yjWHmtbuK`L3F?!K+qEL*rc1bYtAI!AAI^ET)*x$bE+7hHym>m8 zsh{Hxc z0+?}7%>lS005jv|&N1E(Z{Sz4h)Qh|%#6nmrZ5#s+=(ULKB@ilGIKV;;@z9r-~El* zqJ!7VvtVYdE>*C)R2hE*tu=@UD@_k8O)uB{zl<@bD-e+{gn&}&T)c5lDFq<}h{&f> ssniOBV58gZ&R;k#M}e;xG_>YYiYlK@m9)R5X6S3EnN;# z1PU5tB2l5lNcLp1713tnLw6&MWcj^$^PcRt-EQ}bnLkD39sf~Esho&@ziqeMe6?C_ zj4@D3{nN0Bpe#$A&*wknz278B0`Gl~70Xz00173N0h_Npb$b79F0Z@A#~>$CxieMv){HY zj4==qhzPXSQO?T{<{eC@I i`JyJ1$#FiPe|!NMI%}f|m=mP{0000Od5R{~cx+!9p-W#mZ(c7Uqgp7FNOqTMOT0 z_bv8$1R;gkSZE=+K`=HpqKWB5l*~+KizQ-=#d^9kbI!*(|9{@*^Z7q1DfW9LMl|AKUHrKaHZuG7JMz6afGhiv>96IGs+&<#K4Z z+n7uyI3AA}4u?00VHof{&mu}GD5apahSnNE5TMa$fH4N&_o1~$x7!7PTaDHlNgt6? zrak~*zu%)$sbt>obFDR`lpsQgOyO>~L$z8>H9Z3eAwcfO*IL6gO6tX3y(qSb0;RPXousXVEdQf2|K#8bd*HpAg?z+f-{04$eFaL#c) zpTQVIv)N1mGA?vFos?i<7@}UUgE59M46`mg0v;6yfFKB9n&xvGe*;MF;?c?*;QkhD z+eRG6ux%SkDHMxETrL-^*Xz_2LWmy`DW#s{IDeA!?e%&or7g?KSSW;m>$;$ndNiNU pe{MFLFV}V7U$KyLz9|$6pWlLsoc76c7nT43002ovPDHLkV1nz3;XwcZ literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/blank.png b/pkgs/webapps/apache-theme/theme/icons/blank.png new file mode 100644 index 0000000000000000000000000000000000000000..bef1f600664da97d487c7dc4abece6ed50b9e362 GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~rvRT2*AE}w zegFRB&!0cPfB*jb_wT!RZ$5r}|Mly)PoF;g`0?|{k00N^fB*UO=i9fhfByXS@87>) zzkYrD_WkqcFJHcV{rvgk|NsAIFS7yJ$ygHP7tG-B>_!@hljQC0!qCAg>jC6&7I;J! zGca%qgD@k*tT_@uLG}_)Usv|qZ0rKu<`1uiJOm2ydb&7FFu`e*cFliej_bY*G}(A_6pwx6KYxI1f{H9+Q)F6(B7<29Hbpsu3K1&IEkC_`gL4k!oa1CTqP(_@N@oz~ z_&h?U3Cd=uq69^G-Uox0IpFMSOvO2jwH9BBs5MuK;y}RRVv8wTGKomiJ%7pf@iA2$b3Qns9xTgQf|i8BH5lY2CXy0WAT<#-miY?adz3aD zstdMSPdFM}u&N*OI8JHAIZNphdw;K}m8+Pj#9A}On}A#@y!Y1zfQV)iJW3*-RUXkh z>(fXh&hiPht^P#&TH z8qCuDTR?0zAc0h!w=E{|3pw zaJL4l^#-G(lZBGFT&r<;^M$RaEq;G|zYt(F8u6?B4WqU0?(grfZ)|K3$MKzpt+jMI x9kkY6Q>|9Fd%fOHr_)(q#30MEZoOXL{s(i+8tc1-%r*c3002ovPDHLkV1lUl9MAv& literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/c.png b/pkgs/webapps/apache-theme/theme/icons/c.png new file mode 100644 index 0000000000000000000000000000000000000000..12adaa37ec9ca45280c2121ec2d6cb568a740175 GIT binary patch literal 554 zcmV+_0@eMAP)-7E&#dWIQqMHfQG*7fw8kH}lO*sy$iPp!dOR-hA)z zy~l_+ju)AE(>eD9V~mti5z!kFMUiSW8m)T04k_iG#LhW%yIpiTodeQZx56-l)_R-+ z5QZU=Bx#Yg7S`Ia!~l@#h?(KN&prN1hWHj=pxa}VNMPt924t6ku!JrUfzFEe`s~PNkImf%* zKFTG5XLAA8mhRoHgUn>U85S~M-y0biV?ac=mUdmt%#cKsD5apaE_{^#L2C`A6o@FH sYPGtars-z8-ENL^K@bFKtyWwA2O0}XC=)O7{r~^~07*qoM6N<$f`47(ZU6uP literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/calc.png b/pkgs/webapps/apache-theme/theme/icons/calc.png new file mode 100644 index 0000000000000000000000000000000000000000..a03436733fad634f7c2128570898b06614c587b4 GIT binary patch literal 506 zcmV@CEAaEOKZJwYu^nKmh`d-*4mjTj$;Ht04e3YTw5+5 w-aTF&T%LF40HA(d2NBJ5kWQx`T-V+E29xhKZnxnR+W-In07*qoM6N<$g3d?CyZ`_I literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/cd.png b/pkgs/webapps/apache-theme/theme/icons/cd.png new file mode 100644 index 0000000000000000000000000000000000000000..3a3ffbb9a8df12b517ad5dcf110db463553980a5 GIT binary patch literal 757 zcmV}q+&Vj)&Ib%#F$3=??-q=D)iBL+RwPtv-V6(Wx zbT(r)mqZJTt@;BBz|qlHYUKpaF5&w&{~b@zb&XOAaaAGsu32Z5nGQLfN$&66Vl1RebLTqtOI_Lct{&jw$2{BX@D;#&v-0 znWTA&ZCiwHkO9Z8n=&mIXk#77(rl*G6=eETyE|?IMKe3E%gh9~>OK n=ytnze}By2IL<*BhR=Th5K3mOu?hx200000NkvXXu0mjfuwq{N literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/copying.png b/pkgs/webapps/apache-theme/theme/icons/copying.png new file mode 100644 index 0000000000000000000000000000000000000000..83fa06e611927106220d68018e1a4962581bf9b4 GIT binary patch literal 699 zcmV;s0!00ZP)KCm_LpunmgW-d-9PDVKImdzf#&nc3aFhlhtBQp&rwZNKv$&@^o%g!s94 ze}6xUqUh%A>vTb`evna}6H#AdU(@jQ>sX44UpBq7gpK0ZDGI5;@KaU711 zk2{X%d5p*78__fkP168S*EP%KlCmr@O%vO;0jR2q<#Nf}+Z+9UA6?hk&S_Fglu{_A zSS%J)RYe$v^!t5G(?r*G&d<*Y!;q?~SS%JDUrLEq*ELEhR;v|xp402~kW%va_{e&_ zrYH)g(<$%o@AP^-@;qm?TA`Gpu4_coG$^G=(-gxnI668aj$=H}2@OSp)(-ko|A5u0g3!UC zIAwDcO(z9Icb$Yfh!l*Xn_vgQNm~$019b_tnm!Q|g%FAm6+|5jclX}8G{N|iQV)K^ zm%Hzm-}iG)rBazP#>@plFwTD*Aw*S5dCe)8%hhZ)n@gwD2qAW44uXJIt3{*H*bqvo zTq>19DMh>84$btfk&sqOvE|7L-}mu-A8T!B^7Eqr4($8*@`s-LzqQsH*;yapZF7m2?;q0o`H5&G&f&}?=TFSCYbe<_yr;tJ z#v=Dut`LvzC4cfdQ%7ca(_E&sJTtJOF$UQQSn?jQJ3h?CGj|Y91c2e>7(af0BM5vP zC;Y`d0h`|&jE_v>Ai9+f>^t6l+>cXFKwt&N54Hu`FQCgHz2_kBKChvD)$O>kxysY^ zyC~Bh$eOq4kY1NGWBlTCI+`u8W(Qz|BmAy8g>WYmMi5NGWSFkw_Hl_4=IW ld53mP4~WHL^<*+x`~#+Yf@-qG!W94j002ovPDHLkV1j8j3{U_7 literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/css.png b/pkgs/webapps/apache-theme/theme/icons/css.png new file mode 100644 index 0000000000000000000000000000000000000000..15f76955743addaaa08ddc7b235ae51d4eeed69f GIT binary patch literal 592 zcmV-W0DQM8hSu-7|(6a$H@gv8u#r1{R=bMG{!)9Gtt%-A`1 z%zu;+B9~HrYD^}Rd^jAAvMfUgu~*nR$8x!3u~>YUbzP6rG^H57$NVe-klh1@AHLoS zNz;^~C`Qs+i?x=Au0(Yk0BBd@y}uRkHz$oTc<)ip;l#1^J02pJCT5G)bh{w+n z^#%anY~l6*XswafTDVwFwH%C`KBns_*$wUvtZ?wm%2WiVn33Mqp49)E*)t zNW!RYMK^DGvkpa_JVl3&dGU}PyF`az4^jw~UtZdc+@KOQDN$FQZ@%yCu2zF8>t7^!1wVN%lx`M%F1Y-^pgS5VX8iDtwlrtkX6IN^+&Ya=_hfuw=Q-p*Tr1# z5G!NjBrcz*TxKoGbzMXR5n*NI70DYp;#W>0B6tf+nD^6&?-Sb5LcFgB@w}kkbzPKK zBdoogBzEaIB7(oVj(PVP-Pwi!B0|&A4!rL_gZhRR5P@h@1+csZiO9wo;Qd%4aylDm z)>>2*AR?&kTY`0{wHf#Abg;Ky7x3p6D~YO_we< ze%7D8#(tXFJfQY1hz=7Ux`_8>9`{WVf6e^W?7D6RptUYIj)O5Zg<*w0b(rw6{SeU& zW@8MF3S3Zt5%k8PRC8m`bGve*2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4FVdQ&MBb@02Nbo AR{#J2 literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/diff.png b/pkgs/webapps/apache-theme/theme/icons/diff.png new file mode 100644 index 0000000000000000000000000000000000000000..5bef920766b333d4917efaf794b054b46632771c GIT binary patch literal 586 zcmV-Q0=4~#P)*9Rs1h``+!4`b3(7@xbNY z%Q@%cJNGKxZuhYe;>dBFZEg{&s`fQad#SWqt$r{Vj0FM#R8?K7*>M~ulL_PT_^URZ zPGh>R^XTM+UBlo@ug9)o@HP_R*ZVAY?>zuu8h^C_(RH1{U=ULpjfPAnlee*Vqtof2 z2_cYDl07{oWf-)3JyM3jo2@Op{SrUFwYU?x55Vv3;sQVjfl{m0WICN*$)MS6qS>~M zlyW72ZQJt^a%X1%q~dX2hr?LUE!MN^T;;FGeav0wHdC~RZ7!Z%%txqHDl(JFtYlEH z*XIU>LX|{f2Y`HjgF>MSKq9e2KEH7zKnO7h93MY(6F1%e2T*5#*|HC8>;s#%>Y96& zQnL4HkHhidLhXXVER=T&0GC{%JXKtS^M~jE*tiCkWw}(}2OrK0XJMC8vj2IX(vOl` zXIa+uFOq-)|*zi+m6v_1bBa_z|1dhCL-i{j-n{e zMN$3^-?jH~UCd#bq4f@k=v9L_j*(^AfgodWdv9PLsmu&!#&9?U04Sv}o6Y=2r4+i| zE|?j{7zjfIGEbddz+f=&vm{AsbXSpxAczdAXXXN?)2Sy{Et~-WXsscPC9hu%Ns^>S zuHHL?#|j44a_u2AV>BAo=t`-TDntZfjDe{LxPX4Y?`NG(r$$~1pqjzD7oS_+pn3+* zU_2iCnUoR$P?ja6l)lPSz?!en>-AQM%T@jb(E19_KuYP!aU3HI!_^9!2th+UYv9Ps zbRt3^Tif%S>?cTTSj#@(rE9TRAWc&UA+E&Rz4*(;ul(e4bg>BlUv>0fKU1^WoJ3Ld Z=>bTwJbCQ{8OZd# literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/draw.png b/pkgs/webapps/apache-theme/theme/icons/draw.png new file mode 100644 index 0000000000000000000000000000000000000000..8f1da5c333fd0e97559e809da86928bae710b4a5 GIT binary patch literal 679 zcmV;Y0$BZtP)*gHC!F64q@T=P3!^;h%tLYE{MsM_SA$P9D#Bm(T<#JAVo`>goEz9NS>)gDPqstC) zPl}SREZ)o9L(Saug?Nw{VqGSW-%i zF+`@P5&1msAB9pL+B5!y&%n@FFVR>h#u$I3lnBrBFvifBo5R}MBeML4vHDL6?>b2g zrih=l3CDuRQZ{S&6-+#ij>l1{6hpTTs6TzptB>1E=DJB{CTXKTtl%3Q866IB<GLVg%b~OeINe0(FsE7yfI_%-k6lX%k*WF#~sT=iYPX zoI5wD*XwiE+EwS=O(r;D7$!=ohe54YOUmVPrBo^rhT(sKopbd2eY)N5JEgU*#Bq$) zdJ+M|aZIb#swfdbL{i1z`!2!H9zKfk7b@fXZyiuMeEte2IAyKHd!P3Ac7R{ zdv6_rp|#A*`}ngnxVujQu-2lCF=+z*6}R^aKQl+rtKvUz!sS~-!0i?M)HyirH^vZ( z2;Tc~^fr)R8h2v>acA(m>!X_6e2i~C8|5NGcw%AH)TtuTH2!=U7tbP{=VL&B8~L(3 z%B{7h2=ou^#~O}2viSrV43L8!ZvXv|KnqSwiXb&axAOuyJc7e5*xMSWnJIi`is0%U z?57XN!45JIoN<4#kcr4YY67IbH9Nmdc77Rv+=Dl%`iQ_7gHmduRkqd+Ehwd0Ns^$o zPVd7%LTgQuBq*g?s!%8_wcG90Mx$|U5(QBdwTs2#(r>8_mTss2=MMk?002ovPDHLk FV1nl{4xj)4 literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/exe.png b/pkgs/webapps/apache-theme/theme/icons/exe.png new file mode 100644 index 0000000000000000000000000000000000000000..31299b7f4a44636d7fe5eba427e629e0fa221c66 GIT binary patch literal 846 zcmV-U1F`&xP)Sz#!Ka4FK2$LZ(AS8w;S)insd4t~Gr@4=D zrGAAxOLkFq=_o=$Az=o~7zmSx-~M|M2`ODtZR$v;>KvU)JUu=AErj?J$MIkMug2ps zo6UxLy-q%#2jFlxFq_S|y1IH+RrPn`;o;%A*=*igmW84y0344;j>jWW6p>6Oky4_n zDgeIk6Gai*?UvJ@=ZWK(IF12GrBcLkjA0lkih}F96bc1YAp}y&AKE9A3B%zK z0Nb{yR4M?(aeSIrt5rPDLk+|5M6lg%$!4?EYBem&Vl)~tolg1u{KR!#ZfO|b3`3Ope2(KdY&IKSUtf_@((m_KEEddWGo+MECKE0%FUe#wTwGkxYPFb7r>xiO z?+f1F-!Tk>APDGoyEu+RtJR`hE|X5D>G%6QKR;70mpMB-BZ?w~5PW=mpe~n7JkP`T zeRN&Nw(XPl-EK#*SOlO}t1%vrPq?OO-zNIL&-L{+g+c+}_c08E(P+eEGC|jMN~IEo zLIKON7z_qhMI6T@ z5()PEJyJ>x!(hMPqw6}2MuTiN`y+5dh;M>Ysr3H#_I9ah8m4Jt+cu_Y5(ELB=b`I5 zilU$>%84KhLtb89P*wFUaesgR%XQs<=JR>m^SqNmqtOT<#OWuh)#{J9>$={{=kve+ Y1E?XCEuTb+KL7v#07*qoM6N<$f?)xG-~a#s literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/folder-home.png b/pkgs/webapps/apache-theme/theme/icons/folder-home.png new file mode 100644 index 0000000000000000000000000000000000000000..14fe20abbcf176ea4dbfa6c442c3cbca0dde9fdb GIT binary patch literal 618 zcmV-w0+s!VP)A~#9OXm&B>E!E2PTwCqRod9KFbqk49_R6VH6*fJM=EQ(i3wU&LZ1!%7DD^y7r1{cRfcGDTIOs0uXd zWsdf@>BkA+kNqMe0;93c(N9wLc3RBO1r$|bj9OF$=H~+Tc3Sk46zd$u{3g(1u%fY| zsg^4=S5}D=lUr(>7@8}qRLhmIUyDJBSd3^uBiVq!=v;WDBL0{_D`XaPJ2C!*tXKvZM=Q=;jx3o|7qYs8{gmf1y~<6PL~&qDgXcg07*qoM6N<$ Eg4@LtNB{r; literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/folder-open.png b/pkgs/webapps/apache-theme/theme/icons/folder-open.png new file mode 100644 index 0000000000000000000000000000000000000000..2aa5cc7571c872c8f10bbafae65a5ad501bcf519 GIT binary patch literal 431 zcmV;g0Z{&lP)#5i+25Ey z1eW>A(TJZct!&j|`k;COJ3TXtQVsytTJGvML{YngLVrtHtim3w?VOd|_q)l$Cb{vs zkD7(<;r;Y#yI$jXZ+#Ugxz$QB571FQokpWyx1TtpC>W?#ig|UqyIA$73V}a1@wae~ zR`Z(Hy!+)+K6#tHp#5t@~g&mrE6HM-f^~=t^SC=NDJo7J@Va1tE@8 ZegpsFp=+X_I-URk002ovPDHLkV1gz9zD@(I$z)gyHJ~3%GZry#Ku@3_8309WQ*vyGj1VIRZ_nxiI@3dN}18k%S ze7PKLEZlo@J$Uu#>Vxs)m+wp-J+|LPBdGuUM)T9g!^o*E#&Jx0d+Wap;yC8F+G6BH z6W3|w2L}$05k}>L*qb2P4tSq)Dj7~Ri9`((H!vv0JY9X9@53-)=46H0^Ych2EtrTJ zkrPFS4MdopO1OCKHUMv5uCiVG%DdOb>9ZG*b~D#HQ9=>JBpVFvnsw3|owSA%W8zSW zUz=aR`+`=apFjr*`Ua*B)r@nO79a>{zj)H)Tp>Z^L<>DIm3+=xb+T5Sa(pD`hP6(V zNW=;~(4K*+VTrN>Fvh1Ztx_ zkoFFh`72Zy#ct!rXb)7Z+Gy10#*?HgYS!3o*7hhbqM4?sST%Cymp^>`eBZ;|KdXii dK$S3D{sRQuK3buqDUtvH002ovPDHLkV1kf>1jYaW literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/folder-parent-old.png b/pkgs/webapps/apache-theme/theme/icons/folder-parent-old.png new file mode 100644 index 0000000000000000000000000000000000000000..b82d7a992d61f84dd2b2a099b76e3b4bb4b2c7d0 GIT binary patch literal 494 zcmVzaf)kBl_gc8hW;0R51DE+b_YC*U9VH_C2aO-j6tE2l zke1^TydMO*K@gk-L2wFmSF%LJ6>CY743ttsrPMG?_c{>fpM$V zx&|1HMhC!tRiM#m+-j{K%H_9-^;RwbM5N%;yl>2AvqEcK)cEedptTl0jr$c&fquVl kMdZ1*J#}&Gjr3=H0E{cixm!I+_5c6?07*qoM6N<$g0bhzSO5S3 literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/folder-parent.png b/pkgs/webapps/apache-theme/theme/icons/folder-parent.png new file mode 100644 index 0000000000000000000000000000000000000000..3c964f195ff962b9c2bdfbedbda91f3e6505274c GIT binary patch literal 621 zcmV-z0+RiSP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L00!&;00!&<9(6c100007bV*G`2iyq{ z6d@o`g*sFK00HeuL_t(I%axL`ZWBQehQHa}3&NNvkqNPs6hTOc;*8R`HxhD+wDAkL zrh*5s@&KSKXe{|TEJZ@1qe+J-QbwY{M4%MJ$>H1Gq2Lmok5DkuYFC>1XXfAk7XWMR z9pEni7gr&KUm_y+fS0Pe323E2fCuIKdp##2-+*^cRa?L|uu_|Fe>56B12{Z9`~>{0 zCRKGCXt{DyJzTrpULOvJPXNZ_@t4_bb_MuaotVnH)mWQMCcCPdsA@8qOm=~_IvBv* z0&WZjgRL}8+j*Xo=Q(Mbwg-d37SO0S5#SN<8b|=+oO^hDeEh;Ww^Z!CzwCCq@4feD zKm-clO`XDOmSw4PuCZ7ws2=BBBg?WBSp64;l}@L#(d+eg=JPp4Q7oPLd`_>|+v#*V z8x_SwfXBcqpnY_7^t{<@uE!W}b&fHHi;Ii%y}i8;zzlfnD*3R#zduveug70{lUS(Nv%3K=ZvZvRYgQD zV~n`~))@2DTH7+lV6DX%Q*Lel@CpGS#25)7P~Jacj3>VVv7y(VM9=#Y00000NkvXX Hu0mjfRbvyh literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/folder.png b/pkgs/webapps/apache-theme/theme/icons/folder.png new file mode 100644 index 0000000000000000000000000000000000000000..7c613e054b15f36f1c63d3a9e68c29f95ccafbf2 GIT binary patch literal 395 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4fxrAZ4@_Z>LpB(P=EDgGHs@(H<#3lpZ>Z`kgozhr}u z%ND^SH)bT1ai5(%GhLBQWyc2T{QCEEs*fL)cv-qlud%l7b=JzvYWCyXgSnn09r_m{_v@Z)oh|J@zh}ePF2??0inNxM*dzknJ zhQ}a2hL2&QOd&yRjHb|}iV{>1IBn_quMTPg6BD|JJ6T`WUVDk{?d|8*+Rc>GBjy+( z#GWx`Lu_qr?X}zO?#jvvQpy{NV~iXhA2S>dKWb}jH_vmdweuJt&vW|yeph?%8NPeV z?yHw%0aQwODR2^;f}jLJ3ZjH~&EV75Z}8ruz4uH`j(E^E7zM&5%5kI&kZRzSz$HNx zkkl1ma{dc18))YovgTP_tD%epn=qG-g{dRBNYs!_1#2CuCeU?-kOGmFxM^kPK-D7o zlV`Y-4+z!3|NKE5MN$z+5=663)Cr+WRHK44H7+uTA9-{L0cC)4K>guk{7Ik8EF(je zczA$byoW0e(D^NbGU(PiNEpdL2m$H6Cy@{$lEN6IK;Ky-Tzn;pk}x?!FSS6`k+K4p z=Y-P%F>w`QNQ&w2Gej`~9~c$ih($>pfy^B7&v&8&wV;vJ3y^}atgiq*R5&{vBh8fL z5`N;a=aEnXSW*!GvJVIy5dyM~!TWLsu+uuHpQlJ8NCDh9;HT+76`JjD+iNG(ms;!& z=4;~prMvi}FS9SS*1NoTKbQ+p6a``L6Ix2y-`Uw&?Q}Y1S#~3_bBhnm57*rzi*-_GEo$ne!p+>JU83z z)&xNisx(cXT-QZweNTXTy$(R9)4AP=2(IgLI2@joh)|a0-C+RBvH+OR=Y(MhfH8)$ zED;ebtu+p&-3toAAqW=5E1e`$0~~Ap9a_X zzK`d5x4tY(ilRV?2vt=*G`Qxi!CMP;Jv@qtFdB_++ef1jBEogCs;Uaxw#l;WF5q&x zuvjc^e<31VE*EUueg(vFjN>@;dcFTXeKUADolc*I!y&e9ziYTC3W6X&YyDE2&1T<@ p$K!LFrk_7z&}cM%b-UdkzX4XSEHy8yRpDVj&dMLK&`LkR z-Vg8x#2>J>NNKb=gOLkJ3L^wXFj!o6XLc+uF?XD(_h4X$+4p#Fn4r_?>@xG2_kIf{ zV2p`~=s0M%+fk#@Xx8g>7-RlL_TFPO8euRP+>^Do8HOROwPg$-3`4|m+$0f!h?F7& zz>H^@8LFBq#BW&Gy992Y3$tu7GsroYlCoeA{j^Y);w%H_9E^w*)x8HM42Xw10fysm zv22M5Xci#{@1YY0Zik@LYan6h`ZD;u1uQMhjWYkd1NE9Zcp1Z9?L!W>5%gXW+zpF6 z_|bu+4rFHyY63`e6=uTFk0kfE-~f-W(8K}L9jL){hO`%7aF7#NY+V3P?@+JMEMdA6 z<)T0?Lh^7pPtiL{AF9yJ6(pHH8-bV^&N&d#AGenWGp7-VD2}2C*4kgME?d@GL{S7H uim6(yp7i_uvu?M$QN}@~Qt8)fwUaMf+?Y_t!-v=a0000 literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/hpp.png b/pkgs/webapps/apache-theme/theme/icons/hpp.png new file mode 100644 index 0000000000000000000000000000000000000000..e5e52e2506572c56302fb7c45bae8baa1ee01da0 GIT binary patch literal 530 zcmV+t0`2{YP)Zt$)OpIMkn2FchKo{u-0xBjxjQy&za3;AFXq4&~CSJ&QTOasdiu9 zDS77{%gn%r5C|cls-@aXcL3N+cS?Shvm#O%R#k=v699$>lS(flB;I>eb>qHo_D|RP zH@){BTZK>lo!YY@X8d&{ovIQ-AX%-jCW+{8hx+hWIuWV90Wrct(4eRfaCV7GEX|2X zHGu|27lL{JjrxmsPzZYOHty9f)NlQpK$irZ|Dt&N9KZhv^XUTf;cQES7}13g9^XZ+ zA@)1yLf~hyHd`VvpD)nDqd~83V9iyJrI%15up+|hFVvsD#(ep4O`suOue9b>@!lgM zm^4jKd%fO+e!owxR@?YwH|4!2%QB|Z=_F}3n@4$`A7@#1f2;ITjYcDHwOU7i0Gj*9 UdQ9@X+yDRo07*qoM6N<$f_38LfdBvi literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/html.png b/pkgs/webapps/apache-theme/theme/icons/html.png new file mode 100644 index 0000000000000000000000000000000000000000..2f94a7846c6e7061642b087fb4ba720df23d18c4 GIT binary patch literal 770 zcmV+d1O5DoP)gw0t`#U1?IUf8q|FA_- zEaiDlQ4|0u@bK}!Jl`3z@#=u{Gd0fS8F@A3i%a=2B+qktz21@yArL|U;N|X!pMQHs zty<=j_9d4IXAzVr#)5SNN2qFs461Dz2&FGNy4EMW}6ucvy;>( z5;nH?F($%exV!u(&IeQ#?>)vjhpO`9!@rSe?7`Lf8B!aQSc9mdz+|;VeImugmY;s@ zqpCRPFd>X-8?T0(o2m2VXQydoDK<7Fv7zw7V0Va!awe}(E+wpQ9iXa&5U@uh#Kv%S zeui>tF(x855jHkF-FQvmgw3~aP*w6;nPIH&M>qnUovyLH_m)R%TkH*sW4E(Xf{Di4 z@uG|hPwQ0WBw!*js0eE>_W0$=KRnyo#|Po^g(lx$yGWywA_9}ulq8N$0;cOJJGug;Fo{Xeny9&4@bbvm8-#l=OEB*DfJH?Fk*_lZ;$0OuUt zZWn89&t_S6yWj8M>2|x9KJ1alQ7V=CjYi}4J5=3(H%{8rYXATM07*qoM6N<$g05?9 AwEzGB literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/ico.png b/pkgs/webapps/apache-theme/theme/icons/ico.png new file mode 100644 index 0000000000000000000000000000000000000000..82227e85cc243f85a421bf75ac99107afbebfab1 GIT binary patch literal 792 zcmV+z1LypSP)_zxg|zDbtx@+G(jEQczF}6mKDc#F%K} zLJd138{<>(0B%iO@fHwbj4>dX5F-n@CR`d7%0*;R>m4YiolENi6E`m4Y|iQ=-#Izb z{QUfF$8nxktJN+}AW4#z6-614rlzKrlgVT{kw_qfI99k)sgTd-+1}n>ksZfL+qRA4 zI41$Xwr#T6Y+Cj_kBOxfewM4e+xbjSYctbpTl6+HG5vm%-qsdomNw`~on>Zmlb-ZB zW|lX(f2$qO^N>ByBe%QDT2bP4?ib;BoEM*RD2mSLS`Muy!pp@SRMq6=%x6M17NgTU z+`O73EIee_brG7zjq^=dktkiKq8I^XXXMoqnk*O@Um+Y4 zjEpa%DT0xS6|SE*DD8hgB2ddNZDy20EKIARa=qRlRi|^1K1F+@N%3lej$|!|2MJP* zItQImJlFkKAz_<5d$Y*!*c=b;bTd3QNAa(hi~sj~Pag6+=OGOa4p#g7`!NjTL|5M5 z-)CrO2w4b`U07IX>+I|#7z`dO?7A+QOa>uDR@QZWV10f4X(p3tI|)H36v~>WIq(OB WS0oDDpwScn0000( literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/image.png b/pkgs/webapps/apache-theme/theme/icons/image.png new file mode 100644 index 0000000000000000000000000000000000000000..add1c5915f43ce85974c751787073adbd23028b5 GIT binary patch literal 671 zcmV;Q0$}}#P)Y9xF&lZFV~m-_0C}F%ZnrlQ=N#|$ z4|)FjEwNT1YK2TaGImHAkV!x$5oJIuh!+6fyn2Cij>I`fcQ9c2eiND31T9Q23*yj_ zT7@bjVPv5Uh!vDqh`?EY%)D|W)>>4pM&nKcRn-InPCLSUfQd&8=xL-pFG(vIS*?ar zf>cv%VXquil;-K%v!E3hV?(S(aDrH&W&`fFCqzwcX^||`i1t?zy!R+o;pY(6 z@2zmsA9FXEr=DoeCy|v@b9_8tX}L;NDXWi`h-m`S#e0u(&Ov|}BNOXTQCO|d@#~_b z7)uvk~J_NpOJ=opb!u}#5=%1WYNfUw(n6Y6pDDj0wp$Il!m45~mom>Gn9$o{gQ_G((KTx_t^Z`>$ zaHae2keq#R4QS+bPQQJfX^AWOBK_{a7B-(W`TqXpOn~8V$mji!Buc6F-rnBY`uaLr z>l=x!wX|9-lv3?vVPRqG=;&y>)oQKH;vmbicD-KT`U{mXE~Mg5YPWP)O+S*cyL;}+^|4HooK7~SowY9ak zLQ0vkEDI^+-dHpD<{|Ibp0ly}1%T$pcDmcnasJe8zyQFqEF8y43D5KJJP&~HKfdxP zJHQX+(3Gs>XnWOBY5OB{c8*scr@5JVfE7K$Z=Fy|p|u7y6WIZXu5vV4Pg6q*(-2k5 zQAOm?TZ-$eOk@YRd+iBepp?RNT^Fr2GcU&|=@sIMI;4c=aGI7#A1#qSn!{0|(KM~`URvY5v_#Xje#8p0vayKP`tK78 zTc3$H80=Owz7I{2ZW=<3)eLqwsgyOQ35ID<*!qmtx_Uw_14AICre1e2e8sMb0UAP$ z3}3OS*BwY%-Q5RhJ$#y-lBW36VRB|@-`h{l3{m{)uv4n;?gMls``IokJRg=1P^Mytt(C>`?--BK}r|k55RR@gb)bx z0C%pB@#@1YFYGMN&N2X<)@9QD8O|QRNTpJ#*;h&-gb+?Hm+S25=^+>lQZAP{d905! zT^9%h0swfPhf<1ixeS2oy4bdj5W*4RaCk7E&yU)+-SJOfaj!z5P(Bum4gLcB5O_GW SBdl2f0000Ol|cKj6iS1rd6Y#)Co*+BDFbh?ZitDN_48>CEh`htNRVZNV4j zFf;G_@O|GfPO(_LX^a`Q)}G@(B!nnQDepUlLZOt+W_#1=G(w1IbKx2G+E8n6t)*70 zF*`duC6!XWzVD-yiVQoezws8ovejtpIQM;@N~O{(f*>FW0>Uudv)EXo?cD?P#XE?f zpLg7C=Y%mPI{bHz#MoVQCXe^w3C_y=9*;2wskLqfcB!rS5_RG_-t-vt{)YtVv#`sj zwMOh$ei%z&4;>*)`H02oNY8;SZ1&wlew)Dfrx8ovn^kUY>}_Eiu&wx)S9mky=*%T_ zCXYM!37hQ3n|w`dp@djlV14ifKr}#S^2FvRAy7DtWz_M@5Ko~_UL`IBUUj_Xj|7;m zEaun+yqUK+RuQ@hg49vi_ya+M)q$t2VMYSPdJXG!Al7Q&x;XV^!Z60xl^cYK!%fqE zfQ~mq$X`>aGyT+agCJb67AM#w`F;dP)lu0#8s~5C1Zb_1QnGsM5wWEow10d~TXg~_ zw1iF!LQB}*MUd*o_}SJA7-Nu9%1WtJ>dEDDxUP%s?qOx%apb>f4O%J6x z)t3lw$gRWR5W@e>&uDrc~hENRp&&mTlYN>MsTmJ9UE;&Ow);sV9UmPEBWt*DL^ zf=F44vb=K83>+_>Y%)!cK-Re&pOA+hJv9g%w3-xQ6%k36q83r5MlJNrj6qpziIm6l zla1wdE@r2+WDDPDkcv6=#(jR+Z$x*OAgb}OxsLJ@pL?veNMj6mhrr-$j=&PfkC^Ba z=E00hcS<9^2dat?0cknre13%U{<=i#B*V!Wqil+{hEb7_W;4<}M^z+Qc1en$Rc+A> z#z-O9yd$mw+D3dm8xpAq<1CXR<9s$DFA4xk58#0@K_x{B!P93q0BIg^@co=nRj|%6 zndfA>{BJyeb_jr8yAh!sFY_fCEwsd?xWkzlU45au+N1w=un=H6o$_h#GfGOC92^|1 zb-P`HAh?ydEKBLXe^jf;dH|C^!n;qNC{G zU*O_k|A9_|*>teD30ZX)M2H24P>^R_UIv3uA>yFo;(h0y<4~)8rbct%Y~S}g=ey^+ z;c&PvB0W_-#{%WO&qD}z++Z-sTdh{R*=*vy|1YzuGM!GDOeSwajIo_%88OC179h(q zilS(TloBbWh0Fl^z91r)*}?z-5y6*biJATGukZ0&tMF+AyW6;@SMZNo`2Gd>_`0Gk z%aV{%s%~Il(P3)1S3PX`B_N(;fiOtn6R@~u@jvNKt%BS zfM2bKec#(4t=}VEzKfL(_v9ArJg#UD2N-Ddr~*5E^w??ArQ2vYj(z(w1DJ{6cHd%p z1UtG4ANsiG4?qQ7>tN@v%|xgG{EPdzmk+Vd4Xn0|bvL2AS-ssnfVR8X#hb9ys0io% zgCHV%_Y47BS(}+M&nzPN5JHjXIWfjR9`o-VVLXe^jf;dH|C^!n;qNC{G zU*O_k|A9_|*>teD30ZX)M2H24P>^R_UIv3uA>yFo;(h0y<4~)8rbct%Y~S}g=ey^+ z;c&PvB0W_-#{%WO&qD}z++Z-sTdh{R*=*vy|1YzuGM!GDOeSwajIo_%88OC179h(q zilS(TloBbWh0Fl^z91r)*}?z-5y6*biJATGukZ0&tMF+AyW6;@SMZNo`2Gd>_`0Gk z%aV{%s%~Il(P3)1S3PX`B_N(;fiOtn6R@~u@jvNKt%BS zfM2bKec#(4t=}VEzKfL(_v9ArJg#UD2N-Ddr~*5E^w??ArQ2vYj(z(w1DJ{6cHd%p z1UtG4ANsiG4?qQ7>tN@v%|xgG{EPdzmk+Vd4Xn0|bvL2AS-ssnfVR8X#hb9ys0io% zgCHV%_Y47BS(}+M&nzPN5JHjXIWfjR9`o-VV2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4B5q)Tpu{1TMd&p8J-DX z`2YRmgWSCBx6O^?f9?B!s7tXWz~#&4opI}5RoIxdA7*sw=zp;9{l^-+i=}t7*-TSMa$)%!IrL^)^Ay;d5_ z%&_PC0)ayw1}yCpu1WPDSDt%ZBKY51&fMFFqO5oQ6QVejd4Hg?YCt@EDf7< z0;fG)am(B>P^81Kj>VrVPW6}sL&FrIpi?LN=ZWm`VmlZ!J&m=Q<-mSjKc@G#9T{d8 z?8e3{f|5%`<`l0y?tR&keW^&ti3@f6?W42xzyFS1w=!Y-?VCEM&(&XMWxRMcnp+bX Os0^O2elF{r5}E+}wx@^y literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/makefile.png b/pkgs/webapps/apache-theme/theme/icons/makefile.png new file mode 100644 index 0000000000000000000000000000000000000000..f99ea4c0ab059e1df4ce00e2f92375b874763bca GIT binary patch literal 614 zcmV-s0-61ZP)%NRXMH?!6G37$NKyG<0=Wo$jxy62sx}mz45FDfPsEm}OZbA;j;* zU@#axJUn#E3Ik!&`LZQHjJCXbI+yWIxBaU3J3TCI}JW+|0QrYlm)3qS}l9gRjmJDm>6WYTEOWHR*oedB-bP!vUs z$76&LQ{gzy^K3SI8IQ+5z8%3YmQJTukaG?EdWB~FW(&FL z7~eF=Fh?Xwf|POS N002ovPDHLkV1h8F5N7}Y literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/package.png b/pkgs/webapps/apache-theme/theme/icons/package.png new file mode 100644 index 0000000000000000000000000000000000000000..fb1343ea1cdcc53df214f3180022c51a8c0ddd7b GIT binary patch literal 614 zcmV-s0-61ZP)hB*XqG3q#$ekT*VYsp+eC?CMWCD>qOzPc z%Tc|8(QwG|=SiW&d&C+DfuAb`3;t}@)d&Hx2Js#x;x8=&c&mxxM!5b>mQke#AS|0bW zkt7#@z1Q#P=P83cW6;mIv$aE2E>YqHS8G%ZYlDonK?XpU7aa#%cZcWK0bH#SCn#$j zZLJaKI`2z+{SH7x2;QIfZLP7^p_~(JWAGx~gj7oP?JMPCM!A?F)^=pu7@QN76QQX! z@(bYYtCxTMfu`0tk<$!ptuH(HN7=IsoCvxqiNe(Yx++f{M1=hhpQiWkZCodbqyJhK zA2>W&5E1rOFOA1Xv+CK$FU#$#I7n4|Fv!*T2QPmrngA-j0ssI207*qoM6N<$g0#v9 AH2?qr literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/pdf.png b/pkgs/webapps/apache-theme/theme/icons/pdf.png new file mode 100644 index 0000000000000000000000000000000000000000..7408d8d65d6c4be3394ce605d719ddade3b6691f GIT binary patch literal 799 zcmV+)1K|9LP)WBQ+$<6&=z0Siw>IL9MuT#>jMln6f{7xe^bhjy-?Se8j1%l2dwrZ#-+t;7--7{p z`xbXs5A}MTYPAZ`)}VahTVBUCGKYuAd~uZQ)mxK{ZzHpUPU zl>O)cPOFAQEsW#h?g_EhVvHeP`43rJQ0@0=_@sZ6OrGbVn#aFHPMpA4LvsHPtEaw# z%h#~oJ+QCZH7MfKhUQ52C*r?J+) z2dv-1x_6%WhRTEcxZS%jDuWmh1C_fI#I-8vbebed+5n~0%VM!e9LE~~vRUZdiL9=| z?r;MTul!H_;zhL96pKZaQZH2y1m{bo(vA7~`Hw$TxUMaku~8aMisZvrnVKRihTQOQ dsjI8&{5#5Ng9j%04W0l1002ovPDHLkV1ll-ZH52< literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/php.png b/pkgs/webapps/apache-theme/theme/icons/php.png new file mode 100644 index 0000000000000000000000000000000000000000..22c4df637f8429fb781e167889714665886b027b GIT binary patch literal 757 zcmVwzjr4H8o)v#)inA=aI=| zNT<^ugp{()G)<(G|1$ulX_88%+Jx)6xUTyfn910rzbulsOW3v~ZaC9}j)ffCh9p9M-Q#r~g^s>3yyvk%%^wQcQneqPXG!Fq{2JG#aI4%O(JRWaih^ zt9URdP)cDarN}K7aXk${V}nUJ947s30RYD9u)DZvX2EYh4yoDOGks2$8ZZ3n?X9>kXxp63em>LZn0}6uLY)IoXp; nCUspAW*e%-3t9$XdBv&J#l1wyr;YyJHth`IE<7%wHVKbeV_{1OZyD z)(7El#rgBqvsn2?kWyw&P^nbl`~C%?HDNPm7zUVm9~7mGX4~M)mcn`{@yYMN+lcY* z{y8u+j4=>eX-NGWz@Xsfi(g2h6mcYxL@AQEyYF#C1VM_RH4haeQHm4ejH9lD>cky2ztO?1XI~Mt3CLOf3Cuph=P<>cm)lqiC6YvenNfeW_z0D%-Dv+?N-21r2O-3o wsGV`|EjOAAn@g+C;$rsiY}@vFu~@AC0VdIO3`JCdIsgCw07*qoM6N<$f{kDgMF0Q* literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/png.png b/pkgs/webapps/apache-theme/theme/icons/png.png new file mode 100644 index 0000000000000000000000000000000000000000..1fe1ec4ef1c8fd7ab601f5e00cfa02a39db0fca7 GIT binary patch literal 679 zcmV;Y0$BZtP)P?Y%G;*G@{2NuK$cmd$e+m~2t(bigiUtY42tP{l%PAM*@ z6N>2-^|=g;qsRhW86Zv}UJwy32Pxs4MH^$7XP&3GR*C8%rt(bcA$cRmx(sC%&c%#| zbHu(yE2^VJh`c5@=C8p5Aj;=q!^BKrY^*x=DMVB!l7 zf1Xg+0j{bT)>a$F#qEL@T8_ zhlhuoTU%R%VR)mkF@|=#jZ&(k8;!4gRk{tyW9t%H?v#JxNhSup*ke_Y177tfbEU6bS)9 z9LHFvit)O~pvX>wcF^$*QXAdxIpKv1+*zQ}*<|g4r3;TV(N1*C5HAo1; z#TR%rySa{6k)ct3ja}|9R3fndEvN(pu?4_Bys^6$jS*kDlkOD}f`lN6L_|+a@2o722Pa@kqb@l7K}lw zHMH7$kxA}x98<5?vDP;1Naf`1&yDxDKFqHV0Bq+U|JP^A=kv?OV)6PP+-q|zm%SuV P00000NkvXXu0mjfeHs}( literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/ps.png b/pkgs/webapps/apache-theme/theme/icons/ps.png new file mode 100644 index 0000000000000000000000000000000000000000..05f3ed9304ce3fc8c17598ab5f328709335ec0d9 GIT binary patch literal 817 zcmV-11J3-3P)Zkc9T7L^J0jJ2X1;aTsU|pUbuSPJ!~Q-CZs4^HlUy}Y9sA*>U7?F)3=94 z8dvy|cX`S8`@ir1zJFqUef^5o`d+Km`o19zq2k!ebR|expp;^HdAYH_zrP~FFud=1 z-b8}WuWQEwTt`qCILXq|5?X7wSS7-KNTP^mSk zH6;H3PNS)q@Nzu)`!8l@X4u@^WPX00Fbok&DU4}r?!2v2ZA4!wUz!{sleSn}TO*xL zGdDMf)*2}#B93E>F-XMDzii;Rtpv9hv)QVPqmIwL&a zJK#etq#8t2g9t|?ng7}2RK~#=!}`;w6pKZsr>7|t3ZzmgfDYi@!6&Nqh-y7T>zEst zMmU)k7-J}x%Y2)D2}l+e7O-ubo}M1G)`-u5gL*_YXaaEgLIKyY4!ub=UU2oi#rwb` zm&-9cJdD;F-}gH&m>TaV2qg#gCds5Z{F#>eM8>=(nHl9;@ee%D!}onEl?qbI4xlgB z#qZb8VI>nh`g4~sYTwtMucE>RRX=2KaFAN9hVT1_0$=RG)WiVGH!t$j**p&)modiR zzj?+#FSdB+P7wqFmSxf1-Az89$F}XZ2TCb~5beO6u=(}sD2=A(pTI;rnLWuIl#>ScP@o{Y1KHPy5j>XXF0fv5iL?V&slM<7{WM*<1esGdqMkk@_0b00000NkvXXu0mjf__%gE literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/psd.png b/pkgs/webapps/apache-theme/theme/icons/psd.png new file mode 100644 index 0000000000000000000000000000000000000000..62718ee28131465e8562c8de6536015ceecdbe69 GIT binary patch literal 622 zcmV-!0+IcRP)!K5aQ&k_}_K`bH?6}qSh{s0H* zAWp7|bQLPL;NU+X#Z7T=sJa*jM{yBiDmtW4c#VSz#h?g@p_Q~s>izMqgCw;vDdr1j zI2_LBe$TnbDHIA9wAM305FDisxvuLAA#OSOeBMu|)0tE%h3mTi)f@x?wOWlzrLrib zlo`+SkW%(z0MGL%l}Z_5jKLTKz>~MD0EC6Zu0)8F2e%O!aJm9oeL`!EwHAQc+%m~n zh(y$-QdbPe1rM+9W+)o!3ej5QDy6X2Vy(q!#aMcPM-zLvc`-?KrOE5XwRXKTlu`&| zOxuChidOCox@fIfmzwAAmdU>Vj?w{VkHncAPqoL`G=kBZ&-EscbKiKi(7>^V6QfbC z-CyGLq3w*1C0SR&Uk~a|fa2qqH5xyDvCoTe`|=3;cZS)U4Dsf}3OfcJuAWP64LEbm z#_8b*80yO2_Z_p z?<1w`c`%(JrNsArgb*bWi^ZnO9iSRC!gK_n6>ClZON-;8W$u&VD`_y7O^07*qo IM6N<$g325ja{vGU literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/py.png b/pkgs/webapps/apache-theme/theme/icons/py.png new file mode 100644 index 0000000000000000000000000000000000000000..0aaffd184f9232cfc840f813b64853a1357930e3 GIT binary patch literal 743 zcmV?P)ND2lMwVy&go3Yf2d=G2jc zWby?ZzmN3*?mv8-FxFanJ!y==S_?q4-C=I&9h*VObY+!Rr;Co@N1(AzC*gWA#vrxU zSZjIm@(r`EztHSNY<6RUMw3oAL^&RBUtl8xBhw z5g%HDugarE78MDy=?odRC=~XvGh867-c4pC6N1p7;ta0z@LWsO_=Jzbb0F)6TpE3k z7iAz)5H+yY{+iGeXr;h$Ncldc#yq#qykjWW#_BF9*Cp=@Xe>h%5XWp6q=m+}7Q#&~ zPrT>QNFLhjpgW-2u+;+H1>q5DkIZj@=n1Z#JI;RRBRjeu*wxntvy64NXtp-^vDKoX zeZGk@tE!A0I=lUX;nE@A$r79~c;z Z`Uxh$hCuM3=j;Fg002ovPDHLkV1h=!S8@OV literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/rar.png b/pkgs/webapps/apache-theme/theme/icons/rar.png new file mode 100644 index 0000000000000000000000000000000000000000..8a0ff54f4eb81cd34ea804e3388abe1b7352046a GIT binary patch literal 621 zcmV-z0+RiSP)Y6r3(E9x@HK7 zpsr35a8PjUC}_ugf#M=ahr}=8q(m)6B}s=S=?yeZ@#da$?#YcqBtw%*`@-Rc1Hb3@ z!0T+i`1ruu(L0=Ql^G+X!>jktDHe+WY;SM#_Gy_gaB5OIFQw=Co9Qc;^VhT2h)6jN zhzX(}qLfM{0IJn0ch}db?>1LE?SoA@@cn!up5kElh*3D20z~6uXfm0c{B?i#NyJms z{bpVor8(|+Gs6H*biB*uGPPO_fItU$hXF=ugi;FSX|!)i}Ex| zDWp~kqx8&nfLIU#pin4KsZ;czA0uW2cdMn+$ zAYJRR_wZXbwU9bbo_7B*>wfZFDZJe1``32E8-3242Qcqs8^X)Qr7|(K+`pf>mAQiu zku!zEa7d@IlWCb>d(Ne`Cyz$PdlQEG#(4~cm}@$*`PY8|;3*p*@h`O500000NkvXX Hu0mjf^CuH? literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/rb.png b/pkgs/webapps/apache-theme/theme/icons/rb.png new file mode 100644 index 0000000000000000000000000000000000000000..c7db42fcb4a9d0004072bd3c84d53a62f5373868 GIT binary patch literal 781 zcmV+o1M>WdP)Ok=a2u>Xcf;dpfL^KG;7}O>OTMmt;)oN@m&9}e(EeF*? z>7=gl`#h|7!BY8r{;==+BS8@C;15P?T`t(?~5KygF86O{i zYdp{EPp8v(p0_BZM5sM{fP4Fzjst%&cJD5q#>#wdS$1B#!IoqHQYw}DjdKp?+#=Yo z{Li~H1GN8p$;yys?n9B(iPO9vJdNLM@#6Lfn~xsDIfwCm9}!uAXP!Ob&DjBH)Cmb7 z0i7HAm>n5rXgBNlfKy--Nmd>_LS>@Lm(da( zwJBCaWAk}yG0wU94MfPDJ4LHeCk&tffvwl?Pcqjs`>0Y~jp~Auq5*oI2rWpP5jo9ig_FlNm=Ns23 zfB%l8(s)YKRv{u7V(Ii!K{S4cTWs31jr8;cllP0vj+L+qycKa`ot=cdfac66lvb?DtX?Xp6pPGFRaxiHP}OU& z2!g`3TKt%-uuejV(bTX+I}%F;Dv_Y_aRL$@)V{taKxm_hiDILPkcfuqi-mbN*PtzK zvA|kO@8B@6u3nh*a2>*Vc6V*ch00000 LNkvXXu0mjfEw5?t literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/readme.png b/pkgs/webapps/apache-theme/theme/icons/readme.png new file mode 100644 index 0000000000000000000000000000000000000000..3ae48cd0f2bc062c5a7440855f857300a6a3016a GIT binary patch literal 384 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4Oq_H_m^z- zTRP=J)Oea>RsV}!Gm^GD)xPDAZ@Gp?@-u=5eL{3w3Z=9K;osoqy~7g(zoDRwXG-p2N3Ie7`43*p>BGX>l}Zb}hQi Zuj(nc_WMVsJYYaDc)I$ztaD0e0s!K~y-6m61P4TTv9oe|f#{CLzTKP5p;fBGOT(PPUtAJ2>bN z3hkEBRqEv6ltqMgNmt2|cCd5{S^E$&1QlMK5(q+Yu)LvANa%a_<#Z@{G+Imj;BXI| zd%o{G=OmiV=5u4r!EiWS;SR7Y%Tr3dO}MV><#M^@>FH@K%lfb8;c&>+)fE>P7cCV8 z!E!d6B?yAM7$BR?(r&kxRTM=;Q8ZTUcDuN)OTXV|NJRhlk|zd4QNW zl}eF%`GTMKGkhz&;=%iOB%eJc3`49aiVzXDwzf#8)2ywnAtHYby}HW1xjBB6KOiFG zBUGzZ=I7^Q)!Xp!%V%UTKtz6zFe2F7+XG;Gdz=0JeR8=R>+9>x%*;?Km6)BK04FWU}Kp&dx7k_+PkE38Rt#0000K~y-6m6Fd(R8bViKli=+9K~p$CrwGBiz2B;A= zD2rO=-%z@!MO2Fn%&=9f7PjdJQuKomLdc4sp&z_)H3MeaqFL6W8Q;C{o))Gsj6!qZ zY!2sq&i8xnRk>WQ&ssa`oa>^F@H{WlT3=K%Gc!>~M@Kf3$>4e3e+@h5D3wag&(G&| z9LL!(42k2o9sz`5NTE>3>Lf`>k^}(z_%JHmjcVD0YRRHn_XBE8z{;Gq)*>Ry#a|`( zRf4%`0MwR!=$`ASjcsc}thIQ?7(@gSL7#n%-#dodbsh;ekt}{>>Cp*nG=Yd)?ORD> z3|^8Xs|A~XfZ*eG528;$fo+FyFsSA+Yh4BZPgZ503w1ua2ap=QCy|M($p0yFD~Hk9YnSF;>v%hyt-6nr3T=4pCjlW zA$4W~Y21v-zr=ibNYHl;X$Z03a@e`|>jO+-n)1_Oq+tUM$H#DqM`daRaf07@3}*!U zBdP*a-JtyZD)Rd$k_e3_Z{qLl$3)Mt3!hP2vpD0hixI)U{@NRKor0zee&-QH1l8KT zymcYMYwf}r!FukaG?EdWB~FW(&FL z7~eF=Fh?Xwf|POS N002ovPDHLkV1h8F5N7}Y literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/script.png b/pkgs/webapps/apache-theme/theme/icons/script.png new file mode 100644 index 0000000000000000000000000000000000000000..1099b5fe5b173d0c312ad7022c892e7773784a18 GIT binary patch literal 613 zcmV-r0-F7aP)i!L@rbgBeekXZkP zVE%(r6#J2GBCegKgsKz~ahFa)xm_HhOOh!8>Doo@PzlNVzSkjN9eWR)<-qx!=R7=K ztJSI+V-B2iD`Y68R9i%LytA{jcBxbFP3(n8aJ2D&&%W)ht91gPx zAdX{tyj7>51D#l_wKj`-jB7Uotb00000NkvXXu0mjf53dke literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/source.png b/pkgs/webapps/apache-theme/theme/icons/source.png new file mode 100644 index 0000000000000000000000000000000000000000..5bef920766b333d4917efaf794b054b46632771c GIT binary patch literal 586 zcmV-Q0=4~#P)*9Rs1h``+!4`b3(7@xbNY z%Q@%cJNGKxZuhYe;>dBFZEg{&s`fQad#SWqt$r{Vj0FM#R8?K7*>M~ulL_PT_^URZ zPGh>R^XTM+UBlo@ug9)o@HP_R*ZVAY?>zuu8h^C_(RH1{U=ULpjfPAnlee*Vqtof2 z2_cYDl07{oWf-)3JyM3jo2@Op{SrUFwYU?x55Vv3;sQVjfl{m0WICN*$)MS6qS>~M zlyW72ZQJt^a%X1%q~dX2hr?LUE!MN^T;;FGeav0wHdC~RZ7!Z%%txqHDl(JFtYlEH z*XIU>LX|{f2Y`HjgF>MSKq9e2KEH7zKnO7h93MY(6F1%e2T*5#*|HC8>;s#%>Y96& zQnL4HkHhidLhXXVER=T&0GC{%JXKtS^M~jE*tiCkWw}(}2OrK0XJMC8vj2IX(vOl` zXIa+uFOL7t`q!MD#7QwHA4vqb$oeGR7>@GzBw*nZMm2O;a3?#|1GnthE@1VGIF;5MX8y zGo$bOQRcgt8RVRUwf4UPoO2)m@H}r6KL9AD002}~6|~j}f?!mDF$Pstf$F-(>2yMt zWiZA(aHN!f)dc_|LJ$NfiUM_AgOVh{^?F5FmbhQ!Uja%f#Bq!yNkEs&1@rkFzVDAh z==&a<%?8xAE%H1^mSyO=?r~Bf#2<$HpZLCyFbq)?1=_X+X{{d!A2;|)_YLAWhSnO? zG!166877m-D1@eIuwJi0Q51FC?KWI4m$24?nK2B*rwBp_D5XF|*zfm2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4`starVhW?6V_7VF+B}sPyZA0eS?@d$ z#eMQj!8uz(S^A z_uV}#-A9?6IzIB7&E}nUdTF_1ph&V~XsE%l3eK?ASL+YHEZS+4yFI!k@rOXp+SY4Q yE+t%LyYEI{HkqG$+wQlBOW>EyaqI2t7#)vK+t0cw<25i089ZJ6T-G@yGywqaxuc5! literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/tex.png b/pkgs/webapps/apache-theme/theme/icons/tex.png new file mode 100644 index 0000000000000000000000000000000000000000..1487b253863859568538f1edba54dcb97e424039 GIT binary patch literal 677 zcmV;W0$TlvP)&_93$f8ou+raPpEihLl!RnVkbp=UZGytgo4hS{6E_Hp9=OHh-E-c#ocoMM zqft^y9goN3pL_$RX}Tiv%c$4uZYq_^B@zit)BF;7JRUO~4tachyc6H|bMbf_-}k>` zfOtGkx7*E07>0yl_$@NPgeOWVE-o&3dwU}cLn4s~@9*zyZEdl*xClVKUgzfKhH|+~ zI-TbH{G4nyODq<{41$2+aLCTi4xLViN~MD1I6OZ;qqRnBO`%Z0vMgGy7O$_b*tSiv zSR@DnBn(3~Ha5^&1E95LWo3o4vokW83?f3i-DYoZkHf=5dc7X|`}>H<#|XJxZu*+m z8pm-+CX0q?8l@DbQff+^IG9wc)#CK@lzcvqX_~}h zF;-VsxxBob3dls@;o*VNXhgHwq*yEhAR<_nh3mRpU0rc>bcEKLYPCutk(d<#*xlWo zapO1+>+9=uIvrA}6oz47Sr)Zg4Z|=P3ucuc=V>$=Y;SL4 zSr!0mYij`X`~6u56D%(;b8>PrJ#TJqV%zqozUc@-5FjEmm$q$x+P;4Ulv00E5RtCy zy7<07lfeJV_kCQ~MMSz1jYbbV&pW=qzyI;2Pw*FWb93Ip!otCC_u5Q_pbG+YL!FW8b-ND~^m|(lzR@|=FD?t#{)+z*yF^CAW*{lNU_xmN+-(+hoo`}Rz6rr^y z%d)4A)|x1a5Rq6~t=2M0lGW*SdV6XCKhtbBlXknk{07ed_tgh+a3uf$002ovPDHLk FV1o4Y#MS@+ literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/tiff.png b/pkgs/webapps/apache-theme/theme/icons/tiff.png new file mode 100644 index 0000000000000000000000000000000000000000..819e64cdf7aa0880edaddfdcae40cbecb88bf435 GIT binary patch literal 654 zcmV;90&)F`P)NH zX2R|l;8VCb8dq0Vhz1)6OG2v&wNWZiNZa?XLx(yUd#1BIzdYwWj~pHzKDXBHr<5ME z#E8gop67dVaBy(kYPH(UW)r207THCIw3Ty2$2B@lvZnxXcy!RY` z_{95{Z%DcX(MWViun?yxEGjv)SQH*D0e}~8U*o+e^WJkY_|10X4rB!hjdL@IQ%XHS zVTnEIDB!bsy379;fMFTm0BIqO(g#i&%5S(*! z2f3-S^Xw5frz51uus??=HN(^bN*T1dO_&tKi6LJtP^BS?nV%3sKr4kBPuYIj;<|T1 zDA&jvtH|t(VzXk}n<3>o)K@4TY#>?~i4a0SdG8ScNsz1ugxb9=?AbNp%HW2Ud~Jh# zWd$)AVLWB}{SruvCnky9{5WTNc}1`R_jQ8!87d3pS2L0u5`0OD3N_Fmpwj9B5VOd5 zFhFM+F-E*~cxw^m&id{}Mar=yWV zZ~y@8b~`AFf_l9U0N|X1G4`MpLV$42A*D>BQA%+>pHV0jkjZ3lxm*&iSS&thIp-j8 z{1~ND3B%zK03f9VV+;ULE|*~##)CEtLy)+_Gn`H*+-^72YBltFy)QZ;#A}1iW&_){ z(d~AVM1LB5IpXJGjG@(PrSgAG(C_y_2ubB%8m!lAEEWscwvA@9nQD+)VYyu5e!s)_ z{g)L~Aq3*T@Odbu&~+V+M&s!+=lpjCLWt)$&i8h^4NcRMc$Q_svaF}q=bXcJT@XS% ulFQ}Z=kxi8>$=~b7EOV!>vO{}-hTnuq;A%qk8}k90000bVK9&T^bZ%$A7 zd4GQp;Du%Juvny1kH+w{S{)KA*G~P zEItb`o6Sf`DbZS^wI&QhT-T*mtKqsXVHhU8$z(#a*-UD!HBw51QVL@X0G&<;-}fn% zN_d{fVzHpzZqsVDm`wIPK_c4jE2aLJsI|tjENt7R*X!Z?KJ)n;+qSVRYiHN(e9wbMqd}oi zU^E(0E|;lRt2=l8s|QlbWHOh_;W!SC7n0000_G$Pd)0ltf5e&YhnWvk7c>zU^S{oO8Z2>f++!XYc(R zrPPa;-~2_e(mK0l zw@jx~ep^kbn+k19bXk1y7qWt3x96u{9(j0pplKRR2;oCjRo`o^nH|=-1GPol5@p5= zM)_fIR7N3kM^#m%ls=dkQ5Dzy9%rwjNy?bXk6(V5H<6&N)&_AGOx6{{@fk VbEjPP6gB_=002ovPDHLkV1im-P$mEX literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/xml.png b/pkgs/webapps/apache-theme/theme/icons/xml.png new file mode 100644 index 0000000000000000000000000000000000000000..83a83df91a6742767efeb2be12dcefdb9e5c8d6b GIT binary patch literal 585 zcmV-P0=E5$P)kv~VLT#6P4fg9gd>=S~+fH;pZ&8JNWkXU?2COwjA~cARsE zd7gh{g-}YRTI5kQh8WLehH z-g~_FD-8q8=d^PU5qYIiKm`B<6GLDRuLj?>%aMLUepVcsAs5 zf15liAtHqRd;HrfKCX~QB_8*;3D1T^#}|kQ&bfsL!P680q!bjMgkOi4&bx(2r2v5$ z_JyEOFxlP0Zf>xCbP7{PFn&g7Kbg)6rjGTaQ|#sjlijU92}Fd+UK`ttQ8y2idqZri zj<1#x5!B5Cwiz?oYZv&X6Xx;s=>viFh*pd3fNR#UtvB!+_OAp0q7`|w_EJdE;}xzT zu-2lrUg;B^b2AUL)>)dS7-N>6rwAx%@X)|swWs|SO@;IQBCzh6Z`6h(tLjt_nT XjRR+gDFH-y00000NkvXXu0mjfvlaK* literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/icons/zip.png b/pkgs/webapps/apache-theme/theme/icons/zip.png new file mode 100644 index 0000000000000000000000000000000000000000..cc196c1eeeecf71a4ad125c1e8ce6414aa2e7112 GIT binary patch literal 617 zcmV-v0+#)WP)|WK~y-6m5;wq6j2mL&n$NrSwmn&HYkx&LLdPfEhM&9J2w6S zCMIeutf;K0tfa)m%Fc?IIIEqlg_3AkF%(;9ASfY77G{^3H}99l7!t#70$=iqcawX* zbA#rG2e&h0pF8ho=$4?w-G^_f)oK9L>vdLM-l2eAFG=5mbUN*&3)L&rV-u4Uq<9ig zI7h4_?mc<}!0R{fn4G=E&d;@({oSo4QJr*pbfk}6YXA@t78e(DfHhdv zMk|FFmEy9auI>2=IUo!}qA1EwFb0<$VN^=NDAlt)H*f$%QA8Mq{|p>9OE5|yI#akT z>1p7sJz?Oi#bpUPQ;4;KRlNa08Z$pvJ#L?$t76j_s}iggB-I1>Ai$~pt^nU^@?v3% zpm;t1>loc?LNGw8J<@K)nEo3Kj*s`W_&=8@4qYYQ+os+6galGzbL}HX2dz^A@|1^$ z38aizt(lm;$>7D)8sv%hwpri&jCd)r^?jAjpZ8}1oFA#;rG$8OxYH?3ja>_Ci1eLm z*%-^$)o*yUu@k&{eEELsz&%S8)w383^s_rWRCxLqgntx*WUqE=00000NkvXXu0mjf D(KZJc literal 0 HcmV?d00001 diff --git a/pkgs/webapps/apache-theme/theme/style.css b/pkgs/webapps/apache-theme/theme/style.css new file mode 100644 index 00000000..4d25c9fb --- /dev/null +++ b/pkgs/webapps/apache-theme/theme/style.css @@ -0,0 +1,160 @@ +/*------------------------------------*\ + Apaxy + by @adamwhitcroft + + Theme name: Apaxy + Theme author: @adamwhitcroft +\*------------------------------------*/ +@import url('//fonts.googleapis.com/css?family=Open+Sans'); +/* Have to use @import for the font, as you can only specify a single stylesheet */ +* { + margin:0; + padding:0; + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing: border-box; +} + +html { + min-height:100%; + border-top:10px solid #ECEEF1; + border-bottom:10px solid #ECEEF1; + color:#61666c; + font-weight:400; + font-size:1em; + font-family:'Open Sans', sans-serif; + line-height:2em; +} +body { + padding:20px; + -webkit-backface-visibility:hidden; +} +code { + font-family:consolas,monospace; +} +a { + color:#61666c; + text-decoration:none; +} +a, img { + border:none; + outline:none +} +a:hover { + color:#2a2a2a; +} +/*------------------------------------*\ + Wrapper +\*------------------------------------*/ +.wrapper { + margin:0 auto; + padding-top:20px; + max-width:80%; +} +/*------------------------------------*\ + Demo block +\*------------------------------------*/ +.block { + font-size:.875em; + margin:20px 0; + padding:20px; + color:#9099A3; +} +/*------------------------------------*\ + Table (directory listing) +\*------------------------------------*/ +table { + width:100%; + border-collapse:collapse; + font-size:.875em; +} +tr { + outline:0; + border:0; +} +tr:hover td { + background:#f6f6f6; +} +th { + text-align:left; + font-size:.75em; + padding-right:20px; +} +/* 2nd Column: Filename */ +th + th { + width:65%; +} +/* 3rd Column: Last Modified */ +th + th + th { +} +/* 4th Column: Size */ +th + th + th + th { + width:5%; +} +tr td:first-of-type { + padding-left:10px; + padding-right:10px; +} +td { + padding:5px 0; + outline:0; + border:0; + border-bottom:1px solid #edf1f5; + vertical-align:middle; + text-align:left; + -webkit-transition:background 300ms ease; + -moz-transition:background 300ms ease; + -ms-transition:background 300ms ease; + -o-transition:background 300ms ease; + transition:background 300ms ease; +} +td a{ + display: block; +} +tr.parent a[href^="/"] { + color:#9099A3; +} + .parent a[href^="/"]:hover { + color:#2281d0; + } +/*------------------------------------*\ + Footer +\*------------------------------------*/ +.footer { + text-align:center; + font-size:.75em; +} + +h1#pagetitle { + text-align: center; +} +tr.parent a[href="/"]{ + display: none; +} + +tr.indexhead { + visibility: hidden; +} + +th.indexcollastmod, td.indexcollastmod, th.indexcolsize, td.indexcolsize { + visibility: hidden; +} + +.instructions a { + text-decoration: underline; +} + +.instructions h2 { + margin-top: 10px; +} +.instructions em.important:before { + content: "⚠ Important ⚠ "; + color: red; +} +.instructions pre { + width: 50em; + padding: 10px 15px; + display: table; + border: 1px inset black; + line-height: 1em; +} diff --git a/pkgs/webapps/awl/default.nix b/pkgs/webapps/awl/default.nix new file mode 100644 index 00000000..8564fc3b --- /dev/null +++ b/pkgs/webapps/awl/default.nix @@ -0,0 +1,16 @@ +{ stdenv, fetchurl }: +stdenv.mkDerivation rec { + version = "0.59"; + name = "awl-${version}"; + src = fetchurl { + url = "https://www.davical.org/downloads/awl_${version}.orig.tar.xz"; + sha256 = "01b7km7ga3ggbpp8axkc55nizgk5c35fl2z93iydb3hwbxmsvnjp"; + }; + unpackCmd = '' + tar --one-top-level -xf $curSrc + ''; + installPhase = '' + mkdir -p $out + cp -ra dba docs inc scripts tests $out + ''; +} diff --git a/pkgs/webapps/davical/davical_19eb79ebf9250e5f339675319902458c40ed1755.patch b/pkgs/webapps/davical/davical_19eb79ebf9250e5f339675319902458c40ed1755.patch new file mode 100644 index 00000000..2a08a5c1 --- /dev/null +++ b/pkgs/webapps/davical/davical_19eb79ebf9250e5f339675319902458c40ed1755.patch @@ -0,0 +1,26 @@ +diff --git a/inc/ui/collection-edit.php b/inc/ui/collection-edit.php +index 3af9edd3b8c4ad9074113273175098841af6a28e..8c1d84012b035f7bc7faedcb24916581a02a5d3e 100644 +--- a/inc/ui/collection-edit.php ++++ b/inc/ui/collection-edit.php +@@ -190,7 +190,7 @@ $privilege_xlate = array( + * @param dbrow $row The row object we read from the database. + * @return string The formatted privileges. + */ +-function collection_privilege_format_function( $value, $column, $row ) { ++function collection_privilege_format_function( $value, $column = NULL, $row = NULL ) { + global $privilege_xlate; + + $privs = bits_to_privilege($value, 'calendar'); +diff --git a/inc/ui/principal-edit.php b/inc/ui/principal-edit.php +index 20dee7fa4ca2235ff2f74be0dfb52cbe937ef822..2e37cd596b597bcce1e59d7c02a1c5fc2a7f88ce 100644 +--- a/inc/ui/principal-edit.php ++++ b/inc/ui/principal-edit.php +@@ -454,7 +454,7 @@ EOTEMPLATE; + * @param dbrow $row The row object we read from the database. + * @return string The formatted privileges. + */ +-function principal_privilege_format_function( $value, $column, $row ) { ++function principal_privilege_format_function( $value, $column = NULL, $row = NULL ) { + global $privilege_xlate; + + $privs = bits_to_privilege($value,'*'); diff --git a/pkgs/webapps/davical/default.nix b/pkgs/webapps/davical/default.nix new file mode 100644 index 00000000..52d87366 --- /dev/null +++ b/pkgs/webapps/davical/default.nix @@ -0,0 +1,20 @@ +{ davical_config ? "/etc/davical/config.php", stdenv, fetchurl, gettext }: +stdenv.mkDerivation rec { + version = "1.1.7"; + name = "davical-${version}"; + src = fetchurl { + url = "https://www.davical.org/downloads/davical_${version}.orig.tar.xz"; + sha256 = "1ar5m2dxr92b204wkdi8z33ir9vz2jbh5k1p74icpv9ywifvjjp9"; + }; + unpackCmd = '' + tar --one-top-level -xf $curSrc + ''; + makeFlags = "all"; + patches = [ ./davical_19eb79ebf9250e5f339675319902458c40ed1755.patch ]; + installPhase = '' + mkdir -p $out + cp -ra config dba docs htdocs inc locale po scripts testing zonedb $out + ln -s ${davical_config} $out/config/config.php + ''; + buildInputs = [ gettext ]; +} diff --git a/pkgs/webapps/default.nix b/pkgs/webapps/default.nix new file mode 100644 index 00000000..8c3eb0ef --- /dev/null +++ b/pkgs/webapps/default.nix @@ -0,0 +1,114 @@ +{ callPackage, mylibs, composerEnv, lib, private }: +rec { + adminer = callPackage ./adminer {}; + apache-theme = callPackage ./apache-theme {}; + awl = callPackage ./awl {}; + davical = callPackage ./davical {}; + diaspora = callPackage ./diaspora { inherit mylibs; }; + + dokuwiki = callPackage ./dokuwiki { inherit mylibs; }; + dokuwiki-with-plugins = dokuwiki.withPlugins (builtins.attrValues dokuwiki-plugins); + dokuwiki-plugins = let + names = [ "farmer" "todo" ]; + in + lib.attrsets.genAttrs names + (name: callPackage (./dokuwiki/plugins + "/${name}.nix") {}); + + etherpad-lite = callPackage ./etherpad-lite {}; + etherpad-lite-with-modules = etherpad-lite.withModules (builtins.attrValues etherpad-lite-modules); + etherpad-lite-modules = let + nodeEnv = callPackage mylibs.nodeEnv {}; + names = [ + "ep_aa_file_menu_toolbar" "ep_adminpads" "ep_align" "ep_bookmark" + "ep_clear_formatting" "ep_colors" "ep_copy_paste_select_all" + "ep_cursortrace" "ep_embedmedia" "ep_font_family" "ep_font_size" + "ep_headings2" "ep_ldapauth" "ep_line_height" "ep_markdown" + "ep_previewimages" "ep_ruler" "ep_scrollto" "ep_set_title_on_pad" + "ep_subscript_and_superscript" "ep_timesliderdiff" + ]; + in + # nix files are built using node2nix -i node-packages.json + lib.attrsets.genAttrs names + (name: (callPackage (./etherpad-lite/modules + "/${name}/node-packages.nix") { inherit nodeEnv; }) + .${name}.overrideAttrs(old: { passthru = (old.passthru or {}) // { moduleName = name; }; })); + + infcloud = callPackage ./infcloud {}; + + mantisbt_2 = callPackage ./mantisbt_2 {}; + mantisbt_2-with-plugins = mantisbt_2.withPlugins (builtins.attrValues mantisbt_2-plugins); + mantisbt_2-plugins = let + names = [ "slack" "source-integration" ]; + in + lib.attrsets.genAttrs names + (name: callPackage (./mantisbt_2/plugins + "/${name}") {}); + + mastodon = callPackage ./mastodon { inherit mylibs; }; + + mediagoblin = callPackage ./mediagoblin { inherit mylibs; }; + mediagoblin-with-plugins = mediagoblin.withPlugins (builtins.attrValues mediagoblin-plugins); + mediagoblin-plugins = let + names = [ "basicsearch" ]; + in + lib.attrsets.genAttrs names + (name: callPackage (./mediagoblin/plugins + "/${name}") {}); + + nextcloud = callPackage ./nextcloud {}; + nextcloud-with-apps = nextcloud.withPlugins (builtins.attrValues nextcloud-apps); + nextcloud-apps = let + names = [ + "audioplayer" "bookmarks" "calendar" "contacts" "deck" + "files_markdown" "gpxedit" "gpxpod" "keeweb" "music" + "notes" "ocsms" "passman" "spreed" "tasks" + "flowupload" "carnet" + # FIXME: fix passman for NC 16 + ]; + in + lib.attrsets.genAttrs names + (name: callPackage (./nextcloud/apps + "/${name}.nix") { buildApp = nextcloud.buildApp; }); + + peertube = callPackage ./peertube { inherit mylibs; }; + phpldapadmin = callPackage ./phpldapadmin {}; + rompr = callPackage ./rompr { inherit mylibs; }; + + roundcubemail = callPackage ./roundcubemail {}; + roundcubemail-with-plugins-skins = roundcubemail.withPlugins (builtins.attrValues roundcubemail-plugins) (builtins.attrValues roundcubemail-skins); + roundcubemail-skins = let + names = []; + in + lib.attrsets.genAttrs names + (name: callPackage (./roundcubemail/skins + "/${name}") {}); + roundcubemail-plugins = let + names = [ + "automatic_addressbook" "carddav" "contextmenu" + "contextmenu_folder" "html5_notifier" "ident_switch" + "message_highlight" "thunderbird_labels" + ]; + in + lib.attrsets.genAttrs names + (name: callPackage (./roundcubemail/plugins + "/${name}") { buildPlugin = roundcubemail.buildPlugin; }); + + spip = callPackage ./spip {}; + taskwarrior-web = callPackage ./taskwarrior-web { inherit mylibs; }; + + ttrss = callPackage ./ttrss { inherit mylibs; }; + ttrss-with-plugins = ttrss.withPlugins (builtins.attrValues ttrss-plugins); + ttrss-plugins = let + names = [ "auth_ldap" "af_feedmod" "feediron" "ff_instagram" "tumblr_gdpr_ua" ]; + patched = [ "af_feedmod" "feediron" ]; + in + lib.attrsets.genAttrs names + (name: callPackage (./ttrss/plugins + "/${name}") ( + { inherit mylibs; } // + (if builtins.elem name patched then { patched = true; } else {}) + ) + ); + + wallabag = callPackage ./wallabag { inherit composerEnv; }; + yourls = callPackage ./yourls { inherit mylibs; }; + yourls-with-plugins = yourls.withPlugins (builtins.attrValues yourls-plugins); + yourls-plugins = let + names = [ "ldap" ]; + in + lib.attrsets.genAttrs names + (name: callPackage (./yourls/plugins + "/${name}") { inherit mylibs; }); +} // private.webapps diff --git a/pkgs/webapps/diaspora/default.nix b/pkgs/webapps/diaspora/default.nix new file mode 100644 index 00000000..eff8d271 --- /dev/null +++ b/pkgs/webapps/diaspora/default.nix @@ -0,0 +1,73 @@ +{ ldap ? false, varDir ? "/var/lib/diaspora", podmin_email ? null, config_dir ? "/etc/diaspora", + mylibs, stdenv, bundlerEnv, writeText, + cacert, defaultGemConfig, perl, ruby_2_4, nodejs, which, git }: +let + diaspora_src = stdenv.mkDerivation (mylibs.fetchedGithub ./diaspora.json // rec { + buildPhase = '' + ${if ldap then "patch -p1 < ${./ldap.patch}" else ""} + # FIXME: bundlerEnv below doesn't take postgresql group for some + # reason + echo 'gem "pg", "1.1.3"' >> Gemfile + ''; + installPhase = '' + cp -a . $out + ''; + }); + gems = bundlerEnv { + name = "diaspora-env"; + # https://git.immae.eu/mantisbt/view.php?id=131 + ruby = ruby_2_4.overrideAttrs(old: { + postInstall = builtins.replaceStrings [" --destdir $GEM_HOME"] [""] old.postInstall; + }); + gemfile = "${diaspora_src}/Gemfile"; + lockfile = "${diaspora_src}/Gemfile.lock"; + gemset = if ldap then ./gemset_ldap.nix else ./gemset.nix; + groups = [ "postgresql" "default" "production" ]; + gemConfig = defaultGemConfig // { + kostya-sigar = attrs: { + buildInputs = [ perl ]; + }; + }; + }; + build_config = writeText "diaspora.yml" '' + configuration: + environment: + certificate_authorities: '${cacert}/etc/ssl/certs/ca-bundle.crt' + ${if podmin_email != null then '' + # dummy comment for indentation + admins: + podmin_email: '${podmin_email}' + '' else ""} + production: + environment: + ''; + dummy_token = writeText "secret_token.rb" '' + Diaspora::Application.config.secret_key_base = 'dummy' + ''; +in +stdenv.mkDerivation { + name = "diaspora"; + inherit diaspora_src; + builder = writeText "build_diaspora" '' + source $stdenv/setup + cp -a $diaspora_src $out + cd $out + chmod -R u+rwX . + tar -czf public/source.tar.gz ./{app,db,lib,script,Gemfile,Gemfile.lock,Rakefile,config.ru} + ln -s database.yml.example config/database.yml + ln -s ${build_config} config/diaspora.yml + ln -s ${dummy_token} config/initializers/secret_token.rb + ln -sf ${varDir}/schedule.yml config/schedule.yml + ln -sf ${varDir}/oidc_key.pem config/oidc_key.pem + ln -sf ${varDir}/uploads public/uploads + RAILS_ENV=production ${gems}/bin/rake assets:precompile + ln -sf ${config_dir}/database.yml config/database.yml + ln -sf ${config_dir}/diaspora.yml config/diaspora.yml + ln -sf ${config_dir}/secret_token.rb config/initializers/secret_token.rb + rm -rf tmp log + ln -sf ${varDir}/tmp tmp + ln -sf ${varDir}/log log + ''; + propagatedBuildInputs = [ gems nodejs which git ]; + passthru = { inherit gems varDir; }; +} diff --git a/pkgs/webapps/diaspora/diaspora.json b/pkgs/webapps/diaspora/diaspora.json new file mode 100644 index 00000000..e6795aac --- /dev/null +++ b/pkgs/webapps/diaspora/diaspora.json @@ -0,0 +1,15 @@ +{ + "tag": "v0.7.10.0", + "meta": { + "name": "diaspora", + "url": "https://github.com/diaspora/diaspora", + "branch": "refs/tags/v0.7.10.0" + }, + "github": { + "owner": "diaspora", + "repo": "diaspora", + "rev": "f0085cf5bb1c45bdfba866f628153d299e56eca8", + "sha256": "02mnb40rdkk6jlnvpy61fad59gbpgnlwz1k35w4wfqdwzq0znaqp", + "fetchSubmodules": true + } +} diff --git a/pkgs/webapps/diaspora/gemset.nix b/pkgs/webapps/diaspora/gemset.nix new file mode 100644 index 00000000..e47f5b74 --- /dev/null +++ b/pkgs/webapps/diaspora/gemset.nix @@ -0,0 +1,3047 @@ +{ + actioncable = { + dependencies = ["actionpack" "nio4r" "websocket-driver"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07r6hnh05db84yr9419mbhyzp20hr8yy9m50jxc2w91ghm2qnrrf"; + type = "gem"; + }; + version = "5.1.6"; + }; + actionmailer = { + dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1s9xcqfx97q4yva2zc4qzb567mwzhry6v3x3zc318aqhcrz31g7c"; + type = "gem"; + }; + version = "5.1.6"; + }; + actionpack = { + dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vz2ms80nqw21c304g3w2vkbs80gadzhi3mcwwym7smxccr37kcd"; + type = "gem"; + }; + version = "5.1.6"; + }; + actionview = { + dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1kfxlz9v7b47pdyy1whb4zzhvaj8h4sp1ajhbih2ax1hkldyg081"; + type = "gem"; + }; + version = "5.1.6"; + }; + active_model_serializers = { + dependencies = ["activemodel" "concurrent-ruby"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19zr5pp84q4ya7mfrcanakjv86lv4wfmbcbbd2xnd4bkyprw5w7z"; + type = "gem"; + }; + version = "0.9.7"; + }; + activejob = { + dependencies = ["activesupport" "globalid"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02lssq8ps98mfg20dyhcpd16f9c0v4zzy7gfbb6ksbs06wrrd4d2"; + type = "gem"; + }; + version = "5.1.6"; + }; + activemodel = { + dependencies = ["activesupport"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10f8cpv4sl1w3m1qj8hl6sd2f1n7x91h45qaf57qr894ll22jgby"; + type = "gem"; + }; + version = "5.1.6"; + }; + activerecord = { + dependencies = ["activemodel" "activesupport" "arel"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1iqkvxzx5bfp8rmlccww0cj1xr6iaxmn3hhbj1dv5j9c8mnm980x"; + type = "gem"; + }; + version = "5.1.6"; + }; + activerecord-import = { + dependencies = ["activerecord"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1bxpbrcwc9k6khizwdikvfbhw9pcvs4sp3h4grpcww5k7bgpliz6"; + type = "gem"; + }; + version = "0.27.0"; + }; + activesupport = { + dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08dm0mgmj31ggk7ib66wfagj4bgbr2jfl500bqb22x0szslz5lll"; + type = "gem"; + }; + version = "5.1.6"; + }; + acts-as-taggable-on = { + dependencies = ["activerecord"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hl52pjgfzy3acdwnbxfqy08m808vlv9dmsyp03d5x7x0y499kvl"; + type = "gem"; + }; + version = "6.0.0"; + }; + acts_as_api = { + dependencies = ["activemodel" "activesupport" "rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06miad13nnfr2gslc203ahsbvj499s9lngxxvfizwp964vglygsc"; + type = "gem"; + }; + version = "1.0.1"; + }; + addressable = { + dependencies = ["public_suffix"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk"; + type = "gem"; + }; + version = "2.5.2"; + }; + aes_key_wrap = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0li86k0g812jkzrppb2fvqngvzp09nygywjpn81nx90s01wxqw07"; + type = "gem"; + }; + version = "1.0.1"; + }; + arel = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nw0qbc6ph625p6n3maqq9f527vz3nbl0hk72fbyka8jzsmplxzl"; + type = "gem"; + }; + version = "8.0.0"; + }; + asset_sync = { + dependencies = ["activemodel" "fog-core" "mime-types" "unf"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0mfz51g8rzk5h5fpdhfkycnm7y4dpfhx46wm7fygna7nd4w9ixdx"; + type = "gem"; + }; + version = "2.5.0"; + }; + ast = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7"; + type = "gem"; + }; + version = "2.4.0"; + }; + attr_required = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1g22axmi2rhhy7w8c3x6gppsawxqavbrnxpnmphh22fk7cwi0kh2"; + type = "gem"; + }; + version = "1.0.1"; + }; + autoprefixer-rails = { + dependencies = ["execjs"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08irrl1mz6skagr1lygq79l34lc0dghgva0v9q7nng76dpiglgj3"; + type = "gem"; + }; + version = "8.6.5"; + }; + backports = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hshjxww2h7s0dk57njrygq4zpp0nlqrjfya7zwm27iq3rhc3y8g"; + type = "gem"; + }; + version = "3.11.4"; + }; + bcrypt = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ysblqxkclmnhrd0kmb5mr8p38mbar633gdsb14b7dhkhgawgzfy"; + type = "gem"; + }; + version = "3.1.12"; + }; + bindata = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0kz42nvxnk1j9cj0i8lcnhprcgdqsqska92g6l19ziadydfk2gqy"; + type = "gem"; + }; + version = "2.4.4"; + }; + bootstrap-sass = { + dependencies = ["autoprefixer-rails" "sass"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1bc9bf6caddqn1rv15b5x56yczmbjzaxzl9lk5zbwrg1bfph4bx9"; + type = "gem"; + }; + version = "3.3.7"; + }; + bootstrap-switch-rails = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zkwc1hfmihnm0n9lkva5zk0cmqpfcpnrwnmaniyvgx7rac2r14l"; + type = "gem"; + }; + version = "3.3.3"; + }; + buftok = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rzsy1vy50v55x9z0nivf23y0r9jkmq6i130xa75pq9i8qrn1mxs"; + type = "gem"; + }; + version = "0.2.0"; + }; + builder = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1"; + type = "gem"; + }; + version = "3.2.3"; + }; + byebug = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10znc1hjv8n686hhpl08f3m2g6h08a4b83nxblqwy2kqamkxcqf8"; + type = "gem"; + }; + version = "10.0.2"; + }; + capybara = { + dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10zj8syak12xd1kqywr35bkr2hkdjq18kij54x1ys8c26h6j4d0m"; + type = "gem"; + }; + version = "3.11.1"; + }; + carrierwave = { + dependencies = ["activemodel" "activesupport" "mime-types"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1k9kla5ncygm97vn33lsrs7ch5zy4qqhhvc8m3khm986yaqh75qs"; + type = "gem"; + }; + version = "1.2.3"; + }; + celluloid = { + dependencies = ["celluloid-essentials" "celluloid-extras" "celluloid-fsm" "celluloid-pool" "celluloid-supervision" "timers"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10i29q7kkdlrhf5rg43xygdfm795a02vp28k2ca3nklmqna57qmg"; + type = "gem"; + }; + version = "0.17.3"; + }; + celluloid-essentials = { + dependencies = ["timers"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1l4p3p73wjdj07ww124q0db5k1cyzggbndzmcb12xbsf2dnj121k"; + type = "gem"; + }; + version = "0.20.5"; + }; + celluloid-extras = { + dependencies = ["timers"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "078agvnsfp78jv343kn5g1cz50147dk0q46blwh5r8lk6whag7ng"; + type = "gem"; + }; + version = "0.20.5"; + }; + celluloid-fsm = { + dependencies = ["timers"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pmpi6h4abpkczp46rd6llk1mldpx19i9hll8mkxp3kxin9slivc"; + type = "gem"; + }; + version = "0.20.5"; + }; + celluloid-io = { + dependencies = ["celluloid" "nio4r" "timers"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1frcpja7h9vcxsw7w7ff550x54rfx514fpv2n6kawbk1j4zrm314"; + type = "gem"; + }; + version = "0.17.3"; + }; + celluloid-pool = { + dependencies = ["timers"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1bfr54ijl95bnhqlabhf5p4ff9n0y2sslc91f49jjn33n2zm755c"; + type = "gem"; + }; + version = "0.20.5"; + }; + celluloid-supervision = { + dependencies = ["timers"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1b41gg1rsmms0m5mshy6h66y5rydl3nv6x9wf050ixfa1s2c8vzw"; + type = "gem"; + }; + version = "0.20.6"; + }; + chunky_png = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05g2xli9wbjylkmblln3bhvjalziwb92q452q8ibjagmb853424w"; + type = "gem"; + }; + version = "1.3.10"; + }; + cliver = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "096f4rj7virwvqxhkavy0v55rax10r4jqf8cymbvn4n631948xc7"; + type = "gem"; + }; + version = "0.3.2"; + }; + coderay = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y"; + type = "gem"; + }; + version = "1.1.2"; + }; + compass = { + dependencies = ["chunky_png" "compass-core" "compass-import-once" "rb-fsevent" "rb-inotify" "sass"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lfi83w8z75czr0pf0rmj9hda22082h3cmvczl8r1ma9agf88y2c"; + type = "gem"; + }; + version = "1.0.3"; + }; + compass-core = { + dependencies = ["multi_json" "sass"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yaspqwdmzwdcqviclbs3blq7an16pysrfzylz8q1gxmmd6bpj3a"; + type = "gem"; + }; + version = "1.0.3"; + }; + compass-import-once = { + dependencies = ["sass"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bn7gwbfz7jvvdd0qdfqlx67fcb83gyvxqc7dr9fhcnks3z8z5rq"; + type = "gem"; + }; + version = "1.0.5"; + }; + compass-rails = { + dependencies = ["compass" "sass-rails" "sprockets"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02ydlbl1qb80myjv5xrpwzhmmj6qd80jf5izvpqhq2bikv84j9wr"; + type = "gem"; + }; + version = "3.1.0"; + }; + concurrent-ruby = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18q9skp5pfq4jwbxzmw8q2rn4cpw6mf4561i2hsjcl1nxdag2jvb"; + type = "gem"; + }; + version = "1.1.3"; + }; + configurate = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1m6cppb4jf7liwc3f5dvgn2v2nhp2jq8ixb9papaqz24f4s8dnd1"; + type = "gem"; + }; + version = "0.3.1"; + }; + connection_pool = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lflx29mlznf1hn0nihkgllzbj8xp5qasn8j7h838465pi399k68"; + type = "gem"; + }; + version = "2.2.2"; + }; + coveralls = { + dependencies = ["json" "simplecov" "term-ansicolor" "thor" "tins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "022kc16np6w4mv17hq3m9hhw9l8hjl78ld3fzqqx6337vwvwvwcg"; + type = "gem"; + }; + version = "0.8.22"; + }; + crack = { + dependencies = ["safe_yaml"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k"; + type = "gem"; + }; + version = "0.4.3"; + }; + crass = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi"; + type = "gem"; + }; + version = "1.0.4"; + }; + cucumber = { + dependencies = ["builder" "cucumber-core" "cucumber-expressions" "cucumber-wire" "diff-lcs" "gherkin" "multi_json" "multi_test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1s2brssrpal8hyhcgg974x3xyhpmvpwps5ypd9p8w2lg01l1pp3j"; + type = "gem"; + }; + version = "3.1.2"; + }; + cucumber-api-steps = { + dependencies = ["cucumber" "jsonpath"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fij6bgzshda68jp7kac0hs5n6xsmv49g8ynqhy6s3znc9d4qjbw"; + type = "gem"; + }; + version = "0.14.0"; + }; + cucumber-core = { + dependencies = ["backports" "cucumber-tag_expressions" "gherkin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1iavlh8hqj9lwljbpkw06259gdicbr1bdb6pbj5yy3n8szgr8k3c"; + type = "gem"; + }; + version = "3.2.1"; + }; + cucumber-expressions = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0zwmv6hznyz9vk81f5dhwcr9jhxx2vmbk8yyazayvllvhy0fkpdw"; + type = "gem"; + }; + version = "6.0.1"; + }; + cucumber-rails = { + dependencies = ["capybara" "cucumber" "mime-types" "nokogiri" "railties"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0pmlza6r2601k1i7v3z8gj4apdcq6qa830bzwkj1pnfjzn4z12n7"; + type = "gem"; + }; + version = "1.6.0"; + }; + cucumber-tag_expressions = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cvmbljybws0qzjs1l67fvr9gqr005l8jk1ni5gcsis9pfmqh3vc"; + type = "gem"; + }; + version = "1.1.1"; + }; + cucumber-wire = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09ymvqb0sbw2if1nxg8rcj33sf0va88ancq5nmp8g01dfwzwma2f"; + type = "gem"; + }; + version = "0.0.1"; + }; + database_cleaner = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05i0nf2aj70m61y3fspypdkc6d1qgibf5kav05a71b5gjz0k7y5x"; + type = "gem"; + }; + version = "1.7.0"; + }; + devise = { + dependencies = ["bcrypt" "orm_adapter" "railties" "responders" "warden"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vs8nibl568ghm6a7hbw6xgcv8zbm4gykprcxpnzi7bz5d4gvcjx"; + type = "gem"; + }; + version = "4.5.0"; + }; + devise_lastseenable = { + dependencies = ["devise" "rails"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1h83h73qjh8fc7lmr089shky8lc3wm4xn653rjdbb0cddflvrx8y"; + type = "gem"; + }; + version = "0.0.6"; + }; + diaspora-prosody-config = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1976ijqjf5jcq1jwr6vi0srjadhbqfa9y3nxyipzcv91pzskl2lp"; + type = "gem"; + }; + version = "0.0.7"; + }; + diaspora_federation = { + dependencies = ["faraday" "faraday_middleware" "nokogiri" "typhoeus" "valid"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xxy6ahlhgyr00qkfmmq0h3nqm6gjkr9i6hsqr0nkb3l6qg0m0yc"; + type = "gem"; + }; + version = "0.2.5"; + }; + diaspora_federation-json_schema = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hfv4cq5wfdg86xmbp5y0h50b11326ymzks1yr9dvr4wa7di00hr"; + type = "gem"; + }; + version = "0.2.5"; + }; + diaspora_federation-rails = { + dependencies = ["actionpack" "diaspora_federation"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wrni7d9084v3pqd3sq8j532wx5ym6kmd959bw29bzwxc3zidd9h"; + type = "gem"; + }; + version = "0.2.5"; + }; + diaspora_federation-test = { + dependencies = ["diaspora_federation" "fabrication" "uuid"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1b09y78pyl9kix8slbybnks2cbq0ac9wml31j2s6qwjixranjsm4"; + type = "gem"; + }; + version = "0.2.5"; + }; + diff-lcs = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza"; + type = "gem"; + }; + version = "1.3"; + }; + docile = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04d2izkna3ahfn6fwq4xrcafa715d3bbqczxm16fq40fqy87xn17"; + type = "gem"; + }; + version = "1.3.1"; + }; + domain_name = { + dependencies = ["unf"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0abdlwb64ns7ssmiqhdwgl27ly40x2l27l8hs8hn0z4kb3zd2x3v"; + type = "gem"; + }; + version = "0.5.20180417"; + }; + entypo-rails = { + dependencies = ["railties"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "124x0jszg6n0k2lcacd627ndlp1fv7cbgnv4scwy5s3czp0qwip6"; + type = "gem"; + }; + version = "3.0.0"; + }; + equalizer = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4"; + type = "gem"; + }; + version = "0.0.11"; + }; + erubi = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bws86na9k565raiz0kk61yy5pxxp0fmwyzpibdwjkq0xzx8q6q1"; + type = "gem"; + }; + version = "1.7.1"; + }; + eslintrb = { + dependencies = ["execjs" "multi_json" "rake"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0kx9sbs7pnl436zyczylnqqb1858hffy66fwdqfmcn18q8xdqwkx"; + type = "gem"; + }; + version = "2.1.0"; + }; + et-orbi = { + dependencies = ["tzinfo"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0wk7i0bmsy46la8gcvbmdns0ni8lmdqas838phj97bdwykxw8m4b"; + type = "gem"; + }; + version = "1.1.6"; + }; + ethon = { + dependencies = ["ffi"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0y70szwm2p0b9qfvpqrzjrgm3jz0ig65vlbfr6ppc3z0m1h7kv48"; + type = "gem"; + }; + version = "0.11.0"; + }; + excon = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15l9w0938c19nxmrp09n75qpmm64k12xj69h47yvxzcxcpbgnkb2"; + type = "gem"; + }; + version = "0.62.0"; + }; + execjs = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1yz55sf2nd3l666ms6xr18sm2aggcvmb8qr3v53lr4rir32y1yp1"; + type = "gem"; + }; + version = "2.7.0"; + }; + eye = { + dependencies = ["celluloid" "celluloid-io" "kostya-sigar" "state_machines" "thor"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gqrrrisy492m6sczq775dyg9sxkl926r8lkr6z33kfb4cnimfzk"; + type = "gem"; + }; + version = "0.10.0"; + }; + fabrication = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0an28kjand4mjbkmnwd9fmgq3y5vf717zpmiijavar3sxqj52zri"; + type = "gem"; + }; + version = "2.20.1"; + }; + factory_girl = { + dependencies = ["activesupport"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cc60v28r7w1gp34p4amzdnq7cyip6qhffvxywsj3ypilyf8jqla"; + type = "gem"; + }; + version = "4.8.0"; + }; + factory_girl_rails = { + dependencies = ["factory_girl" "railties"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hw8qqp30vm4yf4a36r1r65wk78ihxmas7jg5fyl6fcf705z9fvv"; + type = "gem"; + }; + version = "4.8.0"; + }; + faraday = { + dependencies = ["multipart-post"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "16hwxc8v0z6gkanckjhx0ffgqmzpc4ywz4dfhxpjlz2mbz8d5m52"; + type = "gem"; + }; + version = "0.15.3"; + }; + faraday-cookie_jar = { + dependencies = ["faraday" "http-cookie"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1di4gx6446a6zdkrpj679m5k515i53wvb4yxcsqvy8d8zacxiiv6"; + type = "gem"; + }; + version = "0.0.6"; + }; + faraday_middleware = { + dependencies = ["faraday"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1p7icfl28nvl8qqdsngryz1snqic9l8x6bk0dxd7ygn230y0k41d"; + type = "gem"; + }; + version = "0.12.2"; + }; + ffi = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0jpm2dis1j7zvvy3lg7axz9jml316zrn7s0j59vyq3qr127z0m7q"; + type = "gem"; + }; + version = "1.9.25"; + }; + fixture_builder = { + dependencies = ["activerecord" "activesupport" "hashdiff"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1qlq0nyfhjvz09hm0jankl9bgs9672k31b3lmsfq8p135x3xs627"; + type = "gem"; + }; + version = "0.5.2.rc3"; + }; + fog-aws = { + dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zprxg0spvkkri1jf40zg3rfr5h2gq6009d7l36lifpvhjn658cs"; + type = "gem"; + }; + version = "3.3.0"; + }; + fog-core = { + dependencies = ["builder" "excon" "formatador" "mime-types"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fsama04wlxhv537bm4b7rr4zzn0mvisy87m3qzv6f0mhlrq3zp8"; + type = "gem"; + }; + version = "2.1.2"; + }; + fog-json = { + dependencies = ["fog-core" "multi_json"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zj8llzc119zafbmfa4ai3z5s7c4vp9akfs0f9l2piyvcarmlkyx"; + type = "gem"; + }; + version = "1.2.0"; + }; + fog-xml = { + dependencies = ["fog-core" "nokogiri"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "043lwdw2wsi6d55ifk0w3izi5l1d1h0alwyr3fixic7b94kc812n"; + type = "gem"; + }; + version = "0.1.3"; + }; + formatador = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1gc26phrwlmlqrmz4bagq1wd5b7g64avpx0ghxr9xdxcvmlii0l0"; + type = "gem"; + }; + version = "0.2.5"; + }; + fugit = { + dependencies = ["et-orbi" "raabro"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1szijawzdii668z5is9xi849399gy786951dx0l5r2z5mbfqvl9i"; + type = "gem"; + }; + version = "1.1.6"; + }; + fuubar = { + dependencies = ["rspec-core" "ruby-progressbar"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1sqkr1nh49rlm86l3qyrgsdqavgqii4pnrjn7855z6dfavh3spxr"; + type = "gem"; + }; + version = "2.3.2"; + }; + get_process_mem = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1bvfjdign16r0zwm2rlfrq0sk1licvmlgbnlpnyckniv5r7i080g"; + type = "gem"; + }; + version = "0.2.3"; + }; + gherkin = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1cgcdchwwdm10rsk44frjwqd4ihprhxjbm799nscqy2q1raqfj5s"; + type = "gem"; + }; + version = "5.1.0"; + }; + gitlab = { + dependencies = ["httparty" "terminal-table"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nncjmk71ivjxmgkpv100yybry5c7ld6xjgi1b5zsfv4g3mz0v34"; + type = "gem"; + }; + version = "4.7.0"; + }; + globalid = { + dependencies = ["activesupport"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02smrgdi11kziqi9zhnsy9i6yr2fnxrqlv3lllsvdjki3cd4is38"; + type = "gem"; + }; + version = "0.4.1"; + }; + gon = { + dependencies = ["actionpack" "multi_json" "request_store"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07sm7fd94pfscrbs4lyprs0das8s1yn32cw521ch738jaqb388xl"; + type = "gem"; + }; + version = "6.2.1"; + }; + guard = { + dependencies = ["formatador" "listen" "lumberjack" "nenv" "notiffany" "pry" "shellany" "thor"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0h84ja6qvii3hx86w9l4vjpbgl4m8ma8fbawwp7s8l791cgkdcmk"; + type = "gem"; + }; + version = "2.15.0"; + }; + guard-compat = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zj6sr1k8w59mmi27rsii0v8xyy2rnsi09nqvwpgj1q10yq1mlis"; + type = "gem"; + }; + version = "1.2.1"; + }; + guard-rspec = { + dependencies = ["guard" "guard-compat" "rspec"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jkm5xp90gm4c5s51pmf92i9hc10gslwwic6mvk72g0yplya0yx4"; + type = "gem"; + }; + version = "4.7.3"; + }; + guard-rubocop = { + dependencies = ["guard" "rubocop"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1p97zkzasghl1md13rh57n3s2rr2kqly8w4vfn6vaj89igjpagdp"; + type = "gem"; + }; + version = "1.3.0"; + }; + haml = { + dependencies = ["temple" "tilt"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1q0a9fvqh8kn6wm97fcks6qzbjd400bv8bx748w8v87m7p4klhac"; + type = "gem"; + }; + version = "5.0.4"; + }; + haml_lint = { + dependencies = ["haml" "rainbow" "rake" "rubocop" "sysexits"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "125aj0j84nx5gqm42hfx5d8486higlra423ahgfpsdjwbp399rwv"; + type = "gem"; + }; + version = "0.28.0"; + }; + hamlit = { + dependencies = ["temple" "thor" "tilt"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14fsc208qsf46cflk23vs2fdw435dk65fwv55zhziciwn96ld8sf"; + type = "gem"; + }; + version = "2.9.1"; + }; + handlebars_assets = { + dependencies = ["execjs" "sprockets" "tilt"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18pyksz4jb0n28acqxv14ahy8mkc9ldqbbn73gcj28m0l9wjzsca"; + type = "gem"; + }; + version = "0.23.2"; + }; + hashdiff = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yj5l2rw8i8jc725hbcpc4wks0qlaaimr3dpaqamfjkjkxl0hjp9"; + type = "gem"; + }; + version = "0.3.7"; + }; + hashie = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hh5lybf8hm7d7xs4xm8hxvm8xqrs2flc8fnwkrclaj746izw6xb"; + type = "gem"; + }; + version = "3.5.7"; + }; + http = { + dependencies = ["addressable" "http-cookie" "http-form_data" "http_parser.rb"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jlm5prw437wqpfxcigh88lfap3m7g8mnmj5as7qw6dzqnvrxwmc"; + type = "gem"; + }; + version = "3.3.0"; + }; + http-cookie = { + dependencies = ["domain_name"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g"; + type = "gem"; + }; + version = "1.0.3"; + }; + http-form_data = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15lpn604byf7cyxnw949xz4rvpcknqp7a48q73nm630gqxsa76f3"; + type = "gem"; + }; + version = "2.1.1"; + }; + http_accept_language = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0d0nlfz9vm4jr1l6q0chx4rp2hrnrfbx3gadc1dz930lbbaz0hq0"; + type = "gem"; + }; + version = "2.1.1"; + }; + "http_parser.rb" = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi"; + type = "gem"; + }; + version = "0.6.0"; + }; + httparty = { + dependencies = ["mime-types" "multi_xml"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xmm7pxmz3pblkdr76dg7qm5s60kpp3yvh46c2i0bn1dm0zgl730"; + type = "gem"; + }; + version = "0.16.3"; + }; + httpclient = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; + type = "gem"; + }; + version = "2.8.3"; + }; + i18n = { + dependencies = ["concurrent-ruby"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1gcp1m1p6dpasycfz2sj82ci9ggz7lsskz9c9q6gvfwxrl8y9dx7"; + type = "gem"; + }; + version = "1.1.1"; + }; + i18n-inflector = { + dependencies = ["i18n"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "081jr7z947aqjfmpbfs10w9jxi205jwgk4mgd8jds1b4m4i8mc7g"; + type = "gem"; + }; + version = "2.6.7"; + }; + i18n-inflector-rails = { + dependencies = ["actionpack" "i18n-inflector" "railties"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0c04jm657akp5n14syhcwnn3hnsvx7harvg97768bvf3f9a37hyk"; + type = "gem"; + }; + version = "1.0.7"; + }; + ipaddress = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1x86s0s11w202j6ka40jbmywkrx8fhq8xiy8mwvnkhllj57hqr45"; + type = "gem"; + }; + version = "0.8.3"; + }; + jaro_winkler = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rr797nqz081bfk30m2apj5h24bg5d1jr1c8p3xwx4hbwsrbclah"; + type = "gem"; + }; + version = "1.5.1"; + }; + jasmine = { + dependencies = ["jasmine-core" "phantomjs" "rack" "rake"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xfwf163wi5a9i0vlm564cqi6k30h15wnrwd15ph95jfa5516kv1"; + type = "gem"; + }; + version = "3.3.0"; + }; + jasmine-core = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1b12bjfrxvb8mwjwlfyngykd80lz956glcpfz7rhhw7n75b2rdlv"; + type = "gem"; + }; + version = "3.3.0"; + }; + jasmine-jquery-rails = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cq5zd4ng5dlza45whd6sa7bzd60rlddk9760271mybdqyd96jlv"; + type = "gem"; + }; + version = "2.0.3"; + }; + jquery-rails = { + dependencies = ["rails-dom-testing" "railties" "thor"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17201sb8ddwy4yprizmqabq1kfx3m9c53p0yqngn63m07jjcpnh8"; + type = "gem"; + }; + version = "4.3.3"; + }; + js-routes = { + dependencies = ["railties" "sprockets-rails"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14yx3jrd4sgcwgj8yrrqdwl691mci1hcjqyyvp0v15jbzis1bclm"; + type = "gem"; + }; + version = "1.4.4"; + }; + js_image_paths = { + dependencies = ["rails" "sprockets"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1d4kq8895i61a338ddk5f2k16l5lvmnkby9cdjwnmm2jddw4q7nf"; + type = "gem"; + }; + version = "0.1.1"; + }; + json = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp"; + type = "gem"; + }; + version = "2.1.0"; + }; + json-jwt = { + dependencies = ["activesupport" "aes_key_wrap" "bindata"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "065k7vffdki73f4nz89lxi6wxmcw5dlf593831pgvlbralll6x3r"; + type = "gem"; + }; + version = "1.9.4"; + }; + json-schema = { + dependencies = ["addressable"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1yv5lfmr2nzd14af498xqd5p89f3g080q8wk0klr3vxgypsikkb5"; + type = "gem"; + }; + version = "2.8.1"; + }; + json-schema-rspec = { + dependencies = ["json-schema" "rspec"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ip30yjzyigqqp9jwkrw9x9vrfpnmwi160zmk2vkrwlv9pby0wr9"; + type = "gem"; + }; + version = "0.0.4"; + }; + jsonpath = { + dependencies = ["multi_json" "to_regexp"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06i41lwpj0dwvbxcpqrad5pjn2gmcv0srv0zw0ap7irwc21ifd7d"; + type = "gem"; + }; + version = "0.9.6"; + }; + jwt = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1w0kaqrbl71cq9sbnixc20x5lqah3hs2i93xmhlfdg2y3by7yzky"; + type = "gem"; + }; + version = "2.1.0"; + }; + kgio = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1528pyj1szzzp3pgj05fzjd36qjrxm9yj2x5radc9p1z7vl67y50"; + type = "gem"; + }; + version = "2.11.2"; + }; + kostya-sigar = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0z0pcykhjyrb7kq76jfcyxc1qq23gj5zmgy3miy87v85ydrxiqwb"; + type = "gem"; + }; + version = "2.0.4"; + }; + leaflet-rails = { + dependencies = ["rails"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0dy7vhsjj1fhbbqm2s7pw57vgysd31qqi4y0hm91325hmvq75grb"; + type = "gem"; + }; + version = "1.3.1"; + }; + listen = { + dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx"; + type = "gem"; + }; + version = "3.1.5"; + }; + little-plugger = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym"; + type = "gem"; + }; + version = "1.1.4"; + }; + logging = { + dependencies = ["little-plugger" "multi_json"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06j6iaj89h9jhkx1x3hlswqrfnqds8br05xb1qra69dpvbdmjcwn"; + type = "gem"; + }; + version = "2.2.2"; + }; + logging-rails = { + dependencies = ["logging"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "022cnj9v177282kadd9ygzjpvlvbq9k5z0xhdbbmgypi05z4i239"; + type = "gem"; + }; + version = "0.6.0"; + }; + loofah = { + dependencies = ["crass" "nokogiri"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ccsid33xjajd0im2xv941aywi58z7ihwkvaf1w2bv89vn5bhsjg"; + type = "gem"; + }; + version = "2.2.3"; + }; + lumberjack = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06im7gcg42x77yhz2w5da2ly9xz0n0c36y5ks7xs53v0l9g0vf5n"; + type = "gem"; + }; + version = "1.0.13"; + }; + macaddr = { + dependencies = ["systemu"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1clii8mvhmh5lmnm95ljnjygyiyhdpja85c5vy487rhxn52scn0b"; + type = "gem"; + }; + version = "1.7.1"; + }; + mail = { + dependencies = ["mini_mime"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc"; + type = "gem"; + }; + version = "2.7.1"; + }; + markdown-it-html5-embed = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10n2z6j0whc6makxvcf2jhpwb8xrj4s6vyywijsaaxs0cn490a5c"; + type = "gem"; + }; + version = "1.0.0"; + }; + markerb = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08sm3kafc3086l0a9is2cysk7j2k71mxy6ba295pwwzyvy734y76"; + type = "gem"; + }; + version = "1.1.0"; + }; + memoizable = { + dependencies = ["thread_safe"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c"; + type = "gem"; + }; + version = "0.4.2"; + }; + method_source = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq"; + type = "gem"; + }; + version = "0.9.2"; + }; + mime-types = { + dependencies = ["mime-types-data"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk"; + type = "gem"; + }; + version = "3.2.2"; + }; + mime-types-data = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07wvp0aw2gjm4njibb70as6rh5hi1zzri5vky1q6jx95h8l56idc"; + type = "gem"; + }; + version = "3.2018.0812"; + }; + mini_magick = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0sisx59mr5kydmxmx5vr8spmrxhrjkfqv35zhsqdlyzmp1z5px9p"; + type = "gem"; + }; + version = "4.9.2"; + }; + mini_mime = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3"; + type = "gem"; + }; + version = "1.0.1"; + }; + mini_portile2 = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13d32jjadpjj6d2wdhkfpsmy68zjx90p49bgf8f7nkpz86r1fr11"; + type = "gem"; + }; + version = "2.3.0"; + }; + minitest = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq"; + type = "gem"; + }; + version = "5.11.3"; + }; + mobile-fu = { + dependencies = ["rack-mobile-detect" "rails"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lxfcsd7dwwcpa1j2jbl382anmv6kksf5q1wqj14gc6jxxjq9s4i"; + type = "gem"; + }; + version = "1.4.0"; + }; + multi_json = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv"; + type = "gem"; + }; + version = "1.13.1"; + }; + multi_test = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1sx356q81plr67hg16jfwz9hcqvnk03bd9n75pmdw8pfxjfy1yxd"; + type = "gem"; + }; + version = "0.1.2"; + }; + multi_xml = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lmd4f401mvravi1i1yq7b2qjjli0yq7dfc4p1nj5nwajp7r6hyj"; + type = "gem"; + }; + version = "0.6.0"; + }; + multipart-post = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x"; + type = "gem"; + }; + version = "2.0.0"; + }; + mysql2 = { + groups = ["mysql"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1a2kdjgzwh1p2rkcmxaawy6ibi32b04wbdd5d4wr8i342pq76di4"; + type = "gem"; + }; + version = "0.5.2"; + }; + naught = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wwjx35zgbc0nplp8a866iafk4zsrbhwwz4pav5gydr2wm26nksg"; + type = "gem"; + }; + version = "1.1.0"; + }; + nenv = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0r97jzknll9bhd8yyg2bngnnkj8rjhal667n7d32h8h7ny7nvpnr"; + type = "gem"; + }; + version = "0.3.0"; + }; + nio4r = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1a41ca1kpdmrypjp9xbgvckpy8g26zxphkja9vk7j5wl4n8yvlyr"; + type = "gem"; + }; + version = "2.3.1"; + }; + nokogiri = { + dependencies = ["mini_portile2"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0byyxrazkfm29ypcx5q4syrv126nvjnf7z6bqi01sqkv4llsi4qz"; + type = "gem"; + }; + version = "1.8.5"; + }; + notiffany = { + dependencies = ["nenv" "shellany"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0x838fa5il0dd9zbm3lxkpbfxcf5fxv9556mayc2mxsdl5ghv8nx"; + type = "gem"; + }; + version = "0.1.1"; + }; + oauth = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zszdg8q1b135z7l7crjj234k4j0m347hywp5kj6zsq7q78pw09y"; + type = "gem"; + }; + version = "0.5.4"; + }; + oauth2 = { + dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0av6nlb5y2sm6m8fx669ywrqa9858yqaqfqzny75nqp3anag89qh"; + type = "gem"; + }; + version = "1.4.1"; + }; + octokit = { + dependencies = ["sawyer"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1yh0yzzqg575ix3y2l2261b9ag82gv2v4f1wczdhcmfbxcz755x6"; + type = "gem"; + }; + version = "4.13.0"; + }; + omniauth = { + dependencies = ["hashie" "rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1msqr4qq7mfdvl3rg89529isrv595hvjpj2gi0say4b8nwqfggmg"; + type = "gem"; + }; + version = "1.8.1"; + }; + omniauth-oauth = { + dependencies = ["oauth" "omniauth"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1n5vk4by7hkyc09d9blrw2argry5awpw4gbw1l4n2s9b3j4qz037"; + type = "gem"; + }; + version = "1.1.0"; + }; + omniauth-oauth2 = { + dependencies = ["oauth2" "omniauth"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0kscjf1y0lnggsl4z3w5bwllqshqjlsl5kmcya5haydajdnzvdjr"; + type = "gem"; + }; + version = "1.5.0"; + }; + omniauth-tumblr = { + dependencies = ["multi_json" "omniauth-oauth"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10ncmfym4l6k6aqp402g7mqxahbggcj5xkpsjxgngs746s82y97w"; + type = "gem"; + }; + version = "1.2"; + }; + omniauth-twitter = { + dependencies = ["omniauth-oauth" "rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0r5j65hkpgzhvvbs90id3nfsjgsad6ymzggbm7zlaxvnrmvnrk65"; + type = "gem"; + }; + version = "1.4.0"; + }; + omniauth-wordpress = { + dependencies = ["omniauth-oauth2"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "008zx4zwrbzyvlgv6hy68k1d05zskiwvcgwvxxbxhbl0mvlmh303"; + type = "gem"; + }; + version = "0.2.2"; + }; + open_graph_reader = { + dependencies = ["faraday" "nokogiri"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0af4yldyb0d8zglw73s13pyn0g90gs4m5zf7bwy8r4kym9zbvc21"; + type = "gem"; + }; + version = "0.6.2"; + }; + openid_connect = { + dependencies = ["activemodel" "attr_required" "json-jwt" "rack-oauth2" "swd" "tzinfo" "validate_email" "validate_url" "webfinger"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1r13bv18nyvw0g1nw3fzffvv2si99zj24w0k5zgawf4q6nn5f7vd"; + type = "gem"; + }; + version = "1.1.6"; + }; + orm_adapter = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fg9jpjlzf5y49qs9mlpdrgs5rpcyihq1s4k79nv9js0spjhnpda"; + type = "gem"; + }; + version = "0.5.0"; + }; + parallel = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01hj8v1qnyl5ndrs33g8ld8ibk0rbcqdpkpznr04gkbxd11pqn67"; + type = "gem"; + }; + version = "1.12.1"; + }; + parser = { + dependencies = ["ast"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zjk0w1kjj3xk8ymy1430aa4gg0k8ckphfj88br6il4pm83f0n1f"; + type = "gem"; + }; + version = "2.5.3.0"; + }; + pg = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pnjw3rspdfjssxyf42jnbsdlgri8ylysimp0s28wxb93k6ff2qb"; + type = "gem"; + }; + version = "1.1.3"; + }; + phantomjs = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0y8pbbyq9dirxb7igkb2s5limz2895qmr41c09fjhx6k6fxcz4mk"; + type = "gem"; + }; + version = "2.1.1.0"; + }; + poltergeist = { + dependencies = ["capybara" "cliver" "websocket-driver"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0il80p97psmhs6scl0grq031gv7kws4ylvvd6zyr8xv91qadga95"; + type = "gem"; + }; + version = "1.18.1"; + }; + powerpack = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1r51d67wd467rpdfl6x43y84vwm8f5ql9l9m85ak1s2sp3nc5hyv"; + type = "gem"; + }; + version = "0.1.2"; + }; + pronto = { + dependencies = ["gitlab" "httparty" "octokit" "rainbow" "rugged" "thor"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13xbg1pm3kz5zbzxad5qgqnkzkp3ddajj7wxx16aqbfr7rqggvhz"; + type = "gem"; + }; + version = "0.9.5"; + }; + pronto-eslint = { + dependencies = ["eslintrb" "pronto"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1cxyx6mlcdgv4ykliaizkx9cps68xf7qvy8lzxmv7pcqzkxaq7xc"; + type = "gem"; + }; + version = "0.9.1"; + }; + pronto-haml = { + dependencies = ["haml_lint" "pronto"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "116iln1whwiqy55f86q33lnnic0awnqm415xvxwnhwlagcbwmnkg"; + type = "gem"; + }; + version = "0.9.0"; + }; + pronto-rubocop = { + dependencies = ["pronto" "rubocop"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bcm34qlpp02wf69why5lpi5p53h5r4fq36f4b1fwi621fwzlgsy"; + type = "gem"; + }; + version = "0.9.1"; + }; + pronto-scss = { + dependencies = ["pronto" "scss_lint"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0kgaqd6l2w3brdsp5231fpfr6fwajciz2hdr925l1zhh6ni1y2za"; + type = "gem"; + }; + version = "0.9.1"; + }; + pry = { + dependencies = ["coderay" "method_source"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00rm71x0r1jdycwbs83lf9l6p494m99asakbvqxh8rz7zwnlzg69"; + type = "gem"; + }; + version = "0.12.2"; + }; + pry-byebug = { + dependencies = ["byebug" "pry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0y2758593i2ij0nhmv0j1pbdfx2cgi52ns6wkij0frgnk2lf650g"; + type = "gem"; + }; + version = "3.6.0"; + }; + public_suffix = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"; + type = "gem"; + }; + version = "3.0.3"; + }; + raabro = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xzdmbn48753f6k0ckirp8ja5p0xn1a92wbwxfyggyhj0hza9ylq"; + type = "gem"; + }; + version = "1.1.6"; + }; + rack = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pcgv8dv4vkaczzlix8q3j68capwhk420cddzijwqgi2qb4lm1zm"; + type = "gem"; + }; + version = "2.0.6"; + }; + rack-cors = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1j27vy1bmhbqcyzhxg8d07qassmax769xjalfwcwz6qfiq8cf013"; + type = "gem"; + }; + version = "1.0.2"; + }; + rack-google-analytics = { + dependencies = ["actionpack" "activesupport"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09pv0z5dhjjrlhi9qj5qy48hi66f7iix337qrapg7mvwwz6czcvj"; + type = "gem"; + }; + version = "1.2.0"; + }; + rack-mobile-detect = { + dependencies = ["rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bagli6ldhkpd1yym775sxy7w5n4jds6gbcjm3gmcl37vggvm8a5"; + type = "gem"; + }; + version = "0.4.0"; + }; + rack-oauth2 = { + dependencies = ["activesupport" "attr_required" "httpclient" "json-jwt" "rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0kmxj9hbjhhcs3yyb433s82hkpmzb536m0mwfadjiaisganx1cii"; + type = "gem"; + }; + version = "1.9.3"; + }; + rack-piwik = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0raxrckapqh693lpid0cnx1j1v2i3mz5cyssg7grgrilgrn9318z"; + type = "gem"; + }; + version = "0.3.0"; + }; + rack-protection = { + dependencies = ["rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ylx74ravz7nvnyygq0nk3v86qdzrmqxpwpayhppyy50l72rcajq"; + type = "gem"; + }; + version = "2.0.4"; + }; + rack-rewrite = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0milw71dv96wnc6i48vbzypws51dgf415kkp8c4air0mkdhpj838"; + type = "gem"; + }; + version = "1.5.1"; + }; + rack-ssl = { + dependencies = ["rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0c21xqkjyl10fngq6dy8082vmn2png8cwkiyzv83ymixq5cx7ygp"; + type = "gem"; + }; + version = "1.4.1"; + }; + rack-test = { + dependencies = ["rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m"; + type = "gem"; + }; + version = "1.1.0"; + }; + rails = { + dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lb07cbwgm371zyn9i6fyj9q8rmv89lacmyzrfvzxqqx2n3ilc5q"; + type = "gem"; + }; + version = "5.1.6"; + }; + rails-assets-autosize = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0hr72mfprb9678lf7dj9lh801lm7p98nzkrnrz764sy9lmbpzcib"; + type = "gem"; + }; + version = "4.0.2"; + }; + rails-assets-backbone = { + dependencies = ["rails-assets-underscore"]; + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0zjgwhgfmg1jyyds7zfjp6g4bz8vw56qvhlrpj943wcqpdxm93id"; + type = "gem"; + }; + version = "1.3.3"; + }; + rails-assets-blueimp-gallery = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "18b7xvvkdnd39xlbkyw46i86w3wzj349s8iv5wdiypa5qdcql8mq"; + type = "gem"; + }; + version = "2.33.0"; + }; + rails-assets-bootstrap = { + dependencies = ["rails-assets-jquery"]; + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0x4i11132qcmghmqb061iq47yksrr7i0la5hzzdm38dxybh87x5v"; + type = "gem"; + }; + version = "3.3.7"; + }; + rails-assets-bootstrap-markdown = { + dependencies = ["rails-assets-bootstrap"]; + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "1nxirs9wx5jxrjmxjwvsqlf2rsypjn3ajg7fs28c4ib7wwpabwj3"; + type = "gem"; + }; + version = "2.10.0"; + }; + rails-assets-corejs-typeahead = { + dependencies = ["rails-assets-jquery"]; + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "1p5i6afd156rakrin99c2ryaz3zykx21ir6y10l34jnw03rikcfg"; + type = "gem"; + }; + version = "1.2.1"; + }; + rails-assets-diaspora_jsxc = { + dependencies = ["rails-assets-emojione" "rails-assets-favico.js" "rails-assets-jquery-colorbox" "rails-assets-jquery-fullscreen-plugin" "rails-assets-jquery.slimscroll" "rails-assets-jquery.ui"]; + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "07vqdj0l8fsj4fd2sschba2jgfbimyfad56009ldzlcvb6ml5nhi"; + type = "gem"; + }; + version = "0.1.5.develop.7"; + }; + rails-assets-emojione = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "1j29vbsf6v9ikiqlmnfgzxys4xsa1glvmfky8id5xfyymnjx2c52"; + type = "gem"; + }; + version = "2.0.1"; + }; + "rails-assets-favico.js" = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "19yndhljmqlvarf49h5v71zq0p0ngvspjr2v0m6lac0q9ni7r5bv"; + type = "gem"; + }; + version = "0.3.10"; + }; + rails-assets-fine-uploader = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "1vxj78x2vvlchpapxpaawysc9wn8alzdd3gxhwfwy11xv8ka9mdv"; + type = "gem"; + }; + version = "5.13.0"; + }; + rails-assets-highlightjs = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0spmb0gkfs13fmljjv1n53r53q69fhb6r573ndbxnhgb3izqgnqp"; + type = "gem"; + }; + version = "9.12.0"; + }; + rails-assets-jasmine = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "1n6yixrl9cgq5kckay75b44p878s1kqi69mhgyw99w8dsq8i2vy5"; + type = "gem"; + }; + version = "3.3.0"; + }; + rails-assets-jasmine-ajax = { + dependencies = ["rails-assets-jasmine"]; + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0l8z0p75x1yzk1l1ryfvdlvq8yq4w2xngp4icz478axd5jcqx6kg"; + type = "gem"; + }; + version = "3.4.0"; + }; + rails-assets-jquery = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "1wcaappk12w300733lrqb571cir9nw35d9q6d2i52wwdvhv2fx2y"; + type = "gem"; + }; + version = "3.3.1"; + }; + rails-assets-jquery-colorbox = { + dependencies = ["rails-assets-jquery"]; + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "19ws3r1zfviwnfr9s0jh6iqss50iwqkf4a78zhrk0p3bb4lvmmsp"; + type = "gem"; + }; + version = "1.6.4"; + }; + rails-assets-jquery-fullscreen-plugin = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0ldvq4s15lap9p6w7d1yw6dajn2gh6p75dbkp79p0d8ylzapsd58"; + type = "gem"; + }; + version = "0.5.0"; + }; + rails-assets-jquery-placeholder = { + dependencies = ["rails-assets-jquery"]; + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0h17gjazc27pj4cm2ig232ww4d4ppq9bcginwzjss95pl63richi"; + type = "gem"; + }; + version = "2.3.1"; + }; + rails-assets-jquery-textchange = { + dependencies = ["rails-assets-jquery"]; + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0rsw3cn9a5njv80zy53339kmrmv60b8fqcrr7bacapbagb2rd4dj"; + type = "gem"; + }; + version = "0.2.3"; + }; + "rails-assets-jquery.are-you-sure" = { + dependencies = ["rails-assets-jquery"]; + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0nj04aqh9jpcg57xbjxpm2vn7mkd5clnpma907515a1nxy40bym0"; + type = "gem"; + }; + version = "1.9.0"; + }; + "rails-assets-jquery.slimscroll" = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "1rymmd2rxy1vjjj70v88abmdlfs55276rs3rksj300dgirnnj998"; + type = "gem"; + }; + version = "1.3.8"; + }; + "rails-assets-jquery.ui" = { + dependencies = ["rails-assets-jquery"]; + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0xc9kfb29hi441irj49b7aawxkddk1dxzy938rpqv9ylpsj7knaa"; + type = "gem"; + }; + version = "1.11.4"; + }; + rails-assets-markdown-it = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0fxx7ldszsdqr5ry21bnxmv33byz7abpk9lcp100q5cqsjx091r9"; + type = "gem"; + }; + version = "8.4.2"; + }; + rails-assets-markdown-it--markdown-it-for-inline = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0fznv2x7ndadr3wb4dzhh86bpcpwz8f4d8rfhz4sfbqlai40j3jl"; + type = "gem"; + }; + version = "0.1.1"; + }; + rails-assets-markdown-it-diaspora-mention = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0asggm7wgmdll8x94291p2w6icmp2izi914dlh3b7vb7dpjq3jig"; + type = "gem"; + }; + version = "1.2.0"; + }; + rails-assets-markdown-it-hashtag = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0dr8fwaxgkfqm7z4rl4jdym0i1ycqw1sgkxshkd9k0849ry12cdk"; + type = "gem"; + }; + version = "0.4.0"; + }; + rails-assets-markdown-it-sanitizer = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0fkpffh83fc257zkzaia93j4hw2baz90lg10s5yxsxww06q5dn36"; + type = "gem"; + }; + version = "0.4.3"; + }; + rails-assets-markdown-it-sub = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "08hjij5fqvhvg7s27n4g8qqsks974g3kc5k7xl2qmh41k7f4hcrk"; + type = "gem"; + }; + version = "1.0.0"; + }; + rails-assets-markdown-it-sup = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "17nnnvky7zy0yiwwl6dm8ibbkyvvf63xfp3snch4dzmras05lmig"; + type = "gem"; + }; + version = "1.0.0"; + }; + rails-assets-underscore = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "1ccnzj7aqrvngcs915y290pijryqmjygimdwlrykpyj8vwzifdnc"; + type = "gem"; + }; + version = "1.9.1"; + }; + rails-assets-utatti-perfect-scrollbar = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0m8syfv8p5bnwm8nrba6mpjnhrd29ffwzi6awhiw537jqw42b12v"; + type = "gem"; + }; + version = "1.4.0"; + }; + rails-controller-testing = { + dependencies = ["actionpack" "actionview" "activesupport"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "16kdkk73mhhs73iz3i1i0ryjm84dadiyh817b3nh8acdi490jyhy"; + type = "gem"; + }; + version = "1.0.2"; + }; + rails-dom-testing = { + dependencies = ["activesupport" "nokogiri"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i"; + type = "gem"; + }; + version = "2.0.3"; + }; + rails-html-sanitizer = { + dependencies = ["loofah"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr"; + type = "gem"; + }; + version = "1.0.4"; + }; + rails-i18n = { + dependencies = ["i18n" "railties"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05lkhc737a9dw0hd5ljmja0yp4cw39r3200s1r0n4bs7z1g3ka7l"; + type = "gem"; + }; + version = "5.1.2"; + }; + rails-timeago = { + dependencies = ["actionpack" "activesupport"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01x1vs9hni9wn8dc4fmyqzkrn651chzsi2mhmk0pxdrfx9md0lxv"; + type = "gem"; + }; + version = "2.16.0"; + }; + railties = { + dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ycy2gdaj0px1vfaghskvl6qkczwaigrli2zxn54w7zn1z29faj8"; + type = "gem"; + }; + version = "5.1.6"; + }; + rainbow = { + dependencies = ["rake"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08w2ghc5nv0kcq5b257h7dwjzjz1pqcavajfdx2xjyxqsvh2y34w"; + type = "gem"; + }; + version = "2.2.2"; + }; + raindrops = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1qpbd9jif40c53fz2r0l8khfl016y8s8bkx37ibcaafclbl3xygp"; + type = "gem"; + }; + version = "0.19.0"; + }; + rake = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1idi53jay34ba9j68c3mfr9wwkg3cd9qh0fn9cg42hv72c6q8dyg"; + type = "gem"; + }; + version = "12.3.1"; + }; + rb-fsevent = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8"; + type = "gem"; + }; + version = "0.10.3"; + }; + rb-inotify = { + dependencies = ["ffi"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71"; + type = "gem"; + }; + version = "0.9.10"; + }; + redcarpet = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0h9qz2hik4s9knpmbwrzb3jcp3vc5vygp9ya8lcpl7f1l9khmcd7"; + type = "gem"; + }; + version = "3.4.0"; + }; + redis = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0i415x8gi0c5vsiy6ikvx5js6fhc4x80a5lqv8iidy2iymd20irv"; + type = "gem"; + }; + version = "3.3.5"; + }; + regexp_parser = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18g5jyg3blsdrz3mc8d87bms6qqn6gcdh1nvdhvgbjdpk9pw21dq"; + type = "gem"; + }; + version = "1.3.0"; + }; + request_store = { + dependencies = ["rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1963330z03fk382fi8y231ygcbnh86m91dqlp5rh1mwy9ihzzl6d"; + type = "gem"; + }; + version = "1.4.1"; + }; + responders = { + dependencies = ["actionpack" "railties"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rhdyyvvm26f2l3fgwdp6xasfl2y0whwgy766bhdwz697mf78zfn"; + type = "gem"; + }; + version = "2.4.0"; + }; + rspec = { + dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15ppasvb9qrscwlyjz67ppw1lnxiqnkzx5vkx1bd8x5n3dhikxc3"; + type = "gem"; + }; + version = "3.8.0"; + }; + rspec-core = { + dependencies = ["rspec-support"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1p1s5bnbqp3sxk67y0fh0x884jjym527r0vgmhbm81w7aq6b7l4p"; + type = "gem"; + }; + version = "3.8.0"; + }; + rspec-expectations = { + dependencies = ["diff-lcs" "rspec-support"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18l21hy1zdc2pgc2yb17k3n2al1khpfr0z6pijlm852iz6vj0dkm"; + type = "gem"; + }; + version = "3.8.2"; + }; + rspec-json_expectations = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0l3dhvkb95zwyg72wz33azxigc9cisqgg3z16ksns1sx0b93nnbn"; + type = "gem"; + }; + version = "2.1.0"; + }; + rspec-mocks = { + dependencies = ["diff-lcs" "rspec-support"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06y508cjqycb4yfhxmb3nxn0v9xqf17qbd46l1dh4xhncinr4fyp"; + type = "gem"; + }; + version = "3.8.0"; + }; + rspec-rails = { + dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0sqj5da2kc937j5jb18jcf0hrmmzwgj7pk62j0q3qndhc2kvx88p"; + type = "gem"; + }; + version = "3.8.1"; + }; + rspec-support = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0p3m7drixrlhvj2zpc38b11x145bvm311x6f33jjcxmvcm0wq609"; + type = "gem"; + }; + version = "3.8.0"; + }; + rubocop = { + dependencies = ["jaro_winkler" "parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ivk049z3mp12nc6v1wn35bsq1g7nz1i2r4xwzqf0v25hm2v7n1i"; + type = "gem"; + }; + version = "0.60.0"; + }; + ruby-oembed = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1kw4aplb3m13z3kchhb79wf87qb3prn1m99s6vl5cyp0xqwyymv0"; + type = "gem"; + }; + version = "0.12.0"; + }; + ruby-progressbar = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk"; + type = "gem"; + }; + version = "1.10.0"; + }; + ruby_dep = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5"; + type = "gem"; + }; + version = "1.5.0"; + }; + rubyzip = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1n1lb2sdwh9h27y244hxzg1lrxxg2m53pk1vq7p33bna003qkyrj"; + type = "gem"; + }; + version = "1.2.2"; + }; + rugged = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jv4nw9hvlxp8hhhlllrfcznki82i50fp1sj65zsjllfl2bvz8x6"; + type = "gem"; + }; + version = "0.27.5"; + }; + safe_yaml = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"; + type = "gem"; + }; + version = "1.0.4"; + }; + sass = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0kfpcwh8dgw4lc81qglkvjl73689jy3g7196zkxm4fpskg1p5lkw"; + type = "gem"; + }; + version = "3.4.25"; + }; + sass-rails = { + dependencies = ["railties" "sass" "sprockets" "sprockets-rails" "tilt"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wa63sbsimrsf7nfm8h0m1wbsllkfxvd7naph5d1j6pbc555ma7s"; + type = "gem"; + }; + version = "5.0.7"; + }; + sawyer = { + dependencies = ["addressable" "faraday"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0sv1463r7bqzvx4drqdmd36m7rrv6sf1v3c6vswpnq3k6vdw2dvd"; + type = "gem"; + }; + version = "0.8.1"; + }; + scss_lint = { + dependencies = ["rake" "sass"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11rl8kj32p34mqlkhxvlwfrwl8gdl0iha8q9xsrr3sjxjagzv8yp"; + type = "gem"; + }; + version = "0.55.0"; + }; + secure_headers = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17cxci8jyvlgssix0cy7kbm5m2h7s8ym9caj8nilrbd21jis9pc5"; + type = "gem"; + }; + version = "6.0.0"; + }; + shellany = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ryyzrj1kxmnpdzhlv4ys3dnl2r5r3d2rs2jwzbnd1v96a8pl4hf"; + type = "gem"; + }; + version = "0.0.1"; + }; + shoulda-matchers = { + dependencies = ["activesupport"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zvv94pqk5b5my3w1shdz7h34xf2ldhg5k4qfdpbwi2iy0j9zw2a"; + type = "gem"; + }; + version = "3.1.2"; + }; + sidekiq = { + dependencies = ["connection_pool" "rack-protection" "redis"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zyf9y3rvzizbwh68i2g1lzd40lalrdc4iyjmaa74gnfwsf92i26"; + type = "gem"; + }; + version = "5.2.3"; + }; + sidekiq-cron = { + dependencies = ["fugit" "sidekiq"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1aliswahmpxn1ib2brn4126gk97ac3zdnwr71mn8vzbr3vdd7fl0"; + type = "gem"; + }; + version = "1.0.4"; + }; + simple_captcha2 = { + dependencies = ["rails"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vdjydym8sjpa8c1q0n2hanj3n9vzi4ycdw2p6bbm6qqmm1f3fq3"; + type = "gem"; + }; + version = "0.4.3"; + }; + simple_oauth = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0dw9ii6m7wckml100xhjc6vxpjcry174lbi9jz5v7ibjr3i94y8l"; + type = "gem"; + }; + version = "0.3.1"; + }; + simplecov = { + dependencies = ["docile" "json" "simplecov-html"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1sfyfgf7zrp2n42v7rswkqgk3bbwk1bnsphm24y7laxv3f8z0947"; + type = "gem"; + }; + version = "0.16.1"; + }; + simplecov-html = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lihraa4rgxk8wbfl77fy9sf0ypk31iivly8vl3w04srd7i0clzn"; + type = "gem"; + }; + version = "0.10.2"; + }; + sinon-rails = { + dependencies = ["railties"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1b7996hb8vfky29b0zcql90x8i6vhdg2zy9nfzmhh820gjv3kggb"; + type = "gem"; + }; + version = "1.15.0"; + }; + spring = { + dependencies = ["activesupport"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "168yz9c1fv21wc5i8q7n43b9nk33ivg3ws1fn6x0afgryz3ssx75"; + type = "gem"; + }; + version = "2.0.2"; + }; + spring-commands-cucumber = { + dependencies = ["spring"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0mw81gvms2svn4k4pc6ly7smkmf0j9r2xbf0d38vygbyhiwd1c9a"; + type = "gem"; + }; + version = "1.0.1"; + }; + spring-commands-rspec = { + dependencies = ["spring"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0b0svpq3md1pjz5drpa5pxwg8nk48wrshq8lckim4x3nli7ya0k2"; + type = "gem"; + }; + version = "1.0.4"; + }; + sprockets = { + dependencies = ["concurrent-ruby" "rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay"; + type = "gem"; + }; + version = "3.7.2"; + }; + sprockets-rails = { + dependencies = ["actionpack" "activesupport" "sprockets"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ab42pm8p5zxpv3sfraq45b9lj39cz9mrpdirm30vywzrwwkm5p1"; + type = "gem"; + }; + version = "3.2.1"; + }; + state_machines = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00mi16hg3rhkxz4y58s173cbnjlba41y9bfcim90p4ja6yfj9ri3"; + type = "gem"; + }; + version = "0.5.0"; + }; + string-direction = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0iyddwmkj425c6xbn5pmlr2yzwcq4snzlan7rky5b1yp2pvf70jj"; + type = "gem"; + }; + version = "1.2.1"; + }; + swd = { + dependencies = ["activesupport" "attr_required" "httpclient"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1s2vjb6f13za7p1iycl2p73d3p202xa6xny9fjrp8ynwsqix7lyd"; + type = "gem"; + }; + version = "1.1.2"; + }; + sysexits = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qjng6pllznmprzx8vb0zg0c86hdrkyjs615q41s9fjpmv2430jr"; + type = "gem"; + }; + version = "1.2.0"; + }; + systemu = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gmkbakhfci5wnmbfx5i54f25j9zsvbw858yg3jjhfs5n4ad1xq1"; + type = "gem"; + }; + version = "2.6.5"; + }; + temple = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00nxf610nzi4n1i2lkby43nrnarvl89fcl6lg19406msr0k3ycmq"; + type = "gem"; + }; + version = "0.8.0"; + }; + term-ansicolor = { + dependencies = ["tins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "079hbagd9mk0839rkajsdrbzkn992gj8ah2n45qd64v25ml27i6d"; + type = "gem"; + }; + version = "1.7.0"; + }; + terminal-table = { + dependencies = ["unicode-display_width"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk"; + type = "gem"; + }; + version = "1.8.0"; + }; + thor = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01n5dv9kql60m6a00zc0r66jvaxx98qhdny3klyj0p3w34pad2ns"; + type = "gem"; + }; + version = "0.19.4"; + }; + thread_safe = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; + type = "gem"; + }; + version = "0.3.6"; + }; + tilt = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0020mrgdf11q23hm1ddd6fv691l51vi10af00f137ilcdb2ycfra"; + type = "gem"; + }; + version = "2.0.8"; + }; + timecop = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0d7mm786180v4kzvn1f77rhfppsg5n0sq2bdx63x9nv114zm8jrp"; + type = "gem"; + }; + version = "0.9.1"; + }; + timers = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04zbs9wyzajn7g9xfgg2zqz5kzf0qa7jgh4hgry4pfcxfmlnwdwx"; + type = "gem"; + }; + version = "4.2.0"; + }; + tins = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pqj45n216zrz7yckdbdknlmhh187iqzx8fp76y2h0jrgqjfkxmj"; + type = "gem"; + }; + version = "1.20.2"; + }; + to_regexp = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rgabfhnql6l4fx09mmj5d0vza924iczqf2blmn82l782b6qqi9v"; + type = "gem"; + }; + version = "0.2.1"; + }; + turbo_dev_assets = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08yp7gpishjfj8b7d61hxs677288ycv6yg78a7hfzn631gxczipx"; + type = "gem"; + }; + version = "0.0.2"; + }; + twitter = { + dependencies = ["addressable" "buftok" "equalizer" "http" "http-form_data" "http_parser.rb" "memoizable" "multipart-post" "naught" "simple_oauth"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fjyz3viabz3xs5d9aad18zgdbhfwm51jsnzigc8kxk77p1x58n5"; + type = "gem"; + }; + version = "6.2.0"; + }; + twitter-text = { + dependencies = ["unf"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1732h7hy1k152w8wfvjsx7b79alk45i5imwd37ia4qcx8hfm3gvg"; + type = "gem"; + }; + version = "1.14.7"; + }; + typhoeus = { + dependencies = ["ethon"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cni8b1idcp0dk8kybmxydadhfpaj3lbs99w5kjibv8bsmip2zi5"; + type = "gem"; + }; + version = "1.3.1"; + }; + tzinfo = { + dependencies = ["thread_safe"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z"; + type = "gem"; + }; + version = "1.2.5"; + }; + uglifier = { + dependencies = ["execjs"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1g203kly5wp4qlkc7371skyvyin6iinc8i0p5wrpiqgblqxxgcf1"; + type = "gem"; + }; + version = "4.1.19"; + }; + unf = { + dependencies = ["unf_ext"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; + type = "gem"; + }; + version = "0.1.4"; + }; + unf_ext = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06p1i6qhy34bpb8q8ms88y6f2kz86azwm098yvcc0nyqk9y729j1"; + type = "gem"; + }; + version = "0.0.7.5"; + }; + unicode-display_width = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0040bsdpcmvp8w31lqi2s9s4p4h031zv52401qidmh25cgyh4a57"; + type = "gem"; + }; + version = "1.4.0"; + }; + unicorn = { + dependencies = ["kgio" "raindrops"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1qfhvzs4i6ja1s43j8p1kfbzm10n7a02ngki30a38y5m46a2qrak"; + type = "gem"; + }; + version = "5.4.1"; + }; + unicorn-worker-killer = { + dependencies = ["get_process_mem" "unicorn"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rrdxpwdsapx47axjin8ymxb4f685qlpx8a26bql4ay1559c3gva"; + type = "gem"; + }; + version = "0.4.4"; + }; + uuid = { + dependencies = ["macaddr"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1mr405vg4ccnndkyf7pb49gp1fha8i6gj7iwq43nxkak41cwzh5f"; + type = "gem"; + }; + version = "2.3.9"; + }; + valid = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vxrgik9gxyh5j2w16nz5azjk0cbzmvv883hq9pvxm9anfbbj8d3"; + type = "gem"; + }; + version = "1.2.0"; + }; + validate_email = { + dependencies = ["activemodel" "mail"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1r1fz29l699arka177c9xw7409d1a3ff95bf7a6pmc97slb91zlx"; + type = "gem"; + }; + version = "0.1.6"; + }; + validate_url = { + dependencies = ["activemodel" "addressable"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1df4gch8dizimpbl185vfgw95yb8ffr6zwj6whzbxfil95c3f2qh"; + type = "gem"; + }; + version = "1.0.2"; + }; + versionist = { + dependencies = ["activesupport" "railties" "yard"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1p8wizg6jml7gz1qiqk7d77hy0w5650g812jhgd0zzkwwdmzm38m"; + type = "gem"; + }; + version = "1.7.0"; + }; + warden = { + dependencies = ["rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fr9n9i9r82xb6i61fdw4xgc7zjv7fsdrr4k0njchy87iw9fl454"; + type = "gem"; + }; + version = "1.2.8"; + }; + webfinger = { + dependencies = ["activesupport" "httpclient"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0m0jh8k7c0ifh2jhbn7ihqrmn5fi754wflva97zgy70hpdvxyjar"; + type = "gem"; + }; + version = "1.1.0"; + }; + webmock = { + dependencies = ["addressable" "crack" "hashdiff"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "03994dxs4xayvkxqp01dd1ivhg4xxx7z35f7cxw7y2mwj3xn24ib"; + type = "gem"; + }; + version = "3.4.2"; + }; + websocket-driver = { + dependencies = ["websocket-extensions"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1943442yllhldh9dbp374x2q39cxa49xrm28nb78b7mfbv3y195l"; + type = "gem"; + }; + version = "0.6.5"; + }; + websocket-extensions = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "034sdr7fd34yag5l6y156rkbhiqgmy395m231dwhlpcswhs6d270"; + type = "gem"; + }; + version = "0.1.3"; + }; + will_paginate = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ihf15yaj8883ddhkxq7q60zrg3zfsvqaf5853gybhcg18zq8bn9"; + type = "gem"; + }; + version = "3.1.6"; + }; + xpath = { + dependencies = ["nokogiri"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd"; + type = "gem"; + }; + version = "3.2.0"; + }; + yard = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lmmr1839qgbb3zxfa7jf5mzy17yjl1yirwlgzdhws4452gqhn67"; + type = "gem"; + }; + version = "0.9.16"; + }; +} diff --git a/pkgs/webapps/diaspora/gemset_ldap.nix b/pkgs/webapps/diaspora/gemset_ldap.nix new file mode 100644 index 00000000..d7892f8d --- /dev/null +++ b/pkgs/webapps/diaspora/gemset_ldap.nix @@ -0,0 +1,3056 @@ +{ + actioncable = { + dependencies = ["actionpack" "nio4r" "websocket-driver"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07r6hnh05db84yr9419mbhyzp20hr8yy9m50jxc2w91ghm2qnrrf"; + type = "gem"; + }; + version = "5.1.6"; + }; + actionmailer = { + dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1s9xcqfx97q4yva2zc4qzb567mwzhry6v3x3zc318aqhcrz31g7c"; + type = "gem"; + }; + version = "5.1.6"; + }; + actionpack = { + dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vz2ms80nqw21c304g3w2vkbs80gadzhi3mcwwym7smxccr37kcd"; + type = "gem"; + }; + version = "5.1.6"; + }; + actionview = { + dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1kfxlz9v7b47pdyy1whb4zzhvaj8h4sp1ajhbih2ax1hkldyg081"; + type = "gem"; + }; + version = "5.1.6"; + }; + active_model_serializers = { + dependencies = ["activemodel" "concurrent-ruby"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19zr5pp84q4ya7mfrcanakjv86lv4wfmbcbbd2xnd4bkyprw5w7z"; + type = "gem"; + }; + version = "0.9.7"; + }; + activejob = { + dependencies = ["activesupport" "globalid"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02lssq8ps98mfg20dyhcpd16f9c0v4zzy7gfbb6ksbs06wrrd4d2"; + type = "gem"; + }; + version = "5.1.6"; + }; + activemodel = { + dependencies = ["activesupport"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10f8cpv4sl1w3m1qj8hl6sd2f1n7x91h45qaf57qr894ll22jgby"; + type = "gem"; + }; + version = "5.1.6"; + }; + activerecord = { + dependencies = ["activemodel" "activesupport" "arel"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1iqkvxzx5bfp8rmlccww0cj1xr6iaxmn3hhbj1dv5j9c8mnm980x"; + type = "gem"; + }; + version = "5.1.6"; + }; + activerecord-import = { + dependencies = ["activerecord"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1bxpbrcwc9k6khizwdikvfbhw9pcvs4sp3h4grpcww5k7bgpliz6"; + type = "gem"; + }; + version = "0.27.0"; + }; + activesupport = { + dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08dm0mgmj31ggk7ib66wfagj4bgbr2jfl500bqb22x0szslz5lll"; + type = "gem"; + }; + version = "5.1.6"; + }; + acts-as-taggable-on = { + dependencies = ["activerecord"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hl52pjgfzy3acdwnbxfqy08m808vlv9dmsyp03d5x7x0y499kvl"; + type = "gem"; + }; + version = "6.0.0"; + }; + acts_as_api = { + dependencies = ["activemodel" "activesupport" "rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06miad13nnfr2gslc203ahsbvj499s9lngxxvfizwp964vglygsc"; + type = "gem"; + }; + version = "1.0.1"; + }; + addressable = { + dependencies = ["public_suffix"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk"; + type = "gem"; + }; + version = "2.5.2"; + }; + aes_key_wrap = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0li86k0g812jkzrppb2fvqngvzp09nygywjpn81nx90s01wxqw07"; + type = "gem"; + }; + version = "1.0.1"; + }; + arel = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nw0qbc6ph625p6n3maqq9f527vz3nbl0hk72fbyka8jzsmplxzl"; + type = "gem"; + }; + version = "8.0.0"; + }; + asset_sync = { + dependencies = ["activemodel" "fog-core" "mime-types" "unf"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0mfz51g8rzk5h5fpdhfkycnm7y4dpfhx46wm7fygna7nd4w9ixdx"; + type = "gem"; + }; + version = "2.5.0"; + }; + ast = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7"; + type = "gem"; + }; + version = "2.4.0"; + }; + attr_required = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1g22axmi2rhhy7w8c3x6gppsawxqavbrnxpnmphh22fk7cwi0kh2"; + type = "gem"; + }; + version = "1.0.1"; + }; + autoprefixer-rails = { + dependencies = ["execjs"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08irrl1mz6skagr1lygq79l34lc0dghgva0v9q7nng76dpiglgj3"; + type = "gem"; + }; + version = "8.6.5"; + }; + backports = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hshjxww2h7s0dk57njrygq4zpp0nlqrjfya7zwm27iq3rhc3y8g"; + type = "gem"; + }; + version = "3.11.4"; + }; + bcrypt = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ysblqxkclmnhrd0kmb5mr8p38mbar633gdsb14b7dhkhgawgzfy"; + type = "gem"; + }; + version = "3.1.12"; + }; + bindata = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0kz42nvxnk1j9cj0i8lcnhprcgdqsqska92g6l19ziadydfk2gqy"; + type = "gem"; + }; + version = "2.4.4"; + }; + bootstrap-sass = { + dependencies = ["autoprefixer-rails" "sass"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1bc9bf6caddqn1rv15b5x56yczmbjzaxzl9lk5zbwrg1bfph4bx9"; + type = "gem"; + }; + version = "3.3.7"; + }; + bootstrap-switch-rails = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zkwc1hfmihnm0n9lkva5zk0cmqpfcpnrwnmaniyvgx7rac2r14l"; + type = "gem"; + }; + version = "3.3.3"; + }; + buftok = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rzsy1vy50v55x9z0nivf23y0r9jkmq6i130xa75pq9i8qrn1mxs"; + type = "gem"; + }; + version = "0.2.0"; + }; + builder = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1"; + type = "gem"; + }; + version = "3.2.3"; + }; + byebug = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10znc1hjv8n686hhpl08f3m2g6h08a4b83nxblqwy2kqamkxcqf8"; + type = "gem"; + }; + version = "10.0.2"; + }; + capybara = { + dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10zj8syak12xd1kqywr35bkr2hkdjq18kij54x1ys8c26h6j4d0m"; + type = "gem"; + }; + version = "3.11.1"; + }; + carrierwave = { + dependencies = ["activemodel" "activesupport" "mime-types"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1k9kla5ncygm97vn33lsrs7ch5zy4qqhhvc8m3khm986yaqh75qs"; + type = "gem"; + }; + version = "1.2.3"; + }; + celluloid = { + dependencies = ["celluloid-essentials" "celluloid-extras" "celluloid-fsm" "celluloid-pool" "celluloid-supervision" "timers"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10i29q7kkdlrhf5rg43xygdfm795a02vp28k2ca3nklmqna57qmg"; + type = "gem"; + }; + version = "0.17.3"; + }; + celluloid-essentials = { + dependencies = ["timers"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1l4p3p73wjdj07ww124q0db5k1cyzggbndzmcb12xbsf2dnj121k"; + type = "gem"; + }; + version = "0.20.5"; + }; + celluloid-extras = { + dependencies = ["timers"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "078agvnsfp78jv343kn5g1cz50147dk0q46blwh5r8lk6whag7ng"; + type = "gem"; + }; + version = "0.20.5"; + }; + celluloid-fsm = { + dependencies = ["timers"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pmpi6h4abpkczp46rd6llk1mldpx19i9hll8mkxp3kxin9slivc"; + type = "gem"; + }; + version = "0.20.5"; + }; + celluloid-io = { + dependencies = ["celluloid" "nio4r" "timers"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1frcpja7h9vcxsw7w7ff550x54rfx514fpv2n6kawbk1j4zrm314"; + type = "gem"; + }; + version = "0.17.3"; + }; + celluloid-pool = { + dependencies = ["timers"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1bfr54ijl95bnhqlabhf5p4ff9n0y2sslc91f49jjn33n2zm755c"; + type = "gem"; + }; + version = "0.20.5"; + }; + celluloid-supervision = { + dependencies = ["timers"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1b41gg1rsmms0m5mshy6h66y5rydl3nv6x9wf050ixfa1s2c8vzw"; + type = "gem"; + }; + version = "0.20.6"; + }; + chunky_png = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05g2xli9wbjylkmblln3bhvjalziwb92q452q8ibjagmb853424w"; + type = "gem"; + }; + version = "1.3.10"; + }; + cliver = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "096f4rj7virwvqxhkavy0v55rax10r4jqf8cymbvn4n631948xc7"; + type = "gem"; + }; + version = "0.3.2"; + }; + coderay = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y"; + type = "gem"; + }; + version = "1.1.2"; + }; + compass = { + dependencies = ["chunky_png" "compass-core" "compass-import-once" "rb-fsevent" "rb-inotify" "sass"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lfi83w8z75czr0pf0rmj9hda22082h3cmvczl8r1ma9agf88y2c"; + type = "gem"; + }; + version = "1.0.3"; + }; + compass-core = { + dependencies = ["multi_json" "sass"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yaspqwdmzwdcqviclbs3blq7an16pysrfzylz8q1gxmmd6bpj3a"; + type = "gem"; + }; + version = "1.0.3"; + }; + compass-import-once = { + dependencies = ["sass"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bn7gwbfz7jvvdd0qdfqlx67fcb83gyvxqc7dr9fhcnks3z8z5rq"; + type = "gem"; + }; + version = "1.0.5"; + }; + compass-rails = { + dependencies = ["compass" "sass-rails" "sprockets"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02ydlbl1qb80myjv5xrpwzhmmj6qd80jf5izvpqhq2bikv84j9wr"; + type = "gem"; + }; + version = "3.1.0"; + }; + concurrent-ruby = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18q9skp5pfq4jwbxzmw8q2rn4cpw6mf4561i2hsjcl1nxdag2jvb"; + type = "gem"; + }; + version = "1.1.3"; + }; + configurate = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1m6cppb4jf7liwc3f5dvgn2v2nhp2jq8ixb9papaqz24f4s8dnd1"; + type = "gem"; + }; + version = "0.3.1"; + }; + connection_pool = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lflx29mlznf1hn0nihkgllzbj8xp5qasn8j7h838465pi399k68"; + type = "gem"; + }; + version = "2.2.2"; + }; + coveralls = { + dependencies = ["json" "simplecov" "term-ansicolor" "thor" "tins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "022kc16np6w4mv17hq3m9hhw9l8hjl78ld3fzqqx6337vwvwvwcg"; + type = "gem"; + }; + version = "0.8.22"; + }; + crack = { + dependencies = ["safe_yaml"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k"; + type = "gem"; + }; + version = "0.4.3"; + }; + crass = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi"; + type = "gem"; + }; + version = "1.0.4"; + }; + cucumber = { + dependencies = ["builder" "cucumber-core" "cucumber-expressions" "cucumber-wire" "diff-lcs" "gherkin" "multi_json" "multi_test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1s2brssrpal8hyhcgg974x3xyhpmvpwps5ypd9p8w2lg01l1pp3j"; + type = "gem"; + }; + version = "3.1.2"; + }; + cucumber-api-steps = { + dependencies = ["cucumber" "jsonpath"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fij6bgzshda68jp7kac0hs5n6xsmv49g8ynqhy6s3znc9d4qjbw"; + type = "gem"; + }; + version = "0.14.0"; + }; + cucumber-core = { + dependencies = ["backports" "cucumber-tag_expressions" "gherkin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1iavlh8hqj9lwljbpkw06259gdicbr1bdb6pbj5yy3n8szgr8k3c"; + type = "gem"; + }; + version = "3.2.1"; + }; + cucumber-expressions = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0zwmv6hznyz9vk81f5dhwcr9jhxx2vmbk8yyazayvllvhy0fkpdw"; + type = "gem"; + }; + version = "6.0.1"; + }; + cucumber-rails = { + dependencies = ["capybara" "cucumber" "mime-types" "nokogiri" "railties"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0pmlza6r2601k1i7v3z8gj4apdcq6qa830bzwkj1pnfjzn4z12n7"; + type = "gem"; + }; + version = "1.6.0"; + }; + cucumber-tag_expressions = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cvmbljybws0qzjs1l67fvr9gqr005l8jk1ni5gcsis9pfmqh3vc"; + type = "gem"; + }; + version = "1.1.1"; + }; + cucumber-wire = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09ymvqb0sbw2if1nxg8rcj33sf0va88ancq5nmp8g01dfwzwma2f"; + type = "gem"; + }; + version = "0.0.1"; + }; + database_cleaner = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05i0nf2aj70m61y3fspypdkc6d1qgibf5kav05a71b5gjz0k7y5x"; + type = "gem"; + }; + version = "1.7.0"; + }; + devise = { + dependencies = ["bcrypt" "orm_adapter" "railties" "responders" "warden"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vs8nibl568ghm6a7hbw6xgcv8zbm4gykprcxpnzi7bz5d4gvcjx"; + type = "gem"; + }; + version = "4.5.0"; + }; + devise_lastseenable = { + dependencies = ["devise" "rails"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1h83h73qjh8fc7lmr089shky8lc3wm4xn653rjdbb0cddflvrx8y"; + type = "gem"; + }; + version = "0.0.6"; + }; + diaspora-prosody-config = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1976ijqjf5jcq1jwr6vi0srjadhbqfa9y3nxyipzcv91pzskl2lp"; + type = "gem"; + }; + version = "0.0.7"; + }; + diaspora_federation = { + dependencies = ["faraday" "faraday_middleware" "nokogiri" "typhoeus" "valid"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xxy6ahlhgyr00qkfmmq0h3nqm6gjkr9i6hsqr0nkb3l6qg0m0yc"; + type = "gem"; + }; + version = "0.2.5"; + }; + diaspora_federation-json_schema = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hfv4cq5wfdg86xmbp5y0h50b11326ymzks1yr9dvr4wa7di00hr"; + type = "gem"; + }; + version = "0.2.5"; + }; + diaspora_federation-rails = { + dependencies = ["actionpack" "diaspora_federation"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wrni7d9084v3pqd3sq8j532wx5ym6kmd959bw29bzwxc3zidd9h"; + type = "gem"; + }; + version = "0.2.5"; + }; + diaspora_federation-test = { + dependencies = ["diaspora_federation" "fabrication" "uuid"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1b09y78pyl9kix8slbybnks2cbq0ac9wml31j2s6qwjixranjsm4"; + type = "gem"; + }; + version = "0.2.5"; + }; + diff-lcs = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza"; + type = "gem"; + }; + version = "1.3"; + }; + docile = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04d2izkna3ahfn6fwq4xrcafa715d3bbqczxm16fq40fqy87xn17"; + type = "gem"; + }; + version = "1.3.1"; + }; + domain_name = { + dependencies = ["unf"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0abdlwb64ns7ssmiqhdwgl27ly40x2l27l8hs8hn0z4kb3zd2x3v"; + type = "gem"; + }; + version = "0.5.20180417"; + }; + entypo-rails = { + dependencies = ["railties"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "124x0jszg6n0k2lcacd627ndlp1fv7cbgnv4scwy5s3czp0qwip6"; + type = "gem"; + }; + version = "3.0.0"; + }; + equalizer = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4"; + type = "gem"; + }; + version = "0.0.11"; + }; + erubi = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bws86na9k565raiz0kk61yy5pxxp0fmwyzpibdwjkq0xzx8q6q1"; + type = "gem"; + }; + version = "1.7.1"; + }; + eslintrb = { + dependencies = ["execjs" "multi_json" "rake"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0kx9sbs7pnl436zyczylnqqb1858hffy66fwdqfmcn18q8xdqwkx"; + type = "gem"; + }; + version = "2.1.0"; + }; + et-orbi = { + dependencies = ["tzinfo"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0wk7i0bmsy46la8gcvbmdns0ni8lmdqas838phj97bdwykxw8m4b"; + type = "gem"; + }; + version = "1.1.6"; + }; + ethon = { + dependencies = ["ffi"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0y70szwm2p0b9qfvpqrzjrgm3jz0ig65vlbfr6ppc3z0m1h7kv48"; + type = "gem"; + }; + version = "0.11.0"; + }; + excon = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15l9w0938c19nxmrp09n75qpmm64k12xj69h47yvxzcxcpbgnkb2"; + type = "gem"; + }; + version = "0.62.0"; + }; + execjs = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1yz55sf2nd3l666ms6xr18sm2aggcvmb8qr3v53lr4rir32y1yp1"; + type = "gem"; + }; + version = "2.7.0"; + }; + eye = { + dependencies = ["celluloid" "celluloid-io" "kostya-sigar" "state_machines" "thor"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gqrrrisy492m6sczq775dyg9sxkl926r8lkr6z33kfb4cnimfzk"; + type = "gem"; + }; + version = "0.10.0"; + }; + fabrication = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0an28kjand4mjbkmnwd9fmgq3y5vf717zpmiijavar3sxqj52zri"; + type = "gem"; + }; + version = "2.20.1"; + }; + factory_girl = { + dependencies = ["activesupport"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cc60v28r7w1gp34p4amzdnq7cyip6qhffvxywsj3ypilyf8jqla"; + type = "gem"; + }; + version = "4.8.0"; + }; + factory_girl_rails = { + dependencies = ["factory_girl" "railties"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hw8qqp30vm4yf4a36r1r65wk78ihxmas7jg5fyl6fcf705z9fvv"; + type = "gem"; + }; + version = "4.8.0"; + }; + faraday = { + dependencies = ["multipart-post"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "16hwxc8v0z6gkanckjhx0ffgqmzpc4ywz4dfhxpjlz2mbz8d5m52"; + type = "gem"; + }; + version = "0.15.3"; + }; + faraday-cookie_jar = { + dependencies = ["faraday" "http-cookie"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1di4gx6446a6zdkrpj679m5k515i53wvb4yxcsqvy8d8zacxiiv6"; + type = "gem"; + }; + version = "0.0.6"; + }; + faraday_middleware = { + dependencies = ["faraday"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1p7icfl28nvl8qqdsngryz1snqic9l8x6bk0dxd7ygn230y0k41d"; + type = "gem"; + }; + version = "0.12.2"; + }; + ffi = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0jpm2dis1j7zvvy3lg7axz9jml316zrn7s0j59vyq3qr127z0m7q"; + type = "gem"; + }; + version = "1.9.25"; + }; + fixture_builder = { + dependencies = ["activerecord" "activesupport" "hashdiff"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1qlq0nyfhjvz09hm0jankl9bgs9672k31b3lmsfq8p135x3xs627"; + type = "gem"; + }; + version = "0.5.2.rc3"; + }; + fog-aws = { + dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zprxg0spvkkri1jf40zg3rfr5h2gq6009d7l36lifpvhjn658cs"; + type = "gem"; + }; + version = "3.3.0"; + }; + fog-core = { + dependencies = ["builder" "excon" "formatador" "mime-types"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fsama04wlxhv537bm4b7rr4zzn0mvisy87m3qzv6f0mhlrq3zp8"; + type = "gem"; + }; + version = "2.1.2"; + }; + fog-json = { + dependencies = ["fog-core" "multi_json"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zj8llzc119zafbmfa4ai3z5s7c4vp9akfs0f9l2piyvcarmlkyx"; + type = "gem"; + }; + version = "1.2.0"; + }; + fog-xml = { + dependencies = ["fog-core" "nokogiri"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "043lwdw2wsi6d55ifk0w3izi5l1d1h0alwyr3fixic7b94kc812n"; + type = "gem"; + }; + version = "0.1.3"; + }; + formatador = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1gc26phrwlmlqrmz4bagq1wd5b7g64avpx0ghxr9xdxcvmlii0l0"; + type = "gem"; + }; + version = "0.2.5"; + }; + fugit = { + dependencies = ["et-orbi" "raabro"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1szijawzdii668z5is9xi849399gy786951dx0l5r2z5mbfqvl9i"; + type = "gem"; + }; + version = "1.1.6"; + }; + fuubar = { + dependencies = ["rspec-core" "ruby-progressbar"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1sqkr1nh49rlm86l3qyrgsdqavgqii4pnrjn7855z6dfavh3spxr"; + type = "gem"; + }; + version = "2.3.2"; + }; + get_process_mem = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1bvfjdign16r0zwm2rlfrq0sk1licvmlgbnlpnyckniv5r7i080g"; + type = "gem"; + }; + version = "0.2.3"; + }; + gherkin = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1cgcdchwwdm10rsk44frjwqd4ihprhxjbm799nscqy2q1raqfj5s"; + type = "gem"; + }; + version = "5.1.0"; + }; + gitlab = { + dependencies = ["httparty" "terminal-table"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nncjmk71ivjxmgkpv100yybry5c7ld6xjgi1b5zsfv4g3mz0v34"; + type = "gem"; + }; + version = "4.7.0"; + }; + globalid = { + dependencies = ["activesupport"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02smrgdi11kziqi9zhnsy9i6yr2fnxrqlv3lllsvdjki3cd4is38"; + type = "gem"; + }; + version = "0.4.1"; + }; + gon = { + dependencies = ["actionpack" "multi_json" "request_store"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07sm7fd94pfscrbs4lyprs0das8s1yn32cw521ch738jaqb388xl"; + type = "gem"; + }; + version = "6.2.1"; + }; + guard = { + dependencies = ["formatador" "listen" "lumberjack" "nenv" "notiffany" "pry" "shellany" "thor"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0h84ja6qvii3hx86w9l4vjpbgl4m8ma8fbawwp7s8l791cgkdcmk"; + type = "gem"; + }; + version = "2.15.0"; + }; + guard-compat = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zj6sr1k8w59mmi27rsii0v8xyy2rnsi09nqvwpgj1q10yq1mlis"; + type = "gem"; + }; + version = "1.2.1"; + }; + guard-rspec = { + dependencies = ["guard" "guard-compat" "rspec"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jkm5xp90gm4c5s51pmf92i9hc10gslwwic6mvk72g0yplya0yx4"; + type = "gem"; + }; + version = "4.7.3"; + }; + guard-rubocop = { + dependencies = ["guard" "rubocop"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1p97zkzasghl1md13rh57n3s2rr2kqly8w4vfn6vaj89igjpagdp"; + type = "gem"; + }; + version = "1.3.0"; + }; + haml = { + dependencies = ["temple" "tilt"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1q0a9fvqh8kn6wm97fcks6qzbjd400bv8bx748w8v87m7p4klhac"; + type = "gem"; + }; + version = "5.0.4"; + }; + haml_lint = { + dependencies = ["haml" "rainbow" "rake" "rubocop" "sysexits"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "125aj0j84nx5gqm42hfx5d8486higlra423ahgfpsdjwbp399rwv"; + type = "gem"; + }; + version = "0.28.0"; + }; + hamlit = { + dependencies = ["temple" "thor" "tilt"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14fsc208qsf46cflk23vs2fdw435dk65fwv55zhziciwn96ld8sf"; + type = "gem"; + }; + version = "2.9.1"; + }; + handlebars_assets = { + dependencies = ["execjs" "sprockets" "tilt"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18pyksz4jb0n28acqxv14ahy8mkc9ldqbbn73gcj28m0l9wjzsca"; + type = "gem"; + }; + version = "0.23.2"; + }; + hashdiff = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yj5l2rw8i8jc725hbcpc4wks0qlaaimr3dpaqamfjkjkxl0hjp9"; + type = "gem"; + }; + version = "0.3.7"; + }; + hashie = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hh5lybf8hm7d7xs4xm8hxvm8xqrs2flc8fnwkrclaj746izw6xb"; + type = "gem"; + }; + version = "3.5.7"; + }; + http = { + dependencies = ["addressable" "http-cookie" "http-form_data" "http_parser.rb"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jlm5prw437wqpfxcigh88lfap3m7g8mnmj5as7qw6dzqnvrxwmc"; + type = "gem"; + }; + version = "3.3.0"; + }; + http-cookie = { + dependencies = ["domain_name"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g"; + type = "gem"; + }; + version = "1.0.3"; + }; + http-form_data = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15lpn604byf7cyxnw949xz4rvpcknqp7a48q73nm630gqxsa76f3"; + type = "gem"; + }; + version = "2.1.1"; + }; + http_accept_language = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0d0nlfz9vm4jr1l6q0chx4rp2hrnrfbx3gadc1dz930lbbaz0hq0"; + type = "gem"; + }; + version = "2.1.1"; + }; + "http_parser.rb" = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi"; + type = "gem"; + }; + version = "0.6.0"; + }; + httparty = { + dependencies = ["mime-types" "multi_xml"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xmm7pxmz3pblkdr76dg7qm5s60kpp3yvh46c2i0bn1dm0zgl730"; + type = "gem"; + }; + version = "0.16.3"; + }; + httpclient = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; + type = "gem"; + }; + version = "2.8.3"; + }; + i18n = { + dependencies = ["concurrent-ruby"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1gcp1m1p6dpasycfz2sj82ci9ggz7lsskz9c9q6gvfwxrl8y9dx7"; + type = "gem"; + }; + version = "1.1.1"; + }; + i18n-inflector = { + dependencies = ["i18n"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "081jr7z947aqjfmpbfs10w9jxi205jwgk4mgd8jds1b4m4i8mc7g"; + type = "gem"; + }; + version = "2.6.7"; + }; + i18n-inflector-rails = { + dependencies = ["actionpack" "i18n-inflector" "railties"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0c04jm657akp5n14syhcwnn3hnsvx7harvg97768bvf3f9a37hyk"; + type = "gem"; + }; + version = "1.0.7"; + }; + ipaddress = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1x86s0s11w202j6ka40jbmywkrx8fhq8xiy8mwvnkhllj57hqr45"; + type = "gem"; + }; + version = "0.8.3"; + }; + jaro_winkler = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rr797nqz081bfk30m2apj5h24bg5d1jr1c8p3xwx4hbwsrbclah"; + type = "gem"; + }; + version = "1.5.1"; + }; + jasmine = { + dependencies = ["jasmine-core" "phantomjs" "rack" "rake"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xfwf163wi5a9i0vlm564cqi6k30h15wnrwd15ph95jfa5516kv1"; + type = "gem"; + }; + version = "3.3.0"; + }; + jasmine-core = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1b12bjfrxvb8mwjwlfyngykd80lz956glcpfz7rhhw7n75b2rdlv"; + type = "gem"; + }; + version = "3.3.0"; + }; + jasmine-jquery-rails = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cq5zd4ng5dlza45whd6sa7bzd60rlddk9760271mybdqyd96jlv"; + type = "gem"; + }; + version = "2.0.3"; + }; + jquery-rails = { + dependencies = ["rails-dom-testing" "railties" "thor"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17201sb8ddwy4yprizmqabq1kfx3m9c53p0yqngn63m07jjcpnh8"; + type = "gem"; + }; + version = "4.3.3"; + }; + js-routes = { + dependencies = ["railties" "sprockets-rails"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14yx3jrd4sgcwgj8yrrqdwl691mci1hcjqyyvp0v15jbzis1bclm"; + type = "gem"; + }; + version = "1.4.4"; + }; + js_image_paths = { + dependencies = ["rails" "sprockets"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1d4kq8895i61a338ddk5f2k16l5lvmnkby9cdjwnmm2jddw4q7nf"; + type = "gem"; + }; + version = "0.1.1"; + }; + json = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp"; + type = "gem"; + }; + version = "2.1.0"; + }; + json-jwt = { + dependencies = ["activesupport" "aes_key_wrap" "bindata"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "065k7vffdki73f4nz89lxi6wxmcw5dlf593831pgvlbralll6x3r"; + type = "gem"; + }; + version = "1.9.4"; + }; + json-schema = { + dependencies = ["addressable"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1yv5lfmr2nzd14af498xqd5p89f3g080q8wk0klr3vxgypsikkb5"; + type = "gem"; + }; + version = "2.8.1"; + }; + json-schema-rspec = { + dependencies = ["json-schema" "rspec"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ip30yjzyigqqp9jwkrw9x9vrfpnmwi160zmk2vkrwlv9pby0wr9"; + type = "gem"; + }; + version = "0.0.4"; + }; + jsonpath = { + dependencies = ["multi_json" "to_regexp"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06i41lwpj0dwvbxcpqrad5pjn2gmcv0srv0zw0ap7irwc21ifd7d"; + type = "gem"; + }; + version = "0.9.6"; + }; + jwt = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1w0kaqrbl71cq9sbnixc20x5lqah3hs2i93xmhlfdg2y3by7yzky"; + type = "gem"; + }; + version = "2.1.0"; + }; + kgio = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1528pyj1szzzp3pgj05fzjd36qjrxm9yj2x5radc9p1z7vl67y50"; + type = "gem"; + }; + version = "2.11.2"; + }; + kostya-sigar = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0z0pcykhjyrb7kq76jfcyxc1qq23gj5zmgy3miy87v85ydrxiqwb"; + type = "gem"; + }; + version = "2.0.4"; + }; + leaflet-rails = { + dependencies = ["rails"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0dy7vhsjj1fhbbqm2s7pw57vgysd31qqi4y0hm91325hmvq75grb"; + type = "gem"; + }; + version = "1.3.1"; + }; + listen = { + dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx"; + type = "gem"; + }; + version = "3.1.5"; + }; + little-plugger = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym"; + type = "gem"; + }; + version = "1.1.4"; + }; + logging = { + dependencies = ["little-plugger" "multi_json"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06j6iaj89h9jhkx1x3hlswqrfnqds8br05xb1qra69dpvbdmjcwn"; + type = "gem"; + }; + version = "2.2.2"; + }; + logging-rails = { + dependencies = ["logging"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "022cnj9v177282kadd9ygzjpvlvbq9k5z0xhdbbmgypi05z4i239"; + type = "gem"; + }; + version = "0.6.0"; + }; + loofah = { + dependencies = ["crass" "nokogiri"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ccsid33xjajd0im2xv941aywi58z7ihwkvaf1w2bv89vn5bhsjg"; + type = "gem"; + }; + version = "2.2.3"; + }; + lumberjack = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06im7gcg42x77yhz2w5da2ly9xz0n0c36y5ks7xs53v0l9g0vf5n"; + type = "gem"; + }; + version = "1.0.13"; + }; + macaddr = { + dependencies = ["systemu"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1clii8mvhmh5lmnm95ljnjygyiyhdpja85c5vy487rhxn52scn0b"; + type = "gem"; + }; + version = "1.7.1"; + }; + mail = { + dependencies = ["mini_mime"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc"; + type = "gem"; + }; + version = "2.7.1"; + }; + markdown-it-html5-embed = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10n2z6j0whc6makxvcf2jhpwb8xrj4s6vyywijsaaxs0cn490a5c"; + type = "gem"; + }; + version = "1.0.0"; + }; + markerb = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08sm3kafc3086l0a9is2cysk7j2k71mxy6ba295pwwzyvy734y76"; + type = "gem"; + }; + version = "1.1.0"; + }; + memoizable = { + dependencies = ["thread_safe"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c"; + type = "gem"; + }; + version = "0.4.2"; + }; + method_source = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq"; + type = "gem"; + }; + version = "0.9.2"; + }; + mime-types = { + dependencies = ["mime-types-data"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk"; + type = "gem"; + }; + version = "3.2.2"; + }; + mime-types-data = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07wvp0aw2gjm4njibb70as6rh5hi1zzri5vky1q6jx95h8l56idc"; + type = "gem"; + }; + version = "3.2018.0812"; + }; + mini_magick = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0sisx59mr5kydmxmx5vr8spmrxhrjkfqv35zhsqdlyzmp1z5px9p"; + type = "gem"; + }; + version = "4.9.2"; + }; + mini_mime = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3"; + type = "gem"; + }; + version = "1.0.1"; + }; + mini_portile2 = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13d32jjadpjj6d2wdhkfpsmy68zjx90p49bgf8f7nkpz86r1fr11"; + type = "gem"; + }; + version = "2.3.0"; + }; + minitest = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq"; + type = "gem"; + }; + version = "5.11.3"; + }; + mobile-fu = { + dependencies = ["rack-mobile-detect" "rails"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lxfcsd7dwwcpa1j2jbl382anmv6kksf5q1wqj14gc6jxxjq9s4i"; + type = "gem"; + }; + version = "1.4.0"; + }; + multi_json = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv"; + type = "gem"; + }; + version = "1.13.1"; + }; + multi_test = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1sx356q81plr67hg16jfwz9hcqvnk03bd9n75pmdw8pfxjfy1yxd"; + type = "gem"; + }; + version = "0.1.2"; + }; + multi_xml = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lmd4f401mvravi1i1yq7b2qjjli0yq7dfc4p1nj5nwajp7r6hyj"; + type = "gem"; + }; + version = "0.6.0"; + }; + multipart-post = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x"; + type = "gem"; + }; + version = "2.0.0"; + }; + mysql2 = { + groups = ["mysql"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1a2kdjgzwh1p2rkcmxaawy6ibi32b04wbdd5d4wr8i342pq76di4"; + type = "gem"; + }; + version = "0.5.2"; + }; + naught = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wwjx35zgbc0nplp8a866iafk4zsrbhwwz4pav5gydr2wm26nksg"; + type = "gem"; + }; + version = "1.1.0"; + }; + nenv = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0r97jzknll9bhd8yyg2bngnnkj8rjhal667n7d32h8h7ny7nvpnr"; + type = "gem"; + }; + version = "0.3.0"; + }; + net-ldap = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "016igqz81a8zcwqzp5bbhryqmb2skmyf57ij3nb5z8sxwhw22jgh"; + type = "gem"; + }; + version = "0.16.1"; + }; + nio4r = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1a41ca1kpdmrypjp9xbgvckpy8g26zxphkja9vk7j5wl4n8yvlyr"; + type = "gem"; + }; + version = "2.3.1"; + }; + nokogiri = { + dependencies = ["mini_portile2"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0byyxrazkfm29ypcx5q4syrv126nvjnf7z6bqi01sqkv4llsi4qz"; + type = "gem"; + }; + version = "1.8.5"; + }; + notiffany = { + dependencies = ["nenv" "shellany"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0x838fa5il0dd9zbm3lxkpbfxcf5fxv9556mayc2mxsdl5ghv8nx"; + type = "gem"; + }; + version = "0.1.1"; + }; + oauth = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zszdg8q1b135z7l7crjj234k4j0m347hywp5kj6zsq7q78pw09y"; + type = "gem"; + }; + version = "0.5.4"; + }; + oauth2 = { + dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0av6nlb5y2sm6m8fx669ywrqa9858yqaqfqzny75nqp3anag89qh"; + type = "gem"; + }; + version = "1.4.1"; + }; + octokit = { + dependencies = ["sawyer"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1yh0yzzqg575ix3y2l2261b9ag82gv2v4f1wczdhcmfbxcz755x6"; + type = "gem"; + }; + version = "4.13.0"; + }; + omniauth = { + dependencies = ["hashie" "rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1msqr4qq7mfdvl3rg89529isrv595hvjpj2gi0say4b8nwqfggmg"; + type = "gem"; + }; + version = "1.8.1"; + }; + omniauth-oauth = { + dependencies = ["oauth" "omniauth"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1n5vk4by7hkyc09d9blrw2argry5awpw4gbw1l4n2s9b3j4qz037"; + type = "gem"; + }; + version = "1.1.0"; + }; + omniauth-oauth2 = { + dependencies = ["oauth2" "omniauth"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0kscjf1y0lnggsl4z3w5bwllqshqjlsl5kmcya5haydajdnzvdjr"; + type = "gem"; + }; + version = "1.5.0"; + }; + omniauth-tumblr = { + dependencies = ["multi_json" "omniauth-oauth"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10ncmfym4l6k6aqp402g7mqxahbggcj5xkpsjxgngs746s82y97w"; + type = "gem"; + }; + version = "1.2"; + }; + omniauth-twitter = { + dependencies = ["omniauth-oauth" "rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0r5j65hkpgzhvvbs90id3nfsjgsad6ymzggbm7zlaxvnrmvnrk65"; + type = "gem"; + }; + version = "1.4.0"; + }; + omniauth-wordpress = { + dependencies = ["omniauth-oauth2"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "008zx4zwrbzyvlgv6hy68k1d05zskiwvcgwvxxbxhbl0mvlmh303"; + type = "gem"; + }; + version = "0.2.2"; + }; + open_graph_reader = { + dependencies = ["faraday" "nokogiri"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0af4yldyb0d8zglw73s13pyn0g90gs4m5zf7bwy8r4kym9zbvc21"; + type = "gem"; + }; + version = "0.6.2"; + }; + openid_connect = { + dependencies = ["activemodel" "attr_required" "json-jwt" "rack-oauth2" "swd" "tzinfo" "validate_email" "validate_url" "webfinger"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1r13bv18nyvw0g1nw3fzffvv2si99zj24w0k5zgawf4q6nn5f7vd"; + type = "gem"; + }; + version = "1.1.6"; + }; + orm_adapter = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fg9jpjlzf5y49qs9mlpdrgs5rpcyihq1s4k79nv9js0spjhnpda"; + type = "gem"; + }; + version = "0.5.0"; + }; + parallel = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01hj8v1qnyl5ndrs33g8ld8ibk0rbcqdpkpznr04gkbxd11pqn67"; + type = "gem"; + }; + version = "1.12.1"; + }; + parser = { + dependencies = ["ast"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zjk0w1kjj3xk8ymy1430aa4gg0k8ckphfj88br6il4pm83f0n1f"; + type = "gem"; + }; + version = "2.5.3.0"; + }; + pg = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pnjw3rspdfjssxyf42jnbsdlgri8ylysimp0s28wxb93k6ff2qb"; + type = "gem"; + }; + version = "1.1.3"; + }; + phantomjs = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0y8pbbyq9dirxb7igkb2s5limz2895qmr41c09fjhx6k6fxcz4mk"; + type = "gem"; + }; + version = "2.1.1.0"; + }; + poltergeist = { + dependencies = ["capybara" "cliver" "websocket-driver"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0il80p97psmhs6scl0grq031gv7kws4ylvvd6zyr8xv91qadga95"; + type = "gem"; + }; + version = "1.18.1"; + }; + powerpack = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1r51d67wd467rpdfl6x43y84vwm8f5ql9l9m85ak1s2sp3nc5hyv"; + type = "gem"; + }; + version = "0.1.2"; + }; + pronto = { + dependencies = ["gitlab" "httparty" "octokit" "rainbow" "rugged" "thor"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13xbg1pm3kz5zbzxad5qgqnkzkp3ddajj7wxx16aqbfr7rqggvhz"; + type = "gem"; + }; + version = "0.9.5"; + }; + pronto-eslint = { + dependencies = ["eslintrb" "pronto"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1cxyx6mlcdgv4ykliaizkx9cps68xf7qvy8lzxmv7pcqzkxaq7xc"; + type = "gem"; + }; + version = "0.9.1"; + }; + pronto-haml = { + dependencies = ["haml_lint" "pronto"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "116iln1whwiqy55f86q33lnnic0awnqm415xvxwnhwlagcbwmnkg"; + type = "gem"; + }; + version = "0.9.0"; + }; + pronto-rubocop = { + dependencies = ["pronto" "rubocop"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bcm34qlpp02wf69why5lpi5p53h5r4fq36f4b1fwi621fwzlgsy"; + type = "gem"; + }; + version = "0.9.1"; + }; + pronto-scss = { + dependencies = ["pronto" "scss_lint"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0kgaqd6l2w3brdsp5231fpfr6fwajciz2hdr925l1zhh6ni1y2za"; + type = "gem"; + }; + version = "0.9.1"; + }; + pry = { + dependencies = ["coderay" "method_source"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00rm71x0r1jdycwbs83lf9l6p494m99asakbvqxh8rz7zwnlzg69"; + type = "gem"; + }; + version = "0.12.2"; + }; + pry-byebug = { + dependencies = ["byebug" "pry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0y2758593i2ij0nhmv0j1pbdfx2cgi52ns6wkij0frgnk2lf650g"; + type = "gem"; + }; + version = "3.6.0"; + }; + public_suffix = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"; + type = "gem"; + }; + version = "3.0.3"; + }; + raabro = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xzdmbn48753f6k0ckirp8ja5p0xn1a92wbwxfyggyhj0hza9ylq"; + type = "gem"; + }; + version = "1.1.6"; + }; + rack = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pcgv8dv4vkaczzlix8q3j68capwhk420cddzijwqgi2qb4lm1zm"; + type = "gem"; + }; + version = "2.0.6"; + }; + rack-cors = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1j27vy1bmhbqcyzhxg8d07qassmax769xjalfwcwz6qfiq8cf013"; + type = "gem"; + }; + version = "1.0.2"; + }; + rack-google-analytics = { + dependencies = ["actionpack" "activesupport"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09pv0z5dhjjrlhi9qj5qy48hi66f7iix337qrapg7mvwwz6czcvj"; + type = "gem"; + }; + version = "1.2.0"; + }; + rack-mobile-detect = { + dependencies = ["rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bagli6ldhkpd1yym775sxy7w5n4jds6gbcjm3gmcl37vggvm8a5"; + type = "gem"; + }; + version = "0.4.0"; + }; + rack-oauth2 = { + dependencies = ["activesupport" "attr_required" "httpclient" "json-jwt" "rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0kmxj9hbjhhcs3yyb433s82hkpmzb536m0mwfadjiaisganx1cii"; + type = "gem"; + }; + version = "1.9.3"; + }; + rack-piwik = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0raxrckapqh693lpid0cnx1j1v2i3mz5cyssg7grgrilgrn9318z"; + type = "gem"; + }; + version = "0.3.0"; + }; + rack-protection = { + dependencies = ["rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ylx74ravz7nvnyygq0nk3v86qdzrmqxpwpayhppyy50l72rcajq"; + type = "gem"; + }; + version = "2.0.4"; + }; + rack-rewrite = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0milw71dv96wnc6i48vbzypws51dgf415kkp8c4air0mkdhpj838"; + type = "gem"; + }; + version = "1.5.1"; + }; + rack-ssl = { + dependencies = ["rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0c21xqkjyl10fngq6dy8082vmn2png8cwkiyzv83ymixq5cx7ygp"; + type = "gem"; + }; + version = "1.4.1"; + }; + rack-test = { + dependencies = ["rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m"; + type = "gem"; + }; + version = "1.1.0"; + }; + rails = { + dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lb07cbwgm371zyn9i6fyj9q8rmv89lacmyzrfvzxqqx2n3ilc5q"; + type = "gem"; + }; + version = "5.1.6"; + }; + rails-assets-autosize = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0hr72mfprb9678lf7dj9lh801lm7p98nzkrnrz764sy9lmbpzcib"; + type = "gem"; + }; + version = "4.0.2"; + }; + rails-assets-backbone = { + dependencies = ["rails-assets-underscore"]; + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0zjgwhgfmg1jyyds7zfjp6g4bz8vw56qvhlrpj943wcqpdxm93id"; + type = "gem"; + }; + version = "1.3.3"; + }; + rails-assets-blueimp-gallery = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "18b7xvvkdnd39xlbkyw46i86w3wzj349s8iv5wdiypa5qdcql8mq"; + type = "gem"; + }; + version = "2.33.0"; + }; + rails-assets-bootstrap = { + dependencies = ["rails-assets-jquery"]; + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0x4i11132qcmghmqb061iq47yksrr7i0la5hzzdm38dxybh87x5v"; + type = "gem"; + }; + version = "3.3.7"; + }; + rails-assets-bootstrap-markdown = { + dependencies = ["rails-assets-bootstrap"]; + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "1nxirs9wx5jxrjmxjwvsqlf2rsypjn3ajg7fs28c4ib7wwpabwj3"; + type = "gem"; + }; + version = "2.10.0"; + }; + rails-assets-corejs-typeahead = { + dependencies = ["rails-assets-jquery"]; + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "1p5i6afd156rakrin99c2ryaz3zykx21ir6y10l34jnw03rikcfg"; + type = "gem"; + }; + version = "1.2.1"; + }; + rails-assets-diaspora_jsxc = { + dependencies = ["rails-assets-emojione" "rails-assets-favico.js" "rails-assets-jquery-colorbox" "rails-assets-jquery-fullscreen-plugin" "rails-assets-jquery.slimscroll" "rails-assets-jquery.ui"]; + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "07vqdj0l8fsj4fd2sschba2jgfbimyfad56009ldzlcvb6ml5nhi"; + type = "gem"; + }; + version = "0.1.5.develop.7"; + }; + rails-assets-emojione = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "1j29vbsf6v9ikiqlmnfgzxys4xsa1glvmfky8id5xfyymnjx2c52"; + type = "gem"; + }; + version = "2.0.1"; + }; + "rails-assets-favico.js" = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "19yndhljmqlvarf49h5v71zq0p0ngvspjr2v0m6lac0q9ni7r5bv"; + type = "gem"; + }; + version = "0.3.10"; + }; + rails-assets-fine-uploader = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "1vxj78x2vvlchpapxpaawysc9wn8alzdd3gxhwfwy11xv8ka9mdv"; + type = "gem"; + }; + version = "5.13.0"; + }; + rails-assets-highlightjs = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0spmb0gkfs13fmljjv1n53r53q69fhb6r573ndbxnhgb3izqgnqp"; + type = "gem"; + }; + version = "9.12.0"; + }; + rails-assets-jasmine = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "1n6yixrl9cgq5kckay75b44p878s1kqi69mhgyw99w8dsq8i2vy5"; + type = "gem"; + }; + version = "3.3.0"; + }; + rails-assets-jasmine-ajax = { + dependencies = ["rails-assets-jasmine"]; + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0l8z0p75x1yzk1l1ryfvdlvq8yq4w2xngp4icz478axd5jcqx6kg"; + type = "gem"; + }; + version = "3.4.0"; + }; + rails-assets-jquery = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "1wcaappk12w300733lrqb571cir9nw35d9q6d2i52wwdvhv2fx2y"; + type = "gem"; + }; + version = "3.3.1"; + }; + rails-assets-jquery-colorbox = { + dependencies = ["rails-assets-jquery"]; + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "19ws3r1zfviwnfr9s0jh6iqss50iwqkf4a78zhrk0p3bb4lvmmsp"; + type = "gem"; + }; + version = "1.6.4"; + }; + rails-assets-jquery-fullscreen-plugin = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0ldvq4s15lap9p6w7d1yw6dajn2gh6p75dbkp79p0d8ylzapsd58"; + type = "gem"; + }; + version = "0.5.0"; + }; + rails-assets-jquery-placeholder = { + dependencies = ["rails-assets-jquery"]; + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0h17gjazc27pj4cm2ig232ww4d4ppq9bcginwzjss95pl63richi"; + type = "gem"; + }; + version = "2.3.1"; + }; + rails-assets-jquery-textchange = { + dependencies = ["rails-assets-jquery"]; + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0rsw3cn9a5njv80zy53339kmrmv60b8fqcrr7bacapbagb2rd4dj"; + type = "gem"; + }; + version = "0.2.3"; + }; + "rails-assets-jquery.are-you-sure" = { + dependencies = ["rails-assets-jquery"]; + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0nj04aqh9jpcg57xbjxpm2vn7mkd5clnpma907515a1nxy40bym0"; + type = "gem"; + }; + version = "1.9.0"; + }; + "rails-assets-jquery.slimscroll" = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "1rymmd2rxy1vjjj70v88abmdlfs55276rs3rksj300dgirnnj998"; + type = "gem"; + }; + version = "1.3.8"; + }; + "rails-assets-jquery.ui" = { + dependencies = ["rails-assets-jquery"]; + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0xc9kfb29hi441irj49b7aawxkddk1dxzy938rpqv9ylpsj7knaa"; + type = "gem"; + }; + version = "1.11.4"; + }; + rails-assets-markdown-it = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0fxx7ldszsdqr5ry21bnxmv33byz7abpk9lcp100q5cqsjx091r9"; + type = "gem"; + }; + version = "8.4.2"; + }; + rails-assets-markdown-it--markdown-it-for-inline = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0fznv2x7ndadr3wb4dzhh86bpcpwz8f4d8rfhz4sfbqlai40j3jl"; + type = "gem"; + }; + version = "0.1.1"; + }; + rails-assets-markdown-it-diaspora-mention = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0asggm7wgmdll8x94291p2w6icmp2izi914dlh3b7vb7dpjq3jig"; + type = "gem"; + }; + version = "1.2.0"; + }; + rails-assets-markdown-it-hashtag = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0dr8fwaxgkfqm7z4rl4jdym0i1ycqw1sgkxshkd9k0849ry12cdk"; + type = "gem"; + }; + version = "0.4.0"; + }; + rails-assets-markdown-it-sanitizer = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0fkpffh83fc257zkzaia93j4hw2baz90lg10s5yxsxww06q5dn36"; + type = "gem"; + }; + version = "0.4.3"; + }; + rails-assets-markdown-it-sub = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "08hjij5fqvhvg7s27n4g8qqsks974g3kc5k7xl2qmh41k7f4hcrk"; + type = "gem"; + }; + version = "1.0.0"; + }; + rails-assets-markdown-it-sup = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "17nnnvky7zy0yiwwl6dm8ibbkyvvf63xfp3snch4dzmras05lmig"; + type = "gem"; + }; + version = "1.0.0"; + }; + rails-assets-underscore = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "1ccnzj7aqrvngcs915y290pijryqmjygimdwlrykpyj8vwzifdnc"; + type = "gem"; + }; + version = "1.9.1"; + }; + rails-assets-utatti-perfect-scrollbar = { + platforms = []; + source = { + remotes = ["https://rails-assets.org"]; + sha256 = "0m8syfv8p5bnwm8nrba6mpjnhrd29ffwzi6awhiw537jqw42b12v"; + type = "gem"; + }; + version = "1.4.0"; + }; + rails-controller-testing = { + dependencies = ["actionpack" "actionview" "activesupport"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "16kdkk73mhhs73iz3i1i0ryjm84dadiyh817b3nh8acdi490jyhy"; + type = "gem"; + }; + version = "1.0.2"; + }; + rails-dom-testing = { + dependencies = ["activesupport" "nokogiri"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i"; + type = "gem"; + }; + version = "2.0.3"; + }; + rails-html-sanitizer = { + dependencies = ["loofah"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr"; + type = "gem"; + }; + version = "1.0.4"; + }; + rails-i18n = { + dependencies = ["i18n" "railties"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05lkhc737a9dw0hd5ljmja0yp4cw39r3200s1r0n4bs7z1g3ka7l"; + type = "gem"; + }; + version = "5.1.2"; + }; + rails-timeago = { + dependencies = ["actionpack" "activesupport"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01x1vs9hni9wn8dc4fmyqzkrn651chzsi2mhmk0pxdrfx9md0lxv"; + type = "gem"; + }; + version = "2.16.0"; + }; + railties = { + dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ycy2gdaj0px1vfaghskvl6qkczwaigrli2zxn54w7zn1z29faj8"; + type = "gem"; + }; + version = "5.1.6"; + }; + rainbow = { + dependencies = ["rake"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08w2ghc5nv0kcq5b257h7dwjzjz1pqcavajfdx2xjyxqsvh2y34w"; + type = "gem"; + }; + version = "2.2.2"; + }; + raindrops = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1qpbd9jif40c53fz2r0l8khfl016y8s8bkx37ibcaafclbl3xygp"; + type = "gem"; + }; + version = "0.19.0"; + }; + rake = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1idi53jay34ba9j68c3mfr9wwkg3cd9qh0fn9cg42hv72c6q8dyg"; + type = "gem"; + }; + version = "12.3.1"; + }; + rb-fsevent = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8"; + type = "gem"; + }; + version = "0.10.3"; + }; + rb-inotify = { + dependencies = ["ffi"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71"; + type = "gem"; + }; + version = "0.9.10"; + }; + redcarpet = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0h9qz2hik4s9knpmbwrzb3jcp3vc5vygp9ya8lcpl7f1l9khmcd7"; + type = "gem"; + }; + version = "3.4.0"; + }; + redis = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0i415x8gi0c5vsiy6ikvx5js6fhc4x80a5lqv8iidy2iymd20irv"; + type = "gem"; + }; + version = "3.3.5"; + }; + regexp_parser = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18g5jyg3blsdrz3mc8d87bms6qqn6gcdh1nvdhvgbjdpk9pw21dq"; + type = "gem"; + }; + version = "1.3.0"; + }; + request_store = { + dependencies = ["rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1963330z03fk382fi8y231ygcbnh86m91dqlp5rh1mwy9ihzzl6d"; + type = "gem"; + }; + version = "1.4.1"; + }; + responders = { + dependencies = ["actionpack" "railties"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rhdyyvvm26f2l3fgwdp6xasfl2y0whwgy766bhdwz697mf78zfn"; + type = "gem"; + }; + version = "2.4.0"; + }; + rspec = { + dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15ppasvb9qrscwlyjz67ppw1lnxiqnkzx5vkx1bd8x5n3dhikxc3"; + type = "gem"; + }; + version = "3.8.0"; + }; + rspec-core = { + dependencies = ["rspec-support"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1p1s5bnbqp3sxk67y0fh0x884jjym527r0vgmhbm81w7aq6b7l4p"; + type = "gem"; + }; + version = "3.8.0"; + }; + rspec-expectations = { + dependencies = ["diff-lcs" "rspec-support"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18l21hy1zdc2pgc2yb17k3n2al1khpfr0z6pijlm852iz6vj0dkm"; + type = "gem"; + }; + version = "3.8.2"; + }; + rspec-json_expectations = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0l3dhvkb95zwyg72wz33azxigc9cisqgg3z16ksns1sx0b93nnbn"; + type = "gem"; + }; + version = "2.1.0"; + }; + rspec-mocks = { + dependencies = ["diff-lcs" "rspec-support"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06y508cjqycb4yfhxmb3nxn0v9xqf17qbd46l1dh4xhncinr4fyp"; + type = "gem"; + }; + version = "3.8.0"; + }; + rspec-rails = { + dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0sqj5da2kc937j5jb18jcf0hrmmzwgj7pk62j0q3qndhc2kvx88p"; + type = "gem"; + }; + version = "3.8.1"; + }; + rspec-support = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0p3m7drixrlhvj2zpc38b11x145bvm311x6f33jjcxmvcm0wq609"; + type = "gem"; + }; + version = "3.8.0"; + }; + rubocop = { + dependencies = ["jaro_winkler" "parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ivk049z3mp12nc6v1wn35bsq1g7nz1i2r4xwzqf0v25hm2v7n1i"; + type = "gem"; + }; + version = "0.60.0"; + }; + ruby-oembed = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1kw4aplb3m13z3kchhb79wf87qb3prn1m99s6vl5cyp0xqwyymv0"; + type = "gem"; + }; + version = "0.12.0"; + }; + ruby-progressbar = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk"; + type = "gem"; + }; + version = "1.10.0"; + }; + ruby_dep = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5"; + type = "gem"; + }; + version = "1.5.0"; + }; + rubyzip = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1n1lb2sdwh9h27y244hxzg1lrxxg2m53pk1vq7p33bna003qkyrj"; + type = "gem"; + }; + version = "1.2.2"; + }; + rugged = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jv4nw9hvlxp8hhhlllrfcznki82i50fp1sj65zsjllfl2bvz8x6"; + type = "gem"; + }; + version = "0.27.5"; + }; + safe_yaml = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"; + type = "gem"; + }; + version = "1.0.4"; + }; + sass = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0kfpcwh8dgw4lc81qglkvjl73689jy3g7196zkxm4fpskg1p5lkw"; + type = "gem"; + }; + version = "3.4.25"; + }; + sass-rails = { + dependencies = ["railties" "sass" "sprockets" "sprockets-rails" "tilt"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wa63sbsimrsf7nfm8h0m1wbsllkfxvd7naph5d1j6pbc555ma7s"; + type = "gem"; + }; + version = "5.0.7"; + }; + sawyer = { + dependencies = ["addressable" "faraday"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0sv1463r7bqzvx4drqdmd36m7rrv6sf1v3c6vswpnq3k6vdw2dvd"; + type = "gem"; + }; + version = "0.8.1"; + }; + scss_lint = { + dependencies = ["rake" "sass"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11rl8kj32p34mqlkhxvlwfrwl8gdl0iha8q9xsrr3sjxjagzv8yp"; + type = "gem"; + }; + version = "0.55.0"; + }; + secure_headers = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17cxci8jyvlgssix0cy7kbm5m2h7s8ym9caj8nilrbd21jis9pc5"; + type = "gem"; + }; + version = "6.0.0"; + }; + shellany = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ryyzrj1kxmnpdzhlv4ys3dnl2r5r3d2rs2jwzbnd1v96a8pl4hf"; + type = "gem"; + }; + version = "0.0.1"; + }; + shoulda-matchers = { + dependencies = ["activesupport"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zvv94pqk5b5my3w1shdz7h34xf2ldhg5k4qfdpbwi2iy0j9zw2a"; + type = "gem"; + }; + version = "3.1.2"; + }; + sidekiq = { + dependencies = ["connection_pool" "rack-protection" "redis"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zyf9y3rvzizbwh68i2g1lzd40lalrdc4iyjmaa74gnfwsf92i26"; + type = "gem"; + }; + version = "5.2.3"; + }; + sidekiq-cron = { + dependencies = ["fugit" "sidekiq"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1aliswahmpxn1ib2brn4126gk97ac3zdnwr71mn8vzbr3vdd7fl0"; + type = "gem"; + }; + version = "1.0.4"; + }; + simple_captcha2 = { + dependencies = ["rails"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vdjydym8sjpa8c1q0n2hanj3n9vzi4ycdw2p6bbm6qqmm1f3fq3"; + type = "gem"; + }; + version = "0.4.3"; + }; + simple_oauth = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0dw9ii6m7wckml100xhjc6vxpjcry174lbi9jz5v7ibjr3i94y8l"; + type = "gem"; + }; + version = "0.3.1"; + }; + simplecov = { + dependencies = ["docile" "json" "simplecov-html"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1sfyfgf7zrp2n42v7rswkqgk3bbwk1bnsphm24y7laxv3f8z0947"; + type = "gem"; + }; + version = "0.16.1"; + }; + simplecov-html = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lihraa4rgxk8wbfl77fy9sf0ypk31iivly8vl3w04srd7i0clzn"; + type = "gem"; + }; + version = "0.10.2"; + }; + sinon-rails = { + dependencies = ["railties"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1b7996hb8vfky29b0zcql90x8i6vhdg2zy9nfzmhh820gjv3kggb"; + type = "gem"; + }; + version = "1.15.0"; + }; + spring = { + dependencies = ["activesupport"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "168yz9c1fv21wc5i8q7n43b9nk33ivg3ws1fn6x0afgryz3ssx75"; + type = "gem"; + }; + version = "2.0.2"; + }; + spring-commands-cucumber = { + dependencies = ["spring"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0mw81gvms2svn4k4pc6ly7smkmf0j9r2xbf0d38vygbyhiwd1c9a"; + type = "gem"; + }; + version = "1.0.1"; + }; + spring-commands-rspec = { + dependencies = ["spring"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0b0svpq3md1pjz5drpa5pxwg8nk48wrshq8lckim4x3nli7ya0k2"; + type = "gem"; + }; + version = "1.0.4"; + }; + sprockets = { + dependencies = ["concurrent-ruby" "rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay"; + type = "gem"; + }; + version = "3.7.2"; + }; + sprockets-rails = { + dependencies = ["actionpack" "activesupport" "sprockets"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ab42pm8p5zxpv3sfraq45b9lj39cz9mrpdirm30vywzrwwkm5p1"; + type = "gem"; + }; + version = "3.2.1"; + }; + state_machines = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00mi16hg3rhkxz4y58s173cbnjlba41y9bfcim90p4ja6yfj9ri3"; + type = "gem"; + }; + version = "0.5.0"; + }; + string-direction = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0iyddwmkj425c6xbn5pmlr2yzwcq4snzlan7rky5b1yp2pvf70jj"; + type = "gem"; + }; + version = "1.2.1"; + }; + swd = { + dependencies = ["activesupport" "attr_required" "httpclient"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1s2vjb6f13za7p1iycl2p73d3p202xa6xny9fjrp8ynwsqix7lyd"; + type = "gem"; + }; + version = "1.1.2"; + }; + sysexits = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qjng6pllznmprzx8vb0zg0c86hdrkyjs615q41s9fjpmv2430jr"; + type = "gem"; + }; + version = "1.2.0"; + }; + systemu = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gmkbakhfci5wnmbfx5i54f25j9zsvbw858yg3jjhfs5n4ad1xq1"; + type = "gem"; + }; + version = "2.6.5"; + }; + temple = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00nxf610nzi4n1i2lkby43nrnarvl89fcl6lg19406msr0k3ycmq"; + type = "gem"; + }; + version = "0.8.0"; + }; + term-ansicolor = { + dependencies = ["tins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "079hbagd9mk0839rkajsdrbzkn992gj8ah2n45qd64v25ml27i6d"; + type = "gem"; + }; + version = "1.7.0"; + }; + terminal-table = { + dependencies = ["unicode-display_width"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk"; + type = "gem"; + }; + version = "1.8.0"; + }; + thor = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01n5dv9kql60m6a00zc0r66jvaxx98qhdny3klyj0p3w34pad2ns"; + type = "gem"; + }; + version = "0.19.4"; + }; + thread_safe = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; + type = "gem"; + }; + version = "0.3.6"; + }; + tilt = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0020mrgdf11q23hm1ddd6fv691l51vi10af00f137ilcdb2ycfra"; + type = "gem"; + }; + version = "2.0.8"; + }; + timecop = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0d7mm786180v4kzvn1f77rhfppsg5n0sq2bdx63x9nv114zm8jrp"; + type = "gem"; + }; + version = "0.9.1"; + }; + timers = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04zbs9wyzajn7g9xfgg2zqz5kzf0qa7jgh4hgry4pfcxfmlnwdwx"; + type = "gem"; + }; + version = "4.2.0"; + }; + tins = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pqj45n216zrz7yckdbdknlmhh187iqzx8fp76y2h0jrgqjfkxmj"; + type = "gem"; + }; + version = "1.20.2"; + }; + to_regexp = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rgabfhnql6l4fx09mmj5d0vza924iczqf2blmn82l782b6qqi9v"; + type = "gem"; + }; + version = "0.2.1"; + }; + turbo_dev_assets = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08yp7gpishjfj8b7d61hxs677288ycv6yg78a7hfzn631gxczipx"; + type = "gem"; + }; + version = "0.0.2"; + }; + twitter = { + dependencies = ["addressable" "buftok" "equalizer" "http" "http-form_data" "http_parser.rb" "memoizable" "multipart-post" "naught" "simple_oauth"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fjyz3viabz3xs5d9aad18zgdbhfwm51jsnzigc8kxk77p1x58n5"; + type = "gem"; + }; + version = "6.2.0"; + }; + twitter-text = { + dependencies = ["unf"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1732h7hy1k152w8wfvjsx7b79alk45i5imwd37ia4qcx8hfm3gvg"; + type = "gem"; + }; + version = "1.14.7"; + }; + typhoeus = { + dependencies = ["ethon"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cni8b1idcp0dk8kybmxydadhfpaj3lbs99w5kjibv8bsmip2zi5"; + type = "gem"; + }; + version = "1.3.1"; + }; + tzinfo = { + dependencies = ["thread_safe"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z"; + type = "gem"; + }; + version = "1.2.5"; + }; + uglifier = { + dependencies = ["execjs"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1g203kly5wp4qlkc7371skyvyin6iinc8i0p5wrpiqgblqxxgcf1"; + type = "gem"; + }; + version = "4.1.19"; + }; + unf = { + dependencies = ["unf_ext"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; + type = "gem"; + }; + version = "0.1.4"; + }; + unf_ext = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06p1i6qhy34bpb8q8ms88y6f2kz86azwm098yvcc0nyqk9y729j1"; + type = "gem"; + }; + version = "0.0.7.5"; + }; + unicode-display_width = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0040bsdpcmvp8w31lqi2s9s4p4h031zv52401qidmh25cgyh4a57"; + type = "gem"; + }; + version = "1.4.0"; + }; + unicorn = { + dependencies = ["kgio" "raindrops"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1qfhvzs4i6ja1s43j8p1kfbzm10n7a02ngki30a38y5m46a2qrak"; + type = "gem"; + }; + version = "5.4.1"; + }; + unicorn-worker-killer = { + dependencies = ["get_process_mem" "unicorn"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rrdxpwdsapx47axjin8ymxb4f685qlpx8a26bql4ay1559c3gva"; + type = "gem"; + }; + version = "0.4.4"; + }; + uuid = { + dependencies = ["macaddr"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1mr405vg4ccnndkyf7pb49gp1fha8i6gj7iwq43nxkak41cwzh5f"; + type = "gem"; + }; + version = "2.3.9"; + }; + valid = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vxrgik9gxyh5j2w16nz5azjk0cbzmvv883hq9pvxm9anfbbj8d3"; + type = "gem"; + }; + version = "1.2.0"; + }; + validate_email = { + dependencies = ["activemodel" "mail"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1r1fz29l699arka177c9xw7409d1a3ff95bf7a6pmc97slb91zlx"; + type = "gem"; + }; + version = "0.1.6"; + }; + validate_url = { + dependencies = ["activemodel" "addressable"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1df4gch8dizimpbl185vfgw95yb8ffr6zwj6whzbxfil95c3f2qh"; + type = "gem"; + }; + version = "1.0.2"; + }; + versionist = { + dependencies = ["activesupport" "railties" "yard"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1p8wizg6jml7gz1qiqk7d77hy0w5650g812jhgd0zzkwwdmzm38m"; + type = "gem"; + }; + version = "1.7.0"; + }; + warden = { + dependencies = ["rack"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fr9n9i9r82xb6i61fdw4xgc7zjv7fsdrr4k0njchy87iw9fl454"; + type = "gem"; + }; + version = "1.2.8"; + }; + webfinger = { + dependencies = ["activesupport" "httpclient"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0m0jh8k7c0ifh2jhbn7ihqrmn5fi754wflva97zgy70hpdvxyjar"; + type = "gem"; + }; + version = "1.1.0"; + }; + webmock = { + dependencies = ["addressable" "crack" "hashdiff"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "03994dxs4xayvkxqp01dd1ivhg4xxx7z35f7cxw7y2mwj3xn24ib"; + type = "gem"; + }; + version = "3.4.2"; + }; + websocket-driver = { + dependencies = ["websocket-extensions"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1943442yllhldh9dbp374x2q39cxa49xrm28nb78b7mfbv3y195l"; + type = "gem"; + }; + version = "0.6.5"; + }; + websocket-extensions = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "034sdr7fd34yag5l6y156rkbhiqgmy395m231dwhlpcswhs6d270"; + type = "gem"; + }; + version = "0.1.3"; + }; + will_paginate = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ihf15yaj8883ddhkxq7q60zrg3zfsvqaf5853gybhcg18zq8bn9"; + type = "gem"; + }; + version = "3.1.6"; + }; + xpath = { + dependencies = ["nokogiri"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd"; + type = "gem"; + }; + version = "3.2.0"; + }; + yard = { + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lmmr1839qgbb3zxfa7jf5mzy17yjl1yirwlgzdhws4452gqhn67"; + type = "gem"; + }; + version = "0.9.16"; + }; +} diff --git a/pkgs/webapps/diaspora/ldap.patch b/pkgs/webapps/diaspora/ldap.patch new file mode 100644 index 00000000..3d4f7851 --- /dev/null +++ b/pkgs/webapps/diaspora/ldap.patch @@ -0,0 +1,256 @@ +commit 936a14e225037aca4cdeac11c843c7985e636c88 +Author: Ismaël Bouya +Date: Mon Jul 24 19:58:24 2017 +0200 + + Add LDAP to diaspora + +diff --git a/Gemfile b/Gemfile +index 414b0138d..2a934e9c9 100644 +--- a/Gemfile ++++ b/Gemfile +@@ -217,6 +217,9 @@ gem "thor", "0.19.1" + + # gem "therubyracer", :platform => :ruby + ++# LDAP ++gem 'net-ldap', '~> 0.16' ++ + group :production do # we don"t install these on travis to speed up test runs + # Analytics + +diff --git a/Gemfile.lock b/Gemfile.lock +index 84f8172e4..cdbf19fcd 100644 +--- a/Gemfile.lock 2019-01-13 19:55:52.538561762 +0100 ++++ b/Gemfile.lock 2019-01-13 19:58:11.087099067 +0100 +@@ -398,6 +398,7 @@ + mysql2 (0.5.2) + naught (1.1.0) + nenv (0.3.0) ++ net-ldap (0.16.1) + nio4r (2.3.1) + nokogiri (1.8.5) + mini_portile2 (~> 2.3.0) +@@ -820,6 +821,7 @@ + minitest + mobile-fu (= 1.4.0) + mysql2 (= 0.5.2) ++ net-ldap (~> 0.16) + nokogiri (= 1.8.5) + omniauth (= 1.8.1) + omniauth-tumblr (= 1.2) +diff --git a/app/models/user.rb b/app/models/user.rb +index 940a48f25..d1e2beeee 100644 +--- a/app/models/user.rb ++++ b/app/models/user.rb +@@ -337,6 +337,12 @@ class User < ActiveRecord::Base + end + + def send_confirm_email ++ if skip_email_confirmation? ++ self.email = unconfirmed_email ++ self.unconfirmed_email = nil ++ save ++ end ++ + return if unconfirmed_email.blank? + Workers::Mail::ConfirmEmail.perform_async(id) + end +@@ -554,6 +560,14 @@ class User < ActiveRecord::Base + end + end + ++ def ldap_user? ++ AppConfig.ldap.enable? && ldap_dn.present? ++ end ++ ++ def skip_email_confirmation? ++ ldap_user? && AppConfig.ldap.skip_email_confirmation? ++ end ++ + private + + def clearable_fields +diff --git a/config/defaults.yml b/config/defaults.yml +index c046aff07..66e9afa13 100644 +--- a/config/defaults.yml ++++ b/config/defaults.yml +@@ -202,6 +202,20 @@ defaults: + scope: tags + include_user_tags: false + pod_tags: ++ ldap: ++ enable: false ++ host: localhost ++ port: 389 ++ only_ldap: true ++ mail_attribute: mail ++ skip_email_confirmation: true ++ use_bind_dn: true ++ bind_dn: "cn=diaspora,dc=example,dc=com" ++ bind_pw: "password" ++ search_base: "dc=example,dc=com" ++ search_filter: "uid=%{username}" ++ bind_template: "uid=%{username},dc=example,dc=com" ++ + + development: + environment: +diff --git a/config/diaspora.yml.example b/config/diaspora.yml.example +index b2573625d..c357c8651 100644 +--- a/config/diaspora.yml.example ++++ b/config/diaspora.yml.example +@@ -710,6 +710,36 @@ configuration: ## Section + ## If scope is 'tags', a comma separated list of tags here can be set. + ## For example "linux,diaspora", to receive posts related to these tags + #pod_tags: ++ ldap: ++ # Uncomment next line if you want to use LDAP on your instance ++ enable: true ++ host: localhost ++ port: 389 ++ # Use only LDAP authentication (don't try other means) ++ only_ldap: true ++ # LDAP attribute to find the user's e-mail. Necessary to create accounts ++ # for not existing users ++ mail_attribute: mail ++ # Skip e-mail confirmation when creating an account via LDAP. ++ skip_email_confirmation: true ++ # ----- Using bind_dn and bind_pw ++ # bind_dn and bind_pw may be used if the diaspora instance ++ # should be able to connect to LDAP to find and search for users. ++ ++ use_bind_dn: true ++ bind_dn: "cn=diaspora,dc=example,dc=com" ++ bind_pw: "password" ++ search_base: "dc=example,dc=com" ++ # This is the filter with which to search for the user. %{username} will ++ # be replaced by the given login. ++ search_filter: "uid=%{username}" ++ # ++ # ----- Using template ++ # This setting doesn't require a diaspora LDAP user. Use a template, and ++ # diaspora will try to login with the templated dn and password ++ # ++ # bind_template: "uid=%{username},dc=example,dc=com" ++ + + ## Here you can override settings defined above if you need + ## to have them different in different environments. +diff --git a/config/initializers/0_ldap_authenticatable.rb b/config/initializers/0_ldap_authenticatable.rb +new file mode 100644 +index 000000000..49846502f +--- /dev/null ++++ b/config/initializers/0_ldap_authenticatable.rb +@@ -0,0 +1,82 @@ ++require 'net/ldap' ++require 'devise/strategies/authenticatable' ++ ++module Devise ++ module Strategies ++ class LdapAuthenticatable < Authenticatable ++ def valid? ++ AppConfig.ldap.enable? && params[:user].present? ++ end ++ ++ def authenticate! ++ ldap = Net::LDAP.new( ++ host: AppConfig.ldap.host, ++ port: AppConfig.ldap.port, ++ encryption: :simple_tls, ++ ) ++ ++ if AppConfig.ldap.use_bind_dn? ++ ldap.auth AppConfig.ldap.bind_dn, AppConfig.ldap.bind_pw ++ ++ if !ldap.bind ++ return fail(:ldap_configuration_error) ++ end ++ ++ search_filter = AppConfig.ldap.search_filter % { username: params[:user][:username] } ++ ++ result = ldap.search(base: AppConfig.ldap.search_base, filter: search_filter, result_set: true) ++ ++ if result.count != 1 ++ return login_fail ++ end ++ ++ user_dn = result.first.dn ++ user_email = result.first[AppConfig.ldap.mail_attribute].first ++ else ++ user_dn = AppConfig.ldap.bind_template % { username: params[:user][:username] } ++ end ++ ++ ldap.auth user_dn, params[:user][:password] ++ ++ if ldap.bind ++ user = User.find_by(ldap_dn: user_dn) ++ ++ # We don't want to trust too much the email attribute from ++ # LDAP: if the user can edit it himself, he may login as ++ # anyone ++ if user.nil? ++ if !AppConfig.ldap.use_bind_dn? ++ result = ldap.search(base: user_dn, scope: Net::LDAP::SearchScope_BaseObject, filter: "(objectClass=*)", result_set: true) ++ user_email = result.first[AppConfig.ldap.mail_attribute].first ++ end ++ ++ if user_email.present? && User.find_by(email: user_email).nil? ++ # Password is used for remember_me token ++ user = User.build(email: user_email, ldap_dn: user_dn, password: SecureRandom.hex, username: params[:user][:username]) ++ user.save ++ user.seed_aspects ++ elsif User.find_by(email: user_email).present? ++ return fail(:ldap_existing_email) ++ else ++ return fail(:ldap_cannot_create_account_without_email) ++ end ++ end ++ ++ success!(user) ++ else ++ return login_fail ++ end ++ end ++ ++ def login_fail ++ if AppConfig.ldap.only_ldap? ++ return fail(:ldap_invalid_login) ++ else ++ return pass ++ end ++ end ++ end ++ end ++end ++ ++Warden::Strategies.add(:ldap_authenticatable, Devise::Strategies::LdapAuthenticatable) +diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb +index 3698e2373..14e88063e 100644 +--- a/config/initializers/devise.rb ++++ b/config/initializers/devise.rb +@@ -250,10 +250,9 @@ Devise.setup do |config| + # If you want to use other strategies, that are not supported by Devise, or + # change the failure app, you can configure them inside the config.warden block. + # +- # config.warden do |manager| +- # manager.intercept_401 = false +- # manager.default_strategies(:scope => :user).unshift :some_external_strategy +- # end ++ config.warden do |manager| ++ manager.default_strategies(scope: :user).unshift :ldap_authenticatable ++ end + + # ==> Mountable engine configurations + # When using Devise inside an engine, let's call it `MyEngine`, and this engine +diff --git a/db/migrate/20170724182100_add_ldap_dn_to_users.rb b/db/migrate/20170724182100_add_ldap_dn_to_users.rb +new file mode 100644 +index 000000000..f5cc84d11 +--- /dev/null ++++ b/db/migrate/20170724182100_add_ldap_dn_to_users.rb +@@ -0,0 +1,6 @@ ++class AddLdapDnToUsers < ActiveRecord::Migration ++ def change ++ add_column :users, :ldap_dn, :text, null: true, default: nil ++ add_index :users, ['ldap_dn'], :length => { "ldap_dn" => 191 } ++ end ++end diff --git a/pkgs/webapps/dokuwiki/default.nix b/pkgs/webapps/dokuwiki/default.nix new file mode 100644 index 00000000..9df88c6b --- /dev/null +++ b/pkgs/webapps/dokuwiki/default.nix @@ -0,0 +1,43 @@ +{ varDir ? "/var/lib/dokuwiki", preload ? "", lib, stdenv, mylibs, writeText }: +let + preloadFile = plugins: let preloads = [preload] + ++ builtins.concatMap (p: lib.optional (lib.hasAttr "preload" p) (p.preload p)) plugins; + in writeText "preload.php" ('' + + Andrej Lezo + Matej Mihalik + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see . +*/ + + +// NOTE: see readme.txt before you start to configure this client! + + +// NOTE: do not forget to execute the cache_update.sh script every time you +// update this configuration file or any other files (otherwise your browser +// will use the previous version of files stored in HTML5 cache). Alternatively +// you can update the cache.manifest manually - edit the second line beginning +// with "#V 20" to anything else (this file simple needs "some" change) + + +// Supported setup types (use ONE of them): +// a.) globalAccountSettings => username and password is hardcoded +// in config.js, automatic login without the login screen +// - advantages: fast login process = no username/password is required +// - disadvantages: username/password is visible in your config.js, so +// this type of setup is recommended ONLY for intranet/home users +// b.) globalNetworkCheckSettings => standard setup with login screen +// - advantages: username/password is required (no visible +// username/password in config.js) +// - disadvantages: if a user enters wrong username/password then +// the browser will show authentication popup window (it is NOT +// possible to disable it in JavaScript; see the next option) +// c.) globalNetworkAccountSettings => advanced setup with login screen +// - advantages: no authentication popup if you enter wrong username/ +// password, dynamic XML configuration generator (you can generate +// different configurations for your users /by modifying the "auth" +// module configuration or the PHP code itself/) +// - disadvantages: requires PHP >= 5.3 and additional configuration, +// only basic http authentication is supported => always use https! +// +// +// What is a "principal URL"? => Check you server documentation! +// - "principal URL" is NOT "collection URL" +// - this client automatically detects collections for "principal URL" +// - PROPER "principal URL" looks like: +// https://server.com:8443/principals/users/USER/ +// https://server.com:8443/caldav.php/USER/ +// - INVALID principal URL looks like: +// https://server.com:8443/principals/users/USER/collection/ +// => this is a collection URL +// https://server.com:8443/caldav.php/USER/collection/ +// => this is a collection URL +// https://server.com:8443/principals/users/USER +// => missing trailing '/' +// https://server.com:8443/caldav.php/USER +// => missing trailing '/' +// /caldav.php/USER/ +// => relative URL instead of full URL +// +// +// List of properties used in globalAccountSettings, globalNetworkCheckSettings +// and globalNetworkAccountSettings variables (+ in the "auth" module): +// - href +// Depending on the setup type set the value to: +// a.) globalAccountSettings: full "principal URL" +// b.) globalNetworkCheckSettings: "principal URL" WITHOUT the "USER/" part +// c.) globalNetworkAccountSettings: "full URL" to the "auth" directory +// This property is supported in: +// globalAccountSettings +// globalNetworkCheckSettings +// globalNetworkAccountSettings +// - userAuth +// - userName +// Set the username you want to login. +// - userPassword +// Set the password for the given username. +// This property is supported in: +// globalAccountSettings +// - timeOut +// This option sets the timeout for jQuery .ajax call (in miliseconds). +// Example: +// timeOut: 90000 +// This property is supported in: +// globalAccountSettings +// globalNetworkCheckSettings +// globalNetworkAccountSettings +// - lockTimeOut +// NOTE: used only if server supports LOCK requests +// This option sets the LOCK timeout value if resource locking +// is used (in miliseconds). +// Example: +// lockTimeOut: 10000 +// This property is supported in: +// globalAccountSettings +// globalNetworkCheckSettings +// globalNetworkAccountSettings (available in auth module only) +// - checkContentType +// This option enables a content-type checking for server response. +// If enabled then only objects with proper content-type are inserted +// into the interface. +// If you cannot see data in the interface you may try to disable it (useful +// if your server returns wrong value in "propstat/prop/getcontenttype"). +// If undefined then content-type checking is enabled. +// Examples: +// checkContentType: true +// checkContentType: false +// This property is supported in: +// globalAccountSettings +// globalNetworkCheckSettings +// globalNetworkAccountSettings (available in auth module only) +// - settingsAccount +// NOTE: server support for custom DAV properties is REQUIRED! +// This option sets the account where the client properties such as: +// loaded collections, enabled collections, ... are saved during +// the logout and resource/collection synchronisation +// NOTE: set it to true ONLY for ONE account! +// Examples: +// settingsAccount: true +// settingsAccount: false +// This property is supported in: +// globalAccountSettings +// globalNetworkCheckSettings +// globalNetworkAccountSettings (available in auth module only) +// - delegation +// NOTE: server support for this functionality is REQUIRED! +// This option allows you to load delegated (shared) collections. +// If set to true (default) then delegation functionality is enabled, +// and the interface allows you to load delegated collections. +// If false then delegation functionality is completely disabled. +// Examples: +// delegation: true +// delegation: false +// This property is supported in: +// globalAccountSettings +// globalNetworkCheckSettings +// globalNetworkAccountSettings (available in auth module only) +// - additionalResources +// This options sets the list of additional resources (e.g. shared resources +// accessible by all users). If the server supports delegation (see +// the delegation option above) there is no reason to use this option! +// Supported values: +// - array of URL encoded resource names (not collections), such as: +// 'company' +// 'shared_resource' +// If empty (default) or undefined then shared resources are not loaded +// using this option, but may be loaded using the delegation option. +// Examples: +// additionalResources=[] +// additionalResources=['public', 'shared_resource'] +// This property is supported in: +// globalNetworkCheckSettings +// - hrefLabel +// This option sets the server name in the resource header (useful if +// you want to see custom resource header above the collections). +// You can use the following variables in the value: +// %H = full hostname (including the port number) +// %h = full hostname (without the port number) +// %D = full domain name +// %d = only the first and second level domain +// %P = principal name +// %p = principal name without the @domain.com part (if present) +// %U = logged user name +// %u = logged user name without the @domain.com part (if present) +// If undefined, empty or or null then '%d/%p [%u]' is used. +// Examples: +// hrefLabel: '%d/%p [%u]' +// hrefLabel: '%D/%u' +// This property is supported in: +// globalAccountSettings +// globalNetworkCheckSettings +// globalNetworkAccountSettings (available in auth module only) +// - forceReadOnly +// This option sets the list of collections as "read-only". +// Supported values: +// - true +// all collections will be "read-only" +// - array of URL encoded +// - collections, such as: +// '/caldav.php/user/calendar/' +// '/caldav.php/user%40domain.com/calendar/' +// - regexes, such as: +// new RegExp('^/caldav.php/user/calendar[0-9]/$', 'i') +// specifies the list of collections marked as "read-only" +// If null (default) or undefined then server detected privileges are used. +// Examples: +// forceReadOnly: null +// forceReadOnly: true +// forceReadOnly: ['/caldav.php/user/calendar/', +// '/caldav.php/user/calendar2/'] +// forceReadOnly: [new RegExp('^/.*/user/calendar[0-9]/$', 'i')] +// This property is supported in: +// globalAccountSettings +// globalNetworkCheckSettings +// globalNetworkAccountSettings (available in auth module only, with +// different syntax for regexes) +// - ignoreAlarms +// This option sets list of calendar collections with disabled +// alarm functionality. +// Supported values: +// - true +// alarm functionality is disabled for all collections +// - array of URL encoded +// - collections, such as: +// '/caldav.php/user/calendar/' +// '/caldav.php/user%40domain.com/calendar/' +// - regexes, such as: +// new RegExp('^/caldav.php/user/calendar[0-9]/$', 'i') +// specifies the list of collections with disabled alarm functionality. +// If false (default) or undefined then alarm functionality is enabled +// for all collections. +// Examples: +// ignoreAlarms: true +// ignoreAlarms: ['/caldav.php/user/calendar/', +// '/caldav.php/user/calendar2/'] +// ignoreAlarms: [new RegExp('^/.*/user/calendar[0-9]/$', 'i')] +// This property is supported in: +// globalAccountSettings +// globalNetworkCheckSettings +// globalNetworkAccountSettings (available in auth module only, with +// different syntax for regexes) +// - backgroundCalendars +// This options defines a list of background calendars. If there is +// at least one event defined for the given day in a background calendar, +// the background color for that day will be pink/light-red. +// Supported values: +// - array of URL encoded +// - collections, such as: +// '/caldav.php/user/calendar/' +// '/caldav.php/user%40domain.com/calendar/' +// - regexes, such as: +// new RegExp('^/caldav.php/user/calendar[0-9]/$', 'i') +// specifies the list of background calendar collections. +// Examples: +// backgroundCalendars: ['/caldav.php/user/calendar/', +// '/caldav.php/user/calendar2/'] +// backgroundCalendars: [new RegExp('^/.*/user/calendar[0-9]/$', 'i')] +// This property is supported in: +// globalAccountSettings +// globalNetworkCheckSettings +// globalNetworkAccountSettings (available in auth module only, with +// different syntax for regexes) +// Special options not present in configuration examples: +// NOTE: use ONLY if you know what are you doing! +// - crossDomain +// This option sets the crossDomain for jQuery .ajax call. If null (default) +// then the value is autodetected /and the result is shown in the console/ +// - withCredentials +// This option sets the withCredentials for jQuery .ajax call. The default +// value is false and there is NO REASON to change it to true! +// NOTE: if true, Access-Control-Allow-Origin "*" (CORS header) not works! + + +// globalAccountSettings +// Use this option if you want to use automatic login (without a login +// screen) with hardcoded username/password in config.js. Otherwise use +// globalNetworkCheckSettings or globalNetworkAccountSettings (see below). +// NOTE: if this option is used the value must be an array of object(s). +// List of properties used in globalAccountSettings variable: +// - href +// Set this option to the full "principal URL". +// NOTE: the last character in the value must be '/' +// - userAuth +// - userName +// Set the username you want to login. +// - userPassword +// Set the password for the given username. +// NOTE: for description of other properties see comments at the beginning +// of this file. +// NOTE: for minimal/fast setup you need to set only the href and userAuth +// options. It is safe/recommended to keep the remaining options unchanged! +// Example: +//var globalAccountSettings=[ +// { +// href: 'https://server1.com:8443/caldav.php/USERNAME1/', +// userAuth: +// { +// userName: 'USERNAME1', +// userPassword: 'PASSWORD1' +// }, +// timeOut: 90000, +// lockTimeOut: 10000, +// checkContentType: true, +// settingsAccount: true, +// delegation: true, +// hrefLabel: null, +// forceReadOnly: null, +// ignoreAlarms: false, +// backgroundCalendars: [] +// }, +// { +// href: 'https://server2.com:8443/caldav.php/USERNAME2/', +// ... +// ... +// } +//]; + + +// globalNetworkCheckSettings +// Use this option if you want to use standard login screen without +// hardcoded username/password in config.js (used by globalAccountSettings). +// NOTE: if this option is used the value must be an object. +// List of properties used in globalAccountSettings variable: +// - href +// Set this option to the "principal URL" WITHOUT the "USERNAME/" +// part (this options uses the username from the login screen). +// NOTE: the last character in the value must be '/' +// NOTE: for description of other properties see comments at the beginning +// of this file. +// NOTE: for minimal/fast setup you need to set only the href option. It is +// safe/recommended to keep the remaining options unchanged! +// Example href values: +// OS X server http example (see misc/readme_osx.txt for server setup): +// href: 'http://osx.server.com:8008/principals/users/' +// OS X server https example (see misc/readme_osx.txt for server setup): +// href: 'https://osx.server.com:8443/principals/users/' +// Cyrus server https example: +// href: 'https://cyrus.server.com/dav/principals/user/' +// Example: +// Davical example which automatically detects the protocol, server name, +// port, ... (client installed into Davical "htdocs" subdirectory; +// works "out of the box", no additional setup required): +var globalNetworkCheckSettings={ + href: location.protocol+'//'+location.hostname+ + (location.port ? ':'+location.port: '')+ + location.pathname.replace(RegExp('/+[^/]+/*(index\.html)?$'),'')+ + '/caldav.php/', + timeOut: 90000, + lockTimeOut: 10000, + checkContentType: true, + settingsAccount: true, + delegation: true, + additionalResources: [], + hrefLabel: null, + forceReadOnly: null, + ignoreAlarms: false, + backgroundCalendars: [] +} + + +// globalNetworkAccountSettings +// Try this option ONLY if you have working setup using +// globalNetworkCheckSettings and want to fix the authentication popup +// window problem (if invalid username/password is entered)! +// If you use this option then your browser sends username/password to the PHP +// "auth" module ("auth" directory) instead of the DAV server itself. +// The "auth" module then validates your username/password against your server, +// and if the authentication is successful, then it sends back a configuration +// XML (requires additional configuration). The resulting XML is handled +// IDENTICALLY as the globalAccountSettings configuration option. +// NOTE: for the "auth" module configuration see readme.txt! +// NOTE: this option invokes a login screen and disallows access until +// the client gets correct XML configuration file from the server! +// List of properties used in globalNetworkAccountSettings variable: +// - href +// Set this option to the "full URL" of the "auth" directory +// NOTE: the last character in the value must be '/' +// NOTE: for description of other properties see comments at the beginning +// of this file. +// Example href values: +// href: 'https://server.com/client/auth/' +// Example: +// Use this configuration if the "auth" module is located in the client +// installation subdirectory (default): +//var globalNetworkAccountSettings={ +// href: location.protocol+'//'+location.hostname+ +// (location.port ? ':'+location.port : '')+ +// location.pathname.replace(RegExp('index\.html$'),'')+ +// 'auth/', +// timeOut: 30000 +//}; + + +// globalUseJqueryAuth +// Use jQuery .ajax() auth or custom header for HTTP basic auth (default). +// Set this option to true if your server uses digest auth (note: you may +// experience auth popups on some browsers). +// If undefined (or empty), custom header for HTTP basic auth is used. +// Example: +//var globalUseJqueryAuth=false; + + +// globalBackgroundSync +// Enable background synchronization even if the browser window/tab has no +// focus. +// If false, synchronization is performed only if the browser window/tab +// is focused. If undefined or not false, then background sync is enabled. +// Example: +var globalBackgroundSync=true; + + +// globalSyncResourcesInterval +// This option defines how often (in miliseconds) are resources/collections +// asynchronously synchronized. +// Example: +var globalSyncResourcesInterval=120000; + + +// globalEnableRefresh +// This option enables or disables the manual synchronization button in +// the interface. If this option is enabled then users can perform server +// synchronization manually. Enabling this option may cause high server +// load (even DDOS) if users will try to manually synchronize data too +// often (instead of waiting for the automatic synchronization). +// If undefined or false, the synchronization button is disabled. +// NOTE: enable this option only if you really know what are you doing! +// Example: +var globalEnableRefresh=false; + + +// globalEnableKbNavigation +// Enable basic keyboard navigation using arrow keys? +// If undefined or not false, keyboard navigation is enabled. +// Example: +var globalEnableKbNavigation=true; + + +// globalSettingsType +// Where to store user settings such as: active view, enabled/selected +// collections, ... (the client store them into DAV property on the server). +// NOTE: not all servers support storing DAV properties (some servers support +// only subset /or none/ of these URLs). +// Supported values: +// - 'principal-URL', '', null or undefined (default) => settings are stored +// to principal-URL (recommended for most servers) +// - 'addressbook-home-set' => settings are are stored to addressbook-home-set +// - 'calendar-home-set' => settings are stored to calendar-home-set +// Example: +//var globalSettingsType=''; + + +// globalCrossServerSettingsURL +// Settings such as enabled/selected collections are stored on the server +// (see the previous option) in form of full URL +// (e.g.: https://user@server:port/principal/collection/), but even if this +// approach is "correct" (you can use the same principal URL with multiple +// different logins, ...) it causes a problem if your server is accessible +// from multiple URLs (e.g. http://server/ and https://server/). If you want +// to store only the "principal/collection/" part of the URL (instead of the +// full URL) then enable this option. +// Example: +//var globalCrossServerSettingsURL=false; + + +// globalInterfaceLanguage +// Default interface language (note: this option is case sensitive): +// cs_CZ (Čeština [Czech]) +// da_DK (Dansk [Danish]; thanks Niels Bo Andersen) +// de_DE (Deutsch [German]; thanks Marten Gajda and Thomas Scheel) +// en_US (English [English/US]) +// es_ES (Español [Spanish]; thanks Damián Vila) +// fr_FR (Français [French]; thanks John Fischer) +// it_IT (Italiano [Italian]; thanks Luca Ferrario) +// ja_JP (日本語 [Japan]; thanks Muimu Nakayama) +// hu_HU (Magyar [Hungarian]) +// nl_NL (Nederlands [Dutch]; thanks Johan Vromans) +// sk_SK (Slovenčina [Slovak]) +// tr_TR (Türkçe [Turkish]; thanks Selcuk Pultar) +// ru_RU (Русский [Russian]; thanks Александр Симонов) +// uk_UA (Українська [Ukrainian]; thanks Serge Yakimchuck) +// zh_CN (中国 [Chinese]; thanks Fandy) +// Example: +var globalInterfaceLanguage='fr_FR'; + + +// globalInterfaceCustomLanguages +// If defined and not empty then only languages listed here are shown +// at the login screen, otherwise (default) all languages are shown +// NOTE: values in the array must refer to an existing localization +// (see the option above) +// Example: +// globalInterfaceCustomLanguages=['en_US', 'sk_SK']; +var globalInterfaceCustomLanguages=[]; + + +// globalSortAlphabet +// Use JavaScript localeCompare() or custom alphabet for data sorting. +// Custom alphabet is used by default because JavaScript localeCompare() +// not supports collation and often returns "wrong" result. If set to null +// then localeCompare() is used. +// Example: +// var globalSortAlphabet=null; +var globalSortAlphabet=' 0123456789'+ + 'AÀÁÂÄÆÃÅĀBCÇĆČDĎEÈÉÊËĒĖĘĚFGĞHIÌÍÎİÏĪĮJKLŁĹĽMNŃÑŇOÒÓÔÖŐŒØÕŌ'+ + 'PQRŔŘSŚŠȘșŞşẞTŤȚțŢţUÙÚÛÜŰŮŪVWXYÝŸZŹŻŽ'+ + 'aàáâäæãåābcçćčdďeèéêëēėęěfgğhiìíîïīįıjklłĺľmnńñňoòóôöőœøõō'+ + 'pqrŕřsśšßtťuùúûüűůūvwxyýÿzźżžАБВГҐДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЮЯ'+ + 'Ьабвгґдеєжзиіїйклмнопрстуфхцчшщюяь'; + + +// globalSearchTransformAlphabet +// To support search without diacritics (e.g. search for 'd' will find: 'Ď', 'ď') +// it is required to define something like "character equivalence". +// key = regex text, value = search character +// Example: +var globalSearchTransformAlphabet={ + '[ÀàÁáÂâÄäÆæÃãÅåĀā]': 'a', '[ÇçĆćČč]': 'c', '[Ďď]': 'd', + '[ÈèÉéÊêËëĒēĖėĘęĚě]': 'e', '[Ğğ]': 'g', '[ÌìÍíÎîİıÏïĪīĮį]': 'i', + '[ŁłĹ弾]': 'l', '[ŃńÑñŇň]': 'n', '[ÒòÓóÔôÖöŐőŒœØøÕõŌō]': 'o', + '[ŔŕŘř]': 'r', '[ŚśŠšȘșŞşẞß]': 's', '[ŤťȚțŢţ]': 't', + '[ÙùÚúÛûÜüŰűŮůŪū]': 'u', '[ÝýŸÿ]': 'y', '[ŹźŻżŽž]': 'z' +}; + +// globalResourceAlphabetSorting +// If more than one resource (server account) is configured, sort the +// resources alphabetically? +// Example: +var globalResourceAlphabetSorting=true; + + +// globalNewVersionNotifyUsers +// Update notification will be shown only to users with login names defined +// in this array. +// If undefined (or empty), update notifications will be shown to all users. +// Example: +// globalNewVersionNotifyUsers=['admin', 'peter']; +var globalNewVersionNotifyUsers=[]; + + +// globalDatepickerFormat +// Set the datepicker format (see +// http://docs.jquery.com/UI/Datepicker/formatDate for valid values). +// NOTE: date format is predefined for each localization - use this option +// ONLY if you want to use custom date format (instead of the localization +// predefined one). +// Example: +//var globalDatepickerFormat='dd.mm.yy'; +var globalDatepickerFormat='yy-mm-dd'; + + +// globalDatepickerFirstDayOfWeek +// Set the datepicker first day of the week: Sunday is 0, Monday is 1, etc. +// Example: +var globalDatepickerFirstDayOfWeek=1; + + +// globalHideInfoMessageAfter +// How long are information messages (such as: success, error) displayed +// (in miliseconds). +// Example: +var globalHideInfoMessageAfter=1800; + + +// globalEditorFadeAnimation +// Set the editor fade in/out animation duration when editing or saving data +// (in miliseconds). +// Example: +var globalEditorFadeAnimation=666; + + + + +// ******* CalDAV (CalDavZAP) related settings ******* // + +// globalEventStartPastLimit, globalEventStartFutureLimit, globalTodoPastLimit +// Number of months pre-loaded from past/future in advance for calendars +// and todo lists (if null then date range synchronization is disabled). +// NOTE: interval synchronization is used only if your server supports +// sync-collection REPORT (e.g. DAViCal). +// NOTE: if you experience problems with data loading and your server has +// no time-range filtering support set these variables to null. +// Example: +var globalEventStartPastLimit=3; +var globalEventStartFutureLimit=3; +var globalTodoPastLimit=1; + + +// globalLoadedCalendarCollections +// This option sets the list of calendar collections (down)loaded after login. +// If empty then all calendar collections for the currently logged user are +// loaded. +// NOTE: settings stored on the server (see settingsAccount) overwrite this +// option. +// Example: +var globalLoadedCalendarCollections=[]; + + +// globalLoadedTodoCollections +// This option sets the list of todo collections (down)loaded after login. +// If empty then all todo collections for the currently logged user are loaded. +// NOTE: settings stored on the server (see settingsAccount) overwrite this +// option. +// Example: +var globalLoadedTodoCollections=[]; + + +// globalActiveCalendarCollections +// This options sets the list of calendar collections checked (enabled +// checkbox => data visible in the interface) by default after login. +// If empty then all loaded calendar collections for the currently logged +// user are checked. +// NOTE: only already (down)loaded collections can be checked (see +// the globalLoadedCalendarCollections option). +// NOTE: settings stored on the server (see settingsAccount) overwrite this +// option. +// Example: +var globalActiveCalendarCollections=[]; + + +// globalActiveTodoCollections +// This options sets the list of todo collections checked (enabled +// checkbox => data visible in the interface) by default after login. +// If empty then all loaded todo collections for the currently logged +// user are checked. +// NOTE: only already (down)loaded collections can be checked (see +// the globalLoadedTodoCollections option). +// NOTE: settings stored on the server (see settingsAccount) overwrite this +// option. +// Example: +var globalActiveTodoCollections=[]; + + +// globalCalendarSelected +// This option sets which calendar collection will be pre-selected +// (if you create a new event) by default after login. +// The value must be URL encoded path to a calendar collection, +// for example: 'USER/calendar/' +// If empty or undefined then the first available calendar collection +// is selected automatically. +// NOTE: only already (down)loaded collections can be pre-selected (see +// the globalLoadedCalendarCollections option). +// NOTE: settings stored on the server (see settingsAccount) overwrite this +// option. +// Example: +//var globalCalendarSelected=''; + + +// globalTodoCalendarSelected +// This option sets which todo collection will be pre-selected +// (if you create a new todo) by default after login. +// The value must be URL encoded path to a todo collection, +// for example: 'USER/todo_calendar/' +// If empty or undefined then the first available todo collection +// is selected automatically. +// NOTE: only already (down)loaded collections can be pre-selected (see +// the globalLoadedTodoCollections option). +// NOTE: settings stored on the server (see settingsAccount) overwrite this +// option. +// Example: +//var globalTodoCalendarSelected=''; + + +// globalActiveView +// This options sets the default fullcalendar view option (the default calendar +// view after the first login). +// Supported values: +// - 'month' +// - 'multiWeek' +// - 'agendaWeek' +// - 'agendaDay' +// NOTE: we use custom and enhanced version of fullcalendar! +// Example: +var globalActiveView='multiWeek'; + + +// globalOpenFormMode +// Open new event form on 'single' or 'double' click. +// If undefined or not 'double', then 'single' is used. +// Example: +var globalOpenFormMode='double'; + + +// globalTodoListFilterSelected +// This options sets the list of filters in todo list that are selected +// after login. +// Supported options: +// - 'filterAction' +// - 'filterProgress' (available only if globalAppleRemindersMode is disabled) +// - 'filterCompleted' +// - 'filterCanceled' (available only if globalAppleRemindersMode is disabled) +// NOTE: settings stored on the server (see settingsAccount) overwrite this +// option. +// Example: +var globalTodoListFilterSelected=['filterAction', 'filterProgress']; + + +// globalCalendarStartOfBusiness, globalCalendarEndOfBusiness +// These options set the start and end of business hours with 0.5 hour +// precision. Non-business hours are faded out in the calendar interface. +// If both variables are set to the same value then no fade out occurs. +// Example: +var globalCalendarStartOfBusiness=8; +var globalCalendarEndOfBusiness=17; + + +// globalDefaultEventDuration +// This option sets the default duration (in minutes) for newly created events. +// If undefined or null, globalCalendarEndOfBusiness value will be taken as +// a default end time instead. +// Example: +var globalDefaultEventDuration=120; + + +// globalAMPMFormat +// This option enables to use 12 hours format (AM/PM) for displaying time. +// NOTE: time format is predefined for each localization - use this option +// ONLY if you want to use custom time format (instead of the localization +// predefined one). +// Example: +//var globalAMPMFormat=false; + + +// globalTimeFormatBasic +// This option defines the time format information for events in month and +// multiweek views. If undefined or null then default value is used. +// If defined as empty string no time information is shown in these views. +// See http://arshaw.com/fullcalendar/docs/utilities/formatDate/ for exact +// formating rules. +// Example: +//var globalTimeFormatBasic=''; + + +// globalTimeFormatAgenda +// This option defines the time format information for events in day and +// week views. If undefined or null then default value is used. +// If defined as empty string no time information is shown in these views. +// See http://arshaw.com/fullcalendar/docs/utilities/formatDate/ for exact +// formating rules. +// Example: +//var globalTimeFormatAgenda=''; + + +// globalDisplayHiddenEvents +// This option defined whether events from unechecked calendars are displayed +// with certain transparency (true) or completely hidden (false). +// Example: +var globalDisplayHiddenEvents=false; + + +// globalTimeZoneSupport +// This option enables timezone support in the client. +// NOTE: timezone cannot be specified for all-day events because these don't +// have start and end time. +// If this option is disabled then local time is used. +// Example: +var globalTimeZoneSupport=true; + + +// globalTimeZone +// If timezone support is enabled, this option sets the default timezone. +// See timezones.js or use the following command to get the list of supported +// timezones (defined in timezones.js): +// grep "'[^']\+': {" timezones.js | sed -Ee "s#(\s*'|':\s*\{)##g" +// Example: +var globalTimeZone='Europe/Paris'; + + +// globalTimeZonesEnabled +// This option sets the list of available timezones in the interface (for the +// list of supported timezones see the comment for the previous configuration +// option). +// NOTE: if there is at least one event/todo with a certain timezone defined, +// that timezone is enabled (even if it is not present in this list). +// Example: +// var globalTimeZonesEnabled=['America/New_York', 'Europe/Berlin']; +var globalTimeZonesEnabled=[]; + + +// globalRewriteTimezoneComponent +// This options sets whether the client will enhance/replace (if you edit an +// event or todo) the timezone information using the official IANA timezone +// database information (recommended). +// Example: +var globalRewriteTimezoneComponent=true; + + +// globalRemoveUnknownTimezone +// This options sets whether the client will remove all non-standard timezone +// names from events and todos (if you edit an event or todo) +// (e.g.: /freeassociation.sourceforge.net/Tzfile/Europe/Vienna) +// Example: +var globalRemoveUnknownTimezone=false; + + +// globalShowHiddenAlarms +// This option sets whether the client will show alarm notifications for +// unchecked calendars. If this option is enabled and you uncheck a calendar +// in the calendar list, alarm notifications will be temporary disabled for +// unchecked calendar(s). +// Example: +var globalShowHiddenAlarms=false; + + +// globalIgnoreCompletedOrCancelledAlarms +// This options sets whether the client will show alarm notifications for +// already completed or cancelled todos. If enabled then alarm notification +// for completed and cancelled todos are disabled. +// Example: +var globalIgnoreCompletedOrCancelledAlarms=true; + + +// globalMozillaSupport +// Mozilla automatically treats custom repeating event calculations as if +// the start day of the week is Monday, despite what day is chosen in settings. +// Set this variable to true to use the same approach, ensuring compatible +// event rendering in special cases. +// Example: +var globalMozillaSupport=false; + + +// globalCalendarColorPropertyXmlns +// This options sets the namespace used for storing the "calendar-color" +// property by the client. +// If true, undefined (or empty) "http://apple.com/ns/ical/" is used (Apple +// compatible). If false, then the calendar color modification functionality +// is completely disabled. +// Example: +//var globalCalendarColorPropertyXmlns=true; + + +// globalWeekendDays +// This option sets the list of days considered as weekend days (these +// are faded out in the calendar interface). Non-weekend days are automatically +// considered as business days. +// Sunday is 0, Monday is 1, etc. +// Example: +var globalWeekendDays=[0, 6]; + + +// globalAppleRemindersMode +// If this option is enabled then then client will use the same approach +// for handling repeating reminders (todos) as Apple. It is STRONGLY +// recommended to enabled this option if you use any Apple clients for +// reminders (todos). +// Supported options: +// - 'iOS6' +// - 'iOS7' +// - true (support of the latest iOS version - 'iOS8') +// - false +// If this option is enabled: +// - RFC todo support is SEVERELY limited and the client mimics the behaviour +// of Apple Reminders.app (to ensure maximum compatibility) +// - when a single instance of repeating todo is edited, it becomes an +// autonomous non-repeating todo with NO relation to the original repeating +// todo +// - capabilities of repeating todos are limited - only the first instance +// is ever visible in the interface +// - support for todo DTSTART attribute is disabled +// - support for todo STATUS attribute other than COMPLETED and NEEDS-ACTION +// is disabled +// - [iOS6 only] support for LOCATION and URL attributes is disabled +// Example: +var globalAppleRemindersMode=true; + + +// globalSubscribedCalendars +// This option specifies a list of remote URLs to ics files (e.g.: used +// for distributing holidays information). Subscribed calendars are +// ALWAYS read-only. Remote servers where ics files are hosted MUST +// return proper CORS headers (see readme.txt) otherwise this functionality +// will not work! +// NOTE: subsribed calendars are NOT "shared" calendars. For "shared" +// calendars see the delegation option in globalAccountSettings, +// globalNetworkCheckSettings and globalNetworkAccountSettings. +// List of properties used in globalSubscribedCalendars variable: +// - hrefLabel +// This options defines the header string above the subcsribed calendars. +// - calendars +// This option specifies an array of remote calendar objects with the +// following properties: +// - href +// Set this option to the "full URL" of the remote calendar +// - userAuth +// NOTE: keep empty if remote authentication is not required! +// - userName +// Set the username you want to login. +// - userPassword +// Set the password for the given username. +// - typeList +// Set the list of objects you want to process from remote calendars; +// two options are available: +// - 'vevent' (show remote events in the interface) +// - 'vtodo' (show remote todos in the interface) +// - ignoreAlarm +// Set this option to true if you want to disable alarm notifications +// from the remote calendar. +// - displayName +// Set this option to the name of the calendar you want to see +// in the interface. +// - color +// Set the calendar color you want to see in the interface. +// Example: +//var globalSubscribedCalendars={ +// hrefLabel: 'Subscribed', +// calendars: [ +// { +// href: 'http://something.com/calendar.ics', +// userAuth: { +// userName: '', +// userPassword: '' +// }, +// typeList: ['vevent', 'vtodo'], +// ignoreAlarm: true, +// displayName: 'Remote Calendar 1', +// color: '#ff0000' +// }, +// { +// href: 'http://calendar.com/calendar2.ics', +// ... +// ... +// } +// ] +//}; + + + +// ******* CardDAV (CardDavMATE) related settings ******* // + + +// globalLoadedAddressbookCollections +// This option sets the list of addressbook collections (down)loaded after +// login. If empty then all addressbook collections for the currently logged +// user are loaded. +// NOTE: settings stored on the server (see settingsAccount) overwrite this +// option. +// Example: +var globalLoadedAddressbookCollections=[]; + + +// globalActiveAddressbookCollections +// This options sets the list of addressbook collections checked (enabled +// checkbox => data visible in the interface) by default after login. +// If empty then all loaded addressbook collections for the currently logged +// user are checked. +// NOTE: only already (down)loaded collections can be checked (see +// the globalLoadedAddressbookCollections option). +// NOTE: settings stored on the server (see settingsAccount) overwrite this +// option. +// Example: +var globalActiveAddressbookCollections=[]; + + +// globalAddressbookSelected +// This option sets which addressbook collection will be pre-selected +// (if you create a new contact) by default after login. +// The value must be URL encoded path to an addressbook collection, +// for example: 'USER/addressbook/' +// If empty or undefined then the first available addressbook collection +// is selected automatically. +// NOTE: only already (down)loaded collections can be pre-selected (see +// the globalLoadedAddressbookCollections option). +// NOTE: settings stored on the server (see settingsAccount) overwrite this +// option. +// Example: +//var globalAddressbookSelected=''; + + +// globalCompatibility +// This options is reserved for various compatibility settings. +// NOTE: if this option is used the value must be an object. +// Currently there is only one supported option: +// - anniversaryOutputFormat +// Different clients use different (and incompatible) approach +// to store anniversary date in vCards. Apple stores this attribute as: +// itemX.X-ABDATE;TYPE=pref:2000-01-01\r\n +// itemX.X-ABLabel:_$!!$_\r\n' +// other clients store this attribute as: +// X-ANNIVERSARY:2000-01-01\r\n +// Choose 'apple' or 'other' (lower case) for your 3rd party client +// compatibility. You can chose both: ['apple', 'other'], but it may +// cause many problems in the future, for example: duplicate anniversary +// dates, invalid/old anniversary date in your clients, ...) +// Examples: +// anniversaryOutputFormat: ['other'] +// anniversaryOutputFormat: ['apple', 'other'] +// Example: +var globalCompatibility={anniversaryOutputFormat: ['apple']}; + + +// globalUriHandler{Tel,Email,Url,Profile} +// These options set the URI handlers for TEL, EMAIL, URL and X-SOCIALPROFILE +// vCard attributes. Set them to null (or comment out) to disable. +// NOTE: for globalUriHandlerTel is recommended to use 'tel:', 'callto:' +// or 'skype:'. The globalUriHandlerUrl value is used only if no URI handler +// is defined in the URL. +// NOTE: it is safe to keep these values unchanged! +// Example: +var globalUriHandlerTel='tel:'; +var globalUriHandlerEmail='mailto:'; +var globalUriHandlerUrl='http://'; +var globalUriHandlerProfile={ + 'twitter': 'http://twitter.com/%u', + 'facebook': 'http://www.facebook.com/%u', + 'flickr': 'http://www.flickr.com/photos/%u', + 'linkedin': 'http://www.linkedin.com/in/%u', + 'myspace': 'http://www.myspace.com/%u', + 'sinaweibo': 'http://weibo.com/n/%u' +}; + + +// globalDefaultAddressCountry +// This option sets the default country for new address fields. +// See common.js or use the following command to get the list of +// all supported country codes (defined in common.js): +// grep -E "'[a-z]{2}':\s+\[" common.js | sed -Ee 's#^\s+|\s+\[\s+# #g' +// Example: +var globalDefaultAddressCountry='fr'; + + +// globalAddressCountryEquivalence +// This option sets the processing of the country field specified +// in the vCard ADR attribute. +// By default the address field in vCard looks like: +// ADR;TYPE=WORK:;;1 Waters Edge;Baytown;LA;30314;USA\r\n +// what cause a problem, because the country field is a plain +// text and can contain any value, e.g.: +// USA +// United States of America +// US +// and because the address format can be completely different for +// each country, e.g.: +// China address example: +// [China] +// [Province] [City] +// [Street] +// [Postal] +// Japan address example: +// [Postal] +// [Prefecture] [County/City] +// [Further Divisions] +// [Japan] +// the client needs to correctly detect the country from the ADR +// attribute. Apple solved this problem by using: +// item1.ADR;TYPE=WORK:;;1 Waters Edge;Baytown;LA;30314;USA\r\n +// item1.X-ABADR:us\r\n +// where the second "related" attribute defines the country code +// for the ADR attribute. This client uses the same approach, but +// if the vCard is created by 3rd party clients and the X-ABADR +// is missing, it is possible to define additional "rules" for +// country matching. These rules are specied by the country code +// (for full list of country codes see the comment for pre previous +// option) and a case insensitive regular expression (which matches +// the plain text value in the country field). +// NOTE: if X-ABADR is not present and the country not matches any +// country defined in this option, then globalDefaultAddressCountry +// is used by default. +// Example: +var globalAddressCountryEquivalence=[ + {country: 'de', regex: '^\\W*Deutschland\\W*$'}, + {country: 'sk', regex: '^\\W*Slovensko\\W*$'} +]; + + +// globalAddressCountryFavorites +// This option defines the list of countries which are shown at the top +// of the country list in the interface (for full list of country codes +// see the comment for pre globalDefaultAddressCountry option). +// Example: +// var globalAddressCountryFavorites=['de','sk']; +var globalAddressCountryFavorites=[]; + + +// globalAddrColorPropertyXmlns +// This options sets the namespace used for storing the "addressbook-color" +// property by the client. +// If true, undefined (or empty) "http://inf-it.com/ns/ab/" is used. +// If false, then the addressbook color modification functionality +// is completely disabled, and addressbook colors in the interface are +// generated automatically. +// Example: +//var globalAddrColorPropertyXmlns=true; + + +// globalContactStoreFN +// This option specifies how the FN (formatted name) is stored into vCard. +// The value for this options must be an array of strings, that can contain +// the following variables: +// prefix +// last +// middle +// first +// suffix +// The string element of the array can contain any other characters (usually +// space or colon). Elements are added into FN only if the there is +// a variable match, for example if: +// last='Lastname' +// first='Firstname' +// middle='' (empty) +// and this option is set to: +// ['last', ' middle', ' first'] (space in the second and third element) +// the resulting value for FN will be: 'Lastname Firstname' and not +// 'Lastname Firstname' (two spaces), because the middle name is empty (so +// the second element is completely ignored /not added into FN/). +// NOTE: this attribute is NOT used by this client, and it is also NOT +// possible to directly edit it in the interface. +// Examples: +// var globalContactStoreFN=[' last', ' middle', ' first']; +// var globalContactStoreFN=['last', ', middle', ' ,first']; +var globalContactStoreFN=['prefix',' last',' middle',' first',' suffix']; + + +// globalGroupContactsByCompanies +// This options specifies how contacts are grouped in the interface. +// By default the interface looks like (very simple example): +// A +// Adams Adam +// Anderson Peter +// B +// Brown John +// Baker Josh +// if grouped by company/deparment the result is: +// Company A [Department X] +// Adams Adam +// Brown John +// Company B [Department Y] +// Anderson Peter +// Baker Josh +// If this option is set to true contacts are grouped by company/department, +// otherwise (default) contacts are grouped by letters of the alphabet. +// If undefined or not true, grouping by alphabet letters is used. +// NOTE: see also the globalCollectionDisplay option below. +var globalGroupContactsByCompanies=false; + + +// globalCollectionDisplay +// This options specifies how data columns in the contact list are displayed. +// +// NOTE: columns are displayed ONLY if there is enought horizontal place in +// the browser window (e.g. if you define 5 columns here, but your browser +// window is not wide enough, you will see only first 3 columns instead of 5). +// +// NOTE: see the globalContactDataMinVisiblePercentage option which defines the +// width for columns. +// +// The value must be an array of columns, where each column is represented by +// an object with the following properties: +// label => the value of this option is a string used as column header +// You can use the following localized variables in the label string: +// - {Name} +// - {FirstName} +// - {LastName} +// - {MiddleName} +// - {NickName} +// - {Prefix} +// - {Suffix} +// - {BirthDay} +// - {PhoneticLastName} +// - {PhoneticFirstName} +// - {JobTitle} +// - {Company} +// - {Department} +// - {Categories} +// - {NoteText} +// - {Address}, {AddressWork}, {AddressHome}, {AddressOther} +// - {Phone}, {PhoneWork}, {PhoneHome}, {PhoneCell}, {PhoneMain}, +// {PhonePager}, {PhoneFax}, {PhoneIphone}, {PhoneOther} +// - {Email}, {EmailWork}, {EmailHome}, {EmailMobileme}, {EmailOther} +// - {URL}, {URLWork}, {URLHome}, {URLHomepage}, {URLOther} +// - {Dates}, {DatesAnniversary}, {DatesOther} +// - {Related}, {RelatedManager}, {RelatedAssistant}, {RelatedFather}, +// {RelatedMother}, {RelatedParent}, {RelatedBrother}, {RelatedSister}, +// {RelatedChild}, {RelatedFriend}, {RelatedSpouse}, {RelatedPartner}, +// {RelatedOther} +// - {Profile}, {ProfileTwitter}, {ProfileFacebook}, {ProfileFlickr}, +// {ProfileLinkedin}, {ProfileMyspace}, {ProfileSinaweibo} +// - {IM}, {IMWork}, {IMHome}, {IMMobileme}, {IMOther}, {IMAim}, {IMIcq}, +// {IMIrc}, {IMJabber}, {IMMsn}, {IMYahoo}, {IMFacebook}, {IMGadugadu}, +// {IMGoogletalk}, {IMQq}, {IMSkype} +// value => the value of this option is an array of format strings, or +// an object with the following properties: +// - company (used for company contacts) +// - personal (used for user contacts) +// where the value of these properties is an array of format strings used +// for company or user contacts (you can have different values in the same +// column for personal and company contacts). +// You can use the following simple variables in the format string: +// - {FirstName} +// - {LastName} +// - {MiddleName} +// - {NickName} +// - {Prefix} +// - {Suffix} +// - {BirthDay} +// - {PhoneticLastName} +// - {PhoneticFirstName} +// - {JobTitle} +// - {Company} +// - {Department} +// - {Categories} +// - {NoteText} +// You can also use parametrized variables, where the parameter is enclosed +// in square bracket. Paramatrized variables are useful to extract data +// such as home phone {Phone[type=home]}, extract the second phone number +// {Phone[:1]} (zero based indexing) or extract the third home phone number +// {Phone[type=home][:2]} from the vCard. +// NOTE: if the parametrized variable matches multiple items, e.g.: +// {Phone[type=work]} (if the contact has multiple work phones) then the +// first one is used! +// +// The following parametrized variables are supported (note: you can use +// all of them also without parameters /the first one will be used/): +// - {Address[type=XXX]} or {Address[:NUM]} or {Address[type=XXX][:NUM]} +// where supported values for XXX are: +// - work +// - home +// - other +// - any other custom value +// - {Phone[type=XXX]} or {Phone[:NUM]} or {Phone[type=XXX][:NUM]} +// where supported values for XXX are: +// - work +// - home +// - cell +// - main +// - pager +// - fax +// - iphone +// - other +// - any other custom value +// - {Email[type=XXX]} or {Email[:NUM]} or {Email[type=XXX][:NUM]} +// where supported values for XXX are: +// - work +// - home +// - mobileme +// - other +// - any other custom value +// - {URL[type=XXX]} or {URL[:NUM]} or {URL[type=XXX][:NUM]} +// where supported values for XXX are: +// - work +// - home +// - homepage +// - other +// - any other custom value +// - {Dates[type=XXX]} or {Dates[:NUM]} or {Dates[type=XXX][:NUM]} +// where supported values for XXX are: +// - anniversary +// - other +// - any other custom value +// - {Related[type=XXX]} or {Related[:NUM]} or {Related[type=XXX][:NUM]} +// where supported values for XXX are: +// - manager +// - assistant +// - father +// - mother +// - parent +// - brother +// - sister +// - child +// - friend +// - spouse +// - partner +// - other +// - any other custom value +// - {Profile[type=XXX]} or {Profile[:NUM]} or {Profile[type=XXX][:NUM]} +// where supported values for XXX are: +// - twitter +// - facebook +// - flickr +// - linkedin +// - myspace +// - sinaweibo +// - any other custom value +// - {IM[type=XXX]} or {IM[service-type=YYY]} or {IM[:NUM]} +// where supported values for XXX are: +// - work +// - home +// - mobileme +// - other +// - any other custom value +// and supported values for YYY are: +// - aim +// - icq +// - irc +// - jabber +// - msn +// - yahoo +// - facebook +// - gadugadu +// - googletalk +// - qq +// - skype +// - any other custom value +// +// NOTE: if you want to use the "any other custom value" option (for XXX +// or YYY above) you MUST double escape the following characters: +// =[]{}\ +// for example: +// - for profile type "=XXX=" use: '{Profile[type=\\=XXX\\=]}' +// - for profile type "\XXX\" use: '{Profile[type=\\\\XXX\\\\]}' +// +// NOTE: if you want to use curly brackets in the format string you must +// double escape it, e.g.: ['{Company}', '\\{{Department}\\}'] +// +// The format string (for the value option) is an array to allow full +// customization of the interface. For example if: +// value: ['{LastName} {MiddleName} {FirstName}'] +// and the person has no middle name, then the result in the column +// will be (without quotes): +// "Parker Peter" (note: two space characters) +// but if you use: +// value: ['{LastName}', ' {MiddleName}', ' {FirstName}'] +// then the result will be (without quotes): +// "Parker Peter" (note: only one space character) +// The reason is that only those elements of the array are appended +// into the result where non-empty substitution was performed (so the +// ' {MiddleName}' element in this case is ignored, because the person +// in the example above has no /more precisely has empty/ middle name). +// +// Examples: +// To specify two columns (named "Company" and "Department / LastName"), +// where the first will display the company name, and the second will display +// department for company contacts (with "Dep -" prefix), and lastname for +// personal contacts (with "Name -" prefix) use: +// var globalCollectionDisplay=[ +// { +// label: 'Company', +// value: ['{Company}'] +// }, +// { +// label: 'Department / LastName', +// value: { +// company: ['Dep - {Department}'], +// personal: ['Name - {LastName}'] +// } +// } +// ]; +// To specify 3 columns (named "Categories", "URL" and "IM"), where the first +// will display categories, second will display the third work URL, and third +// will display ICQ IM use: +// var globalCollectionDisplay=[ +// { +// label: 'Categories', +// value: ['{Categories}'] +// }, +// { +// label: 'URL', +// value: ['{URL[type=WORK][:2]}'] +// }, +// { +// label: 'IM', +// value: ['{IM[service-type=ICQ]}'] +// } +// ]; +// +// Recommended settings if globalGroupContactsByCompanies +// is set to false: +// var globalCollectionDisplay=[ +// { +// label: '{Name}', +// value: ['{LastName}', ' {MiddleName}', ' {FirstName}'] +// }, +// { +// label: '{Company} [{Department}]', +// value: ['{Company}', ' [{Department}]'] +// }, +// { +// label: '{JobTitle}', +// value: ['{JobTitle}'] +// }, +// { +// label: '{Email}', +// value: ['{Email[:0]}'] +// }, +// { +// label: '{Phone} 1', +// value: ['{Phone[:0]}'] +// }, +// { +// label: '{Phone} 2', +// value: ['{Phone[:1]}'] +// }, +// { +// label: '{NoteText}', +// value: ['{NoteText}'] +// } +// ]; +// +// Recommended settings if globalGroupContactsByCompanies +// is set to true: +// var globalCollectionDisplay=[ +// { +// label: '{Name}', +// value: { +// personal: ['{LastName}', ' {MiddleName}', ' {FirstName}'], +// company: ['{Company}', ' [{Department}]'] +// } +// }, +// { +// label: '{JobTitle}', +// value: ['{JobTitle}'] +// }, +// { +// label: '{Email}', +// value: ['{Email[:0]}'] +// }, +// { +// label: '{Phone} 1', +// value: ['{Phone[:0]}'] +// }, +// { +// label: '{Phone} 2', +// value: ['{Phone[:1]}'] +// }, +// { +// label: '{NoteText}', +// value: ['{NoteText}'] +// } +// ]; +// +// NOTE: if left undefined, the recommended settings will be used. + + +// globalCollectionSort +// This options sets the ordering of contacts in the interface. In general +// contacts are ordered alphabetically by an internal "sort string" which +// is created for each contact. Here you can specify how this internal string +// is created. The value is a simple array holding only the values from the +// value property defined in the globalCollectionDisplay option. +// If undefined, the definition from globalCollectionDisplay is used. +// Example: +// var globalCollectionSort = [ +// ['{LastName}'], +// ['{FirstName}'], +// ['{MiddleName}'], +// { +// company: ['{Categories}'], +// personal: ['{Company}'] +// } +// ]; +var globalCollectionSort=[ + ['{LastName}'], + ['{FirstName}'], + ['{MiddleName}'] +]; + + +// globalContactDataMinVisiblePercentage +// This option defines how the width for columns are computed. If you set +// it to 1 then 100% of all data in the column will be visible (the column +// width is determined by the longest string in the column). If you set it +// to 0.95 then 95% of data will fit into the column width, and the remaining +// 5% will be truncated (" ..."). +// Example: +var globalContactDataMinVisiblePercentage=0.95; + + diff --git a/pkgs/webapps/mantisbt_2/bug_report.php.diff b/pkgs/webapps/mantisbt_2/bug_report.php.diff new file mode 100644 index 00000000..29242529 --- /dev/null +++ b/pkgs/webapps/mantisbt_2/bug_report.php.diff @@ -0,0 +1,20 @@ +--- a/bug_report.php 2019-05-06 12:06:44.265508011 +0200 ++++ b/bug_report.php 2019-05-06 12:09:40.106952738 +0200 +@@ -67,6 +67,17 @@ + 'copy_files' => $f_copy_attachments_from_parent + ); + ++# begin captcha check for anon user ++if ( current_user_is_anonymous() && get_gd_version() > 0 ) { ++ $f_captcha = gpc_get_string( 'captcha', '' ); ++ $f_captcha = utf8_strtolower( trim( $f_captcha ) ); ++ ++ $t_securimage = new Securimage(); ++ if( $t_securimage->check( $f_captcha ) == false ) { ++ trigger_error( ERROR_SIGNUP_NOT_MATCHING_CAPTCHA, ERROR ); ++ } ++} ++ + if( $f_master_bug_id > 0 ) { + bug_ensure_exists( $f_master_bug_id ); + diff --git a/pkgs/webapps/mantisbt_2/bug_report_page.php.diff b/pkgs/webapps/mantisbt_2/bug_report_page.php.diff new file mode 100644 index 00000000..80dea911 --- /dev/null +++ b/pkgs/webapps/mantisbt_2/bug_report_page.php.diff @@ -0,0 +1,53 @@ +--- a/bug_report_page.php 2018-02-10 21:29:27.000000000 +0100 ++++ b/bug_report_page.php 2018-03-03 15:04:19.622499678 +0100 +@@ -708,7 +708,50 @@ + + + + ++ 0 ) { ++ $t_securimage_path = 'vendor/dapphp/securimage'; ++ $t_securimage_show = $t_securimage_path . '/securimage_show.php'; ++ $t_securimage_play = $t_securimage_path . '/securimage_play.swf?' ++ . http_build_query( array( ++ 'audio_file' => $t_securimage_path . '/securimage_play.php', ++ 'bgColor1=' => '#fff', ++ 'bgColor2=' => '#fff', ++ 'iconColor=' => '#777', ++ 'borderWidth=' => 1, ++ 'borderColor=' => '#000', ++ ) ); ++?> ++ ++ CAPTCHA ++ ++ ++ ++ ++ ++ ++ ++ visual captcha ++
++
++ ++ ++ ++ ++
++ ++ ++ ++ + +
+ diff --git a/pkgs/webapps/mantisbt_2/bugnote_add.php.diff b/pkgs/webapps/mantisbt_2/bugnote_add.php.diff new file mode 100644 index 00000000..4509f0ad --- /dev/null +++ b/pkgs/webapps/mantisbt_2/bugnote_add.php.diff @@ -0,0 +1,20 @@ +--- a/bugnote_add.php 2018-02-10 21:29:27.000000000 +0100 ++++ b/bugnote_add.php 2018-03-03 15:13:12.439919511 +0100 +@@ -44,6 +44,17 @@ + + $t_query = array( 'issue_id' => $f_bug_id ); + ++# begin captcha check for anon user ++if ( current_user_is_anonymous() && get_gd_version() > 0 ) { ++ $f_captcha = gpc_get_string( 'captcha', '' ); ++ $f_captcha = utf8_strtolower( trim( $f_captcha ) ); ++ ++ $t_securimage = new Securimage(); ++ if( $t_securimage->check( $f_captcha ) == false ) { ++ trigger_error( ERROR_SIGNUP_NOT_MATCHING_CAPTCHA, ERROR ); ++ } ++} ++ + if( count( $f_files ) > 0 && is_blank( $f_text ) && helper_duration_to_minutes( $f_duration ) == 0 ) { + $t_payload = array( + 'files' => helper_array_transpose( $f_files ) diff --git a/pkgs/webapps/mantisbt_2/bugnote_add_inc.php.diff b/pkgs/webapps/mantisbt_2/bugnote_add_inc.php.diff new file mode 100644 index 00000000..a8589c71 --- /dev/null +++ b/pkgs/webapps/mantisbt_2/bugnote_add_inc.php.diff @@ -0,0 +1,52 @@ +--- a/bugnote_add_inc.php 2018-02-10 21:29:27.000000000 +0100 ++++ b/bugnote_add_inc.php 2018-03-03 15:14:27.332428557 +0100 +@@ -119,6 +119,49 @@ + + + ++ 0 ) { ++ $t_securimage_path = 'vendor/dapphp/securimage'; ++ $t_securimage_show = $t_securimage_path . '/securimage_show.php'; ++ $t_securimage_play = $t_securimage_path . '/securimage_play.swf?' ++ . http_build_query( array( ++ 'audio_file' => $t_securimage_path . '/securimage_play.php', ++ 'bgColor1=' => '#fff', ++ 'bgColor2=' => '#fff', ++ 'iconColor=' => '#777', ++ 'borderWidth=' => 1, ++ 'borderColor=' => '#000', ++ ) ); ++?> ++ ++ CAPTCHA ++ ++ ++ ++ ++ ++ ++ ++ visual captcha ++
++
++ ++ ++ ++ ++
++ ++ ++ ++ + + $t_changeset ) { ++ event_signal( 'EVENT_BUG_ACTION', array('RESOLVE', $t_bug_id) ); ++ } + } + + /** diff --git a/pkgs/webapps/mantisbt_2/plugins/source-integration/default.nix b/pkgs/webapps/mantisbt_2/plugins/source-integration/default.nix new file mode 100644 index 00000000..dc6c7de0 --- /dev/null +++ b/pkgs/webapps/mantisbt_2/plugins/source-integration/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchFromGitHub }: +stdenv.mkDerivation rec { + version = "v2.2.0"; + name = "mantisbt-plugin-source-integration-${version}"; + src = fetchFromGitHub { + owner = "mantisbt-plugins"; + repo = "source-integration"; + rev = "44fc9e2e770aff4f40f56833f26a86ce0e2deb76"; + sha256 = "0gcm6kqqijnv303sk59zn27adwx5vkr545mwzyaq2nrpxnkwdy5b"; + }; + patches = [ + ./Source.API.php.diff + ]; + installPhase = '' + mkdir $out + cp -a Source* $out/ + ''; + passthru = { + selector = "Source*"; + }; +} diff --git a/pkgs/webapps/mastodon/default.nix b/pkgs/webapps/mastodon/default.nix new file mode 100644 index 00000000..12e4c2c8 --- /dev/null +++ b/pkgs/webapps/mastodon/default.nix @@ -0,0 +1,86 @@ +{ varDir ? "/var/lib/mastodon", mylibs, + stdenv, writeText, runCommand, + ruby_2_6, bundlerEnv, defaultGemConfig, + jq, protobuf, protobufc, pkgconfig, libidn, pam, nodejs, yarn }: +let + gems = bundlerEnv { + name = "mastodon-env"; + ruby = ruby_2_6; + gemset = ./gemset.nix; + gemdir = (mylibs.fetchedGithub ./mastodon.json).src; + groups = [ "default" "production" "test" "development" ]; + gemConfig = defaultGemConfig // { + redis-rack = attrs: { + preBuild = '' + sed -i 's!s\.files.*!!' redis-rack.gemspec + ''; + }; + tzinfo = attrs: { + preBuild = '' + sed -i 's!s\.files.*!!' tzinfo.gemspec + ''; + }; + cld3 = attrs: { + buildInputs = [ protobuf protobufc pkgconfig ]; + }; + idn-ruby = attrs: { + buildInputs = [ libidn ]; + }; + rpam2 = attrs: { + buildInputs = [ pam ]; + }; + }; + }; + yarnModules = let + info = mylibs.fetchedGithub ./mastodon.json; + packagejson = runCommand "package.json" { buildInputs = [ jq ]; } '' + cat ${info.src}/package.json | jq -r '.version = "${info.version}"' > $out + ''; + in + mylibs.yarn2nixPackage.mkYarnModules rec { + name = "mastodon-yarn"; + pname = name; + version = info.version; + packageJSON = packagejson; + yarnLock = "${info.src}/yarn.lock"; + yarnNix = ./yarn-packages.nix; + pkgConfig = { + all = { + buildInputs = [ mylibs.yarn2nixPackage.src ]; + }; + uws = { + postInstall = '' + npx node-gyp rebuild > build_log.txt 2>&1 || true + ''; + }; + }; + }; + mastodon_with_yarn = stdenv.mkDerivation (mylibs.fetchedGithub ./mastodon.json // rec { + installPhase = '' + cp -a . $out + cp -a ${yarnModules}/node_modules $out + ''; + buildInputs = [ yarnModules ]; + }); +in +stdenv.mkDerivation { + name = "mastodon"; + inherit mastodon_with_yarn; + builder = writeText "build_mastodon" '' + source $stdenv/setup + set -a + SECRET_KEY_BASE=Dummy + OTP_SECRET=Dummy + set +a + cp -a $mastodon_with_yarn $out + cd $out + chmod u+rwX . public + chmod -R u+rwX config/ + sed -i -e 's@^end$@ config.action_mailer.sendmail_settings = { location: ENV.fetch("SENDMAIL_LOCATION", "/usr/sbin/sendmail") }\nend@' config/environments/production.rb + RAILS_ENV=production ${gems}/bin/rails assets:precompile + rm -rf tmp/cache + ln -sf ${varDir}/tmp/cache tmp + ''; + buildInputs = [ gems gems.ruby nodejs yarn ]; + passthru = { inherit gems varDir; }; +} diff --git a/pkgs/webapps/mastodon/gemset.nix b/pkgs/webapps/mastodon/gemset.nix new file mode 100644 index 00000000..9bd2cd31 --- /dev/null +++ b/pkgs/webapps/mastodon/gemset.nix @@ -0,0 +1,2867 @@ +{ + actioncable = { + dependencies = ["actionpack" "nio4r" "websocket-driver"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0826k5ch0l03f9yrkxy69aiv039z4qi00lnahw2rzywd2iz6r68x"; + type = "gem"; + }; + version = "5.2.2"; + }; + actionmailer = { + dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"]; + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0sfpb8s95cmkpp9ybyp2c88r55r5llscmmnkfwcwgasz9ncjiq5n"; + type = "gem"; + }; + version = "5.2.2"; + }; + actionpack = { + dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0iwhbqqn0cm39dq040iwq8cfyclqk3kyzwlp5k3j5cz8k2668wws"; + type = "gem"; + }; + version = "5.2.2"; + }; + actionview = { + dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lz04drbi1z0xhvb8jnr14pbf505lilr02arahxq7y3mxiz0rs8z"; + type = "gem"; + }; + version = "5.2.2"; + }; + active_model_serializers = { + dependencies = ["actionpack" "activemodel" "case_transform" "jsonapi-renderer"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02snasjwg3q2ar0m6c53ilc5lamx796hm37apk7jf6cx0x3kwzx9"; + type = "gem"; + }; + version = "0.10.8"; + }; + active_record_query_trace = { + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1aharmy1fcd0plv9k0i2dk5icvnlww8n43ia8xahfkcask0cpidh"; + type = "gem"; + }; + version = "1.5.4"; + }; + activejob = { + dependencies = ["activesupport" "globalid"]; + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jjkl62x2aprg55x9rpm0h2c82vr2qr989hg3l9r21l01q4822ir"; + type = "gem"; + }; + version = "5.2.2"; + }; + activemodel = { + dependencies = ["activesupport"]; + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xmwi3mw8g4shbjvkhk72ra3r5jccbdsd4piphqka2y1h8s7sxvi"; + type = "gem"; + }; + version = "5.2.2"; + }; + activerecord = { + dependencies = ["activemodel" "activesupport" "arel"]; + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19a0sns6a5wz2wym25lb1dv4lbrrl5sd1n15s5ky2636znmhz30y"; + type = "gem"; + }; + version = "5.2.2"; + }; + activestorage = { + dependencies = ["actionpack" "activerecord" "marcel"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0c72837098sw384vk6dmrb2p7q3wx4swnibk6sw9dp4hn1vc4p31"; + type = "gem"; + }; + version = "5.2.2"; + }; + activesupport = { + dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1iya7vxqwxysr74s7b4z1x19gmnx5advimzip3cbmsd5bd43wfgz"; + type = "gem"; + }; + version = "5.2.2"; + }; + addressable = { + dependencies = ["public_suffix"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l"; + type = "gem"; + }; + version = "2.6.0"; + }; + airbrussh = { + dependencies = ["sshkit"]; + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yp1sl5n94ksxpwmaajflbdls45s81hw4spgz01h19xs2zrvv8wl"; + type = "gem"; + }; + version = "1.3.0"; + }; + annotate = { + dependencies = ["activerecord" "rake"]; + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1l69l2kn06nkrnyq6gb1x322x5raxs8ms60shpf0v5dsi8lfig16"; + type = "gem"; + }; + version = "2.7.4"; + }; + arel = { + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jk7wlmkr61f6g36w9s2sn46nmdg6wn2jfssrhbhirv5x9n95nk0"; + type = "gem"; + }; + version = "9.0.0"; + }; + ast = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7"; + type = "gem"; + }; + version = "2.4.0"; + }; + attr_encrypted = { + dependencies = ["encryptor"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ncv2az1zlj33bsllr6q1qdvbw42gv91lxq0ryclbv8l8xh841jg"; + type = "gem"; + }; + version = "3.1.0"; + }; + av = { + dependencies = ["cocaine"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1swakpybf6g0nzfdn6q4s9c97ysc3i4ffk84dw8v2321fpvc8gqq"; + type = "gem"; + }; + version = "0.9.0"; + }; + aws-eventstream = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gdiwkg24jpx5f3bkw6vchgliicn6v9bpm09j0dldaxsca66q0wy"; + type = "gem"; + }; + version = "1.0.1"; + }; + aws-partitions = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0v6ksvawcmi5m0sc3qpcvziidzhkxlcaqs851yvvq2s2r5hgdfgb"; + type = "gem"; + }; + version = "1.131.0"; + }; + aws-sdk-core = { + dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xaaqsy4lpgydg8drjnax62azjmnfpvfz9jk3ca333mdri6c6bvm"; + type = "gem"; + }; + version = "3.45.0"; + }; + aws-sdk-kms = { + dependencies = ["aws-sdk-core" "aws-sigv4"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "195f12iygwlxj720gyikggdlxgfh4j371qa8dn7x4kwgq732b1fn"; + type = "gem"; + }; + version = "1.13.0"; + }; + aws-sdk-s3 = { + dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1mpf7v5n19ymq585xr0s47d9hcjc6crx5vi99s2ivcl79k1xj87d"; + type = "gem"; + }; + version = "1.30.1"; + }; + aws-sigv4 = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hzndv113i6bgy2n72i5l3mwn8vjnb6hhjxfkpn9mm2p5ra77yk7"; + type = "gem"; + }; + version = "1.0.3"; + }; + bcrypt = { + groups = ["default" "pam_authentication"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ysblqxkclmnhrd0kmb5mr8p38mbar633gdsb14b7dhkhgawgzfy"; + type = "gem"; + }; + version = "3.1.12"; + }; + benchmark-ips = { + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1w59c4qnwkjqwn7zyp9hshslbshna77vknmz43h0va5lxisd6ai2"; + type = "gem"; + }; + version = "2.7.2"; + }; + better_errors = { + dependencies = ["coderay" "erubi" "rack"]; + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pqnxxsqqs7vnqvamk5bzs84dv584g9s0qaf2vqb1v2aj5dabcg7"; + type = "gem"; + }; + version = "2.5.0"; + }; + binding_of_caller = { + dependencies = ["debug_inspector"]; + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05syqlks7463zsy1jdfbbdravdhj9hpj5pv2m74blqpv8bq4vv5g"; + type = "gem"; + }; + version = "0.8.0"; + }; + bootsnap = { + dependencies = ["msgpack"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0g6r784lmjfhwi046w82phsk244byq9wkj1q3lddwxg9z559bmhy"; + type = "gem"; + }; + version = "1.3.2"; + }; + brakeman = { + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fg37qknz1f10v4fgbn1s98gks0iimsgs1c8xra2jy16kpz4q86k"; + type = "gem"; + }; + version = "4.4.0"; + }; + browser = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0sdx0ny34i6vqxdsc7sy9g0nafdbrw8kvvb5xh9m18x1bzpqk92f"; + type = "gem"; + }; + version = "2.5.3"; + }; + builder = { + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1"; + type = "gem"; + }; + version = "3.2.3"; + }; + bullet = { + dependencies = ["activesupport" "uniform_notifier"]; + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fhsq5r9xc3cb32zr21hnsb2zmwbkck7xjvds9ny4inhykrjg47m"; + type = "gem"; + }; + version = "5.9.0"; + }; + bundler-audit = { + dependencies = ["thor"]; + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0pm22xpn3xyymsainixnrk8v3l3xi9bzwkjkspx00cfzp84xvxbq"; + type = "gem"; + }; + version = "0.6.1"; + }; + byebug = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10znc1hjv8n686hhpl08f3m2g6h08a4b83nxblqwy2kqamkxcqf8"; + type = "gem"; + }; + version = "10.0.2"; + }; + capistrano = { + dependencies = ["airbrussh" "i18n" "rake" "sshkit"]; + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1p1hj8hpmplxl41y6phsvkw2k8x3yxmkngs8yl8gkr7c1ma870p4"; + type = "gem"; + }; + version = "3.11.0"; + }; + capistrano-bundler = { + dependencies = ["capistrano" "sshkit"]; + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1p00rw2886v77kfjnh0mslyrv4lij5fa9niflz1lhynzlivgrmdr"; + type = "gem"; + }; + version = "1.3.0"; + }; + capistrano-rails = { + dependencies = ["capistrano" "capistrano-bundler"]; + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19j82kiarrph1ilw2xfhfj62z0b53w0gph7613b21iccb2gn3dqy"; + type = "gem"; + }; + version = "1.4.0"; + }; + capistrano-rbenv = { + dependencies = ["capistrano" "sshkit"]; + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "182dmsliny87b74m9mxi7farmp03ycqh30yf58b2kcx7m2js2s92"; + type = "gem"; + }; + version = "2.1.4"; + }; + capistrano-yarn = { + dependencies = ["capistrano"]; + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zdg2s061vl5b8114n909mrjb2hc1qx0i4wqx9nacsrcjgyp07l9"; + type = "gem"; + }; + version = "2.0.2"; + }; + capybara = { + dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"]; + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lhif97mh6wlqf14lwgvyjipm7ip6dz3svwgs52kgd5p3qb6hy2b"; + type = "gem"; + }; + version = "3.12.0"; + }; + case_transform = { + dependencies = ["activesupport"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fzyws6spn5arqf6q604dh9mrj84a36k5hsc8z7jgcpfvhc49bg2"; + type = "gem"; + }; + version = "0.2"; + }; + charlock_holmes = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nf1l31n10yaark2rrg5qzyzcx9w80681449s3j09qmnipsl8rl5"; + type = "gem"; + }; + version = "0.7.6"; + }; + chewy = { + dependencies = ["activesupport" "elasticsearch" "elasticsearch-dsl"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0m1n98fww2is9v4h73qnxjzs0l9ixx2szby5rip26g9l7mjwmm7v"; + type = "gem"; + }; + version = "5.0.0"; + }; + chunky_png = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05g2xli9wbjylkmblln3bhvjalziwb92q452q8ibjagmb853424w"; + type = "gem"; + }; + version = "1.3.10"; + }; + cld3 = { + dependencies = ["ffi"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1a3q025jqfwf8id1g40cv7s5pn7mdwzjpgqyzhdxdci1ps5ycgmn"; + type = "gem"; + }; + version = "3.2.3"; + }; + climate_control = { + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0q11v0iabvr6rif0d025xh078ili5frrihlj0m04zfg7lgvagxji"; + type = "gem"; + }; + version = "0.2.0"; + }; + cocaine = { + dependencies = ["climate_control"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01kk5xd7lspbkdvn6nyj0y51zhvia3z6r4nalbdcqw5fbsywwi7d"; + type = "gem"; + }; + version = "0.5.8"; + }; + coderay = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y"; + type = "gem"; + }; + version = "1.1.2"; + }; + concurrent-ruby = { + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ixcx9pfissxrga53jbdpza85qd5f6b5nq1sfqa9rnfq82qnlbp1"; + type = "gem"; + }; + version = "1.1.4"; + }; + connection_pool = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lflx29mlznf1hn0nihkgllzbj8xp5qasn8j7h838465pi399k68"; + type = "gem"; + }; + version = "2.2.2"; + }; + crack = { + dependencies = ["safe_yaml"]; + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k"; + type = "gem"; + }; + version = "0.4.3"; + }; + crass = { + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi"; + type = "gem"; + }; + version = "1.0.4"; + }; + css_parser = { + dependencies = ["addressable"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gwvf8mc8gnz4aizfijplv3594998h2j44ydakpzsdmkivs07v61"; + type = "gem"; + }; + version = "1.6.0"; + }; + debug_inspector = { + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vxr0xa1mfbkfcrn71n7c4f2dj7la5hvphn904vh20j3x4j5lrx0"; + type = "gem"; + }; + version = "0.0.3"; + }; + derailed_benchmarks = { + dependencies = ["benchmark-ips" "get_process_mem" "heapy" "memory_profiler" "rack" "rake" "thor"]; + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1c9djg1r2w461h97zmmdsdgnsrxqm4qfyp7gry9qxbav9skrplb8"; + type = "gem"; + }; + version = "1.3.5"; + }; + devise = { + dependencies = ["bcrypt" "orm_adapter" "railties" "responders" "warden"]; + groups = ["default" "pam_authentication"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vs8nibl568ghm6a7hbw6xgcv8zbm4gykprcxpnzi7bz5d4gvcjx"; + type = "gem"; + }; + version = "4.5.0"; + }; + devise-two-factor = { + dependencies = ["activesupport" "attr_encrypted" "devise" "railties" "rotp"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1b61s5y1ch205lgf3xv8hcvyi27ddd0d4qbbcpnnakhn2bx16lmc"; + type = "gem"; + }; + version = "3.0.3"; + }; + devise_pam_authenticatable2 = { + dependencies = ["devise" "rpam2"]; + groups = ["pam_authentication"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13ipl52pkhc6vxp8ca31viwv01237bi2bfk3b1fixq1x46nf87p2"; + type = "gem"; + }; + version = "9.2.0"; + }; + diff-lcs = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza"; + type = "gem"; + }; + version = "1.3"; + }; + docile = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yyh4lr03q2vafzsfqy1xax7vr8zn7mbddz3ax3vnlm5fg0px6pn"; + type = "gem"; + }; + version = "1.3.0"; + }; + domain_name = { + dependencies = ["unf"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0abdlwb64ns7ssmiqhdwgl27ly40x2l27l8hs8hn0z4kb3zd2x3v"; + type = "gem"; + }; + version = "0.5.20180417"; + }; + doorkeeper = { + dependencies = ["railties"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0488m6nwp31mxrhayj60gsb7jgyw1lzh73r2kldx00a9bw3634d4"; + type = "gem"; + }; + version = "5.0.2"; + }; + dotenv = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rgl2kqhnxqbjvi9brbvb52iaq1z8yi0pl0bawk4fm6kl9igxr8f"; + type = "gem"; + }; + version = "2.6.0"; + }; + dotenv-rails = { + dependencies = ["dotenv" "railties"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1knzdflmy06bjwvi00kndcmh2bhzqna9ccmz9mbyc3xc0v5jr9h8"; + type = "gem"; + }; + version = "2.6.0"; + }; + elasticsearch = { + dependencies = ["elasticsearch-api" "elasticsearch-transport"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0a08ynvxz5clfm2ndqpgjrv4aiga9m2y1ab34s3qkihdfdzdzhj8"; + type = "gem"; + }; + version = "6.0.2"; + }; + elasticsearch-api = { + dependencies = ["multi_json"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vkahknqn85vvwr1gzh8jf3pvdial0c0d524icg8x06vibqgzd5h"; + type = "gem"; + }; + version = "6.0.2"; + }; + elasticsearch-dsl = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1mwn6hvkki560p7sfc841q15zzgldsk9lzm2mlvc2bra7x1yk2q8"; + type = "gem"; + }; + version = "0.1.5"; + }; + elasticsearch-transport = { + dependencies = ["faraday" "multi_json"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gpwbw70qisx681j1bw8xq6shg5kdxmcdzg6425af0b5881jg7iy"; + type = "gem"; + }; + version = "6.0.2"; + }; + encryptor = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0s8rvfl0vn8w7k1sgkc234060jh468s3zd45xa64p1jdmfa3zwmb"; + type = "gem"; + }; + version = "3.0.0"; + }; + equatable = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1sjm9zjakyixyvsqziikdrsqfzis6j3fq23crgjkp6fwkfgndj7x"; + type = "gem"; + }; + version = "0.5.0"; + }; + erubi = { + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1kagnf6ziahj0d781s6ryy6fwqwa3ad4xbzzj84p9m4nv4c2jir1"; + type = "gem"; + }; + version = "1.8.0"; + }; + et-orbi = { + dependencies = ["tzinfo"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0wk7i0bmsy46la8gcvbmdns0ni8lmdqas838phj97bdwykxw8m4b"; + type = "gem"; + }; + version = "1.1.6"; + }; + excon = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15l9w0938c19nxmrp09n75qpmm64k12xj69h47yvxzcxcpbgnkb2"; + type = "gem"; + }; + version = "0.62.0"; + }; + fabrication = { + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0an28kjand4mjbkmnwd9fmgq3y5vf717zpmiijavar3sxqj52zri"; + type = "gem"; + }; + version = "2.20.1"; + }; + faker = { + dependencies = ["i18n"]; + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01q7wrk5bl0c0qrvg2my3kl0mbfnj1jpd89mqm3fzy4ggbkdhh7i"; + type = "gem"; + }; + version = "1.9.1"; + }; + faraday = { + dependencies = ["multipart-post"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1dv1vcxxyw4vy0r2diiml0r8zqk1csrksfxv8nkrw61xlf2daaaa"; + type = "gem"; + }; + version = "0.15.0"; + }; + fast_blank = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "16s1ilyvwzmkcgmklbrn0c2pch5n02vf921njx0bld4crgdr6z56"; + type = "gem"; + }; + version = "1.0.0"; + }; + fastimage = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1iy9jm13r2r4yz41xaivhxs8mvqn57fjwihxvazbip002mq6rxfz"; + type = "gem"; + }; + version = "2.1.5"; + }; + ffi = { + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0jpm2dis1j7zvvy3lg7axz9jml316zrn7s0j59vyq3qr127z0m7q"; + type = "gem"; + }; + version = "1.9.25"; + }; + fog-core = { + dependencies = ["builder" "excon" "formatador" "mime-types"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1agd6xgzk0rxrsjdpn94v4hy89s0nm2cs4zg2p880w2dan9xgrak"; + type = "gem"; + }; + version = "2.1.0"; + }; + fog-json = { + dependencies = ["fog-core" "multi_json"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zj8llzc119zafbmfa4ai3z5s7c4vp9akfs0f9l2piyvcarmlkyx"; + type = "gem"; + }; + version = "1.2.0"; + }; + fog-openstack = { + dependencies = ["fog-core" "fog-json" "ipaddress"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0aphjrvmchmqbyxqq82yj0qngyvkmwdci9iqs8722fi23bk83gdl"; + type = "gem"; + }; + version = "0.3.7"; + }; + formatador = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1gc26phrwlmlqrmz4bagq1wd5b7g64avpx0ghxr9xdxcvmlii0l0"; + type = "gem"; + }; + version = "0.2.5"; + }; + fugit = { + dependencies = ["et-orbi" "raabro"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1szijawzdii668z5is9xi849399gy786951dx0l5r2z5mbfqvl9i"; + type = "gem"; + }; + version = "1.1.6"; + }; + fuubar = { + dependencies = ["rspec-core" "ruby-progressbar"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1sqkr1nh49rlm86l3qyrgsdqavgqii4pnrjn7855z6dfavh3spxr"; + type = "gem"; + }; + version = "2.3.2"; + }; + get_process_mem = { + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1bvfjdign16r0zwm2rlfrq0sk1licvmlgbnlpnyckniv5r7i080g"; + type = "gem"; + }; + version = "0.2.3"; + }; + globalid = { + dependencies = ["activesupport"]; + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02smrgdi11kziqi9zhnsy9i6yr2fnxrqlv3lllsvdjki3cd4is38"; + type = "gem"; + }; + version = "0.4.1"; + }; + goldfinger = { + dependencies = ["addressable" "http" "nokogiri" "oj"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0n142035jhyqwczi52zjr07c8kygp9b9f158miaby3z5hygzjyzh"; + type = "gem"; + }; + version = "2.1.0"; + }; + hamlit = { + dependencies = ["temple" "thor" "tilt"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hk338vkzmwszxdh0q02iw88rbr3bj3fd7fzn4psm8wy80zcgl9i"; + type = "gem"; + }; + version = "2.8.8"; + }; + hamlit-rails = { + dependencies = ["actionpack" "activesupport" "hamlit" "railties"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14gzlp6w1j3b5fb4bhbjjh24skx031vnfc2shym9bkmq3r0p8dws"; + type = "gem"; + }; + version = "0.2.0"; + }; + hamster = { + dependencies = ["concurrent-ruby"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1n1lsh96vnyc1pnzyd30f9prcsclmvmkdb3nm5aahnyizyiy6lar"; + type = "gem"; + }; + version = "3.0.0"; + }; + hashdiff = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yj5l2rw8i8jc725hbcpc4wks0qlaaimr3dpaqamfjkjkxl0hjp9"; + type = "gem"; + }; + version = "0.3.7"; + }; + hashie = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13bdzfp25c8k51ayzxqkbzag3wj5gc1jd8h7d985nsq6pn57g5xh"; + type = "gem"; + }; + version = "3.6.0"; + }; + heapy = { + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1r9f38fpgjgaxskkwvsliijj6vfmgsff9pnranvvvzkdl67hk1hw"; + type = "gem"; + }; + version = "0.1.4"; + }; + highline = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "069sz5qmjpmv3x7kr5r3rwl20m9vqg97p15scmjdagglra34clkl"; + type = "gem"; + }; + version = "2.0.0"; + }; + hiredis = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04jj8k7lxqxw24sp0jiravigdkgsyrpprxpxm71ba93x1wr2w1bz"; + type = "gem"; + }; + version = "0.6.3"; + }; + hkdf = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04fixg0a51n4vy0j6c1hvisa2yl33m3jrrpxpb5sq6j511vjriil"; + type = "gem"; + }; + version = "0.3.0"; + }; + htmlentities = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj"; + type = "gem"; + }; + version = "4.3.4"; + }; + http = { + dependencies = ["addressable" "http-cookie" "http-form_data" "http_parser.rb"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jlm5prw437wqpfxcigh88lfap3m7g8mnmj5as7qw6dzqnvrxwmc"; + type = "gem"; + }; + version = "3.3.0"; + }; + http-cookie = { + dependencies = ["domain_name"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g"; + type = "gem"; + }; + version = "1.0.3"; + }; + http-form_data = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15lpn604byf7cyxnw949xz4rvpcknqp7a48q73nm630gqxsa76f3"; + type = "gem"; + }; + version = "2.1.1"; + }; + http_accept_language = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0d0nlfz9vm4jr1l6q0chx4rp2hrnrfbx3gadc1dz930lbbaz0hq0"; + type = "gem"; + }; + version = "2.1.1"; + }; + "http_parser.rb" = { + groups = ["default"]; + platforms = []; + source = { + fetchSubmodules = true; + rev = "54b17ba8c7d8d20a16dfc65d1775241833219cf2"; + sha256 = "079nwjsmg9jp33afc4f5bhjdbhcnfykdw4rd7ahhz8cbdkbhlzcp"; + type = "git"; + url = "https://github.com/tmm1/http_parser.rb"; + }; + version = "0.6.1"; + }; + httplog = { + dependencies = ["rack" "rainbow"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0grdjxfdbc4cffablh64iwyszskmv5sjpjz3zkp6xjxckdr7l7jj"; + type = "gem"; + }; + version = "1.2.0"; + }; + i18n = { + dependencies = ["concurrent-ruby"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "088xnnpi7hq243n44fmgqvjr0m86ivk8r87k9b3ddq3b7nl6nyf9"; + type = "gem"; + }; + version = "1.5.2"; + }; + i18n-tasks = { + dependencies = ["activesupport" "ast" "erubi" "highline" "i18n" "parser" "rails-i18n" "rainbow" "terminal-table"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "16592471ylgigmjx98pmbqibjwhavr4wb670kya9qh3nbgf7s1ym"; + type = "gem"; + }; + version = "0.9.28"; + }; + idn-ruby = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07vblcyk3g72sbq12xz7xj28snpxnh3sbcnxy8bglqbfqqhvmawr"; + type = "gem"; + }; + version = "0.1.0"; + }; + ipaddress = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1x86s0s11w202j6ka40jbmywkrx8fhq8xiy8mwvnkhllj57hqr45"; + type = "gem"; + }; + version = "0.8.3"; + }; + iso-639 = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10k1gpkkbxbasgjzh4hd32ygxzjb5312rphipm46ryxkpx556zzz"; + type = "gem"; + }; + version = "0.2.8"; + }; + jaro_winkler = { + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zz27z88qznix4r65gd9h56gl177snlfpgv10b0s69vi8qpl909l"; + type = "gem"; + }; + version = "1.5.2"; + }; + jmespath = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1d4wac0dcd1jf6kc57891glih9w57552zgqswgy74d1xhgnk0ngf"; + type = "gem"; + }; + version = "1.4.0"; + }; + json = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp"; + type = "gem"; + }; + version = "2.1.0"; + }; + json-ld = { + dependencies = ["multi_json" "rdf"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1yk4gnxzwlif9d0dy7csdb9ix60h69alk139aaip6304nx2yhdsk"; + type = "gem"; + }; + version = "3.0.2"; + }; + json-ld-preloaded = { + dependencies = ["json-ld" "multi_json" "rdf"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1c3yh5ayxvz33znbmzinigc5wivicib7nnykqjf00j2f9qag18pv"; + type = "gem"; + }; + version = "3.0.2"; + }; + jsonapi-renderer = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00ysmcv3nrccyimi334ida4axlfgir6cc2ryjxrf4xb97m1bfk5j"; + type = "gem"; + }; + version = "0.2.0"; + }; + jwt = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1w0kaqrbl71cq9sbnixc20x5lqah3hs2i93xmhlfdg2y3by7yzky"; + type = "gem"; + }; + version = "2.1.0"; + }; + kaminari = { + dependencies = ["activesupport" "kaminari-actionview" "kaminari-activerecord" "kaminari-core"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1j27y5phifwpggspglmg8pmlf6n4jblxwziix9am42661c770jlm"; + type = "gem"; + }; + version = "1.1.1"; + }; + kaminari-actionview = { + dependencies = ["actionview" "kaminari-core"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1386wshpy1ygbris0s7rv7lyzbs0v8dfqkzdwsrsgm9fd1ira640"; + type = "gem"; + }; + version = "1.1.1"; + }; + kaminari-activerecord = { + dependencies = ["activerecord" "kaminari-core"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0q31ik5648xi2hpy61knnjd0m7rvs17i93gzwcbh3ccj1y24gv2x"; + type = "gem"; + }; + version = "1.1.1"; + }; + kaminari-core = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1cfjrhvidvgdwp9ffsm9d4c2s18k2zp3gnya3f41qb3fc6bc2q2w"; + type = "gem"; + }; + version = "1.1.1"; + }; + launchy = { + dependencies = ["addressable"]; + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2"; + type = "gem"; + }; + version = "2.4.3"; + }; + letter_opener = { + dependencies = ["launchy"]; + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09a7kgsmr10a0hrc9bwxglgqvppjxij9w8bxx91mnvh0ivaw0nq9"; + type = "gem"; + }; + version = "1.7.0"; + }; + letter_opener_web = { + dependencies = ["actionmailer" "letter_opener" "railties"]; + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17qhwrkncrrp1bi2f7fbkm5lpnkdsiwy8jcvgr2wa97ck8y4x2bb"; + type = "gem"; + }; + version = "1.3.4"; + }; + link_header = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1yamrdq4rywmnpdhbygnkkl9fdy249fg5r851nrkkxr97gj5rihm"; + type = "gem"; + }; + version = "0.0.8"; + }; + lograge = { + dependencies = ["actionpack" "activesupport" "railties" "request_store"]; + groups = ["production"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00lcn7s3slfn32di4qwlx2yj5f9r2pcnd0naxrvqqwypcg1z2sdd"; + type = "gem"; + }; + version = "0.10.0"; + }; + loofah = { + dependencies = ["crass" "nokogiri"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ccsid33xjajd0im2xv941aywi58z7ihwkvaf1w2bv89vn5bhsjg"; + type = "gem"; + }; + version = "2.2.3"; + }; + mail = { + dependencies = ["mini_mime"]; + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc"; + type = "gem"; + }; + version = "2.7.1"; + }; + makara = { + dependencies = ["activerecord"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ri6r558nylaclqhfq1zhapfsyhryggln7gw69qb9i4c1rkfnyd2"; + type = "gem"; + }; + version = "0.4.0"; + }; + marcel = { + dependencies = ["mimemagic"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nxbjmcyg8vlw6zwagf17l9y2mwkagmmkg95xybpn4bmf3rfnksx"; + type = "gem"; + }; + version = "0.3.3"; + }; + mario-redis-lock = { + dependencies = ["redis"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1v9wdjcjqzpns2migxp4a5b4w82mipi0fwihbqz3q2qj2qm7wc17"; + type = "gem"; + }; + version = "1.2.1"; + }; + memory_profiler = { + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qir6bc2rw6lac6fsjhnspqyr01sh12d75dkd630qknjwvrrq8kj"; + type = "gem"; + }; + version = "0.9.12"; + }; + method_source = { + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq"; + type = "gem"; + }; + version = "0.9.2"; + }; + microformats = { + dependencies = ["json" "nokogiri"]; + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14az36ax3n81fmwqjb5giixvxsnmxpnlfrsz012pl78x1bkrvfki"; + type = "gem"; + }; + version = "4.0.7"; + }; + mime-types = { + dependencies = ["mime-types-data"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk"; + type = "gem"; + }; + version = "3.2.2"; + }; + mime-types-data = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07wvp0aw2gjm4njibb70as6rh5hi1zzri5vky1q6jx95h8l56idc"; + type = "gem"; + }; + version = "3.2018.0812"; + }; + mimemagic = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00ibc1mhvdfyfyl103xwb45621nwyqxf124cni5hyfhag0fn1c3q"; + type = "gem"; + }; + version = "0.3.2"; + }; + mini_mime = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3"; + type = "gem"; + }; + version = "1.0.1"; + }; + mini_portile2 = { + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy"; + type = "gem"; + }; + version = "2.4.0"; + }; + minitest = { + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq"; + type = "gem"; + }; + version = "5.11.3"; + }; + msgpack = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09xy1wc4wfbd1jdrzgxwmqjzfdfxbz0cqdszq2gv6rmc3gv1c864"; + type = "gem"; + }; + version = "1.2.4"; + }; + multi_json = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv"; + type = "gem"; + }; + version = "1.13.1"; + }; + multipart-post = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x"; + type = "gem"; + }; + version = "2.0.0"; + }; + necromancer = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0v9nhdkv6zrp7cn48xv7n2vjhsbslpvs0ha36mfkcd56cp27pavz"; + type = "gem"; + }; + version = "0.4.0"; + }; + net-ldap = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "016igqz81a8zcwqzp5bbhryqmb2skmyf57ij3nb5z8sxwhw22jgh"; + type = "gem"; + }; + version = "0.16.1"; + }; + net-scp = { + dependencies = ["net-ssh"]; + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0b0jqrcsp4bbi4n4mzyf70cp2ysyp6x07j8k8cqgxnvb4i3a134j"; + type = "gem"; + }; + version = "1.2.1"; + }; + net-ssh = { + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qfanf71yv8w7yl9l9wqcy68i2x1ghvnf8m581yy4pl0anfdhqw8"; + type = "gem"; + }; + version = "5.0.2"; + }; + nio4r = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1a41ca1kpdmrypjp9xbgvckpy8g26zxphkja9vk7j5wl4n8yvlyr"; + type = "gem"; + }; + version = "2.3.1"; + }; + nokogiri = { + dependencies = ["mini_portile2"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09zll7c6j7xr6wyvh5mm5ncj6pkryp70ybcsxdbw1nyphx5dh184"; + type = "gem"; + }; + version = "1.10.1"; + }; + nokogumbo = { + dependencies = ["nokogiri"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1qr7r2ysbp8b5q78yr8l5qpaxfqdw1i2yz6nsrbavdki8mqjgj24"; + type = "gem"; + }; + version = "2.0.0"; + }; + nsa = { + dependencies = ["activesupport" "concurrent-ruby" "sidekiq" "statsd-ruby"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1i1bhmvs49yv70pgl41lx1lr8x6whg52szb8ic1jb6wmmxr2ylcz"; + type = "gem"; + }; + version = "0.2.7"; + }; + oj = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0swv2ryjgbcyrisb2arf88rz0pf8d8f8g7iihc2fhz96a1h985n0"; + type = "gem"; + }; + version = "3.7.8"; + }; + omniauth = { + dependencies = ["hashie" "rack"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1p16h1rp8by05k8gfw17xjhgwp60dk8qmj1xalv1n23kmxfsxb1x"; + type = "gem"; + }; + version = "1.9.0"; + }; + omniauth-cas = { + dependencies = ["addressable" "nokogiri" "omniauth"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nnk7cr45aj7hj19zpky58yysvjg8mn5f45sj9knpn5f9kgld7p4"; + type = "gem"; + }; + version = "1.1.1"; + }; + omniauth-saml = { + dependencies = ["omniauth" "ruby-saml"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pg3pw4yjd9w1rn3lkycllrvd767pydbhldgdcqbbcck01asfcfz"; + type = "gem"; + }; + version = "1.10.1"; + }; + orm_adapter = { + groups = ["default" "pam_authentication"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fg9jpjlzf5y49qs9mlpdrgs5rpcyihq1s4k79nv9js0spjhnpda"; + type = "gem"; + }; + version = "0.5.0"; + }; + ostatus2 = { + dependencies = ["addressable" "http" "nokogiri"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fj27nr38g5y52s755pmg5zifwc6n88bw2zmkc22kg4vrhs64k19"; + type = "gem"; + }; + version = "2.0.3"; + }; + ox = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15vkq18fp58504ld9vfakisxdmp68pk5y1bmmm5g7b0q25p8z5pq"; + type = "gem"; + }; + version = "2.10.0"; + }; + paperclip = { + dependencies = ["activemodel" "activesupport" "mime-types" "mimemagic" "terrapin"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04mlw7aqj20ry0fy92gxnxg99hy5xczff7rhywfzz4mqlhc2wgg7"; + type = "gem"; + }; + version = "6.0.0"; + }; + paperclip-av-transcoder = { + dependencies = ["av" "paperclip"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1gcnp3fpdb5lqilcij4yqga6397nb7zyyf9lzxnqpbp7cvc18lhf"; + type = "gem"; + }; + version = "0.6.4"; + }; + parallel = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "005shcy8dabc7lwydpkbhd3fx8bfqzvsj6g04r90mx0wky10lz84"; + type = "gem"; + }; + version = "1.13.0"; + }; + parallel_tests = { + dependencies = ["parallel"]; + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13qgd5ajq1vm3ks8fl9vs4w4lx4s7ilm74w6vbyzi952mp6h4n2x"; + type = "gem"; + }; + version = "2.27.1"; + }; + parser = { + dependencies = ["ast"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hhz2k5417vr2k1llwqgjdnmyrhlpqicy0y2arr6r1gp04fg9wlm"; + type = "gem"; + }; + version = "2.6.0.0"; + }; + pastel = { + dependencies = ["equatable" "tty-color"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1yf30d9kzpm96gw9kwbv31p0qigwfykn8qdis5950plnzgc1vlp1"; + type = "gem"; + }; + version = "0.7.2"; + }; + pg = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fmnyxcyrvgdbgq7m09whgn9i8rwfybk0w8aii1nc4g5kqw0k2jy"; + type = "gem"; + }; + version = "1.1.4"; + }; + pghero = { + dependencies = ["activerecord"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nvg9jwynnw3brignq6raka0abrcjmm8mr8yxhvybjpmr6lyyjrd"; + type = "gem"; + }; + version = "2.2.0"; + }; + pkg-config = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hhzz9q3c90bjh5ncq2rvw1gszkw6kq3zxjy5pdbha23p01v6fv8"; + type = "gem"; + }; + version = "1.3.2"; + }; + posix-spawn = { + groups = ["default"]; + platforms = []; + source = { + fetchSubmodules = false; + rev = "58465d2e213991f8afb13b984854a49fcdcc980c"; + sha256 = "1mq284bps0y4yfwkhvj2j27g6lpzfhzw1bypim1a0n1js7j54vhk"; + type = "git"; + url = "https://github.com/rtomayko/posix-spawn"; + }; + version = "0.3.13"; + }; + powerpack = { + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1r51d67wd467rpdfl6x43y84vwm8f5ql9l9m85ak1s2sp3nc5hyv"; + type = "gem"; + }; + version = "0.1.2"; + }; + premailer = { + dependencies = ["addressable" "css_parser" "htmlentities"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xrhmialxn5vlp1nmf40a4db9gji4h2wbzd7f43sz64z8lvrjj6h"; + type = "gem"; + }; + version = "1.11.1"; + }; + premailer-rails = { + dependencies = ["actionmailer" "premailer"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1avh2bkhabicf1zxla8z6ig5192h3vdzli4d2y9wmxfwgh549lmx"; + type = "gem"; + }; + version = "1.10.2"; + }; + private_address_check = { + groups = ["production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05phz0vscfh9chv90yc9091pifw3cpwkh76flnhrmvja1q3na4cy"; + type = "gem"; + }; + version = "0.5.0"; + }; + pry = { + dependencies = ["coderay" "method_source"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00rm71x0r1jdycwbs83lf9l6p494m99asakbvqxh8rz7zwnlzg69"; + type = "gem"; + }; + version = "0.12.2"; + }; + pry-byebug = { + dependencies = ["byebug" "pry"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0y2758593i2ij0nhmv0j1pbdfx2cgi52ns6wkij0frgnk2lf650g"; + type = "gem"; + }; + version = "3.6.0"; + }; + pry-rails = { + dependencies = ["pry"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1cf4ii53w2hdh7fn8vhqpzkymmchjbwij4l3m7s6fsxvb9bn51j6"; + type = "gem"; + }; + version = "0.3.9"; + }; + public_suffix = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"; + type = "gem"; + }; + version = "3.0.3"; + }; + puma = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1k7dqxnq0dnf5rxkgs9rknclkn3ah7lsdrk6nrqxla8qzy31wliq"; + type = "gem"; + }; + version = "3.12.0"; + }; + pundit = { + dependencies = ["activesupport"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rqnll033ya64qvknbmnq076q9mxaibvcd7q70jhkpjda1xi4703"; + type = "gem"; + }; + version = "2.0.1"; + }; + raabro = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xzdmbn48753f6k0ckirp8ja5p0xn1a92wbwxfyggyhj0hza9ylq"; + type = "gem"; + }; + version = "1.1.6"; + }; + rack = { + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pcgv8dv4vkaczzlix8q3j68capwhk420cddzijwqgi2qb4lm1zm"; + type = "gem"; + }; + version = "2.0.6"; + }; + rack-attack = { + dependencies = ["rack"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11y6kw7hj2z25ba67www6qap7shj2bp6s43h57cn4yrid9kbsibs"; + type = "gem"; + }; + version = "5.4.2"; + }; + rack-cors = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1j27vy1bmhbqcyzhxg8d07qassmax769xjalfwcwz6qfiq8cf013"; + type = "gem"; + }; + version = "1.0.2"; + }; + rack-protection = { + dependencies = ["rack"]; + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15167q25rmxipqwi6hjqj3i1byi9iwl3xq9b7mdar7qiz39pmjsk"; + type = "gem"; + }; + version = "2.0.5"; + }; + rack-proxy = { + dependencies = ["rack"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1igdsim4ifyx9rfcjbxcwmf2vnxca3f8wmr2sj9j118a21g455pp"; + type = "gem"; + }; + version = "0.6.4"; + }; + rack-test = { + dependencies = ["rack"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m"; + type = "gem"; + }; + version = "1.1.0"; + }; + rails = { + dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1m9cszds68dsiycciiayd3c9g90s2yzn1izkr3gpgqkfw6dmvzyr"; + type = "gem"; + }; + version = "5.2.2"; + }; + rails-controller-testing = { + dependencies = ["actionpack" "actionview" "activesupport"]; + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1m1rklj6pvzi4fydxcmcv4q0xd7913hhhw1hw530nfz1wkl7vjlf"; + type = "gem"; + }; + version = "1.0.4"; + }; + rails-dom-testing = { + dependencies = ["activesupport" "nokogiri"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i"; + type = "gem"; + }; + version = "2.0.3"; + }; + rails-html-sanitizer = { + dependencies = ["loofah"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr"; + type = "gem"; + }; + version = "1.0.4"; + }; + rails-i18n = { + dependencies = ["i18n" "railties"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05lkhc737a9dw0hd5ljmja0yp4cw39r3200s1r0n4bs7z1g3ka7l"; + type = "gem"; + }; + version = "5.1.2"; + }; + rails-settings-cached = { + dependencies = ["rails"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0wyhyls0aqb1iw7mnaldg39w3mnbi3anmpbvb52rjwkpj2mchhnc"; + type = "gem"; + }; + version = "0.6.6"; + }; + railties = { + dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00pnylmbz4c46mxw5lhxi8h39lndfg6fs1hpd0qd6swnjhkqsr1l"; + type = "gem"; + }; + version = "5.2.2"; + }; + rainbow = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk"; + type = "gem"; + }; + version = "3.0.0"; + }; + rake = { + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1sy5a7nh6xjdc9yhcw31jji7ssrf9v5806hn95gbrzr998a2ydjn"; + type = "gem"; + }; + version = "12.3.2"; + }; + rb-fsevent = { + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8"; + type = "gem"; + }; + version = "0.10.3"; + }; + rb-inotify = { + dependencies = ["ffi"]; + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71"; + type = "gem"; + }; + version = "0.9.10"; + }; + rdf = { + dependencies = ["hamster" "link_header"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ylgsspdj2g0af0pgfi1ry50x8ng5069223238vg8kz0p7b24q79"; + type = "gem"; + }; + version = "3.0.9"; + }; + rdf-normalize = { + dependencies = ["rdf"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0h8qk3x5frqbgb4gj9ga75ddls47x8qhghscgz82gfq76m4r45g0"; + type = "gem"; + }; + version = "0.3.3"; + }; + redis = { + groups = ["default" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rk6mmy3y2jd34llrf591ribl1p54ghkw7m96wrbamy8fwva5zqv"; + type = "gem"; + }; + version = "4.1.0"; + }; + redis-actionpack = { + dependencies = ["actionpack" "redis-rack" "redis-store"]; + groups = ["default" "production"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15k41gz7nygd4yydk2yd25gghya1j7q6zifk4mdrra6bwnwjbm63"; + type = "gem"; + }; + version = "5.0.2"; + }; + redis-activesupport = { + dependencies = ["activesupport" "redis-store"]; + groups = ["default" "production"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rq5dhrzc1l8c7f5gx9r7mvnsk5206dfwih3yv5si5rf42nx2ay5"; + type = "gem"; + }; + version = "5.0.4"; + }; + redis-namespace = { + dependencies = ["redis"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0r7daagrjjribn098dxwbv9zivrbq2rsffbkj2ccxyn9lmjjbgah"; + type = "gem"; + }; + version = "1.6.0"; + }; + redis-rack = { + dependencies = ["rack" "redis-store"]; + groups = ["default" "production"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0px0wv8zripc6lrn3k0k61j6nlxda145q8sz50yvnig17wlk36gb"; + type = "gem"; + }; + version = "2.0.4"; + }; + redis-rails = { + dependencies = ["redis-actionpack" "redis-activesupport" "redis-store"]; + groups = ["production"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hjvkyaw5hgz7v6fgwdk8pb966z44h1gv8jarmb0gwhkqmjnsh40"; + type = "gem"; + }; + version = "5.0.2"; + }; + redis-store = { + dependencies = ["redis"]; + groups = ["default" "production"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cpg4fmqcyl8mm77l852xsidp8384a7s1mgbpki999swvq97svi4"; + type = "gem"; + }; + version = "1.5.0"; + }; + regexp_parser = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18g5jyg3blsdrz3mc8d87bms6qqn6gcdh1nvdhvgbjdpk9pw21dq"; + type = "gem"; + }; + version = "1.3.0"; + }; + request_store = { + dependencies = ["rack"]; + groups = ["default" "production"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1963330z03fk382fi8y231ygcbnh86m91dqlp5rh1mwy9ihzzl6d"; + type = "gem"; + }; + version = "1.4.1"; + }; + responders = { + dependencies = ["actionpack" "railties"]; + groups = ["default" "pam_authentication"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rhdyyvvm26f2l3fgwdp6xasfl2y0whwgy766bhdwz697mf78zfn"; + type = "gem"; + }; + version = "2.4.0"; + }; + rotp = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1w8d6svhq3y9y952r8cqirxvdx12zlkb7zxjb44bcbidb2sisy4d"; + type = "gem"; + }; + version = "2.1.2"; + }; + rpam2 = { + groups = ["default" "pam_authentication"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zvli3s4z1hf2l7gyfickm5i3afjrnycc3ihbiax6ji6arpbyf33"; + type = "gem"; + }; + version = "4.0.2"; + }; + rqrcode = { + dependencies = ["chunky_png"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0h1pnnydgs032psakvg3l779w3ghbn08ajhhhw19hpmnfhrs8k0a"; + type = "gem"; + }; + version = "0.10.1"; + }; + rspec-core = { + dependencies = ["rspec-support"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1p1s5bnbqp3sxk67y0fh0x884jjym527r0vgmhbm81w7aq6b7l4p"; + type = "gem"; + }; + version = "3.8.0"; + }; + rspec-expectations = { + dependencies = ["diff-lcs" "rspec-support"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18l21hy1zdc2pgc2yb17k3n2al1khpfr0z6pijlm852iz6vj0dkm"; + type = "gem"; + }; + version = "3.8.2"; + }; + rspec-mocks = { + dependencies = ["diff-lcs" "rspec-support"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06y508cjqycb4yfhxmb3nxn0v9xqf17qbd46l1dh4xhncinr4fyp"; + type = "gem"; + }; + version = "3.8.0"; + }; + rspec-rails = { + dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pf6n9l4sw1arlax1bdbm1znsvl8cgna2n6k6yk1bi8vz2n73ls1"; + type = "gem"; + }; + version = "3.8.2"; + }; + rspec-sidekiq = { + dependencies = ["rspec-core" "sidekiq"]; + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0y7pbqrbc8rjszc45vg4vz9qbn8aymgcc4ribrhvm76wrfz3ksfq"; + type = "gem"; + }; + version = "3.0.3"; + }; + rspec-support = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0p3m7drixrlhvj2zpc38b11x145bvm311x6f33jjcxmvcm0wq609"; + type = "gem"; + }; + version = "3.8.0"; + }; + rubocop = { + dependencies = ["jaro_winkler" "parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"]; + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pq00qwlmcv52dbhgbk534ggwn1ny9k3sq3vfb1zk3r4psnqz2jy"; + type = "gem"; + }; + version = "0.63.1"; + }; + ruby-progressbar = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk"; + type = "gem"; + }; + version = "1.10.0"; + }; + ruby-saml = { + dependencies = ["nokogiri"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "12f3mmyds4y8f7535p79xzx0wnp7rj02h1fp2x3j2hy5vrkmz2k4"; + type = "gem"; + }; + version = "1.9.0"; + }; + rufus-scheduler = { + dependencies = ["fugit"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "074w41a88343cbv8ydkpl3firhvh3kbh8ppldhdmpvv2g569m32i"; + type = "gem"; + }; + version = "3.5.2"; + }; + safe_yaml = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"; + type = "gem"; + }; + version = "1.0.4"; + }; + sanitize = { + dependencies = ["crass" "nokogiri" "nokogumbo"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rsb2gvqdh41miq7xjckidmgnjh3slvfqbp1hh4s6xfhc32r8g3s"; + type = "gem"; + }; + version = "5.0.0"; + }; + sass = { + dependencies = ["sass-listen"]; + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18c6prbw9wl8bqhb2435pd9s0lzarl3g7xf8pmyla28zblvwxmyh"; + type = "gem"; + }; + version = "3.6.0"; + }; + sass-listen = { + dependencies = ["rb-fsevent" "rb-inotify"]; + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df"; + type = "gem"; + }; + version = "4.0.0"; + }; + scss_lint = { + dependencies = ["rake" "sass"]; + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0dv4ff1lqbgqdx99nwg059c983dhw67kvvjd21f6vf62cjx09lpn"; + type = "gem"; + }; + version = "0.57.1"; + }; + sidekiq = { + dependencies = ["connection_pool" "rack" "rack-protection" "redis"]; + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1caiq5f5z5vzfria554n04pcbwc8zixf1fpavaksly9zywr3pc29"; + type = "gem"; + }; + version = "5.2.5"; + }; + sidekiq-bulk = { + dependencies = ["sidekiq"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08nyxzmgf742irafy3l4fj09d4s5pyvsh0dzlh8y4hl51rgkh4xv"; + type = "gem"; + }; + version = "0.2.0"; + }; + sidekiq-scheduler = { + dependencies = ["redis" "rufus-scheduler" "sidekiq" "tilt"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1n38p1ig8rx4ndqxcsc2gyzbaaax6r16b1xkn9mgcwwfx8qd5dbw"; + type = "gem"; + }; + version = "3.0.0"; + }; + sidekiq-unique-jobs = { + dependencies = ["concurrent-ruby" "sidekiq" "thor"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13d58w83jx03w033mm77c42cd409by4idqca3nfbgq0bjx4hqwik"; + type = "gem"; + }; + version = "6.0.8"; + }; + simple-navigation = { + dependencies = ["activesupport"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08a2s18an3br3xj5j86r33q0hrkai0y157xg67h1khdskb08yylk"; + type = "gem"; + }; + version = "4.0.5"; + }; + simple_form = { + dependencies = ["actionpack" "activemodel"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1221bf6glwinknrnp3pa2676ayg1yxyfa6l6lbajc72950v5mzm6"; + type = "gem"; + }; + version = "4.1.0"; + }; + simplecov = { + dependencies = ["docile" "json" "simplecov-html"]; + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1sfyfgf7zrp2n42v7rswkqgk3bbwk1bnsphm24y7laxv3f8z0947"; + type = "gem"; + }; + version = "0.16.1"; + }; + simplecov-html = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lihraa4rgxk8wbfl77fy9sf0ypk31iivly8vl3w04srd7i0clzn"; + type = "gem"; + }; + version = "0.10.2"; + }; + sprockets = { + dependencies = ["concurrent-ruby" "rack"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay"; + type = "gem"; + }; + version = "3.7.2"; + }; + sprockets-rails = { + dependencies = ["actionpack" "activesupport" "sprockets"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ab42pm8p5zxpv3sfraq45b9lj39cz9mrpdirm30vywzrwwkm5p1"; + type = "gem"; + }; + version = "3.2.1"; + }; + sshkit = { + dependencies = ["net-scp" "net-ssh"]; + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1982pcckxy811gm6z9h8brkds13mrgrx8sgmdz8dq5rg1h91y0yw"; + type = "gem"; + }; + version = "1.17.0"; + }; + stackprof = { + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1v7mkl4ng2is5h0glivhcjjkkj2shq1qzx9sg9shw9nn8xvg7i4w"; + type = "gem"; + }; + version = "0.2.12"; + }; + statsd-ruby = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0djig5dnqjgww6wrw3f1mvnnjllznahlchvk4lvs4wx9qjsqpysr"; + type = "gem"; + }; + version = "1.4.0"; + }; + stoplight = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1c55ar2chyivz8n6xkhyq36hgpb0b7cfqfjrcyyv9sjiyrbqyhic"; + type = "gem"; + }; + version = "2.1.3"; + }; + streamio-ffmpeg = { + dependencies = ["multi_json"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nnxizc0371vwh0k6gqjj1b7fjszydpqfz549n6qn2q1pza3894z"; + type = "gem"; + }; + version = "3.0.2"; + }; + strong_migrations = { + dependencies = ["activerecord"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0scrffkhjx14rrk5cn01vg20y3vvhzzb47a7c9wa864aq8j8kw7z"; + type = "gem"; + }; + version = "0.3.1"; + }; + temple = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00nxf610nzi4n1i2lkby43nrnarvl89fcl6lg19406msr0k3ycmq"; + type = "gem"; + }; + version = "0.8.0"; + }; + terminal-table = { + dependencies = ["unicode-display_width"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk"; + type = "gem"; + }; + version = "1.8.0"; + }; + terrapin = { + dependencies = ["climate_control"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0p18f05r0c5s70571gqig3z2ym74wx79s6rd45sprp207bqskzn9"; + type = "gem"; + }; + version = "0.6.0"; + }; + thor = { + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1yhrnp9x8qcy5vc7g438amd5j9sw83ih7c30dr6g6slgw9zj3g29"; + type = "gem"; + }; + version = "0.20.3"; + }; + thread_safe = { + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; + type = "gem"; + }; + version = "0.3.6"; + }; + tilt = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0020mrgdf11q23hm1ddd6fv691l51vi10af00f137ilcdb2ycfra"; + type = "gem"; + }; + version = "2.0.8"; + }; + timers = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04zbs9wyzajn7g9xfgg2zqz5kzf0qa7jgh4hgry4pfcxfmlnwdwx"; + type = "gem"; + }; + version = "4.2.0"; + }; + tty-color = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0zz5xa6xbrj69h334d8nx7z732fz80s1a0b02b53mim95p80s7bk"; + type = "gem"; + }; + version = "0.4.3"; + }; + tty-command = { + dependencies = ["pastel"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1d1fghdvnlc8m5i36h7gswn21232k2f9z5ls73fhs9p5ryfs4vz7"; + type = "gem"; + }; + version = "0.8.2"; + }; + tty-cursor = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1f4rsapf4apaxn11xnqrq7axgrlvn6pdlqxqb2g34jnpfh5yrk1i"; + type = "gem"; + }; + version = "0.6.0"; + }; + tty-prompt = { + dependencies = ["necromancer" "pastel" "timers" "tty-cursor" "tty-reader"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wjlsrzky7n7fr4psy2jbi4qpcixkq3196g0bbnmmjy6f26vrjcm"; + type = "gem"; + }; + version = "0.18.1"; + }; + tty-reader = { + dependencies = ["tty-cursor" "tty-screen" "wisper"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0r1cbfmkprp2m8jbf5f59jqn2zda7xqxj3gzdsgpz8v7arp9m3wn"; + type = "gem"; + }; + version = "0.5.0"; + }; + tty-screen = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0azpjgyhdm8ycblnx9crq3dgb2x8yg454a13n60zfpsc0n138sw1"; + type = "gem"; + }; + version = "0.6.5"; + }; + twitter-text = { + dependencies = ["unf"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1732h7hy1k152w8wfvjsx7b79alk45i5imwd37ia4qcx8hfm3gvg"; + type = "gem"; + }; + version = "1.14.7"; + }; + tzinfo = { + dependencies = ["thread_safe"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z"; + type = "gem"; + }; + version = "1.2.5"; + }; + tzinfo-data = { + dependencies = ["tzinfo"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jzl5cv7b5h24lh8s42s3j1ls0p27b5wmc4zdjs2j7hajgbdp19q"; + type = "gem"; + }; + version = "1.2018.9"; + }; + unf = { + dependencies = ["unf_ext"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; + type = "gem"; + }; + version = "0.1.4"; + }; + unf_ext = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06p1i6qhy34bpb8q8ms88y6f2kz86azwm098yvcc0nyqk9y729j1"; + type = "gem"; + }; + version = "0.0.7.5"; + }; + unicode-display_width = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bq528fibi8s0jmxz0xzlgzggdq0x4fx46wfqz49478pv8gb2diq"; + type = "gem"; + }; + version = "1.4.1"; + }; + uniform_notifier = { + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0mb0pq99zm17qnz2czmad5b3z0ivzkf6493afj3n550kd56z18s3"; + type = "gem"; + }; + version = "1.12.1"; + }; + warden = { + dependencies = ["rack"]; + groups = ["default" "pam_authentication"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0va966lhpylcwbqb9n151kkihx30agh0a57mwjwdxyanll4s1q12"; + type = "gem"; + }; + version = "1.2.7"; + }; + webmock = { + dependencies = ["addressable" "crack" "hashdiff"]; + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gg0c2sxq7rni0b93w47h7p7cn590xdhf5va7ska48inpipwlgxp"; + type = "gem"; + }; + version = "3.5.1"; + }; + webpacker = { + dependencies = ["activesupport" "rack-proxy" "railties"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bw01ihvxpy05xzz3wq6p9d3lw7n4x10ivfrh70hlrjyixmapws6"; + type = "gem"; + }; + version = "3.5.5"; + }; + webpush = { + dependencies = ["hkdf" "jwt"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1id7i4gdqck8wj6x22q8dljynvznvwn9f0pgi8h8jiy5dm7m0cf2"; + type = "gem"; + }; + version = "0.3.6"; + }; + websocket-driver = { + dependencies = ["websocket-extensions"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1551k3fs3kkb3ghqfj3n5lps0ikb9pyrdnzmvgfdxy8574n4g1dn"; + type = "gem"; + }; + version = "0.7.0"; + }; + websocket-extensions = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "034sdr7fd34yag5l6y156rkbhiqgmy395m231dwhlpcswhs6d270"; + type = "gem"; + }; + version = "0.1.3"; + }; + wisper = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ar2wn3pxnffyzcmf67y67b8lnhgn9zayqhqp26jwqa3d73j71kd"; + type = "gem"; + }; + version = "2.0.0"; + }; + xpath = { + dependencies = ["nokogiri"]; + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd"; + type = "gem"; + }; + version = "3.2.0"; + }; +} \ No newline at end of file diff --git a/pkgs/webapps/mastodon/mastodon.json b/pkgs/webapps/mastodon/mastodon.json new file mode 100644 index 00000000..df73e8f6 --- /dev/null +++ b/pkgs/webapps/mastodon/mastodon.json @@ -0,0 +1,15 @@ +{ + "tag": "v2.7.4", + "meta": { + "name": "mastodon", + "url": "https://github.com/tootsuite/mastodon", + "branch": "refs/tags/v2.7.4" + }, + "github": { + "owner": "tootsuite", + "repo": "mastodon", + "rev": "a91349d45da18d3c85f68ae9be762dad6301c3cf", + "sha256": "0x16c2m8d9nszr9hjw6j1i8gicvpgxzli5afaqd0z144y0ar62qa", + "fetchSubmodules": true + } +} diff --git a/pkgs/webapps/mastodon/yarn-packages.nix b/pkgs/webapps/mastodon/yarn-packages.nix new file mode 100644 index 00000000..feca6686 --- /dev/null +++ b/pkgs/webapps/mastodon/yarn-packages.nix @@ -0,0 +1,11876 @@ +{fetchurl, linkFarm}: rec { + offline_cache = linkFarm "offline" packages; + packages = [ + + { + name = "_babel_code_frame___code_frame_7.0.0.tgz"; + path = fetchurl { + name = "_babel_code_frame___code_frame_7.0.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz"; + sha1 = "06e2ab19bdb535385559aabb5ba59729482800f8"; + }; + } + + { + name = "_babel_core___core_7.2.2.tgz"; + path = fetchurl { + name = "_babel_core___core_7.2.2.tgz"; + url = "https://registry.yarnpkg.com/@babel/core/-/core-7.2.2.tgz"; + sha1 = "07adba6dde27bb5ad8d8672f15fde3e08184a687"; + }; + } + + { + name = "_babel_generator___generator_7.2.2.tgz"; + path = fetchurl { + name = "_babel_generator___generator_7.2.2.tgz"; + url = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.2.2.tgz"; + sha1 = "18c816c70962640eab42fe8cae5f3947a5c65ccc"; + }; + } + + { + name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.0.0.tgz"; + path = fetchurl { + name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.0.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz"; + sha1 = "323d39dd0b50e10c7c06ca7d7638e6864d8c5c32"; + }; + } + + { + name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.1.0.tgz"; + path = fetchurl { + name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.1.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz"; + sha1 = "6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f"; + }; + } + + { + name = "_babel_helper_builder_react_jsx___helper_builder_react_jsx_7.0.0.tgz"; + path = fetchurl { + name = "_babel_helper_builder_react_jsx___helper_builder_react_jsx_7.0.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0.tgz"; + sha1 = "fa154cb53eb918cf2a9a7ce928e29eb649c5acdb"; + }; + } + + { + name = "_babel_helper_call_delegate___helper_call_delegate_7.1.0.tgz"; + path = fetchurl { + name = "_babel_helper_call_delegate___helper_call_delegate_7.1.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz"; + sha1 = "6a957f105f37755e8645343d3038a22e1449cc4a"; + }; + } + + { + name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.2.3.tgz"; + path = fetchurl { + name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.2.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.2.3.tgz"; + sha1 = "f6e719abb90cb7f4a69591e35fd5eb89047c4a7c"; + }; + } + + { + name = "_babel_helper_define_map___helper_define_map_7.1.0.tgz"; + path = fetchurl { + name = "_babel_helper_define_map___helper_define_map_7.1.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz"; + sha1 = "3b74caec329b3c80c116290887c0dd9ae468c20c"; + }; + } + + { + name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.1.0.tgz"; + path = fetchurl { + name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.1.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz"; + sha1 = "537fa13f6f1674df745b0c00ec8fe4e99681c8f6"; + }; + } + + { + name = "_babel_helper_function_name___helper_function_name_7.1.0.tgz"; + path = fetchurl { + name = "_babel_helper_function_name___helper_function_name_7.1.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz"; + sha1 = "a0ceb01685f73355d4360c1247f582bfafc8ff53"; + }; + } + + { + name = "_babel_helper_get_function_arity___helper_get_function_arity_7.0.0.tgz"; + path = fetchurl { + name = "_babel_helper_get_function_arity___helper_get_function_arity_7.0.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz"; + sha1 = "83572d4320e2a4657263734113c42868b64e49c3"; + }; + } + + { + name = "_babel_helper_hoist_variables___helper_hoist_variables_7.0.0.tgz"; + path = fetchurl { + name = "_babel_helper_hoist_variables___helper_hoist_variables_7.0.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz"; + sha1 = "46adc4c5e758645ae7a45deb92bab0918c23bb88"; + }; + } + + { + name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.0.0.tgz"; + path = fetchurl { + name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.0.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz"; + sha1 = "8cd14b0a0df7ff00f009e7d7a436945f47c7a16f"; + }; + } + + { + name = "_babel_helper_module_imports___helper_module_imports_7.0.0.tgz"; + path = fetchurl { + name = "_babel_helper_module_imports___helper_module_imports_7.0.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz"; + sha1 = "96081b7111e486da4d2cd971ad1a4fe216cc2e3d"; + }; + } + + { + name = "_babel_helper_module_transforms___helper_module_transforms_7.2.2.tgz"; + path = fetchurl { + name = "_babel_helper_module_transforms___helper_module_transforms_7.2.2.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz"; + sha1 = "ab2f8e8d231409f8370c883d20c335190284b963"; + }; + } + + { + name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.0.0.tgz"; + path = fetchurl { + name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.0.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz"; + sha1 = "a2920c5702b073c15de51106200aa8cad20497d5"; + }; + } + + { + name = "_babel_helper_plugin_utils___helper_plugin_utils_7.0.0.tgz"; + path = fetchurl { + name = "_babel_helper_plugin_utils___helper_plugin_utils_7.0.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz"; + sha1 = "bbb3fbee98661c569034237cc03967ba99b4f250"; + }; + } + + { + name = "_babel_helper_regex___helper_regex_7.0.0.tgz"; + path = fetchurl { + name = "_babel_helper_regex___helper_regex_7.0.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0.tgz"; + sha1 = "2c1718923b57f9bbe64705ffe5640ac64d9bdb27"; + }; + } + + { + name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.1.0.tgz"; + path = fetchurl { + name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.1.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz"; + sha1 = "361d80821b6f38da75bd3f0785ece20a88c5fe7f"; + }; + } + + { + name = "_babel_helper_replace_supers___helper_replace_supers_7.2.3.tgz"; + path = fetchurl { + name = "_babel_helper_replace_supers___helper_replace_supers_7.2.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz"; + sha1 = "19970020cf22677d62b3a689561dbd9644d8c5e5"; + }; + } + + { + name = "_babel_helper_simple_access___helper_simple_access_7.1.0.tgz"; + path = fetchurl { + name = "_babel_helper_simple_access___helper_simple_access_7.1.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz"; + sha1 = "65eeb954c8c245beaa4e859da6188f39d71e585c"; + }; + } + + { + name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.0.0.tgz"; + path = fetchurl { + name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.0.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz"; + sha1 = "3aae285c0311c2ab095d997b8c9a94cad547d813"; + }; + } + + { + name = "_babel_helper_wrap_function___helper_wrap_function_7.2.0.tgz"; + path = fetchurl { + name = "_babel_helper_wrap_function___helper_wrap_function_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz"; + sha1 = "c4e0012445769e2815b55296ead43a958549f6fa"; + }; + } + + { + name = "_babel_helpers___helpers_7.2.0.tgz"; + path = fetchurl { + name = "_babel_helpers___helpers_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.2.0.tgz"; + sha1 = "8335f3140f3144270dc63c4732a4f8b0a50b7a21"; + }; + } + + { + name = "_babel_highlight___highlight_7.0.0.tgz"; + path = fetchurl { + name = "_babel_highlight___highlight_7.0.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz"; + sha1 = "f710c38c8d458e6dd9a201afb637fcb781ce99e4"; + }; + } + + { + name = "_babel_parser___parser_7.2.3.tgz"; + path = fetchurl { + name = "_babel_parser___parser_7.2.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.2.3.tgz"; + sha1 = "32f5df65744b70888d17872ec106b02434ba1489"; + }; + } + + { + name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz"; + sha1 = "b289b306669dce4ad20b0252889a15768c9d417e"; + }; + } + + { + name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.2.3.tgz"; + path = fetchurl { + name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.2.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.2.3.tgz"; + sha1 = "c9e1294363b346cff333007a92080f3203698461"; + }; + } + + { + name = "_babel_plugin_proposal_decorators___plugin_proposal_decorators_7.2.3.tgz"; + path = fetchurl { + name = "_babel_plugin_proposal_decorators___plugin_proposal_decorators_7.2.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.2.3.tgz"; + sha1 = "1fe5b0d22ce0c4418f225474ebd40267430364c0"; + }; + } + + { + name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz"; + sha1 = "568ecc446c6148ae6b267f02551130891e29f317"; + }; + } + + { + name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.2.0.tgz"; + sha1 = "88f5fec3e7ad019014c97f7ee3c992f0adbf7fb8"; + }; + } + + { + name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz"; + sha1 = "135d81edb68a081e55e56ec48541ece8065c38f5"; + }; + } + + { + name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.2.0.tgz"; + sha1 = "abe7281fe46c95ddc143a65e5358647792039520"; + }; + } + + { + name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz"; + sha1 = "69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f"; + }; + } + + { + name = "_babel_plugin_syntax_decorators___plugin_syntax_decorators_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_syntax_decorators___plugin_syntax_decorators_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz"; + sha1 = "c50b1b957dcc69e4b1127b65e1c33eef61570c1b"; + }; + } + + { + name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz"; + sha1 = "69c159ffaf4998122161ad8ebc5e6d1f55df8612"; + }; + } + + { + name = "_babel_plugin_syntax_json_strings___plugin_syntax_json_strings_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_syntax_json_strings___plugin_syntax_json_strings_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz"; + sha1 = "72bd13f6ffe1d25938129d2a186b11fd62951470"; + }; + } + + { + name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz"; + sha1 = "0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7"; + }; + } + + { + name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz"; + sha1 = "3b7a3e733510c57e820b9142a6579ac8b0dfad2e"; + }; + } + + { + name = "_babel_plugin_syntax_optional_catch_binding___plugin_syntax_optional_catch_binding_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_syntax_optional_catch_binding___plugin_syntax_optional_catch_binding_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz"; + sha1 = "a94013d6eda8908dfe6a477e7f9eda85656ecf5c"; + }; + } + + { + name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz"; + sha1 = "9aeafbe4d6ffc6563bf8f8372091628f00779550"; + }; + } + + { + name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz"; + sha1 = "68b8a438663e88519e65b776f8938f3445b1a2ff"; + }; + } + + { + name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz"; + sha1 = "5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190"; + }; + } + + { + name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz"; + sha1 = "f17c49d91eedbcdf5dd50597d16f5f2f770132d4"; + }; + } + + { + name = "_babel_plugin_transform_classes___plugin_transform_classes_7.2.2.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_classes___plugin_transform_classes_7.2.2.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz"; + sha1 = "6c90542f210ee975aa2aa8c8b5af7fa73a126953"; + }; + } + + { + name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz"; + sha1 = "83a7df6a658865b1c8f641d510c6f3af220216da"; + }; + } + + { + name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz"; + sha1 = "e75269b4b7889ec3a332cd0d0c8cff8fed0dc6f3"; + }; + } + + { + name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz"; + sha1 = "f0aabb93d120a8ac61e925ea0ba440812dbe0e49"; + }; + } + + { + name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz"; + sha1 = "d952c4930f312a4dbfff18f0b2914e60c35530b3"; + }; + } + + { + name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz"; + sha1 = "a63868289e5b4007f7054d46491af51435766008"; + }; + } + + { + name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz"; + sha1 = "ab7468befa80f764bb03d3cb5eef8cc998e1cad9"; + }; + } + + { + name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz"; + sha1 = "f7930362829ff99a3174c39f0afcc024ef59731a"; + }; + } + + { + name = "_babel_plugin_transform_literals___plugin_transform_literals_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_literals___plugin_transform_literals_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz"; + sha1 = "690353e81f9267dad4fd8cfd77eafa86aba53ea1"; + }; + } + + { + name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz"; + sha1 = "82a9bce45b95441f617a24011dc89d12da7f4ee6"; + }; + } + + { + name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz"; + sha1 = "c4f1933f5991d5145e9cfad1dfd848ea1727f404"; + }; + } + + { + name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.2.0.tgz"; + sha1 = "912bfe9e5ff982924c81d0937c92d24994bb9068"; + }; + } + + { + name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz"; + sha1 = "7678ce75169f0877b8eb2235538c074268dd01ae"; + }; + } + + { + name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.0.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.0.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz"; + sha1 = "ae8fbd89517fa7892d20e6564e641e8770c3aa4a"; + }; + } + + { + name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz"; + sha1 = "b35d4c10f56bab5d650047dad0f1d8e8814b6598"; + }; + } + + { + name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz"; + sha1 = "0d5ad15dc805e2ea866df4dd6682bfe76d1408c2"; + }; + } + + { + name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz"; + sha1 = "ebfaed87834ce8dc4279609a4f0c324c156e3eb0"; + }; + } + + { + name = "_babel_plugin_transform_react_inline_elements___plugin_transform_react_inline_elements_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_react_inline_elements___plugin_transform_react_inline_elements_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-react-inline-elements/-/plugin-transform-react-inline-elements-7.2.0.tgz"; + sha1 = "3e36e7c47f1c21f52b2b0090d5cd83ceb19a4770"; + }; + } + + { + name = "_babel_plugin_transform_react_jsx_self___plugin_transform_react_jsx_self_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_react_jsx_self___plugin_transform_react_jsx_self_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz"; + sha1 = "461e21ad9478f1031dd5e276108d027f1b5240ba"; + }; + } + + { + name = "_babel_plugin_transform_react_jsx_source___plugin_transform_react_jsx_source_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_react_jsx_source___plugin_transform_react_jsx_source_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz"; + sha1 = "20c8c60f0140f5dd3cd63418d452801cf3f7180f"; + }; + } + + { + name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.2.0.tgz"; + sha1 = "ca36b6561c4d3b45524f8efb6f0fbc9a0d1d622f"; + }; + } + + { + name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.0.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.0.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz"; + sha1 = "5b41686b4ed40bef874d7ed6a84bdd849c13e0c1"; + }; + } + + { + name = "_babel_plugin_transform_runtime___plugin_transform_runtime_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_runtime___plugin_transform_runtime_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz"; + sha1 = "566bc43f7d0aedc880eaddbd29168d0f248966ea"; + }; + } + + { + name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz"; + sha1 = "6333aee2f8d6ee7e28615457298934a3b46198f0"; + }; + } + + { + name = "_babel_plugin_transform_spread___plugin_transform_spread_7.2.2.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_spread___plugin_transform_spread_7.2.2.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz"; + sha1 = "3103a9abe22f742b6d406ecd3cd49b774919b406"; + }; + } + + { + name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz"; + sha1 = "a1e454b5995560a9c1e0d537dfc15061fd2687e1"; + }; + } + + { + name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz"; + sha1 = "d87ed01b8eaac7a92473f608c97c089de2ba1e5b"; + }; + } + + { + name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz"; + sha1 = "117d2bcec2fbf64b4b59d1f9819894682d29f2b2"; + }; + } + + { + name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.2.0.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz"; + sha1 = "4eb8db16f972f8abb5062c161b8b115546ade08b"; + }; + } + + { + name = "_babel_preset_env___preset_env_7.2.3.tgz"; + path = fetchurl { + name = "_babel_preset_env___preset_env_7.2.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.2.3.tgz"; + sha1 = "948c8df4d4609c99c7e0130169f052ea6a7a8933"; + }; + } + + { + name = "_babel_preset_react___preset_react_7.0.0.tgz"; + path = fetchurl { + name = "_babel_preset_react___preset_react_7.0.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz"; + sha1 = "e86b4b3d99433c7b3e9e91747e2653958bc6b3c0"; + }; + } + + { + name = "_babel_runtime___runtime_7.0.0.tgz"; + path = fetchurl { + name = "_babel_runtime___runtime_7.0.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0.tgz"; + sha1 = "adeb78fedfc855aa05bc041640f3f6f98e85424c"; + }; + } + + { + name = "_babel_runtime___runtime_7.2.0.tgz"; + path = fetchurl { + name = "_babel_runtime___runtime_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.2.0.tgz"; + sha1 = "b03e42eeddf5898e00646e4c840fa07ba8dcad7f"; + }; + } + + { + name = "_babel_template___template_7.2.2.tgz"; + path = fetchurl { + name = "_babel_template___template_7.2.2.tgz"; + url = "https://registry.yarnpkg.com/@babel/template/-/template-7.2.2.tgz"; + sha1 = "005b3fdf0ed96e88041330379e0da9a708eb2907"; + }; + } + + { + name = "_babel_traverse___traverse_7.2.3.tgz"; + path = fetchurl { + name = "_babel_traverse___traverse_7.2.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.2.3.tgz"; + sha1 = "7ff50cefa9c7c0bd2d81231fdac122f3957748d8"; + }; + } + + { + name = "_babel_types___types_7.2.2.tgz"; + path = fetchurl { + name = "_babel_types___types_7.2.2.tgz"; + url = "https://registry.yarnpkg.com/@babel/types/-/types-7.2.2.tgz"; + sha1 = "44e10fc24e33af524488b716cdaee5360ea8ed1e"; + }; + } + + { + name = "_emotion_cache___cache_10.0.0.tgz"; + path = fetchurl { + name = "_emotion_cache___cache_10.0.0.tgz"; + url = "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.0.tgz"; + sha1 = "e22eadcb770de4131ec707c84207e9e1ce210413"; + }; + } + + { + name = "_emotion_hash___hash_0.7.1.tgz"; + path = fetchurl { + name = "_emotion_hash___hash_0.7.1.tgz"; + url = "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.7.1.tgz"; + sha1 = "9833722341379fb7d67f06a4b00ab3c37913da53"; + }; + } + + { + name = "_emotion_memoize___memoize_0.7.1.tgz"; + path = fetchurl { + name = "_emotion_memoize___memoize_0.7.1.tgz"; + url = "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.1.tgz"; + sha1 = "e93c13942592cf5ef01aa8297444dc192beee52f"; + }; + } + + { + name = "_emotion_serialize___serialize_0.11.3.tgz"; + path = fetchurl { + name = "_emotion_serialize___serialize_0.11.3.tgz"; + url = "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.3.tgz"; + sha1 = "c4af2d96e3ddb9a749b7b567daa7556bcae45af2"; + }; + } + + { + name = "_emotion_sheet___sheet_0.9.2.tgz"; + path = fetchurl { + name = "_emotion_sheet___sheet_0.9.2.tgz"; + url = "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-0.9.2.tgz"; + sha1 = "74e5c6b5e489a1ba30ab246ab5eedd96916487c4"; + }; + } + + { + name = "_emotion_stylis___stylis_0.8.3.tgz"; + path = fetchurl { + name = "_emotion_stylis___stylis_0.8.3.tgz"; + url = "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.3.tgz"; + sha1 = "3ca7e9bcb31b3cb4afbaeb66156d86ee85e23246"; + }; + } + + { + name = "_emotion_unitless___unitless_0.7.3.tgz"; + path = fetchurl { + name = "_emotion_unitless___unitless_0.7.3.tgz"; + url = "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.3.tgz"; + sha1 = "6310a047f12d21a1036fb031317219892440416f"; + }; + } + + { + name = "_emotion_utils___utils_0.11.1.tgz"; + path = fetchurl { + name = "_emotion_utils___utils_0.11.1.tgz"; + url = "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.1.tgz"; + sha1 = "8529b7412a6eb4b48bdf6e720cc1b8e6e1e17628"; + }; + } + + { + name = "_emotion_weak_memoize___weak_memoize_0.2.2.tgz"; + path = fetchurl { + name = "_emotion_weak_memoize___weak_memoize_0.2.2.tgz"; + url = "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.2.tgz"; + sha1 = "63985d3d8b02530e0869962f4da09142ee8e200e"; + }; + } + + { + name = "_gfx_zopfli___zopfli_1.0.10.tgz"; + path = fetchurl { + name = "_gfx_zopfli___zopfli_1.0.10.tgz"; + url = "https://registry.yarnpkg.com/@gfx/zopfli/-/zopfli-1.0.10.tgz"; + sha1 = "8cccfcbd670f676cb240812bcf8380c9a66da367"; + }; + } + + { + name = "_types_node___node_10.12.18.tgz"; + path = fetchurl { + name = "_types_node___node_10.12.18.tgz"; + url = "https://registry.yarnpkg.com/@types/node/-/node-10.12.18.tgz"; + sha1 = "1d3ca764718915584fcd9f6344621b7672665c67"; + }; + } + + { + name = "_types_q___q_1.5.1.tgz"; + path = fetchurl { + name = "_types_q___q_1.5.1.tgz"; + url = "https://registry.yarnpkg.com/@types/q/-/q-1.5.1.tgz"; + sha1 = "48fd98c1561fe718b61733daed46ff115b496e18"; + }; + } + + { + name = "_types_react___react_16.4.6.tgz"; + path = fetchurl { + name = "_types_react___react_16.4.6.tgz"; + url = "https://registry.yarnpkg.com/@types/react/-/react-16.4.6.tgz"; + sha1 = "5024957c6bcef4f02823accf5974faba2e54fada"; + }; + } + + { + name = "_webassemblyjs_ast___ast_1.7.11.tgz"; + path = fetchurl { + name = "_webassemblyjs_ast___ast_1.7.11.tgz"; + url = "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.11.tgz"; + sha1 = "b988582cafbb2b095e8b556526f30c90d057cace"; + }; + } + + { + name = "_webassemblyjs_floating_point_hex_parser___floating_point_hex_parser_1.7.11.tgz"; + path = fetchurl { + name = "_webassemblyjs_floating_point_hex_parser___floating_point_hex_parser_1.7.11.tgz"; + url = "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz"; + sha1 = "a69f0af6502eb9a3c045555b1a6129d3d3f2e313"; + }; + } + + { + name = "_webassemblyjs_helper_api_error___helper_api_error_1.7.11.tgz"; + path = fetchurl { + name = "_webassemblyjs_helper_api_error___helper_api_error_1.7.11.tgz"; + url = "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz"; + sha1 = "c7b6bb8105f84039511a2b39ce494f193818a32a"; + }; + } + + { + name = "_webassemblyjs_helper_buffer___helper_buffer_1.7.11.tgz"; + path = fetchurl { + name = "_webassemblyjs_helper_buffer___helper_buffer_1.7.11.tgz"; + url = "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz"; + sha1 = "3122d48dcc6c9456ed982debe16c8f37101df39b"; + }; + } + + { + name = "_webassemblyjs_helper_code_frame___helper_code_frame_1.7.11.tgz"; + path = fetchurl { + name = "_webassemblyjs_helper_code_frame___helper_code_frame_1.7.11.tgz"; + url = "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz"; + sha1 = "cf8f106e746662a0da29bdef635fcd3d1248364b"; + }; + } + + { + name = "_webassemblyjs_helper_fsm___helper_fsm_1.7.11.tgz"; + path = fetchurl { + name = "_webassemblyjs_helper_fsm___helper_fsm_1.7.11.tgz"; + url = "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz"; + sha1 = "df38882a624080d03f7503f93e3f17ac5ac01181"; + }; + } + + { + name = "_webassemblyjs_helper_module_context___helper_module_context_1.7.11.tgz"; + path = fetchurl { + name = "_webassemblyjs_helper_module_context___helper_module_context_1.7.11.tgz"; + url = "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz"; + sha1 = "d874d722e51e62ac202476935d649c802fa0e209"; + }; + } + + { + name = "_webassemblyjs_helper_wasm_bytecode___helper_wasm_bytecode_1.7.11.tgz"; + path = fetchurl { + name = "_webassemblyjs_helper_wasm_bytecode___helper_wasm_bytecode_1.7.11.tgz"; + url = "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz"; + sha1 = "dd9a1e817f1c2eb105b4cf1013093cb9f3c9cb06"; + }; + } + + { + name = "_webassemblyjs_helper_wasm_section___helper_wasm_section_1.7.11.tgz"; + path = fetchurl { + name = "_webassemblyjs_helper_wasm_section___helper_wasm_section_1.7.11.tgz"; + url = "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz"; + sha1 = "9c9ac41ecf9fbcfffc96f6d2675e2de33811e68a"; + }; + } + + { + name = "_webassemblyjs_ieee754___ieee754_1.7.11.tgz"; + path = fetchurl { + name = "_webassemblyjs_ieee754___ieee754_1.7.11.tgz"; + url = "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz"; + sha1 = "c95839eb63757a31880aaec7b6512d4191ac640b"; + }; + } + + { + name = "_webassemblyjs_leb128___leb128_1.7.11.tgz"; + path = fetchurl { + name = "_webassemblyjs_leb128___leb128_1.7.11.tgz"; + url = "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.7.11.tgz"; + sha1 = "d7267a1ee9c4594fd3f7e37298818ec65687db63"; + }; + } + + { + name = "_webassemblyjs_utf8___utf8_1.7.11.tgz"; + path = fetchurl { + name = "_webassemblyjs_utf8___utf8_1.7.11.tgz"; + url = "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.7.11.tgz"; + sha1 = "06d7218ea9fdc94a6793aa92208160db3d26ee82"; + }; + } + + { + name = "_webassemblyjs_wasm_edit___wasm_edit_1.7.11.tgz"; + path = fetchurl { + name = "_webassemblyjs_wasm_edit___wasm_edit_1.7.11.tgz"; + url = "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz"; + sha1 = "8c74ca474d4f951d01dbae9bd70814ee22a82005"; + }; + } + + { + name = "_webassemblyjs_wasm_gen___wasm_gen_1.7.11.tgz"; + path = fetchurl { + name = "_webassemblyjs_wasm_gen___wasm_gen_1.7.11.tgz"; + url = "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz"; + sha1 = "9bbba942f22375686a6fb759afcd7ac9c45da1a8"; + }; + } + + { + name = "_webassemblyjs_wasm_opt___wasm_opt_1.7.11.tgz"; + path = fetchurl { + name = "_webassemblyjs_wasm_opt___wasm_opt_1.7.11.tgz"; + url = "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz"; + sha1 = "b331e8e7cef8f8e2f007d42c3a36a0580a7d6ca7"; + }; + } + + { + name = "_webassemblyjs_wasm_parser___wasm_parser_1.7.11.tgz"; + path = fetchurl { + name = "_webassemblyjs_wasm_parser___wasm_parser_1.7.11.tgz"; + url = "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz"; + sha1 = "6e3d20fa6a3519f6b084ef9391ad58211efb0a1a"; + }; + } + + { + name = "_webassemblyjs_wast_parser___wast_parser_1.7.11.tgz"; + path = fetchurl { + name = "_webassemblyjs_wast_parser___wast_parser_1.7.11.tgz"; + url = "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz"; + sha1 = "25bd117562ca8c002720ff8116ef9072d9ca869c"; + }; + } + + { + name = "_webassemblyjs_wast_printer___wast_printer_1.7.11.tgz"; + path = fetchurl { + name = "_webassemblyjs_wast_printer___wast_printer_1.7.11.tgz"; + url = "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz"; + sha1 = "c4245b6de242cb50a2cc950174fdbf65c78d7813"; + }; + } + + { + name = "_xtuc_ieee754___ieee754_1.2.0.tgz"; + path = fetchurl { + name = "_xtuc_ieee754___ieee754_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz"; + sha1 = "eef014a3145ae477a1cbc00cd1e552336dceb790"; + }; + } + + { + name = "_xtuc_long___long_4.2.1.tgz"; + path = fetchurl { + name = "_xtuc_long___long_4.2.1.tgz"; + url = "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.1.tgz"; + sha1 = "5c85d662f76fa1d34575766c5dcd6615abcd30d8"; + }; + } + + { + name = "abab___abab_2.0.0.tgz"; + path = fetchurl { + name = "abab___abab_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz"; + sha1 = "aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f"; + }; + } + + { + name = "abbrev___abbrev_1.1.1.tgz"; + path = fetchurl { + name = "abbrev___abbrev_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz"; + sha1 = "f8f2c887ad10bf67f634f005b6987fed3179aac8"; + }; + } + + { + name = "accepts___accepts_1.3.5.tgz"; + path = fetchurl { + name = "accepts___accepts_1.3.5.tgz"; + url = "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz"; + sha1 = "eb777df6011723a3b14e8a72c0805c8e86746bd2"; + }; + } + + { + name = "acorn_dynamic_import___acorn_dynamic_import_3.0.0.tgz"; + path = fetchurl { + name = "acorn_dynamic_import___acorn_dynamic_import_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz"; + sha1 = "901ceee4c7faaef7e07ad2a47e890675da50a278"; + }; + } + + { + name = "acorn_globals___acorn_globals_4.3.0.tgz"; + path = fetchurl { + name = "acorn_globals___acorn_globals_4.3.0.tgz"; + url = "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.0.tgz"; + sha1 = "e3b6f8da3c1552a95ae627571f7dd6923bb54103"; + }; + } + + { + name = "acorn_jsx___acorn_jsx_5.0.1.tgz"; + path = fetchurl { + name = "acorn_jsx___acorn_jsx_5.0.1.tgz"; + url = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz"; + sha1 = "32a064fd925429216a09b141102bfdd185fae40e"; + }; + } + + { + name = "acorn_walk___acorn_walk_6.1.1.tgz"; + path = fetchurl { + name = "acorn_walk___acorn_walk_6.1.1.tgz"; + url = "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz"; + sha1 = "d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913"; + }; + } + + { + name = "acorn___acorn_5.7.3.tgz"; + path = fetchurl { + name = "acorn___acorn_5.7.3.tgz"; + url = "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz"; + sha1 = "67aa231bf8812974b85235a96771eb6bd07ea279"; + }; + } + + { + name = "acorn___acorn_6.0.4.tgz"; + path = fetchurl { + name = "acorn___acorn_6.0.4.tgz"; + url = "https://registry.yarnpkg.com/acorn/-/acorn-6.0.4.tgz"; + sha1 = "77377e7353b72ec5104550aa2d2097a2fd40b754"; + }; + } + + { + name = "ajv_errors___ajv_errors_1.0.1.tgz"; + path = fetchurl { + name = "ajv_errors___ajv_errors_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz"; + sha1 = "f35986aceb91afadec4102fbd85014950cefa64d"; + }; + } + + { + name = "ajv_keywords___ajv_keywords_3.2.0.tgz"; + path = fetchurl { + name = "ajv_keywords___ajv_keywords_3.2.0.tgz"; + url = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz"; + sha1 = "e86b819c602cf8821ad637413698f1dec021847a"; + }; + } + + { + name = "ajv___ajv_6.6.2.tgz"; + path = fetchurl { + name = "ajv___ajv_6.6.2.tgz"; + url = "https://registry.yarnpkg.com/ajv/-/ajv-6.6.2.tgz"; + sha1 = "caceccf474bf3fc3ce3b147443711a24063cc30d"; + }; + } + + { + name = "alphanum_sort___alphanum_sort_1.0.2.tgz"; + path = fetchurl { + name = "alphanum_sort___alphanum_sort_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz"; + sha1 = "97a1119649b211ad33691d9f9f486a8ec9fbe0a3"; + }; + } + + { + name = "ansi_colors___ansi_colors_3.2.3.tgz"; + path = fetchurl { + name = "ansi_colors___ansi_colors_3.2.3.tgz"; + url = "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz"; + sha1 = "57d35b8686e851e2cc04c403f1c00203976a1813"; + }; + } + + { + name = "ansi_escapes___ansi_escapes_3.1.0.tgz"; + path = fetchurl { + name = "ansi_escapes___ansi_escapes_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz"; + sha1 = "f73207bb81207d75fd6c83f125af26eea378ca30"; + }; + } + + { + name = "ansi_html___ansi_html_0.0.7.tgz"; + path = fetchurl { + name = "ansi_html___ansi_html_0.0.7.tgz"; + url = "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz"; + sha1 = "813584021962a9e9e6fd039f940d12f56ca7859e"; + }; + } + + { + name = "ansi_regex___ansi_regex_2.1.1.tgz"; + path = fetchurl { + name = "ansi_regex___ansi_regex_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz"; + sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df"; + }; + } + + { + name = "ansi_regex___ansi_regex_3.0.0.tgz"; + path = fetchurl { + name = "ansi_regex___ansi_regex_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz"; + sha1 = "ed0317c322064f79466c02966bddb605ab37d998"; + }; + } + + { + name = "ansi_regex___ansi_regex_4.0.0.tgz"; + path = fetchurl { + name = "ansi_regex___ansi_regex_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.0.0.tgz"; + sha1 = "70de791edf021404c3fd615aa89118ae0432e5a9"; + }; + } + + { + name = "ansi_styles___ansi_styles_2.2.1.tgz"; + path = fetchurl { + name = "ansi_styles___ansi_styles_2.2.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz"; + sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe"; + }; + } + + { + name = "ansi_styles___ansi_styles_3.2.1.tgz"; + path = fetchurl { + name = "ansi_styles___ansi_styles_3.2.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz"; + sha1 = "41fbb20243e50b12be0f04b8dedbf07520ce841d"; + }; + } + + { + name = "anymatch___anymatch_2.0.0.tgz"; + path = fetchurl { + name = "anymatch___anymatch_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz"; + sha1 = "bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"; + }; + } + + { + name = "append_transform___append_transform_0.4.0.tgz"; + path = fetchurl { + name = "append_transform___append_transform_0.4.0.tgz"; + url = "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz"; + sha1 = "d76ebf8ca94d276e247a36bad44a4b74ab611991"; + }; + } + + { + name = "aproba___aproba_1.2.0.tgz"; + path = fetchurl { + name = "aproba___aproba_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz"; + sha1 = "6802e6264efd18c790a1b0d517f0f2627bf2c94a"; + }; + } + + { + name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz"; + path = fetchurl { + name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz"; + url = "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz"; + sha1 = "4b35c2944f062a8bfcda66410760350fe9ddfc21"; + }; + } + + { + name = "argparse___argparse_1.0.10.tgz"; + path = fetchurl { + name = "argparse___argparse_1.0.10.tgz"; + url = "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz"; + sha1 = "bcd6791ea5ae09725e17e5ad988134cd40b3d911"; + }; + } + + { + name = "aria_query___aria_query_3.0.0.tgz"; + path = fetchurl { + name = "aria_query___aria_query_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz"; + sha1 = "65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc"; + }; + } + + { + name = "arr_diff___arr_diff_2.0.0.tgz"; + path = fetchurl { + name = "arr_diff___arr_diff_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz"; + sha1 = "8f3b827f955a8bd669697e4a4256ac3ceae356cf"; + }; + } + + { + name = "arr_diff___arr_diff_4.0.0.tgz"; + path = fetchurl { + name = "arr_diff___arr_diff_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz"; + sha1 = "d6461074febfec71e7e15235761a329a5dc7c520"; + }; + } + + { + name = "arr_flatten___arr_flatten_1.1.0.tgz"; + path = fetchurl { + name = "arr_flatten___arr_flatten_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz"; + sha1 = "36048bbff4e7b47e136644316c99669ea5ae91f1"; + }; + } + + { + name = "arr_union___arr_union_3.1.0.tgz"; + path = fetchurl { + name = "arr_union___arr_union_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz"; + sha1 = "e39b09aea9def866a8f206e288af63919bae39c4"; + }; + } + + { + name = "array_equal___array_equal_1.0.0.tgz"; + path = fetchurl { + name = "array_equal___array_equal_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz"; + sha1 = "8c2a5ef2472fd9ea742b04c77a75093ba2757c93"; + }; + } + + { + name = "array_flatten___array_flatten_1.1.1.tgz"; + path = fetchurl { + name = "array_flatten___array_flatten_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz"; + sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2"; + }; + } + + { + name = "array_flatten___array_flatten_2.1.2.tgz"; + path = fetchurl { + name = "array_flatten___array_flatten_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz"; + sha1 = "24ef80a28c1a893617e2149b0c6d0d788293b099"; + }; + } + + { + name = "array_includes___array_includes_3.0.3.tgz"; + path = fetchurl { + name = "array_includes___array_includes_3.0.3.tgz"; + url = "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz"; + sha1 = "184b48f62d92d7452bb31b323165c7f8bd02266d"; + }; + } + + { + name = "array_union___array_union_1.0.2.tgz"; + path = fetchurl { + name = "array_union___array_union_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz"; + sha1 = "9a34410e4f4e3da23dea375be5be70f24778ec39"; + }; + } + + { + name = "array_uniq___array_uniq_1.0.3.tgz"; + path = fetchurl { + name = "array_uniq___array_uniq_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz"; + sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6"; + }; + } + + { + name = "array_unique___array_unique_0.2.1.tgz"; + path = fetchurl { + name = "array_unique___array_unique_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz"; + sha1 = "a1d97ccafcbc2625cc70fadceb36a50c58b01a53"; + }; + } + + { + name = "array_unique___array_unique_0.3.2.tgz"; + path = fetchurl { + name = "array_unique___array_unique_0.3.2.tgz"; + url = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz"; + sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"; + }; + } + + { + name = "array.prototype.flat___array.prototype.flat_1.2.1.tgz"; + path = fetchurl { + name = "array.prototype.flat___array.prototype.flat_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz"; + sha1 = "812db8f02cad24d3fab65dd67eabe3b8903494a4"; + }; + } + + { + name = "arrify___arrify_1.0.1.tgz"; + path = fetchurl { + name = "arrify___arrify_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz"; + sha1 = "898508da2226f380df904728456849c1501a4b0d"; + }; + } + + { + name = "asap___asap_2.0.6.tgz"; + path = fetchurl { + name = "asap___asap_2.0.6.tgz"; + url = "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz"; + sha1 = "e50347611d7e690943208bbdafebcbc2fb866d46"; + }; + } + + { + name = "asn1.js___asn1.js_4.10.1.tgz"; + path = fetchurl { + name = "asn1.js___asn1.js_4.10.1.tgz"; + url = "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz"; + sha1 = "b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"; + }; + } + + { + name = "asn1___asn1_0.2.4.tgz"; + path = fetchurl { + name = "asn1___asn1_0.2.4.tgz"; + url = "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz"; + sha1 = "8d2475dfab553bb33e77b54e59e880bb8ce23136"; + }; + } + + { + name = "assert_plus___assert_plus_1.0.0.tgz"; + path = fetchurl { + name = "assert_plus___assert_plus_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz"; + sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"; + }; + } + + { + name = "assert___assert_1.4.1.tgz"; + path = fetchurl { + name = "assert___assert_1.4.1.tgz"; + url = "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz"; + sha1 = "99912d591836b5a6f5b345c0f07eefc08fc65d91"; + }; + } + + { + name = "assign_symbols___assign_symbols_1.0.0.tgz"; + path = fetchurl { + name = "assign_symbols___assign_symbols_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz"; + sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"; + }; + } + + { + name = "ast_types_flow___ast_types_flow_0.0.7.tgz"; + path = fetchurl { + name = "ast_types_flow___ast_types_flow_0.0.7.tgz"; + url = "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz"; + sha1 = "f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"; + }; + } + + { + name = "astral_regex___astral_regex_1.0.0.tgz"; + path = fetchurl { + name = "astral_regex___astral_regex_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz"; + sha1 = "6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"; + }; + } + + { + name = "async_each___async_each_1.0.1.tgz"; + path = fetchurl { + name = "async_each___async_each_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz"; + sha1 = "19d386a1d9edc6e7c1c85d388aedbcc56d33602d"; + }; + } + + { + name = "async_limiter___async_limiter_1.0.0.tgz"; + path = fetchurl { + name = "async_limiter___async_limiter_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz"; + sha1 = "78faed8c3d074ab81f22b4e985d79e8738f720f8"; + }; + } + + { + name = "async___async_1.5.2.tgz"; + path = fetchurl { + name = "async___async_1.5.2.tgz"; + url = "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz"; + sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a"; + }; + } + + { + name = "async___async_2.6.1.tgz"; + path = fetchurl { + name = "async___async_2.6.1.tgz"; + url = "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz"; + sha1 = "b245a23ca71930044ec53fa46aa00a3e87c6a610"; + }; + } + + { + name = "asynckit___asynckit_0.4.0.tgz"; + path = fetchurl { + name = "asynckit___asynckit_0.4.0.tgz"; + url = "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz"; + sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"; + }; + } + + { + name = "atob___atob_2.1.2.tgz"; + path = fetchurl { + name = "atob___atob_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz"; + sha1 = "6d9517eb9e030d2436666651e86bd9f6f13533c9"; + }; + } + + { + name = "autoprefixer___autoprefixer_9.4.3.tgz"; + path = fetchurl { + name = "autoprefixer___autoprefixer_9.4.3.tgz"; + url = "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.4.3.tgz"; + sha1 = "c97384a8fd80477b78049163a91bbc725d9c41d9"; + }; + } + + { + name = "aws_sign2___aws_sign2_0.7.0.tgz"; + path = fetchurl { + name = "aws_sign2___aws_sign2_0.7.0.tgz"; + url = "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz"; + sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"; + }; + } + + { + name = "aws4___aws4_1.8.0.tgz"; + path = fetchurl { + name = "aws4___aws4_1.8.0.tgz"; + url = "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz"; + sha1 = "f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"; + }; + } + + { + name = "axios___axios_0.18.0.tgz"; + path = fetchurl { + name = "axios___axios_0.18.0.tgz"; + url = "https://registry.yarnpkg.com/axios/-/axios-0.18.0.tgz"; + sha1 = "32d53e4851efdc0a11993b6cd000789d70c05102"; + }; + } + + { + name = "axobject_query___axobject_query_2.0.2.tgz"; + path = fetchurl { + name = "axobject_query___axobject_query_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz"; + sha1 = "ea187abe5b9002b377f925d8bf7d1c561adf38f9"; + }; + } + + { + name = "babel_code_frame___babel_code_frame_6.26.0.tgz"; + path = fetchurl { + name = "babel_code_frame___babel_code_frame_6.26.0.tgz"; + url = "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz"; + sha1 = "63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"; + }; + } + + { + name = "babel_core___babel_core_6.26.3.tgz"; + path = fetchurl { + name = "babel_core___babel_core_6.26.3.tgz"; + url = "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz"; + sha1 = "b2e2f09e342d0f0c88e2f02e067794125e75c207"; + }; + } + + { + name = "babel_core___babel_core_7.0.0_bridge.0.tgz"; + path = fetchurl { + name = "babel_core___babel_core_7.0.0_bridge.0.tgz"; + url = "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz"; + sha1 = "95a492ddd90f9b4e9a4a1da14eb335b87b634ece"; + }; + } + + { + name = "babel_eslint___babel_eslint_10.0.1.tgz"; + path = fetchurl { + name = "babel_eslint___babel_eslint_10.0.1.tgz"; + url = "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.1.tgz"; + sha1 = "919681dc099614cd7d31d45c8908695092a1faed"; + }; + } + + { + name = "babel_generator___babel_generator_6.26.1.tgz"; + path = fetchurl { + name = "babel_generator___babel_generator_6.26.1.tgz"; + url = "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz"; + sha1 = "1844408d3b8f0d35a404ea7ac180f087a601bd90"; + }; + } + + { + name = "babel_helpers___babel_helpers_6.24.1.tgz"; + path = fetchurl { + name = "babel_helpers___babel_helpers_6.24.1.tgz"; + url = "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz"; + sha1 = "3471de9caec388e5c850e597e58a26ddf37602b2"; + }; + } + + { + name = "babel_jest___babel_jest_23.6.0.tgz"; + path = fetchurl { + name = "babel_jest___babel_jest_23.6.0.tgz"; + url = "https://registry.yarnpkg.com/babel-jest/-/babel-jest-23.6.0.tgz"; + sha1 = "a644232366557a2240a0c083da6b25786185a2f1"; + }; + } + + { + name = "babel_loader___babel_loader_8.0.4.tgz"; + path = fetchurl { + name = "babel_loader___babel_loader_8.0.4.tgz"; + url = "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.4.tgz"; + sha1 = "7bbf20cbe4560629e2e41534147692d3fecbdce6"; + }; + } + + { + name = "babel_messages___babel_messages_6.23.0.tgz"; + path = fetchurl { + name = "babel_messages___babel_messages_6.23.0.tgz"; + url = "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz"; + sha1 = "f3cdf4703858035b2a2951c6ec5edf6c62f2630e"; + }; + } + + { + name = "babel_plugin_istanbul___babel_plugin_istanbul_4.1.6.tgz"; + path = fetchurl { + name = "babel_plugin_istanbul___babel_plugin_istanbul_4.1.6.tgz"; + url = "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz"; + sha1 = "36c59b2192efce81c5b378321b74175add1c9a45"; + }; + } + + { + name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_23.2.0.tgz"; + path = fetchurl { + name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_23.2.0.tgz"; + url = "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz"; + sha1 = "e61fae05a1ca8801aadee57a6d66b8cefaf44167"; + }; + } + + { + name = "babel_plugin_lodash___babel_plugin_lodash_3.3.4.tgz"; + path = fetchurl { + name = "babel_plugin_lodash___babel_plugin_lodash_3.3.4.tgz"; + url = "https://registry.yarnpkg.com/babel-plugin-lodash/-/babel-plugin-lodash-3.3.4.tgz"; + sha1 = "4f6844358a1340baed182adbeffa8df9967bc196"; + }; + } + + { + name = "babel_plugin_macros___babel_plugin_macros_2.4.3.tgz"; + path = fetchurl { + name = "babel_plugin_macros___babel_plugin_macros_2.4.3.tgz"; + url = "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.4.3.tgz"; + sha1 = "870345aa538d85f04b4614fea5922b55c45dd551"; + }; + } + + { + name = "babel_plugin_preval___babel_plugin_preval_3.0.1.tgz"; + path = fetchurl { + name = "babel_plugin_preval___babel_plugin_preval_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/babel-plugin-preval/-/babel-plugin-preval-3.0.1.tgz"; + sha1 = "a26f9690114a864a54a5cbdf865496ebf541a9c3"; + }; + } + + { + name = "babel_plugin_react_intl___babel_plugin_react_intl_3.0.1.tgz"; + path = fetchurl { + name = "babel_plugin_react_intl___babel_plugin_react_intl_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/babel-plugin-react-intl/-/babel-plugin-react-intl-3.0.1.tgz"; + sha1 = "4abc7fff04a7bbbb7034aec0a675713f2e52181c"; + }; + } + + { + name = "babel_plugin_syntax_object_rest_spread___babel_plugin_syntax_object_rest_spread_6.13.0.tgz"; + path = fetchurl { + name = "babel_plugin_syntax_object_rest_spread___babel_plugin_syntax_object_rest_spread_6.13.0.tgz"; + url = "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz"; + sha1 = "fd6536f2bce13836ffa3a5458c4903a597bb3bf5"; + }; + } + + { + name = "babel_plugin_transform_react_remove_prop_types___babel_plugin_transform_react_remove_prop_types_0.4.21.tgz"; + path = fetchurl { + name = "babel_plugin_transform_react_remove_prop_types___babel_plugin_transform_react_remove_prop_types_0.4.21.tgz"; + url = "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.21.tgz"; + sha1 = "0087938f4348cb751b3e5055a6b38f3c61b5231b"; + }; + } + + { + name = "babel_preset_jest___babel_preset_jest_23.2.0.tgz"; + path = fetchurl { + name = "babel_preset_jest___babel_preset_jest_23.2.0.tgz"; + url = "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz"; + sha1 = "8ec7a03a138f001a1a8fb1e8113652bf1a55da46"; + }; + } + + { + name = "babel_register___babel_register_6.26.0.tgz"; + path = fetchurl { + name = "babel_register___babel_register_6.26.0.tgz"; + url = "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz"; + sha1 = "6ed021173e2fcb486d7acb45c6009a856f647071"; + }; + } + + { + name = "babel_runtime___babel_runtime_6.26.0.tgz"; + path = fetchurl { + name = "babel_runtime___babel_runtime_6.26.0.tgz"; + url = "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz"; + sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe"; + }; + } + + { + name = "babel_template___babel_template_6.26.0.tgz"; + path = fetchurl { + name = "babel_template___babel_template_6.26.0.tgz"; + url = "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz"; + sha1 = "de03e2d16396b069f46dd9fff8521fb1a0e35e02"; + }; + } + + { + name = "babel_traverse___babel_traverse_6.26.0.tgz"; + path = fetchurl { + name = "babel_traverse___babel_traverse_6.26.0.tgz"; + url = "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz"; + sha1 = "46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"; + }; + } + + { + name = "babel_types___babel_types_6.26.0.tgz"; + path = fetchurl { + name = "babel_types___babel_types_6.26.0.tgz"; + url = "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz"; + sha1 = "a3b073f94ab49eb6fa55cd65227a334380632497"; + }; + } + + { + name = "babylon___babylon_6.18.0.tgz"; + path = fetchurl { + name = "babylon___babylon_6.18.0.tgz"; + url = "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz"; + sha1 = "af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"; + }; + } + + { + name = "backoff___backoff_2.5.0.tgz"; + path = fetchurl { + name = "backoff___backoff_2.5.0.tgz"; + url = "https://registry.yarnpkg.com/backoff/-/backoff-2.5.0.tgz"; + sha1 = "f616eda9d3e4b66b8ca7fca79f695722c5f8e26f"; + }; + } + + { + name = "balanced_match___balanced_match_1.0.0.tgz"; + path = fetchurl { + name = "balanced_match___balanced_match_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz"; + sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767"; + }; + } + + { + name = "base64_js___base64_js_1.3.0.tgz"; + path = fetchurl { + name = "base64_js___base64_js_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz"; + sha1 = "cab1e6118f051095e58b5281aea8c1cd22bfc0e3"; + }; + } + + { + name = "base___base_0.11.2.tgz"; + path = fetchurl { + name = "base___base_0.11.2.tgz"; + url = "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz"; + sha1 = "7bde5ced145b6d551a90db87f83c558b4eb48a8f"; + }; + } + + { + name = "batch___batch_0.6.1.tgz"; + path = fetchurl { + name = "batch___batch_0.6.1.tgz"; + url = "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz"; + sha1 = "dc34314f4e679318093fc760272525f94bf25c16"; + }; + } + + { + name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz"; + path = fetchurl { + name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz"; + sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"; + }; + } + + { + name = "bfj___bfj_6.1.1.tgz"; + path = fetchurl { + name = "bfj___bfj_6.1.1.tgz"; + url = "https://registry.yarnpkg.com/bfj/-/bfj-6.1.1.tgz"; + sha1 = "05a3b7784fbd72cfa3c22e56002ef99336516c48"; + }; + } + + { + name = "big.js___big.js_3.2.0.tgz"; + path = fetchurl { + name = "big.js___big.js_3.2.0.tgz"; + url = "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz"; + sha1 = "a5fc298b81b9e0dca2e458824784b65c52ba588e"; + }; + } + + { + name = "big.js___big.js_5.2.2.tgz"; + path = fetchurl { + name = "big.js___big.js_5.2.2.tgz"; + url = "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz"; + sha1 = "65f0af382f578bcdc742bd9c281e9cb2d7768328"; + }; + } + + { + name = "binary_extensions___binary_extensions_1.12.0.tgz"; + path = fetchurl { + name = "binary_extensions___binary_extensions_1.12.0.tgz"; + url = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.12.0.tgz"; + sha1 = "c2d780f53d45bba8317a8902d4ceeaf3a6385b14"; + }; + } + + { + name = "bluebird___bluebird_3.5.3.tgz"; + path = fetchurl { + name = "bluebird___bluebird_3.5.3.tgz"; + url = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz"; + sha1 = "7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7"; + }; + } + + { + name = "bn.js___bn.js_4.11.8.tgz"; + path = fetchurl { + name = "bn.js___bn.js_4.11.8.tgz"; + url = "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz"; + sha1 = "2cde09eb5ee341f484746bb0309b3253b1b1442f"; + }; + } + + { + name = "body_parser___body_parser_1.18.3.tgz"; + path = fetchurl { + name = "body_parser___body_parser_1.18.3.tgz"; + url = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz"; + sha1 = "5b292198ffdd553b3a0f20ded0592b956955c8b4"; + }; + } + + { + name = "bonjour___bonjour_3.5.0.tgz"; + path = fetchurl { + name = "bonjour___bonjour_3.5.0.tgz"; + url = "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz"; + sha1 = "8e890a183d8ee9a2393b3844c691a42bcf7bc9f5"; + }; + } + + { + name = "boolbase___boolbase_1.0.0.tgz"; + path = fetchurl { + name = "boolbase___boolbase_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz"; + sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"; + }; + } + + { + name = "brace_expansion___brace_expansion_1.1.11.tgz"; + path = fetchurl { + name = "brace_expansion___brace_expansion_1.1.11.tgz"; + url = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz"; + sha1 = "3c7fcbf529d87226f3d2f52b966ff5271eb441dd"; + }; + } + + { + name = "braces___braces_1.8.5.tgz"; + path = fetchurl { + name = "braces___braces_1.8.5.tgz"; + url = "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz"; + sha1 = "ba77962e12dff969d6b76711e914b737857bf6a7"; + }; + } + + { + name = "braces___braces_2.3.2.tgz"; + path = fetchurl { + name = "braces___braces_2.3.2.tgz"; + url = "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz"; + sha1 = "5979fd3f14cd531565e5fa2df1abfff1dfaee729"; + }; + } + + { + name = "bricks.js___bricks.js_1.8.0.tgz"; + path = fetchurl { + name = "bricks.js___bricks.js_1.8.0.tgz"; + url = "https://registry.yarnpkg.com/bricks.js/-/bricks.js-1.8.0.tgz"; + sha1 = "8fdeb3c0226af251f4d5727a7df7f9ac0092b4b2"; + }; + } + + { + name = "brorand___brorand_1.1.0.tgz"; + path = fetchurl { + name = "brorand___brorand_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz"; + sha1 = "12c25efe40a45e3c323eb8675a0a0ce57b22371f"; + }; + } + + { + name = "browser_process_hrtime___browser_process_hrtime_0.1.3.tgz"; + path = fetchurl { + name = "browser_process_hrtime___browser_process_hrtime_0.1.3.tgz"; + url = "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz"; + sha1 = "616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4"; + }; + } + + { + name = "browser_resolve___browser_resolve_1.11.3.tgz"; + path = fetchurl { + name = "browser_resolve___browser_resolve_1.11.3.tgz"; + url = "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz"; + sha1 = "9b7cbb3d0f510e4cb86bdbd796124d28b5890af6"; + }; + } + + { + name = "browserify_aes___browserify_aes_1.2.0.tgz"; + path = fetchurl { + name = "browserify_aes___browserify_aes_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz"; + sha1 = "326734642f403dabc3003209853bb70ad428ef48"; + }; + } + + { + name = "browserify_cipher___browserify_cipher_1.0.1.tgz"; + path = fetchurl { + name = "browserify_cipher___browserify_cipher_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz"; + sha1 = "8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"; + }; + } + + { + name = "browserify_des___browserify_des_1.0.2.tgz"; + path = fetchurl { + name = "browserify_des___browserify_des_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz"; + sha1 = "3af4f1f59839403572f1c66204375f7a7f703e9c"; + }; + } + + { + name = "browserify_rsa___browserify_rsa_4.0.1.tgz"; + path = fetchurl { + name = "browserify_rsa___browserify_rsa_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz"; + sha1 = "21e0abfaf6f2029cf2fafb133567a701d4135524"; + }; + } + + { + name = "browserify_sign___browserify_sign_4.0.4.tgz"; + path = fetchurl { + name = "browserify_sign___browserify_sign_4.0.4.tgz"; + url = "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz"; + sha1 = "aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"; + }; + } + + { + name = "browserify_zlib___browserify_zlib_0.2.0.tgz"; + path = fetchurl { + name = "browserify_zlib___browserify_zlib_0.2.0.tgz"; + url = "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz"; + sha1 = "2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"; + }; + } + + { + name = "browserslist___browserslist_4.3.7.tgz"; + path = fetchurl { + name = "browserslist___browserslist_4.3.7.tgz"; + url = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.3.7.tgz"; + sha1 = "f1de479a6466ea47a0a26dcc725e7504817e624a"; + }; + } + + { + name = "bser___bser_2.0.0.tgz"; + path = fetchurl { + name = "bser___bser_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz"; + sha1 = "9ac78d3ed5d915804fd87acb158bc797147a1719"; + }; + } + + { + name = "buffer_from___buffer_from_1.1.1.tgz"; + path = fetchurl { + name = "buffer_from___buffer_from_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz"; + sha1 = "32713bc028f75c02fdb710d7c7bcec1f2c6070ef"; + }; + } + + { + name = "buffer_indexof___buffer_indexof_1.1.1.tgz"; + path = fetchurl { + name = "buffer_indexof___buffer_indexof_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz"; + sha1 = "52fabcc6a606d1a00302802648ef68f639da268c"; + }; + } + + { + name = "buffer_writer___buffer_writer_1.0.1.tgz"; + path = fetchurl { + name = "buffer_writer___buffer_writer_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-1.0.1.tgz"; + sha1 = "22a936901e3029afcd7547eb4487ceb697a3bf08"; + }; + } + + { + name = "buffer_xor___buffer_xor_1.0.3.tgz"; + path = fetchurl { + name = "buffer_xor___buffer_xor_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz"; + sha1 = "26e61ed1422fb70dd42e6e36729ed51d855fe8d9"; + }; + } + + { + name = "buffer___buffer_4.9.1.tgz"; + path = fetchurl { + name = "buffer___buffer_4.9.1.tgz"; + url = "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz"; + sha1 = "6d1bb601b07a4efced97094132093027c95bc298"; + }; + } + + { + name = "builtin_modules___builtin_modules_1.1.1.tgz"; + path = fetchurl { + name = "builtin_modules___builtin_modules_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz"; + sha1 = "270f076c5a72c02f5b65a47df94c5fe3a278892f"; + }; + } + + { + name = "builtin_status_codes___builtin_status_codes_3.0.0.tgz"; + path = fetchurl { + name = "builtin_status_codes___builtin_status_codes_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz"; + sha1 = "85982878e21b98e1c66425e03d0174788f569ee8"; + }; + } + + { + name = "bytes___bytes_3.0.0.tgz"; + path = fetchurl { + name = "bytes___bytes_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz"; + sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048"; + }; + } + + { + name = "cacache___cacache_11.3.2.tgz"; + path = fetchurl { + name = "cacache___cacache_11.3.2.tgz"; + url = "https://registry.yarnpkg.com/cacache/-/cacache-11.3.2.tgz"; + sha1 = "2d81e308e3d258ca38125b676b98b2ac9ce69bfa"; + }; + } + + { + name = "cache_base___cache_base_1.0.1.tgz"; + path = fetchurl { + name = "cache_base___cache_base_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz"; + sha1 = "0a7f46416831c8b662ee36fe4e7c59d76f666ab2"; + }; + } + + { + name = "caller_callsite___caller_callsite_2.0.0.tgz"; + path = fetchurl { + name = "caller_callsite___caller_callsite_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz"; + sha1 = "847e0fce0a223750a9a027c54b33731ad3154134"; + }; + } + + { + name = "caller_path___caller_path_0.1.0.tgz"; + path = fetchurl { + name = "caller_path___caller_path_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz"; + sha1 = "94085ef63581ecd3daa92444a8fe94e82577751f"; + }; + } + + { + name = "caller_path___caller_path_2.0.0.tgz"; + path = fetchurl { + name = "caller_path___caller_path_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz"; + sha1 = "468f83044e369ab2010fac5f06ceee15bb2cb1f4"; + }; + } + + { + name = "callsites___callsites_0.2.0.tgz"; + path = fetchurl { + name = "callsites___callsites_0.2.0.tgz"; + url = "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz"; + sha1 = "afab96262910a7f33c19a5775825c69f34e350ca"; + }; + } + + { + name = "callsites___callsites_2.0.0.tgz"; + path = fetchurl { + name = "callsites___callsites_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz"; + sha1 = "06eb84f00eea413da86affefacbffb36093b3c50"; + }; + } + + { + name = "camelcase___camelcase_4.1.0.tgz"; + path = fetchurl { + name = "camelcase___camelcase_4.1.0.tgz"; + url = "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz"; + sha1 = "d545635be1e33c542649c69173e5de6acfae34dd"; + }; + } + + { + name = "camelcase___camelcase_5.0.0.tgz"; + path = fetchurl { + name = "camelcase___camelcase_5.0.0.tgz"; + url = "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz"; + sha1 = "03295527d58bd3cd4aa75363f35b2e8d97be2f42"; + }; + } + + { + name = "caniuse_api___caniuse_api_3.0.0.tgz"; + path = fetchurl { + name = "caniuse_api___caniuse_api_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz"; + sha1 = "5e4d90e2274961d46291997df599e3ed008ee4c0"; + }; + } + + { + name = "caniuse_lite___caniuse_lite_1.0.30000926.tgz"; + path = fetchurl { + name = "caniuse_lite___caniuse_lite_1.0.30000926.tgz"; + url = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000926.tgz"; + sha1 = "4361a99d818ca6e521dbe89a732de62a194a789c"; + }; + } + + { + name = "capture_exit___capture_exit_1.2.0.tgz"; + path = fetchurl { + name = "capture_exit___capture_exit_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.2.0.tgz"; + sha1 = "1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f"; + }; + } + + { + name = "caseless___caseless_0.12.0.tgz"; + path = fetchurl { + name = "caseless___caseless_0.12.0.tgz"; + url = "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz"; + sha1 = "1b681c21ff84033c826543090689420d187151dc"; + }; + } + + { + name = "chalk___chalk_1.1.3.tgz"; + path = fetchurl { + name = "chalk___chalk_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz"; + sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98"; + }; + } + + { + name = "chalk___chalk_2.4.1.tgz"; + path = fetchurl { + name = "chalk___chalk_2.4.1.tgz"; + url = "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz"; + sha1 = "18c49ab16a037b6eb0152cc83e3471338215b66e"; + }; + } + + { + name = "chardet___chardet_0.7.0.tgz"; + path = fetchurl { + name = "chardet___chardet_0.7.0.tgz"; + url = "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz"; + sha1 = "90094849f0937f2eedc2425d0d28a9e5f0cbad9e"; + }; + } + + { + name = "check_types___check_types_7.4.0.tgz"; + path = fetchurl { + name = "check_types___check_types_7.4.0.tgz"; + url = "https://registry.yarnpkg.com/check-types/-/check-types-7.4.0.tgz"; + sha1 = "0378ec1b9616ec71f774931a3c6516fad8c152f4"; + }; + } + + { + name = "cheerio___cheerio_1.0.0_rc.2.tgz"; + path = fetchurl { + name = "cheerio___cheerio_1.0.0_rc.2.tgz"; + url = "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.2.tgz"; + sha1 = "4b9f53a81b27e4d5dac31c0ffd0cfa03cc6830db"; + }; + } + + { + name = "chokidar___chokidar_2.0.4.tgz"; + path = fetchurl { + name = "chokidar___chokidar_2.0.4.tgz"; + url = "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz"; + sha1 = "356ff4e2b0e8e43e322d18a372460bbcf3accd26"; + }; + } + + { + name = "chownr___chownr_1.1.1.tgz"; + path = fetchurl { + name = "chownr___chownr_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz"; + sha1 = "54726b8b8fff4df053c42187e801fb4412df1494"; + }; + } + + { + name = "chrome_trace_event___chrome_trace_event_1.0.0.tgz"; + path = fetchurl { + name = "chrome_trace_event___chrome_trace_event_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz"; + sha1 = "45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48"; + }; + } + + { + name = "ci_info___ci_info_1.6.0.tgz"; + path = fetchurl { + name = "ci_info___ci_info_1.6.0.tgz"; + url = "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz"; + sha1 = "2ca20dbb9ceb32d4524a683303313f0304b1e497"; + }; + } + + { + name = "cipher_base___cipher_base_1.0.4.tgz"; + path = fetchurl { + name = "cipher_base___cipher_base_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz"; + sha1 = "8760e4ecc272f4c363532f926d874aae2c1397de"; + }; + } + + { + name = "circular_json___circular_json_0.3.3.tgz"; + path = fetchurl { + name = "circular_json___circular_json_0.3.3.tgz"; + url = "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz"; + sha1 = "815c99ea84f6809529d2f45791bdf82711352d66"; + }; + } + + { + name = "class_utils___class_utils_0.3.6.tgz"; + path = fetchurl { + name = "class_utils___class_utils_0.3.6.tgz"; + url = "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz"; + sha1 = "f93369ae8b9a7ce02fd41faad0ca83033190c463"; + }; + } + + { + name = "classnames___classnames_2.2.6.tgz"; + path = fetchurl { + name = "classnames___classnames_2.2.6.tgz"; + url = "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz"; + sha1 = "43935bffdd291f326dad0a205309b38d00f650ce"; + }; + } + + { + name = "cli_cursor___cli_cursor_2.1.0.tgz"; + path = fetchurl { + name = "cli_cursor___cli_cursor_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz"; + sha1 = "b35dac376479facc3e94747d41d0d0f5238ffcb5"; + }; + } + + { + name = "cli_width___cli_width_2.2.0.tgz"; + path = fetchurl { + name = "cli_width___cli_width_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz"; + sha1 = "ff19ede8a9a5e579324147b0c11f0fbcbabed639"; + }; + } + + { + name = "cliui___cliui_3.2.0.tgz"; + path = fetchurl { + name = "cliui___cliui_3.2.0.tgz"; + url = "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz"; + sha1 = "120601537a916d29940f934da3b48d585a39213d"; + }; + } + + { + name = "cliui___cliui_4.1.0.tgz"; + path = fetchurl { + name = "cliui___cliui_4.1.0.tgz"; + url = "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz"; + sha1 = "348422dbe82d800b3022eef4f6ac10bf2e4d1b49"; + }; + } + + { + name = "clone_deep___clone_deep_2.0.2.tgz"; + path = fetchurl { + name = "clone_deep___clone_deep_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/clone-deep/-/clone-deep-2.0.2.tgz"; + sha1 = "00db3a1e173656730d1188c3d6aced6d7ea97713"; + }; + } + + { + name = "co___co_4.6.0.tgz"; + path = fetchurl { + name = "co___co_4.6.0.tgz"; + url = "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz"; + sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"; + }; + } + + { + name = "coa___coa_2.0.2.tgz"; + path = fetchurl { + name = "coa___coa_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz"; + sha1 = "43f6c21151b4ef2bf57187db0d73de229e3e7ec3"; + }; + } + + { + name = "code_point_at___code_point_at_1.1.0.tgz"; + path = fetchurl { + name = "code_point_at___code_point_at_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz"; + sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"; + }; + } + + { + name = "collection_visit___collection_visit_1.0.0.tgz"; + path = fetchurl { + name = "collection_visit___collection_visit_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz"; + sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0"; + }; + } + + { + name = "color_convert___color_convert_1.9.3.tgz"; + path = fetchurl { + name = "color_convert___color_convert_1.9.3.tgz"; + url = "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz"; + sha1 = "bb71850690e1f136567de629d2d5471deda4c1e8"; + }; + } + + { + name = "color_name___color_name_1.1.3.tgz"; + path = fetchurl { + name = "color_name___color_name_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz"; + sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25"; + }; + } + + { + name = "color_name___color_name_1.1.4.tgz"; + path = fetchurl { + name = "color_name___color_name_1.1.4.tgz"; + url = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz"; + sha1 = "c2a09a87acbde69543de6f63fa3995c826c536a2"; + }; + } + + { + name = "color_string___color_string_1.5.3.tgz"; + path = fetchurl { + name = "color_string___color_string_1.5.3.tgz"; + url = "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz"; + sha1 = "c9bbc5f01b58b5492f3d6857459cb6590ce204cc"; + }; + } + + { + name = "color___color_3.1.0.tgz"; + path = fetchurl { + name = "color___color_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/color/-/color-3.1.0.tgz"; + sha1 = "d8e9fb096732875774c84bf922815df0308d0ffc"; + }; + } + + { + name = "colors___colors_1.1.2.tgz"; + path = fetchurl { + name = "colors___colors_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz"; + sha1 = "168a4701756b6a7f51a12ce0c97bfa28c084ed63"; + }; + } + + { + name = "combined_stream___combined_stream_1.0.7.tgz"; + path = fetchurl { + name = "combined_stream___combined_stream_1.0.7.tgz"; + url = "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz"; + sha1 = "2d1d24317afb8abe95d6d2c0b07b57813539d828"; + }; + } + + { + name = "commander___commander_2.19.0.tgz"; + path = fetchurl { + name = "commander___commander_2.19.0.tgz"; + url = "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz"; + sha1 = "f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"; + }; + } + + { + name = "commander___commander_2.17.1.tgz"; + path = fetchurl { + name = "commander___commander_2.17.1.tgz"; + url = "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz"; + sha1 = "bd77ab7de6de94205ceacc72f1716d29f20a77bf"; + }; + } + + { + name = "commondir___commondir_1.0.1.tgz"; + path = fetchurl { + name = "commondir___commondir_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz"; + sha1 = "ddd800da0c66127393cca5950ea968a3aaf1253b"; + }; + } + + { + name = "component_emitter___component_emitter_1.2.1.tgz"; + path = fetchurl { + name = "component_emitter___component_emitter_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz"; + sha1 = "137918d6d78283f7df7a6b7c5a63e140e69425e6"; + }; + } + + { + name = "compressible___compressible_2.0.15.tgz"; + path = fetchurl { + name = "compressible___compressible_2.0.15.tgz"; + url = "https://registry.yarnpkg.com/compressible/-/compressible-2.0.15.tgz"; + sha1 = "857a9ab0a7e5a07d8d837ed43fe2defff64fe212"; + }; + } + + { + name = "compression_webpack_plugin___compression_webpack_plugin_2.0.0.tgz"; + path = fetchurl { + name = "compression_webpack_plugin___compression_webpack_plugin_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-2.0.0.tgz"; + sha1 = "46476350c1eb27f783dccc79ac2f709baa2cffbc"; + }; + } + + { + name = "compression___compression_1.7.3.tgz"; + path = fetchurl { + name = "compression___compression_1.7.3.tgz"; + url = "https://registry.yarnpkg.com/compression/-/compression-1.7.3.tgz"; + sha1 = "27e0e176aaf260f7f2c2813c3e440adb9f1993db"; + }; + } + + { + name = "concat_map___concat_map_0.0.1.tgz"; + path = fetchurl { + name = "concat_map___concat_map_0.0.1.tgz"; + url = "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz"; + sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b"; + }; + } + + { + name = "concat_stream___concat_stream_1.6.2.tgz"; + path = fetchurl { + name = "concat_stream___concat_stream_1.6.2.tgz"; + url = "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz"; + sha1 = "904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"; + }; + } + + { + name = "connect_history_api_fallback___connect_history_api_fallback_1.5.0.tgz"; + path = fetchurl { + name = "connect_history_api_fallback___connect_history_api_fallback_1.5.0.tgz"; + url = "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz"; + sha1 = "b06873934bc5e344fef611a196a6faae0aee015a"; + }; + } + + { + name = "console_browserify___console_browserify_1.1.0.tgz"; + path = fetchurl { + name = "console_browserify___console_browserify_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz"; + sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10"; + }; + } + + { + name = "console_control_strings___console_control_strings_1.1.0.tgz"; + path = fetchurl { + name = "console_control_strings___console_control_strings_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz"; + sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e"; + }; + } + + { + name = "constants_browserify___constants_browserify_1.0.0.tgz"; + path = fetchurl { + name = "constants_browserify___constants_browserify_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz"; + sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75"; + }; + } + + { + name = "contains_path___contains_path_0.1.0.tgz"; + path = fetchurl { + name = "contains_path___contains_path_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz"; + sha1 = "fe8cf184ff6670b6baef01a9d4861a5cbec4120a"; + }; + } + + { + name = "content_disposition___content_disposition_0.5.2.tgz"; + path = fetchurl { + name = "content_disposition___content_disposition_0.5.2.tgz"; + url = "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz"; + sha1 = "0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"; + }; + } + + { + name = "content_type___content_type_1.0.4.tgz"; + path = fetchurl { + name = "content_type___content_type_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz"; + sha1 = "e138cc75e040c727b1966fe5e5f8c9aee256fe3b"; + }; + } + + { + name = "convert_source_map___convert_source_map_1.6.0.tgz"; + path = fetchurl { + name = "convert_source_map___convert_source_map_1.6.0.tgz"; + url = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz"; + sha1 = "51b537a8c43e0f04dec1993bffcdd504e758ac20"; + }; + } + + { + name = "cookie_signature___cookie_signature_1.0.6.tgz"; + path = fetchurl { + name = "cookie_signature___cookie_signature_1.0.6.tgz"; + url = "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz"; + sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c"; + }; + } + + { + name = "cookie___cookie_0.3.1.tgz"; + path = fetchurl { + name = "cookie___cookie_0.3.1.tgz"; + url = "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz"; + sha1 = "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"; + }; + } + + { + name = "copy_concurrently___copy_concurrently_1.0.5.tgz"; + path = fetchurl { + name = "copy_concurrently___copy_concurrently_1.0.5.tgz"; + url = "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz"; + sha1 = "92297398cae34937fcafd6ec8139c18051f0b5e0"; + }; + } + + { + name = "copy_descriptor___copy_descriptor_0.1.1.tgz"; + path = fetchurl { + name = "copy_descriptor___copy_descriptor_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz"; + sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d"; + }; + } + + { + name = "core_js___core_js_1.2.7.tgz"; + path = fetchurl { + name = "core_js___core_js_1.2.7.tgz"; + url = "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz"; + sha1 = "652294c14651db28fa93bd2d5ff2983a4f08c636"; + }; + } + + { + name = "core_js___core_js_2.6.1.tgz"; + path = fetchurl { + name = "core_js___core_js_2.6.1.tgz"; + url = "https://registry.yarnpkg.com/core-js/-/core-js-2.6.1.tgz"; + sha1 = "87416ae817de957a3f249b3b5ca475d4aaed6042"; + }; + } + + { + name = "core_util_is___core_util_is_1.0.2.tgz"; + path = fetchurl { + name = "core_util_is___core_util_is_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz"; + sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7"; + }; + } + + { + name = "cosmiconfig___cosmiconfig_4.0.0.tgz"; + path = fetchurl { + name = "cosmiconfig___cosmiconfig_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-4.0.0.tgz"; + sha1 = "760391549580bbd2df1e562bc177b13c290972dc"; + }; + } + + { + name = "cosmiconfig___cosmiconfig_5.0.7.tgz"; + path = fetchurl { + name = "cosmiconfig___cosmiconfig_5.0.7.tgz"; + url = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.7.tgz"; + sha1 = "39826b292ee0d78eda137dfa3173bd1c21a43b04"; + }; + } + + { + name = "create_ecdh___create_ecdh_4.0.3.tgz"; + path = fetchurl { + name = "create_ecdh___create_ecdh_4.0.3.tgz"; + url = "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz"; + sha1 = "c9111b6f33045c4697f144787f9254cdc77c45ff"; + }; + } + + { + name = "create_emotion___create_emotion_10.0.5.tgz"; + path = fetchurl { + name = "create_emotion___create_emotion_10.0.5.tgz"; + url = "https://registry.yarnpkg.com/create-emotion/-/create-emotion-10.0.5.tgz"; + sha1 = "22487f19b59a7ed10144f808289eadffebcfab06"; + }; + } + + { + name = "create_hash___create_hash_1.2.0.tgz"; + path = fetchurl { + name = "create_hash___create_hash_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz"; + sha1 = "889078af11a63756bcfb59bd221996be3a9ef196"; + }; + } + + { + name = "create_hmac___create_hmac_1.1.7.tgz"; + path = fetchurl { + name = "create_hmac___create_hmac_1.1.7.tgz"; + url = "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz"; + sha1 = "69170c78b3ab957147b2b8b04572e47ead2243ff"; + }; + } + + { + name = "cross_env___cross_env_5.2.0.tgz"; + path = fetchurl { + name = "cross_env___cross_env_5.2.0.tgz"; + url = "https://registry.yarnpkg.com/cross-env/-/cross-env-5.2.0.tgz"; + sha1 = "6ecd4c015d5773e614039ee529076669b9d126f2"; + }; + } + + { + name = "cross_spawn___cross_spawn_5.1.0.tgz"; + path = fetchurl { + name = "cross_spawn___cross_spawn_5.1.0.tgz"; + url = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz"; + sha1 = "e8bd0efee58fcff6f8f94510a0a554bbfa235449"; + }; + } + + { + name = "cross_spawn___cross_spawn_6.0.5.tgz"; + path = fetchurl { + name = "cross_spawn___cross_spawn_6.0.5.tgz"; + url = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz"; + sha1 = "4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"; + }; + } + + { + name = "crypto_browserify___crypto_browserify_3.12.0.tgz"; + path = fetchurl { + name = "crypto_browserify___crypto_browserify_3.12.0.tgz"; + url = "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz"; + sha1 = "396cf9f3137f03e4b8e532c58f698254e00f80ec"; + }; + } + + { + name = "css_color_names___css_color_names_0.0.4.tgz"; + path = fetchurl { + name = "css_color_names___css_color_names_0.0.4.tgz"; + url = "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz"; + sha1 = "808adc2e79cf84738069b646cb20ec27beb629e0"; + }; + } + + { + name = "css_declaration_sorter___css_declaration_sorter_4.0.1.tgz"; + path = fetchurl { + name = "css_declaration_sorter___css_declaration_sorter_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz"; + sha1 = "c198940f63a76d7e36c1e71018b001721054cb22"; + }; + } + + { + name = "css_font_size_keywords___css_font_size_keywords_1.0.0.tgz"; + path = fetchurl { + name = "css_font_size_keywords___css_font_size_keywords_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/css-font-size-keywords/-/css-font-size-keywords-1.0.0.tgz"; + sha1 = "854875ace9aca6a8d2ee0d345a44aae9bb6db6cb"; + }; + } + + { + name = "css_font_stretch_keywords___css_font_stretch_keywords_1.0.1.tgz"; + path = fetchurl { + name = "css_font_stretch_keywords___css_font_stretch_keywords_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/css-font-stretch-keywords/-/css-font-stretch-keywords-1.0.1.tgz"; + sha1 = "50cee9b9ba031fb5c952d4723139f1e107b54b10"; + }; + } + + { + name = "css_font_style_keywords___css_font_style_keywords_1.0.1.tgz"; + path = fetchurl { + name = "css_font_style_keywords___css_font_style_keywords_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/css-font-style-keywords/-/css-font-style-keywords-1.0.1.tgz"; + sha1 = "5c3532813f63b4a1de954d13cea86ab4333409e4"; + }; + } + + { + name = "css_font_weight_keywords___css_font_weight_keywords_1.0.0.tgz"; + path = fetchurl { + name = "css_font_weight_keywords___css_font_weight_keywords_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/css-font-weight-keywords/-/css-font-weight-keywords-1.0.0.tgz"; + sha1 = "9bc04671ac85bc724b574ef5d3ac96b0d604fd97"; + }; + } + + { + name = "css_global_keywords___css_global_keywords_1.0.1.tgz"; + path = fetchurl { + name = "css_global_keywords___css_global_keywords_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/css-global-keywords/-/css-global-keywords-1.0.1.tgz"; + sha1 = "72a9aea72796d019b1d2a3252de4e5aaa37e4a69"; + }; + } + + { + name = "css_list_helpers___css_list_helpers_1.0.1.tgz"; + path = fetchurl { + name = "css_list_helpers___css_list_helpers_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/css-list-helpers/-/css-list-helpers-1.0.1.tgz"; + sha1 = "fff57192202db83240c41686f919e449a7024f7d"; + }; + } + + { + name = "css_loader___css_loader_2.1.0.tgz"; + path = fetchurl { + name = "css_loader___css_loader_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/css-loader/-/css-loader-2.1.0.tgz"; + sha1 = "42952ac22bca5d076978638e9813abce49b8f0cc"; + }; + } + + { + name = "css_select_base_adapter___css_select_base_adapter_0.1.1.tgz"; + path = fetchurl { + name = "css_select_base_adapter___css_select_base_adapter_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz"; + sha1 = "3b2ff4972cc362ab88561507a95408a1432135d7"; + }; + } + + { + name = "css_select___css_select_2.0.2.tgz"; + path = fetchurl { + name = "css_select___css_select_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/css-select/-/css-select-2.0.2.tgz"; + sha1 = "ab4386cec9e1f668855564b17c3733b43b2a5ede"; + }; + } + + { + name = "css_select___css_select_1.2.0.tgz"; + path = fetchurl { + name = "css_select___css_select_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz"; + sha1 = "2b3a110539c5355f1cd8d314623e870b121ec858"; + }; + } + + { + name = "css_selector_tokenizer___css_selector_tokenizer_0.7.1.tgz"; + path = fetchurl { + name = "css_selector_tokenizer___css_selector_tokenizer_0.7.1.tgz"; + url = "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz"; + sha1 = "a177271a8bca5019172f4f891fc6eed9cbf68d5d"; + }; + } + + { + name = "css_system_font_keywords___css_system_font_keywords_1.0.0.tgz"; + path = fetchurl { + name = "css_system_font_keywords___css_system_font_keywords_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz"; + sha1 = "85c6f086aba4eb32c571a3086affc434b84823ed"; + }; + } + + { + name = "css_tree___css_tree_1.0.0_alpha.28.tgz"; + path = fetchurl { + name = "css_tree___css_tree_1.0.0_alpha.28.tgz"; + url = "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.28.tgz"; + sha1 = "8e8968190d886c9477bc8d61e96f61af3f7ffa7f"; + }; + } + + { + name = "css_tree___css_tree_1.0.0_alpha.29.tgz"; + path = fetchurl { + name = "css_tree___css_tree_1.0.0_alpha.29.tgz"; + url = "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz"; + sha1 = "3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39"; + }; + } + + { + name = "css_unit_converter___css_unit_converter_1.1.1.tgz"; + path = fetchurl { + name = "css_unit_converter___css_unit_converter_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz"; + sha1 = "d9b9281adcfd8ced935bdbaba83786897f64e996"; + }; + } + + { + name = "css_url_regex___css_url_regex_1.1.0.tgz"; + path = fetchurl { + name = "css_url_regex___css_url_regex_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/css-url-regex/-/css-url-regex-1.1.0.tgz"; + sha1 = "83834230cc9f74c457de59eebd1543feeb83b7ec"; + }; + } + + { + name = "css_what___css_what_2.1.2.tgz"; + path = fetchurl { + name = "css_what___css_what_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/css-what/-/css-what-2.1.2.tgz"; + sha1 = "c0876d9d0480927d7d4920dcd72af3595649554d"; + }; + } + + { + name = "cssesc___cssesc_0.1.0.tgz"; + path = fetchurl { + name = "cssesc___cssesc_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz"; + sha1 = "c814903e45623371a0477b40109aaafbeeaddbb4"; + }; + } + + { + name = "cssesc___cssesc_2.0.0.tgz"; + path = fetchurl { + name = "cssesc___cssesc_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz"; + sha1 = "3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703"; + }; + } + + { + name = "cssnano_preset_default___cssnano_preset_default_4.0.6.tgz"; + path = fetchurl { + name = "cssnano_preset_default___cssnano_preset_default_4.0.6.tgz"; + url = "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.6.tgz"; + sha1 = "92379e2a6db4a91c0ea727f5f556eeac693eab6a"; + }; + } + + { + name = "cssnano_util_get_arguments___cssnano_util_get_arguments_4.0.0.tgz"; + path = fetchurl { + name = "cssnano_util_get_arguments___cssnano_util_get_arguments_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz"; + sha1 = "ed3a08299f21d75741b20f3b81f194ed49cc150f"; + }; + } + + { + name = "cssnano_util_get_match___cssnano_util_get_match_4.0.0.tgz"; + path = fetchurl { + name = "cssnano_util_get_match___cssnano_util_get_match_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz"; + sha1 = "c0e4ca07f5386bb17ec5e52250b4f5961365156d"; + }; + } + + { + name = "cssnano_util_raw_cache___cssnano_util_raw_cache_4.0.1.tgz"; + path = fetchurl { + name = "cssnano_util_raw_cache___cssnano_util_raw_cache_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz"; + sha1 = "b26d5fd5f72a11dfe7a7846fb4c67260f96bf282"; + }; + } + + { + name = "cssnano_util_same_parent___cssnano_util_same_parent_4.0.1.tgz"; + path = fetchurl { + name = "cssnano_util_same_parent___cssnano_util_same_parent_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz"; + sha1 = "574082fb2859d2db433855835d9a8456ea18bbf3"; + }; + } + + { + name = "cssnano___cssnano_4.1.8.tgz"; + path = fetchurl { + name = "cssnano___cssnano_4.1.8.tgz"; + url = "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.8.tgz"; + sha1 = "8014989679d5fd42491e4499a521dbfb85c95fd1"; + }; + } + + { + name = "csso___csso_3.5.1.tgz"; + path = fetchurl { + name = "csso___csso_3.5.1.tgz"; + url = "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz"; + sha1 = "7b9eb8be61628973c1b261e169d2f024008e758b"; + }; + } + + { + name = "cssom___cssom_0.3.4.tgz"; + path = fetchurl { + name = "cssom___cssom_0.3.4.tgz"; + url = "https://registry.yarnpkg.com/cssom/-/cssom-0.3.4.tgz"; + sha1 = "8cd52e8a3acfd68d3aed38ee0a640177d2f9d797"; + }; + } + + { + name = "cssstyle___cssstyle_1.1.1.tgz"; + path = fetchurl { + name = "cssstyle___cssstyle_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.1.1.tgz"; + sha1 = "18b038a9c44d65f7a8e428a653b9f6fe42faf5fb"; + }; + } + + { + name = "csstype___csstype_2.6.0.tgz"; + path = fetchurl { + name = "csstype___csstype_2.6.0.tgz"; + url = "https://registry.yarnpkg.com/csstype/-/csstype-2.6.0.tgz"; + sha1 = "6cf7b2fa7fc32aab3d746802c244d4eda71371a2"; + }; + } + + { + name = "cyclist___cyclist_0.2.2.tgz"; + path = fetchurl { + name = "cyclist___cyclist_0.2.2.tgz"; + url = "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz"; + sha1 = "1b33792e11e914a2fd6d6ed6447464444e5fa640"; + }; + } + + { + name = "d___d_1.0.0.tgz"; + path = fetchurl { + name = "d___d_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz"; + sha1 = "754bb5bfe55451da69a58b94d45f4c5b0462d58f"; + }; + } + + { + name = "damerau_levenshtein___damerau_levenshtein_1.0.4.tgz"; + path = fetchurl { + name = "damerau_levenshtein___damerau_levenshtein_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz"; + sha1 = "03191c432cb6eea168bb77f3a55ffdccb8978514"; + }; + } + + { + name = "dashdash___dashdash_1.14.1.tgz"; + path = fetchurl { + name = "dashdash___dashdash_1.14.1.tgz"; + url = "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz"; + sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"; + }; + } + + { + name = "data_urls___data_urls_1.1.0.tgz"; + path = fetchurl { + name = "data_urls___data_urls_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz"; + sha1 = "15ee0582baa5e22bb59c77140da8f9c76963bbfe"; + }; + } + + { + name = "date_now___date_now_0.1.4.tgz"; + path = fetchurl { + name = "date_now___date_now_0.1.4.tgz"; + url = "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz"; + sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b"; + }; + } + + { + name = "debug___debug_2.6.9.tgz"; + path = fetchurl { + name = "debug___debug_2.6.9.tgz"; + url = "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz"; + sha1 = "5d128515df134ff327e90a4c93f4e077a536341f"; + }; + } + + { + name = "debug___debug_3.1.0.tgz"; + path = fetchurl { + name = "debug___debug_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz"; + sha1 = "5bb5a0672628b64149566ba16819e61518c67261"; + }; + } + + { + name = "debug___debug_3.2.6.tgz"; + path = fetchurl { + name = "debug___debug_3.2.6.tgz"; + url = "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz"; + sha1 = "e83d17de16d8a7efb7717edbe5fb10135eee629b"; + }; + } + + { + name = "debug___debug_4.1.1.tgz"; + path = fetchurl { + name = "debug___debug_4.1.1.tgz"; + url = "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz"; + sha1 = "3b72260255109c6b589cee050f1d516139664791"; + }; + } + + { + name = "decamelize___decamelize_1.2.0.tgz"; + path = fetchurl { + name = "decamelize___decamelize_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz"; + sha1 = "f6534d15148269b20352e7bee26f501f9a191290"; + }; + } + + { + name = "decamelize___decamelize_2.0.0.tgz"; + path = fetchurl { + name = "decamelize___decamelize_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz"; + sha1 = "656d7bbc8094c4c788ea53c5840908c9c7d063c7"; + }; + } + + { + name = "decode_uri_component___decode_uri_component_0.2.0.tgz"; + path = fetchurl { + name = "decode_uri_component___decode_uri_component_0.2.0.tgz"; + url = "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz"; + sha1 = "eb3913333458775cb84cd1a1fae062106bb87545"; + }; + } + + { + name = "deep_equal___deep_equal_1.0.1.tgz"; + path = fetchurl { + name = "deep_equal___deep_equal_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz"; + sha1 = "f5d260292b660e084eff4cdbc9f08ad3247448b5"; + }; + } + + { + name = "deep_extend___deep_extend_0.5.1.tgz"; + path = fetchurl { + name = "deep_extend___deep_extend_0.5.1.tgz"; + url = "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.1.tgz"; + sha1 = "b894a9dd90d3023fbf1c55a394fb858eb2066f1f"; + }; + } + + { + name = "deep_extend___deep_extend_0.6.0.tgz"; + path = fetchurl { + name = "deep_extend___deep_extend_0.6.0.tgz"; + url = "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz"; + sha1 = "c4fa7c95404a17a9c3e8ca7e1537312b736330ac"; + }; + } + + { + name = "deep_is___deep_is_0.1.3.tgz"; + path = fetchurl { + name = "deep_is___deep_is_0.1.3.tgz"; + url = "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz"; + sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34"; + }; + } + + { + name = "default_gateway___default_gateway_2.7.2.tgz"; + path = fetchurl { + name = "default_gateway___default_gateway_2.7.2.tgz"; + url = "https://registry.yarnpkg.com/default-gateway/-/default-gateway-2.7.2.tgz"; + sha1 = "b7ef339e5e024b045467af403d50348db4642d0f"; + }; + } + + { + name = "default_require_extensions___default_require_extensions_1.0.0.tgz"; + path = fetchurl { + name = "default_require_extensions___default_require_extensions_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz"; + sha1 = "f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8"; + }; + } + + { + name = "define_properties___define_properties_1.1.3.tgz"; + path = fetchurl { + name = "define_properties___define_properties_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz"; + sha1 = "cf88da6cbee26fe6db7094f61d870cbd84cee9f1"; + }; + } + + { + name = "define_property___define_property_0.2.5.tgz"; + path = fetchurl { + name = "define_property___define_property_0.2.5.tgz"; + url = "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz"; + sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116"; + }; + } + + { + name = "define_property___define_property_1.0.0.tgz"; + path = fetchurl { + name = "define_property___define_property_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz"; + sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"; + }; + } + + { + name = "define_property___define_property_2.0.2.tgz"; + path = fetchurl { + name = "define_property___define_property_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz"; + sha1 = "d459689e8d654ba77e02a817f8710d702cb16e9d"; + }; + } + + { + name = "del___del_3.0.0.tgz"; + path = fetchurl { + name = "del___del_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz"; + sha1 = "53ecf699ffcbcb39637691ab13baf160819766e5"; + }; + } + + { + name = "delayed_stream___delayed_stream_1.0.0.tgz"; + path = fetchurl { + name = "delayed_stream___delayed_stream_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz"; + sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619"; + }; + } + + { + name = "delegates___delegates_1.0.0.tgz"; + path = fetchurl { + name = "delegates___delegates_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz"; + sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a"; + }; + } + + { + name = "depd___depd_1.1.2.tgz"; + path = fetchurl { + name = "depd___depd_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz"; + sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9"; + }; + } + + { + name = "des.js___des.js_1.0.0.tgz"; + path = fetchurl { + name = "des.js___des.js_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz"; + sha1 = "c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"; + }; + } + + { + name = "destroy___destroy_1.0.4.tgz"; + path = fetchurl { + name = "destroy___destroy_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz"; + sha1 = "978857442c44749e4206613e37946205826abd80"; + }; + } + + { + name = "detect_indent___detect_indent_4.0.0.tgz"; + path = fetchurl { + name = "detect_indent___detect_indent_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz"; + sha1 = "f76d064352cdf43a1cb6ce619c4ee3a9475de208"; + }; + } + + { + name = "detect_libc___detect_libc_1.0.3.tgz"; + path = fetchurl { + name = "detect_libc___detect_libc_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz"; + sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"; + }; + } + + { + name = "detect_newline___detect_newline_2.1.0.tgz"; + path = fetchurl { + name = "detect_newline___detect_newline_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz"; + sha1 = "f41f1c10be4b00e87b5f13da680759f2c5bfd3e2"; + }; + } + + { + name = "detect_node___detect_node_2.0.4.tgz"; + path = fetchurl { + name = "detect_node___detect_node_2.0.4.tgz"; + url = "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz"; + sha1 = "014ee8f8f669c5c58023da64b8179c083a28c46c"; + }; + } + + { + name = "detect_passive_events___detect_passive_events_1.0.4.tgz"; + path = fetchurl { + name = "detect_passive_events___detect_passive_events_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/detect-passive-events/-/detect-passive-events-1.0.4.tgz"; + sha1 = "6ed477e6e5bceb79079735dcd357789d37f9a91a"; + }; + } + + { + name = "diff___diff_3.5.0.tgz"; + path = fetchurl { + name = "diff___diff_3.5.0.tgz"; + url = "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz"; + sha1 = "800c0dd1e0a8bfbc95835c202ad220fe317e5a12"; + }; + } + + { + name = "diffie_hellman___diffie_hellman_5.0.3.tgz"; + path = fetchurl { + name = "diffie_hellman___diffie_hellman_5.0.3.tgz"; + url = "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz"; + sha1 = "40e8ee98f55a2149607146921c63e1ae5f3d2875"; + }; + } + + { + name = "discontinuous_range___discontinuous_range_1.0.0.tgz"; + path = fetchurl { + name = "discontinuous_range___discontinuous_range_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz"; + sha1 = "e38331f0844bba49b9a9cb71c771585aab1bc65a"; + }; + } + + { + name = "dns_equal___dns_equal_1.0.0.tgz"; + path = fetchurl { + name = "dns_equal___dns_equal_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz"; + sha1 = "b39e7f1da6eb0a75ba9c17324b34753c47e0654d"; + }; + } + + { + name = "dns_packet___dns_packet_1.3.1.tgz"; + path = fetchurl { + name = "dns_packet___dns_packet_1.3.1.tgz"; + url = "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz"; + sha1 = "12aa426981075be500b910eedcd0b47dd7deda5a"; + }; + } + + { + name = "dns_txt___dns_txt_2.0.2.tgz"; + path = fetchurl { + name = "dns_txt___dns_txt_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz"; + sha1 = "b91d806f5d27188e4ab3e7d107d881a1cc4642b6"; + }; + } + + { + name = "doctrine___doctrine_1.5.0.tgz"; + path = fetchurl { + name = "doctrine___doctrine_1.5.0.tgz"; + url = "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz"; + sha1 = "379dce730f6166f76cefa4e6707a159b02c5a6fa"; + }; + } + + { + name = "doctrine___doctrine_2.1.0.tgz"; + path = fetchurl { + name = "doctrine___doctrine_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz"; + sha1 = "5cd01fc101621b42c4cd7f5d1a66243716d3f39d"; + }; + } + + { + name = "dom_helpers___dom_helpers_3.4.0.tgz"; + path = fetchurl { + name = "dom_helpers___dom_helpers_3.4.0.tgz"; + url = "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz"; + sha1 = "e9b369700f959f62ecde5a6babde4bccd9169af8"; + }; + } + + { + name = "dom_serializer___dom_serializer_0.1.0.tgz"; + path = fetchurl { + name = "dom_serializer___dom_serializer_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz"; + sha1 = "073c697546ce0780ce23be4a28e293e40bc30c82"; + }; + } + + { + name = "domain_browser___domain_browser_1.2.0.tgz"; + path = fetchurl { + name = "domain_browser___domain_browser_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz"; + sha1 = "3d31f50191a6749dd1375a7f522e823d42e54eda"; + }; + } + + { + name = "domelementtype___domelementtype_1.3.1.tgz"; + path = fetchurl { + name = "domelementtype___domelementtype_1.3.1.tgz"; + url = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz"; + sha1 = "d048c44b37b0d10a7f2a3d5fee3f4333d790481f"; + }; + } + + { + name = "domelementtype___domelementtype_1.1.3.tgz"; + path = fetchurl { + name = "domelementtype___domelementtype_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz"; + sha1 = "bd28773e2642881aec51544924299c5cd822185b"; + }; + } + + { + name = "domexception___domexception_1.0.1.tgz"; + path = fetchurl { + name = "domexception___domexception_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz"; + sha1 = "937442644ca6a31261ef36e3ec677fe805582c90"; + }; + } + + { + name = "domhandler___domhandler_2.4.2.tgz"; + path = fetchurl { + name = "domhandler___domhandler_2.4.2.tgz"; + url = "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz"; + sha1 = "8805097e933d65e85546f726d60f5eb88b44f803"; + }; + } + + { + name = "domutils___domutils_1.5.1.tgz"; + path = fetchurl { + name = "domutils___domutils_1.5.1.tgz"; + url = "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz"; + sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf"; + }; + } + + { + name = "domutils___domutils_1.7.0.tgz"; + path = fetchurl { + name = "domutils___domutils_1.7.0.tgz"; + url = "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz"; + sha1 = "56ea341e834e06e6748af7a1cb25da67ea9f8c2a"; + }; + } + + { + name = "dot_prop___dot_prop_4.2.0.tgz"; + path = fetchurl { + name = "dot_prop___dot_prop_4.2.0.tgz"; + url = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz"; + sha1 = "1f19e0c2e1aa0e32797c49799f2837ac6af69c57"; + }; + } + + { + name = "dotenv___dotenv_6.2.0.tgz"; + path = fetchurl { + name = "dotenv___dotenv_6.2.0.tgz"; + url = "https://registry.yarnpkg.com/dotenv/-/dotenv-6.2.0.tgz"; + sha1 = "941c0410535d942c8becf28d3f357dbd9d476064"; + }; + } + + { + name = "double_ended_queue___double_ended_queue_2.1.0_0.tgz"; + path = fetchurl { + name = "double_ended_queue___double_ended_queue_2.1.0_0.tgz"; + url = "https://registry.yarnpkg.com/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz"; + sha1 = "103d3527fd31528f40188130c841efdd78264e5c"; + }; + } + + { + name = "duplexer___duplexer_0.1.1.tgz"; + path = fetchurl { + name = "duplexer___duplexer_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz"; + sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1"; + }; + } + + { + name = "duplexify___duplexify_3.6.1.tgz"; + path = fetchurl { + name = "duplexify___duplexify_3.6.1.tgz"; + url = "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.1.tgz"; + sha1 = "b1a7a29c4abfd639585efaecce80d666b1e34125"; + }; + } + + { + name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz"; + path = fetchurl { + name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz"; + sha1 = "3a83a904e54353287874c564b7549386849a98c9"; + }; + } + + { + name = "ee_first___ee_first_1.1.1.tgz"; + path = fetchurl { + name = "ee_first___ee_first_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz"; + sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d"; + }; + } + + { + name = "ejs___ejs_2.6.1.tgz"; + path = fetchurl { + name = "ejs___ejs_2.6.1.tgz"; + url = "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz"; + sha1 = "498ec0d495655abc6f23cd61868d926464071aa0"; + }; + } + + { + name = "electron_to_chromium___electron_to_chromium_1.3.96.tgz"; + path = fetchurl { + name = "electron_to_chromium___electron_to_chromium_1.3.96.tgz"; + url = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.96.tgz"; + sha1 = "25770ec99b8b07706dedf3a5f43fa50cb54c4f9a"; + }; + } + + { + name = "elliptic___elliptic_6.4.1.tgz"; + path = fetchurl { + name = "elliptic___elliptic_6.4.1.tgz"; + url = "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.1.tgz"; + sha1 = "c2d0b7776911b86722c632c3c06c60f2f819939a"; + }; + } + + { + name = "https___codeload.github.com_Gargron_emoji_mart_tar.gz_ff00dc470b5b2d9f145a6d6e977a54de5df2b4c9"; + path = fetchurl { + name = "https___codeload.github.com_Gargron_emoji_mart_tar.gz_ff00dc470b5b2d9f145a6d6e977a54de5df2b4c9"; + url = "https://codeload.github.com/Gargron/emoji-mart/tar.gz/ff00dc470b5b2d9f145a6d6e977a54de5df2b4c9"; + sha1 = "4255dc41fa7df9c3a02c1595f058e248bc37b784"; + }; + } + + { + name = "emoji_regex___emoji_regex_6.5.1.tgz"; + path = fetchurl { + name = "emoji_regex___emoji_regex_6.5.1.tgz"; + url = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.5.1.tgz"; + sha1 = "9baea929b155565c11ea41c6626eaa65cef992c2"; + }; + } + + { + name = "emojis_list___emojis_list_2.1.0.tgz"; + path = fetchurl { + name = "emojis_list___emojis_list_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz"; + sha1 = "4daa4d9db00f9819880c79fa457ae5b09a1fd389"; + }; + } + + { + name = "encodeurl___encodeurl_1.0.2.tgz"; + path = fetchurl { + name = "encodeurl___encodeurl_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz"; + sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"; + }; + } + + { + name = "encoding___encoding_0.1.12.tgz"; + path = fetchurl { + name = "encoding___encoding_0.1.12.tgz"; + url = "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz"; + sha1 = "538b66f3ee62cd1ab51ec323829d1f9480c74beb"; + }; + } + + { + name = "end_of_stream___end_of_stream_1.4.1.tgz"; + path = fetchurl { + name = "end_of_stream___end_of_stream_1.4.1.tgz"; + url = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz"; + sha1 = "ed29634d19baba463b6ce6b80a37213eab71ec43"; + }; + } + + { + name = "enhanced_resolve___enhanced_resolve_4.1.0.tgz"; + path = fetchurl { + name = "enhanced_resolve___enhanced_resolve_4.1.0.tgz"; + url = "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz"; + sha1 = "41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f"; + }; + } + + { + name = "entities___entities_1.1.2.tgz"; + path = fetchurl { + name = "entities___entities_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz"; + sha1 = "bdfa735299664dfafd34529ed4f8522a275fea56"; + }; + } + + { + name = "enzyme_adapter_react_16___enzyme_adapter_react_16_1.7.1.tgz"; + path = fetchurl { + name = "enzyme_adapter_react_16___enzyme_adapter_react_16_1.7.1.tgz"; + url = "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.7.1.tgz"; + sha1 = "c37c4cb0fd75e88a063154a7a88096474914496a"; + }; + } + + { + name = "enzyme_adapter_utils___enzyme_adapter_utils_1.9.0.tgz"; + path = fetchurl { + name = "enzyme_adapter_utils___enzyme_adapter_utils_1.9.0.tgz"; + url = "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.9.0.tgz"; + sha1 = "3997c20f3387fdcd932b155b3740829ea10aa86c"; + }; + } + + { + name = "enzyme___enzyme_3.8.0.tgz"; + path = fetchurl { + name = "enzyme___enzyme_3.8.0.tgz"; + url = "https://registry.yarnpkg.com/enzyme/-/enzyme-3.8.0.tgz"; + sha1 = "646d2d5d0798cb98fdec39afcee8a53237b47ad5"; + }; + } + + { + name = "errno___errno_0.1.7.tgz"; + path = fetchurl { + name = "errno___errno_0.1.7.tgz"; + url = "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz"; + sha1 = "4684d71779ad39af177e3f007996f7c67c852618"; + }; + } + + { + name = "error_ex___error_ex_1.3.2.tgz"; + path = fetchurl { + name = "error_ex___error_ex_1.3.2.tgz"; + url = "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz"; + sha1 = "b4ac40648107fdcdcfae242f428bea8a14d4f1bf"; + }; + } + + { + name = "es_abstract___es_abstract_1.12.0.tgz"; + path = fetchurl { + name = "es_abstract___es_abstract_1.12.0.tgz"; + url = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz"; + sha1 = "9dbbdd27c6856f0001421ca18782d786bf8a6165"; + }; + } + + { + name = "es_to_primitive___es_to_primitive_1.2.0.tgz"; + path = fetchurl { + name = "es_to_primitive___es_to_primitive_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz"; + sha1 = "edf72478033456e8dda8ef09e00ad9650707f377"; + }; + } + + { + name = "es5_ext___es5_ext_0.10.46.tgz"; + path = fetchurl { + name = "es5_ext___es5_ext_0.10.46.tgz"; + url = "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.46.tgz"; + sha1 = "efd99f67c5a7ec789baa3daa7f79870388f7f572"; + }; + } + + { + name = "es6_iterator___es6_iterator_2.0.3.tgz"; + path = fetchurl { + name = "es6_iterator___es6_iterator_2.0.3.tgz"; + url = "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz"; + sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7"; + }; + } + + { + name = "es6_symbol___es6_symbol_3.1.1.tgz"; + path = fetchurl { + name = "es6_symbol___es6_symbol_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz"; + sha1 = "bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"; + }; + } + + { + name = "escape_html___escape_html_1.0.3.tgz"; + path = fetchurl { + name = "escape_html___escape_html_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz"; + sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988"; + }; + } + + { + name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz"; + path = fetchurl { + name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz"; + url = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"; + sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"; + }; + } + + { + name = "escodegen___escodegen_1.11.0.tgz"; + path = fetchurl { + name = "escodegen___escodegen_1.11.0.tgz"; + url = "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.0.tgz"; + sha1 = "b27a9389481d5bfd5bec76f7bb1eb3f8f4556589"; + }; + } + + { + name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.2.tgz"; + path = fetchurl { + name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.2.tgz"; + url = "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz"; + sha1 = "58f15fb839b8d0576ca980413476aab2472db66a"; + }; + } + + { + name = "eslint_module_utils___eslint_module_utils_2.2.0.tgz"; + path = fetchurl { + name = "eslint_module_utils___eslint_module_utils_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz"; + sha1 = "b270362cd88b1a48ad308976ce7fa54e98411746"; + }; + } + + { + name = "eslint_plugin_import___eslint_plugin_import_2.14.0.tgz"; + path = fetchurl { + name = "eslint_plugin_import___eslint_plugin_import_2.14.0.tgz"; + url = "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz"; + sha1 = "6b17626d2e3e6ad52cfce8807a845d15e22111a8"; + }; + } + + { + name = "eslint_plugin_jsx_a11y___eslint_plugin_jsx_a11y_6.1.2.tgz"; + path = fetchurl { + name = "eslint_plugin_jsx_a11y___eslint_plugin_jsx_a11y_6.1.2.tgz"; + url = "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.1.2.tgz"; + sha1 = "69bca4890b36dcf0fe16dd2129d2d88b98f33f88"; + }; + } + + { + name = "eslint_plugin_promise___eslint_plugin_promise_4.0.1.tgz"; + path = fetchurl { + name = "eslint_plugin_promise___eslint_plugin_promise_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.0.1.tgz"; + sha1 = "2d074b653f35a23d1ba89d8e976a985117d1c6a2"; + }; + } + + { + name = "eslint_plugin_react___eslint_plugin_react_7.12.1.tgz"; + path = fetchurl { + name = "eslint_plugin_react___eslint_plugin_react_7.12.1.tgz"; + url = "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.12.1.tgz"; + sha1 = "b9c4639f72469ff317ac31e3bd630d22d0dbf8f4"; + }; + } + + { + name = "eslint_scope___eslint_scope_3.7.1.tgz"; + path = fetchurl { + name = "eslint_scope___eslint_scope_3.7.1.tgz"; + url = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz"; + sha1 = "3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"; + }; + } + + { + name = "eslint_scope___eslint_scope_4.0.0.tgz"; + path = fetchurl { + name = "eslint_scope___eslint_scope_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz"; + sha1 = "50bf3071e9338bcdc43331794a0cb533f0136172"; + }; + } + + { + name = "eslint_utils___eslint_utils_1.3.1.tgz"; + path = fetchurl { + name = "eslint_utils___eslint_utils_1.3.1.tgz"; + url = "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz"; + sha1 = "9a851ba89ee7c460346f97cf8939c7298827e512"; + }; + } + + { + name = "eslint_visitor_keys___eslint_visitor_keys_1.0.0.tgz"; + path = fetchurl { + name = "eslint_visitor_keys___eslint_visitor_keys_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz"; + sha1 = "3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"; + }; + } + + { + name = "eslint___eslint_5.11.1.tgz"; + path = fetchurl { + name = "eslint___eslint_5.11.1.tgz"; + url = "https://registry.yarnpkg.com/eslint/-/eslint-5.11.1.tgz"; + sha1 = "8deda83db9f354bf9d3f53f9677af7e0e13eadda"; + }; + } + + { + name = "espree___espree_5.0.0.tgz"; + path = fetchurl { + name = "espree___espree_5.0.0.tgz"; + url = "https://registry.yarnpkg.com/espree/-/espree-5.0.0.tgz"; + sha1 = "fc7f984b62b36a0f543b13fb9cd7b9f4a7f5b65c"; + }; + } + + { + name = "esprima___esprima_3.1.3.tgz"; + path = fetchurl { + name = "esprima___esprima_3.1.3.tgz"; + url = "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz"; + sha1 = "fdca51cee6133895e3c88d535ce49dbff62a4633"; + }; + } + + { + name = "esprima___esprima_4.0.1.tgz"; + path = fetchurl { + name = "esprima___esprima_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz"; + sha1 = "13b04cdb3e6c5d19df91ab6987a8695619b0aa71"; + }; + } + + { + name = "esquery___esquery_1.0.1.tgz"; + path = fetchurl { + name = "esquery___esquery_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz"; + sha1 = "406c51658b1f5991a5f9b62b1dc25b00e3e5c708"; + }; + } + + { + name = "esrecurse___esrecurse_4.2.1.tgz"; + path = fetchurl { + name = "esrecurse___esrecurse_4.2.1.tgz"; + url = "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz"; + sha1 = "007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"; + }; + } + + { + name = "estraverse___estraverse_4.2.0.tgz"; + path = fetchurl { + name = "estraverse___estraverse_4.2.0.tgz"; + url = "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz"; + sha1 = "0dee3fed31fcd469618ce7342099fc1afa0bdb13"; + }; + } + + { + name = "esutils___esutils_2.0.2.tgz"; + path = fetchurl { + name = "esutils___esutils_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz"; + sha1 = "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"; + }; + } + + { + name = "etag___etag_1.8.1.tgz"; + path = fetchurl { + name = "etag___etag_1.8.1.tgz"; + url = "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz"; + sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887"; + }; + } + + { + name = "eventemitter3___eventemitter3_3.1.0.tgz"; + path = fetchurl { + name = "eventemitter3___eventemitter3_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz"; + sha1 = "090b4d6cdbd645ed10bf750d4b5407942d7ba163"; + }; + } + + { + name = "events___events_1.1.1.tgz"; + path = fetchurl { + name = "events___events_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz"; + sha1 = "9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"; + }; + } + + { + name = "eventsource___eventsource_1.0.7.tgz"; + path = fetchurl { + name = "eventsource___eventsource_1.0.7.tgz"; + url = "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz"; + sha1 = "8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0"; + }; + } + + { + name = "evp_bytestokey___evp_bytestokey_1.0.3.tgz"; + path = fetchurl { + name = "evp_bytestokey___evp_bytestokey_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz"; + sha1 = "7fcbdb198dc71959432efe13842684e0525acb02"; + }; + } + + { + name = "exec_sh___exec_sh_0.2.2.tgz"; + path = fetchurl { + name = "exec_sh___exec_sh_0.2.2.tgz"; + url = "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.2.tgz"; + sha1 = "2a5e7ffcbd7d0ba2755bdecb16e5a427dfbdec36"; + }; + } + + { + name = "execa___execa_0.10.0.tgz"; + path = fetchurl { + name = "execa___execa_0.10.0.tgz"; + url = "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz"; + sha1 = "ff456a8f53f90f8eccc71a96d11bdfc7f082cb50"; + }; + } + + { + name = "execa___execa_0.7.0.tgz"; + path = fetchurl { + name = "execa___execa_0.7.0.tgz"; + url = "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz"; + sha1 = "944becd34cc41ee32a63a9faf27ad5a65fc59777"; + }; + } + + { + name = "execa___execa_1.0.0.tgz"; + path = fetchurl { + name = "execa___execa_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz"; + sha1 = "c6236a5bb4df6d6f15e88e7f017798216749ddd8"; + }; + } + + { + name = "exif_js___exif_js_2.3.0.tgz"; + path = fetchurl { + name = "exif_js___exif_js_2.3.0.tgz"; + url = "https://registry.yarnpkg.com/exif-js/-/exif-js-2.3.0.tgz"; + sha1 = "9d10819bf571f873813e7640241255ab9ce1a814"; + }; + } + + { + name = "exit___exit_0.1.2.tgz"; + path = fetchurl { + name = "exit___exit_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz"; + sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c"; + }; + } + + { + name = "expand_brackets___expand_brackets_0.1.5.tgz"; + path = fetchurl { + name = "expand_brackets___expand_brackets_0.1.5.tgz"; + url = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz"; + sha1 = "df07284e342a807cd733ac5af72411e581d1177b"; + }; + } + + { + name = "expand_brackets___expand_brackets_2.1.4.tgz"; + path = fetchurl { + name = "expand_brackets___expand_brackets_2.1.4.tgz"; + url = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz"; + sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622"; + }; + } + + { + name = "expand_range___expand_range_1.8.2.tgz"; + path = fetchurl { + name = "expand_range___expand_range_1.8.2.tgz"; + url = "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz"; + sha1 = "a299effd335fe2721ebae8e257ec79644fc85337"; + }; + } + + { + name = "expect___expect_23.6.0.tgz"; + path = fetchurl { + name = "expect___expect_23.6.0.tgz"; + url = "https://registry.yarnpkg.com/expect/-/expect-23.6.0.tgz"; + sha1 = "1e0c8d3ba9a581c87bd71fb9bc8862d443425f98"; + }; + } + + { + name = "express___express_4.16.4.tgz"; + path = fetchurl { + name = "express___express_4.16.4.tgz"; + url = "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz"; + sha1 = "fddef61926109e24c515ea97fd2f1bdbf62df12e"; + }; + } + + { + name = "extend_shallow___extend_shallow_2.0.1.tgz"; + path = fetchurl { + name = "extend_shallow___extend_shallow_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz"; + sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f"; + }; + } + + { + name = "extend_shallow___extend_shallow_3.0.2.tgz"; + path = fetchurl { + name = "extend_shallow___extend_shallow_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz"; + sha1 = "26a71aaf073b39fb2127172746131c2704028db8"; + }; + } + + { + name = "extend___extend_3.0.2.tgz"; + path = fetchurl { + name = "extend___extend_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz"; + sha1 = "f8b1136b4071fbd8eb140aff858b1019ec2915fa"; + }; + } + + { + name = "external_editor___external_editor_3.0.3.tgz"; + path = fetchurl { + name = "external_editor___external_editor_3.0.3.tgz"; + url = "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz"; + sha1 = "5866db29a97826dbe4bf3afd24070ead9ea43a27"; + }; + } + + { + name = "extglob___extglob_0.3.2.tgz"; + path = fetchurl { + name = "extglob___extglob_0.3.2.tgz"; + url = "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz"; + sha1 = "2e18ff3d2f49ab2765cec9023f011daa8d8349a1"; + }; + } + + { + name = "extglob___extglob_2.0.4.tgz"; + path = fetchurl { + name = "extglob___extglob_2.0.4.tgz"; + url = "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz"; + sha1 = "ad00fe4dc612a9232e8718711dc5cb5ab0285543"; + }; + } + + { + name = "extsprintf___extsprintf_1.3.0.tgz"; + path = fetchurl { + name = "extsprintf___extsprintf_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz"; + sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05"; + }; + } + + { + name = "extsprintf___extsprintf_1.4.0.tgz"; + path = fetchurl { + name = "extsprintf___extsprintf_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz"; + sha1 = "e2689f8f356fad62cca65a3a91c5df5f9551692f"; + }; + } + + { + name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz"; + path = fetchurl { + name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz"; + sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"; + }; + } + + { + name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz"; + path = fetchurl { + name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz"; + sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2"; + }; + } + + { + name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz"; + path = fetchurl { + name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz"; + url = "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"; + sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917"; + }; + } + + { + name = "fastparse___fastparse_1.1.2.tgz"; + path = fetchurl { + name = "fastparse___fastparse_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz"; + sha1 = "91728c5a5942eced8531283c79441ee4122c35a9"; + }; + } + + { + name = "faye_websocket___faye_websocket_0.10.0.tgz"; + path = fetchurl { + name = "faye_websocket___faye_websocket_0.10.0.tgz"; + url = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz"; + sha1 = "4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"; + }; + } + + { + name = "faye_websocket___faye_websocket_0.11.1.tgz"; + path = fetchurl { + name = "faye_websocket___faye_websocket_0.11.1.tgz"; + url = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz"; + sha1 = "f0efe18c4f56e4f40afc7e06c719fd5ee6188f38"; + }; + } + + { + name = "fb_watchman___fb_watchman_2.0.0.tgz"; + path = fetchurl { + name = "fb_watchman___fb_watchman_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz"; + sha1 = "54e9abf7dfa2f26cd9b1636c588c1afc05de5d58"; + }; + } + + { + name = "fbjs___fbjs_0.8.17.tgz"; + path = fetchurl { + name = "fbjs___fbjs_0.8.17.tgz"; + url = "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz"; + sha1 = "c4d598ead6949112653d6588b01a5cdcd9f90fdd"; + }; + } + + { + name = "fibers___fibers_3.1.1.tgz"; + path = fetchurl { + name = "fibers___fibers_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/fibers/-/fibers-3.1.1.tgz"; + sha1 = "0238902ca938347bd779523692fbeefdf4f688ab"; + }; + } + + { + name = "figgy_pudding___figgy_pudding_3.5.1.tgz"; + path = fetchurl { + name = "figgy_pudding___figgy_pudding_3.5.1.tgz"; + url = "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz"; + sha1 = "862470112901c727a0e495a80744bd5baa1d6790"; + }; + } + + { + name = "figures___figures_2.0.0.tgz"; + path = fetchurl { + name = "figures___figures_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz"; + sha1 = "3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"; + }; + } + + { + name = "file_entry_cache___file_entry_cache_2.0.0.tgz"; + path = fetchurl { + name = "file_entry_cache___file_entry_cache_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz"; + sha1 = "c392990c3e684783d838b8c84a45d8a048458361"; + }; + } + + { + name = "file_loader___file_loader_3.0.1.tgz"; + path = fetchurl { + name = "file_loader___file_loader_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/file-loader/-/file-loader-3.0.1.tgz"; + sha1 = "f8e0ba0b599918b51adfe45d66d1e771ad560faa"; + }; + } + + { + name = "filename_regex___filename_regex_2.0.1.tgz"; + path = fetchurl { + name = "filename_regex___filename_regex_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz"; + sha1 = "c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"; + }; + } + + { + name = "fileset___fileset_2.0.3.tgz"; + path = fetchurl { + name = "fileset___fileset_2.0.3.tgz"; + url = "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz"; + sha1 = "8e7548a96d3cc2327ee5e674168723a333bba2a0"; + }; + } + + { + name = "filesize___filesize_3.6.1.tgz"; + path = fetchurl { + name = "filesize___filesize_3.6.1.tgz"; + url = "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz"; + sha1 = "090bb3ee01b6f801a8a8be99d31710b3422bb317"; + }; + } + + { + name = "fill_range___fill_range_2.2.4.tgz"; + path = fetchurl { + name = "fill_range___fill_range_2.2.4.tgz"; + url = "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz"; + sha1 = "eb1e773abb056dcd8df2bfdf6af59b8b3a936565"; + }; + } + + { + name = "fill_range___fill_range_4.0.0.tgz"; + path = fetchurl { + name = "fill_range___fill_range_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz"; + sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7"; + }; + } + + { + name = "finalhandler___finalhandler_1.1.1.tgz"; + path = fetchurl { + name = "finalhandler___finalhandler_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz"; + sha1 = "eebf4ed840079c83f4249038c9d703008301b105"; + }; + } + + { + name = "find_cache_dir___find_cache_dir_1.0.0.tgz"; + path = fetchurl { + name = "find_cache_dir___find_cache_dir_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz"; + sha1 = "9288e3e9e3cc3748717d39eade17cf71fc30ee6f"; + }; + } + + { + name = "find_cache_dir___find_cache_dir_2.0.0.tgz"; + path = fetchurl { + name = "find_cache_dir___find_cache_dir_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.0.0.tgz"; + sha1 = "4c1faed59f45184530fb9d7fa123a4d04a98472d"; + }; + } + + { + name = "find_up___find_up_1.1.2.tgz"; + path = fetchurl { + name = "find_up___find_up_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz"; + sha1 = "6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"; + }; + } + + { + name = "find_up___find_up_2.1.0.tgz"; + path = fetchurl { + name = "find_up___find_up_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz"; + sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7"; + }; + } + + { + name = "find_up___find_up_3.0.0.tgz"; + path = fetchurl { + name = "find_up___find_up_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz"; + sha1 = "49169f1d7993430646da61ecc5ae355c21c97b73"; + }; + } + + { + name = "flat_cache___flat_cache_1.3.4.tgz"; + path = fetchurl { + name = "flat_cache___flat_cache_1.3.4.tgz"; + url = "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz"; + sha1 = "2c2ef77525cc2929007dfffa1dd314aa9c9dee6f"; + }; + } + + { + name = "flush_write_stream___flush_write_stream_1.0.3.tgz"; + path = fetchurl { + name = "flush_write_stream___flush_write_stream_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz"; + sha1 = "c5d586ef38af6097650b49bc41b55fabb19f35bd"; + }; + } + + { + name = "follow_redirects___follow_redirects_1.6.0.tgz"; + path = fetchurl { + name = "follow_redirects___follow_redirects_1.6.0.tgz"; + url = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.6.0.tgz"; + sha1 = "d12452c031e8c67eb6637d861bfc7a8090167933"; + }; + } + + { + name = "font_awesome___font_awesome_4.7.0.tgz"; + path = fetchurl { + name = "font_awesome___font_awesome_4.7.0.tgz"; + url = "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz"; + sha1 = "8fa8cf0411a1a31afd07b06d2902bb9fc815a133"; + }; + } + + { + name = "for_in___for_in_0.1.8.tgz"; + path = fetchurl { + name = "for_in___for_in_0.1.8.tgz"; + url = "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz"; + sha1 = "d8773908e31256109952b1fdb9b3fa867d2775e1"; + }; + } + + { + name = "for_in___for_in_1.0.2.tgz"; + path = fetchurl { + name = "for_in___for_in_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz"; + sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80"; + }; + } + + { + name = "for_own___for_own_0.1.5.tgz"; + path = fetchurl { + name = "for_own___for_own_0.1.5.tgz"; + url = "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz"; + sha1 = "5265c681a4f294dabbf17c9509b6763aa84510ce"; + }; + } + + { + name = "for_own___for_own_1.0.0.tgz"; + path = fetchurl { + name = "for_own___for_own_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz"; + sha1 = "c63332f415cedc4b04dbfe70cf836494c53cb44b"; + }; + } + + { + name = "forever_agent___forever_agent_0.6.1.tgz"; + path = fetchurl { + name = "forever_agent___forever_agent_0.6.1.tgz"; + url = "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz"; + sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"; + }; + } + + { + name = "form_data___form_data_2.3.3.tgz"; + path = fetchurl { + name = "form_data___form_data_2.3.3.tgz"; + url = "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz"; + sha1 = "dcce52c05f644f298c6a7ab936bd724ceffbf3a6"; + }; + } + + { + name = "forwarded___forwarded_0.1.2.tgz"; + path = fetchurl { + name = "forwarded___forwarded_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz"; + sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84"; + }; + } + + { + name = "fragment_cache___fragment_cache_0.2.1.tgz"; + path = fetchurl { + name = "fragment_cache___fragment_cache_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz"; + sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19"; + }; + } + + { + name = "fresh___fresh_0.5.2.tgz"; + path = fetchurl { + name = "fresh___fresh_0.5.2.tgz"; + url = "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz"; + sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7"; + }; + } + + { + name = "from2___from2_2.3.0.tgz"; + path = fetchurl { + name = "from2___from2_2.3.0.tgz"; + url = "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz"; + sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af"; + }; + } + + { + name = "fs_minipass___fs_minipass_1.2.5.tgz"; + path = fetchurl { + name = "fs_minipass___fs_minipass_1.2.5.tgz"; + url = "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz"; + sha1 = "06c277218454ec288df77ada54a03b8702aacb9d"; + }; + } + + { + name = "fs_write_stream_atomic___fs_write_stream_atomic_1.0.10.tgz"; + path = fetchurl { + name = "fs_write_stream_atomic___fs_write_stream_atomic_1.0.10.tgz"; + url = "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz"; + sha1 = "b47df53493ef911df75731e70a9ded0189db40c9"; + }; + } + + { + name = "fs.realpath___fs.realpath_1.0.0.tgz"; + path = fetchurl { + name = "fs.realpath___fs.realpath_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz"; + sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f"; + }; + } + + { + name = "fsevents___fsevents_1.2.4.tgz"; + path = fetchurl { + name = "fsevents___fsevents_1.2.4.tgz"; + url = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz"; + sha1 = "f41dcb1af2582af3692da36fc55cbd8e1041c426"; + }; + } + + { + name = "function_bind___function_bind_1.1.1.tgz"; + path = fetchurl { + name = "function_bind___function_bind_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz"; + sha1 = "a56899d3ea3c9bab874bb9773b7c5ede92f4895d"; + }; + } + + { + name = "function.prototype.name___function.prototype.name_1.1.0.tgz"; + path = fetchurl { + name = "function.prototype.name___function.prototype.name_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.0.tgz"; + sha1 = "8bd763cc0af860a859cc5d49384d74b932cd2327"; + }; + } + + { + name = "functional_red_black_tree___functional_red_black_tree_1.0.1.tgz"; + path = fetchurl { + name = "functional_red_black_tree___functional_red_black_tree_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz"; + sha1 = "1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"; + }; + } + + { + name = "gauge___gauge_2.7.4.tgz"; + path = fetchurl { + name = "gauge___gauge_2.7.4.tgz"; + url = "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz"; + sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7"; + }; + } + + { + name = "generic_pool___generic_pool_2.4.3.tgz"; + path = fetchurl { + name = "generic_pool___generic_pool_2.4.3.tgz"; + url = "https://registry.yarnpkg.com/generic-pool/-/generic-pool-2.4.3.tgz"; + sha1 = "780c36f69dfad05a5a045dd37be7adca11a4f6ff"; + }; + } + + { + name = "get_caller_file___get_caller_file_1.0.3.tgz"; + path = fetchurl { + name = "get_caller_file___get_caller_file_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz"; + sha1 = "f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"; + }; + } + + { + name = "get_stream___get_stream_3.0.0.tgz"; + path = fetchurl { + name = "get_stream___get_stream_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz"; + sha1 = "8e943d1358dc37555054ecbe2edb05aa174ede14"; + }; + } + + { + name = "get_stream___get_stream_4.1.0.tgz"; + path = fetchurl { + name = "get_stream___get_stream_4.1.0.tgz"; + url = "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz"; + sha1 = "c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"; + }; + } + + { + name = "get_value___get_value_2.0.6.tgz"; + path = fetchurl { + name = "get_value___get_value_2.0.6.tgz"; + url = "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz"; + sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28"; + }; + } + + { + name = "getpass___getpass_0.1.7.tgz"; + path = fetchurl { + name = "getpass___getpass_0.1.7.tgz"; + url = "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz"; + sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa"; + }; + } + + { + name = "glob_base___glob_base_0.3.0.tgz"; + path = fetchurl { + name = "glob_base___glob_base_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz"; + sha1 = "dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"; + }; + } + + { + name = "glob_parent___glob_parent_2.0.0.tgz"; + path = fetchurl { + name = "glob_parent___glob_parent_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz"; + sha1 = "81383d72db054fcccf5336daa902f182f6edbb28"; + }; + } + + { + name = "glob_parent___glob_parent_3.1.0.tgz"; + path = fetchurl { + name = "glob_parent___glob_parent_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz"; + sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae"; + }; + } + + { + name = "glob___glob_7.1.3.tgz"; + path = fetchurl { + name = "glob___glob_7.1.3.tgz"; + url = "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz"; + sha1 = "3960832d3f1574108342dafd3a67b332c0969df1"; + }; + } + + { + name = "global_modules_path___global_modules_path_2.3.1.tgz"; + path = fetchurl { + name = "global_modules_path___global_modules_path_2.3.1.tgz"; + url = "https://registry.yarnpkg.com/global-modules-path/-/global-modules-path-2.3.1.tgz"; + sha1 = "e541f4c800a1a8514a990477b267ac67525b9931"; + }; + } + + { + name = "globals___globals_11.9.0.tgz"; + path = fetchurl { + name = "globals___globals_11.9.0.tgz"; + url = "https://registry.yarnpkg.com/globals/-/globals-11.9.0.tgz"; + sha1 = "bde236808e987f290768a93d065060d78e6ab249"; + }; + } + + { + name = "globals___globals_9.18.0.tgz"; + path = fetchurl { + name = "globals___globals_9.18.0.tgz"; + url = "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz"; + sha1 = "aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"; + }; + } + + { + name = "globby___globby_6.1.0.tgz"; + path = fetchurl { + name = "globby___globby_6.1.0.tgz"; + url = "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz"; + sha1 = "f5a6d70e8395e21c858fb0489d64df02424d506c"; + }; + } + + { + name = "graceful_fs___graceful_fs_4.1.15.tgz"; + path = fetchurl { + name = "graceful_fs___graceful_fs_4.1.15.tgz"; + url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz"; + sha1 = "ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"; + }; + } + + { + name = "growly___growly_1.3.0.tgz"; + path = fetchurl { + name = "growly___growly_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz"; + sha1 = "f10748cbe76af964b7c96c93c6bcc28af120c081"; + }; + } + + { + name = "gzip_size___gzip_size_5.0.0.tgz"; + path = fetchurl { + name = "gzip_size___gzip_size_5.0.0.tgz"; + url = "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.0.0.tgz"; + sha1 = "a55ecd99222f4c48fd8c01c625ce3b349d0a0e80"; + }; + } + + { + name = "handle_thing___handle_thing_2.0.0.tgz"; + path = fetchurl { + name = "handle_thing___handle_thing_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz"; + sha1 = "0e039695ff50c93fc288557d696f3c1dc6776754"; + }; + } + + { + name = "handlebars___handlebars_4.0.12.tgz"; + path = fetchurl { + name = "handlebars___handlebars_4.0.12.tgz"; + url = "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.12.tgz"; + sha1 = "2c15c8a96d46da5e266700518ba8cb8d919d5bc5"; + }; + } + + { + name = "har_schema___har_schema_2.0.0.tgz"; + path = fetchurl { + name = "har_schema___har_schema_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz"; + sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92"; + }; + } + + { + name = "har_validator___har_validator_5.1.3.tgz"; + path = fetchurl { + name = "har_validator___har_validator_5.1.3.tgz"; + url = "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz"; + sha1 = "1ef89ebd3e4996557675eed9893110dc350fa080"; + }; + } + + { + name = "has_ansi___has_ansi_2.0.0.tgz"; + path = fetchurl { + name = "has_ansi___has_ansi_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz"; + sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91"; + }; + } + + { + name = "has_flag___has_flag_1.0.0.tgz"; + path = fetchurl { + name = "has_flag___has_flag_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz"; + sha1 = "9d9e793165ce017a00f00418c43f942a7b1d11fa"; + }; + } + + { + name = "has_flag___has_flag_3.0.0.tgz"; + path = fetchurl { + name = "has_flag___has_flag_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz"; + sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd"; + }; + } + + { + name = "has_symbols___has_symbols_1.0.0.tgz"; + path = fetchurl { + name = "has_symbols___has_symbols_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz"; + sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44"; + }; + } + + { + name = "has_unicode___has_unicode_2.0.1.tgz"; + path = fetchurl { + name = "has_unicode___has_unicode_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz"; + sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9"; + }; + } + + { + name = "has_value___has_value_0.3.1.tgz"; + path = fetchurl { + name = "has_value___has_value_0.3.1.tgz"; + url = "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz"; + sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f"; + }; + } + + { + name = "has_value___has_value_1.0.0.tgz"; + path = fetchurl { + name = "has_value___has_value_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz"; + sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177"; + }; + } + + { + name = "has_values___has_values_0.1.4.tgz"; + path = fetchurl { + name = "has_values___has_values_0.1.4.tgz"; + url = "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz"; + sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771"; + }; + } + + { + name = "has_values___has_values_1.0.0.tgz"; + path = fetchurl { + name = "has_values___has_values_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz"; + sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f"; + }; + } + + { + name = "has___has_1.0.3.tgz"; + path = fetchurl { + name = "has___has_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz"; + sha1 = "722d7cbfc1f6aa8241f16dd814e011e1f41e8796"; + }; + } + + { + name = "hash_base___hash_base_3.0.4.tgz"; + path = fetchurl { + name = "hash_base___hash_base_3.0.4.tgz"; + url = "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz"; + sha1 = "5fc8686847ecd73499403319a6b0a3f3f6ae4918"; + }; + } + + { + name = "hash.js___hash.js_1.1.7.tgz"; + path = fetchurl { + name = "hash.js___hash.js_1.1.7.tgz"; + url = "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz"; + sha1 = "0babca538e8d4ee4a0f8988d68866537a003cf42"; + }; + } + + { + name = "hex_color_regex___hex_color_regex_1.1.0.tgz"; + path = fetchurl { + name = "hex_color_regex___hex_color_regex_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz"; + sha1 = "4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"; + }; + } + + { + name = "history___history_4.7.2.tgz"; + path = fetchurl { + name = "history___history_4.7.2.tgz"; + url = "https://registry.yarnpkg.com/history/-/history-4.7.2.tgz"; + sha1 = "22b5c7f31633c5b8021c7f4a8a954ac139ee8d5b"; + }; + } + + { + name = "hmac_drbg___hmac_drbg_1.0.1.tgz"; + path = fetchurl { + name = "hmac_drbg___hmac_drbg_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz"; + sha1 = "d2745701025a6c775a6c545793ed502fc0c649a1"; + }; + } + + { + name = "hoist_non_react_statics___hoist_non_react_statics_2.5.5.tgz"; + path = fetchurl { + name = "hoist_non_react_statics___hoist_non_react_statics_2.5.5.tgz"; + url = "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz"; + sha1 = "c5903cf409c0dfd908f388e619d86b9c1174cb47"; + }; + } + + { + name = "hoist_non_react_statics___hoist_non_react_statics_3.2.1.tgz"; + path = fetchurl { + name = "hoist_non_react_statics___hoist_non_react_statics_3.2.1.tgz"; + url = "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.2.1.tgz"; + sha1 = "c09c0555c84b38a7ede6912b61efddafd6e75e1e"; + }; + } + + { + name = "home_or_tmp___home_or_tmp_2.0.0.tgz"; + path = fetchurl { + name = "home_or_tmp___home_or_tmp_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz"; + sha1 = "e36c3f2d2cae7d746a857e38d18d5f32a7882db8"; + }; + } + + { + name = "hoopy___hoopy_0.1.4.tgz"; + path = fetchurl { + name = "hoopy___hoopy_0.1.4.tgz"; + url = "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz"; + sha1 = "609207d661100033a9a9402ad3dea677381c1b1d"; + }; + } + + { + name = "hosted_git_info___hosted_git_info_2.7.1.tgz"; + path = fetchurl { + name = "hosted_git_info___hosted_git_info_2.7.1.tgz"; + url = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz"; + sha1 = "97f236977bd6e125408930ff6de3eec6281ec047"; + }; + } + + { + name = "hpack.js___hpack.js_2.1.6.tgz"; + path = fetchurl { + name = "hpack.js___hpack.js_2.1.6.tgz"; + url = "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz"; + sha1 = "87774c0949e513f42e84575b3c45681fade2a0b2"; + }; + } + + { + name = "hsl_regex___hsl_regex_1.0.0.tgz"; + path = fetchurl { + name = "hsl_regex___hsl_regex_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz"; + sha1 = "d49330c789ed819e276a4c0d272dffa30b18fe6e"; + }; + } + + { + name = "hsla_regex___hsla_regex_1.0.0.tgz"; + path = fetchurl { + name = "hsla_regex___hsla_regex_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz"; + sha1 = "c1ce7a3168c8c6614033a4b5f7877f3b225f9c38"; + }; + } + + { + name = "html_comment_regex___html_comment_regex_1.1.2.tgz"; + path = fetchurl { + name = "html_comment_regex___html_comment_regex_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz"; + sha1 = "97d4688aeb5c81886a364faa0cad1dda14d433a7"; + }; + } + + { + name = "html_encoding_sniffer___html_encoding_sniffer_1.0.2.tgz"; + path = fetchurl { + name = "html_encoding_sniffer___html_encoding_sniffer_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz"; + sha1 = "e70d84b94da53aa375e11fe3a351be6642ca46f8"; + }; + } + + { + name = "html_entities___html_entities_1.2.1.tgz"; + path = fetchurl { + name = "html_entities___html_entities_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz"; + sha1 = "0df29351f0721163515dfb9e5543e5f6eed5162f"; + }; + } + + { + name = "htmlparser2___htmlparser2_3.10.0.tgz"; + path = fetchurl { + name = "htmlparser2___htmlparser2_3.10.0.tgz"; + url = "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.0.tgz"; + sha1 = "5f5e422dcf6119c0d983ed36260ce9ded0bee464"; + }; + } + + { + name = "http_deceiver___http_deceiver_1.2.7.tgz"; + path = fetchurl { + name = "http_deceiver___http_deceiver_1.2.7.tgz"; + url = "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz"; + sha1 = "fa7168944ab9a519d337cb0bec7284dc3e723d87"; + }; + } + + { + name = "http_errors___http_errors_1.6.3.tgz"; + path = fetchurl { + name = "http_errors___http_errors_1.6.3.tgz"; + url = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz"; + sha1 = "8b55680bb4be283a0b5bf4ea2e38580be1d9320d"; + }; + } + + { + name = "http_link_header___http_link_header_1.0.2.tgz"; + path = fetchurl { + name = "http_link_header___http_link_header_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/http-link-header/-/http-link-header-1.0.2.tgz"; + sha1 = "bea50f02e1c7996021f1013b428c63f77e0f4e11"; + }; + } + + { + name = "http_parser_js___http_parser_js_0.5.0.tgz"; + path = fetchurl { + name = "http_parser_js___http_parser_js_0.5.0.tgz"; + url = "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.0.tgz"; + sha1 = "d65edbede84349d0dc30320815a15d39cc3cbbd8"; + }; + } + + { + name = "http_proxy_middleware___http_proxy_middleware_0.18.0.tgz"; + path = fetchurl { + name = "http_proxy_middleware___http_proxy_middleware_0.18.0.tgz"; + url = "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz"; + sha1 = "0987e6bb5a5606e5a69168d8f967a87f15dd8aab"; + }; + } + + { + name = "http_proxy___http_proxy_1.17.0.tgz"; + path = fetchurl { + name = "http_proxy___http_proxy_1.17.0.tgz"; + url = "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz"; + sha1 = "7ad38494658f84605e2f6db4436df410f4e5be9a"; + }; + } + + { + name = "http_signature___http_signature_1.2.0.tgz"; + path = fetchurl { + name = "http_signature___http_signature_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz"; + sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1"; + }; + } + + { + name = "https_browserify___https_browserify_1.0.0.tgz"; + path = fetchurl { + name = "https_browserify___https_browserify_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz"; + sha1 = "ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"; + }; + } + + { + name = "iconv_lite___iconv_lite_0.4.23.tgz"; + path = fetchurl { + name = "iconv_lite___iconv_lite_0.4.23.tgz"; + url = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz"; + sha1 = "297871f63be507adcfbfca715d0cd0eed84e9a63"; + }; + } + + { + name = "iconv_lite___iconv_lite_0.4.24.tgz"; + path = fetchurl { + name = "iconv_lite___iconv_lite_0.4.24.tgz"; + url = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz"; + sha1 = "2022b4b25fbddc21d2f524974a474aafe733908b"; + }; + } + + { + name = "icss_replace_symbols___icss_replace_symbols_1.1.0.tgz"; + path = fetchurl { + name = "icss_replace_symbols___icss_replace_symbols_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz"; + sha1 = "06ea6f83679a7749e386cfe1fe812ae5db223ded"; + }; + } + + { + name = "icss_utils___icss_utils_4.0.0.tgz"; + path = fetchurl { + name = "icss_utils___icss_utils_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.0.0.tgz"; + sha1 = "d52cf4bcdcfa1c45c2dbefb4ffdf6b00ef608098"; + }; + } + + { + name = "ieee754___ieee754_1.1.12.tgz"; + path = fetchurl { + name = "ieee754___ieee754_1.1.12.tgz"; + url = "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz"; + sha1 = "50bf24e5b9c8bb98af4964c941cdb0918da7b60b"; + }; + } + + { + name = "iferr___iferr_0.1.5.tgz"; + path = fetchurl { + name = "iferr___iferr_0.1.5.tgz"; + url = "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz"; + sha1 = "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"; + }; + } + + { + name = "ignore_walk___ignore_walk_3.0.1.tgz"; + path = fetchurl { + name = "ignore_walk___ignore_walk_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz"; + sha1 = "a83e62e7d272ac0e3b551aaa82831a19b69f82f8"; + }; + } + + { + name = "ignore___ignore_4.0.6.tgz"; + path = fetchurl { + name = "ignore___ignore_4.0.6.tgz"; + url = "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz"; + sha1 = "750e3db5862087b4737ebac8207ffd1ef27b25fc"; + }; + } + + { + name = "immutable___immutable_3.8.2.tgz"; + path = fetchurl { + name = "immutable___immutable_3.8.2.tgz"; + url = "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz"; + sha1 = "c2439951455bb39913daf281376f1530e104adf3"; + }; + } + + { + name = "import_cwd___import_cwd_2.1.0.tgz"; + path = fetchurl { + name = "import_cwd___import_cwd_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz"; + sha1 = "aa6cf36e722761285cb371ec6519f53e2435b0a9"; + }; + } + + { + name = "import_fresh___import_fresh_2.0.0.tgz"; + path = fetchurl { + name = "import_fresh___import_fresh_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz"; + sha1 = "d81355c15612d386c61f9ddd3922d4304822a546"; + }; + } + + { + name = "import_from___import_from_2.1.0.tgz"; + path = fetchurl { + name = "import_from___import_from_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz"; + sha1 = "335db7f2a7affd53aaa471d4b8021dee36b7f3b1"; + }; + } + + { + name = "import_local___import_local_1.0.0.tgz"; + path = fetchurl { + name = "import_local___import_local_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz"; + sha1 = "5e4ffdc03f4fe6c009c6729beb29631c2f8227bc"; + }; + } + + { + name = "import_local___import_local_2.0.0.tgz"; + path = fetchurl { + name = "import_local___import_local_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz"; + sha1 = "55070be38a5993cf18ef6db7e961f5bee5c5a09d"; + }; + } + + { + name = "imports_loader___imports_loader_0.8.0.tgz"; + path = fetchurl { + name = "imports_loader___imports_loader_0.8.0.tgz"; + url = "https://registry.yarnpkg.com/imports-loader/-/imports-loader-0.8.0.tgz"; + sha1 = "030ea51b8ca05977c40a3abfd9b4088fe0be9a69"; + }; + } + + { + name = "imurmurhash___imurmurhash_0.1.4.tgz"; + path = fetchurl { + name = "imurmurhash___imurmurhash_0.1.4.tgz"; + url = "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz"; + sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea"; + }; + } + + { + name = "indexes_of___indexes_of_1.0.1.tgz"; + path = fetchurl { + name = "indexes_of___indexes_of_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz"; + sha1 = "f30f716c8e2bd346c7b67d3df3915566a7c05607"; + }; + } + + { + name = "indexof___indexof_0.0.1.tgz"; + path = fetchurl { + name = "indexof___indexof_0.0.1.tgz"; + url = "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz"; + sha1 = "82dc336d232b9062179d05ab3293a66059fd435d"; + }; + } + + { + name = "inflight___inflight_1.0.6.tgz"; + path = fetchurl { + name = "inflight___inflight_1.0.6.tgz"; + url = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz"; + sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9"; + }; + } + + { + name = "inherits___inherits_2.0.3.tgz"; + path = fetchurl { + name = "inherits___inherits_2.0.3.tgz"; + url = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz"; + sha1 = "633c2c83e3da42a502f52466022480f4208261de"; + }; + } + + { + name = "inherits___inherits_2.0.1.tgz"; + path = fetchurl { + name = "inherits___inherits_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz"; + sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1"; + }; + } + + { + name = "ini___ini_1.3.5.tgz"; + path = fetchurl { + name = "ini___ini_1.3.5.tgz"; + url = "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz"; + sha1 = "eee25f56db1c9ec6085e0c22778083f596abf927"; + }; + } + + { + name = "inquirer___inquirer_6.2.1.tgz"; + path = fetchurl { + name = "inquirer___inquirer_6.2.1.tgz"; + url = "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.1.tgz"; + sha1 = "9943fc4882161bdb0b0c9276769c75b32dbfcd52"; + }; + } + + { + name = "internal_ip___internal_ip_3.0.1.tgz"; + path = fetchurl { + name = "internal_ip___internal_ip_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/internal-ip/-/internal-ip-3.0.1.tgz"; + sha1 = "df5c99876e1d2eb2ea2d74f520e3f669a00ece27"; + }; + } + + { + name = "interpret___interpret_1.2.0.tgz"; + path = fetchurl { + name = "interpret___interpret_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz"; + sha1 = "d5061a6224be58e8083985f5014d844359576296"; + }; + } + + { + name = "intersection_observer___intersection_observer_0.5.1.tgz"; + path = fetchurl { + name = "intersection_observer___intersection_observer_0.5.1.tgz"; + url = "https://registry.yarnpkg.com/intersection-observer/-/intersection-observer-0.5.1.tgz"; + sha1 = "e340fc56ce74290fe2b2394d1ce88c4353ac6dfa"; + }; + } + + { + name = "intl_format_cache___intl_format_cache_2.1.0.tgz"; + path = fetchurl { + name = "intl_format_cache___intl_format_cache_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/intl-format-cache/-/intl-format-cache-2.1.0.tgz"; + sha1 = "04a369fecbfad6da6005bae1f14333332dcf9316"; + }; + } + + { + name = "intl_messageformat_parser___intl_messageformat_parser_1.4.0.tgz"; + path = fetchurl { + name = "intl_messageformat_parser___intl_messageformat_parser_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz"; + sha1 = "b43d45a97468cadbe44331d74bb1e8dea44fc075"; + }; + } + + { + name = "intl_messageformat___intl_messageformat_2.2.0.tgz"; + path = fetchurl { + name = "intl_messageformat___intl_messageformat_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-2.2.0.tgz"; + sha1 = "345bcd46de630b7683330c2e52177ff5eab484fc"; + }; + } + + { + name = "intl_relativeformat___intl_relativeformat_2.1.0.tgz"; + path = fetchurl { + name = "intl_relativeformat___intl_relativeformat_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/intl-relativeformat/-/intl-relativeformat-2.1.0.tgz"; + sha1 = "010f1105802251f40ac47d0e3e1a201348a255df"; + }; + } + + { + name = "intl___intl_1.2.5.tgz"; + path = fetchurl { + name = "intl___intl_1.2.5.tgz"; + url = "https://registry.yarnpkg.com/intl/-/intl-1.2.5.tgz"; + sha1 = "82244a2190c4e419f8371f5aa34daa3420e2abde"; + }; + } + + { + name = "invariant___invariant_2.2.4.tgz"; + path = fetchurl { + name = "invariant___invariant_2.2.4.tgz"; + url = "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz"; + sha1 = "610f3c92c9359ce1db616e538008d23ff35158e6"; + }; + } + + { + name = "invert_kv___invert_kv_1.0.0.tgz"; + path = fetchurl { + name = "invert_kv___invert_kv_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz"; + sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"; + }; + } + + { + name = "invert_kv___invert_kv_2.0.0.tgz"; + path = fetchurl { + name = "invert_kv___invert_kv_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz"; + sha1 = "7393f5afa59ec9ff5f67a27620d11c226e3eec02"; + }; + } + + { + name = "ip_regex___ip_regex_2.1.0.tgz"; + path = fetchurl { + name = "ip_regex___ip_regex_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz"; + sha1 = "fa78bf5d2e6913c911ce9f819ee5146bb6d844e9"; + }; + } + + { + name = "ip___ip_1.1.5.tgz"; + path = fetchurl { + name = "ip___ip_1.1.5.tgz"; + url = "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz"; + sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a"; + }; + } + + { + name = "ipaddr.js___ipaddr.js_1.8.0.tgz"; + path = fetchurl { + name = "ipaddr.js___ipaddr.js_1.8.0.tgz"; + url = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz"; + sha1 = "eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e"; + }; + } + + { + name = "ipaddr.js___ipaddr.js_1.8.1.tgz"; + path = fetchurl { + name = "ipaddr.js___ipaddr.js_1.8.1.tgz"; + url = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.1.tgz"; + sha1 = "fa4b79fa47fd3def5e3b159825161c0a519c9427"; + }; + } + + { + name = "is_absolute_url___is_absolute_url_2.1.0.tgz"; + path = fetchurl { + name = "is_absolute_url___is_absolute_url_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz"; + sha1 = "50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"; + }; + } + + { + name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz"; + path = fetchurl { + name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz"; + url = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz"; + sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"; + }; + } + + { + name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz"; + path = fetchurl { + name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz"; + sha1 = "169c2f6d3df1f992618072365c9b0ea1f6878656"; + }; + } + + { + name = "is_arrayish___is_arrayish_0.2.1.tgz"; + path = fetchurl { + name = "is_arrayish___is_arrayish_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz"; + sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d"; + }; + } + + { + name = "is_arrayish___is_arrayish_0.3.2.tgz"; + path = fetchurl { + name = "is_arrayish___is_arrayish_0.3.2.tgz"; + url = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz"; + sha1 = "4574a2ae56f7ab206896fb431eaeed066fdf8f03"; + }; + } + + { + name = "is_binary_path___is_binary_path_1.0.1.tgz"; + path = fetchurl { + name = "is_binary_path___is_binary_path_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz"; + sha1 = "75f16642b480f187a711c814161fd3a4a7655898"; + }; + } + + { + name = "is_boolean_object___is_boolean_object_1.0.0.tgz"; + path = fetchurl { + name = "is_boolean_object___is_boolean_object_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.0.tgz"; + sha1 = "98f8b28030684219a95f375cfbd88ce3405dff93"; + }; + } + + { + name = "is_buffer___is_buffer_1.1.6.tgz"; + path = fetchurl { + name = "is_buffer___is_buffer_1.1.6.tgz"; + url = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz"; + sha1 = "efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"; + }; + } + + { + name = "is_builtin_module___is_builtin_module_1.0.0.tgz"; + path = fetchurl { + name = "is_builtin_module___is_builtin_module_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz"; + sha1 = "540572d34f7ac3119f8f76c30cbc1b1e037affbe"; + }; + } + + { + name = "is_callable___is_callable_1.1.4.tgz"; + path = fetchurl { + name = "is_callable___is_callable_1.1.4.tgz"; + url = "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz"; + sha1 = "1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"; + }; + } + + { + name = "is_ci___is_ci_1.2.1.tgz"; + path = fetchurl { + name = "is_ci___is_ci_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz"; + sha1 = "e3779c8ee17fccf428488f6e281187f2e632841c"; + }; + } + + { + name = "is_color_stop___is_color_stop_1.1.0.tgz"; + path = fetchurl { + name = "is_color_stop___is_color_stop_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz"; + sha1 = "cfff471aee4dd5c9e158598fbe12967b5cdad345"; + }; + } + + { + name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz"; + path = fetchurl { + name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz"; + url = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz"; + sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56"; + }; + } + + { + name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz"; + path = fetchurl { + name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz"; + sha1 = "d84876321d0e7add03990406abbbbd36ba9268c7"; + }; + } + + { + name = "is_date_object___is_date_object_1.0.1.tgz"; + path = fetchurl { + name = "is_date_object___is_date_object_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz"; + sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"; + }; + } + + { + name = "is_descriptor___is_descriptor_0.1.6.tgz"; + path = fetchurl { + name = "is_descriptor___is_descriptor_0.1.6.tgz"; + url = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz"; + sha1 = "366d8240dde487ca51823b1ab9f07a10a78251ca"; + }; + } + + { + name = "is_descriptor___is_descriptor_1.0.2.tgz"; + path = fetchurl { + name = "is_descriptor___is_descriptor_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz"; + sha1 = "3b159746a66604b04f8c81524ba365c5f14d86ec"; + }; + } + + { + name = "is_directory___is_directory_0.3.1.tgz"; + path = fetchurl { + name = "is_directory___is_directory_0.3.1.tgz"; + url = "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz"; + sha1 = "61339b6f2475fc772fd9c9d83f5c8575dc154ae1"; + }; + } + + { + name = "is_dotfile___is_dotfile_1.0.3.tgz"; + path = fetchurl { + name = "is_dotfile___is_dotfile_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz"; + sha1 = "a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"; + }; + } + + { + name = "is_equal_shallow___is_equal_shallow_0.1.3.tgz"; + path = fetchurl { + name = "is_equal_shallow___is_equal_shallow_0.1.3.tgz"; + url = "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz"; + sha1 = "2238098fc221de0bcfa5d9eac4c45d638aa1c534"; + }; + } + + { + name = "is_extendable___is_extendable_0.1.1.tgz"; + path = fetchurl { + name = "is_extendable___is_extendable_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz"; + sha1 = "62b110e289a471418e3ec36a617d472e301dfc89"; + }; + } + + { + name = "is_extendable___is_extendable_1.0.1.tgz"; + path = fetchurl { + name = "is_extendable___is_extendable_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz"; + sha1 = "a7470f9e426733d81bd81e1155264e3a3507cab4"; + }; + } + + { + name = "is_extglob___is_extglob_1.0.0.tgz"; + path = fetchurl { + name = "is_extglob___is_extglob_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz"; + sha1 = "ac468177c4943405a092fc8f29760c6ffc6206c0"; + }; + } + + { + name = "is_extglob___is_extglob_2.1.1.tgz"; + path = fetchurl { + name = "is_extglob___is_extglob_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz"; + sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2"; + }; + } + + { + name = "is_finite___is_finite_1.0.2.tgz"; + path = fetchurl { + name = "is_finite___is_finite_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz"; + sha1 = "cc6677695602be550ef11e8b4aa6305342b6d0aa"; + }; + } + + { + name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz"; + path = fetchurl { + name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz"; + sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb"; + }; + } + + { + name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz"; + path = fetchurl { + name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz"; + sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f"; + }; + } + + { + name = "is_generator_fn___is_generator_fn_1.0.0.tgz"; + path = fetchurl { + name = "is_generator_fn___is_generator_fn_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz"; + sha1 = "969d49e1bb3329f6bb7f09089be26578b2ddd46a"; + }; + } + + { + name = "is_glob___is_glob_2.0.1.tgz"; + path = fetchurl { + name = "is_glob___is_glob_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz"; + sha1 = "d096f926a3ded5600f3fdfd91198cb0888c2d863"; + }; + } + + { + name = "is_glob___is_glob_3.1.0.tgz"; + path = fetchurl { + name = "is_glob___is_glob_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz"; + sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a"; + }; + } + + { + name = "is_glob___is_glob_4.0.0.tgz"; + path = fetchurl { + name = "is_glob___is_glob_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz"; + sha1 = "9521c76845cc2610a85203ddf080a958c2ffabc0"; + }; + } + + { + name = "is_nan___is_nan_1.2.1.tgz"; + path = fetchurl { + name = "is_nan___is_nan_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/is-nan/-/is-nan-1.2.1.tgz"; + sha1 = "9faf65b6fb6db24b7f5c0628475ea71f988401e2"; + }; + } + + { + name = "is_number_object___is_number_object_1.0.3.tgz"; + path = fetchurl { + name = "is_number_object___is_number_object_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.3.tgz"; + sha1 = "f265ab89a9f445034ef6aff15a8f00b00f551799"; + }; + } + + { + name = "is_number___is_number_2.1.0.tgz"; + path = fetchurl { + name = "is_number___is_number_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz"; + sha1 = "01fcbbb393463a548f2f466cce16dece49db908f"; + }; + } + + { + name = "is_number___is_number_3.0.0.tgz"; + path = fetchurl { + name = "is_number___is_number_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz"; + sha1 = "24fd6201a4782cf50561c810276afc7d12d71195"; + }; + } + + { + name = "is_number___is_number_4.0.0.tgz"; + path = fetchurl { + name = "is_number___is_number_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz"; + sha1 = "0026e37f5454d73e356dfe6564699867c6a7f0ff"; + }; + } + + { + name = "is_obj___is_obj_1.0.1.tgz"; + path = fetchurl { + name = "is_obj___is_obj_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz"; + sha1 = "3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"; + }; + } + + { + name = "is_path_cwd___is_path_cwd_1.0.0.tgz"; + path = fetchurl { + name = "is_path_cwd___is_path_cwd_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz"; + sha1 = "d225ec23132e89edd38fda767472e62e65f1106d"; + }; + } + + { + name = "is_path_in_cwd___is_path_in_cwd_1.0.1.tgz"; + path = fetchurl { + name = "is_path_in_cwd___is_path_in_cwd_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz"; + sha1 = "5ac48b345ef675339bd6c7a48a912110b241cf52"; + }; + } + + { + name = "is_path_inside___is_path_inside_1.0.1.tgz"; + path = fetchurl { + name = "is_path_inside___is_path_inside_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz"; + sha1 = "8ef5b7de50437a3fdca6b4e865ef7aa55cb48036"; + }; + } + + { + name = "is_plain_object___is_plain_object_2.0.4.tgz"; + path = fetchurl { + name = "is_plain_object___is_plain_object_2.0.4.tgz"; + url = "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz"; + sha1 = "2c163b3fafb1b606d9d17928f05c2a1c38e07677"; + }; + } + + { + name = "is_posix_bracket___is_posix_bracket_0.1.1.tgz"; + path = fetchurl { + name = "is_posix_bracket___is_posix_bracket_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz"; + sha1 = "3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"; + }; + } + + { + name = "is_primitive___is_primitive_2.0.0.tgz"; + path = fetchurl { + name = "is_primitive___is_primitive_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz"; + sha1 = "207bab91638499c07b2adf240a41a87210034575"; + }; + } + + { + name = "is_promise___is_promise_2.1.0.tgz"; + path = fetchurl { + name = "is_promise___is_promise_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz"; + sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"; + }; + } + + { + name = "is_regex___is_regex_1.0.4.tgz"; + path = fetchurl { + name = "is_regex___is_regex_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz"; + sha1 = "5517489b547091b0930e095654ced25ee97e9491"; + }; + } + + { + name = "is_resolvable___is_resolvable_1.1.0.tgz"; + path = fetchurl { + name = "is_resolvable___is_resolvable_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz"; + sha1 = "fb18f87ce1feb925169c9a407c19318a3206ed88"; + }; + } + + { + name = "is_stream___is_stream_1.1.0.tgz"; + path = fetchurl { + name = "is_stream___is_stream_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz"; + sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"; + }; + } + + { + name = "is_string___is_string_1.0.4.tgz"; + path = fetchurl { + name = "is_string___is_string_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/is-string/-/is-string-1.0.4.tgz"; + sha1 = "cc3a9b69857d621e963725a24caeec873b826e64"; + }; + } + + { + name = "is_subset___is_subset_0.1.1.tgz"; + path = fetchurl { + name = "is_subset___is_subset_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz"; + sha1 = "8a59117d932de1de00f245fcdd39ce43f1e939a6"; + }; + } + + { + name = "is_svg___is_svg_3.0.0.tgz"; + path = fetchurl { + name = "is_svg___is_svg_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz"; + sha1 = "9321dbd29c212e5ca99c4fa9794c714bcafa2f75"; + }; + } + + { + name = "is_symbol___is_symbol_1.0.2.tgz"; + path = fetchurl { + name = "is_symbol___is_symbol_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz"; + sha1 = "a055f6ae57192caee329e7a860118b497a950f38"; + }; + } + + { + name = "is_typedarray___is_typedarray_1.0.0.tgz"; + path = fetchurl { + name = "is_typedarray___is_typedarray_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz"; + sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a"; + }; + } + + { + name = "is_utf8___is_utf8_0.2.1.tgz"; + path = fetchurl { + name = "is_utf8___is_utf8_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz"; + sha1 = "4b0da1442104d1b336340e80797e865cf39f7d72"; + }; + } + + { + name = "is_windows___is_windows_1.0.2.tgz"; + path = fetchurl { + name = "is_windows___is_windows_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz"; + sha1 = "d1850eb9791ecd18e6182ce12a30f396634bb19d"; + }; + } + + { + name = "is_wsl___is_wsl_1.1.0.tgz"; + path = fetchurl { + name = "is_wsl___is_wsl_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz"; + sha1 = "1f16e4aa22b04d1336b66188a66af3c600c3a66d"; + }; + } + + { + name = "isarray___isarray_0.0.1.tgz"; + path = fetchurl { + name = "isarray___isarray_0.0.1.tgz"; + url = "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz"; + sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf"; + }; + } + + { + name = "isarray___isarray_1.0.0.tgz"; + path = fetchurl { + name = "isarray___isarray_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz"; + sha1 = "bb935d48582cba168c06834957a54a3e07124f11"; + }; + } + + { + name = "isexe___isexe_2.0.0.tgz"; + path = fetchurl { + name = "isexe___isexe_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz"; + sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10"; + }; + } + + { + name = "isobject___isobject_2.1.0.tgz"; + path = fetchurl { + name = "isobject___isobject_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz"; + sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89"; + }; + } + + { + name = "isobject___isobject_3.0.1.tgz"; + path = fetchurl { + name = "isobject___isobject_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz"; + sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"; + }; + } + + { + name = "isomorphic_fetch___isomorphic_fetch_2.2.1.tgz"; + path = fetchurl { + name = "isomorphic_fetch___isomorphic_fetch_2.2.1.tgz"; + url = "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz"; + sha1 = "611ae1acf14f5e81f729507472819fe9733558a9"; + }; + } + + { + name = "isstream___isstream_0.1.2.tgz"; + path = fetchurl { + name = "isstream___isstream_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz"; + sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a"; + }; + } + + { + name = "istanbul_api___istanbul_api_1.3.7.tgz"; + path = fetchurl { + name = "istanbul_api___istanbul_api_1.3.7.tgz"; + url = "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.3.7.tgz"; + sha1 = "a86c770d2b03e11e3f778cd7aedd82d2722092aa"; + }; + } + + { + name = "istanbul_lib_coverage___istanbul_lib_coverage_1.2.1.tgz"; + path = fetchurl { + name = "istanbul_lib_coverage___istanbul_lib_coverage_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz"; + sha1 = "ccf7edcd0a0bb9b8f729feeb0930470f9af664f0"; + }; + } + + { + name = "istanbul_lib_hook___istanbul_lib_hook_1.2.2.tgz"; + path = fetchurl { + name = "istanbul_lib_hook___istanbul_lib_hook_1.2.2.tgz"; + url = "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz"; + sha1 = "bc6bf07f12a641fbf1c85391d0daa8f0aea6bf86"; + }; + } + + { + name = "istanbul_lib_instrument___istanbul_lib_instrument_1.10.2.tgz"; + path = fetchurl { + name = "istanbul_lib_instrument___istanbul_lib_instrument_1.10.2.tgz"; + url = "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz"; + sha1 = "1f55ed10ac3c47f2bdddd5307935126754d0a9ca"; + }; + } + + { + name = "istanbul_lib_report___istanbul_lib_report_1.1.5.tgz"; + path = fetchurl { + name = "istanbul_lib_report___istanbul_lib_report_1.1.5.tgz"; + url = "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz"; + sha1 = "f2a657fc6282f96170aaf281eb30a458f7f4170c"; + }; + } + + { + name = "istanbul_lib_source_maps___istanbul_lib_source_maps_1.2.6.tgz"; + path = fetchurl { + name = "istanbul_lib_source_maps___istanbul_lib_source_maps_1.2.6.tgz"; + url = "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz"; + sha1 = "37b9ff661580f8fca11232752ee42e08c6675d8f"; + }; + } + + { + name = "istanbul_reports___istanbul_reports_1.5.1.tgz"; + path = fetchurl { + name = "istanbul_reports___istanbul_reports_1.5.1.tgz"; + url = "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.5.1.tgz"; + sha1 = "97e4dbf3b515e8c484caea15d6524eebd3ff4e1a"; + }; + } + + { + name = "jest_changed_files___jest_changed_files_23.4.2.tgz"; + path = fetchurl { + name = "jest_changed_files___jest_changed_files_23.4.2.tgz"; + url = "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-23.4.2.tgz"; + sha1 = "1eed688370cd5eebafe4ae93d34bb3b64968fe83"; + }; + } + + { + name = "jest_cli___jest_cli_23.6.0.tgz"; + path = fetchurl { + name = "jest_cli___jest_cli_23.6.0.tgz"; + url = "https://registry.yarnpkg.com/jest-cli/-/jest-cli-23.6.0.tgz"; + sha1 = "61ab917744338f443ef2baa282ddffdd658a5da4"; + }; + } + + { + name = "jest_config___jest_config_23.6.0.tgz"; + path = fetchurl { + name = "jest_config___jest_config_23.6.0.tgz"; + url = "https://registry.yarnpkg.com/jest-config/-/jest-config-23.6.0.tgz"; + sha1 = "f82546a90ade2d8c7026fbf6ac5207fc22f8eb1d"; + }; + } + + { + name = "jest_diff___jest_diff_23.6.0.tgz"; + path = fetchurl { + name = "jest_diff___jest_diff_23.6.0.tgz"; + url = "https://registry.yarnpkg.com/jest-diff/-/jest-diff-23.6.0.tgz"; + sha1 = "1500f3f16e850bb3d71233408089be099f610c7d"; + }; + } + + { + name = "jest_docblock___jest_docblock_23.2.0.tgz"; + path = fetchurl { + name = "jest_docblock___jest_docblock_23.2.0.tgz"; + url = "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.2.0.tgz"; + sha1 = "f085e1f18548d99fdd69b20207e6fd55d91383a7"; + }; + } + + { + name = "jest_each___jest_each_23.6.0.tgz"; + path = fetchurl { + name = "jest_each___jest_each_23.6.0.tgz"; + url = "https://registry.yarnpkg.com/jest-each/-/jest-each-23.6.0.tgz"; + sha1 = "ba0c3a82a8054387016139c733a05242d3d71575"; + }; + } + + { + name = "jest_environment_jsdom___jest_environment_jsdom_23.4.0.tgz"; + path = fetchurl { + name = "jest_environment_jsdom___jest_environment_jsdom_23.4.0.tgz"; + url = "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz"; + sha1 = "056a7952b3fea513ac62a140a2c368c79d9e6023"; + }; + } + + { + name = "jest_environment_node___jest_environment_node_23.4.0.tgz"; + path = fetchurl { + name = "jest_environment_node___jest_environment_node_23.4.0.tgz"; + url = "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-23.4.0.tgz"; + sha1 = "57e80ed0841dea303167cce8cd79521debafde10"; + }; + } + + { + name = "jest_get_type___jest_get_type_22.4.3.tgz"; + path = fetchurl { + name = "jest_get_type___jest_get_type_22.4.3.tgz"; + url = "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz"; + sha1 = "e3a8504d8479342dd4420236b322869f18900ce4"; + }; + } + + { + name = "jest_haste_map___jest_haste_map_23.6.0.tgz"; + path = fetchurl { + name = "jest_haste_map___jest_haste_map_23.6.0.tgz"; + url = "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-23.6.0.tgz"; + sha1 = "2e3eb997814ca696d62afdb3f2529f5bbc935e16"; + }; + } + + { + name = "jest_jasmine2___jest_jasmine2_23.6.0.tgz"; + path = fetchurl { + name = "jest_jasmine2___jest_jasmine2_23.6.0.tgz"; + url = "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-23.6.0.tgz"; + sha1 = "840e937f848a6c8638df24360ab869cc718592e0"; + }; + } + + { + name = "jest_leak_detector___jest_leak_detector_23.6.0.tgz"; + path = fetchurl { + name = "jest_leak_detector___jest_leak_detector_23.6.0.tgz"; + url = "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-23.6.0.tgz"; + sha1 = "e4230fd42cf381a1a1971237ad56897de7e171de"; + }; + } + + { + name = "jest_matcher_utils___jest_matcher_utils_23.6.0.tgz"; + path = fetchurl { + name = "jest_matcher_utils___jest_matcher_utils_23.6.0.tgz"; + url = "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-23.6.0.tgz"; + sha1 = "726bcea0c5294261a7417afb6da3186b4b8cac80"; + }; + } + + { + name = "jest_message_util___jest_message_util_23.4.0.tgz"; + path = fetchurl { + name = "jest_message_util___jest_message_util_23.4.0.tgz"; + url = "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-23.4.0.tgz"; + sha1 = "17610c50942349508d01a3d1e0bda2c079086a9f"; + }; + } + + { + name = "jest_mock___jest_mock_23.2.0.tgz"; + path = fetchurl { + name = "jest_mock___jest_mock_23.2.0.tgz"; + url = "https://registry.yarnpkg.com/jest-mock/-/jest-mock-23.2.0.tgz"; + sha1 = "ad1c60f29e8719d47c26e1138098b6d18b261134"; + }; + } + + { + name = "jest_regex_util___jest_regex_util_23.3.0.tgz"; + path = fetchurl { + name = "jest_regex_util___jest_regex_util_23.3.0.tgz"; + url = "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-23.3.0.tgz"; + sha1 = "5f86729547c2785c4002ceaa8f849fe8ca471bc5"; + }; + } + + { + name = "jest_resolve_dependencies___jest_resolve_dependencies_23.6.0.tgz"; + path = fetchurl { + name = "jest_resolve_dependencies___jest_resolve_dependencies_23.6.0.tgz"; + url = "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-23.6.0.tgz"; + sha1 = "b4526af24c8540d9a3fab102c15081cf509b723d"; + }; + } + + { + name = "jest_resolve___jest_resolve_23.6.0.tgz"; + path = fetchurl { + name = "jest_resolve___jest_resolve_23.6.0.tgz"; + url = "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-23.6.0.tgz"; + sha1 = "cf1d1a24ce7ee7b23d661c33ba2150f3aebfa0ae"; + }; + } + + { + name = "jest_runner___jest_runner_23.6.0.tgz"; + path = fetchurl { + name = "jest_runner___jest_runner_23.6.0.tgz"; + url = "https://registry.yarnpkg.com/jest-runner/-/jest-runner-23.6.0.tgz"; + sha1 = "3894bd219ffc3f3cb94dc48a4170a2e6f23a5a38"; + }; + } + + { + name = "jest_runtime___jest_runtime_23.6.0.tgz"; + path = fetchurl { + name = "jest_runtime___jest_runtime_23.6.0.tgz"; + url = "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-23.6.0.tgz"; + sha1 = "059e58c8ab445917cd0e0d84ac2ba68de8f23082"; + }; + } + + { + name = "jest_serializer___jest_serializer_23.0.1.tgz"; + path = fetchurl { + name = "jest_serializer___jest_serializer_23.0.1.tgz"; + url = "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-23.0.1.tgz"; + sha1 = "a3776aeb311e90fe83fab9e533e85102bd164165"; + }; + } + + { + name = "jest_snapshot___jest_snapshot_23.6.0.tgz"; + path = fetchurl { + name = "jest_snapshot___jest_snapshot_23.6.0.tgz"; + url = "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-23.6.0.tgz"; + sha1 = "f9c2625d1b18acda01ec2d2b826c0ce58a5aa17a"; + }; + } + + { + name = "jest_util___jest_util_23.4.0.tgz"; + path = fetchurl { + name = "jest_util___jest_util_23.4.0.tgz"; + url = "https://registry.yarnpkg.com/jest-util/-/jest-util-23.4.0.tgz"; + sha1 = "4d063cb927baf0a23831ff61bec2cbbf49793561"; + }; + } + + { + name = "jest_validate___jest_validate_23.6.0.tgz"; + path = fetchurl { + name = "jest_validate___jest_validate_23.6.0.tgz"; + url = "https://registry.yarnpkg.com/jest-validate/-/jest-validate-23.6.0.tgz"; + sha1 = "36761f99d1ed33fcd425b4e4c5595d62b6597474"; + }; + } + + { + name = "jest_watcher___jest_watcher_23.4.0.tgz"; + path = fetchurl { + name = "jest_watcher___jest_watcher_23.4.0.tgz"; + url = "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-23.4.0.tgz"; + sha1 = "d2e28ce74f8dad6c6afc922b92cabef6ed05c91c"; + }; + } + + { + name = "jest_worker___jest_worker_23.2.0.tgz"; + path = fetchurl { + name = "jest_worker___jest_worker_23.2.0.tgz"; + url = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-23.2.0.tgz"; + sha1 = "faf706a8da36fae60eb26957257fa7b5d8ea02b9"; + }; + } + + { + name = "jest___jest_23.6.0.tgz"; + path = fetchurl { + name = "jest___jest_23.6.0.tgz"; + url = "https://registry.yarnpkg.com/jest/-/jest-23.6.0.tgz"; + sha1 = "ad5835e923ebf6e19e7a1d7529a432edfee7813d"; + }; + } + + { + name = "js_base64___js_base64_2.5.0.tgz"; + path = fetchurl { + name = "js_base64___js_base64_2.5.0.tgz"; + url = "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.0.tgz"; + sha1 = "42255ba183ab67ce59a0dee640afdc00ab5ae93e"; + }; + } + + { + name = "js_levenshtein___js_levenshtein_1.1.4.tgz"; + path = fetchurl { + name = "js_levenshtein___js_levenshtein_1.1.4.tgz"; + url = "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.4.tgz"; + sha1 = "3a56e3cbf589ca0081eb22cd9ba0b1290a16d26e"; + }; + } + + { + name = "js_string_escape___js_string_escape_1.0.1.tgz"; + path = fetchurl { + name = "js_string_escape___js_string_escape_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz"; + sha1 = "e2625badbc0d67c7533e9edc1068c587ae4137ef"; + }; + } + + { + name = "js_tokens___js_tokens_4.0.0.tgz"; + path = fetchurl { + name = "js_tokens___js_tokens_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz"; + sha1 = "19203fb59991df98e3a287050d4647cdeaf32499"; + }; + } + + { + name = "js_tokens___js_tokens_3.0.2.tgz"; + path = fetchurl { + name = "js_tokens___js_tokens_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz"; + sha1 = "9866df395102130e38f7f996bceb65443209c25b"; + }; + } + + { + name = "js_yaml___js_yaml_3.12.0.tgz"; + path = fetchurl { + name = "js_yaml___js_yaml_3.12.0.tgz"; + url = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz"; + sha1 = "eaed656ec8344f10f527c6bfa1b6e2244de167d1"; + }; + } + + { + name = "jsbn___jsbn_0.1.1.tgz"; + path = fetchurl { + name = "jsbn___jsbn_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz"; + sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"; + }; + } + + { + name = "jsdom___jsdom_11.12.0.tgz"; + path = fetchurl { + name = "jsdom___jsdom_11.12.0.tgz"; + url = "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz"; + sha1 = "1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8"; + }; + } + + { + name = "jsesc___jsesc_1.3.0.tgz"; + path = fetchurl { + name = "jsesc___jsesc_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz"; + sha1 = "46c3fec8c1892b12b0833db9bc7622176dbab34b"; + }; + } + + { + name = "jsesc___jsesc_2.5.2.tgz"; + path = fetchurl { + name = "jsesc___jsesc_2.5.2.tgz"; + url = "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz"; + sha1 = "80564d2e483dacf6e8ef209650a67df3f0c283a4"; + }; + } + + { + name = "jsesc___jsesc_0.5.0.tgz"; + path = fetchurl { + name = "jsesc___jsesc_0.5.0.tgz"; + url = "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz"; + sha1 = "e7dee66e35d6fc16f710fe91d5cf69f70f08911d"; + }; + } + + { + name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz"; + path = fetchurl { + name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz"; + sha1 = "bb867cfb3450e69107c131d1c514bab3dc8bcaa9"; + }; + } + + { + name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz"; + path = fetchurl { + name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz"; + url = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"; + sha1 = "69f6a87d9513ab8bb8fe63bdb0979c448e684660"; + }; + } + + { + name = "json_schema___json_schema_0.2.3.tgz"; + path = fetchurl { + name = "json_schema___json_schema_0.2.3.tgz"; + url = "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz"; + sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13"; + }; + } + + { + name = "json_stable_stringify_without_jsonify___json_stable_stringify_without_jsonify_1.0.1.tgz"; + path = fetchurl { + name = "json_stable_stringify_without_jsonify___json_stable_stringify_without_jsonify_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz"; + sha1 = "9db7b59496ad3f3cfef30a75142d2d930ad72651"; + }; + } + + { + name = "json_stable_stringify___json_stable_stringify_1.0.1.tgz"; + path = fetchurl { + name = "json_stable_stringify___json_stable_stringify_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz"; + sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af"; + }; + } + + { + name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz"; + path = fetchurl { + name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz"; + url = "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"; + sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"; + }; + } + + { + name = "json3___json3_3.3.2.tgz"; + path = fetchurl { + name = "json3___json3_3.3.2.tgz"; + url = "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz"; + sha1 = "3c0434743df93e2f5c42aee7b19bcb483575f4e1"; + }; + } + + { + name = "json5___json5_0.5.1.tgz"; + path = fetchurl { + name = "json5___json5_0.5.1.tgz"; + url = "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz"; + sha1 = "1eade7acc012034ad84e2396767ead9fa5495821"; + }; + } + + { + name = "json5___json5_1.0.1.tgz"; + path = fetchurl { + name = "json5___json5_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz"; + sha1 = "779fb0018604fa854eacbf6252180d83543e3dbe"; + }; + } + + { + name = "json5___json5_2.1.0.tgz"; + path = fetchurl { + name = "json5___json5_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz"; + sha1 = "e7a0c62c48285c628d20a10b85c89bb807c32850"; + }; + } + + { + name = "jsonify___jsonify_0.0.0.tgz"; + path = fetchurl { + name = "jsonify___jsonify_0.0.0.tgz"; + url = "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz"; + sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73"; + }; + } + + { + name = "jsprim___jsprim_1.4.1.tgz"; + path = fetchurl { + name = "jsprim___jsprim_1.4.1.tgz"; + url = "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz"; + sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"; + }; + } + + { + name = "jsx_ast_utils___jsx_ast_utils_2.0.1.tgz"; + path = fetchurl { + name = "jsx_ast_utils___jsx_ast_utils_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz"; + sha1 = "e801b1b39985e20fffc87b40e3748080e2dcac7f"; + }; + } + + { + name = "keycode___keycode_2.2.0.tgz"; + path = fetchurl { + name = "keycode___keycode_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/keycode/-/keycode-2.2.0.tgz"; + sha1 = "3d0af56dc7b8b8e5cba8d0a97f107204eec22b04"; + }; + } + + { + name = "killable___killable_1.0.1.tgz"; + path = fetchurl { + name = "killable___killable_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz"; + sha1 = "4c8ce441187a061c7474fb87ca08e2a638194892"; + }; + } + + { + name = "kind_of___kind_of_3.2.2.tgz"; + path = fetchurl { + name = "kind_of___kind_of_3.2.2.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz"; + sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64"; + }; + } + + { + name = "kind_of___kind_of_4.0.0.tgz"; + path = fetchurl { + name = "kind_of___kind_of_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz"; + sha1 = "20813df3d712928b207378691a45066fae72dd57"; + }; + } + + { + name = "kind_of___kind_of_5.1.0.tgz"; + path = fetchurl { + name = "kind_of___kind_of_5.1.0.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz"; + sha1 = "729c91e2d857b7a419a1f9aa65685c4c33f5845d"; + }; + } + + { + name = "kind_of___kind_of_6.0.2.tgz"; + path = fetchurl { + name = "kind_of___kind_of_6.0.2.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz"; + sha1 = "01146b36a6218e64e58f3a8d66de5d7fc6f6d051"; + }; + } + + { + name = "kleur___kleur_2.0.2.tgz"; + path = fetchurl { + name = "kleur___kleur_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/kleur/-/kleur-2.0.2.tgz"; + sha1 = "b704f4944d95e255d038f0cb05fb8a602c55a300"; + }; + } + + { + name = "knot.js___knot.js_1.1.5.tgz"; + path = fetchurl { + name = "knot.js___knot.js_1.1.5.tgz"; + url = "https://registry.yarnpkg.com/knot.js/-/knot.js-1.1.5.tgz"; + sha1 = "28e72522f703f50fe98812fde224dd72728fef5d"; + }; + } + + { + name = "lcid___lcid_1.0.0.tgz"; + path = fetchurl { + name = "lcid___lcid_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz"; + sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835"; + }; + } + + { + name = "lcid___lcid_2.0.0.tgz"; + path = fetchurl { + name = "lcid___lcid_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz"; + sha1 = "6ef5d2df60e52f82eb228a4c373e8d1f397253cf"; + }; + } + + { + name = "left_pad___left_pad_1.3.0.tgz"; + path = fetchurl { + name = "left_pad___left_pad_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz"; + sha1 = "5b8a3a7765dfe001261dde915589e782f8c94d1e"; + }; + } + + { + name = "leven___leven_2.1.0.tgz"; + path = fetchurl { + name = "leven___leven_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz"; + sha1 = "c2e7a9f772094dee9d34202ae8acce4687875580"; + }; + } + + { + name = "levn___levn_0.3.0.tgz"; + path = fetchurl { + name = "levn___levn_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz"; + sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee"; + }; + } + + { + name = "load_json_file___load_json_file_1.1.0.tgz"; + path = fetchurl { + name = "load_json_file___load_json_file_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz"; + sha1 = "956905708d58b4bab4c2261b04f59f31c99374c0"; + }; + } + + { + name = "load_json_file___load_json_file_2.0.0.tgz"; + path = fetchurl { + name = "load_json_file___load_json_file_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz"; + sha1 = "7947e42149af80d696cbf797bcaabcfe1fe29ca8"; + }; + } + + { + name = "loader_runner___loader_runner_2.3.1.tgz"; + path = fetchurl { + name = "loader_runner___loader_runner_2.3.1.tgz"; + url = "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.1.tgz"; + sha1 = "026f12fe7c3115992896ac02ba022ba92971b979"; + }; + } + + { + name = "loader_utils___loader_utils_0.2.17.tgz"; + path = fetchurl { + name = "loader_utils___loader_utils_0.2.17.tgz"; + url = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz"; + sha1 = "f86e6374d43205a6e6c60e9196f17c0299bfb348"; + }; + } + + { + name = "loader_utils___loader_utils_1.2.3.tgz"; + path = fetchurl { + name = "loader_utils___loader_utils_1.2.3.tgz"; + url = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz"; + sha1 = "1ff5dc6911c9f0a062531a4c04b609406108c2c7"; + }; + } + + { + name = "locate_path___locate_path_2.0.0.tgz"; + path = fetchurl { + name = "locate_path___locate_path_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz"; + sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"; + }; + } + + { + name = "locate_path___locate_path_3.0.0.tgz"; + path = fetchurl { + name = "locate_path___locate_path_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz"; + sha1 = "dbec3b3ab759758071b58fe59fc41871af21400e"; + }; + } + + { + name = "lodash.debounce___lodash.debounce_4.0.8.tgz"; + path = fetchurl { + name = "lodash.debounce___lodash.debounce_4.0.8.tgz"; + url = "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz"; + sha1 = "82d79bff30a67c4005ffd5e2515300ad9ca4d7af"; + }; + } + + { + name = "lodash.defaults___lodash.defaults_4.2.0.tgz"; + path = fetchurl { + name = "lodash.defaults___lodash.defaults_4.2.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz"; + sha1 = "d09178716ffea4dde9e5fb7b37f6f0802274580c"; + }; + } + + { + name = "lodash.escape___lodash.escape_4.0.1.tgz"; + path = fetchurl { + name = "lodash.escape___lodash.escape_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-4.0.1.tgz"; + sha1 = "c9044690c21e04294beaa517712fded1fa88de98"; + }; + } + + { + name = "lodash.flattendeep___lodash.flattendeep_4.4.0.tgz"; + path = fetchurl { + name = "lodash.flattendeep___lodash.flattendeep_4.4.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz"; + sha1 = "fb030917f86a3134e5bc9bec0d69e0013ddfedb2"; + }; + } + + { + name = "lodash.get___lodash.get_4.4.2.tgz"; + path = fetchurl { + name = "lodash.get___lodash.get_4.4.2.tgz"; + url = "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz"; + sha1 = "2d177f652fa31e939b4438d5341499dfa3825e99"; + }; + } + + { + name = "lodash.has___lodash.has_4.5.2.tgz"; + path = fetchurl { + name = "lodash.has___lodash.has_4.5.2.tgz"; + url = "https://registry.yarnpkg.com/lodash.has/-/lodash.has-4.5.2.tgz"; + sha1 = "d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862"; + }; + } + + { + name = "lodash.isboolean___lodash.isboolean_3.0.3.tgz"; + path = fetchurl { + name = "lodash.isboolean___lodash.isboolean_3.0.3.tgz"; + url = "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz"; + sha1 = "6c2e171db2a257cd96802fd43b01b20d5f5870f6"; + }; + } + + { + name = "lodash.isequal___lodash.isequal_4.5.0.tgz"; + path = fetchurl { + name = "lodash.isequal___lodash.isequal_4.5.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz"; + sha1 = "415c4478f2bcc30120c22ce10ed3226f7d3e18e0"; + }; + } + + { + name = "lodash.isobject___lodash.isobject_3.0.2.tgz"; + path = fetchurl { + name = "lodash.isobject___lodash.isobject_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-3.0.2.tgz"; + sha1 = "3c8fb8d5b5bf4bf90ae06e14f2a530a4ed935e1d"; + }; + } + + { + name = "lodash.memoize___lodash.memoize_4.1.2.tgz"; + path = fetchurl { + name = "lodash.memoize___lodash.memoize_4.1.2.tgz"; + url = "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz"; + sha1 = "bcc6c49a42a2840ed997f323eada5ecd182e0bfe"; + }; + } + + { + name = "lodash.sortby___lodash.sortby_4.7.0.tgz"; + path = fetchurl { + name = "lodash.sortby___lodash.sortby_4.7.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz"; + sha1 = "edd14c824e2cc9c1e0b0a1b42bb5210516a42438"; + }; + } + + { + name = "lodash.tail___lodash.tail_4.1.1.tgz"; + path = fetchurl { + name = "lodash.tail___lodash.tail_4.1.1.tgz"; + url = "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz"; + sha1 = "d2333a36d9e7717c8ad2f7cacafec7c32b444664"; + }; + } + + { + name = "lodash.uniq___lodash.uniq_4.5.0.tgz"; + path = fetchurl { + name = "lodash.uniq___lodash.uniq_4.5.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz"; + sha1 = "d0225373aeb652adc1bc82e4945339a842754773"; + }; + } + + { + name = "lodash___lodash_4.17.11.tgz"; + path = fetchurl { + name = "lodash___lodash_4.17.11.tgz"; + url = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz"; + sha1 = "b39ea6229ef607ecd89e2c8df12536891cac9b8d"; + }; + } + + { + name = "loglevel___loglevel_1.6.1.tgz"; + path = fetchurl { + name = "loglevel___loglevel_1.6.1.tgz"; + url = "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz"; + sha1 = "e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa"; + }; + } + + { + name = "loose_envify___loose_envify_1.4.0.tgz"; + path = fetchurl { + name = "loose_envify___loose_envify_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz"; + sha1 = "71ee51fa7be4caec1a63839f7e682d8132d30caf"; + }; + } + + { + name = "lru_cache___lru_cache_4.1.5.tgz"; + path = fetchurl { + name = "lru_cache___lru_cache_4.1.5.tgz"; + url = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz"; + sha1 = "8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"; + }; + } + + { + name = "lru_cache___lru_cache_5.1.1.tgz"; + path = fetchurl { + name = "lru_cache___lru_cache_5.1.1.tgz"; + url = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz"; + sha1 = "1da27e6710271947695daf6848e847f01d84b920"; + }; + } + + { + name = "make_dir___make_dir_1.3.0.tgz"; + path = fetchurl { + name = "make_dir___make_dir_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz"; + sha1 = "79c1033b80515bd6d24ec9933e860ca75ee27f0c"; + }; + } + + { + name = "makeerror___makeerror_1.0.11.tgz"; + path = fetchurl { + name = "makeerror___makeerror_1.0.11.tgz"; + url = "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz"; + sha1 = "e01a5c9109f2af79660e4e8b9587790184f5a96c"; + }; + } + + { + name = "map_age_cleaner___map_age_cleaner_0.1.3.tgz"; + path = fetchurl { + name = "map_age_cleaner___map_age_cleaner_0.1.3.tgz"; + url = "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz"; + sha1 = "7d583a7306434c055fe474b0f45078e6e1b4b92a"; + }; + } + + { + name = "map_cache___map_cache_0.2.2.tgz"; + path = fetchurl { + name = "map_cache___map_cache_0.2.2.tgz"; + url = "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz"; + sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"; + }; + } + + { + name = "map_visit___map_visit_1.0.0.tgz"; + path = fetchurl { + name = "map_visit___map_visit_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz"; + sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"; + }; + } + + { + name = "mark_loader___mark_loader_0.1.6.tgz"; + path = fetchurl { + name = "mark_loader___mark_loader_0.1.6.tgz"; + url = "https://registry.yarnpkg.com/mark-loader/-/mark-loader-0.1.6.tgz"; + sha1 = "0abb477dca7421d70e20128ff6489f5cae8676d5"; + }; + } + + { + name = "marky___marky_1.2.1.tgz"; + path = fetchurl { + name = "marky___marky_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/marky/-/marky-1.2.1.tgz"; + sha1 = "a3fcf82ffd357756b8b8affec9fdbf3a30dc1b02"; + }; + } + + { + name = "math_random___math_random_1.0.1.tgz"; + path = fetchurl { + name = "math_random___math_random_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz"; + sha1 = "8b3aac588b8a66e4975e3cdea67f7bb329601fac"; + }; + } + + { + name = "md5.js___md5.js_1.3.5.tgz"; + path = fetchurl { + name = "md5.js___md5.js_1.3.5.tgz"; + url = "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz"; + sha1 = "b5d07b8e3216e3e27cd728d72f70d1e6a342005f"; + }; + } + + { + name = "mdn_data___mdn_data_1.1.4.tgz"; + path = fetchurl { + name = "mdn_data___mdn_data_1.1.4.tgz"; + url = "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz"; + sha1 = "50b5d4ffc4575276573c4eedb8780812a8419f01"; + }; + } + + { + name = "media_typer___media_typer_0.3.0.tgz"; + path = fetchurl { + name = "media_typer___media_typer_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz"; + sha1 = "8710d7af0aa626f8fffa1ce00168545263255748"; + }; + } + + { + name = "mem___mem_1.1.0.tgz"; + path = fetchurl { + name = "mem___mem_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz"; + sha1 = "5edd52b485ca1d900fe64895505399a0dfa45f76"; + }; + } + + { + name = "mem___mem_4.0.0.tgz"; + path = fetchurl { + name = "mem___mem_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/mem/-/mem-4.0.0.tgz"; + sha1 = "6437690d9471678f6cc83659c00cbafcd6b0cdaf"; + }; + } + + { + name = "memoize_one___memoize_one_4.1.0.tgz"; + path = fetchurl { + name = "memoize_one___memoize_one_4.1.0.tgz"; + url = "https://registry.yarnpkg.com/memoize-one/-/memoize-one-4.1.0.tgz"; + sha1 = "a2387c58c03fff27ca390c31b764a79addf3f906"; + }; + } + + { + name = "memory_fs___memory_fs_0.4.1.tgz"; + path = fetchurl { + name = "memory_fs___memory_fs_0.4.1.tgz"; + url = "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz"; + sha1 = "3a9a20b8462523e447cfbc7e8bb80ed667bfc552"; + }; + } + + { + name = "merge_descriptors___merge_descriptors_1.0.1.tgz"; + path = fetchurl { + name = "merge_descriptors___merge_descriptors_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz"; + sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61"; + }; + } + + { + name = "merge_stream___merge_stream_1.0.1.tgz"; + path = fetchurl { + name = "merge_stream___merge_stream_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz"; + sha1 = "4041202d508a342ba00174008df0c251b8c135e1"; + }; + } + + { + name = "merge___merge_1.2.1.tgz"; + path = fetchurl { + name = "merge___merge_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/merge/-/merge-1.2.1.tgz"; + sha1 = "38bebf80c3220a8a487b6fcfb3941bb11720c145"; + }; + } + + { + name = "methods___methods_1.1.2.tgz"; + path = fetchurl { + name = "methods___methods_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz"; + sha1 = "5529a4d67654134edcc5266656835b0f851afcee"; + }; + } + + { + name = "micromatch___micromatch_2.3.11.tgz"; + path = fetchurl { + name = "micromatch___micromatch_2.3.11.tgz"; + url = "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz"; + sha1 = "86677c97d1720b363431d04d0d15293bd38c1565"; + }; + } + + { + name = "micromatch___micromatch_3.1.10.tgz"; + path = fetchurl { + name = "micromatch___micromatch_3.1.10.tgz"; + url = "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz"; + sha1 = "70859bc95c9840952f359a068a3fc49f9ecfac23"; + }; + } + + { + name = "miller_rabin___miller_rabin_4.0.1.tgz"; + path = fetchurl { + name = "miller_rabin___miller_rabin_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz"; + sha1 = "f080351c865b0dc562a8462966daa53543c78a4d"; + }; + } + + { + name = "mime_db___mime_db_1.37.0.tgz"; + path = fetchurl { + name = "mime_db___mime_db_1.37.0.tgz"; + url = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz"; + sha1 = "0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8"; + }; + } + + { + name = "mime_types___mime_types_2.1.21.tgz"; + path = fetchurl { + name = "mime_types___mime_types_2.1.21.tgz"; + url = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz"; + sha1 = "28995aa1ecb770742fe6ae7e58f9181c744b3f96"; + }; + } + + { + name = "mime___mime_1.4.1.tgz"; + path = fetchurl { + name = "mime___mime_1.4.1.tgz"; + url = "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz"; + sha1 = "121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"; + }; + } + + { + name = "mime___mime_2.4.0.tgz"; + path = fetchurl { + name = "mime___mime_2.4.0.tgz"; + url = "https://registry.yarnpkg.com/mime/-/mime-2.4.0.tgz"; + sha1 = "e051fd881358585f3279df333fe694da0bcffdd6"; + }; + } + + { + name = "mimic_fn___mimic_fn_1.2.0.tgz"; + path = fetchurl { + name = "mimic_fn___mimic_fn_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz"; + sha1 = "820c86a39334640e99516928bd03fca88057d022"; + }; + } + + { + name = "mini_css_extract_plugin___mini_css_extract_plugin_0.5.0.tgz"; + path = fetchurl { + name = "mini_css_extract_plugin___mini_css_extract_plugin_0.5.0.tgz"; + url = "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.5.0.tgz"; + sha1 = "ac0059b02b9692515a637115b0cc9fed3a35c7b0"; + }; + } + + { + name = "minimalistic_assert___minimalistic_assert_1.0.1.tgz"; + path = fetchurl { + name = "minimalistic_assert___minimalistic_assert_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz"; + sha1 = "2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"; + }; + } + + { + name = "minimalistic_crypto_utils___minimalistic_crypto_utils_1.0.1.tgz"; + path = fetchurl { + name = "minimalistic_crypto_utils___minimalistic_crypto_utils_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz"; + sha1 = "f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"; + }; + } + + { + name = "minimatch___minimatch_3.0.4.tgz"; + path = fetchurl { + name = "minimatch___minimatch_3.0.4.tgz"; + url = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz"; + sha1 = "5166e286457f03306064be5497e8dbb0c3d32083"; + }; + } + + { + name = "minimist___minimist_0.0.8.tgz"; + path = fetchurl { + name = "minimist___minimist_0.0.8.tgz"; + url = "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz"; + sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d"; + }; + } + + { + name = "minimist___minimist_1.2.0.tgz"; + path = fetchurl { + name = "minimist___minimist_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz"; + sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284"; + }; + } + + { + name = "minimist___minimist_0.0.10.tgz"; + path = fetchurl { + name = "minimist___minimist_0.0.10.tgz"; + url = "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz"; + sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf"; + }; + } + + { + name = "minipass___minipass_2.3.5.tgz"; + path = fetchurl { + name = "minipass___minipass_2.3.5.tgz"; + url = "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz"; + sha1 = "cacebe492022497f656b0f0f51e2682a9ed2d848"; + }; + } + + { + name = "minizlib___minizlib_1.2.1.tgz"; + path = fetchurl { + name = "minizlib___minizlib_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz"; + sha1 = "dd27ea6136243c7c880684e8672bb3a45fd9b614"; + }; + } + + { + name = "mississippi___mississippi_3.0.0.tgz"; + path = fetchurl { + name = "mississippi___mississippi_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz"; + sha1 = "ea0a3291f97e0b5e8776b363d5f0a12d94c67022"; + }; + } + + { + name = "mixin_deep___mixin_deep_1.3.1.tgz"; + path = fetchurl { + name = "mixin_deep___mixin_deep_1.3.1.tgz"; + url = "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz"; + sha1 = "a49e7268dce1a0d9698e45326c5626df3543d0fe"; + }; + } + + { + name = "mixin_object___mixin_object_2.0.1.tgz"; + path = fetchurl { + name = "mixin_object___mixin_object_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz"; + sha1 = "4fb949441dab182540f1fe035ba60e1947a5e57e"; + }; + } + + { + name = "mkdirp___mkdirp_0.5.1.tgz"; + path = fetchurl { + name = "mkdirp___mkdirp_0.5.1.tgz"; + url = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz"; + sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903"; + }; + } + + { + name = "moo___moo_0.4.3.tgz"; + path = fetchurl { + name = "moo___moo_0.4.3.tgz"; + url = "https://registry.yarnpkg.com/moo/-/moo-0.4.3.tgz"; + sha1 = "3f847a26f31cf625a956a87f2b10fbc013bfd10e"; + }; + } + + { + name = "mousetrap___mousetrap_1.6.2.tgz"; + path = fetchurl { + name = "mousetrap___mousetrap_1.6.2.tgz"; + url = "https://registry.yarnpkg.com/mousetrap/-/mousetrap-1.6.2.tgz"; + sha1 = "caadd9cf886db0986fb2fee59a82f6bd37527587"; + }; + } + + { + name = "move_concurrently___move_concurrently_1.0.1.tgz"; + path = fetchurl { + name = "move_concurrently___move_concurrently_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz"; + sha1 = "be2c005fda32e0b29af1f05d7c4b33214c701f92"; + }; + } + + { + name = "ms___ms_2.0.0.tgz"; + path = fetchurl { + name = "ms___ms_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz"; + sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8"; + }; + } + + { + name = "ms___ms_2.1.1.tgz"; + path = fetchurl { + name = "ms___ms_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz"; + sha1 = "30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"; + }; + } + + { + name = "multicast_dns_service_types___multicast_dns_service_types_1.1.0.tgz"; + path = fetchurl { + name = "multicast_dns_service_types___multicast_dns_service_types_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz"; + sha1 = "899f11d9686e5e05cb91b35d5f0e63b773cfc901"; + }; + } + + { + name = "multicast_dns___multicast_dns_6.2.3.tgz"; + path = fetchurl { + name = "multicast_dns___multicast_dns_6.2.3.tgz"; + url = "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz"; + sha1 = "a0ec7bd9055c4282f790c3c82f4e28db3b31b229"; + }; + } + + { + name = "mute_stream___mute_stream_0.0.7.tgz"; + path = fetchurl { + name = "mute_stream___mute_stream_0.0.7.tgz"; + url = "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz"; + sha1 = "3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"; + }; + } + + { + name = "nan___nan_2.12.1.tgz"; + path = fetchurl { + name = "nan___nan_2.12.1.tgz"; + url = "https://registry.yarnpkg.com/nan/-/nan-2.12.1.tgz"; + sha1 = "7b1aa193e9aa86057e3c7bbd0ac448e770925552"; + }; + } + + { + name = "nanomatch___nanomatch_1.2.13.tgz"; + path = fetchurl { + name = "nanomatch___nanomatch_1.2.13.tgz"; + url = "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz"; + sha1 = "b87a8aa4fc0de8fe6be88895b38983ff265bd119"; + }; + } + + { + name = "natural_compare___natural_compare_1.4.0.tgz"; + path = fetchurl { + name = "natural_compare___natural_compare_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz"; + sha1 = "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"; + }; + } + + { + name = "nearley___nearley_2.16.0.tgz"; + path = fetchurl { + name = "nearley___nearley_2.16.0.tgz"; + url = "https://registry.yarnpkg.com/nearley/-/nearley-2.16.0.tgz"; + sha1 = "77c297d041941d268290ec84b739d0ee297e83a7"; + }; + } + + { + name = "needle___needle_2.2.4.tgz"; + path = fetchurl { + name = "needle___needle_2.2.4.tgz"; + url = "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz"; + sha1 = "51931bff82533b1928b7d1d69e01f1b00ffd2a4e"; + }; + } + + { + name = "negotiator___negotiator_0.6.1.tgz"; + path = fetchurl { + name = "negotiator___negotiator_0.6.1.tgz"; + url = "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz"; + sha1 = "2b327184e8992101177b28563fb5e7102acd0ca9"; + }; + } + + { + name = "neo_async___neo_async_2.6.0.tgz"; + path = fetchurl { + name = "neo_async___neo_async_2.6.0.tgz"; + url = "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.0.tgz"; + sha1 = "b9d15e4d71c6762908654b5183ed38b753340835"; + }; + } + + { + name = "next_tick___next_tick_1.0.0.tgz"; + path = fetchurl { + name = "next_tick___next_tick_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz"; + sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c"; + }; + } + + { + name = "nice_try___nice_try_1.0.5.tgz"; + path = fetchurl { + name = "nice_try___nice_try_1.0.5.tgz"; + url = "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz"; + sha1 = "a3378a7696ce7d223e88fc9b764bd7ef1089e366"; + }; + } + + { + name = "node_fetch___node_fetch_1.7.3.tgz"; + path = fetchurl { + name = "node_fetch___node_fetch_1.7.3.tgz"; + url = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz"; + sha1 = "980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"; + }; + } + + { + name = "node_forge___node_forge_0.7.5.tgz"; + path = fetchurl { + name = "node_forge___node_forge_0.7.5.tgz"; + url = "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz"; + sha1 = "6c152c345ce11c52f465c2abd957e8639cd674df"; + }; + } + + { + name = "node_int64___node_int64_0.4.0.tgz"; + path = fetchurl { + name = "node_int64___node_int64_0.4.0.tgz"; + url = "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz"; + sha1 = "87a9065cdb355d3182d8f94ce11188b825c68a3b"; + }; + } + + { + name = "node_libs_browser___node_libs_browser_2.1.0.tgz"; + path = fetchurl { + name = "node_libs_browser___node_libs_browser_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz"; + sha1 = "5f94263d404f6e44767d726901fff05478d600df"; + }; + } + + { + name = "node_notifier___node_notifier_5.3.0.tgz"; + path = fetchurl { + name = "node_notifier___node_notifier_5.3.0.tgz"; + url = "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.3.0.tgz"; + sha1 = "c77a4a7b84038733d5fb351aafd8a268bfe19a01"; + }; + } + + { + name = "node_pre_gyp___node_pre_gyp_0.10.3.tgz"; + path = fetchurl { + name = "node_pre_gyp___node_pre_gyp_0.10.3.tgz"; + url = "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz"; + sha1 = "3070040716afdc778747b61b6887bf78880b80fc"; + }; + } + + { + name = "node_releases___node_releases_1.1.3.tgz"; + path = fetchurl { + name = "node_releases___node_releases_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.3.tgz"; + sha1 = "aad9ce0dcb98129c753f772c0aa01360fb90fbd2"; + }; + } + + { + name = "nopt___nopt_4.0.1.tgz"; + path = fetchurl { + name = "nopt___nopt_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz"; + sha1 = "d0d4685afd5415193c8c7505602d0d17cd64474d"; + }; + } + + { + name = "normalize_package_data___normalize_package_data_2.4.0.tgz"; + path = fetchurl { + name = "normalize_package_data___normalize_package_data_2.4.0.tgz"; + url = "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz"; + sha1 = "12f95a307d58352075a04907b84ac8be98ac012f"; + }; + } + + { + name = "normalize_path___normalize_path_2.1.1.tgz"; + path = fetchurl { + name = "normalize_path___normalize_path_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz"; + sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"; + }; + } + + { + name = "normalize_range___normalize_range_0.1.2.tgz"; + path = fetchurl { + name = "normalize_range___normalize_range_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz"; + sha1 = "2d10c06bdfd312ea9777695a4d28439456b75942"; + }; + } + + { + name = "normalize_url___normalize_url_3.3.0.tgz"; + path = fetchurl { + name = "normalize_url___normalize_url_3.3.0.tgz"; + url = "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz"; + sha1 = "b2e1c4dc4f7c6d57743df733a4f5978d18650559"; + }; + } + + { + name = "npm_bundled___npm_bundled_1.0.5.tgz"; + path = fetchurl { + name = "npm_bundled___npm_bundled_1.0.5.tgz"; + url = "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz"; + sha1 = "3c1732b7ba936b3a10325aef616467c0ccbcc979"; + }; + } + + { + name = "npm_packlist___npm_packlist_1.1.12.tgz"; + path = fetchurl { + name = "npm_packlist___npm_packlist_1.1.12.tgz"; + url = "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.12.tgz"; + sha1 = "22bde2ebc12e72ca482abd67afc51eb49377243a"; + }; + } + + { + name = "npm_run_path___npm_run_path_2.0.2.tgz"; + path = fetchurl { + name = "npm_run_path___npm_run_path_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz"; + sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f"; + }; + } + + { + name = "npmlog___npmlog_4.1.2.tgz"; + path = fetchurl { + name = "npmlog___npmlog_4.1.2.tgz"; + url = "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz"; + sha1 = "08a7f2a8bf734604779a9efa4ad5cc717abb954b"; + }; + } + + { + name = "nth_check___nth_check_1.0.2.tgz"; + path = fetchurl { + name = "nth_check___nth_check_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz"; + sha1 = "b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"; + }; + } + + { + name = "num2fraction___num2fraction_1.2.2.tgz"; + path = fetchurl { + name = "num2fraction___num2fraction_1.2.2.tgz"; + url = "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz"; + sha1 = "6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"; + }; + } + + { + name = "number_is_nan___number_is_nan_1.0.1.tgz"; + path = fetchurl { + name = "number_is_nan___number_is_nan_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz"; + sha1 = "097b602b53422a522c1afb8790318336941a011d"; + }; + } + + { + name = "nwsapi___nwsapi_2.0.9.tgz"; + path = fetchurl { + name = "nwsapi___nwsapi_2.0.9.tgz"; + url = "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.0.9.tgz"; + sha1 = "77ac0cdfdcad52b6a1151a84e73254edc33ed016"; + }; + } + + { + name = "oauth_sign___oauth_sign_0.9.0.tgz"; + path = fetchurl { + name = "oauth_sign___oauth_sign_0.9.0.tgz"; + url = "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz"; + sha1 = "47a7b016baa68b5fa0ecf3dee08a85c679ac6455"; + }; + } + + { + name = "object_assign___object_assign_4.1.0.tgz"; + path = fetchurl { + name = "object_assign___object_assign_4.1.0.tgz"; + url = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz"; + sha1 = "7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"; + }; + } + + { + name = "object_assign___object_assign_4.1.1.tgz"; + path = fetchurl { + name = "object_assign___object_assign_4.1.1.tgz"; + url = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz"; + sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863"; + }; + } + + { + name = "object_copy___object_copy_0.1.0.tgz"; + path = fetchurl { + name = "object_copy___object_copy_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz"; + sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c"; + }; + } + + { + name = "object_fit_images___object_fit_images_3.2.4.tgz"; + path = fetchurl { + name = "object_fit_images___object_fit_images_3.2.4.tgz"; + url = "https://registry.yarnpkg.com/object-fit-images/-/object-fit-images-3.2.4.tgz"; + sha1 = "6c299d38fdf207746e5d2d46c2877f6f25d15b52"; + }; + } + + { + name = "object_inspect___object_inspect_1.6.0.tgz"; + path = fetchurl { + name = "object_inspect___object_inspect_1.6.0.tgz"; + url = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz"; + sha1 = "c70b6cbf72f274aab4c34c0c82f5167bf82cf15b"; + }; + } + + { + name = "object_is___object_is_1.0.1.tgz"; + path = fetchurl { + name = "object_is___object_is_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz"; + sha1 = "0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6"; + }; + } + + { + name = "object_keys___object_keys_1.0.12.tgz"; + path = fetchurl { + name = "object_keys___object_keys_1.0.12.tgz"; + url = "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz"; + sha1 = "09c53855377575310cca62f55bb334abff7b3ed2"; + }; + } + + { + name = "object_visit___object_visit_1.0.1.tgz"; + path = fetchurl { + name = "object_visit___object_visit_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz"; + sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb"; + }; + } + + { + name = "object.assign___object.assign_4.1.0.tgz"; + path = fetchurl { + name = "object.assign___object.assign_4.1.0.tgz"; + url = "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz"; + sha1 = "968bf1100d7956bb3ca086f006f846b3bc4008da"; + }; + } + + { + name = "object.entries___object.entries_1.1.0.tgz"; + path = fetchurl { + name = "object.entries___object.entries_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz"; + sha1 = "2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519"; + }; + } + + { + name = "object.fromentries___object.fromentries_2.0.0.tgz"; + path = fetchurl { + name = "object.fromentries___object.fromentries_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz"; + sha1 = "49a543d92151f8277b3ac9600f1e930b189d30ab"; + }; + } + + { + name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.0.3.tgz"; + path = fetchurl { + name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.0.3.tgz"; + url = "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz"; + sha1 = "8758c846f5b407adab0f236e0986f14b051caa16"; + }; + } + + { + name = "object.omit___object.omit_2.0.1.tgz"; + path = fetchurl { + name = "object.omit___object.omit_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz"; + sha1 = "1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"; + }; + } + + { + name = "object.pick___object.pick_1.3.0.tgz"; + path = fetchurl { + name = "object.pick___object.pick_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz"; + sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747"; + }; + } + + { + name = "object.values___object.values_1.0.4.tgz"; + path = fetchurl { + name = "object.values___object.values_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/object.values/-/object.values-1.0.4.tgz"; + sha1 = "e524da09b4f66ff05df457546ec72ac99f13069a"; + }; + } + + { + name = "obuf___obuf_1.1.2.tgz"; + path = fetchurl { + name = "obuf___obuf_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz"; + sha1 = "09bea3343d41859ebd446292d11c9d4db619084e"; + }; + } + + { + name = "offline_plugin___offline_plugin_5.0.6.tgz"; + path = fetchurl { + name = "offline_plugin___offline_plugin_5.0.6.tgz"; + url = "https://registry.yarnpkg.com/offline-plugin/-/offline-plugin-5.0.6.tgz"; + sha1 = "7a7b244220cddb8a8cabecb172ec5c0be03e74b2"; + }; + } + + { + name = "on_finished___on_finished_2.3.0.tgz"; + path = fetchurl { + name = "on_finished___on_finished_2.3.0.tgz"; + url = "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz"; + sha1 = "20f1336481b083cd75337992a16971aa2d906947"; + }; + } + + { + name = "on_headers___on_headers_1.0.1.tgz"; + path = fetchurl { + name = "on_headers___on_headers_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz"; + sha1 = "928f5d0f470d49342651ea6794b0857c100693f7"; + }; + } + + { + name = "once___once_1.4.0.tgz"; + path = fetchurl { + name = "once___once_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz"; + sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1"; + }; + } + + { + name = "onetime___onetime_2.0.1.tgz"; + path = fetchurl { + name = "onetime___onetime_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz"; + sha1 = "067428230fd67443b2794b22bba528b6867962d4"; + }; + } + + { + name = "opener___opener_1.5.1.tgz"; + path = fetchurl { + name = "opener___opener_1.5.1.tgz"; + url = "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz"; + sha1 = "6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed"; + }; + } + + { + name = "opn___opn_5.4.0.tgz"; + path = fetchurl { + name = "opn___opn_5.4.0.tgz"; + url = "https://registry.yarnpkg.com/opn/-/opn-5.4.0.tgz"; + sha1 = "cb545e7aab78562beb11aa3bfabc7042e1761035"; + }; + } + + { + name = "optimist___optimist_0.6.1.tgz"; + path = fetchurl { + name = "optimist___optimist_0.6.1.tgz"; + url = "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz"; + sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686"; + }; + } + + { + name = "optionator___optionator_0.8.2.tgz"; + path = fetchurl { + name = "optionator___optionator_0.8.2.tgz"; + url = "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz"; + sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64"; + }; + } + + { + name = "original___original_1.0.2.tgz"; + path = fetchurl { + name = "original___original_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz"; + sha1 = "e442a61cffe1c5fd20a65f3261c26663b303f25f"; + }; + } + + { + name = "os_browserify___os_browserify_0.3.0.tgz"; + path = fetchurl { + name = "os_browserify___os_browserify_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz"; + sha1 = "854373c7f5c2315914fc9bfc6bd8238fdda1ec27"; + }; + } + + { + name = "os_homedir___os_homedir_1.0.2.tgz"; + path = fetchurl { + name = "os_homedir___os_homedir_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz"; + sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3"; + }; + } + + { + name = "os_locale___os_locale_2.1.0.tgz"; + path = fetchurl { + name = "os_locale___os_locale_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz"; + sha1 = "42bc2900a6b5b8bd17376c8e882b65afccf24bf2"; + }; + } + + { + name = "os_locale___os_locale_3.1.0.tgz"; + path = fetchurl { + name = "os_locale___os_locale_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz"; + sha1 = "a802a6ee17f24c10483ab9935719cef4ed16bf1a"; + }; + } + + { + name = "os_tmpdir___os_tmpdir_1.0.2.tgz"; + path = fetchurl { + name = "os_tmpdir___os_tmpdir_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz"; + sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274"; + }; + } + + { + name = "osenv___osenv_0.1.5.tgz"; + path = fetchurl { + name = "osenv___osenv_0.1.5.tgz"; + url = "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz"; + sha1 = "85cdfafaeb28e8677f416e287592b5f3f49ea410"; + }; + } + + { + name = "p_defer___p_defer_1.0.0.tgz"; + path = fetchurl { + name = "p_defer___p_defer_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz"; + sha1 = "9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c"; + }; + } + + { + name = "p_finally___p_finally_1.0.0.tgz"; + path = fetchurl { + name = "p_finally___p_finally_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz"; + sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae"; + }; + } + + { + name = "p_is_promise___p_is_promise_1.1.0.tgz"; + path = fetchurl { + name = "p_is_promise___p_is_promise_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz"; + sha1 = "9c9456989e9f6588017b0434d56097675c3da05e"; + }; + } + + { + name = "p_limit___p_limit_1.3.0.tgz"; + path = fetchurl { + name = "p_limit___p_limit_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz"; + sha1 = "b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"; + }; + } + + { + name = "p_limit___p_limit_2.1.0.tgz"; + path = fetchurl { + name = "p_limit___p_limit_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/p-limit/-/p-limit-2.1.0.tgz"; + sha1 = "1d5a0d20fb12707c758a655f6bbc4386b5930d68"; + }; + } + + { + name = "p_locate___p_locate_2.0.0.tgz"; + path = fetchurl { + name = "p_locate___p_locate_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz"; + sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43"; + }; + } + + { + name = "p_locate___p_locate_3.0.0.tgz"; + path = fetchurl { + name = "p_locate___p_locate_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz"; + sha1 = "322d69a05c0264b25997d9f40cd8a891ab0064a4"; + }; + } + + { + name = "p_map___p_map_1.2.0.tgz"; + path = fetchurl { + name = "p_map___p_map_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz"; + sha1 = "e4e94f311eabbc8633a1e79908165fca26241b6b"; + }; + } + + { + name = "p_try___p_try_1.0.0.tgz"; + path = fetchurl { + name = "p_try___p_try_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz"; + sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"; + }; + } + + { + name = "p_try___p_try_2.0.0.tgz"; + path = fetchurl { + name = "p_try___p_try_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz"; + sha1 = "85080bb87c64688fa47996fe8f7dfbe8211760b1"; + }; + } + + { + name = "packet_reader___packet_reader_0.3.1.tgz"; + path = fetchurl { + name = "packet_reader___packet_reader_0.3.1.tgz"; + url = "https://registry.yarnpkg.com/packet-reader/-/packet-reader-0.3.1.tgz"; + sha1 = "cd62e60af8d7fea8a705ec4ff990871c46871f27"; + }; + } + + { + name = "pako___pako_1.0.7.tgz"; + path = fetchurl { + name = "pako___pako_1.0.7.tgz"; + url = "https://registry.yarnpkg.com/pako/-/pako-1.0.7.tgz"; + sha1 = "2473439021b57f1516c82f58be7275ad8ef1bb27"; + }; + } + + { + name = "parallel_transform___parallel_transform_1.1.0.tgz"; + path = fetchurl { + name = "parallel_transform___parallel_transform_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz"; + sha1 = "d410f065b05da23081fcd10f28854c29bda33b06"; + }; + } + + { + name = "parse_asn1___parse_asn1_5.1.1.tgz"; + path = fetchurl { + name = "parse_asn1___parse_asn1_5.1.1.tgz"; + url = "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.1.tgz"; + sha1 = "f6bf293818332bd0dab54efb16087724745e6ca8"; + }; + } + + { + name = "parse_css_font___parse_css_font_2.0.2.tgz"; + path = fetchurl { + name = "parse_css_font___parse_css_font_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/parse-css-font/-/parse-css-font-2.0.2.tgz"; + sha1 = "7b60b060705a25a9b90b7f0ed493e5823248a652"; + }; + } + + { + name = "parse_glob___parse_glob_3.0.4.tgz"; + path = fetchurl { + name = "parse_glob___parse_glob_3.0.4.tgz"; + url = "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz"; + sha1 = "b2c376cfb11f35513badd173ef0bb6e3a388391c"; + }; + } + + { + name = "parse_json___parse_json_2.2.0.tgz"; + path = fetchurl { + name = "parse_json___parse_json_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz"; + sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9"; + }; + } + + { + name = "parse_json___parse_json_4.0.0.tgz"; + path = fetchurl { + name = "parse_json___parse_json_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz"; + sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0"; + }; + } + + { + name = "parse5___parse5_4.0.0.tgz"; + path = fetchurl { + name = "parse5___parse5_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz"; + sha1 = "6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608"; + }; + } + + { + name = "parse5___parse5_3.0.3.tgz"; + path = fetchurl { + name = "parse5___parse5_3.0.3.tgz"; + url = "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz"; + sha1 = "042f792ffdd36851551cf4e9e066b3874ab45b5c"; + }; + } + + { + name = "parseurl___parseurl_1.3.2.tgz"; + path = fetchurl { + name = "parseurl___parseurl_1.3.2.tgz"; + url = "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz"; + sha1 = "fc289d4ed8993119460c156253262cdc8de65bf3"; + }; + } + + { + name = "pascalcase___pascalcase_0.1.1.tgz"; + path = fetchurl { + name = "pascalcase___pascalcase_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz"; + sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14"; + }; + } + + { + name = "path_browserify___path_browserify_0.0.0.tgz"; + path = fetchurl { + name = "path_browserify___path_browserify_0.0.0.tgz"; + url = "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz"; + sha1 = "a0b870729aae214005b7d5032ec2cbbb0fb4451a"; + }; + } + + { + name = "path_complete_extname___path_complete_extname_1.0.0.tgz"; + path = fetchurl { + name = "path_complete_extname___path_complete_extname_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/path-complete-extname/-/path-complete-extname-1.0.0.tgz"; + sha1 = "f889985dc91000c815515c0bfed06c5acda0752b"; + }; + } + + { + name = "path_dirname___path_dirname_1.0.2.tgz"; + path = fetchurl { + name = "path_dirname___path_dirname_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz"; + sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0"; + }; + } + + { + name = "path_exists___path_exists_2.1.0.tgz"; + path = fetchurl { + name = "path_exists___path_exists_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz"; + sha1 = "0feb6c64f0fc518d9a754dd5efb62c7022761f4b"; + }; + } + + { + name = "path_exists___path_exists_3.0.0.tgz"; + path = fetchurl { + name = "path_exists___path_exists_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz"; + sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"; + }; + } + + { + name = "path_is_absolute___path_is_absolute_1.0.1.tgz"; + path = fetchurl { + name = "path_is_absolute___path_is_absolute_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz"; + sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"; + }; + } + + { + name = "path_is_inside___path_is_inside_1.0.2.tgz"; + path = fetchurl { + name = "path_is_inside___path_is_inside_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz"; + sha1 = "365417dede44430d1c11af61027facf074bdfc53"; + }; + } + + { + name = "path_key___path_key_2.0.1.tgz"; + path = fetchurl { + name = "path_key___path_key_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz"; + sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40"; + }; + } + + { + name = "path_parse___path_parse_1.0.6.tgz"; + path = fetchurl { + name = "path_parse___path_parse_1.0.6.tgz"; + url = "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz"; + sha1 = "d62dbb5679405d72c4737ec58600e9ddcf06d24c"; + }; + } + + { + name = "path_to_regexp___path_to_regexp_0.1.7.tgz"; + path = fetchurl { + name = "path_to_regexp___path_to_regexp_0.1.7.tgz"; + url = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz"; + sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c"; + }; + } + + { + name = "path_to_regexp___path_to_regexp_1.7.0.tgz"; + path = fetchurl { + name = "path_to_regexp___path_to_regexp_1.7.0.tgz"; + url = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz"; + sha1 = "59fde0f435badacba103a84e9d3bc64e96b9937d"; + }; + } + + { + name = "path_type___path_type_1.1.0.tgz"; + path = fetchurl { + name = "path_type___path_type_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz"; + sha1 = "59c44f7ee491da704da415da5a4070ba4f8fe441"; + }; + } + + { + name = "path_type___path_type_2.0.0.tgz"; + path = fetchurl { + name = "path_type___path_type_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz"; + sha1 = "f012ccb8415b7096fc2daa1054c3d72389594c73"; + }; + } + + { + name = "pbkdf2___pbkdf2_3.0.17.tgz"; + path = fetchurl { + name = "pbkdf2___pbkdf2_3.0.17.tgz"; + url = "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz"; + sha1 = "976c206530617b14ebb32114239f7b09336e93a6"; + }; + } + + { + name = "performance_now___performance_now_0.2.0.tgz"; + path = fetchurl { + name = "performance_now___performance_now_0.2.0.tgz"; + url = "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz"; + sha1 = "33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"; + }; + } + + { + name = "performance_now___performance_now_2.1.0.tgz"; + path = fetchurl { + name = "performance_now___performance_now_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz"; + sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"; + }; + } + + { + name = "pg_connection_string___pg_connection_string_0.1.3.tgz"; + path = fetchurl { + name = "pg_connection_string___pg_connection_string_0.1.3.tgz"; + url = "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-0.1.3.tgz"; + sha1 = "da1847b20940e42ee1492beaf65d49d91b245df7"; + }; + } + + { + name = "pg_int8___pg_int8_1.0.1.tgz"; + path = fetchurl { + name = "pg_int8___pg_int8_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz"; + sha1 = "943bd463bf5b71b4170115f80f8efc9a0c0eb78c"; + }; + } + + { + name = "pg_pool___pg_pool_1.8.0.tgz"; + path = fetchurl { + name = "pg_pool___pg_pool_1.8.0.tgz"; + url = "https://registry.yarnpkg.com/pg-pool/-/pg-pool-1.8.0.tgz"; + sha1 = "f7ec73824c37a03f076f51bfdf70e340147c4f37"; + }; + } + + { + name = "pg_types___pg_types_1.13.0.tgz"; + path = fetchurl { + name = "pg_types___pg_types_1.13.0.tgz"; + url = "https://registry.yarnpkg.com/pg-types/-/pg-types-1.13.0.tgz"; + sha1 = "75f490b8a8abf75f1386ef5ec4455ecf6b345c63"; + }; + } + + { + name = "pg___pg_6.4.2.tgz"; + path = fetchurl { + name = "pg___pg_6.4.2.tgz"; + url = "https://registry.yarnpkg.com/pg/-/pg-6.4.2.tgz"; + sha1 = "c364011060eac7a507a2ae063eb857ece910e27f"; + }; + } + + { + name = "pgpass___pgpass_1.0.2.tgz"; + path = fetchurl { + name = "pgpass___pgpass_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.2.tgz"; + sha1 = "2a7bb41b6065b67907e91da1b07c1847c877b306"; + }; + } + + { + name = "pify___pify_2.3.0.tgz"; + path = fetchurl { + name = "pify___pify_2.3.0.tgz"; + url = "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz"; + sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c"; + }; + } + + { + name = "pify___pify_3.0.0.tgz"; + path = fetchurl { + name = "pify___pify_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz"; + sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"; + }; + } + + { + name = "pinkie_promise___pinkie_promise_2.0.1.tgz"; + path = fetchurl { + name = "pinkie_promise___pinkie_promise_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz"; + sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa"; + }; + } + + { + name = "pinkie___pinkie_2.0.4.tgz"; + path = fetchurl { + name = "pinkie___pinkie_2.0.4.tgz"; + url = "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz"; + sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870"; + }; + } + + { + name = "pkg_dir___pkg_dir_1.0.0.tgz"; + path = fetchurl { + name = "pkg_dir___pkg_dir_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz"; + sha1 = "7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4"; + }; + } + + { + name = "pkg_dir___pkg_dir_2.0.0.tgz"; + path = fetchurl { + name = "pkg_dir___pkg_dir_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz"; + sha1 = "f6d5d1109e19d63edf428e0bd57e12777615334b"; + }; + } + + { + name = "pkg_dir___pkg_dir_3.0.0.tgz"; + path = fetchurl { + name = "pkg_dir___pkg_dir_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz"; + sha1 = "2749020f239ed990881b1f71210d51eb6523bea3"; + }; + } + + { + name = "pluralize___pluralize_7.0.0.tgz"; + path = fetchurl { + name = "pluralize___pluralize_7.0.0.tgz"; + url = "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz"; + sha1 = "298b89df8b93b0221dbf421ad2b1b1ea23fc6777"; + }; + } + + { + name = "pn___pn_1.1.0.tgz"; + path = fetchurl { + name = "pn___pn_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz"; + sha1 = "e2f4cef0e219f463c179ab37463e4e1ecdccbafb"; + }; + } + + { + name = "portfinder___portfinder_1.0.20.tgz"; + path = fetchurl { + name = "portfinder___portfinder_1.0.20.tgz"; + url = "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.20.tgz"; + sha1 = "bea68632e54b2e13ab7b0c4775e9b41bf270e44a"; + }; + } + + { + name = "posix_character_classes___posix_character_classes_0.1.1.tgz"; + path = fetchurl { + name = "posix_character_classes___posix_character_classes_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz"; + sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"; + }; + } + + { + name = "postcss_calc___postcss_calc_7.0.1.tgz"; + path = fetchurl { + name = "postcss_calc___postcss_calc_7.0.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.1.tgz"; + sha1 = "36d77bab023b0ecbb9789d84dcb23c4941145436"; + }; + } + + { + name = "postcss_colormin___postcss_colormin_4.0.2.tgz"; + path = fetchurl { + name = "postcss_colormin___postcss_colormin_4.0.2.tgz"; + url = "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.2.tgz"; + sha1 = "93cd1fa11280008696887db1a528048b18e7ed99"; + }; + } + + { + name = "postcss_convert_values___postcss_convert_values_4.0.1.tgz"; + path = fetchurl { + name = "postcss_convert_values___postcss_convert_values_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz"; + sha1 = "ca3813ed4da0f812f9d43703584e449ebe189a7f"; + }; + } + + { + name = "postcss_discard_comments___postcss_discard_comments_4.0.1.tgz"; + path = fetchurl { + name = "postcss_discard_comments___postcss_discard_comments_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.1.tgz"; + sha1 = "30697735b0c476852a7a11050eb84387a67ef55d"; + }; + } + + { + name = "postcss_discard_duplicates___postcss_discard_duplicates_4.0.2.tgz"; + path = fetchurl { + name = "postcss_discard_duplicates___postcss_discard_duplicates_4.0.2.tgz"; + url = "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz"; + sha1 = "3fe133cd3c82282e550fc9b239176a9207b784eb"; + }; + } + + { + name = "postcss_discard_empty___postcss_discard_empty_4.0.1.tgz"; + path = fetchurl { + name = "postcss_discard_empty___postcss_discard_empty_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz"; + sha1 = "c8c951e9f73ed9428019458444a02ad90bb9f765"; + }; + } + + { + name = "postcss_discard_overridden___postcss_discard_overridden_4.0.1.tgz"; + path = fetchurl { + name = "postcss_discard_overridden___postcss_discard_overridden_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz"; + sha1 = "652aef8a96726f029f5e3e00146ee7a4e755ff57"; + }; + } + + { + name = "postcss_load_config___postcss_load_config_2.0.0.tgz"; + path = fetchurl { + name = "postcss_load_config___postcss_load_config_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.0.0.tgz"; + sha1 = "f1312ddbf5912cd747177083c5ef7a19d62ee484"; + }; + } + + { + name = "postcss_loader___postcss_loader_3.0.0.tgz"; + path = fetchurl { + name = "postcss_loader___postcss_loader_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz"; + sha1 = "6b97943e47c72d845fa9e03f273773d4e8dd6c2d"; + }; + } + + { + name = "postcss_merge_longhand___postcss_merge_longhand_4.0.10.tgz"; + path = fetchurl { + name = "postcss_merge_longhand___postcss_merge_longhand_4.0.10.tgz"; + url = "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.10.tgz"; + sha1 = "c4d63ab57bdc054ab4067ab075d488c8c2978380"; + }; + } + + { + name = "postcss_merge_rules___postcss_merge_rules_4.0.2.tgz"; + path = fetchurl { + name = "postcss_merge_rules___postcss_merge_rules_4.0.2.tgz"; + url = "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.2.tgz"; + sha1 = "2be44401bf19856f27f32b8b12c0df5af1b88e74"; + }; + } + + { + name = "postcss_minify_font_values___postcss_minify_font_values_4.0.2.tgz"; + path = fetchurl { + name = "postcss_minify_font_values___postcss_minify_font_values_4.0.2.tgz"; + url = "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz"; + sha1 = "cd4c344cce474343fac5d82206ab2cbcb8afd5a6"; + }; + } + + { + name = "postcss_minify_gradients___postcss_minify_gradients_4.0.1.tgz"; + path = fetchurl { + name = "postcss_minify_gradients___postcss_minify_gradients_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.1.tgz"; + sha1 = "6da95c6e92a809f956bb76bf0c04494953e1a7dd"; + }; + } + + { + name = "postcss_minify_params___postcss_minify_params_4.0.1.tgz"; + path = fetchurl { + name = "postcss_minify_params___postcss_minify_params_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.1.tgz"; + sha1 = "5b2e2d0264dd645ef5d68f8fec0d4c38c1cf93d2"; + }; + } + + { + name = "postcss_minify_selectors___postcss_minify_selectors_4.0.1.tgz"; + path = fetchurl { + name = "postcss_minify_selectors___postcss_minify_selectors_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.1.tgz"; + sha1 = "a891c197977cc37abf60b3ea06b84248b1c1e9cd"; + }; + } + + { + name = "postcss_modules_extract_imports___postcss_modules_extract_imports_2.0.0.tgz"; + path = fetchurl { + name = "postcss_modules_extract_imports___postcss_modules_extract_imports_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz"; + sha1 = "818719a1ae1da325f9832446b01136eeb493cd7e"; + }; + } + + { + name = "postcss_modules_local_by_default___postcss_modules_local_by_default_2.0.3.tgz"; + path = fetchurl { + name = "postcss_modules_local_by_default___postcss_modules_local_by_default_2.0.3.tgz"; + url = "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.3.tgz"; + sha1 = "6a199d596ec3ef57b8f5ced96d786b8cb16a7dec"; + }; + } + + { + name = "postcss_modules_scope___postcss_modules_scope_2.0.1.tgz"; + path = fetchurl { + name = "postcss_modules_scope___postcss_modules_scope_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.0.1.tgz"; + sha1 = "2c0f2394cde4cd09147db054c68917e38f6d43a4"; + }; + } + + { + name = "postcss_modules_values___postcss_modules_values_2.0.0.tgz"; + path = fetchurl { + name = "postcss_modules_values___postcss_modules_values_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz"; + sha1 = "479b46dc0c5ca3dc7fa5270851836b9ec7152f64"; + }; + } + + { + name = "postcss_normalize_charset___postcss_normalize_charset_4.0.1.tgz"; + path = fetchurl { + name = "postcss_normalize_charset___postcss_normalize_charset_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz"; + sha1 = "8b35add3aee83a136b0471e0d59be58a50285dd4"; + }; + } + + { + name = "postcss_normalize_display_values___postcss_normalize_display_values_4.0.1.tgz"; + path = fetchurl { + name = "postcss_normalize_display_values___postcss_normalize_display_values_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.1.tgz"; + sha1 = "d9a83d47c716e8a980f22f632c8b0458cfb48a4c"; + }; + } + + { + name = "postcss_normalize_positions___postcss_normalize_positions_4.0.1.tgz"; + path = fetchurl { + name = "postcss_normalize_positions___postcss_normalize_positions_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.1.tgz"; + sha1 = "ee2d4b67818c961964c6be09d179894b94fd6ba1"; + }; + } + + { + name = "postcss_normalize_repeat_style___postcss_normalize_repeat_style_4.0.1.tgz"; + path = fetchurl { + name = "postcss_normalize_repeat_style___postcss_normalize_repeat_style_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.1.tgz"; + sha1 = "5293f234b94d7669a9f805495d35b82a581c50e5"; + }; + } + + { + name = "postcss_normalize_string___postcss_normalize_string_4.0.1.tgz"; + path = fetchurl { + name = "postcss_normalize_string___postcss_normalize_string_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.1.tgz"; + sha1 = "23c5030c2cc24175f66c914fa5199e2e3c10fef3"; + }; + } + + { + name = "postcss_normalize_timing_functions___postcss_normalize_timing_functions_4.0.1.tgz"; + path = fetchurl { + name = "postcss_normalize_timing_functions___postcss_normalize_timing_functions_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.1.tgz"; + sha1 = "8be83e0b9cb3ff2d1abddee032a49108f05f95d7"; + }; + } + + { + name = "postcss_normalize_unicode___postcss_normalize_unicode_4.0.1.tgz"; + path = fetchurl { + name = "postcss_normalize_unicode___postcss_normalize_unicode_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz"; + sha1 = "841bd48fdcf3019ad4baa7493a3d363b52ae1cfb"; + }; + } + + { + name = "postcss_normalize_url___postcss_normalize_url_4.0.1.tgz"; + path = fetchurl { + name = "postcss_normalize_url___postcss_normalize_url_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz"; + sha1 = "10e437f86bc7c7e58f7b9652ed878daaa95faae1"; + }; + } + + { + name = "postcss_normalize_whitespace___postcss_normalize_whitespace_4.0.1.tgz"; + path = fetchurl { + name = "postcss_normalize_whitespace___postcss_normalize_whitespace_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.1.tgz"; + sha1 = "d14cb639b61238418ac8bc8d3b7bdd65fc86575e"; + }; + } + + { + name = "postcss_object_fit_images___postcss_object_fit_images_1.1.2.tgz"; + path = fetchurl { + name = "postcss_object_fit_images___postcss_object_fit_images_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/postcss-object-fit-images/-/postcss-object-fit-images-1.1.2.tgz"; + sha1 = "8b773043db14672ef6cd6f2cb1f0d8b26a9f573b"; + }; + } + + { + name = "postcss_ordered_values___postcss_ordered_values_4.1.1.tgz"; + path = fetchurl { + name = "postcss_ordered_values___postcss_ordered_values_4.1.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.1.tgz"; + sha1 = "2e3b432ef3e489b18333aeca1f1295eb89be9fc2"; + }; + } + + { + name = "postcss_reduce_initial___postcss_reduce_initial_4.0.2.tgz"; + path = fetchurl { + name = "postcss_reduce_initial___postcss_reduce_initial_4.0.2.tgz"; + url = "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.2.tgz"; + sha1 = "bac8e325d67510ee01fa460676dc8ea9e3b40f15"; + }; + } + + { + name = "postcss_reduce_transforms___postcss_reduce_transforms_4.0.1.tgz"; + path = fetchurl { + name = "postcss_reduce_transforms___postcss_reduce_transforms_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.1.tgz"; + sha1 = "8600d5553bdd3ad640f43bff81eb52f8760d4561"; + }; + } + + { + name = "postcss_selector_parser___postcss_selector_parser_3.1.1.tgz"; + path = fetchurl { + name = "postcss_selector_parser___postcss_selector_parser_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz"; + sha1 = "4f875f4afb0c96573d5cf4d74011aee250a7e865"; + }; + } + + { + name = "postcss_selector_parser___postcss_selector_parser_5.0.0.tgz"; + path = fetchurl { + name = "postcss_selector_parser___postcss_selector_parser_5.0.0.tgz"; + url = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz"; + sha1 = "249044356697b33b64f1a8f7c80922dddee7195c"; + }; + } + + { + name = "postcss_svgo___postcss_svgo_4.0.1.tgz"; + path = fetchurl { + name = "postcss_svgo___postcss_svgo_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.1.tgz"; + sha1 = "5628cdb38f015de6b588ce6d0bf0724b492b581d"; + }; + } + + { + name = "postcss_unique_selectors___postcss_unique_selectors_4.0.1.tgz"; + path = fetchurl { + name = "postcss_unique_selectors___postcss_unique_selectors_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz"; + sha1 = "9446911f3289bfd64c6d680f073c03b1f9ee4bac"; + }; + } + + { + name = "postcss_value_parser___postcss_value_parser_3.3.1.tgz"; + path = fetchurl { + name = "postcss_value_parser___postcss_value_parser_3.3.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz"; + sha1 = "9ff822547e2893213cf1c30efa51ac5fd1ba8281"; + }; + } + + { + name = "postcss___postcss_5.2.18.tgz"; + path = fetchurl { + name = "postcss___postcss_5.2.18.tgz"; + url = "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz"; + sha1 = "badfa1497d46244f6390f58b319830d9107853c5"; + }; + } + + { + name = "postcss___postcss_7.0.7.tgz"; + path = fetchurl { + name = "postcss___postcss_7.0.7.tgz"; + url = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.7.tgz"; + sha1 = "2754d073f77acb4ef08f1235c36c5721a7201614"; + }; + } + + { + name = "postgres_array___postgres_array_1.0.3.tgz"; + path = fetchurl { + name = "postgres_array___postgres_array_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/postgres-array/-/postgres-array-1.0.3.tgz"; + sha1 = "c561fc3b266b21451fc6555384f4986d78ec80f5"; + }; + } + + { + name = "postgres_bytea___postgres_bytea_1.0.0.tgz"; + path = fetchurl { + name = "postgres_bytea___postgres_bytea_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz"; + sha1 = "027b533c0aa890e26d172d47cf9ccecc521acd35"; + }; + } + + { + name = "postgres_date___postgres_date_1.0.3.tgz"; + path = fetchurl { + name = "postgres_date___postgres_date_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.3.tgz"; + sha1 = "e2d89702efdb258ff9d9cee0fe91bd06975257a8"; + }; + } + + { + name = "postgres_interval___postgres_interval_1.1.2.tgz"; + path = fetchurl { + name = "postgres_interval___postgres_interval_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.1.2.tgz"; + sha1 = "bf71ff902635f21cb241a013fc421d81d1db15a9"; + }; + } + + { + name = "precond___precond_0.2.3.tgz"; + path = fetchurl { + name = "precond___precond_0.2.3.tgz"; + url = "https://registry.yarnpkg.com/precond/-/precond-0.2.3.tgz"; + sha1 = "aa9591bcaa24923f1e0f4849d240f47efc1075ac"; + }; + } + + { + name = "prelude_ls___prelude_ls_1.1.2.tgz"; + path = fetchurl { + name = "prelude_ls___prelude_ls_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz"; + sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54"; + }; + } + + { + name = "preserve___preserve_0.2.0.tgz"; + path = fetchurl { + name = "preserve___preserve_0.2.0.tgz"; + url = "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz"; + sha1 = "815ed1f6ebc65926f865b310c0713bcb3315ce4b"; + }; + } + + { + name = "pretty_format___pretty_format_23.6.0.tgz"; + path = fetchurl { + name = "pretty_format___pretty_format_23.6.0.tgz"; + url = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.6.0.tgz"; + sha1 = "5eaac8eeb6b33b987b7fe6097ea6a8a146ab5760"; + }; + } + + { + name = "private___private_0.1.8.tgz"; + path = fetchurl { + name = "private___private_0.1.8.tgz"; + url = "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz"; + sha1 = "2381edb3689f7a53d653190060fcf822d2f368ff"; + }; + } + + { + name = "process_nextick_args___process_nextick_args_2.0.0.tgz"; + path = fetchurl { + name = "process_nextick_args___process_nextick_args_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz"; + sha1 = "a37d732f4271b4ab1ad070d35508e8290788ffaa"; + }; + } + + { + name = "process___process_0.11.10.tgz"; + path = fetchurl { + name = "process___process_0.11.10.tgz"; + url = "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz"; + sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182"; + }; + } + + { + name = "progress___progress_2.0.3.tgz"; + path = fetchurl { + name = "progress___progress_2.0.3.tgz"; + url = "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz"; + sha1 = "7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"; + }; + } + + { + name = "promise_inflight___promise_inflight_1.0.1.tgz"; + path = fetchurl { + name = "promise_inflight___promise_inflight_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz"; + sha1 = "98472870bf228132fcbdd868129bad12c3c029e3"; + }; + } + + { + name = "promise___promise_7.3.1.tgz"; + path = fetchurl { + name = "promise___promise_7.3.1.tgz"; + url = "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz"; + sha1 = "064b72602b18f90f29192b8b1bc418ffd1ebd3bf"; + }; + } + + { + name = "prompts___prompts_0.1.14.tgz"; + path = fetchurl { + name = "prompts___prompts_0.1.14.tgz"; + url = "https://registry.yarnpkg.com/prompts/-/prompts-0.1.14.tgz"; + sha1 = "a8e15c612c5c9ec8f8111847df3337c9cbd443b2"; + }; + } + + { + name = "prop_types_extra___prop_types_extra_1.1.0.tgz"; + path = fetchurl { + name = "prop_types_extra___prop_types_extra_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/prop-types-extra/-/prop-types-extra-1.1.0.tgz"; + sha1 = "32609910ea2dcf190366bacd3490d5a6412a605f"; + }; + } + + { + name = "prop_types___prop_types_15.6.2.tgz"; + path = fetchurl { + name = "prop_types___prop_types_15.6.2.tgz"; + url = "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz"; + sha1 = "05d5ca77b4453e985d60fc7ff8c859094a497102"; + }; + } + + { + name = "proxy_addr___proxy_addr_2.0.4.tgz"; + path = fetchurl { + name = "proxy_addr___proxy_addr_2.0.4.tgz"; + url = "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz"; + sha1 = "ecfc733bf22ff8c6f407fa275327b9ab67e48b93"; + }; + } + + { + name = "prr___prr_1.0.1.tgz"; + path = fetchurl { + name = "prr___prr_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz"; + sha1 = "d3fc114ba06995a45ec6893f484ceb1d78f5f476"; + }; + } + + { + name = "pseudomap___pseudomap_1.0.2.tgz"; + path = fetchurl { + name = "pseudomap___pseudomap_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz"; + sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3"; + }; + } + + { + name = "psl___psl_1.1.31.tgz"; + path = fetchurl { + name = "psl___psl_1.1.31.tgz"; + url = "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz"; + sha1 = "e9aa86d0101b5b105cbe93ac6b784cd547276184"; + }; + } + + { + name = "public_encrypt___public_encrypt_4.0.3.tgz"; + path = fetchurl { + name = "public_encrypt___public_encrypt_4.0.3.tgz"; + url = "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz"; + sha1 = "4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"; + }; + } + + { + name = "pump___pump_2.0.1.tgz"; + path = fetchurl { + name = "pump___pump_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz"; + sha1 = "12399add6e4cf7526d973cbc8b5ce2e2908b3909"; + }; + } + + { + name = "pump___pump_3.0.0.tgz"; + path = fetchurl { + name = "pump___pump_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz"; + sha1 = "b4a2116815bde2f4e1ea602354e8c75565107a64"; + }; + } + + { + name = "pumpify___pumpify_1.5.1.tgz"; + path = fetchurl { + name = "pumpify___pumpify_1.5.1.tgz"; + url = "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz"; + sha1 = "36513be246ab27570b1a374a5ce278bfd74370ce"; + }; + } + + { + name = "punycode___punycode_1.3.2.tgz"; + path = fetchurl { + name = "punycode___punycode_1.3.2.tgz"; + url = "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz"; + sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d"; + }; + } + + { + name = "punycode___punycode_1.4.1.tgz"; + path = fetchurl { + name = "punycode___punycode_1.4.1.tgz"; + url = "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz"; + sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"; + }; + } + + { + name = "punycode___punycode_2.1.1.tgz"; + path = fetchurl { + name = "punycode___punycode_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz"; + sha1 = "b58b010ac40c22c5657616c8d2c2c02c7bf479ec"; + }; + } + + { + name = "q___q_1.5.1.tgz"; + path = fetchurl { + name = "q___q_1.5.1.tgz"; + url = "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz"; + sha1 = "7e32f75b41381291d04611f1bf14109ac00651d7"; + }; + } + + { + name = "qs___qs_6.5.2.tgz"; + path = fetchurl { + name = "qs___qs_6.5.2.tgz"; + url = "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz"; + sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36"; + }; + } + + { + name = "querystring_es3___querystring_es3_0.2.1.tgz"; + path = fetchurl { + name = "querystring_es3___querystring_es3_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz"; + sha1 = "9ec61f79049875707d69414596fd907a4d711e73"; + }; + } + + { + name = "querystring___querystring_0.2.0.tgz"; + path = fetchurl { + name = "querystring___querystring_0.2.0.tgz"; + url = "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz"; + sha1 = "b209849203bb25df820da756e747005878521620"; + }; + } + + { + name = "querystringify___querystringify_2.1.0.tgz"; + path = fetchurl { + name = "querystringify___querystringify_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.0.tgz"; + sha1 = "7ded8dfbf7879dcc60d0a644ac6754b283ad17ef"; + }; + } + + { + name = "quote___quote_0.4.0.tgz"; + path = fetchurl { + name = "quote___quote_0.4.0.tgz"; + url = "https://registry.yarnpkg.com/quote/-/quote-0.4.0.tgz"; + sha1 = "10839217f6c1362b89194044d29b233fd7f32f01"; + }; + } + + { + name = "raf___raf_3.4.1.tgz"; + path = fetchurl { + name = "raf___raf_3.4.1.tgz"; + url = "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz"; + sha1 = "0742e99a4a6552f445d73e3ee0328af0ff1ede39"; + }; + } + + { + name = "railroad_diagrams___railroad_diagrams_1.0.0.tgz"; + path = fetchurl { + name = "railroad_diagrams___railroad_diagrams_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz"; + sha1 = "eb7e6267548ddedfb899c1b90e57374559cddb7e"; + }; + } + + { + name = "rails_ujs___rails_ujs_5.2.2.tgz"; + path = fetchurl { + name = "rails_ujs___rails_ujs_5.2.2.tgz"; + url = "https://registry.yarnpkg.com/rails-ujs/-/rails-ujs-5.2.2.tgz"; + sha1 = "ab01dd087a323975637b50e93e7afcc0f9068568"; + }; + } + + { + name = "randexp___randexp_0.4.6.tgz"; + path = fetchurl { + name = "randexp___randexp_0.4.6.tgz"; + url = "https://registry.yarnpkg.com/randexp/-/randexp-0.4.6.tgz"; + sha1 = "e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3"; + }; + } + + { + name = "randomatic___randomatic_3.1.1.tgz"; + path = fetchurl { + name = "randomatic___randomatic_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz"; + sha1 = "b776efc59375984e36c537b2f51a1f0aff0da1ed"; + }; + } + + { + name = "randombytes___randombytes_2.0.6.tgz"; + path = fetchurl { + name = "randombytes___randombytes_2.0.6.tgz"; + url = "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz"; + sha1 = "d302c522948588848a8d300c932b44c24231da80"; + }; + } + + { + name = "randomfill___randomfill_1.0.4.tgz"; + path = fetchurl { + name = "randomfill___randomfill_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz"; + sha1 = "c92196fc86ab42be983f1bf31778224931d61458"; + }; + } + + { + name = "range_parser___range_parser_1.2.0.tgz"; + path = fetchurl { + name = "range_parser___range_parser_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz"; + sha1 = "f49be6b487894ddc40dcc94a322f611092e00d5e"; + }; + } + + { + name = "raw_body___raw_body_2.3.3.tgz"; + path = fetchurl { + name = "raw_body___raw_body_2.3.3.tgz"; + url = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz"; + sha1 = "1b324ece6b5706e153855bc1148c65bb7f6ea0c3"; + }; + } + + { + name = "rc___rc_1.2.8.tgz"; + path = fetchurl { + name = "rc___rc_1.2.8.tgz"; + url = "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz"; + sha1 = "cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"; + }; + } + + { + name = "react_dom___react_dom_16.7.0.tgz"; + path = fetchurl { + name = "react_dom___react_dom_16.7.0.tgz"; + url = "https://registry.yarnpkg.com/react-dom/-/react-dom-16.7.0.tgz"; + sha1 = "a17b2a7ca89ee7390bc1ed5eb81783c7461748b8"; + }; + } + + { + name = "react_event_listener___react_event_listener_0.6.5.tgz"; + path = fetchurl { + name = "react_event_listener___react_event_listener_0.6.5.tgz"; + url = "https://registry.yarnpkg.com/react-event-listener/-/react-event-listener-0.6.5.tgz"; + sha1 = "d374dbe5da485c9f9d4702f0e76971afbe9b6b2e"; + }; + } + + { + name = "react_hotkeys___react_hotkeys_1.1.4.tgz"; + path = fetchurl { + name = "react_hotkeys___react_hotkeys_1.1.4.tgz"; + url = "https://registry.yarnpkg.com/react-hotkeys/-/react-hotkeys-1.1.4.tgz"; + sha1 = "a0712aa2e0c03a759fd7885808598497a4dace72"; + }; + } + + { + name = "react_immutable_proptypes___react_immutable_proptypes_2.1.0.tgz"; + path = fetchurl { + name = "react_immutable_proptypes___react_immutable_proptypes_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/react-immutable-proptypes/-/react-immutable-proptypes-2.1.0.tgz"; + sha1 = "023d6f39bb15c97c071e9e60d00d136eac5fa0b4"; + }; + } + + { + name = "react_immutable_pure_component___react_immutable_pure_component_1.2.3.tgz"; + path = fetchurl { + name = "react_immutable_pure_component___react_immutable_pure_component_1.2.3.tgz"; + url = "https://registry.yarnpkg.com/react-immutable-pure-component/-/react-immutable-pure-component-1.2.3.tgz"; + sha1 = "fa33638df68cfe9f73ccbee1d5861c17f3053f86"; + }; + } + + { + name = "react_infinite_scroller___react_infinite_scroller_1.2.4.tgz"; + path = fetchurl { + name = "react_infinite_scroller___react_infinite_scroller_1.2.4.tgz"; + url = "https://registry.yarnpkg.com/react-infinite-scroller/-/react-infinite-scroller-1.2.4.tgz"; + sha1 = "f67eaec4940a4ce6417bebdd6e3433bfc38826e9"; + }; + } + + { + name = "react_input_autosize___react_input_autosize_2.2.1.tgz"; + path = fetchurl { + name = "react_input_autosize___react_input_autosize_2.2.1.tgz"; + url = "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-2.2.1.tgz"; + sha1 = "ec428fa15b1592994fb5f9aa15bb1eb6baf420f8"; + }; + } + + { + name = "react_intl_translations_manager___react_intl_translations_manager_5.0.3.tgz"; + path = fetchurl { + name = "react_intl_translations_manager___react_intl_translations_manager_5.0.3.tgz"; + url = "https://registry.yarnpkg.com/react-intl-translations-manager/-/react-intl-translations-manager-5.0.3.tgz"; + sha1 = "aee010ecf35975673e033ca5d7d3f4147894324d"; + }; + } + + { + name = "react_intl___react_intl_2.7.2.tgz"; + path = fetchurl { + name = "react_intl___react_intl_2.7.2.tgz"; + url = "https://registry.yarnpkg.com/react-intl/-/react-intl-2.7.2.tgz"; + sha1 = "efe97e3fc0e99b4e88a6e6150854d3d1852a4381"; + }; + } + + { + name = "react_is___react_is_16.7.0.tgz"; + path = fetchurl { + name = "react_is___react_is_16.7.0.tgz"; + url = "https://registry.yarnpkg.com/react-is/-/react-is-16.7.0.tgz"; + sha1 = "c1bd21c64f1f1364c6f70695ec02d69392f41bfa"; + }; + } + + { + name = "react_lifecycles_compat___react_lifecycles_compat_3.0.4.tgz"; + path = fetchurl { + name = "react_lifecycles_compat___react_lifecycles_compat_3.0.4.tgz"; + url = "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz"; + sha1 = "4f1a273afdfc8f3488a8c516bfda78f872352362"; + }; + } + + { + name = "react_masonry_infinite___react_masonry_infinite_1.2.2.tgz"; + path = fetchurl { + name = "react_masonry_infinite___react_masonry_infinite_1.2.2.tgz"; + url = "https://registry.yarnpkg.com/react-masonry-infinite/-/react-masonry-infinite-1.2.2.tgz"; + sha1 = "20c1386f9ccdda9747527c8f42bc2c02dd2e7951"; + }; + } + + { + name = "react_motion___react_motion_0.5.2.tgz"; + path = fetchurl { + name = "react_motion___react_motion_0.5.2.tgz"; + url = "https://registry.yarnpkg.com/react-motion/-/react-motion-0.5.2.tgz"; + sha1 = "0dd3a69e411316567927917c6626551ba0607316"; + }; + } + + { + name = "react_notification___react_notification_6.8.4.tgz"; + path = fetchurl { + name = "react_notification___react_notification_6.8.4.tgz"; + url = "https://registry.yarnpkg.com/react-notification/-/react-notification-6.8.4.tgz"; + sha1 = "c189d23f47b0e1b240932f4cfab2f4082cd420bf"; + }; + } + + { + name = "react_overlays___react_overlays_0.8.3.tgz"; + path = fetchurl { + name = "react_overlays___react_overlays_0.8.3.tgz"; + url = "https://registry.yarnpkg.com/react-overlays/-/react-overlays-0.8.3.tgz"; + sha1 = "fad65eea5b24301cca192a169f5dddb0b20d3ac5"; + }; + } + + { + name = "react_redux_loading_bar___react_redux_loading_bar_4.0.8.tgz"; + path = fetchurl { + name = "react_redux_loading_bar___react_redux_loading_bar_4.0.8.tgz"; + url = "https://registry.yarnpkg.com/react-redux-loading-bar/-/react-redux-loading-bar-4.0.8.tgz"; + sha1 = "e84d59d1517b79f53b0f39c8ddb40682af648c1b"; + }; + } + + { + name = "react_redux___react_redux_6.0.0.tgz"; + path = fetchurl { + name = "react_redux___react_redux_6.0.0.tgz"; + url = "https://registry.yarnpkg.com/react-redux/-/react-redux-6.0.0.tgz"; + sha1 = "09e86eeed5febb98e9442458ad2970c8f1a173ef"; + }; + } + + { + name = "react_router_dom___react_router_dom_4.3.1.tgz"; + path = fetchurl { + name = "react_router_dom___react_router_dom_4.3.1.tgz"; + url = "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.3.1.tgz"; + sha1 = "4c2619fc24c4fa87c9fd18f4fb4a43fe63fbd5c6"; + }; + } + + { + name = "react_router_scroll_4___react_router_scroll_4_1.0.0_beta.2.tgz"; + path = fetchurl { + name = "react_router_scroll_4___react_router_scroll_4_1.0.0_beta.2.tgz"; + url = "https://registry.yarnpkg.com/react-router-scroll-4/-/react-router-scroll-4-1.0.0-beta.2.tgz"; + sha1 = "d887063ec0f66124aaf450158dd158ff7d3dc279"; + }; + } + + { + name = "react_router___react_router_4.3.1.tgz"; + path = fetchurl { + name = "react_router___react_router_4.3.1.tgz"; + url = "https://registry.yarnpkg.com/react-router/-/react-router-4.3.1.tgz"; + sha1 = "aada4aef14c809cb2e686b05cee4742234506c4e"; + }; + } + + { + name = "react_select___react_select_2.2.0.tgz"; + path = fetchurl { + name = "react_select___react_select_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/react-select/-/react-select-2.2.0.tgz"; + sha1 = "67c8b5c2dcb8df0384f2a103efe952570f5d6b93"; + }; + } + + { + name = "react_sparklines___react_sparklines_1.7.0.tgz"; + path = fetchurl { + name = "react_sparklines___react_sparklines_1.7.0.tgz"; + url = "https://registry.yarnpkg.com/react-sparklines/-/react-sparklines-1.7.0.tgz"; + sha1 = "9b1d97e8c8610095eeb2ad658d2e1fcf91f91a60"; + }; + } + + { + name = "react_swipeable_views_core___react_swipeable_views_core_0.13.0.tgz"; + path = fetchurl { + name = "react_swipeable_views_core___react_swipeable_views_core_0.13.0.tgz"; + url = "https://registry.yarnpkg.com/react-swipeable-views-core/-/react-swipeable-views-core-0.13.0.tgz"; + sha1 = "6bf8a8132a756355444537672a14e84b1e3b53c2"; + }; + } + + { + name = "react_swipeable_views_utils___react_swipeable_views_utils_0.13.0.tgz"; + path = fetchurl { + name = "react_swipeable_views_utils___react_swipeable_views_utils_0.13.0.tgz"; + url = "https://registry.yarnpkg.com/react-swipeable-views-utils/-/react-swipeable-views-utils-0.13.0.tgz"; + sha1 = "0ea17aa67f88a69d534c79d591f8d82ef98346a4"; + }; + } + + { + name = "react_swipeable_views___react_swipeable_views_0.13.0.tgz"; + path = fetchurl { + name = "react_swipeable_views___react_swipeable_views_0.13.0.tgz"; + url = "https://registry.yarnpkg.com/react-swipeable-views/-/react-swipeable-views-0.13.0.tgz"; + sha1 = "a200cef1005d55af6a27b97048afe9a4056e0ab8"; + }; + } + + { + name = "react_test_renderer___react_test_renderer_16.7.0.tgz"; + path = fetchurl { + name = "react_test_renderer___react_test_renderer_16.7.0.tgz"; + url = "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.7.0.tgz"; + sha1 = "1ca96c2b450ab47c36ba92cd8c03fcefc52ea01c"; + }; + } + + { + name = "react_textarea_autosize___react_textarea_autosize_7.1.0.tgz"; + path = fetchurl { + name = "react_textarea_autosize___react_textarea_autosize_7.1.0.tgz"; + url = "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-7.1.0.tgz"; + sha1 = "3132cb77e65d94417558d37c0bfe415a5afd3445"; + }; + } + + { + name = "react_toggle___react_toggle_4.0.2.tgz"; + path = fetchurl { + name = "react_toggle___react_toggle_4.0.2.tgz"; + url = "https://registry.yarnpkg.com/react-toggle/-/react-toggle-4.0.2.tgz"; + sha1 = "77f487860efb87fafd197672a2db8c885be1440f"; + }; + } + + { + name = "react_transition_group___react_transition_group_2.5.2.tgz"; + path = fetchurl { + name = "react_transition_group___react_transition_group_2.5.2.tgz"; + url = "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.5.2.tgz"; + sha1 = "9457166a9ba6ce697a3e1b076b3c049b9fb2c408"; + }; + } + + { + name = "react___react_16.7.0.tgz"; + path = fetchurl { + name = "react___react_16.7.0.tgz"; + url = "https://registry.yarnpkg.com/react/-/react-16.7.0.tgz"; + sha1 = "b674ec396b0a5715873b350446f7ea0802ab6381"; + }; + } + + { + name = "read_pkg_up___read_pkg_up_1.0.1.tgz"; + path = fetchurl { + name = "read_pkg_up___read_pkg_up_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz"; + sha1 = "9d63c13276c065918d57f002a57f40a1b643fb02"; + }; + } + + { + name = "read_pkg_up___read_pkg_up_2.0.0.tgz"; + path = fetchurl { + name = "read_pkg_up___read_pkg_up_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz"; + sha1 = "6b72a8048984e0c41e79510fd5e9fa99b3b549be"; + }; + } + + { + name = "read_pkg___read_pkg_1.1.0.tgz"; + path = fetchurl { + name = "read_pkg___read_pkg_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz"; + sha1 = "f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"; + }; + } + + { + name = "read_pkg___read_pkg_2.0.0.tgz"; + path = fetchurl { + name = "read_pkg___read_pkg_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz"; + sha1 = "8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"; + }; + } + + { + name = "readable_stream___readable_stream_2.3.6.tgz"; + path = fetchurl { + name = "readable_stream___readable_stream_2.3.6.tgz"; + url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz"; + sha1 = "b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"; + }; + } + + { + name = "readable_stream___readable_stream_3.1.1.tgz"; + path = fetchurl { + name = "readable_stream___readable_stream_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.1.1.tgz"; + sha1 = "ed6bbc6c5ba58b090039ff18ce670515795aeb06"; + }; + } + + { + name = "readdirp___readdirp_2.2.1.tgz"; + path = fetchurl { + name = "readdirp___readdirp_2.2.1.tgz"; + url = "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz"; + sha1 = "0e87622a3325aa33e892285caf8b4e846529a525"; + }; + } + + { + name = "realpath_native___realpath_native_1.0.2.tgz"; + path = fetchurl { + name = "realpath_native___realpath_native_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.0.2.tgz"; + sha1 = "cd51ce089b513b45cf9b1516c82989b51ccc6560"; + }; + } + + { + name = "redis_commands___redis_commands_1.4.0.tgz"; + path = fetchurl { + name = "redis_commands___redis_commands_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/redis-commands/-/redis-commands-1.4.0.tgz"; + sha1 = "52f9cf99153efcce56a8f86af986bd04e988602f"; + }; + } + + { + name = "redis_parser___redis_parser_2.6.0.tgz"; + path = fetchurl { + name = "redis_parser___redis_parser_2.6.0.tgz"; + url = "https://registry.yarnpkg.com/redis-parser/-/redis-parser-2.6.0.tgz"; + sha1 = "52ed09dacac108f1a631c07e9b69941e7a19504b"; + }; + } + + { + name = "redis___redis_2.8.0.tgz"; + path = fetchurl { + name = "redis___redis_2.8.0.tgz"; + url = "https://registry.yarnpkg.com/redis/-/redis-2.8.0.tgz"; + sha1 = "202288e3f58c49f6079d97af7a10e1303ae14b02"; + }; + } + + { + name = "redux_immutable___redux_immutable_4.0.0.tgz"; + path = fetchurl { + name = "redux_immutable___redux_immutable_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/redux-immutable/-/redux-immutable-4.0.0.tgz"; + sha1 = "3a1a32df66366462b63691f0e1dc35e472bbc9f3"; + }; + } + + { + name = "redux_thunk___redux_thunk_2.3.0.tgz"; + path = fetchurl { + name = "redux_thunk___redux_thunk_2.3.0.tgz"; + url = "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.3.0.tgz"; + sha1 = "51c2c19a185ed5187aaa9a2d08b666d0d6467622"; + }; + } + + { + name = "redux___redux_4.0.1.tgz"; + path = fetchurl { + name = "redux___redux_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/redux/-/redux-4.0.1.tgz"; + sha1 = "436cae6cc40fbe4727689d7c8fae44808f1bfef5"; + }; + } + + { + name = "regenerate_unicode_properties___regenerate_unicode_properties_7.0.0.tgz"; + path = fetchurl { + name = "regenerate_unicode_properties___regenerate_unicode_properties_7.0.0.tgz"; + url = "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz"; + sha1 = "107405afcc4a190ec5ed450ecaa00ed0cafa7a4c"; + }; + } + + { + name = "regenerate___regenerate_1.4.0.tgz"; + path = fetchurl { + name = "regenerate___regenerate_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz"; + sha1 = "4a856ec4b56e4077c557589cae85e7a4c8869a11"; + }; + } + + { + name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz"; + path = fetchurl { + name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz"; + url = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz"; + sha1 = "be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"; + }; + } + + { + name = "regenerator_runtime___regenerator_runtime_0.12.1.tgz"; + path = fetchurl { + name = "regenerator_runtime___regenerator_runtime_0.12.1.tgz"; + url = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz"; + sha1 = "fa1a71544764c036f8c49b13a08b2594c9f8a0de"; + }; + } + + { + name = "regenerator_transform___regenerator_transform_0.13.3.tgz"; + path = fetchurl { + name = "regenerator_transform___regenerator_transform_0.13.3.tgz"; + url = "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.3.tgz"; + sha1 = "264bd9ff38a8ce24b06e0636496b2c856b57bcbb"; + }; + } + + { + name = "regex_cache___regex_cache_0.4.4.tgz"; + path = fetchurl { + name = "regex_cache___regex_cache_0.4.4.tgz"; + url = "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz"; + sha1 = "75bdc58a2a1496cec48a12835bc54c8d562336dd"; + }; + } + + { + name = "regex_not___regex_not_1.0.2.tgz"; + path = fetchurl { + name = "regex_not___regex_not_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz"; + sha1 = "1f4ece27e00b0b65e0247a6810e6a85d83a5752c"; + }; + } + + { + name = "regexpp___regexpp_2.0.1.tgz"; + path = fetchurl { + name = "regexpp___regexpp_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz"; + sha1 = "8d19d31cf632482b589049f8281f93dbcba4d07f"; + }; + } + + { + name = "regexpu_core___regexpu_core_1.0.0.tgz"; + path = fetchurl { + name = "regexpu_core___regexpu_core_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz"; + sha1 = "86a763f58ee4d7c2f6b102e4764050de7ed90c6b"; + }; + } + + { + name = "regexpu_core___regexpu_core_4.4.0.tgz"; + path = fetchurl { + name = "regexpu_core___regexpu_core_4.4.0.tgz"; + url = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.4.0.tgz"; + sha1 = "8d43e0d1266883969720345e70c275ee0aec0d32"; + }; + } + + { + name = "regjsgen___regjsgen_0.2.0.tgz"; + path = fetchurl { + name = "regjsgen___regjsgen_0.2.0.tgz"; + url = "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz"; + sha1 = "6c016adeac554f75823fe37ac05b92d5a4edb1f7"; + }; + } + + { + name = "regjsgen___regjsgen_0.5.0.tgz"; + path = fetchurl { + name = "regjsgen___regjsgen_0.5.0.tgz"; + url = "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz"; + sha1 = "a7634dc08f89209c2049adda3525711fb97265dd"; + }; + } + + { + name = "regjsparser___regjsparser_0.1.5.tgz"; + path = fetchurl { + name = "regjsparser___regjsparser_0.1.5.tgz"; + url = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz"; + sha1 = "7ee8f84dc6fa792d3fd0ae228d24bd949ead205c"; + }; + } + + { + name = "regjsparser___regjsparser_0.6.0.tgz"; + path = fetchurl { + name = "regjsparser___regjsparser_0.6.0.tgz"; + url = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz"; + sha1 = "f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c"; + }; + } + + { + name = "rellax___rellax_1.7.1.tgz"; + path = fetchurl { + name = "rellax___rellax_1.7.1.tgz"; + url = "https://registry.yarnpkg.com/rellax/-/rellax-1.7.1.tgz"; + sha1 = "2f82aaa1c1d8116eef08fc533c59655a097c8be2"; + }; + } + + { + name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz"; + path = fetchurl { + name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz"; + sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef"; + }; + } + + { + name = "repeat_element___repeat_element_1.1.3.tgz"; + path = fetchurl { + name = "repeat_element___repeat_element_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz"; + sha1 = "782e0d825c0c5a3bb39731f84efee6b742e6b1ce"; + }; + } + + { + name = "repeat_string___repeat_string_1.6.1.tgz"; + path = fetchurl { + name = "repeat_string___repeat_string_1.6.1.tgz"; + url = "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz"; + sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637"; + }; + } + + { + name = "repeating___repeating_2.0.1.tgz"; + path = fetchurl { + name = "repeating___repeating_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz"; + sha1 = "5214c53a926d3552707527fbab415dbc08d06dda"; + }; + } + + { + name = "request_promise_core___request_promise_core_1.1.1.tgz"; + path = fetchurl { + name = "request_promise_core___request_promise_core_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz"; + sha1 = "3eee00b2c5aa83239cfb04c5700da36f81cd08b6"; + }; + } + + { + name = "request_promise_native___request_promise_native_1.0.5.tgz"; + path = fetchurl { + name = "request_promise_native___request_promise_native_1.0.5.tgz"; + url = "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz"; + sha1 = "5281770f68e0c9719e5163fd3fab482215f4fda5"; + }; + } + + { + name = "request___request_2.88.0.tgz"; + path = fetchurl { + name = "request___request_2.88.0.tgz"; + url = "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz"; + sha1 = "9c2fca4f7d35b592efe57c7f0a55e81052124fef"; + }; + } + + { + name = "requestidlecallback___requestidlecallback_0.3.0.tgz"; + path = fetchurl { + name = "requestidlecallback___requestidlecallback_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/requestidlecallback/-/requestidlecallback-0.3.0.tgz"; + sha1 = "6fb74e0733f90df3faa4838f9f6a2a5f9b742ac5"; + }; + } + + { + name = "require_directory___require_directory_2.1.1.tgz"; + path = fetchurl { + name = "require_directory___require_directory_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz"; + sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"; + }; + } + + { + name = "require_from_string___require_from_string_2.0.2.tgz"; + path = fetchurl { + name = "require_from_string___require_from_string_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz"; + sha1 = "89a7fdd938261267318eafe14f9c32e598c36909"; + }; + } + + { + name = "require_main_filename___require_main_filename_1.0.1.tgz"; + path = fetchurl { + name = "require_main_filename___require_main_filename_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz"; + sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1"; + }; + } + + { + name = "require_package_name___require_package_name_2.0.1.tgz"; + path = fetchurl { + name = "require_package_name___require_package_name_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/require-package-name/-/require-package-name-2.0.1.tgz"; + sha1 = "c11e97276b65b8e2923f75dabf5fb2ef0c3841b9"; + }; + } + + { + name = "require_uncached___require_uncached_1.0.3.tgz"; + path = fetchurl { + name = "require_uncached___require_uncached_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz"; + sha1 = "4e0d56d6c9662fd31e43011c4b95aa49955421d3"; + }; + } + + { + name = "requires_port___requires_port_1.0.0.tgz"; + path = fetchurl { + name = "requires_port___requires_port_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz"; + sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff"; + }; + } + + { + name = "reselect___reselect_4.0.0.tgz"; + path = fetchurl { + name = "reselect___reselect_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/reselect/-/reselect-4.0.0.tgz"; + sha1 = "f2529830e5d3d0e021408b246a206ef4ea4437f7"; + }; + } + + { + name = "resolve_cwd___resolve_cwd_2.0.0.tgz"; + path = fetchurl { + name = "resolve_cwd___resolve_cwd_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz"; + sha1 = "00a9f7387556e27038eae232caa372a6a59b665a"; + }; + } + + { + name = "resolve_from___resolve_from_1.0.1.tgz"; + path = fetchurl { + name = "resolve_from___resolve_from_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz"; + sha1 = "26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"; + }; + } + + { + name = "resolve_from___resolve_from_3.0.0.tgz"; + path = fetchurl { + name = "resolve_from___resolve_from_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz"; + sha1 = "b22c7af7d9d6881bc8b6e653335eebcb0a188748"; + }; + } + + { + name = "resolve_pathname___resolve_pathname_2.2.0.tgz"; + path = fetchurl { + name = "resolve_pathname___resolve_pathname_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz"; + sha1 = "7e9ae21ed815fd63ab189adeee64dc831eefa879"; + }; + } + + { + name = "resolve_url___resolve_url_0.2.1.tgz"; + path = fetchurl { + name = "resolve_url___resolve_url_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz"; + sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a"; + }; + } + + { + name = "resolve___resolve_1.1.7.tgz"; + path = fetchurl { + name = "resolve___resolve_1.1.7.tgz"; + url = "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz"; + sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b"; + }; + } + + { + name = "resolve___resolve_1.9.0.tgz"; + path = fetchurl { + name = "resolve___resolve_1.9.0.tgz"; + url = "https://registry.yarnpkg.com/resolve/-/resolve-1.9.0.tgz"; + sha1 = "a14c6fdfa8f92a7df1d996cb7105fa744658ea06"; + }; + } + + { + name = "restore_cursor___restore_cursor_2.0.0.tgz"; + path = fetchurl { + name = "restore_cursor___restore_cursor_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz"; + sha1 = "9f7ee287f82fd326d4fd162923d62129eee0dfaf"; + }; + } + + { + name = "ret___ret_0.1.15.tgz"; + path = fetchurl { + name = "ret___ret_0.1.15.tgz"; + url = "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz"; + sha1 = "b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"; + }; + } + + { + name = "rgb_regex___rgb_regex_1.0.1.tgz"; + path = fetchurl { + name = "rgb_regex___rgb_regex_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz"; + sha1 = "c0e0d6882df0e23be254a475e8edd41915feaeb1"; + }; + } + + { + name = "rgba_regex___rgba_regex_1.0.0.tgz"; + path = fetchurl { + name = "rgba_regex___rgba_regex_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz"; + sha1 = "43374e2e2ca0968b0ef1523460b7d730ff22eeb3"; + }; + } + + { + name = "rimraf___rimraf_2.6.2.tgz"; + path = fetchurl { + name = "rimraf___rimraf_2.6.2.tgz"; + url = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz"; + sha1 = "2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"; + }; + } + + { + name = "ripemd160___ripemd160_2.0.2.tgz"; + path = fetchurl { + name = "ripemd160___ripemd160_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz"; + sha1 = "a1c1a6f624751577ba5d07914cbc92850585890c"; + }; + } + + { + name = "rst_selector_parser___rst_selector_parser_2.2.3.tgz"; + path = fetchurl { + name = "rst_selector_parser___rst_selector_parser_2.2.3.tgz"; + url = "https://registry.yarnpkg.com/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz"; + sha1 = "81b230ea2fcc6066c89e3472de794285d9b03d91"; + }; + } + + { + name = "rsvp___rsvp_3.6.2.tgz"; + path = fetchurl { + name = "rsvp___rsvp_3.6.2.tgz"; + url = "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz"; + sha1 = "2e96491599a96cde1b515d5674a8f7a91452926a"; + }; + } + + { + name = "run_async___run_async_2.3.0.tgz"; + path = fetchurl { + name = "run_async___run_async_2.3.0.tgz"; + url = "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz"; + sha1 = "0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"; + }; + } + + { + name = "run_queue___run_queue_1.0.3.tgz"; + path = fetchurl { + name = "run_queue___run_queue_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz"; + sha1 = "e848396f057d223f24386924618e25694161ec47"; + }; + } + + { + name = "rxjs___rxjs_6.3.3.tgz"; + path = fetchurl { + name = "rxjs___rxjs_6.3.3.tgz"; + url = "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.3.tgz"; + sha1 = "3c6a7fa420e844a81390fb1158a9ec614f4bad55"; + }; + } + + { + name = "safe_buffer___safe_buffer_5.1.2.tgz"; + path = fetchurl { + name = "safe_buffer___safe_buffer_5.1.2.tgz"; + url = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz"; + sha1 = "991ec69d296e0313747d59bdfd2b745c35f8828d"; + }; + } + + { + name = "safe_regex___safe_regex_1.1.0.tgz"; + path = fetchurl { + name = "safe_regex___safe_regex_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz"; + sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e"; + }; + } + + { + name = "safer_buffer___safer_buffer_2.1.2.tgz"; + path = fetchurl { + name = "safer_buffer___safer_buffer_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz"; + sha1 = "44fa161b0187b9549dd84bb91802f9bd8385cd6a"; + }; + } + + { + name = "sane___sane_2.5.2.tgz"; + path = fetchurl { + name = "sane___sane_2.5.2.tgz"; + url = "https://registry.yarnpkg.com/sane/-/sane-2.5.2.tgz"; + sha1 = "b4dc1861c21b427e929507a3e751e2a2cb8ab3fa"; + }; + } + + { + name = "sass_loader___sass_loader_7.1.0.tgz"; + path = fetchurl { + name = "sass_loader___sass_loader_7.1.0.tgz"; + url = "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.1.0.tgz"; + sha1 = "16fd5138cb8b424bf8a759528a1972d72aad069d"; + }; + } + + { + name = "sass___sass_1.15.2.tgz"; + path = fetchurl { + name = "sass___sass_1.15.2.tgz"; + url = "https://registry.yarnpkg.com/sass/-/sass-1.15.2.tgz"; + sha1 = "539f464a61e29a9e4f560ec9dc2ccc5236db8474"; + }; + } + + { + name = "sax___sax_1.2.4.tgz"; + path = fetchurl { + name = "sax___sax_1.2.4.tgz"; + url = "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz"; + sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9"; + }; + } + + { + name = "scheduler___scheduler_0.12.0.tgz"; + path = fetchurl { + name = "scheduler___scheduler_0.12.0.tgz"; + url = "https://registry.yarnpkg.com/scheduler/-/scheduler-0.12.0.tgz"; + sha1 = "8ab17699939c0aedc5a196a657743c496538647b"; + }; + } + + { + name = "schema_utils___schema_utils_0.4.7.tgz"; + path = fetchurl { + name = "schema_utils___schema_utils_0.4.7.tgz"; + url = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.7.tgz"; + sha1 = "ba74f597d2be2ea880131746ee17d0a093c68187"; + }; + } + + { + name = "schema_utils___schema_utils_1.0.0.tgz"; + path = fetchurl { + name = "schema_utils___schema_utils_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz"; + sha1 = "0b79a93204d7b600d4b2850d1f66c2a34951c770"; + }; + } + + { + name = "scroll_behavior___scroll_behavior_0.9.9.tgz"; + path = fetchurl { + name = "scroll_behavior___scroll_behavior_0.9.9.tgz"; + url = "https://registry.yarnpkg.com/scroll-behavior/-/scroll-behavior-0.9.9.tgz"; + sha1 = "ebfe0658455b82ad885b66195215416674dacce2"; + }; + } + + { + name = "select_hose___select_hose_2.0.0.tgz"; + path = fetchurl { + name = "select_hose___select_hose_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz"; + sha1 = "625d8658f865af43ec962bfc376a37359a4994ca"; + }; + } + + { + name = "selfsigned___selfsigned_1.10.4.tgz"; + path = fetchurl { + name = "selfsigned___selfsigned_1.10.4.tgz"; + url = "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.4.tgz"; + sha1 = "cdd7eccfca4ed7635d47a08bf2d5d3074092e2cd"; + }; + } + + { + name = "semver___semver_5.6.0.tgz"; + path = fetchurl { + name = "semver___semver_5.6.0.tgz"; + url = "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz"; + sha1 = "7e74256fbaa49c75aa7c7a205cc22799cac80004"; + }; + } + + { + name = "semver___semver_4.3.2.tgz"; + path = fetchurl { + name = "semver___semver_4.3.2.tgz"; + url = "https://registry.yarnpkg.com/semver/-/semver-4.3.2.tgz"; + sha1 = "c7a07158a80bedd052355b770d82d6640f803be7"; + }; + } + + { + name = "send___send_0.16.2.tgz"; + path = fetchurl { + name = "send___send_0.16.2.tgz"; + url = "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz"; + sha1 = "6ecca1e0f8c156d141597559848df64730a6bbc1"; + }; + } + + { + name = "serialize_javascript___serialize_javascript_1.6.1.tgz"; + path = fetchurl { + name = "serialize_javascript___serialize_javascript_1.6.1.tgz"; + url = "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.6.1.tgz"; + sha1 = "4d1f697ec49429a847ca6f442a2a755126c4d879"; + }; + } + + { + name = "serve_index___serve_index_1.9.1.tgz"; + path = fetchurl { + name = "serve_index___serve_index_1.9.1.tgz"; + url = "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz"; + sha1 = "d3768d69b1e7d82e5ce050fff5b453bea12a9239"; + }; + } + + { + name = "serve_static___serve_static_1.13.2.tgz"; + path = fetchurl { + name = "serve_static___serve_static_1.13.2.tgz"; + url = "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz"; + sha1 = "095e8472fd5b46237db50ce486a43f4b86c6cec1"; + }; + } + + { + name = "set_blocking___set_blocking_2.0.0.tgz"; + path = fetchurl { + name = "set_blocking___set_blocking_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz"; + sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7"; + }; + } + + { + name = "set_value___set_value_0.4.3.tgz"; + path = fetchurl { + name = "set_value___set_value_0.4.3.tgz"; + url = "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz"; + sha1 = "7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1"; + }; + } + + { + name = "set_value___set_value_2.0.0.tgz"; + path = fetchurl { + name = "set_value___set_value_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz"; + sha1 = "71ae4a88f0feefbbf52d1ea604f3fb315ebb6274"; + }; + } + + { + name = "setimmediate___setimmediate_1.0.5.tgz"; + path = fetchurl { + name = "setimmediate___setimmediate_1.0.5.tgz"; + url = "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz"; + sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285"; + }; + } + + { + name = "setprototypeof___setprototypeof_1.1.0.tgz"; + path = fetchurl { + name = "setprototypeof___setprototypeof_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz"; + sha1 = "d0bd85536887b6fe7c0d818cb962d9d91c54e656"; + }; + } + + { + name = "sha.js___sha.js_2.4.11.tgz"; + path = fetchurl { + name = "sha.js___sha.js_2.4.11.tgz"; + url = "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz"; + sha1 = "37a5cf0b81ecbc6943de109ba2960d1b26584ae7"; + }; + } + + { + name = "shallow_clone___shallow_clone_1.0.0.tgz"; + path = fetchurl { + name = "shallow_clone___shallow_clone_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-1.0.0.tgz"; + sha1 = "4480cd06e882ef68b2ad88a3ea54832e2c48b571"; + }; + } + + { + name = "shebang_command___shebang_command_1.2.0.tgz"; + path = fetchurl { + name = "shebang_command___shebang_command_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz"; + sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea"; + }; + } + + { + name = "shebang_regex___shebang_regex_1.0.0.tgz"; + path = fetchurl { + name = "shebang_regex___shebang_regex_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz"; + sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3"; + }; + } + + { + name = "shellwords___shellwords_0.1.1.tgz"; + path = fetchurl { + name = "shellwords___shellwords_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz"; + sha1 = "d6b9181c1a48d397324c84871efbcfc73fc0654b"; + }; + } + + { + name = "signal_exit___signal_exit_3.0.2.tgz"; + path = fetchurl { + name = "signal_exit___signal_exit_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz"; + sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d"; + }; + } + + { + name = "simple_swizzle___simple_swizzle_0.2.2.tgz"; + path = fetchurl { + name = "simple_swizzle___simple_swizzle_0.2.2.tgz"; + url = "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz"; + sha1 = "a4da6b635ffcccca33f70d17cb92592de95e557a"; + }; + } + + { + name = "sisteransi___sisteransi_0.1.1.tgz"; + path = fetchurl { + name = "sisteransi___sisteransi_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/sisteransi/-/sisteransi-0.1.1.tgz"; + sha1 = "5431447d5f7d1675aac667ccd0b865a4994cb3ce"; + }; + } + + { + name = "slash___slash_1.0.0.tgz"; + path = fetchurl { + name = "slash___slash_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz"; + sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"; + }; + } + + { + name = "slice_ansi___slice_ansi_2.0.0.tgz"; + path = fetchurl { + name = "slice_ansi___slice_ansi_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.0.0.tgz"; + sha1 = "5373bdb8559b45676e8541c66916cdd6251612e7"; + }; + } + + { + name = "snapdragon_node___snapdragon_node_2.1.1.tgz"; + path = fetchurl { + name = "snapdragon_node___snapdragon_node_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz"; + sha1 = "6c175f86ff14bdb0724563e8f3c1b021a286853b"; + }; + } + + { + name = "snapdragon_util___snapdragon_util_3.0.1.tgz"; + path = fetchurl { + name = "snapdragon_util___snapdragon_util_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz"; + sha1 = "f956479486f2acd79700693f6f7b805e45ab56e2"; + }; + } + + { + name = "snapdragon___snapdragon_0.8.2.tgz"; + path = fetchurl { + name = "snapdragon___snapdragon_0.8.2.tgz"; + url = "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz"; + sha1 = "64922e7c565b0e14204ba1aa7d6964278d25182d"; + }; + } + + { + name = "sockjs_client___sockjs_client_1.3.0.tgz"; + path = fetchurl { + name = "sockjs_client___sockjs_client_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.3.0.tgz"; + sha1 = "12fc9d6cb663da5739d3dc5fb6e8687da95cb177"; + }; + } + + { + name = "sockjs___sockjs_0.3.19.tgz"; + path = fetchurl { + name = "sockjs___sockjs_0.3.19.tgz"; + url = "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz"; + sha1 = "d976bbe800af7bd20ae08598d582393508993c0d"; + }; + } + + { + name = "source_list_map___source_list_map_2.0.1.tgz"; + path = fetchurl { + name = "source_list_map___source_list_map_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz"; + sha1 = "3993bd873bfc48479cca9ea3a547835c7c154b34"; + }; + } + + { + name = "source_map_resolve___source_map_resolve_0.5.2.tgz"; + path = fetchurl { + name = "source_map_resolve___source_map_resolve_0.5.2.tgz"; + url = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz"; + sha1 = "72e2cc34095543e43b2c62b2c4c10d4a9054f259"; + }; + } + + { + name = "source_map_support___source_map_support_0.4.18.tgz"; + path = fetchurl { + name = "source_map_support___source_map_support_0.4.18.tgz"; + url = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz"; + sha1 = "0286a6de8be42641338594e97ccea75f0a2c585f"; + }; + } + + { + name = "source_map_support___source_map_support_0.5.9.tgz"; + path = fetchurl { + name = "source_map_support___source_map_support_0.5.9.tgz"; + url = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.9.tgz"; + sha1 = "41bc953b2534267ea2d605bccfa7bfa3111ced5f"; + }; + } + + { + name = "source_map_url___source_map_url_0.4.0.tgz"; + path = fetchurl { + name = "source_map_url___source_map_url_0.4.0.tgz"; + url = "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz"; + sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3"; + }; + } + + { + name = "source_map___source_map_0.5.7.tgz"; + path = fetchurl { + name = "source_map___source_map_0.5.7.tgz"; + url = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz"; + sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"; + }; + } + + { + name = "source_map___source_map_0.6.1.tgz"; + path = fetchurl { + name = "source_map___source_map_0.6.1.tgz"; + url = "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz"; + sha1 = "74722af32e9614e9c287a8d0bbde48b5e2f1a263"; + }; + } + + { + name = "spdx_correct___spdx_correct_3.1.0.tgz"; + path = fetchurl { + name = "spdx_correct___spdx_correct_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz"; + sha1 = "fb83e504445268f154b074e218c87c003cd31df4"; + }; + } + + { + name = "spdx_exceptions___spdx_exceptions_2.2.0.tgz"; + path = fetchurl { + name = "spdx_exceptions___spdx_exceptions_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz"; + sha1 = "2ea450aee74f2a89bfb94519c07fcd6f41322977"; + }; + } + + { + name = "spdx_expression_parse___spdx_expression_parse_3.0.0.tgz"; + path = fetchurl { + name = "spdx_expression_parse___spdx_expression_parse_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz"; + sha1 = "99e119b7a5da00e05491c9fa338b7904823b41d0"; + }; + } + + { + name = "spdx_license_ids___spdx_license_ids_3.0.3.tgz"; + path = fetchurl { + name = "spdx_license_ids___spdx_license_ids_3.0.3.tgz"; + url = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz"; + sha1 = "81c0ce8f21474756148bbb5f3bfc0f36bf15d76e"; + }; + } + + { + name = "spdy_transport___spdy_transport_3.0.0.tgz"; + path = fetchurl { + name = "spdy_transport___spdy_transport_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz"; + sha1 = "00d4863a6400ad75df93361a1608605e5dcdcf31"; + }; + } + + { + name = "spdy___spdy_4.0.0.tgz"; + path = fetchurl { + name = "spdy___spdy_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/spdy/-/spdy-4.0.0.tgz"; + sha1 = "81f222b5a743a329aa12cea6a390e60e9b613c52"; + }; + } + + { + name = "split_string___split_string_3.1.0.tgz"; + path = fetchurl { + name = "split_string___split_string_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz"; + sha1 = "7cb09dda3a86585705c64b39a6466038682e8fe2"; + }; + } + + { + name = "split___split_1.0.1.tgz"; + path = fetchurl { + name = "split___split_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz"; + sha1 = "605bd9be303aa59fb35f9229fbea0ddec9ea07d9"; + }; + } + + { + name = "sprintf_js___sprintf_js_1.0.3.tgz"; + path = fetchurl { + name = "sprintf_js___sprintf_js_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz"; + sha1 = "04e6926f662895354f3dd015203633b857297e2c"; + }; + } + + { + name = "sshpk___sshpk_1.16.0.tgz"; + path = fetchurl { + name = "sshpk___sshpk_1.16.0.tgz"; + url = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.0.tgz"; + sha1 = "1d4963a2fbffe58050aa9084ca20be81741c07de"; + }; + } + + { + name = "ssri___ssri_6.0.1.tgz"; + path = fetchurl { + name = "ssri___ssri_6.0.1.tgz"; + url = "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz"; + sha1 = "2a3c41b28dd45b62b63676ecb74001265ae9edd8"; + }; + } + + { + name = "stable___stable_0.1.8.tgz"; + path = fetchurl { + name = "stable___stable_0.1.8.tgz"; + url = "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz"; + sha1 = "836eb3c8382fe2936feaf544631017ce7d47a3cf"; + }; + } + + { + name = "stack_utils___stack_utils_1.0.2.tgz"; + path = fetchurl { + name = "stack_utils___stack_utils_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz"; + sha1 = "33eba3897788558bebfc2db059dc158ec36cebb8"; + }; + } + + { + name = "static_extend___static_extend_0.1.2.tgz"; + path = fetchurl { + name = "static_extend___static_extend_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz"; + sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6"; + }; + } + + { + name = "statuses___statuses_1.5.0.tgz"; + path = fetchurl { + name = "statuses___statuses_1.5.0.tgz"; + url = "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz"; + sha1 = "161c7dac177659fd9811f43771fa99381478628c"; + }; + } + + { + name = "statuses___statuses_1.4.0.tgz"; + path = fetchurl { + name = "statuses___statuses_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz"; + sha1 = "bb73d446da2796106efcc1b601a253d6c46bd087"; + }; + } + + { + name = "stealthy_require___stealthy_require_1.1.1.tgz"; + path = fetchurl { + name = "stealthy_require___stealthy_require_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz"; + sha1 = "35b09875b4ff49f26a777e509b3090a3226bf24b"; + }; + } + + { + name = "stream_browserify___stream_browserify_2.0.1.tgz"; + path = fetchurl { + name = "stream_browserify___stream_browserify_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz"; + sha1 = "66266ee5f9bdb9940a4e4514cafb43bb71e5c9db"; + }; + } + + { + name = "stream_each___stream_each_1.2.3.tgz"; + path = fetchurl { + name = "stream_each___stream_each_1.2.3.tgz"; + url = "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz"; + sha1 = "ebe27a0c389b04fbcc233642952e10731afa9bae"; + }; + } + + { + name = "stream_http___stream_http_2.8.3.tgz"; + path = fetchurl { + name = "stream_http___stream_http_2.8.3.tgz"; + url = "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz"; + sha1 = "b2d242469288a5a27ec4fe8933acf623de6514fc"; + }; + } + + { + name = "stream_shift___stream_shift_1.0.0.tgz"; + path = fetchurl { + name = "stream_shift___stream_shift_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz"; + sha1 = "d5c752825e5367e786f78e18e445ea223a155952"; + }; + } + + { + name = "string_length___string_length_2.0.0.tgz"; + path = fetchurl { + name = "string_length___string_length_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz"; + sha1 = "d40dbb686a3ace960c1cffca562bf2c45f8363ed"; + }; + } + + { + name = "string_width___string_width_1.0.2.tgz"; + path = fetchurl { + name = "string_width___string_width_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz"; + sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"; + }; + } + + { + name = "string_width___string_width_2.1.1.tgz"; + path = fetchurl { + name = "string_width___string_width_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz"; + sha1 = "ab93f27a8dc13d28cac815c462143a6d9012ae9e"; + }; + } + + { + name = "string.prototype.trim___string.prototype.trim_1.1.2.tgz"; + path = fetchurl { + name = "string.prototype.trim___string.prototype.trim_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz"; + sha1 = "d04de2c89e137f4d7d206f086b5ed2fae6be8cea"; + }; + } + + { + name = "string_decoder___string_decoder_1.2.0.tgz"; + path = fetchurl { + name = "string_decoder___string_decoder_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz"; + sha1 = "fe86e738b19544afe70469243b2a1ee9240eae8d"; + }; + } + + { + name = "string_decoder___string_decoder_1.1.1.tgz"; + path = fetchurl { + name = "string_decoder___string_decoder_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz"; + sha1 = "9cf1611ba62685d7030ae9e4ba34149c3af03fc8"; + }; + } + + { + name = "stringz___stringz_1.0.0.tgz"; + path = fetchurl { + name = "stringz___stringz_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/stringz/-/stringz-1.0.0.tgz"; + sha1 = "d2acba994e4ce3c725ee15c86fff4281280d2025"; + }; + } + + { + name = "strip_ansi___strip_ansi_3.0.1.tgz"; + path = fetchurl { + name = "strip_ansi___strip_ansi_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz"; + sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"; + }; + } + + { + name = "strip_ansi___strip_ansi_4.0.0.tgz"; + path = fetchurl { + name = "strip_ansi___strip_ansi_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz"; + sha1 = "a8479022eb1ac368a871389b635262c505ee368f"; + }; + } + + { + name = "strip_ansi___strip_ansi_5.0.0.tgz"; + path = fetchurl { + name = "strip_ansi___strip_ansi_5.0.0.tgz"; + url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.0.0.tgz"; + sha1 = "f78f68b5d0866c20b2c9b8c61b5298508dc8756f"; + }; + } + + { + name = "strip_bom___strip_bom_3.0.0.tgz"; + path = fetchurl { + name = "strip_bom___strip_bom_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz"; + sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"; + }; + } + + { + name = "strip_bom___strip_bom_2.0.0.tgz"; + path = fetchurl { + name = "strip_bom___strip_bom_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz"; + sha1 = "6219a85616520491f35788bdbf1447a99c7e6b0e"; + }; + } + + { + name = "strip_eof___strip_eof_1.0.0.tgz"; + path = fetchurl { + name = "strip_eof___strip_eof_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz"; + sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf"; + }; + } + + { + name = "strip_json_comments___strip_json_comments_2.0.1.tgz"; + path = fetchurl { + name = "strip_json_comments___strip_json_comments_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz"; + sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a"; + }; + } + + { + name = "style_loader___style_loader_0.23.1.tgz"; + path = fetchurl { + name = "style_loader___style_loader_0.23.1.tgz"; + url = "https://registry.yarnpkg.com/style-loader/-/style-loader-0.23.1.tgz"; + sha1 = "cb9154606f3e771ab6c4ab637026a1049174d925"; + }; + } + + { + name = "stylehacks___stylehacks_4.0.1.tgz"; + path = fetchurl { + name = "stylehacks___stylehacks_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.1.tgz"; + sha1 = "3186595d047ab0df813d213e51c8b94e0b9010f2"; + }; + } + + { + name = "substring_trie___substring_trie_1.0.2.tgz"; + path = fetchurl { + name = "substring_trie___substring_trie_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/substring-trie/-/substring-trie-1.0.2.tgz"; + sha1 = "7b42592391628b4f2cb17365c6cce4257c7b7af5"; + }; + } + + { + name = "supports_color___supports_color_2.0.0.tgz"; + path = fetchurl { + name = "supports_color___supports_color_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz"; + sha1 = "535d045ce6b6363fa40117084629995e9df324c7"; + }; + } + + { + name = "supports_color___supports_color_3.2.3.tgz"; + path = fetchurl { + name = "supports_color___supports_color_3.2.3.tgz"; + url = "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz"; + sha1 = "65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"; + }; + } + + { + name = "supports_color___supports_color_5.5.0.tgz"; + path = fetchurl { + name = "supports_color___supports_color_5.5.0.tgz"; + url = "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz"; + sha1 = "e2e69a44ac8772f78a1ec0b35b689df6530efc8f"; + }; + } + + { + name = "svgo___svgo_1.1.1.tgz"; + path = fetchurl { + name = "svgo___svgo_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/svgo/-/svgo-1.1.1.tgz"; + sha1 = "12384b03335bcecd85cfa5f4e3375fed671cb985"; + }; + } + + { + name = "symbol_observable___symbol_observable_1.2.0.tgz"; + path = fetchurl { + name = "symbol_observable___symbol_observable_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz"; + sha1 = "c22688aed4eab3cdc2dfeacbb561660560a00804"; + }; + } + + { + name = "symbol_tree___symbol_tree_3.2.2.tgz"; + path = fetchurl { + name = "symbol_tree___symbol_tree_3.2.2.tgz"; + url = "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz"; + sha1 = "ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"; + }; + } + + { + name = "table___table_5.1.1.tgz"; + path = fetchurl { + name = "table___table_5.1.1.tgz"; + url = "https://registry.yarnpkg.com/table/-/table-5.1.1.tgz"; + sha1 = "92030192f1b7b51b6eeab23ed416862e47b70837"; + }; + } + + { + name = "tapable___tapable_1.1.1.tgz"; + path = fetchurl { + name = "tapable___tapable_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/tapable/-/tapable-1.1.1.tgz"; + sha1 = "4d297923c5a72a42360de2ab52dadfaaec00018e"; + }; + } + + { + name = "tar___tar_4.4.8.tgz"; + path = fetchurl { + name = "tar___tar_4.4.8.tgz"; + url = "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz"; + sha1 = "b19eec3fde2a96e64666df9fdb40c5ca1bc3747d"; + }; + } + + { + name = "tcomb___tcomb_2.7.0.tgz"; + path = fetchurl { + name = "tcomb___tcomb_2.7.0.tgz"; + url = "https://registry.yarnpkg.com/tcomb/-/tcomb-2.7.0.tgz"; + sha1 = "10d62958041669a5d53567b9a4ee8cde22b1c2b0"; + }; + } + + { + name = "terser_webpack_plugin___terser_webpack_plugin_1.2.1.tgz"; + path = fetchurl { + name = "terser_webpack_plugin___terser_webpack_plugin_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.2.1.tgz"; + sha1 = "7545da9ae5f4f9ae6a0ac961eb46f5e7c845cc26"; + }; + } + + { + name = "terser___terser_3.14.0.tgz"; + path = fetchurl { + name = "terser___terser_3.14.0.tgz"; + url = "https://registry.yarnpkg.com/terser/-/terser-3.14.0.tgz"; + sha1 = "49a8ddf34a1308a901d787dab03a42c51b557447"; + }; + } + + { + name = "test_exclude___test_exclude_4.2.3.tgz"; + path = fetchurl { + name = "test_exclude___test_exclude_4.2.3.tgz"; + url = "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.3.tgz"; + sha1 = "a9a5e64474e4398339245a0a769ad7c2f4a97c20"; + }; + } + + { + name = "text_table___text_table_0.2.0.tgz"; + path = fetchurl { + name = "text_table___text_table_0.2.0.tgz"; + url = "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz"; + sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4"; + }; + } + + { + name = "throat___throat_4.1.0.tgz"; + path = fetchurl { + name = "throat___throat_4.1.0.tgz"; + url = "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz"; + sha1 = "89037cbc92c56ab18926e6ba4cbb200e15672a6a"; + }; + } + + { + name = "throng___throng_4.0.0.tgz"; + path = fetchurl { + name = "throng___throng_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/throng/-/throng-4.0.0.tgz"; + sha1 = "983c6ba1993b58eae859998aa687ffe88df84c17"; + }; + } + + { + name = "through2___through2_2.0.5.tgz"; + path = fetchurl { + name = "through2___through2_2.0.5.tgz"; + url = "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz"; + sha1 = "01c1e39eb31d07cb7d03a96a70823260b23132cd"; + }; + } + + { + name = "through___through_2.3.8.tgz"; + path = fetchurl { + name = "through___through_2.3.8.tgz"; + url = "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz"; + sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"; + }; + } + + { + name = "thunky___thunky_1.0.3.tgz"; + path = fetchurl { + name = "thunky___thunky_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/thunky/-/thunky-1.0.3.tgz"; + sha1 = "f5df732453407b09191dae73e2a8cc73f381a826"; + }; + } + + { + name = "timers_browserify___timers_browserify_2.0.10.tgz"; + path = fetchurl { + name = "timers_browserify___timers_browserify_2.0.10.tgz"; + url = "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz"; + sha1 = "1d28e3d2aadf1d5a5996c4e9f95601cd053480ae"; + }; + } + + { + name = "timsort___timsort_0.3.0.tgz"; + path = fetchurl { + name = "timsort___timsort_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz"; + sha1 = "405411a8e7e6339fe64db9a234de11dc31e02bd4"; + }; + } + + { + name = "tiny_queue___tiny_queue_0.2.1.tgz"; + path = fetchurl { + name = "tiny_queue___tiny_queue_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/tiny-queue/-/tiny-queue-0.2.1.tgz"; + sha1 = "25a67f2c6e253b2ca941977b5ef7442ef97a6046"; + }; + } + + { + name = "tmp___tmp_0.0.33.tgz"; + path = fetchurl { + name = "tmp___tmp_0.0.33.tgz"; + url = "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz"; + sha1 = "6d34335889768d21b2bcda0aa277ced3b1bfadf9"; + }; + } + + { + name = "tmpl___tmpl_1.0.4.tgz"; + path = fetchurl { + name = "tmpl___tmpl_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz"; + sha1 = "23640dd7b42d00433911140820e5cf440e521dd1"; + }; + } + + { + name = "to_arraybuffer___to_arraybuffer_1.0.1.tgz"; + path = fetchurl { + name = "to_arraybuffer___to_arraybuffer_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz"; + sha1 = "7d229b1fcc637e466ca081180836a7aabff83f43"; + }; + } + + { + name = "to_fast_properties___to_fast_properties_1.0.3.tgz"; + path = fetchurl { + name = "to_fast_properties___to_fast_properties_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz"; + sha1 = "b83571fa4d8c25b82e231b06e3a3055de4ca1a47"; + }; + } + + { + name = "to_fast_properties___to_fast_properties_2.0.0.tgz"; + path = fetchurl { + name = "to_fast_properties___to_fast_properties_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz"; + sha1 = "dc5e698cbd079265bc73e0377681a4e4e83f616e"; + }; + } + + { + name = "to_object_path___to_object_path_0.3.0.tgz"; + path = fetchurl { + name = "to_object_path___to_object_path_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz"; + sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af"; + }; + } + + { + name = "to_regex_range___to_regex_range_2.1.1.tgz"; + path = fetchurl { + name = "to_regex_range___to_regex_range_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz"; + sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38"; + }; + } + + { + name = "to_regex___to_regex_3.0.2.tgz"; + path = fetchurl { + name = "to_regex___to_regex_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz"; + sha1 = "13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"; + }; + } + + { + name = "tough_cookie___tough_cookie_2.5.0.tgz"; + path = fetchurl { + name = "tough_cookie___tough_cookie_2.5.0.tgz"; + url = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz"; + sha1 = "cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"; + }; + } + + { + name = "tough_cookie___tough_cookie_2.4.3.tgz"; + path = fetchurl { + name = "tough_cookie___tough_cookie_2.4.3.tgz"; + url = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz"; + sha1 = "53f36da3f47783b0925afa06ff9f3b165280f781"; + }; + } + + { + name = "tr46___tr46_1.0.1.tgz"; + path = fetchurl { + name = "tr46___tr46_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz"; + sha1 = "a8b13fd6bfd2489519674ccde55ba3693b706d09"; + }; + } + + { + name = "trim_right___trim_right_1.0.1.tgz"; + path = fetchurl { + name = "trim_right___trim_right_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz"; + sha1 = "cb2e1203067e0c8de1f614094b9fe45704ea6003"; + }; + } + + { + name = "tryer___tryer_1.0.1.tgz"; + path = fetchurl { + name = "tryer___tryer_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz"; + sha1 = "f2c85406800b9b0f74c9f7465b81eaad241252f8"; + }; + } + + { + name = "tslib___tslib_1.9.3.tgz"; + path = fetchurl { + name = "tslib___tslib_1.9.3.tgz"; + url = "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz"; + sha1 = "d7e4dd79245d85428c4d7e4822a79917954ca286"; + }; + } + + { + name = "tty_browserify___tty_browserify_0.0.0.tgz"; + path = fetchurl { + name = "tty_browserify___tty_browserify_0.0.0.tgz"; + url = "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz"; + sha1 = "a157ba402da24e9bf957f9aa69d524eed42901a6"; + }; + } + + { + name = "tunnel_agent___tunnel_agent_0.6.0.tgz"; + path = fetchurl { + name = "tunnel_agent___tunnel_agent_0.6.0.tgz"; + url = "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz"; + sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd"; + }; + } + + { + name = "tweetnacl___tweetnacl_0.14.5.tgz"; + path = fetchurl { + name = "tweetnacl___tweetnacl_0.14.5.tgz"; + url = "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz"; + sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64"; + }; + } + + { + name = "type_check___type_check_0.3.2.tgz"; + path = fetchurl { + name = "type_check___type_check_0.3.2.tgz"; + url = "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz"; + sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72"; + }; + } + + { + name = "type_is___type_is_1.6.16.tgz"; + path = fetchurl { + name = "type_is___type_is_1.6.16.tgz"; + url = "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz"; + sha1 = "f89ce341541c672b25ee7ae3c73dee3b2be50194"; + }; + } + + { + name = "typedarray___typedarray_0.0.6.tgz"; + path = fetchurl { + name = "typedarray___typedarray_0.0.6.tgz"; + url = "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz"; + sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777"; + }; + } + + { + name = "ua_parser_js___ua_parser_js_0.7.19.tgz"; + path = fetchurl { + name = "ua_parser_js___ua_parser_js_0.7.19.tgz"; + url = "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.19.tgz"; + sha1 = "94151be4c0a7fb1d001af7022fdaca4642659e4b"; + }; + } + + { + name = "uglify_js___uglify_js_3.4.9.tgz"; + path = fetchurl { + name = "uglify_js___uglify_js_3.4.9.tgz"; + url = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.9.tgz"; + sha1 = "af02f180c1207d76432e473ed24a28f4a782bae3"; + }; + } + + { + name = "uglifyjs_webpack_plugin___uglifyjs_webpack_plugin_2.1.1.tgz"; + path = fetchurl { + name = "uglifyjs_webpack_plugin___uglifyjs_webpack_plugin_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-2.1.1.tgz"; + sha1 = "6937d7513a37280d4792f1fb536bef35e08e420a"; + }; + } + + { + name = "unicode_astral_regex___unicode_astral_regex_1.0.1.tgz"; + path = fetchurl { + name = "unicode_astral_regex___unicode_astral_regex_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/unicode-astral-regex/-/unicode-astral-regex-1.0.1.tgz"; + sha1 = "2cab8529480646f9614ddbc7b62158ad05123feb"; + }; + } + + { + name = "unicode_canonical_property_names_ecmascript___unicode_canonical_property_names_ecmascript_1.0.4.tgz"; + path = fetchurl { + name = "unicode_canonical_property_names_ecmascript___unicode_canonical_property_names_ecmascript_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz"; + sha1 = "2619800c4c825800efdd8343af7dd9933cbe2818"; + }; + } + + { + name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_1.0.4.tgz"; + path = fetchurl { + name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz"; + sha1 = "8ed2a32569961bce9227d09cd3ffbb8fed5f020c"; + }; + } + + { + name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.0.2.tgz"; + path = fetchurl { + name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz"; + sha1 = "9f1dc76926d6ccf452310564fd834ace059663d4"; + }; + } + + { + name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.0.4.tgz"; + path = fetchurl { + name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz"; + sha1 = "5a533f31b4317ea76f17d807fa0d116546111dd0"; + }; + } + + { + name = "union_value___union_value_1.0.0.tgz"; + path = fetchurl { + name = "union_value___union_value_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz"; + sha1 = "5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4"; + }; + } + + { + name = "uniq___uniq_1.0.1.tgz"; + path = fetchurl { + name = "uniq___uniq_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz"; + sha1 = "b31c5ae8254844a3a8281541ce2b04b865a734ff"; + }; + } + + { + name = "uniqs___uniqs_2.0.0.tgz"; + path = fetchurl { + name = "uniqs___uniqs_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz"; + sha1 = "ffede4b36b25290696e6e165d4a59edb998e6b02"; + }; + } + + { + name = "unique_filename___unique_filename_1.1.1.tgz"; + path = fetchurl { + name = "unique_filename___unique_filename_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz"; + sha1 = "1d69769369ada0583103a1e6ae87681b56573230"; + }; + } + + { + name = "unique_slug___unique_slug_2.0.1.tgz"; + path = fetchurl { + name = "unique_slug___unique_slug_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.1.tgz"; + sha1 = "5e9edc6d1ce8fb264db18a507ef9bd8544451ca6"; + }; + } + + { + name = "unpipe___unpipe_1.0.0.tgz"; + path = fetchurl { + name = "unpipe___unpipe_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz"; + sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec"; + }; + } + + { + name = "unquote___unquote_1.1.1.tgz"; + path = fetchurl { + name = "unquote___unquote_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz"; + sha1 = "8fded7324ec6e88a0ff8b905e7c098cdc086d544"; + }; + } + + { + name = "unset_value___unset_value_1.0.0.tgz"; + path = fetchurl { + name = "unset_value___unset_value_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz"; + sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"; + }; + } + + { + name = "upath___upath_1.1.0.tgz"; + path = fetchurl { + name = "upath___upath_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz"; + sha1 = "35256597e46a581db4793d0ce47fa9aebfc9fabd"; + }; + } + + { + name = "uri_js___uri_js_4.2.2.tgz"; + path = fetchurl { + name = "uri_js___uri_js_4.2.2.tgz"; + url = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz"; + sha1 = "94c540e1ff772956e2299507c010aea6c8838eb0"; + }; + } + + { + name = "urix___urix_0.1.0.tgz"; + path = fetchurl { + name = "urix___urix_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz"; + sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72"; + }; + } + + { + name = "url_parse___url_parse_1.4.4.tgz"; + path = fetchurl { + name = "url_parse___url_parse_1.4.4.tgz"; + url = "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.4.tgz"; + sha1 = "cac1556e95faa0303691fec5cf9d5a1bc34648f8"; + }; + } + + { + name = "url___url_0.11.0.tgz"; + path = fetchurl { + name = "url___url_0.11.0.tgz"; + url = "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz"; + sha1 = "3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"; + }; + } + + { + name = "use___use_3.1.1.tgz"; + path = fetchurl { + name = "use___use_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz"; + sha1 = "d50c8cac79a19fbc20f2911f56eb973f4e10070f"; + }; + } + + { + name = "util_deprecate___util_deprecate_1.0.2.tgz"; + path = fetchurl { + name = "util_deprecate___util_deprecate_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz"; + sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf"; + }; + } + + { + name = "util.promisify___util.promisify_1.0.0.tgz"; + path = fetchurl { + name = "util.promisify___util.promisify_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz"; + sha1 = "440f7165a459c9a16dc145eb8e72f35687097030"; + }; + } + + { + name = "util___util_0.10.3.tgz"; + path = fetchurl { + name = "util___util_0.10.3.tgz"; + url = "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz"; + sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9"; + }; + } + + { + name = "util___util_0.10.4.tgz"; + path = fetchurl { + name = "util___util_0.10.4.tgz"; + url = "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz"; + sha1 = "3aa0125bfe668a4672de58857d3ace27ecb76901"; + }; + } + + { + name = "utils_merge___utils_merge_1.0.1.tgz"; + path = fetchurl { + name = "utils_merge___utils_merge_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz"; + sha1 = "9f95710f50a267947b2ccc124741c1028427e713"; + }; + } + + { + name = "uuid___uuid_3.3.2.tgz"; + path = fetchurl { + name = "uuid___uuid_3.3.2.tgz"; + url = "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz"; + sha1 = "1b4af4955eb3077c501c23872fc6513811587131"; + }; + } + + { + name = "uws___uws_10.148.0.tgz"; + path = fetchurl { + name = "uws___uws_10.148.0.tgz"; + url = "https://registry.yarnpkg.com/uws/-/uws-10.148.0.tgz"; + sha1 = "3fcd35f083ca515e091cd33b2d78f0f51a666215"; + }; + } + + { + name = "v8_compile_cache___v8_compile_cache_2.0.2.tgz"; + path = fetchurl { + name = "v8_compile_cache___v8_compile_cache_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz"; + sha1 = "a428b28bb26790734c4fc8bc9fa106fccebf6a6c"; + }; + } + + { + name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz"; + path = fetchurl { + name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz"; + url = "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz"; + sha1 = "fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"; + }; + } + + { + name = "value_equal___value_equal_0.4.0.tgz"; + path = fetchurl { + name = "value_equal___value_equal_0.4.0.tgz"; + url = "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz"; + sha1 = "c5bdd2f54ee093c04839d71ce2e4758a6890abc7"; + }; + } + + { + name = "vary___vary_1.1.2.tgz"; + path = fetchurl { + name = "vary___vary_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz"; + sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc"; + }; + } + + { + name = "vendors___vendors_1.0.2.tgz"; + path = fetchurl { + name = "vendors___vendors_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/vendors/-/vendors-1.0.2.tgz"; + sha1 = "7fcb5eef9f5623b156bcea89ec37d63676f21801"; + }; + } + + { + name = "verror___verror_1.10.0.tgz"; + path = fetchurl { + name = "verror___verror_1.10.0.tgz"; + url = "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz"; + sha1 = "3a105ca17053af55d6e270c1f8288682e18da400"; + }; + } + + { + name = "vm_browserify___vm_browserify_0.0.4.tgz"; + path = fetchurl { + name = "vm_browserify___vm_browserify_0.0.4.tgz"; + url = "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz"; + sha1 = "5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"; + }; + } + + { + name = "w3c_hr_time___w3c_hr_time_1.0.1.tgz"; + path = fetchurl { + name = "w3c_hr_time___w3c_hr_time_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz"; + sha1 = "82ac2bff63d950ea9e3189a58a65625fedf19045"; + }; + } + + { + name = "walker___walker_1.0.7.tgz"; + path = fetchurl { + name = "walker___walker_1.0.7.tgz"; + url = "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz"; + sha1 = "2f7f9b8fd10d677262b18a884e28d19618e028fb"; + }; + } + + { + name = "warning___warning_3.0.0.tgz"; + path = fetchurl { + name = "warning___warning_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz"; + sha1 = "32e5377cb572de4ab04753bdf8821c01ed605b7c"; + }; + } + + { + name = "warning___warning_4.0.2.tgz"; + path = fetchurl { + name = "warning___warning_4.0.2.tgz"; + url = "https://registry.yarnpkg.com/warning/-/warning-4.0.2.tgz"; + sha1 = "aa6876480872116fa3e11d434b0d0d8d91e44607"; + }; + } + + { + name = "watch___watch_0.18.0.tgz"; + path = fetchurl { + name = "watch___watch_0.18.0.tgz"; + url = "https://registry.yarnpkg.com/watch/-/watch-0.18.0.tgz"; + sha1 = "28095476c6df7c90c963138990c0a5423eb4b986"; + }; + } + + { + name = "watchpack___watchpack_1.6.0.tgz"; + path = fetchurl { + name = "watchpack___watchpack_1.6.0.tgz"; + url = "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz"; + sha1 = "4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00"; + }; + } + + { + name = "wbuf___wbuf_1.7.3.tgz"; + path = fetchurl { + name = "wbuf___wbuf_1.7.3.tgz"; + url = "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz"; + sha1 = "c1d8d149316d3ea852848895cb6a0bfe887b87df"; + }; + } + + { + name = "webidl_conversions___webidl_conversions_4.0.2.tgz"; + path = fetchurl { + name = "webidl_conversions___webidl_conversions_4.0.2.tgz"; + url = "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz"; + sha1 = "a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"; + }; + } + + { + name = "webpack_assets_manifest___webpack_assets_manifest_3.1.1.tgz"; + path = fetchurl { + name = "webpack_assets_manifest___webpack_assets_manifest_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/webpack-assets-manifest/-/webpack-assets-manifest-3.1.1.tgz"; + sha1 = "39bbc3bf2ee57fcd8ba07cda51c9ba4a3c6ae1de"; + }; + } + + { + name = "webpack_bundle_analyzer___webpack_bundle_analyzer_3.0.3.tgz"; + path = fetchurl { + name = "webpack_bundle_analyzer___webpack_bundle_analyzer_3.0.3.tgz"; + url = "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.0.3.tgz"; + sha1 = "dbc7fff8f52058b6714a20fddf309d0790e3e0a0"; + }; + } + + { + name = "webpack_cli___webpack_cli_3.1.2.tgz"; + path = fetchurl { + name = "webpack_cli___webpack_cli_3.1.2.tgz"; + url = "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.1.2.tgz"; + sha1 = "17d7e01b77f89f884a2bbf9db545f0f6a648e746"; + }; + } + + { + name = "webpack_dev_middleware___webpack_dev_middleware_3.4.0.tgz"; + path = fetchurl { + name = "webpack_dev_middleware___webpack_dev_middleware_3.4.0.tgz"; + url = "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.4.0.tgz"; + sha1 = "1132fecc9026fd90f0ecedac5cbff75d1fb45890"; + }; + } + + { + name = "webpack_dev_server___webpack_dev_server_3.1.14.tgz"; + path = fetchurl { + name = "webpack_dev_server___webpack_dev_server_3.1.14.tgz"; + url = "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.1.14.tgz"; + sha1 = "60fb229b997fc5a0a1fc6237421030180959d469"; + }; + } + + { + name = "webpack_log___webpack_log_2.0.0.tgz"; + path = fetchurl { + name = "webpack_log___webpack_log_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz"; + sha1 = "5b7928e0637593f119d32f6227c1e0ac31e1b47f"; + }; + } + + { + name = "webpack_merge___webpack_merge_4.1.5.tgz"; + path = fetchurl { + name = "webpack_merge___webpack_merge_4.1.5.tgz"; + url = "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.1.5.tgz"; + sha1 = "2be31e846c20767d1bef56bdca64c328a681190a"; + }; + } + + { + name = "webpack_sources___webpack_sources_1.3.0.tgz"; + path = fetchurl { + name = "webpack_sources___webpack_sources_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz"; + sha1 = "2a28dcb9f1f45fe960d8f1493252b5ee6530fa85"; + }; + } + + { + name = "webpack___webpack_4.28.3.tgz"; + path = fetchurl { + name = "webpack___webpack_4.28.3.tgz"; + url = "https://registry.yarnpkg.com/webpack/-/webpack-4.28.3.tgz"; + sha1 = "8acef6e77fad8a01bfd0c2b25aa3636d46511874"; + }; + } + + { + name = "websocket_driver___websocket_driver_0.7.0.tgz"; + path = fetchurl { + name = "websocket_driver___websocket_driver_0.7.0.tgz"; + url = "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz"; + sha1 = "0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb"; + }; + } + + { + name = "websocket_extensions___websocket_extensions_0.1.3.tgz"; + path = fetchurl { + name = "websocket_extensions___websocket_extensions_0.1.3.tgz"; + url = "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz"; + sha1 = "5d2ff22977003ec687a4b87073dfbbac146ccf29"; + }; + } + + { + name = "websocket.js___websocket.js_0.1.12.tgz"; + path = fetchurl { + name = "websocket.js___websocket.js_0.1.12.tgz"; + url = "https://registry.yarnpkg.com/websocket.js/-/websocket.js-0.1.12.tgz"; + sha1 = "46c980787c57ebc8edcf44a0263e5d639367b85b"; + }; + } + + { + name = "whatwg_encoding___whatwg_encoding_1.0.5.tgz"; + path = fetchurl { + name = "whatwg_encoding___whatwg_encoding_1.0.5.tgz"; + url = "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz"; + sha1 = "5abacf777c32166a51d085d6b4f3e7d27113ddb0"; + }; + } + + { + name = "whatwg_fetch___whatwg_fetch_3.0.0.tgz"; + path = fetchurl { + name = "whatwg_fetch___whatwg_fetch_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz"; + sha1 = "fc804e458cc460009b1a2b966bc8817d2578aefb"; + }; + } + + { + name = "whatwg_mimetype___whatwg_mimetype_2.3.0.tgz"; + path = fetchurl { + name = "whatwg_mimetype___whatwg_mimetype_2.3.0.tgz"; + url = "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz"; + sha1 = "3d4b1e0312d2079879f826aff18dbeeca5960fbf"; + }; + } + + { + name = "whatwg_url___whatwg_url_6.5.0.tgz"; + path = fetchurl { + name = "whatwg_url___whatwg_url_6.5.0.tgz"; + url = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz"; + sha1 = "f2df02bff176fd65070df74ad5ccbb5a199965a8"; + }; + } + + { + name = "whatwg_url___whatwg_url_7.0.0.tgz"; + path = fetchurl { + name = "whatwg_url___whatwg_url_7.0.0.tgz"; + url = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz"; + sha1 = "fde926fa54a599f3adf82dff25a9f7be02dc6edd"; + }; + } + + { + name = "which_module___which_module_2.0.0.tgz"; + path = fetchurl { + name = "which_module___which_module_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz"; + sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"; + }; + } + + { + name = "which___which_1.3.1.tgz"; + path = fetchurl { + name = "which___which_1.3.1.tgz"; + url = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz"; + sha1 = "a45043d54f5805316da8d62f9f50918d3da70b0a"; + }; + } + + { + name = "wide_align___wide_align_1.1.3.tgz"; + path = fetchurl { + name = "wide_align___wide_align_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz"; + sha1 = "ae074e6bdc0c14a431e804e624549c633b000457"; + }; + } + + { + name = "wordwrap___wordwrap_0.0.3.tgz"; + path = fetchurl { + name = "wordwrap___wordwrap_0.0.3.tgz"; + url = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz"; + sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107"; + }; + } + + { + name = "wordwrap___wordwrap_1.0.0.tgz"; + path = fetchurl { + name = "wordwrap___wordwrap_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz"; + sha1 = "27584810891456a4171c8d0226441ade90cbcaeb"; + }; + } + + { + name = "worker_farm___worker_farm_1.6.0.tgz"; + path = fetchurl { + name = "worker_farm___worker_farm_1.6.0.tgz"; + url = "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz"; + sha1 = "aecc405976fab5a95526180846f0dba288f3a4a0"; + }; + } + + { + name = "wrap_ansi___wrap_ansi_2.1.0.tgz"; + path = fetchurl { + name = "wrap_ansi___wrap_ansi_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz"; + sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85"; + }; + } + + { + name = "wrappy___wrappy_1.0.2.tgz"; + path = fetchurl { + name = "wrappy___wrappy_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz"; + sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"; + }; + } + + { + name = "write_file_atomic___write_file_atomic_2.3.0.tgz"; + path = fetchurl { + name = "write_file_atomic___write_file_atomic_2.3.0.tgz"; + url = "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz"; + sha1 = "1ff61575c2e2a4e8e510d6fa4e243cce183999ab"; + }; + } + + { + name = "write___write_0.2.1.tgz"; + path = fetchurl { + name = "write___write_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz"; + sha1 = "5fc03828e264cea3fe91455476f7a3c566cb0757"; + }; + } + + { + name = "ws___ws_5.2.2.tgz"; + path = fetchurl { + name = "ws___ws_5.2.2.tgz"; + url = "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz"; + sha1 = "dffef14866b8e8dc9133582514d1befaf96e980f"; + }; + } + + { + name = "ws___ws_6.1.2.tgz"; + path = fetchurl { + name = "ws___ws_6.1.2.tgz"; + url = "https://registry.yarnpkg.com/ws/-/ws-6.1.2.tgz"; + sha1 = "3cc7462e98792f0ac679424148903ded3b9c3ad8"; + }; + } + + { + name = "xml_name_validator___xml_name_validator_3.0.0.tgz"; + path = fetchurl { + name = "xml_name_validator___xml_name_validator_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz"; + sha1 = "6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"; + }; + } + + { + name = "xregexp___xregexp_4.0.0.tgz"; + path = fetchurl { + name = "xregexp___xregexp_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz"; + sha1 = "e698189de49dd2a18cc5687b05e17c8e43943020"; + }; + } + + { + name = "xtend___xtend_4.0.1.tgz"; + path = fetchurl { + name = "xtend___xtend_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz"; + sha1 = "a5c6d532be656e23db820efb943a1f04998d63af"; + }; + } + + { + name = "y18n___y18n_3.2.1.tgz"; + path = fetchurl { + name = "y18n___y18n_3.2.1.tgz"; + url = "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz"; + sha1 = "6d15fba884c08679c0d77e88e7759e811e07fa41"; + }; + } + + { + name = "y18n___y18n_4.0.0.tgz"; + path = fetchurl { + name = "y18n___y18n_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz"; + sha1 = "95ef94f85ecc81d007c264e190a120f0a3c8566b"; + }; + } + + { + name = "yallist___yallist_2.1.2.tgz"; + path = fetchurl { + name = "yallist___yallist_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz"; + sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52"; + }; + } + + { + name = "yallist___yallist_3.0.3.tgz"; + path = fetchurl { + name = "yallist___yallist_3.0.3.tgz"; + url = "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz"; + sha1 = "b4b049e314be545e3ce802236d6cd22cd91c3de9"; + }; + } + + { + name = "yargs_parser___yargs_parser_10.1.0.tgz"; + path = fetchurl { + name = "yargs_parser___yargs_parser_10.1.0.tgz"; + url = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz"; + sha1 = "7202265b89f7e9e9f2e5765e0fe735a905edbaa8"; + }; + } + + { + name = "yargs_parser___yargs_parser_11.1.1.tgz"; + path = fetchurl { + name = "yargs_parser___yargs_parser_11.1.1.tgz"; + url = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz"; + sha1 = "879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"; + }; + } + + { + name = "yargs_parser___yargs_parser_7.0.0.tgz"; + path = fetchurl { + name = "yargs_parser___yargs_parser_7.0.0.tgz"; + url = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz"; + sha1 = "8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9"; + }; + } + + { + name = "yargs_parser___yargs_parser_9.0.2.tgz"; + path = fetchurl { + name = "yargs_parser___yargs_parser_9.0.2.tgz"; + url = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz"; + sha1 = "9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077"; + }; + } + + { + name = "yargs___yargs_12.0.2.tgz"; + path = fetchurl { + name = "yargs___yargs_12.0.2.tgz"; + url = "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz"; + sha1 = "fe58234369392af33ecbef53819171eff0f5aadc"; + }; + } + + { + name = "yargs___yargs_11.1.0.tgz"; + path = fetchurl { + name = "yargs___yargs_11.1.0.tgz"; + url = "https://registry.yarnpkg.com/yargs/-/yargs-11.1.0.tgz"; + sha1 = "90b869934ed6e871115ea2ff58b03f4724ed2d77"; + }; + } + + { + name = "yargs___yargs_12.0.5.tgz"; + path = fetchurl { + name = "yargs___yargs_12.0.5.tgz"; + url = "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz"; + sha1 = "05f5997b609647b64f66b81e3b4b10a368e7ad13"; + }; + } + + { + name = "yargs___yargs_8.0.2.tgz"; + path = fetchurl { + name = "yargs___yargs_8.0.2.tgz"; + url = "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz"; + sha1 = "6299a9055b1cefc969ff7e79c1d918dceb22c360"; + }; + } + ]; +} diff --git a/pkgs/webapps/mediagoblin/bower-packages.nix b/pkgs/webapps/mediagoblin/bower-packages.nix new file mode 100644 index 00000000..03af849a --- /dev/null +++ b/pkgs/webapps/mediagoblin/bower-packages.nix @@ -0,0 +1,8 @@ +# Generated by bower2nix v3.2.0 (https://github.com/rvl/bower2nix) +{ fetchbower, buildEnv }: +buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [ + (fetchbower "jquery" "2.1.4" "~2.1.3" "1ywrpk2xsr6ghkm3j9gfnl9r3jn6xarfamp99b0bcm57kq9fm2k0") + (fetchbower "video.js" "4.11.4" "~4.11.4" "05prdvyk0rxbkh7sdd0d9ns5l5crwvc68wzkyqmrdjw367pcv8sn") + (fetchbower "leaflet" "0.7.7" "~0.7.3" "0jim285bljmxxngpm3yx6bnnd10n2whwkgmmhzpcd1rdksnr5nca") + (fetchbower "tinymce" "4.1.10" "~4.1.7" "16jyvdb9bq8gjwhs69q8p88vdixalajrz81nsmbrzzxhkih57dyx") +]; } diff --git a/pkgs/webapps/mediagoblin/default.nix b/pkgs/webapps/mediagoblin/default.nix new file mode 100644 index 00000000..643daedf --- /dev/null +++ b/pkgs/webapps/mediagoblin/default.nix @@ -0,0 +1,169 @@ +{ makeWrapper, stdenv, writeScript, fetchurl, buildBowerComponents, mylibs, which, python36, gst_all_1, automake, autoconf, nodejs, nodePackages }: +let + overridePython = let + packageOverrides = self: super: { + celery = super.celery.overridePythonAttrs(old: rec { + version = "3.1.26.post2"; + src = self.fetchPypi { + inherit version; + inherit (old) pname; + sha256 = "5493e172ae817b81ba7d09443ada114886765a8ce02f16a56e6fac68d953a9b2"; + }; + patches = []; + doCheck = false; + }); + billiard = super.billiard.overridePythonAttrs(old: rec { + version = "3.3.0.23"; + src = self.fetchPypi { + inherit version; + inherit (old) pname; + sha256 = "02wxsc6bhqvzh8j6w758kvgqbnj14l796mvmrcms8fgfamd2lak9"; + }; + }); + amqp = super.amqp.overridePythonAttrs(old: rec { + version = "1.4.9"; + src = self.fetchPypi { + inherit version; + inherit (old) pname; + sha256 = "2dea4d16d073c902c3b89d9b96620fb6729ac0f7a923bbc777cb4ad827c0c61a"; + }; + }); + kombu = super.kombu.overridePythonAttrs(old: rec { + version = "3.0.37"; + src = self.fetchPypi { + inherit version; + inherit (old) pname; + sha256 = "e064a00c66b4d1058cd2b0523fb8d98c82c18450244177b6c0f7913016642650"; + }; + propagatedBuildInputs = old.propagatedBuildInputs ++ [ self.anyjson ]; + doCheck = false; + }); + sqlalchemy = super.sqlalchemy.overridePythonAttrs(old: rec { + version = "1.1.18"; + src = self.fetchPypi { + inherit version; + inherit (old) pname; + sha256 = "8b0ec71af9291191ba83a91c03d157b19ab3e7119e27da97932a4773a3f664a9"; + }; + }); + tempita_5_3_dev = super.buildPythonPackage (mylibs.fetchedGithub ./tempita.json // rec { + buildInputs = with self; [ nose ]; + disabled = false; + }); + sqlalchemy_migrate = super.sqlalchemy_migrate.overridePythonAttrs(old: rec { + propagatedBuildInputs = with self; [ pbr tempita_5_3_dev decorator sqlalchemy six sqlparse ]; + }); + pasteScript = super.pasteScript.overridePythonAttrs(old: rec { + version = "2.0.2"; + name = "PasteScript-${version}"; + src = fetchurl { + url = "mirror://pypi/P/PasteScript/${name}.tar.gz"; + sha256 = "1h3nnhn45kf4pbcv669ik4faw04j58k8vbj1hwrc532k0nc28gy0"; + }; + propagatedBuildInputs = with self; [ six paste PasteDeploy ]; + }); + }; + in + python36.override { inherit packageOverrides; }; + pythonEnv = python-pkgs: with python-pkgs; [ + waitress alembic dateutil wtforms pybcrypt + pytest pytest_xdist werkzeug celery + kombu jinja2 Babel webtest configobj markdown + sqlalchemy itsdangerous pytz sphinx six + oauthlib unidecode jsonschema PasteDeploy + requests PyLD exifread + typing pasteScript lxml + # For images plugin + pillow + # For video plugin + gst-python + # migrations + sqlalchemy_migrate + # authentication + ldap3 + redis + psycopg2 + ]; + python = overridePython.withPackages pythonEnv; + gmg = writeScript "gmg" '' + #!${python}/bin/python + __requires__ = 'mediagoblin' + import sys + from pkg_resources import load_entry_point + + if __name__ == '__main__': + sys.exit( + load_entry_point('mediagoblin', 'console_scripts', 'gmg')() + ) + ''; + bowerComponents = buildBowerComponents { + name = "mediagoblin-bower-components"; + generated = ./bower-packages.nix; + src = (mylibs.fetchedGit ./mediagoblin.json).src; + }; + withPlugins = plugins: package.overrideAttrs(old: { + name = "${old.name}-with-plugins"; + postBuild = old.postBuild + ( + builtins.concatStringsSep "\n" ( + map (value: "ln -s ${value} mediagoblin/plugins/${value.pluginName}") plugins + ) + ); + passthru = old.passthru // { + inherit plugins; + withPlugins = morePlugins: old.withPlugins (morePlugins ++ plugins); + }; + }); + package = stdenv.mkDerivation (mylibs.fetchedGit ./mediagoblin.json // rec { + preConfigure = '' + # ./bootstrap.sh + aclocal -I m4 --install + autoreconf -fvi + # end + export HOME=$PWD + ''; + configureFlags = [ "--with-python3" "--without-virtualenv" ]; + postBuild = '' + cp -a ${bowerComponents}/bower_components/* extlib + chmod -R u+w extlib + make extlib + ''; + installPhase = let + libpaths = with gst_all_1; [ + python + gstreamer + gst-plugins-base + gst-libav + gst-plugins-good + gst-plugins-bad + gst-plugins-ugly + ]; + plugin_paths = builtins.concatStringsSep ":" (map (x: "${x}/lib") libpaths); + typelib_paths = with gst_all_1; "${gstreamer}/lib/girepository-1.0:${gst-plugins-base}/lib/girepository-1.0"; + in '' + sed -i "s/registry.has_key(current_theme_name)/current_theme_name in registry/" mediagoblin/tools/theme.py + sed -i -e "s@\[DEFAULT\]@[DEFAULT]\nhere = $out@" mediagoblin/config_spec.ini + sed -i -e "/from gi.repository import GstPbutils/s/^/gi.require_version('GstPbutils', '1.0')\n/" mediagoblin/media_types/video/transcoders.py + cp ${./ldap_fix.py} mediagoblin/plugins/ldap/tools.py + find . -name '*.pyc' -delete + find . -type f -exec sed -i "s|$PWD|$out|g" {} \; + python setup.py build + cp -a . $out + mkdir $out/bin + makeWrapper ${gmg} $out/bin/gmg --prefix PYTHONPATH : "$out:$PYTHONPATH" \ + --prefix GST_PLUGIN_SYSTEM_PATH : ${plugin_paths} \ + --prefix GI_TYPELIB_PATH : ${typelib_paths} + makeWrapper ${python}/bin/paster $out/bin/paster --prefix PYTHONPATH : "$out:$PYTHONPATH" \ + --prefix GST_PLUGIN_SYSTEM_PATH : ${plugin_paths} \ + --prefix GI_TYPELIB_PATH : ${typelib_paths} + makeWrapper ${python}/bin/celery $out/bin/celery --prefix PYTHONPATH : "$out:$PYTHONPATH" \ + --prefix GST_PLUGIN_SYSTEM_PATH : ${plugin_paths} \ + --prefix GI_TYPELIB_PATH : ${typelib_paths} + ''; + buildInputs = [ makeWrapper automake autoconf which nodePackages.bower nodejs python ]; + propagatedBuildInputs = with gst_all_1; [ python gst-libav gst-plugins-good gst-plugins-bad gst-plugins-ugly gstreamer ]; + passthru = { + plugins = []; + inherit withPlugins; + }; + }); +in package diff --git a/pkgs/webapps/mediagoblin/ldap_fix.py b/pkgs/webapps/mediagoblin/ldap_fix.py new file mode 100644 index 00000000..10cc375c --- /dev/null +++ b/pkgs/webapps/mediagoblin/ldap_fix.py @@ -0,0 +1,93 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +from ldap3 import Server, Connection, SUBTREE +from ldap3.core.exceptions import LDAPException +import logging + +import six + +from mediagoblin.tools import pluginapi + +_log = logging.getLogger(__name__) + + +class LDAP(object): + def __init__(self): + self.ldap_settings = pluginapi.get_config('mediagoblin.plugins.ldap') + + def _connect(self, server): + _log.info('Connecting to {0}.'.format(server['LDAP_SERVER_URI'])) + self.server = Server(server['LDAP_SERVER_URI']) + + if 'LDAP_START_TLS' in server and server['LDAP_START_TLS'] == 'true': + _log.info('Initiating TLS') + self.server.start_tls() + + def _manager_auth(self, settings, username, password): + conn = Connection(self.server, + settings['LDAP_BIND_DN'], + settings['LDAP_BIND_PW'], + auto_bind=True) + found = conn.search( + search_base=settings['LDAP_SEARCH_BASE'], + search_filter=settings['LDAP_SEARCH_FILTER'].format(username=username), + search_scope=SUBTREE, + attributes=[settings['EMAIL_SEARCH_FIELD']]) + if (not found) or len(conn.entries) > 1: + return False, None + + user = conn.entries[0] + user_dn = user.entry_dn + try: + email = user.entry_attributes_as_dict[settings['EMAIL_SEARCH_FIELD']][0] + except KeyError: + email = None + + Connection(self.server, user_dn, password, auto_bind=True) + + return username, email + + def _direct_auth(self, settings, username, password): + user_dn = settings['LDAP_USER_DN_TEMPLATE'].format(username=username) + conn = Connection(self.server, user_dn, password, auto_bind=True) + email_found = conn.search( + search_base=settings['LDAP_SEARCH_BASE'], + search_filter='uid={0}'.format(username), + search_scope=SUBTREE, + attributes=[settings['EMAIL_SEARCH_FIELD']]) + + if email_found: + try: + email = conn.entries[0].entry_attributes_as_dict[settings['EMAIL_SEARCH_FIELD']][0] + except KeyError: + email = None + + return username, email + + def login(self, username, password): + for k, v in six.iteritems(self.ldap_settings): + try: + self._connect(v) + + if 'LDAP_BIND_DN' in v: + return self._manager_auth(v, username, password) + else: + return self._direct_auth(v, username, password) + + except LDAPException as e: + _log.info(e) + + return False, None diff --git a/pkgs/webapps/mediagoblin/mediagoblin.json b/pkgs/webapps/mediagoblin/mediagoblin.json new file mode 100644 index 00000000..7ea72d1f --- /dev/null +++ b/pkgs/webapps/mediagoblin/mediagoblin.json @@ -0,0 +1,14 @@ +{ + "tag": "cd465eb-stable", + "meta": { + "name": "mediagoblin", + "url": "git://git.savannah.gnu.org/mediagoblin.git", + "branch": "stable" + }, + "git": { + "url": "git://git.savannah.gnu.org/mediagoblin.git", + "rev": "cd465ebfec837a75a44c4ebd727dffe2fff6d850", + "sha256": "1yz4i4i97z3rxl534a6psaybyjbyp5nnc52v3nvbpzc4pd2s69mx", + "fetchSubmodules": true + } +} diff --git a/pkgs/webapps/mediagoblin/plugins/basicsearch/default.nix b/pkgs/webapps/mediagoblin/plugins/basicsearch/default.nix new file mode 100644 index 00000000..16be613f --- /dev/null +++ b/pkgs/webapps/mediagoblin/plugins/basicsearch/default.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchFromGitHub }: +stdenv.mkDerivation rec { + name = "mediagoblin-plugin-basicsearch-${version}"; + version = "ba0a154-master"; + src = fetchFromGitHub { + owner = "ayleph"; + repo = "mediagoblin-basicsearch"; + rev = "ba0a1547bd24ebaf363227fe17644d38c6ce8a6b"; + sha256 = "0d4r7xkf4gxmgaxlb264l44xbanis77g49frwfhfzsflxmdwgncy"; + }; + phases = "unpackPhase installPhase"; + installPhase = '' + cp -R ./basicsearch $out + ''; + passthru = { + pluginName = "basicsearch"; + }; +} diff --git a/pkgs/webapps/mediagoblin/tempita.json b/pkgs/webapps/mediagoblin/tempita.json new file mode 100644 index 00000000..5371e17d --- /dev/null +++ b/pkgs/webapps/mediagoblin/tempita.json @@ -0,0 +1,15 @@ +{ + "tag": "47414a7-master", + "meta": { + "name": "tempita", + "url": "https://github.com/gjhiggins/tempita", + "branch": "master" + }, + "github": { + "owner": "gjhiggins", + "repo": "tempita", + "rev": "47414a7c6e46a9a9afe78f0bce2ea299fa84d10d", + "sha256": "0f33jjjs5rvp7ar2j6ggyfykcrsrn04jaqcq71qfvycf6b7nw3rn", + "fetchSubmodules": true + } +} diff --git a/pkgs/webapps/nextcloud/apps/audioplayer.nix b/pkgs/webapps/nextcloud/apps/audioplayer.nix new file mode 100644 index 00000000..e321002c --- /dev/null +++ b/pkgs/webapps/nextcloud/apps/audioplayer.nix @@ -0,0 +1,7 @@ +{ buildApp }: +buildApp rec { + appName = "audioplayer"; + version = "2.7.0"; + url = "https://github.com/Rello/${appName}/releases/download/${version}/${appName}-${version}.tar.gz"; + sha256 = "05dylw45hs32agy6wqjy4r2x3h1dxzyzn0378ig6h5a22xd52mik"; +} diff --git a/pkgs/webapps/nextcloud/apps/bookmarks.nix b/pkgs/webapps/nextcloud/apps/bookmarks.nix new file mode 100644 index 00000000..4632c926 --- /dev/null +++ b/pkgs/webapps/nextcloud/apps/bookmarks.nix @@ -0,0 +1,7 @@ +{ buildApp }: +buildApp rec { + appName = "bookmarks"; + version = "1.0.2"; + url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}-${version}.tar.gz"; + sha256 = "1ph123d0pram9a0vq73rn0zw0pyg4l0xqg162b59ds68179m2jfp"; +} diff --git a/pkgs/webapps/nextcloud/apps/calendar.nix b/pkgs/webapps/nextcloud/apps/calendar.nix new file mode 100644 index 00000000..0812810e --- /dev/null +++ b/pkgs/webapps/nextcloud/apps/calendar.nix @@ -0,0 +1,7 @@ +{ buildApp }: +buildApp rec { + appName = "calendar"; + version = "1.7.0"; + url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}.tar.gz"; + sha256 = "0cgvvgzc2kgs2ng36hzff8rrpw9n58f0hyrr41n3wjkf0iynm56r"; +} diff --git a/pkgs/webapps/nextcloud/apps/carnet.nix b/pkgs/webapps/nextcloud/apps/carnet.nix new file mode 100644 index 00000000..61431e59 --- /dev/null +++ b/pkgs/webapps/nextcloud/apps/carnet.nix @@ -0,0 +1,7 @@ +{ buildApp }: +buildApp rec { + appName = "carnet"; + version = "0.15.2"; + url = "https://github.com/PhieF/CarnetNextcloud/releases/download/v${version}/${appName}-nc-v${version}.tar.gz"; + sha256 = "1npjb2bgwcfxlf22ygl2hfhfgaigk1kpdk795yc79mx2l1iicmg0"; +} diff --git a/pkgs/webapps/nextcloud/apps/contacts.nix b/pkgs/webapps/nextcloud/apps/contacts.nix new file mode 100644 index 00000000..34329ab4 --- /dev/null +++ b/pkgs/webapps/nextcloud/apps/contacts.nix @@ -0,0 +1,7 @@ +{ buildApp }: +buildApp rec { + appName = "contacts"; + version = "3.1.1"; + url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}.tar.gz"; + sha256 = "1qfn532p1pb4m6q2jzyzlyw4c5qccmq6vj0h2zv9xfkajfvz7i7v"; +} diff --git a/pkgs/webapps/nextcloud/apps/deck.nix b/pkgs/webapps/nextcloud/apps/deck.nix new file mode 100644 index 00000000..c5737afb --- /dev/null +++ b/pkgs/webapps/nextcloud/apps/deck.nix @@ -0,0 +1,7 @@ +{ buildApp }: +buildApp rec { + appName = "deck"; + version = "0.6.1"; + url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}.tar.gz"; + sha256 = "1hafgj67zbhs4higf7nyr61p4s31axzxrsq09c4wmcwviz7p7zvs"; +} diff --git a/pkgs/webapps/nextcloud/apps/files_markdown.nix b/pkgs/webapps/nextcloud/apps/files_markdown.nix new file mode 100644 index 00000000..9ed50076 --- /dev/null +++ b/pkgs/webapps/nextcloud/apps/files_markdown.nix @@ -0,0 +1,7 @@ +{ buildApp }: +buildApp rec { + appName = "files_markdown"; + version = "2.0.6"; + url = "https://github.com/icewind1991/${appName}/releases/download/v${version}/${appName}.tar.gz"; + sha256 = "1ng8gpjl3g1141k1nii59cg005viidlcbsg4x9brzcj25c5qhjjp"; +} diff --git a/pkgs/webapps/nextcloud/apps/flowupload.nix b/pkgs/webapps/nextcloud/apps/flowupload.nix new file mode 100644 index 00000000..cbadbda7 --- /dev/null +++ b/pkgs/webapps/nextcloud/apps/flowupload.nix @@ -0,0 +1,7 @@ +{ buildApp }: +buildApp rec { + appName = "flowupload"; + version = "0.1.0"; + url = "https://github.com/e-alfred/${appName}/releases/download/${version}/${appName}.tar.gz"; + sha256 = "0cai76hcjrwvq32yav0nd9kkhslandp1sj5czz119gsfjlkpalw9"; +} diff --git a/pkgs/webapps/nextcloud/apps/gpxedit.nix b/pkgs/webapps/nextcloud/apps/gpxedit.nix new file mode 100644 index 00000000..b9c267b6 --- /dev/null +++ b/pkgs/webapps/nextcloud/apps/gpxedit.nix @@ -0,0 +1,15 @@ +{ buildApp }: +buildApp rec { + appName = "gpxedit"; + version = "0.0.11"; + url = "https://gitlab.com/eneiluj/gpxedit-oc/wikis/uploads/18058077d0170256c3f4c9201443d09d/${appName}-${version}.tar.gz"; + sha256 = "1ww32jysjnwxrn8r9fjdfhbfqnzgaakn08m64wcmavx29dd42y6m"; + otherConfig = { + mimetypealiases = { + "application/gpx+xml" = "gpx"; + }; + mimetypemapping = { + "gpx" = ["application/gpx+xml"]; + }; + }; +} diff --git a/pkgs/webapps/nextcloud/apps/gpxpod.nix b/pkgs/webapps/nextcloud/apps/gpxpod.nix new file mode 100644 index 00000000..6544ac22 --- /dev/null +++ b/pkgs/webapps/nextcloud/apps/gpxpod.nix @@ -0,0 +1,15 @@ +{ buildApp }: +buildApp rec { + appName = "gpxpod"; + version = "3.0.3"; + url = "https://gitlab.com/eneiluj/gpxpod-oc/wikis/uploads/34af9435d7a2cd8fa915b84f0dda0724/${appName}-${version}.tar.gz"; + sha256 = "0v30j5b4ki6nbxqdmnlkrgl1lpg2x2nir9gik6rfj0c3jhmb5mch"; + otherConfig = { + mimetypealiases = { + "application/gpx+xml" = "gpx"; + }; + mimetypemapping = { + "gpx" = ["application/gpx+xml"]; + }; + }; +} diff --git a/pkgs/webapps/nextcloud/apps/keeweb.nix b/pkgs/webapps/nextcloud/apps/keeweb.nix new file mode 100644 index 00000000..99713eee --- /dev/null +++ b/pkgs/webapps/nextcloud/apps/keeweb.nix @@ -0,0 +1,20 @@ +{ buildApp }: +buildApp rec { + appName = "keeweb"; + version = "0.5.0"; + url = "https://github.com/jhass/nextcloud-keeweb/releases/download/v${version}/${appName}-${version}.tar.gz"; + sha256 = "0wdr6ywlirmac7w1ld5ma7fwb4bykclbxfq2sxwg6pvzfid5vc8x"; + installPhase = '' + mkdir -p $out + cp -R . $out/ + sed -i -e 's/max-version="15"/max-version="16"/' $out/appinfo/info.xml + ''; + otherConfig = { + mimetypealiases = { + "x-application/kdbx" = "kdbx"; + }; + mimetypemapping = { + "kdbx" = ["x-application/kdbx"]; + }; + }; +} diff --git a/pkgs/webapps/nextcloud/apps/music.nix b/pkgs/webapps/nextcloud/apps/music.nix new file mode 100644 index 00000000..1c7181ac --- /dev/null +++ b/pkgs/webapps/nextcloud/apps/music.nix @@ -0,0 +1,7 @@ +{ buildApp }: +buildApp rec { + appName = "music"; + version = "0.9.5"; + url = "https://github.com/owncloud/${appName}/archive/v${version}.tar.gz"; + sha256 = "0dx136z7anmi18harc1v2hyfdaq568lqf3wpy9hgx309ggb4wwzx"; +} diff --git a/pkgs/webapps/nextcloud/apps/notes.nix b/pkgs/webapps/nextcloud/apps/notes.nix new file mode 100644 index 00000000..23d6a060 --- /dev/null +++ b/pkgs/webapps/nextcloud/apps/notes.nix @@ -0,0 +1,7 @@ +{ buildApp }: +buildApp rec { + appName = "notes"; + version = "2.6.0"; + url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}.tar.gz"; + sha256 = "1b1vc8plv4mpsxl7mgwgrcrswphclsm9xa89vxf3s4xzlwwq11c4"; +} diff --git a/pkgs/webapps/nextcloud/apps/ocsms.nix b/pkgs/webapps/nextcloud/apps/ocsms.nix new file mode 100644 index 00000000..bd772952 --- /dev/null +++ b/pkgs/webapps/nextcloud/apps/ocsms.nix @@ -0,0 +1,13 @@ +{ buildApp }: +buildApp rec { + appName = "ocsms"; + version = "2.1.1"; + url = "https://github.com/nextcloud/${appName}/releases/download/${version}/${appName}-${version}.tar.gz"; + sha256 = "0sgfbmy1c8rgzjvf9snc7rzgp8aqsc65zfwgi6qcsf2g6gam5n7a"; + installPhase = '' + sed -i -e "/addScript.*devel/d" -e "s@//\(.*addScript.*app.min\)@\1@" templates/main.php + sed -i -e 's/max-version="15.0"/max-version="16.0"/' appinfo/info.xml + mkdir -p $out + cp -R . $out/ + ''; +} diff --git a/pkgs/webapps/nextcloud/apps/passman.nix b/pkgs/webapps/nextcloud/apps/passman.nix new file mode 100644 index 00000000..869acb3d --- /dev/null +++ b/pkgs/webapps/nextcloud/apps/passman.nix @@ -0,0 +1,7 @@ +{ buildApp }: +buildApp rec { + appName = "passman"; + version = "2.2.1"; + url = "https://releases.passman.cc/${appName}_${version}.tar.gz"; + sha256 = "064pq9d0pl3y1vcywpi19fg47zy7j4h0jaxy6jklwzwcrmzagbka"; +} diff --git a/pkgs/webapps/nextcloud/apps/spreed.nix b/pkgs/webapps/nextcloud/apps/spreed.nix new file mode 100644 index 00000000..a958470b --- /dev/null +++ b/pkgs/webapps/nextcloud/apps/spreed.nix @@ -0,0 +1,7 @@ +{ buildApp }: +buildApp rec { + appName = "spreed"; + version = "6.0.0"; + url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}-${version}.tar.gz"; + sha256 = "14rcskp4pdcf0g816cdp070c8pzrj33fg2w7jb3af8maf1d77306"; +} diff --git a/pkgs/webapps/nextcloud/apps/tasks.nix b/pkgs/webapps/nextcloud/apps/tasks.nix new file mode 100644 index 00000000..1e5f8f28 --- /dev/null +++ b/pkgs/webapps/nextcloud/apps/tasks.nix @@ -0,0 +1,7 @@ +{ buildApp }: +buildApp rec { + appName = "tasks"; + version = "0.10.1"; + url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}.tar.gz"; + sha256 = "0r888yr6bl2y5mp65q8md5k139as1a0xw4yfzvkv7y77wmqn9wsm"; +} diff --git a/pkgs/webapps/nextcloud/default.nix b/pkgs/webapps/nextcloud/default.nix new file mode 100644 index 00000000..2d4eb390 --- /dev/null +++ b/pkgs/webapps/nextcloud/default.nix @@ -0,0 +1,63 @@ +{ varDir ? "/var/lib/nextcloud", otherConfig ? {}, lib, stdenv, fetchurl }: +let + buildApp = { appName, version, url, sha256, otherConfig ? {}, installPhase ? "mkdir -p $out && cp -R . $out/" }: + stdenv.mkDerivation rec { + name = "nextcloud-app-${appName}-${version}"; + inherit version; + phases = "unpackPhase installPhase"; + inherit installPhase; + src = fetchurl { inherit url sha256; }; + passthru = { + inherit appName otherConfig; + }; + }; + withApps = apps: package.overrideAttrs(old: { + name = "${old.name}-with-apps"; + + installPhase = old.installPhase + ( + builtins.concatStringsSep "\n" ( + map (value: "ln -sf ${value} $out/apps/${value.appName}") apps + )); + + passthru = old.passthru // { + otherConfig = with lib.attrsets; with lib.lists; let + zipped = zipAttrs ([old.otherConfig or {}] ++ map (v: v.otherConfig) apps); + in + { + mimetypealiases = foldr (h: prev: prev // h) {} zipped.mimetypealiases; + mimetypemapping = mapAttrs (_: v: unique (flatten v)) (zipAttrs zipped.mimetypemapping); + }; + inherit apps; + withApps = moreApps: old.withApps (moreApps ++ apps); + }; + }); + + package = stdenv.mkDerivation rec { + name = "nextcloud-${version}"; + version = "16.0.0"; + + src = fetchurl { + url = "https://download.nextcloud.com/server/releases/${name}.tar.bz2"; + sha256 = "0bj014vczlrql1w32pqmr7cyqn9awnyzpi2syxhg16qxic1gfcj5"; + }; + + installPhase = '' + mkdir -p $out/ + cp -R . $out/ + rm -r $out/config + ln -sf ${varDir}/config $out/config + ''; + + passthru = { + apps = []; + inherit otherConfig buildApp withApps varDir; + }; + meta = { + description = "Sharing solution for files, calendars, contacts and more"; + homepage = https://nextcloud.com; + maintainers = with lib.maintainers; [ schneefux bachp globin fpletz ]; + license = lib.licenses.agpl3Plus; + platforms = with lib.platforms; unix; + }; + }; +in package diff --git a/pkgs/webapps/peertube/default.nix b/pkgs/webapps/peertube/default.nix new file mode 100644 index 00000000..a04d4908 --- /dev/null +++ b/pkgs/webapps/peertube/default.nix @@ -0,0 +1,123 @@ +{ ldap ? false +, lib, stdenv, fetchzip, youtube-dl, fetchurl, mylibs, python, nodejs, nodePackages }: +let + nodeHeaders = fetchurl { + url = "https://nodejs.org/download/release/v${nodejs.version}/node-v${nodejs.version}-headers.tar.gz"; + sha256 = "16f20ya3ys6w5w6y6l4536f7jrgk4gz46bf71w1r1xxb26a54m32"; + }; + patchedPackages = stdenv.mkDerivation (mylibs.fetchedGithub ./peertube.json // rec { + patches = if ldap then [ ./ldap.patch ././yarn_fix_bluebird_ldap.patch ] else [ ./yarn_fix_bluebird.patch ]; + installPhase = '' + mkdir $out + cp package.json yarn.lock $out/ + ''; + }); + # if yarn complains about + # TypeError: Cannot read property 'lang' of undefined yarn + # make sure that all package names in yarn-packages.nix finish in + # .tar.gz where due (especially jsonld-signatures) + # Most errors where due to jsonld-signature (name, git version, etc.) + # or bluebird (3.5.18 instead vs 3.5.21) + yarnModulesArg = rec { + pname = "peertube-yarn-modules"; + version = "1.2.0"; + name = "peertube-yarn-modules-${version}"; + packageJSON = "${patchedPackages}/package.json"; + yarnLock = "${patchedPackages}/yarn.lock"; + yarnNix = ./yarn-packages.nix; + pkgConfig = { + all = { + buildInputs = [ mylibs.yarn2nixPackage.src ]; + }; + bcrypt = { + buildInputs = [ nodePackages.node-pre-gyp ]; + postInstall = let + bcrypt_lib = fetchurl { + url = "https://github.com/kelektiv/node.bcrypt.js/releases/download/v3.0.2/bcrypt_lib-v3.0.2-node-v57-linux-x64-glibc.tar.gz"; + sha256 = "04bj3yn1wi8a6izihskyks0bb4nls3mndgb2yj12iraiv5dmg097"; + }; + in + '' + mkdir lib && tar -C lib -xf ${bcrypt_lib} + patchShebangs ../node-pre-gyp + npm run install + ''; + }; + dtrace-provider = { + buildInputs = [ python nodePackages.node-gyp ]; + postInstall = '' + npx node-gyp rebuild --tarball=${nodeHeaders} + ''; + }; + rdf-canonize = { + buildInputs = [ python nodePackages.node-gyp ]; + postInstall = '' + npx node-gyp rebuild --tarball=${nodeHeaders} + ''; + }; + sharp = { + buildInputs = [ python nodePackages.node-gyp ]; + postInstall = + let + tarball = fetchurl { + url = "https://github.com/lovell/sharp-libvips/releases/download/v8.7.0/libvips-8.7.0-linux-x64.tar.gz"; + sha256 = "1sq7qrp1q1pcrd165c3sky7qjx1kqihfpr4ailb5k73rwyh8lxg4"; + }; + in + '' + mkdir vendor + tar -C vendor -xf ${tarball} + patchShebangs ../prebuild-install + npx node install/libvips + npx node install/dll-copy + npx prebuild-install || npx node-gyp rebuild --tarball=${nodeHeaders} + ''; + }; + utf-8-validate = { + buildInputs = [ nodePackages.node-gyp-build ]; + }; + youtube-dl = { + postInstall = '' + mkdir bin + ln -s ${youtube-dl}/bin/youtube-dl bin/youtube-dl + cat > bin/details < +Date: Tue Feb 12 18:47:53 2019 +0100 + + Add LDAP authentication + +diff --git a/config/default.yaml b/config/default.yaml +index e16b8c35..eac0dd3f 100644 +--- a/config/default.yaml ++++ b/config/default.yaml +@@ -33,6 +33,9 @@ redis: + auth: null + db: 0 + ++ldap: ++ enable: false ++ + smtp: + hostname: null + port: 465 +diff --git a/config/production.yaml.example b/config/production.yaml.example +index 661eac0d..bb5ac251 100644 +--- a/config/production.yaml.example ++++ b/config/production.yaml.example +@@ -33,6 +33,17 @@ redis: + auth: null + db: 0 + ++ldap: ++ enable: true ++ # Disallow non-ldap users (it also disables root!) ++ ldap_only: true ++ url: ldap://localhost:389/dc=example,dc=com ++ bind_dn: cn=admin,dc=example,dc=com ++ bind_password: adminPass ++ base: dc=example,dc=com ++ mail_entry: "mail" ++ user_filter: "(|(email=%username%)(uid=%username%))" ++ + # SMTP server to send emails + smtp: + hostname: null +diff --git a/package.json b/package.json +index 0cf39c7e..fd1ce3ea 100644 +--- a/package.json ++++ b/package.json +@@ -125,6 +125,7 @@ + "js-yaml": "^3.5.4", + "jsonld": "^1.0.1", + "jsonld-signatures": "https://github.com/Chocobozzz/jsonld-signatures#rsa2017", ++ "ldapjs": "^1.0.2", + "lodash": "^4.17.10", + "magnet-uri": "^5.1.4", + "memoizee": "^0.4.14", +diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts +index 6f3ebb9a..fb21df37 100644 +--- a/server/initializers/constants.ts ++++ b/server/initializers/constants.ts +@@ -16,7 +16,7 @@ let config: IConfig = require('config') + + // --------------------------------------------------------------------------- + +-const LAST_MIGRATION_VERSION = 325 ++const LAST_MIGRATION_VERSION = 326 + + // --------------------------------------------------------------------------- + +@@ -177,6 +177,16 @@ const CONFIG = { + AUTH: config.has('redis.auth') ? config.get('redis.auth') : null, + DB: config.has('redis.db') ? config.get('redis.db') : null + }, ++ LDAP: { ++ ENABLE: config.has('ldap.enable') ? config.get('ldap.enable') : false, ++ LDAP_ONLY: config.has('ldap.ldap_only') ? config.get('ldap.ldap_only') : false, ++ URL: config.has('ldap.url') ? config.get('ldap.url') : null, ++ BIND_DN: config.has('ldap.bind_dn') ? config.get('ldap.bind_dn') : null, ++ BIND_PASSWORD: config.has('ldap.bind_password') ? config.get('ldap.bind_password') : null, ++ BASE: config.has('ldap.base') ? config.get('ldap.base') : null, ++ MAIL_ENTRY: config.has('ldap.mail_entry') ? config.get('ldap.mail_entry') : 'mail', ++ USER_FILTER: config.has('ldap.user_filter') ? config.get('ldap.user_filter') : '(|(email=%username%)(uid=%username%))' ++ }, + SMTP: { + HOSTNAME: config.get('smtp.hostname'), + PORT: config.get('smtp.port'), +diff --git a/server/initializers/migrations/0326-user-ldap-dn.ts b/server/initializers/migrations/0326-user-ldap-dn.ts +new file mode 100644 +index 00000000..a9d68124 +--- /dev/null ++++ b/server/initializers/migrations/0326-user-ldap-dn.ts +@@ -0,0 +1,26 @@ ++import * as Sequelize from 'sequelize' ++ ++async function up (utils: { ++ transaction: Sequelize.Transaction, ++ queryInterface: Sequelize.QueryInterface, ++ sequelize: Sequelize.Sequelize ++}): Promise { ++ ++ { ++ const data = { ++ type: Sequelize.STRING, ++ allowNull: true, ++ defaultValue: null ++ } ++ await utils.queryInterface.addColumn('user', 'ldapDn', data) ++ } ++} ++ ++function down (options) { ++ throw new Error('Not implemented.') ++} ++ ++export { ++ up, ++ down ++} +diff --git a/server/lib/oauth-model.ts b/server/lib/oauth-model.ts +index 2cd2ae97..3f14b216 100644 +--- a/server/lib/oauth-model.ts ++++ b/server/lib/oauth-model.ts +@@ -66,7 +66,13 @@ function getRefreshToken (refreshToken: string) { + async function getUser (usernameOrEmail: string, password: string) { + logger.debug('Getting User (username/email: ' + usernameOrEmail + ', password: ******).') + +- const user = await UserModel.loadByUsernameOrEmail(usernameOrEmail) ++ let user ++ if (CONFIG.LDAP.ENABLE) { ++ user = await UserModel.findOrCreateLDAPUser(usernameOrEmail) ++ } ++ if (!user && (!CONFIG.LDAP.ENABLE || !CONFIG.LDAP.LDAP_ONLY)) { ++ user = await UserModel.loadByUsernameOrEmail(usernameOrEmail) ++ } + if (!user) return null + + const passwordMatch = await user.isPasswordMatch(password) +diff --git a/server/models/account/user.ts b/server/models/account/user.ts +index 017a9665..a4d0145c 100644 +--- a/server/models/account/user.ts ++++ b/server/models/account/user.ts +@@ -1,3 +1,4 @@ ++import * as ldap from 'ldapjs' + import * as Sequelize from 'sequelize' + import { + AfterDestroy, +@@ -42,8 +43,9 @@ import { VideoChannelModel } from '../video/video-channel' + import { AccountModel } from './account' + import { NSFWPolicyType } from '../../../shared/models/videos/nsfw-policy.type' + import { values } from 'lodash' +-import { NSFW_POLICY_TYPES } from '../../initializers' ++import { CONFIG, NSFW_POLICY_TYPES } from '../../initializers' + import { clearCacheByUserId } from '../../lib/oauth-model' ++import { createUserAccountAndChannel } from '../../lib/user' + import { UserNotificationSettingModel } from './user-notification-setting' + import { VideoModel } from '../video/video' + import { ActorModel } from '../activitypub/actor' +@@ -111,6 +113,11 @@ export class UserModel extends Model { + @Column(DataType.STRING(400)) + email: string + ++ @AllowNull(true) ++ @Default(null) ++ @Column ++ ldapDn: string ++ + @AllowNull(true) + @Default(null) + @Is('UserEmailVerified', value => throwIfNotValid(value, isUserEmailVerifiedValid, 'email verified boolean')) +@@ -354,6 +361,90 @@ export class UserModel extends Model { + return UserModel.findOne(query) + } + ++ static loadByLdapDn (ldapDn: string) { ++ const query = { ++ where: { ++ ldapDn ++ } ++ } ++ ++ return UserModel.findOne(query) ++ } ++ ++ static findOrCreateLDAPUser (username: string) { ++ let userInfos ++ ++ return Promise.resolve(UserModel.findLDAPUser(username)) ++ .then((_userInfos) => { ++ userInfos = _userInfos ++ return UserModel.loadByLdapDn(userInfos['dn']) ++ }) ++ .then((user) => { ++ if (user) { ++ return user ++ } else { ++ return UserModel.createLDAPUser(username, userInfos) ++ } ++ }) ++ .catch(() => { return null }) ++ } ++ ++ static findLDAPUser (username: string) { ++ const client = ldap.createClient({ ++ url: CONFIG.LDAP.URL ++ }) ++ const filter = ldap.parseFilter(CONFIG.LDAP.USER_FILTER) ++ filter.forEach(function (element) { ++ if (element.value === '%username%') element.value = username ++ }) ++ const opts = { ++ filter, ++ scope: 'sub', ++ attributes: [ CONFIG.LDAP.MAIL_ENTRY, 'dn' ] ++ } ++ ++ return new Promise(function (resolve, reject) { ++ client.bind(CONFIG.LDAP.BIND_DN, CONFIG.LDAP.BIND_PASSWORD, function (err) { ++ if (err) reject() ++ let entries = [] ++ client.search(CONFIG.LDAP.BASE, opts, function (err, search) { ++ if (err) reject() ++ search.on('searchEntry', function (entry) { ++ entries.push(entry.object) ++ }) ++ search.on('end', function (result) { ++ if (entries.length === 1) { ++ resolve(entries[0]) ++ } else { ++ reject() ++ } ++ }) ++ }) ++ }) ++ }) ++ } ++ ++ static createLDAPUser (username: string, userInfos: {}) { ++ return Promise.resolve(userInfos) ++ .then((userInfos) => { ++ const userToCreate = new UserModel({ ++ username: username, ++ password: 'SomeInvalidPassword', ++ email: userInfos[CONFIG.LDAP.MAIL_ENTRY], ++ ldapDn: userInfos['dn'], ++ nsfwPolicy: CONFIG.INSTANCE.DEFAULT_NSFW_POLICY, ++ autoPlayVideo: true, ++ role: UserRole.USER, ++ videoQuota: CONFIG.USER.VIDEO_QUOTA, ++ videoQuotaDaily: CONFIG.USER.VIDEO_QUOTA_DAILY, ++ emailVerified: true ++ }) ++ ++ return createUserAccountAndChannel(userToCreate) ++ }) ++ .then(({ user }) => { return user }) ++ } ++ + static loadByUsernameAndPopulateChannels (username: string) { + const query = { + where: { +@@ -516,8 +607,22 @@ export class UserModel extends Model { + return hasUserRight(this.role, right) + } + ++ static checkLDAPUser (dn: string, password: string) { ++ const client = ldap.createClient({ url: CONFIG.LDAP.URL }) ++ ++ return new Promise(function (resolve, reject) { ++ client.bind(dn, password, function (err) { ++ resolve(!err) ++ }) ++ }) ++ } ++ + isPasswordMatch (password: string) { +- return comparePassword(password, this.password) ++ if (this.ldapDn === null) { ++ return comparePassword(password, this.password) ++ } else { ++ return UserModel.checkLDAPUser(this.ldapDn, password) ++ } + } + + toFormattedJSON (): User { +diff --git a/yarn.lock b/yarn.lock +index 1e759af1..1eb61a9f 100644 +--- a/yarn.lock ++++ b/yarn.lock +@@ -674,6 +674,11 @@ asap@^2.0.0: + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + ++asn1@0.2.3: ++ version "0.2.3" ++ resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" ++ integrity sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y= ++ + asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" +@@ -681,6 +686,11 @@ asn1@~0.2.3: + dependencies: + safer-buffer "~2.1.0" + ++assert-plus@0.1.5: ++ version "0.1.5" ++ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.1.5.tgz#ee74009413002d84cec7219c6ac811812e723160" ++ integrity sha1-7nQAlBMALYTOxyGcasgRgS5yMWA= ++ + assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" +@@ -779,6 +789,13 @@ backo2@1.0.2: + resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" + integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= + ++backoff@^2.5.0: ++ version "2.5.0" ++ resolved "https://registry.yarnpkg.com/backoff/-/backoff-2.5.0.tgz#f616eda9d3e4b66b8ca7fca79f695722c5f8e26f" ++ integrity sha1-9hbtqdPktmuMp/ynn2lXIsX44m8= ++ dependencies: ++ precond "0.2" ++ + balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" +@@ -1186,6 +1203,16 @@ bull@^3.4.2: + semver "^5.6.0" + uuid "^3.2.1" + ++bunyan@^1.8.3: ++ version "1.8.12" ++ resolved "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.12.tgz#f150f0f6748abdd72aeae84f04403be2ef113797" ++ integrity sha1-8VDw9nSKvdcq6uhPBEA74u8RN5c= ++ optionalDependencies: ++ dtrace-provider "~0.8" ++ moment "^2.10.6" ++ mv "~2" ++ safe-json-stringify "~1" ++ + busboy@^0.2.11: + version "0.2.14" + resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.2.14.tgz#6c2a622efcf47c57bbbe1e2a9c37ad36c7925453" +@@ -1966,7 +1993,7 @@ d@1: + dependencies: + es5-ext "^0.10.9" + +-dashdash@^1.12.0: ++dashdash@^1.12.0, dashdash@^1.14.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= +@@ -2292,6 +2319,13 @@ double-ended-queue@^2.1.0-0: + resolved "https://registry.yarnpkg.com/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz#103d3527fd31528f40188130c841efdd78264e5c" + integrity sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw= + ++dtrace-provider@~0.8: ++ version "0.8.7" ++ resolved "https://registry.yarnpkg.com/dtrace-provider/-/dtrace-provider-0.8.7.tgz#dc939b4d3e0620cfe0c1cd803d0d2d7ed04ffd04" ++ integrity sha1-3JObTT4GIM/gwc2APQ0tftBP/QQ= ++ dependencies: ++ nan "^2.10.0" ++ + duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" +@@ -2864,6 +2898,11 @@ extglob@^2.0.4: + snapdragon "^0.8.1" + to-regex "^3.0.1" + ++extsprintf@1.2.0: ++ version "1.2.0" ++ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.2.0.tgz#5ad946c22f5b32ba7f8cd7426711c6e8a3fc2529" ++ integrity sha1-WtlGwi9bMrp/jNdCZxHG6KP8JSk= ++ + extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" +@@ -3350,6 +3389,17 @@ glob@7.1.2: + once "^1.3.0" + path-is-absolute "^1.0.0" + ++glob@^6.0.1: ++ version "6.0.4" ++ resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" ++ integrity sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI= ++ dependencies: ++ inflight "^1.0.4" ++ inherits "2" ++ minimatch "2 || 3" ++ once "^1.3.0" ++ path-is-absolute "^1.0.0" ++ + glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@~7.1.1, glob@~7.1.2: + version "7.1.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" +@@ -4522,6 +4572,30 @@ lcid@^2.0.0: + dependencies: + invert-kv "^2.0.0" + ++ldap-filter@0.2.2: ++ version "0.2.2" ++ resolved "https://registry.yarnpkg.com/ldap-filter/-/ldap-filter-0.2.2.tgz#f2b842be0b86da3352798505b31ebcae590d77d0" ++ integrity sha1-8rhCvguG2jNSeYUFsx68rlkNd9A= ++ dependencies: ++ assert-plus "0.1.5" ++ ++ldapjs@^1.0.2: ++ version "1.0.2" ++ resolved "https://registry.yarnpkg.com/ldapjs/-/ldapjs-1.0.2.tgz#544ff7032b7b83c68f0701328d9297aa694340f9" ++ integrity sha1-VE/3Ayt7g8aPBwEyjZKXqmlDQPk= ++ dependencies: ++ asn1 "0.2.3" ++ assert-plus "^1.0.0" ++ backoff "^2.5.0" ++ bunyan "^1.8.3" ++ dashdash "^1.14.0" ++ ldap-filter "0.2.2" ++ once "^1.4.0" ++ vasync "^1.6.4" ++ verror "^1.8.1" ++ optionalDependencies: ++ dtrace-provider "~0.8" ++ + leven@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" +@@ -5186,7 +5260,7 @@ minimalistic-assert@^1.0.1: + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +-minimatch@3.0.4, minimatch@^3.0.4, minimatch@~3.0.2: ++"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.4, minimatch@~3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== +@@ -5299,6 +5373,11 @@ moment-timezone@^0.5.14, moment-timezone@^0.5.23: + resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.2.tgz#3c257f9839fc0e93ff53149632239eb90783ff66" + integrity sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y= + ++moment@^2.10.6: ++ version "2.24.0" ++ resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" ++ integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg== ++ + morgan@^1.5.3: + version "1.9.1" + resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.9.1.tgz#0a8d16734a1d9afbc824b99df87e738e58e2da59" +@@ -5394,6 +5473,15 @@ mute-stream@~0.0.4: + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= + ++mv@~2: ++ version "2.1.1" ++ resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2" ++ integrity sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI= ++ dependencies: ++ mkdirp "~0.5.1" ++ ncp "~2.0.0" ++ rimraf "~2.4.0" ++ + nan@2.11.1, nan@^2.10.0, nan@^2.11.1, nan@^2.9.2: + version "2.11.1" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.11.1.tgz#90e22bccb8ca57ea4cd37cc83d3819b52eea6766" +@@ -5431,6 +5519,11 @@ ncp@1.0.x: + resolved "https://registry.yarnpkg.com/ncp/-/ncp-1.0.1.tgz#d15367e5cb87432ba117d2bf80fdf45aecfb4246" + integrity sha1-0VNn5cuHQyuhF9K/gP30Wuz7QkY= + ++ncp@~2.0.0: ++ version "2.0.0" ++ resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" ++ integrity sha1-GVoh1sRuNh0vsSgbo4uR6d9727M= ++ + needle@^2.2.1: + version "2.2.4" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e" +@@ -6520,6 +6613,11 @@ prebuild-install@^5.2.0: + tunnel-agent "^0.6.0" + which-pm-runs "^1.0.0" + ++precond@0.2: ++ version "0.2.3" ++ resolved "https://registry.yarnpkg.com/precond/-/precond-0.2.3.tgz#aa9591bcaa24923f1e0f4849d240f47efc1075ac" ++ integrity sha1-qpWRvKokkj8eD0hJ0kD0fvwQdaw= ++ + prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" +@@ -7141,6 +7239,13 @@ rimraf@2, rimraf@2.x.x, rimraf@^2.2.8, rimraf@^2.4.2, rimraf@^2.5.2, rimraf@^2.5 + dependencies: + glob "^7.0.5" + ++rimraf@~2.4.0: ++ version "2.4.5" ++ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da" ++ integrity sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto= ++ dependencies: ++ glob "^6.0.1" ++ + run-async@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" +@@ -7197,6 +7302,11 @@ safe-buffer@5.1.2, safe-buffer@^5.0.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, s + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + ++safe-json-stringify@~1: ++ version "1.2.0" ++ resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz#356e44bc98f1f93ce45df14bcd7c01cda86e0afd" ++ integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== ++ + safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" +@@ -8857,7 +8967,14 @@ vary@~1.0.1: + resolved "https://registry.yarnpkg.com/vary/-/vary-1.0.1.tgz#99e4981566a286118dfb2b817357df7993376d10" + integrity sha1-meSYFWaihhGN+yuBc1ffeZM3bRA= + +-verror@1.10.0: ++vasync@^1.6.4: ++ version "1.6.4" ++ resolved "https://registry.yarnpkg.com/vasync/-/vasync-1.6.4.tgz#dfe93616ad0e7ae801b332a9d88bfc5cdc8e1d1f" ++ integrity sha1-3+k2Fq0OeugBszKp2Iv8XNyOHR8= ++ dependencies: ++ verror "1.6.0" ++ ++verror@1.10.0, verror@^1.8.1: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= +@@ -8866,6 +8983,13 @@ verror@1.10.0: + core-util-is "1.0.2" + extsprintf "^1.2.0" + ++verror@1.6.0: ++ version "1.6.0" ++ resolved "https://registry.yarnpkg.com/verror/-/verror-1.6.0.tgz#7d13b27b1facc2e2da90405eb5ea6e5bdd252ea5" ++ integrity sha1-fROyex+swuLakEBetepuW90lLqU= ++ dependencies: ++ extsprintf "1.2.0" ++ + videostream@^2.5.1: + version "2.6.0" + resolved "https://registry.yarnpkg.com/videostream/-/videostream-2.6.0.tgz#7f0b2b84bc457c12cfe599aa2345f5cc06241ab6" diff --git a/pkgs/webapps/peertube/ldap_yarn.patch b/pkgs/webapps/peertube/ldap_yarn.patch new file mode 100644 index 00000000..538ce043 --- /dev/null +++ b/pkgs/webapps/peertube/ldap_yarn.patch @@ -0,0 +1,278 @@ +commit 45a9e4a7b1badbea15d74bd8b3990303a424dfa6 +Author: Ismaël Bouya +Date: Tue Feb 12 18:47:53 2019 +0100 + + Add LDAP authentication + +diff --git a/package.json b/package.json +index 0cf39c7e..fd1ce3ea 100644 +--- a/package.json ++++ b/package.json +@@ -125,6 +125,7 @@ + "js-yaml": "^3.5.4", + "jsonld": "^1.0.1", + "jsonld-signatures": "https://github.com/Chocobozzz/jsonld-signatures#rsa2017", ++ "ldapjs": "^1.0.2", + "lodash": "^4.17.10", + "magnet-uri": "^5.1.4", + "memoizee": "^0.4.14", +diff --git a/yarn.lock b/yarn.lock +index 1e759af1..1eb61a9f 100644 +--- a/yarn.lock ++++ b/yarn.lock +@@ -674,6 +674,11 @@ asap@^2.0.0: + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + ++asn1@0.2.3: ++ version "0.2.3" ++ resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" ++ integrity sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y= ++ + asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" +@@ -681,6 +686,11 @@ asn1@~0.2.3: + dependencies: + safer-buffer "~2.1.0" + ++assert-plus@0.1.5: ++ version "0.1.5" ++ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.1.5.tgz#ee74009413002d84cec7219c6ac811812e723160" ++ integrity sha1-7nQAlBMALYTOxyGcasgRgS5yMWA= ++ + assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" +@@ -779,6 +789,13 @@ backo2@1.0.2: + resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" + integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= + ++backoff@^2.5.0: ++ version "2.5.0" ++ resolved "https://registry.yarnpkg.com/backoff/-/backoff-2.5.0.tgz#f616eda9d3e4b66b8ca7fca79f695722c5f8e26f" ++ integrity sha1-9hbtqdPktmuMp/ynn2lXIsX44m8= ++ dependencies: ++ precond "0.2" ++ + balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" +@@ -1186,6 +1203,16 @@ bull@^3.4.2: + semver "^5.6.0" + uuid "^3.2.1" + ++bunyan@^1.8.3: ++ version "1.8.12" ++ resolved "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.12.tgz#f150f0f6748abdd72aeae84f04403be2ef113797" ++ integrity sha1-8VDw9nSKvdcq6uhPBEA74u8RN5c= ++ optionalDependencies: ++ dtrace-provider "~0.8" ++ moment "^2.10.6" ++ mv "~2" ++ safe-json-stringify "~1" ++ + busboy@^0.2.11: + version "0.2.14" + resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.2.14.tgz#6c2a622efcf47c57bbbe1e2a9c37ad36c7925453" +@@ -1966,7 +1993,7 @@ d@1: + dependencies: + es5-ext "^0.10.9" + +-dashdash@^1.12.0: ++dashdash@^1.12.0, dashdash@^1.14.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= +@@ -2292,6 +2319,13 @@ double-ended-queue@^2.1.0-0: + resolved "https://registry.yarnpkg.com/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz#103d3527fd31528f40188130c841efdd78264e5c" + integrity sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw= + ++dtrace-provider@~0.8: ++ version "0.8.7" ++ resolved "https://registry.yarnpkg.com/dtrace-provider/-/dtrace-provider-0.8.7.tgz#dc939b4d3e0620cfe0c1cd803d0d2d7ed04ffd04" ++ integrity sha1-3JObTT4GIM/gwc2APQ0tftBP/QQ= ++ dependencies: ++ nan "^2.10.0" ++ + duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" +@@ -2864,6 +2898,11 @@ extglob@^2.0.4: + snapdragon "^0.8.1" + to-regex "^3.0.1" + ++extsprintf@1.2.0: ++ version "1.2.0" ++ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.2.0.tgz#5ad946c22f5b32ba7f8cd7426711c6e8a3fc2529" ++ integrity sha1-WtlGwi9bMrp/jNdCZxHG6KP8JSk= ++ + extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" +@@ -3350,6 +3389,17 @@ glob@7.1.2: + once "^1.3.0" + path-is-absolute "^1.0.0" + ++glob@^6.0.1: ++ version "6.0.4" ++ resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" ++ integrity sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI= ++ dependencies: ++ inflight "^1.0.4" ++ inherits "2" ++ minimatch "2 || 3" ++ once "^1.3.0" ++ path-is-absolute "^1.0.0" ++ + glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@~7.1.1, glob@~7.1.2: + version "7.1.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" +@@ -4522,6 +4572,30 @@ lcid@^2.0.0: + dependencies: + invert-kv "^2.0.0" + ++ldap-filter@0.2.2: ++ version "0.2.2" ++ resolved "https://registry.yarnpkg.com/ldap-filter/-/ldap-filter-0.2.2.tgz#f2b842be0b86da3352798505b31ebcae590d77d0" ++ integrity sha1-8rhCvguG2jNSeYUFsx68rlkNd9A= ++ dependencies: ++ assert-plus "0.1.5" ++ ++ldapjs@^1.0.2: ++ version "1.0.2" ++ resolved "https://registry.yarnpkg.com/ldapjs/-/ldapjs-1.0.2.tgz#544ff7032b7b83c68f0701328d9297aa694340f9" ++ integrity sha1-VE/3Ayt7g8aPBwEyjZKXqmlDQPk= ++ dependencies: ++ asn1 "0.2.3" ++ assert-plus "^1.0.0" ++ backoff "^2.5.0" ++ bunyan "^1.8.3" ++ dashdash "^1.14.0" ++ ldap-filter "0.2.2" ++ once "^1.4.0" ++ vasync "^1.6.4" ++ verror "^1.8.1" ++ optionalDependencies: ++ dtrace-provider "~0.8" ++ + leven@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" +@@ -5186,7 +5260,7 @@ minimalistic-assert@^1.0.1: + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +-minimatch@3.0.4, minimatch@^3.0.4, minimatch@~3.0.2: ++"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.4, minimatch@~3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== +@@ -5299,6 +5373,11 @@ moment-timezone@^0.5.14, moment-timezone@^0.5.23: + resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.2.tgz#3c257f9839fc0e93ff53149632239eb90783ff66" + integrity sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y= + ++moment@^2.10.6: ++ version "2.24.0" ++ resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" ++ integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg== ++ + morgan@^1.5.3: + version "1.9.1" + resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.9.1.tgz#0a8d16734a1d9afbc824b99df87e738e58e2da59" +@@ -5394,6 +5473,15 @@ mute-stream@~0.0.4: + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= + ++mv@~2: ++ version "2.1.1" ++ resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2" ++ integrity sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI= ++ dependencies: ++ mkdirp "~0.5.1" ++ ncp "~2.0.0" ++ rimraf "~2.4.0" ++ + nan@2.11.1, nan@^2.10.0, nan@^2.11.1, nan@^2.9.2: + version "2.11.1" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.11.1.tgz#90e22bccb8ca57ea4cd37cc83d3819b52eea6766" +@@ -5431,6 +5519,11 @@ ncp@1.0.x: + resolved "https://registry.yarnpkg.com/ncp/-/ncp-1.0.1.tgz#d15367e5cb87432ba117d2bf80fdf45aecfb4246" + integrity sha1-0VNn5cuHQyuhF9K/gP30Wuz7QkY= + ++ncp@~2.0.0: ++ version "2.0.0" ++ resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" ++ integrity sha1-GVoh1sRuNh0vsSgbo4uR6d9727M= ++ + needle@^2.2.1: + version "2.2.4" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e" +@@ -6520,6 +6613,11 @@ prebuild-install@^5.2.0: + tunnel-agent "^0.6.0" + which-pm-runs "^1.0.0" + ++precond@0.2: ++ version "0.2.3" ++ resolved "https://registry.yarnpkg.com/precond/-/precond-0.2.3.tgz#aa9591bcaa24923f1e0f4849d240f47efc1075ac" ++ integrity sha1-qpWRvKokkj8eD0hJ0kD0fvwQdaw= ++ + prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" +@@ -7141,6 +7239,13 @@ rimraf@2, rimraf@2.x.x, rimraf@^2.2.8, rimraf@^2.4.2, rimraf@^2.5.2, rimraf@^2.5 + dependencies: + glob "^7.0.5" + ++rimraf@~2.4.0: ++ version "2.4.5" ++ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da" ++ integrity sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto= ++ dependencies: ++ glob "^6.0.1" ++ + run-async@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" +@@ -7197,6 +7302,11 @@ safe-buffer@5.1.2, safe-buffer@^5.0.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, s + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + ++safe-json-stringify@~1: ++ version "1.2.0" ++ resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz#356e44bc98f1f93ce45df14bcd7c01cda86e0afd" ++ integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== ++ + safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" +@@ -8857,7 +8967,14 @@ vary@~1.0.1: + resolved "https://registry.yarnpkg.com/vary/-/vary-1.0.1.tgz#99e4981566a286118dfb2b817357df7993376d10" + integrity sha1-meSYFWaihhGN+yuBc1ffeZM3bRA= + +-verror@1.10.0: ++vasync@^1.6.4: ++ version "1.6.4" ++ resolved "https://registry.yarnpkg.com/vasync/-/vasync-1.6.4.tgz#dfe93616ad0e7ae801b332a9d88bfc5cdc8e1d1f" ++ integrity sha1-3+k2Fq0OeugBszKp2Iv8XNyOHR8= ++ dependencies: ++ verror "1.6.0" ++ ++verror@1.10.0, verror@^1.8.1: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= +@@ -8866,6 +8983,13 @@ verror@1.10.0: + core-util-is "1.0.2" + extsprintf "^1.2.0" + ++verror@1.6.0: ++ version "1.6.0" ++ resolved "https://registry.yarnpkg.com/verror/-/verror-1.6.0.tgz#7d13b27b1facc2e2da90405eb5ea6e5bdd252ea5" ++ integrity sha1-fROyex+swuLakEBetepuW90lLqU= ++ dependencies: ++ extsprintf "1.2.0" ++ + videostream@^2.5.1: + version "2.6.0" + resolved "https://registry.yarnpkg.com/videostream/-/videostream-2.6.0.tgz#7f0b2b84bc457c12cfe599aa2345f5cc06241ab6" diff --git a/pkgs/webapps/peertube/peertube.json b/pkgs/webapps/peertube/peertube.json new file mode 100644 index 00000000..fd2ef7db --- /dev/null +++ b/pkgs/webapps/peertube/peertube.json @@ -0,0 +1,15 @@ +{ + "tag": "v1.2.0", + "meta": { + "name": "peertube", + "url": "https://github.com/Chocobozzz/PeerTube", + "branch": "refs/tags/v1.2.0" + }, + "github": { + "owner": "Chocobozzz", + "repo": "PeerTube", + "rev": "5cc304b909a70d8cbfe9cb5e0c46b4fe7b3d8ea2", + "sha256": "0fpzp9qh3ns3bg2w7f50b5schg30swyhyhk1zd311fy27mdmza6z", + "fetchSubmodules": true + } +} diff --git a/pkgs/webapps/peertube/sendmail.patch b/pkgs/webapps/peertube/sendmail.patch new file mode 100644 index 00000000..b42bc49b --- /dev/null +++ b/pkgs/webapps/peertube/sendmail.patch @@ -0,0 +1,121 @@ +commit 677374d59c6aa2cb8145da3cd9c17fe05fd9b149 +Author: Ismaël Bouya +Date: Wed Feb 13 12:16:27 2019 +0100 + + Add sendmail + +diff --git a/config/production.yaml.example b/config/production.yaml.example +index bb5ac251..4583f1f5 100644 +--- a/config/production.yaml.example ++++ b/config/production.yaml.example +@@ -46,6 +46,8 @@ ldap: + + # SMTP server to send emails + smtp: ++ transport: smtp ++ sendmail: null + hostname: null + port: 465 # If you use StartTLS: 587 + username: null +diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts +index fb21df37..c551b4f9 100644 +--- a/server/initializers/constants.ts ++++ b/server/initializers/constants.ts +@@ -188,6 +188,8 @@ const CONFIG = { + USER_FILTER: config.has('ldap.user_filter') ? config.get('ldap.user_filter') : '(|(email=%username%)(uid=%username%))' + }, + SMTP: { ++ TRANSPORT: config.has('smtp.transport') ? config.get('smtp.transport') : 'smtp', ++ SENDMAIL: config.has('smtp.sendmail') ? config.get('smtp.sendmail') : null, + HOSTNAME: config.get('smtp.hostname'), + PORT: config.get('smtp.port'), + USERNAME: config.get('smtp.username'), +diff --git a/server/lib/emailer.ts b/server/lib/emailer.ts +index f384a254..ec6e249b 100644 +--- a/server/lib/emailer.ts ++++ b/server/lib/emailer.ts +@@ -27,33 +27,41 @@ class Emailer { + this.initialized = true + + if (Emailer.isEnabled()) { +- logger.info('Using %s:%s as SMTP server.', CONFIG.SMTP.HOSTNAME, CONFIG.SMTP.PORT) +- +- let tls +- if (CONFIG.SMTP.CA_FILE) { +- tls = { +- ca: [ readFileSync(CONFIG.SMTP.CA_FILE) ] ++ if (CONFIG.SMTP.TRANSPORT === 'smtp') { ++ logger.info('Using %s:%s as SMTP server.', CONFIG.SMTP.HOSTNAME, CONFIG.SMTP.PORT) ++ ++ let tls ++ if (CONFIG.SMTP.CA_FILE) { ++ tls = { ++ ca: [ readFileSync(CONFIG.SMTP.CA_FILE) ] ++ } + } +- } + +- let auth +- if (CONFIG.SMTP.USERNAME && CONFIG.SMTP.PASSWORD) { +- auth = { +- user: CONFIG.SMTP.USERNAME, +- pass: CONFIG.SMTP.PASSWORD ++ let auth ++ if (CONFIG.SMTP.USERNAME && CONFIG.SMTP.PASSWORD) { ++ auth = { ++ user: CONFIG.SMTP.USERNAME, ++ pass: CONFIG.SMTP.PASSWORD ++ } + } +- } + +- this.transporter = createTransport({ +- host: CONFIG.SMTP.HOSTNAME, +- port: CONFIG.SMTP.PORT, +- secure: CONFIG.SMTP.TLS, +- debug: CONFIG.LOG.LEVEL === 'debug', +- logger: bunyanLogger as any, +- ignoreTLS: CONFIG.SMTP.DISABLE_STARTTLS, +- tls, +- auth +- }) ++ this.transporter = createTransport({ ++ host: CONFIG.SMTP.HOSTNAME, ++ port: CONFIG.SMTP.PORT, ++ secure: CONFIG.SMTP.TLS, ++ debug: CONFIG.LOG.LEVEL === 'debug', ++ logger: bunyanLogger as any, ++ ignoreTLS: CONFIG.SMTP.DISABLE_STARTTLS, ++ tls, ++ auth ++ }) ++ } else { // sendmail ++ this.transporter = createTransport({ ++ sendmail: true, ++ newline: 'unix', ++ path: CONFIG.SMTP.SENDMAIL, ++ }) ++ } + } else { + if (!isTestInstance()) { + logger.error('Cannot use SMTP server because of lack of configuration. PeerTube will not be able to send mails!') +@@ -62,11 +70,17 @@ class Emailer { + } + + static isEnabled () { +- return !!CONFIG.SMTP.HOSTNAME && !!CONFIG.SMTP.PORT ++ if (CONFIG.SMTP.TRANSPORT === 'sendmail') { ++ return !!CONFIG.SMTP.SENDMAIL ++ } else if (CONFIG.SMTP.TRANSPORT === 'smtp') { ++ return !!CONFIG.SMTP.HOSTNAME && !!CONFIG.SMTP.PORT ++ } else { ++ return false ++ } + } + + async checkConnectionOrDie () { +- if (!this.transporter) return ++ if (!this.transporter || CONFIG.SMTP.TRANSPORT !== 'smtp') return + + logger.info('Testing SMTP server...') + diff --git a/pkgs/webapps/peertube/yarn-packages.nix b/pkgs/webapps/peertube/yarn-packages.nix new file mode 100644 index 00000000..d99dfd3d --- /dev/null +++ b/pkgs/webapps/peertube/yarn-packages.nix @@ -0,0 +1,11552 @@ +{fetchurl, linkFarm}: rec { + offline_cache = linkFarm "offline" packages; + packages = [ + + { + name = "_iamstarkov_listr_update_renderer___listr_update_renderer_0.4.1.tgz"; + path = fetchurl { + name = "_iamstarkov_listr_update_renderer___listr_update_renderer_0.4.1.tgz"; + url = "https://registry.yarnpkg.com/@iamstarkov/listr-update-renderer/-/listr-update-renderer-0.4.1.tgz"; + sha1 = "d7c48092a2dcf90fd672b6c8b458649cb350c77e"; + }; + } + + { + name = "_samverschueren_stream_to_observable___stream_to_observable_0.3.0.tgz"; + path = fetchurl { + name = "_samverschueren_stream_to_observable___stream_to_observable_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz"; + sha1 = "ecdf48d532c58ea477acfcab80348424f8d0662f"; + }; + } + + { + name = "_types_async_lock___async_lock_1.1.0.tgz"; + path = fetchurl { + name = "_types_async_lock___async_lock_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/@types/async-lock/-/async-lock-1.1.0.tgz"; + sha1 = "002b1ebeebd382aff66b68bed70a74c7bdd06e3e"; + }; + } + + { + name = "_types_async___async_2.0.50.tgz"; + path = fetchurl { + name = "_types_async___async_2.0.50.tgz"; + url = "https://registry.yarnpkg.com/@types/async/-/async-2.0.50.tgz"; + sha1 = "117540e026d64e1846093abbd5adc7e27fda7bcb"; + }; + } + + { + name = "_types_bcrypt___bcrypt_3.0.0.tgz"; + path = fetchurl { + name = "_types_bcrypt___bcrypt_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/@types/bcrypt/-/bcrypt-3.0.0.tgz"; + sha1 = "851489a9065a067cb7f3c9cbe4ce9bed8bba0876"; + }; + } + + { + name = "_types_bittorrent_protocol___bittorrent_protocol_2.2.2.tgz"; + path = fetchurl { + name = "_types_bittorrent_protocol___bittorrent_protocol_2.2.2.tgz"; + url = "https://registry.yarnpkg.com/@types/bittorrent-protocol/-/bittorrent-protocol-2.2.2.tgz"; + sha1 = "169e9633e1bd18e6b830d11cf42e611b1972cb83"; + }; + } + + { + name = "_types_bluebird___bluebird_3.5.21.tgz"; + path = fetchurl { + name = "_types_bluebird___bluebird_3.5.21.tgz"; + url = "https://registry.yarnpkg.com/@types/bluebird/-/bluebird-3.5.21.tgz"; + sha1 = "567615589cc913e84a28ecf9edb031732bdf2634"; + }; + } + + { + name = "_types_bluebird___bluebird_3.5.18.tgz"; + path = fetchurl { + name = "_types_bluebird___bluebird_3.5.18.tgz"; + url = "https://registry.yarnpkg.com/@types/bluebird/-/bluebird-3.5.18.tgz"; + sha1 = "6a60435d4663e290f3709898a4f75014f279c4d6"; + }; + } + + { + name = "_types_body_parser___body_parser_1.17.0.tgz"; + path = fetchurl { + name = "_types_body_parser___body_parser_1.17.0.tgz"; + url = "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.17.0.tgz"; + sha1 = "9f5c9d9bd04bb54be32d5eb9fc0d8c974e6cf58c"; + }; + } + + { + name = "_types_bull___bull_3.4.0.tgz"; + path = fetchurl { + name = "_types_bull___bull_3.4.0.tgz"; + url = "https://registry.yarnpkg.com/@types/bull/-/bull-3.4.0.tgz"; + sha1 = "18ffefefa4dd1cfbdbdc8ca7df56c934459f6b9d"; + }; + } + + { + name = "_types_bytes___bytes_3.0.0.tgz"; + path = fetchurl { + name = "_types_bytes___bytes_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/@types/bytes/-/bytes-3.0.0.tgz"; + sha1 = "549eeacd0a8fecfaa459334583a4edcee738e6db"; + }; + } + + { + name = "_types_caseless___caseless_0.12.1.tgz"; + path = fetchurl { + name = "_types_caseless___caseless_0.12.1.tgz"; + url = "https://registry.yarnpkg.com/@types/caseless/-/caseless-0.12.1.tgz"; + sha1 = "9794c69c8385d0192acc471a540d1f8e0d16218a"; + }; + } + + { + name = "_types_chai_json_schema___chai_json_schema_1.4.3.tgz"; + path = fetchurl { + name = "_types_chai_json_schema___chai_json_schema_1.4.3.tgz"; + url = "https://registry.yarnpkg.com/@types/chai-json-schema/-/chai-json-schema-1.4.3.tgz"; + sha1 = "1dd1e88ae911dd6e6e1c3c2d0e0397328aab0bfb"; + }; + } + + { + name = "_types_chai_xml___chai_xml_0.3.1.tgz"; + path = fetchurl { + name = "_types_chai_xml___chai_xml_0.3.1.tgz"; + url = "https://registry.yarnpkg.com/@types/chai-xml/-/chai-xml-0.3.1.tgz"; + sha1 = "a9cc5812bd67e9c9221d1e9b4dfb0cca797fd40a"; + }; + } + + { + name = "_types_chai___chai_4.1.7.tgz"; + path = fetchurl { + name = "_types_chai___chai_4.1.7.tgz"; + url = "https://registry.yarnpkg.com/@types/chai/-/chai-4.1.7.tgz"; + sha1 = "1b8e33b61a8c09cbe1f85133071baa0dbf9fa71a"; + }; + } + + { + name = "_types_config___config_0.0.34.tgz"; + path = fetchurl { + name = "_types_config___config_0.0.34.tgz"; + url = "https://registry.yarnpkg.com/@types/config/-/config-0.0.34.tgz"; + sha1 = "123f91bdb5afdd702294b9de9ca04d9ea11137b0"; + }; + } + + { + name = "_types_connect___connect_3.4.32.tgz"; + path = fetchurl { + name = "_types_connect___connect_3.4.32.tgz"; + url = "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.32.tgz"; + sha1 = "aa0e9616b9435ccad02bc52b5b454ffc2c70ba28"; + }; + } + + { + name = "_types_continuation_local_storage___continuation_local_storage_3.2.1.tgz"; + path = fetchurl { + name = "_types_continuation_local_storage___continuation_local_storage_3.2.1.tgz"; + url = "https://registry.yarnpkg.com/@types/continuation-local-storage/-/continuation-local-storage-3.2.1.tgz"; + sha1 = "a33e0df9dce9b424d1c98fc4fdebd8578dceec7e"; + }; + } + + { + name = "_types_cookiejar___cookiejar_2.1.0.tgz"; + path = fetchurl { + name = "_types_cookiejar___cookiejar_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/@types/cookiejar/-/cookiejar-2.1.0.tgz"; + sha1 = "4b7daf2c51696cfc70b942c11690528229d1a1ce"; + }; + } + + { + name = "_types_events___events_1.2.0.tgz"; + path = fetchurl { + name = "_types_events___events_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/@types/events/-/events-1.2.0.tgz"; + sha1 = "81a6731ce4df43619e5c8c945383b3e62a89ea86"; + }; + } + + { + name = "_types_express_rate_limit___express_rate_limit_2.9.3.tgz"; + path = fetchurl { + name = "_types_express_rate_limit___express_rate_limit_2.9.3.tgz"; + url = "https://registry.yarnpkg.com/@types/express-rate-limit/-/express-rate-limit-2.9.3.tgz"; + sha1 = "e83a548bf251ad12ca49055c22d3f2da4e16b62d"; + }; + } + + { + name = "_types_express_serve_static_core___express_serve_static_core_4.16.0.tgz"; + path = fetchurl { + name = "_types_express_serve_static_core___express_serve_static_core_4.16.0.tgz"; + url = "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.16.0.tgz"; + sha1 = "fdfe777594ddc1fe8eb8eccce52e261b496e43e7"; + }; + } + + { + name = "_types_express___express_4.16.0.tgz"; + path = fetchurl { + name = "_types_express___express_4.16.0.tgz"; + url = "https://registry.yarnpkg.com/@types/express/-/express-4.16.0.tgz"; + sha1 = "6d8bc42ccaa6f35cf29a2b7c3333cb47b5a32a19"; + }; + } + + { + name = "_types_fluent_ffmpeg___fluent_ffmpeg_2.1.8.tgz"; + path = fetchurl { + name = "_types_fluent_ffmpeg___fluent_ffmpeg_2.1.8.tgz"; + url = "https://registry.yarnpkg.com/@types/fluent-ffmpeg/-/fluent-ffmpeg-2.1.8.tgz"; + sha1 = "a9ffff2140d641ec898ebdddaa1e6e7e962d7943"; + }; + } + + { + name = "_types_form_data___form_data_2.2.1.tgz"; + path = fetchurl { + name = "_types_form_data___form_data_2.2.1.tgz"; + url = "https://registry.yarnpkg.com/@types/form-data/-/form-data-2.2.1.tgz"; + sha1 = "ee2b3b8eaa11c0938289953606b745b738c54b1e"; + }; + } + + { + name = "_types_fs_extra___fs_extra_5.0.4.tgz"; + path = fetchurl { + name = "_types_fs_extra___fs_extra_5.0.4.tgz"; + url = "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-5.0.4.tgz"; + sha1 = "b971134d162cc0497d221adde3dbb67502225599"; + }; + } + + { + name = "_types_geojson___geojson_1.0.6.tgz"; + path = fetchurl { + name = "_types_geojson___geojson_1.0.6.tgz"; + url = "https://registry.yarnpkg.com/@types/geojson/-/geojson-1.0.6.tgz"; + sha1 = "3e02972728c69248c2af08d60a48cbb8680fffdf"; + }; + } + + { + name = "_types_ioredis___ioredis_4.0.4.tgz"; + path = fetchurl { + name = "_types_ioredis___ioredis_4.0.4.tgz"; + url = "https://registry.yarnpkg.com/@types/ioredis/-/ioredis-4.0.4.tgz"; + sha1 = "c0a809064c05e4c2663803128d46042e73c92558"; + }; + } + + { + name = "_types_libxmljs___libxmljs_0.18.2.tgz"; + path = fetchurl { + name = "_types_libxmljs___libxmljs_0.18.2.tgz"; + url = "https://registry.yarnpkg.com/@types/libxmljs/-/libxmljs-0.18.2.tgz"; + sha1 = "c424173a07477a7552173d7c779d5ffe77dd8efc"; + }; + } + + { + name = "_types_lodash___lodash_4.14.118.tgz"; + path = fetchurl { + name = "_types_lodash___lodash_4.14.118.tgz"; + url = "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.118.tgz"; + sha1 = "247bab39bfcc6d910d4927c6e06cbc70ec376f27"; + }; + } + + { + name = "_types_magnet_uri___magnet_uri_5.1.1.tgz"; + path = fetchurl { + name = "_types_magnet_uri___magnet_uri_5.1.1.tgz"; + url = "https://registry.yarnpkg.com/@types/magnet-uri/-/magnet-uri-5.1.1.tgz"; + sha1 = "861aaf64c92a3137dd848fefc55cd352a8ea851a"; + }; + } + + { + name = "_types_maildev___maildev_0.0.1.tgz"; + path = fetchurl { + name = "_types_maildev___maildev_0.0.1.tgz"; + url = "https://registry.yarnpkg.com/@types/maildev/-/maildev-0.0.1.tgz"; + sha1 = "9fe4fa05610f6c6afc10224bcca6b67bc3c56fc0"; + }; + } + + { + name = "_types_memoizee___memoizee_0.4.2.tgz"; + path = fetchurl { + name = "_types_memoizee___memoizee_0.4.2.tgz"; + url = "https://registry.yarnpkg.com/@types/memoizee/-/memoizee-0.4.2.tgz"; + sha1 = "a500158999a8144a9b46cf9a9fb49b15f1853573"; + }; + } + + { + name = "_types_mime___mime_2.0.0.tgz"; + path = fetchurl { + name = "_types_mime___mime_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.0.tgz"; + sha1 = "5a7306e367c539b9f6543499de8dd519fac37a8b"; + }; + } + + { + name = "_types_mkdirp___mkdirp_0.5.2.tgz"; + path = fetchurl { + name = "_types_mkdirp___mkdirp_0.5.2.tgz"; + url = "https://registry.yarnpkg.com/@types/mkdirp/-/mkdirp-0.5.2.tgz"; + sha1 = "503aacfe5cc2703d5484326b1b27efa67a339c1f"; + }; + } + + { + name = "_types_mocha___mocha_5.2.5.tgz"; + path = fetchurl { + name = "_types_mocha___mocha_5.2.5.tgz"; + url = "https://registry.yarnpkg.com/@types/mocha/-/mocha-5.2.5.tgz"; + sha1 = "8a4accfc403c124a0bafe8a9fc61a05ec1032073"; + }; + } + + { + name = "_types_morgan___morgan_1.7.35.tgz"; + path = fetchurl { + name = "_types_morgan___morgan_1.7.35.tgz"; + url = "https://registry.yarnpkg.com/@types/morgan/-/morgan-1.7.35.tgz"; + sha1 = "6358f502931cc2583d7a94248c41518baa688494"; + }; + } + + { + name = "_types_multer___multer_1.3.7.tgz"; + path = fetchurl { + name = "_types_multer___multer_1.3.7.tgz"; + url = "https://registry.yarnpkg.com/@types/multer/-/multer-1.3.7.tgz"; + sha1 = "9fe1de9f44f401ff2eaf0d4468cf16935a9c6866"; + }; + } + + { + name = "_types_node___node_10.12.12.tgz"; + path = fetchurl { + name = "_types_node___node_10.12.12.tgz"; + url = "https://registry.yarnpkg.com/@types/node/-/node-10.12.12.tgz"; + sha1 = "e15a9d034d9210f00320ef718a50c4a799417c47"; + }; + } + + { + name = "_types_node___node_6.0.41.tgz"; + path = fetchurl { + name = "_types_node___node_6.0.41.tgz"; + url = "https://registry.yarnpkg.com/@types/node/-/node-6.0.41.tgz"; + sha1 = "578cf53aaec65887bcaf16792f8722932e8ff8ea"; + }; + } + + { + name = "_types_nodemailer___nodemailer_4.6.5.tgz"; + path = fetchurl { + name = "_types_nodemailer___nodemailer_4.6.5.tgz"; + url = "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-4.6.5.tgz"; + sha1 = "8bb799202f8cfcc8200a1c1627f6a8a74fe71da6"; + }; + } + + { + name = "_types_oauth2_server___oauth2_server_3.0.10.tgz"; + path = fetchurl { + name = "_types_oauth2_server___oauth2_server_3.0.10.tgz"; + url = "https://registry.yarnpkg.com/@types/oauth2-server/-/oauth2-server-3.0.10.tgz"; + sha1 = "ea671a6ad3d02062aac5f7c1ba1fb9c468314db0"; + }; + } + + { + name = "_types_parse_torrent_file___parse_torrent_file_4.0.1.tgz"; + path = fetchurl { + name = "_types_parse_torrent_file___parse_torrent_file_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/@types/parse-torrent-file/-/parse-torrent-file-4.0.1.tgz"; + sha1 = "056a6c18f3fac0cd7c6c74540f00496a3225976b"; + }; + } + + { + name = "_types_parse_torrent___parse_torrent_5.8.2.tgz"; + path = fetchurl { + name = "_types_parse_torrent___parse_torrent_5.8.2.tgz"; + url = "https://registry.yarnpkg.com/@types/parse-torrent/-/parse-torrent-5.8.2.tgz"; + sha1 = "53ab880e38ced2005a79948f0df0c8762539323e"; + }; + } + + { + name = "_types_pem___pem_1.9.3.tgz"; + path = fetchurl { + name = "_types_pem___pem_1.9.3.tgz"; + url = "https://registry.yarnpkg.com/@types/pem/-/pem-1.9.3.tgz"; + sha1 = "0c864c8b79e43fef6367db895f60fd1edd10e86c"; + }; + } + + { + name = "_types_range_parser___range_parser_1.2.2.tgz"; + path = fetchurl { + name = "_types_range_parser___range_parser_1.2.2.tgz"; + url = "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.2.tgz"; + sha1 = "fa8e1ad1d474688a757140c91de6dace6f4abc8d"; + }; + } + + { + name = "_types_redis___redis_2.8.8.tgz"; + path = fetchurl { + name = "_types_redis___redis_2.8.8.tgz"; + url = "https://registry.yarnpkg.com/@types/redis/-/redis-2.8.8.tgz"; + sha1 = "70855e79a6020080cca3cb5f1f5ee7f11b49a979"; + }; + } + + { + name = "_types_request___request_2.48.1.tgz"; + path = fetchurl { + name = "_types_request___request_2.48.1.tgz"; + url = "https://registry.yarnpkg.com/@types/request/-/request-2.48.1.tgz"; + sha1 = "e402d691aa6670fbbff1957b15f1270230ab42fa"; + }; + } + + { + name = "_types_sequelize___sequelize_4.27.24.tgz"; + path = fetchurl { + name = "_types_sequelize___sequelize_4.27.24.tgz"; + url = "https://registry.yarnpkg.com/@types/sequelize/-/sequelize-4.27.24.tgz"; + sha1 = "7d593c062c368f570c68b0217f5c1d4c892ead48"; + }; + } + + { + name = "_types_serve_static___serve_static_1.13.2.tgz"; + path = fetchurl { + name = "_types_serve_static___serve_static_1.13.2.tgz"; + url = "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.2.tgz"; + sha1 = "f5ac4d7a6420a99a6a45af4719f4dcd8cd907a48"; + }; + } + + { + name = "_types_sharp___sharp_0.21.0.tgz"; + path = fetchurl { + name = "_types_sharp___sharp_0.21.0.tgz"; + url = "https://registry.yarnpkg.com/@types/sharp/-/sharp-0.21.0.tgz"; + sha1 = "e364b345c70e5924a5c626aaccaa236e0cfc2455"; + }; + } + + { + name = "_types_simple_peer___simple_peer_6.1.5.tgz"; + path = fetchurl { + name = "_types_simple_peer___simple_peer_6.1.5.tgz"; + url = "https://registry.yarnpkg.com/@types/simple-peer/-/simple-peer-6.1.5.tgz"; + sha1 = "9353f84cefd052a9684b9a5662c983fc2bcfab41"; + }; + } + + { + name = "_types_socket.io___socket.io_2.1.2.tgz"; + path = fetchurl { + name = "_types_socket.io___socket.io_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/@types/socket.io/-/socket.io-2.1.2.tgz"; + sha1 = "7165c2587cc3b86b44aa78e2a0060140551de211"; + }; + } + + { + name = "_types_superagent___superagent_3.8.4.tgz"; + path = fetchurl { + name = "_types_superagent___superagent_3.8.4.tgz"; + url = "https://registry.yarnpkg.com/@types/superagent/-/superagent-3.8.4.tgz"; + sha1 = "24a5973c7d1a9c024b4bbda742a79267c33fb86a"; + }; + } + + { + name = "_types_supertest___supertest_2.0.7.tgz"; + path = fetchurl { + name = "_types_supertest___supertest_2.0.7.tgz"; + url = "https://registry.yarnpkg.com/@types/supertest/-/supertest-2.0.7.tgz"; + sha1 = "46ff6508075cd4519736be060f0d6331a5c8ca7b"; + }; + } + + { + name = "_types_tough_cookie___tough_cookie_2.3.4.tgz"; + path = fetchurl { + name = "_types_tough_cookie___tough_cookie_2.3.4.tgz"; + url = "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-2.3.4.tgz"; + sha1 = "821878b81bfab971b93a265a561d54ea61f9059f"; + }; + } + + { + name = "_types_tv4___tv4_1.2.29.tgz"; + path = fetchurl { + name = "_types_tv4___tv4_1.2.29.tgz"; + url = "https://registry.yarnpkg.com/@types/tv4/-/tv4-1.2.29.tgz"; + sha1 = "4c6d2222b03245dd2104f4fd67f54d1658985911"; + }; + } + + { + name = "_types_validator___validator_9.4.3.tgz"; + path = fetchurl { + name = "_types_validator___validator_9.4.3.tgz"; + url = "https://registry.yarnpkg.com/@types/validator/-/validator-9.4.3.tgz"; + sha1 = "11321eae0546b20f13020131ff890c294df72ecb"; + }; + } + + { + name = "_types_webtorrent___webtorrent_0.98.4.tgz"; + path = fetchurl { + name = "_types_webtorrent___webtorrent_0.98.4.tgz"; + url = "https://registry.yarnpkg.com/@types/webtorrent/-/webtorrent-0.98.4.tgz"; + sha1 = "cf8dbe22e3d5cf6915305f7f970b52bca01bf8b4"; + }; + } + + { + name = "_types_ws___ws_6.0.1.tgz"; + path = fetchurl { + name = "_types_ws___ws_6.0.1.tgz"; + url = "https://registry.yarnpkg.com/@types/ws/-/ws-6.0.1.tgz"; + sha1 = "ca7a3f3756aa12f62a0a62145ed14c6db25d5a28"; + }; + } + + { + name = "JSONStream___JSONStream_1.3.5.tgz"; + path = fetchurl { + name = "JSONStream___JSONStream_1.3.5.tgz"; + url = "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz"; + sha1 = "3208c1f08d3a4d99261ab64f92302bc15e111ca0"; + }; + } + + { + name = "abbrev___abbrev_1.1.1.tgz"; + path = fetchurl { + name = "abbrev___abbrev_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz"; + sha1 = "f8f2c887ad10bf67f634f005b6987fed3179aac8"; + }; + } + + { + name = "accepts___accepts_1.3.3.tgz"; + path = fetchurl { + name = "accepts___accepts_1.3.3.tgz"; + url = "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz"; + sha1 = "c3ca7434938648c3e0d9c1e328dd68b622c284ca"; + }; + } + + { + name = "accepts___accepts_1.2.13.tgz"; + path = fetchurl { + name = "accepts___accepts_1.2.13.tgz"; + url = "https://registry.yarnpkg.com/accepts/-/accepts-1.2.13.tgz"; + sha1 = "e5f1f3928c6d95fd96558c36ec3d9d0de4a6ecea"; + }; + } + + { + name = "accepts___accepts_1.3.5.tgz"; + path = fetchurl { + name = "accepts___accepts_1.3.5.tgz"; + url = "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz"; + sha1 = "eb777df6011723a3b14e8a72c0805c8e86746bd2"; + }; + } + + { + name = "acorn_jsx___acorn_jsx_3.0.1.tgz"; + path = fetchurl { + name = "acorn_jsx___acorn_jsx_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz"; + sha1 = "afdf9488fb1ecefc8348f6fb22f464e32a58b36b"; + }; + } + + { + name = "acorn___acorn_3.3.0.tgz"; + path = fetchurl { + name = "acorn___acorn_3.3.0.tgz"; + url = "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz"; + sha1 = "45e37fb39e8da3f25baee3ff5369e2bb5f22017a"; + }; + } + + { + name = "acorn___acorn_5.7.3.tgz"; + path = fetchurl { + name = "acorn___acorn_5.7.3.tgz"; + url = "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz"; + sha1 = "67aa231bf8812974b85235a96771eb6bd07ea279"; + }; + } + + { + name = "addr_to_ip_port___addr_to_ip_port_1.5.1.tgz"; + path = fetchurl { + name = "addr_to_ip_port___addr_to_ip_port_1.5.1.tgz"; + url = "https://registry.yarnpkg.com/addr-to-ip-port/-/addr-to-ip-port-1.5.1.tgz"; + sha1 = "bfada13fd6aeeeac19f1e9f7d84b4bbab45e5208"; + }; + } + + { + name = "addressparser___addressparser_1.0.1.tgz"; + path = fetchurl { + name = "addressparser___addressparser_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/addressparser/-/addressparser-1.0.1.tgz"; + sha1 = "47afbe1a2a9262191db6838e4fd1d39b40821746"; + }; + } + + { + name = "after___after_0.8.2.tgz"; + path = fetchurl { + name = "after___after_0.8.2.tgz"; + url = "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz"; + sha1 = "fedb394f9f0e02aa9768e702bda23b505fae7e1f"; + }; + } + + { + name = "agent_base___agent_base_4.2.1.tgz"; + path = fetchurl { + name = "agent_base___agent_base_4.2.1.tgz"; + url = "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz"; + sha1 = "d89e5999f797875674c07d87f260fc41e83e8ca9"; + }; + } + + { + name = "agentkeepalive___agentkeepalive_3.5.2.tgz"; + path = fetchurl { + name = "agentkeepalive___agentkeepalive_3.5.2.tgz"; + url = "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-3.5.2.tgz"; + sha1 = "a113924dd3fa24a0bc3b78108c450c2abee00f67"; + }; + } + + { + name = "ajv_keywords___ajv_keywords_1.5.1.tgz"; + path = fetchurl { + name = "ajv_keywords___ajv_keywords_1.5.1.tgz"; + url = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz"; + sha1 = "314dd0a4b3368fad3dfcdc54ede6171b886daf3c"; + }; + } + + { + name = "ajv___ajv_4.11.8.tgz"; + path = fetchurl { + name = "ajv___ajv_4.11.8.tgz"; + url = "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz"; + sha1 = "82ffb02b29e662ae53bdc20af15947706739c536"; + }; + } + + { + name = "ajv___ajv_6.6.1.tgz"; + path = fetchurl { + name = "ajv___ajv_6.6.1.tgz"; + url = "https://registry.yarnpkg.com/ajv/-/ajv-6.6.1.tgz"; + sha1 = "6360f5ed0d80f232cc2b294c362d5dc2e538dd61"; + }; + } + + { + name = "ansi_align___ansi_align_2.0.0.tgz"; + path = fetchurl { + name = "ansi_align___ansi_align_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz"; + sha1 = "c36aeccba563b89ceb556f3690f0b1d9e3547f7f"; + }; + } + + { + name = "ansi_escapes___ansi_escapes_1.4.0.tgz"; + path = fetchurl { + name = "ansi_escapes___ansi_escapes_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz"; + sha1 = "d3a8a83b319aa67793662b13e761c7911422306e"; + }; + } + + { + name = "ansi_escapes___ansi_escapes_3.1.0.tgz"; + path = fetchurl { + name = "ansi_escapes___ansi_escapes_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz"; + sha1 = "f73207bb81207d75fd6c83f125af26eea378ca30"; + }; + } + + { + name = "ansi_regex___ansi_regex_2.1.1.tgz"; + path = fetchurl { + name = "ansi_regex___ansi_regex_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz"; + sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df"; + }; + } + + { + name = "ansi_regex___ansi_regex_3.0.0.tgz"; + path = fetchurl { + name = "ansi_regex___ansi_regex_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz"; + sha1 = "ed0317c322064f79466c02966bddb605ab37d998"; + }; + } + + { + name = "ansi_styles___ansi_styles_2.2.1.tgz"; + path = fetchurl { + name = "ansi_styles___ansi_styles_2.2.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz"; + sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe"; + }; + } + + { + name = "ansi_styles___ansi_styles_3.2.1.tgz"; + path = fetchurl { + name = "ansi_styles___ansi_styles_3.2.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz"; + sha1 = "41fbb20243e50b12be0f04b8dedbf07520ce841d"; + }; + } + + { + name = "ansicolors___ansicolors_0.3.2.tgz"; + path = fetchurl { + name = "ansicolors___ansicolors_0.3.2.tgz"; + url = "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz"; + sha1 = "665597de86a9ffe3aa9bfbe6cae5c6ea426b4979"; + }; + } + + { + name = "ansistyles___ansistyles_0.1.3.tgz"; + path = fetchurl { + name = "ansistyles___ansistyles_0.1.3.tgz"; + url = "https://registry.yarnpkg.com/ansistyles/-/ansistyles-0.1.3.tgz"; + sha1 = "5de60415bda071bb37127854c864f41b23254539"; + }; + } + + { + name = "any_observable___any_observable_0.3.0.tgz"; + path = fetchurl { + name = "any_observable___any_observable_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/any-observable/-/any-observable-0.3.0.tgz"; + sha1 = "af933475e5806a67d0d7df090dd5e8bef65d119b"; + }; + } + + { + name = "anymatch___anymatch_2.0.0.tgz"; + path = fetchurl { + name = "anymatch___anymatch_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz"; + sha1 = "bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"; + }; + } + + { + name = "append_field___append_field_1.0.0.tgz"; + path = fetchurl { + name = "append_field___append_field_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/append-field/-/append-field-1.0.0.tgz"; + sha1 = "1e3440e915f0b1203d23748e78edd7b9b5b43e56"; + }; + } + + { + name = "application_config_path___application_config_path_0.1.0.tgz"; + path = fetchurl { + name = "application_config_path___application_config_path_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/application-config-path/-/application-config-path-0.1.0.tgz"; + sha1 = "193c5f0a86541a4c66fba1e2dc38583362ea5e8f"; + }; + } + + { + name = "application_config___application_config_1.0.1.tgz"; + path = fetchurl { + name = "application_config___application_config_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/application-config/-/application-config-1.0.1.tgz"; + sha1 = "5aa2e2a5ed6abd2e5d1d473d3596f574044fe9e7"; + }; + } + + { + name = "aproba___aproba_1.2.0.tgz"; + path = fetchurl { + name = "aproba___aproba_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz"; + sha1 = "6802e6264efd18c790a1b0d517f0f2627bf2c94a"; + }; + } + + { + name = "aproba___aproba_2.0.0.tgz"; + path = fetchurl { + name = "aproba___aproba_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz"; + sha1 = "52520b8ae5b569215b354efc0caa3fe1e45a8adc"; + }; + } + + { + name = "archy___archy_1.0.0.tgz"; + path = fetchurl { + name = "archy___archy_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz"; + sha1 = "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40"; + }; + } + + { + name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz"; + path = fetchurl { + name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz"; + url = "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz"; + sha1 = "4b35c2944f062a8bfcda66410760350fe9ddfc21"; + }; + } + + { + name = "argparse___argparse_1.0.10.tgz"; + path = fetchurl { + name = "argparse___argparse_1.0.10.tgz"; + url = "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz"; + sha1 = "bcd6791ea5ae09725e17e5ad988134cd40b3d911"; + }; + } + + { + name = "arr_diff___arr_diff_4.0.0.tgz"; + path = fetchurl { + name = "arr_diff___arr_diff_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz"; + sha1 = "d6461074febfec71e7e15235761a329a5dc7c520"; + }; + } + + { + name = "arr_flatten___arr_flatten_1.1.0.tgz"; + path = fetchurl { + name = "arr_flatten___arr_flatten_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz"; + sha1 = "36048bbff4e7b47e136644316c99669ea5ae91f1"; + }; + } + + { + name = "arr_union___arr_union_3.1.0.tgz"; + path = fetchurl { + name = "arr_union___arr_union_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz"; + sha1 = "e39b09aea9def866a8f206e288af63919bae39c4"; + }; + } + + { + name = "array_flatten___array_flatten_1.1.1.tgz"; + path = fetchurl { + name = "array_flatten___array_flatten_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz"; + sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2"; + }; + } + + { + name = "array_union___array_union_1.0.2.tgz"; + path = fetchurl { + name = "array_union___array_union_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz"; + sha1 = "9a34410e4f4e3da23dea375be5be70f24778ec39"; + }; + } + + { + name = "array_uniq___array_uniq_1.0.3.tgz"; + path = fetchurl { + name = "array_uniq___array_uniq_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz"; + sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6"; + }; + } + + { + name = "array_unique___array_unique_0.3.2.tgz"; + path = fetchurl { + name = "array_unique___array_unique_0.3.2.tgz"; + url = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz"; + sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"; + }; + } + + { + name = "arraybuffer.slice___arraybuffer.slice_0.0.6.tgz"; + path = fetchurl { + name = "arraybuffer.slice___arraybuffer.slice_0.0.6.tgz"; + url = "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz"; + sha1 = "f33b2159f0532a3f3107a272c0ccfbd1ad2979ca"; + }; + } + + { + name = "arraybuffer.slice___arraybuffer.slice_0.0.7.tgz"; + path = fetchurl { + name = "arraybuffer.slice___arraybuffer.slice_0.0.7.tgz"; + url = "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz"; + sha1 = "3bbc4275dd584cc1b10809b89d4e8b63a69e7675"; + }; + } + + { + name = "arrify___arrify_1.0.1.tgz"; + path = fetchurl { + name = "arrify___arrify_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz"; + sha1 = "898508da2226f380df904728456849c1501a4b0d"; + }; + } + + { + name = "asap___asap_2.0.6.tgz"; + path = fetchurl { + name = "asap___asap_2.0.6.tgz"; + url = "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz"; + sha1 = "e50347611d7e690943208bbdafebcbc2fb866d46"; + }; + } + + { + name = "asn1___asn1_0.2.3.tgz"; + path = fetchurl { + name = "asn1___asn1_0.2.3.tgz"; + url = "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz"; + sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86"; + }; + } + + { + name = "asn1___asn1_0.2.4.tgz"; + path = fetchurl { + name = "asn1___asn1_0.2.4.tgz"; + url = "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz"; + sha1 = "8d2475dfab553bb33e77b54e59e880bb8ce23136"; + }; + } + + { + name = "assert_plus___assert_plus_0.1.5.tgz"; + path = fetchurl { + name = "assert_plus___assert_plus_0.1.5.tgz"; + url = "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.1.5.tgz"; + sha1 = "ee74009413002d84cec7219c6ac811812e723160"; + }; + } + + { + name = "assert_plus___assert_plus_1.0.0.tgz"; + path = fetchurl { + name = "assert_plus___assert_plus_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz"; + sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"; + }; + } + + { + name = "assertion_error___assertion_error_1.0.0.tgz"; + path = fetchurl { + name = "assertion_error___assertion_error_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.0.tgz"; + sha1 = "c7f85438fdd466bc7ca16ab90c81513797a5d23b"; + }; + } + + { + name = "assertion_error___assertion_error_1.1.0.tgz"; + path = fetchurl { + name = "assertion_error___assertion_error_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz"; + sha1 = "e60b6b0e8f301bd97e5375215bda406c85118c0b"; + }; + } + + { + name = "assign_symbols___assign_symbols_1.0.0.tgz"; + path = fetchurl { + name = "assign_symbols___assign_symbols_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz"; + sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"; + }; + } + + { + name = "async_each___async_each_1.0.1.tgz"; + path = fetchurl { + name = "async_each___async_each_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz"; + sha1 = "19d386a1d9edc6e7c1c85d388aedbcc56d33602d"; + }; + } + + { + name = "async_limiter___async_limiter_1.0.0.tgz"; + path = fetchurl { + name = "async_limiter___async_limiter_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz"; + sha1 = "78faed8c3d074ab81f22b4e985d79e8738f720f8"; + }; + } + + { + name = "async_lock___async_lock_1.1.3.tgz"; + path = fetchurl { + name = "async_lock___async_lock_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/async-lock/-/async-lock-1.1.3.tgz"; + sha1 = "e47f1cbb6bec765b73e27ed8961d58006457ec08"; + }; + } + + { + name = "async_lru___async_lru_1.1.2.tgz"; + path = fetchurl { + name = "async_lru___async_lru_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/async-lru/-/async-lru-1.1.2.tgz"; + sha1 = "abe831f3a52123c87d44273615e203b1ef04692e"; + }; + } + + { + name = "async___async_1.5.1.tgz"; + path = fetchurl { + name = "async___async_1.5.1.tgz"; + url = "https://registry.yarnpkg.com/async/-/async-1.5.1.tgz"; + sha1 = "b05714f4b11b357bf79adaffdd06da42d0766c10"; + }; + } + + { + name = "async___async_2.6.1.tgz"; + path = fetchurl { + name = "async___async_2.6.1.tgz"; + url = "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz"; + sha1 = "b245a23ca71930044ec53fa46aa00a3e87c6a610"; + }; + } + + { + name = "async___async_0.9.2.tgz"; + path = fetchurl { + name = "async___async_0.9.2.tgz"; + url = "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz"; + sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d"; + }; + } + + { + name = "async___async_1.0.0.tgz"; + path = fetchurl { + name = "async___async_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/async/-/async-1.0.0.tgz"; + sha1 = "f8fc04ca3a13784ade9e1641af98578cfbd647a9"; + }; + } + + { + name = "asynckit___asynckit_0.4.0.tgz"; + path = fetchurl { + name = "asynckit___asynckit_0.4.0.tgz"; + url = "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz"; + sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"; + }; + } + + { + name = "atob___atob_2.1.2.tgz"; + path = fetchurl { + name = "atob___atob_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz"; + sha1 = "6d9517eb9e030d2436666651e86bd9f6f13533c9"; + }; + } + + { + name = "aws_sign2___aws_sign2_0.7.0.tgz"; + path = fetchurl { + name = "aws_sign2___aws_sign2_0.7.0.tgz"; + url = "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz"; + sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"; + }; + } + + { + name = "aws4___aws4_1.8.0.tgz"; + path = fetchurl { + name = "aws4___aws4_1.8.0.tgz"; + url = "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz"; + sha1 = "f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"; + }; + } + + { + name = "babel_code_frame___babel_code_frame_6.26.0.tgz"; + path = fetchurl { + name = "babel_code_frame___babel_code_frame_6.26.0.tgz"; + url = "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz"; + sha1 = "63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"; + }; + } + + { + name = "backo2___backo2_1.0.2.tgz"; + path = fetchurl { + name = "backo2___backo2_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz"; + sha1 = "31ab1ac8b129363463e35b3ebb69f4dfcfba7947"; + }; + } + + { + name = "backoff___backoff_2.5.0.tgz"; + path = fetchurl { + name = "backoff___backoff_2.5.0.tgz"; + url = "https://registry.yarnpkg.com/backoff/-/backoff-2.5.0.tgz"; + sha1 = "f616eda9d3e4b66b8ca7fca79f695722c5f8e26f"; + }; + } + + { + name = "balanced_match___balanced_match_1.0.0.tgz"; + path = fetchurl { + name = "balanced_match___balanced_match_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz"; + sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767"; + }; + } + + { + name = "base64_arraybuffer___base64_arraybuffer_0.1.5.tgz"; + path = fetchurl { + name = "base64_arraybuffer___base64_arraybuffer_0.1.5.tgz"; + url = "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz"; + sha1 = "73926771923b5a19747ad666aa5cd4bf9c6e9ce8"; + }; + } + + { + name = "base64id___base64id_1.0.0.tgz"; + path = fetchurl { + name = "base64id___base64id_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz"; + sha1 = "47688cb99bb6804f0e06d3e763b1c32e57d8e6b6"; + }; + } + + { + name = "base___base_0.11.2.tgz"; + path = fetchurl { + name = "base___base_0.11.2.tgz"; + url = "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz"; + sha1 = "7bde5ced145b6d551a90db87f83c558b4eb48a8f"; + }; + } + + { + name = "basic_auth___basic_auth_1.1.0.tgz"; + path = fetchurl { + name = "basic_auth___basic_auth_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/basic-auth/-/basic-auth-1.1.0.tgz"; + sha1 = "45221ee429f7ee1e5035be3f51533f1cdfd29884"; + }; + } + + { + name = "basic_auth___basic_auth_2.0.1.tgz"; + path = fetchurl { + name = "basic_auth___basic_auth_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz"; + sha1 = "b998279bf47ce38344b4f3cf916d4679bbf51e3a"; + }; + } + + { + name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz"; + path = fetchurl { + name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz"; + sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"; + }; + } + + { + name = "bcrypt___bcrypt_3.0.2.tgz"; + path = fetchurl { + name = "bcrypt___bcrypt_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/bcrypt/-/bcrypt-3.0.2.tgz"; + sha1 = "3c575c49ccbfdf0875eb42aa1453f5654092a33d"; + }; + } + + { + name = "bencode___bencode_2.0.0.tgz"; + path = fetchurl { + name = "bencode___bencode_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/bencode/-/bencode-2.0.0.tgz"; + sha1 = "e72e6b3691d824bd03ea7aa9d752cd1d49a50027"; + }; + } + + { + name = "better_assert___better_assert_1.0.2.tgz"; + path = fetchurl { + name = "better_assert___better_assert_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz"; + sha1 = "40866b9e1b9e0b55b481894311e68faffaebc522"; + }; + } + + { + name = "bin_links___bin_links_1.1.2.tgz"; + path = fetchurl { + name = "bin_links___bin_links_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/bin-links/-/bin-links-1.1.2.tgz"; + sha1 = "fb74bd54bae6b7befc6c6221f25322ac830d9757"; + }; + } + + { + name = "binary_extensions___binary_extensions_1.12.0.tgz"; + path = fetchurl { + name = "binary_extensions___binary_extensions_1.12.0.tgz"; + url = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.12.0.tgz"; + sha1 = "c2d780f53d45bba8317a8902d4ceeaf3a6385b14"; + }; + } + + { + name = "binary_search___binary_search_1.3.4.tgz"; + path = fetchurl { + name = "binary_search___binary_search_1.3.4.tgz"; + url = "https://registry.yarnpkg.com/binary-search/-/binary-search-1.3.4.tgz"; + sha1 = "d15f44ff9226ef309d85247fa0dbfbf659955f56"; + }; + } + + { + name = "bindings___bindings_1.3.1.tgz"; + path = fetchurl { + name = "bindings___bindings_1.3.1.tgz"; + url = "https://registry.yarnpkg.com/bindings/-/bindings-1.3.1.tgz"; + sha1 = "21fc7c6d67c18516ec5aaa2815b145ff77b26ea5"; + }; + } + + { + name = "bindings___bindings_1.2.1.tgz"; + path = fetchurl { + name = "bindings___bindings_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz"; + sha1 = "14ad6113812d2d37d72e67b4cacb4bb726505f11"; + }; + } + + { + name = "bitcore_lib___bitcore_lib_0.13.19.tgz"; + path = fetchurl { + name = "bitcore_lib___bitcore_lib_0.13.19.tgz"; + url = "https://registry.yarnpkg.com/bitcore-lib/-/bitcore-lib-0.13.19.tgz"; + sha1 = "48af1e9bda10067c1ab16263472b5add2000f3dc"; + }; + } + + { + name = "https___codeload.github.com_CoMakery_bitcore_message_tar.gz_8799cc327029c3d34fc725f05b2cf981363f6ebf"; + path = fetchurl { + name = "https___codeload.github.com_CoMakery_bitcore_message_tar.gz_8799cc327029c3d34fc725f05b2cf981363f6ebf"; + url = "https://codeload.github.com/CoMakery/bitcore-message/tar.gz/8799cc327029c3d34fc725f05b2cf981363f6ebf"; + sha1 = "c5ac190157ac535fd6aeb3148ab5591ea874e281"; + }; + } + + { + name = "bitfield___bitfield_2.0.0.tgz"; + path = fetchurl { + name = "bitfield___bitfield_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/bitfield/-/bitfield-2.0.0.tgz"; + sha1 = "fbe6767592fe5b4c87ecf1d04126294cc1bfa837"; + }; + } + + { + name = "bittorrent_dht___bittorrent_dht_9.0.0.tgz"; + path = fetchurl { + name = "bittorrent_dht___bittorrent_dht_9.0.0.tgz"; + url = "https://registry.yarnpkg.com/bittorrent-dht/-/bittorrent-dht-9.0.0.tgz"; + sha1 = "08d5ebb51ed91d7e3eea5c275554f4323fb523e5"; + }; + } + + { + name = "bittorrent_peerid___bittorrent_peerid_1.3.0.tgz"; + path = fetchurl { + name = "bittorrent_peerid___bittorrent_peerid_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/bittorrent-peerid/-/bittorrent-peerid-1.3.0.tgz"; + sha1 = "a435d3b267c887c586c528b53359845905d7c158"; + }; + } + + { + name = "bittorrent_protocol___bittorrent_protocol_3.0.1.tgz"; + path = fetchurl { + name = "bittorrent_protocol___bittorrent_protocol_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/bittorrent-protocol/-/bittorrent-protocol-3.0.1.tgz"; + sha1 = "d3948f4d2b09d538095f7e5f93f64ba5df6b5c2a"; + }; + } + + { + name = "bittorrent_tracker___bittorrent_tracker_9.10.1.tgz"; + path = fetchurl { + name = "bittorrent_tracker___bittorrent_tracker_9.10.1.tgz"; + url = "https://registry.yarnpkg.com/bittorrent-tracker/-/bittorrent-tracker-9.10.1.tgz"; + sha1 = "5de14aac012a287af394d3cc9eda1ec6cc956f11"; + }; + } + + { + name = "bl___bl_1.2.2.tgz"; + path = fetchurl { + name = "bl___bl_1.2.2.tgz"; + url = "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz"; + sha1 = "a160911717103c07410cef63ef51b397c025af9c"; + }; + } + + { + name = "blob_to_buffer___blob_to_buffer_1.2.8.tgz"; + path = fetchurl { + name = "blob_to_buffer___blob_to_buffer_1.2.8.tgz"; + url = "https://registry.yarnpkg.com/blob-to-buffer/-/blob-to-buffer-1.2.8.tgz"; + sha1 = "78eeeb332f1280ed0ca6fb2b60693a8c6d36903a"; + }; + } + + { + name = "blob___blob_0.0.4.tgz"; + path = fetchurl { + name = "blob___blob_0.0.4.tgz"; + url = "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz"; + sha1 = "bcf13052ca54463f30f9fc7e95b9a47630a94921"; + }; + } + + { + name = "blob___blob_0.0.5.tgz"; + path = fetchurl { + name = "blob___blob_0.0.5.tgz"; + url = "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz"; + sha1 = "d680eeef25f8cd91ad533f5b01eed48e64caf683"; + }; + } + + { + name = "block_stream2___block_stream2_1.1.0.tgz"; + path = fetchurl { + name = "block_stream2___block_stream2_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/block-stream2/-/block-stream2-1.1.0.tgz"; + sha1 = "c738e3a91ba977ebb5e1fef431e13ca11d8639e2"; + }; + } + + { + name = "block_stream___block_stream_0.0.9.tgz"; + path = fetchurl { + name = "block_stream___block_stream_0.0.9.tgz"; + url = "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz"; + sha1 = "13ebfe778a03205cfe03751481ebb4b3300c126a"; + }; + } + + { + name = "bluebird___bluebird_3.5.0.tgz"; + path = fetchurl { + name = "bluebird___bluebird_3.5.0.tgz"; + url = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz"; + sha1 = "791420d7f551eea2897453a8a77653f96606d67c"; + }; + } + + { + name = "bluebird___bluebird_2.11.0.tgz"; + path = fetchurl { + name = "bluebird___bluebird_2.11.0.tgz"; + url = "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz"; + sha1 = "534b9033c022c9579c56ba3b3e5a5caafbb650e1"; + }; + } + + { + name = "bluebird___bluebird_3.5.3.tgz"; + path = fetchurl { + name = "bluebird___bluebird_3.5.3.tgz"; + url = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz"; + sha1 = "7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7"; + }; + } + + { + name = "bn.js___bn.js_2.0.4.tgz"; + path = fetchurl { + name = "bn.js___bn.js_2.0.4.tgz"; + url = "https://registry.yarnpkg.com/bn.js/-/bn.js-2.0.4.tgz"; + sha1 = "220a7cd677f7f1bfa93627ff4193776fe7819480"; + }; + } + + { + name = "bn.js___bn.js_2.2.0.tgz"; + path = fetchurl { + name = "bn.js___bn.js_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/bn.js/-/bn.js-2.2.0.tgz"; + sha1 = "12162bc2ae71fc40a5626c33438f3a875cd37625"; + }; + } + + { + name = "bn.js___bn.js_4.11.8.tgz"; + path = fetchurl { + name = "bn.js___bn.js_4.11.8.tgz"; + url = "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz"; + sha1 = "2cde09eb5ee341f484746bb0309b3253b1b1442f"; + }; + } + + { + name = "body_parser___body_parser_1.18.3.tgz"; + path = fetchurl { + name = "body_parser___body_parser_1.18.3.tgz"; + url = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz"; + sha1 = "5b292198ffdd553b3a0f20ded0592b956955c8b4"; + }; + } + + { + name = "boxen___boxen_1.3.0.tgz"; + path = fetchurl { + name = "boxen___boxen_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz"; + sha1 = "55c6c39a8ba58d9c61ad22cd877532deb665a20b"; + }; + } + + { + name = "brace_expansion___brace_expansion_1.1.11.tgz"; + path = fetchurl { + name = "brace_expansion___brace_expansion_1.1.11.tgz"; + url = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz"; + sha1 = "3c7fcbf529d87226f3d2f52b966ff5271eb441dd"; + }; + } + + { + name = "braces___braces_2.3.2.tgz"; + path = fetchurl { + name = "braces___braces_2.3.2.tgz"; + url = "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz"; + sha1 = "5979fd3f14cd531565e5fa2df1abfff1dfaee729"; + }; + } + + { + name = "brorand___brorand_1.1.0.tgz"; + path = fetchurl { + name = "brorand___brorand_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz"; + sha1 = "12c25efe40a45e3c323eb8675a0a0ce57b22371f"; + }; + } + + { + name = "browser_stdout___browser_stdout_1.3.1.tgz"; + path = fetchurl { + name = "browser_stdout___browser_stdout_1.3.1.tgz"; + url = "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz"; + sha1 = "baa559ee14ced73452229bad7326467c61fabd60"; + }; + } + + { + name = "browserify_package_json___browserify_package_json_1.0.1.tgz"; + path = fetchurl { + name = "browserify_package_json___browserify_package_json_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/browserify-package-json/-/browserify-package-json-1.0.1.tgz"; + sha1 = "98dde8aa5c561fd6d3fe49bbaa102b74b396fdea"; + }; + } + + { + name = "bs58___bs58_2.0.0.tgz"; + path = fetchurl { + name = "bs58___bs58_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/bs58/-/bs58-2.0.0.tgz"; + sha1 = "72b713bed223a0ac518bbda0e3ce3f4817f39eb5"; + }; + } + + { + name = "buffer_alloc_unsafe___buffer_alloc_unsafe_1.1.0.tgz"; + path = fetchurl { + name = "buffer_alloc_unsafe___buffer_alloc_unsafe_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz"; + sha1 = "bd7dc26ae2972d0eda253be061dba992349c19f0"; + }; + } + + { + name = "buffer_alloc___buffer_alloc_1.2.0.tgz"; + path = fetchurl { + name = "buffer_alloc___buffer_alloc_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz"; + sha1 = "890dd90d923a873e08e10e5fd51a57e5b7cce0ec"; + }; + } + + { + name = "buffer_compare___buffer_compare_1.0.0.tgz"; + path = fetchurl { + name = "buffer_compare___buffer_compare_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/buffer-compare/-/buffer-compare-1.0.0.tgz"; + sha1 = "acaa7a966e98eee9fae14b31c39a5f158fb3c4a2"; + }; + } + + { + name = "buffer_equal_constant_time___buffer_equal_constant_time_1.0.1.tgz"; + path = fetchurl { + name = "buffer_equal_constant_time___buffer_equal_constant_time_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz"; + sha1 = "f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"; + }; + } + + { + name = "buffer_equals___buffer_equals_1.0.4.tgz"; + path = fetchurl { + name = "buffer_equals___buffer_equals_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/buffer-equals/-/buffer-equals-1.0.4.tgz"; + sha1 = "0353b54fd07fd9564170671ae6f66b9cf10d27f5"; + }; + } + + { + name = "buffer_fill___buffer_fill_1.0.0.tgz"; + path = fetchurl { + name = "buffer_fill___buffer_fill_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz"; + sha1 = "f8f78b76789888ef39f205cd637f68e702122b2c"; + }; + } + + { + name = "buffer_from___buffer_from_1.1.1.tgz"; + path = fetchurl { + name = "buffer_from___buffer_from_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz"; + sha1 = "32713bc028f75c02fdb710d7c7bcec1f2c6070ef"; + }; + } + + { + name = "buffer_writer___buffer_writer_2.0.0.tgz"; + path = fetchurl { + name = "buffer_writer___buffer_writer_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-2.0.0.tgz"; + sha1 = "ce7eb81a38f7829db09c873f2fbb792c0c98ec04"; + }; + } + + { + name = "bufferutil___bufferutil_4.0.0.tgz"; + path = fetchurl { + name = "bufferutil___bufferutil_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.0.tgz"; + sha1 = "a5078160e443751a4e83b6f4d6d7e26c058326a0"; + }; + } + + { + name = "builtin_modules___builtin_modules_1.1.1.tgz"; + path = fetchurl { + name = "builtin_modules___builtin_modules_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz"; + sha1 = "270f076c5a72c02f5b65a47df94c5fe3a278892f"; + }; + } + + { + name = "builtins___builtins_1.0.3.tgz"; + path = fetchurl { + name = "builtins___builtins_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz"; + sha1 = "cb94faeb61c8696451db36534e1422f94f0aee88"; + }; + } + + { + name = "bull___bull_3.5.2.tgz"; + path = fetchurl { + name = "bull___bull_3.5.2.tgz"; + url = "https://registry.yarnpkg.com/bull/-/bull-3.5.2.tgz"; + sha1 = "9c85f205b17686efab2ee28aaa4388887360de32"; + }; + } + + { + name = "bunyan___bunyan_1.8.12.tgz"; + path = fetchurl { + name = "bunyan___bunyan_1.8.12.tgz"; + url = "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.12.tgz"; + sha1 = "f150f0f6748abdd72aeae84f04403be2ef113797"; + }; + } + + { + name = "busboy___busboy_0.2.14.tgz"; + path = fetchurl { + name = "busboy___busboy_0.2.14.tgz"; + url = "https://registry.yarnpkg.com/busboy/-/busboy-0.2.14.tgz"; + sha1 = "6c2a622efcf47c57bbbe1e2a9c37ad36c7925453"; + }; + } + + { + name = "byline___byline_5.0.0.tgz"; + path = fetchurl { + name = "byline___byline_5.0.0.tgz"; + url = "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz"; + sha1 = "741c5216468eadc457b03410118ad77de8c1ddb1"; + }; + } + + { + name = "byte_size___byte_size_4.0.4.tgz"; + path = fetchurl { + name = "byte_size___byte_size_4.0.4.tgz"; + url = "https://registry.yarnpkg.com/byte-size/-/byte-size-4.0.4.tgz"; + sha1 = "29d381709f41aae0d89c631f1c81aec88cd40b23"; + }; + } + + { + name = "bytes___bytes_3.0.0.tgz"; + path = fetchurl { + name = "bytes___bytes_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz"; + sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048"; + }; + } + + { + name = "cacache___cacache_10.0.4.tgz"; + path = fetchurl { + name = "cacache___cacache_10.0.4.tgz"; + url = "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz"; + sha1 = "6452367999eff9d4188aefd9a14e9d7c6a263460"; + }; + } + + { + name = "cacache___cacache_11.3.1.tgz"; + path = fetchurl { + name = "cacache___cacache_11.3.1.tgz"; + url = "https://registry.yarnpkg.com/cacache/-/cacache-11.3.1.tgz"; + sha1 = "d09d25f6c4aca7a6d305d141ae332613aa1d515f"; + }; + } + + { + name = "cache_base___cache_base_1.0.1.tgz"; + path = fetchurl { + name = "cache_base___cache_base_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz"; + sha1 = "0a7f46416831c8b662ee36fe4e7c59d76f666ab2"; + }; + } + + { + name = "call_limit___call_limit_1.1.0.tgz"; + path = fetchurl { + name = "call_limit___call_limit_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/call-limit/-/call-limit-1.1.0.tgz"; + sha1 = "6fd61b03f3da42a2cd0ec2b60f02bd0e71991fea"; + }; + } + + { + name = "call_me_maybe___call_me_maybe_1.0.1.tgz"; + path = fetchurl { + name = "call_me_maybe___call_me_maybe_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz"; + sha1 = "26d208ea89e37b5cbde60250a15f031c16a4d66b"; + }; + } + + { + name = "caller_callsite___caller_callsite_2.0.0.tgz"; + path = fetchurl { + name = "caller_callsite___caller_callsite_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz"; + sha1 = "847e0fce0a223750a9a027c54b33731ad3154134"; + }; + } + + { + name = "caller_path___caller_path_0.1.0.tgz"; + path = fetchurl { + name = "caller_path___caller_path_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz"; + sha1 = "94085ef63581ecd3daa92444a8fe94e82577751f"; + }; + } + + { + name = "caller_path___caller_path_2.0.0.tgz"; + path = fetchurl { + name = "caller_path___caller_path_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz"; + sha1 = "468f83044e369ab2010fac5f06ceee15bb2cb1f4"; + }; + } + + { + name = "callsite___callsite_1.0.0.tgz"; + path = fetchurl { + name = "callsite___callsite_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz"; + sha1 = "280398e5d664bd74038b6f0905153e6e8af1bc20"; + }; + } + + { + name = "callsites___callsites_0.2.0.tgz"; + path = fetchurl { + name = "callsites___callsites_0.2.0.tgz"; + url = "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz"; + sha1 = "afab96262910a7f33c19a5775825c69f34e350ca"; + }; + } + + { + name = "callsites___callsites_2.0.0.tgz"; + path = fetchurl { + name = "callsites___callsites_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz"; + sha1 = "06eb84f00eea413da86affefacbffb36093b3c50"; + }; + } + + { + name = "camelcase___camelcase_4.1.0.tgz"; + path = fetchurl { + name = "camelcase___camelcase_4.1.0.tgz"; + url = "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz"; + sha1 = "d545635be1e33c542649c69173e5de6acfae34dd"; + }; + } + + { + name = "camelcase___camelcase_5.0.0.tgz"; + path = fetchurl { + name = "camelcase___camelcase_5.0.0.tgz"; + url = "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz"; + sha1 = "03295527d58bd3cd4aa75363f35b2e8d97be2f42"; + }; + } + + { + name = "camelize___camelize_1.0.0.tgz"; + path = fetchurl { + name = "camelize___camelize_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz"; + sha1 = "164a5483e630fa4321e5af07020e531831b2609b"; + }; + } + + { + name = "capture_stack_trace___capture_stack_trace_1.0.1.tgz"; + path = fetchurl { + name = "capture_stack_trace___capture_stack_trace_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz"; + sha1 = "a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d"; + }; + } + + { + name = "caseless___caseless_0.12.0.tgz"; + path = fetchurl { + name = "caseless___caseless_0.12.0.tgz"; + url = "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz"; + sha1 = "1b681c21ff84033c826543090689420d187151dc"; + }; + } + + { + name = "chai_json_schema___chai_json_schema_1.5.0.tgz"; + path = fetchurl { + name = "chai_json_schema___chai_json_schema_1.5.0.tgz"; + url = "https://registry.yarnpkg.com/chai-json-schema/-/chai-json-schema-1.5.0.tgz"; + sha1 = "6960719e40f71fd5b377c9282e5c9a46799474f6"; + }; + } + + { + name = "chai_xml___chai_xml_0.3.2.tgz"; + path = fetchurl { + name = "chai_xml___chai_xml_0.3.2.tgz"; + url = "https://registry.yarnpkg.com/chai-xml/-/chai-xml-0.3.2.tgz"; + sha1 = "61d0776aa8fd936a2178769adcaabf3bfb52b8b1"; + }; + } + + { + name = "chai___chai_1.10.0.tgz"; + path = fetchurl { + name = "chai___chai_1.10.0.tgz"; + url = "https://registry.yarnpkg.com/chai/-/chai-1.10.0.tgz"; + sha1 = "e4031cc87654461a75943e5a35ab46eaf39c1eb9"; + }; + } + + { + name = "chai___chai_4.2.0.tgz"; + path = fetchurl { + name = "chai___chai_4.2.0.tgz"; + url = "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz"; + sha1 = "760aa72cf20e3795e84b12877ce0e83737aa29e5"; + }; + } + + { + name = "chalk___chalk_1.1.3.tgz"; + path = fetchurl { + name = "chalk___chalk_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz"; + sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98"; + }; + } + + { + name = "chalk___chalk_2.4.1.tgz"; + path = fetchurl { + name = "chalk___chalk_2.4.1.tgz"; + url = "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz"; + sha1 = "18c49ab16a037b6eb0152cc83e3471338215b66e"; + }; + } + + { + name = "charenc___charenc_0.0.2.tgz"; + path = fetchurl { + name = "charenc___charenc_0.0.2.tgz"; + url = "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz"; + sha1 = "c0a1d2f3a7092e03774bfa83f14c0fc5790a8667"; + }; + } + + { + name = "charset_detector___charset_detector_0.0.2.tgz"; + path = fetchurl { + name = "charset_detector___charset_detector_0.0.2.tgz"; + url = "https://registry.yarnpkg.com/charset-detector/-/charset-detector-0.0.2.tgz"; + sha1 = "1cd5ddaf56e83259c6ef8e906ccf06f75fe9a1b2"; + }; + } + + { + name = "check_error___check_error_1.0.2.tgz"; + path = fetchurl { + name = "check_error___check_error_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz"; + sha1 = "574d312edd88bb5dd8912e9286dd6c0aed4aac82"; + }; + } + + { + name = "chokidar___chokidar_2.0.4.tgz"; + path = fetchurl { + name = "chokidar___chokidar_2.0.4.tgz"; + url = "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz"; + sha1 = "356ff4e2b0e8e43e322d18a372460bbcf3accd26"; + }; + } + + { + name = "chownr___chownr_1.1.1.tgz"; + path = fetchurl { + name = "chownr___chownr_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz"; + sha1 = "54726b8b8fff4df053c42187e801fb4412df1494"; + }; + } + + { + name = "chownr___chownr_1.0.1.tgz"; + path = fetchurl { + name = "chownr___chownr_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz"; + sha1 = "e2a75042a9551908bebd25b8523d5f9769d79181"; + }; + } + + { + name = "chunk_store_stream___chunk_store_stream_3.0.1.tgz"; + path = fetchurl { + name = "chunk_store_stream___chunk_store_stream_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/chunk-store-stream/-/chunk-store-stream-3.0.1.tgz"; + sha1 = "8e0d739226dcb386f44447b82a005b597a1d41d9"; + }; + } + + { + name = "ci_info___ci_info_1.6.0.tgz"; + path = fetchurl { + name = "ci_info___ci_info_1.6.0.tgz"; + url = "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz"; + sha1 = "2ca20dbb9ceb32d4524a683303313f0304b1e497"; + }; + } + + { + name = "cidr_regex___cidr_regex_2.0.10.tgz"; + path = fetchurl { + name = "cidr_regex___cidr_regex_2.0.10.tgz"; + url = "https://registry.yarnpkg.com/cidr-regex/-/cidr-regex-2.0.10.tgz"; + sha1 = "af13878bd4ad704de77d6dc800799358b3afa70d"; + }; + } + + { + name = "circular_json___circular_json_0.3.3.tgz"; + path = fetchurl { + name = "circular_json___circular_json_0.3.3.tgz"; + url = "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz"; + sha1 = "815c99ea84f6809529d2f45791bdf82711352d66"; + }; + } + + { + name = "class_utils___class_utils_0.3.6.tgz"; + path = fetchurl { + name = "class_utils___class_utils_0.3.6.tgz"; + url = "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz"; + sha1 = "f93369ae8b9a7ce02fd41faad0ca83033190c463"; + }; + } + + { + name = "cli_boxes___cli_boxes_1.0.0.tgz"; + path = fetchurl { + name = "cli_boxes___cli_boxes_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz"; + sha1 = "4fa917c3e59c94a004cd61f8ee509da651687143"; + }; + } + + { + name = "cli_columns___cli_columns_3.1.2.tgz"; + path = fetchurl { + name = "cli_columns___cli_columns_3.1.2.tgz"; + url = "https://registry.yarnpkg.com/cli-columns/-/cli-columns-3.1.2.tgz"; + sha1 = "6732d972979efc2ae444a1f08e08fa139c96a18e"; + }; + } + + { + name = "cli_cursor___cli_cursor_1.0.2.tgz"; + path = fetchurl { + name = "cli_cursor___cli_cursor_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz"; + sha1 = "64da3f7d56a54412e59794bd62dc35295e8f2987"; + }; + } + + { + name = "cli_cursor___cli_cursor_2.1.0.tgz"; + path = fetchurl { + name = "cli_cursor___cli_cursor_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz"; + sha1 = "b35dac376479facc3e94747d41d0d0f5238ffcb5"; + }; + } + + { + name = "cli_table3___cli_table3_0.5.1.tgz"; + path = fetchurl { + name = "cli_table3___cli_table3_0.5.1.tgz"; + url = "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz"; + sha1 = "0252372d94dfc40dbd8df06005f48f31f656f202"; + }; + } + + { + name = "cli_table___cli_table_0.3.1.tgz"; + path = fetchurl { + name = "cli_table___cli_table_0.3.1.tgz"; + url = "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz"; + sha1 = "f53b05266a8b1a0b934b3d0821e6e2dc5914ae23"; + }; + } + + { + name = "cli_truncate___cli_truncate_0.2.1.tgz"; + path = fetchurl { + name = "cli_truncate___cli_truncate_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz"; + sha1 = "9f15cfbb0705005369216c626ac7d05ab90dd574"; + }; + } + + { + name = "cli_width___cli_width_2.2.0.tgz"; + path = fetchurl { + name = "cli_width___cli_width_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz"; + sha1 = "ff19ede8a9a5e579324147b0c11f0fbcbabed639"; + }; + } + + { + name = "cliui___cliui_4.1.0.tgz"; + path = fetchurl { + name = "cliui___cliui_4.1.0.tgz"; + url = "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz"; + sha1 = "348422dbe82d800b3022eef4f6ac10bf2e4d1b49"; + }; + } + + { + name = "clone___clone_1.0.4.tgz"; + path = fetchurl { + name = "clone___clone_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz"; + sha1 = "da309cc263df15994c688ca902179ca3c7cd7c7e"; + }; + } + + { + name = "closest_to___closest_to_2.0.0.tgz"; + path = fetchurl { + name = "closest_to___closest_to_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/closest-to/-/closest-to-2.0.0.tgz"; + sha1 = "bb2a860edb7769b62d04821748ae50da24dbefaa"; + }; + } + + { + name = "cls_bluebird___cls_bluebird_2.1.0.tgz"; + path = fetchurl { + name = "cls_bluebird___cls_bluebird_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/cls-bluebird/-/cls-bluebird-2.1.0.tgz"; + sha1 = "37ef1e080a8ffb55c2f4164f536f1919e7968aee"; + }; + } + + { + name = "cluster_key_slot___cluster_key_slot_1.0.12.tgz"; + path = fetchurl { + name = "cluster_key_slot___cluster_key_slot_1.0.12.tgz"; + url = "https://registry.yarnpkg.com/cluster-key-slot/-/cluster-key-slot-1.0.12.tgz"; + sha1 = "d5deff2a520717bc98313979b687309b2d368e29"; + }; + } + + { + name = "cmd_shim___cmd_shim_2.0.2.tgz"; + path = fetchurl { + name = "cmd_shim___cmd_shim_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-2.0.2.tgz"; + sha1 = "6fcbda99483a8fd15d7d30a196ca69d688a2efdb"; + }; + } + + { + name = "co_bluebird___co_bluebird_1.1.0.tgz"; + path = fetchurl { + name = "co_bluebird___co_bluebird_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/co-bluebird/-/co-bluebird-1.1.0.tgz"; + sha1 = "c8b9f3a9320a7ed30987dcca1a5c3cff59655c7c"; + }; + } + + { + name = "co_use___co_use_1.1.0.tgz"; + path = fetchurl { + name = "co_use___co_use_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/co-use/-/co-use-1.1.0.tgz"; + sha1 = "c6bb3cdf10cb735ecaa9daeeda46d725c94a4e62"; + }; + } + + { + name = "co___co_4.6.0.tgz"; + path = fetchurl { + name = "co___co_4.6.0.tgz"; + url = "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz"; + sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"; + }; + } + + { + name = "code_point_at___code_point_at_1.1.0.tgz"; + path = fetchurl { + name = "code_point_at___code_point_at_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz"; + sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"; + }; + } + + { + name = "collection_visit___collection_visit_1.0.0.tgz"; + path = fetchurl { + name = "collection_visit___collection_visit_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz"; + sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0"; + }; + } + + { + name = "color_convert___color_convert_1.9.3.tgz"; + path = fetchurl { + name = "color_convert___color_convert_1.9.3.tgz"; + url = "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz"; + sha1 = "bb71850690e1f136567de629d2d5471deda4c1e8"; + }; + } + + { + name = "color_name___color_name_1.1.3.tgz"; + path = fetchurl { + name = "color_name___color_name_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz"; + sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25"; + }; + } + + { + name = "color_name___color_name_1.1.4.tgz"; + path = fetchurl { + name = "color_name___color_name_1.1.4.tgz"; + url = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz"; + sha1 = "c2a09a87acbde69543de6f63fa3995c826c536a2"; + }; + } + + { + name = "color_string___color_string_1.5.3.tgz"; + path = fetchurl { + name = "color_string___color_string_1.5.3.tgz"; + url = "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz"; + sha1 = "c9bbc5f01b58b5492f3d6857459cb6590ce204cc"; + }; + } + + { + name = "color___color_3.0.0.tgz"; + path = fetchurl { + name = "color___color_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/color/-/color-3.0.0.tgz"; + sha1 = "d920b4328d534a3ac8295d68f7bd4ba6c427be9a"; + }; + } + + { + name = "color___color_3.1.0.tgz"; + path = fetchurl { + name = "color___color_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/color/-/color-3.1.0.tgz"; + sha1 = "d8e9fb096732875774c84bf922815df0308d0ffc"; + }; + } + + { + name = "colornames___colornames_1.1.1.tgz"; + path = fetchurl { + name = "colornames___colornames_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/colornames/-/colornames-1.1.1.tgz"; + sha1 = "f8889030685c7c4ff9e2a559f5077eb76a816f96"; + }; + } + + { + name = "colors___colors_1.0.3.tgz"; + path = fetchurl { + name = "colors___colors_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz"; + sha1 = "0433f44d809680fdeb60ed260f1b0c262e82a40b"; + }; + } + + { + name = "colors___colors_1.3.2.tgz"; + path = fetchurl { + name = "colors___colors_1.3.2.tgz"; + url = "https://registry.yarnpkg.com/colors/-/colors-1.3.2.tgz"; + sha1 = "2df8ff573dfbf255af562f8ce7181d6b971a359b"; + }; + } + + { + name = "colorspace___colorspace_1.1.1.tgz"; + path = fetchurl { + name = "colorspace___colorspace_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/colorspace/-/colorspace-1.1.1.tgz"; + sha1 = "9ac2491e1bc6f8fb690e2176814f8d091636d972"; + }; + } + + { + name = "columnify___columnify_1.5.4.tgz"; + path = fetchurl { + name = "columnify___columnify_1.5.4.tgz"; + url = "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz"; + sha1 = "4737ddf1c7b69a8a7c340570782e947eec8e78bb"; + }; + } + + { + name = "combined_stream___combined_stream_1.0.7.tgz"; + path = fetchurl { + name = "combined_stream___combined_stream_1.0.7.tgz"; + url = "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz"; + sha1 = "2d1d24317afb8abe95d6d2c0b07b57813539d828"; + }; + } + + { + name = "commander___commander_2.15.1.tgz"; + path = fetchurl { + name = "commander___commander_2.15.1.tgz"; + url = "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz"; + sha1 = "df46e867d0fc2aec66a34662b406a9ccafff5b0f"; + }; + } + + { + name = "commander___commander_2.9.0.tgz"; + path = fetchurl { + name = "commander___commander_2.9.0.tgz"; + url = "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz"; + sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4"; + }; + } + + { + name = "commander___commander_2.19.0.tgz"; + path = fetchurl { + name = "commander___commander_2.19.0.tgz"; + url = "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz"; + sha1 = "f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"; + }; + } + + { + name = "compact2string___compact2string_1.4.0.tgz"; + path = fetchurl { + name = "compact2string___compact2string_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/compact2string/-/compact2string-1.4.0.tgz"; + sha1 = "a99cd96ea000525684b269683ae2222d6eea7b49"; + }; + } + + { + name = "component_bind___component_bind_1.0.0.tgz"; + path = fetchurl { + name = "component_bind___component_bind_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz"; + sha1 = "00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"; + }; + } + + { + name = "component_emitter___component_emitter_1.1.2.tgz"; + path = fetchurl { + name = "component_emitter___component_emitter_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz"; + sha1 = "296594f2753daa63996d2af08d15a95116c9aec3"; + }; + } + + { + name = "component_emitter___component_emitter_1.2.1.tgz"; + path = fetchurl { + name = "component_emitter___component_emitter_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz"; + sha1 = "137918d6d78283f7df7a6b7c5a63e140e69425e6"; + }; + } + + { + name = "component_inherit___component_inherit_0.0.3.tgz"; + path = fetchurl { + name = "component_inherit___component_inherit_0.0.3.tgz"; + url = "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz"; + sha1 = "645fc4adf58b72b649d5cae65135619db26ff143"; + }; + } + + { + name = "concat_map___concat_map_0.0.1.tgz"; + path = fetchurl { + name = "concat_map___concat_map_0.0.1.tgz"; + url = "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz"; + sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b"; + }; + } + + { + name = "concat_stream___concat_stream_1.6.2.tgz"; + path = fetchurl { + name = "concat_stream___concat_stream_1.6.2.tgz"; + url = "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz"; + sha1 = "904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"; + }; + } + + { + name = "concurrently___concurrently_4.1.0.tgz"; + path = fetchurl { + name = "concurrently___concurrently_4.1.0.tgz"; + url = "https://registry.yarnpkg.com/concurrently/-/concurrently-4.1.0.tgz"; + sha1 = "17fdf067da71210685d9ea554423ef239da30d33"; + }; + } + + { + name = "config_chain___config_chain_1.1.12.tgz"; + path = fetchurl { + name = "config_chain___config_chain_1.1.12.tgz"; + url = "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz"; + sha1 = "0fde8d091200eb5e808caf25fe618c02f48e4efa"; + }; + } + + { + name = "config___config_3.0.0.tgz"; + path = fetchurl { + name = "config___config_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/config/-/config-3.0.0.tgz"; + sha1 = "a71cdbb22d225df9eff20b95178d65a63c452367"; + }; + } + + { + name = "configstore___configstore_3.1.2.tgz"; + path = fetchurl { + name = "configstore___configstore_3.1.2.tgz"; + url = "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz"; + sha1 = "c6f25defaeef26df12dd33414b001fe81a543f8f"; + }; + } + + { + name = "console_control_strings___console_control_strings_1.1.0.tgz"; + path = fetchurl { + name = "console_control_strings___console_control_strings_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz"; + sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e"; + }; + } + + { + name = "content_disposition___content_disposition_0.5.1.tgz"; + path = fetchurl { + name = "content_disposition___content_disposition_0.5.1.tgz"; + url = "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.1.tgz"; + sha1 = "87476c6a67c8daa87e32e87616df883ba7fb071b"; + }; + } + + { + name = "content_disposition___content_disposition_0.5.2.tgz"; + path = fetchurl { + name = "content_disposition___content_disposition_0.5.2.tgz"; + url = "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz"; + sha1 = "0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"; + }; + } + + { + name = "content_security_policy_builder___content_security_policy_builder_2.0.0.tgz"; + path = fetchurl { + name = "content_security_policy_builder___content_security_policy_builder_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/content-security-policy-builder/-/content-security-policy-builder-2.0.0.tgz"; + sha1 = "8749a1d542fcbe82237281ea9f716ce68b394dd2"; + }; + } + + { + name = "content_type___content_type_1.0.4.tgz"; + path = fetchurl { + name = "content_type___content_type_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz"; + sha1 = "e138cc75e040c727b1966fe5e5f8c9aee256fe3b"; + }; + } + + { + name = "cookie_parser___cookie_parser_1.4.3.tgz"; + path = fetchurl { + name = "cookie_parser___cookie_parser_1.4.3.tgz"; + url = "https://registry.yarnpkg.com/cookie-parser/-/cookie-parser-1.4.3.tgz"; + sha1 = "0fe31fa19d000b95f4aadf1f53fdc2b8a203baa5"; + }; + } + + { + name = "cookie_signature___cookie_signature_1.0.6.tgz"; + path = fetchurl { + name = "cookie_signature___cookie_signature_1.0.6.tgz"; + url = "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz"; + sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c"; + }; + } + + { + name = "cookie___cookie_0.1.5.tgz"; + path = fetchurl { + name = "cookie___cookie_0.1.5.tgz"; + url = "https://registry.yarnpkg.com/cookie/-/cookie-0.1.5.tgz"; + sha1 = "6ab9948a4b1ae21952cd2588530a4722d4044d7c"; + }; + } + + { + name = "cookie___cookie_0.3.1.tgz"; + path = fetchurl { + name = "cookie___cookie_0.3.1.tgz"; + url = "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz"; + sha1 = "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"; + }; + } + + { + name = "cookiejar___cookiejar_2.1.2.tgz"; + path = fetchurl { + name = "cookiejar___cookiejar_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.2.tgz"; + sha1 = "dd8a235530752f988f9a0844f3fc589e3111125c"; + }; + } + + { + name = "copy_concurrently___copy_concurrently_1.0.5.tgz"; + path = fetchurl { + name = "copy_concurrently___copy_concurrently_1.0.5.tgz"; + url = "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz"; + sha1 = "92297398cae34937fcafd6ec8139c18051f0b5e0"; + }; + } + + { + name = "copy_descriptor___copy_descriptor_0.1.1.tgz"; + path = fetchurl { + name = "copy_descriptor___copy_descriptor_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz"; + sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d"; + }; + } + + { + name = "core_js___core_js_2.5.7.tgz"; + path = fetchurl { + name = "core_js___core_js_2.5.7.tgz"; + url = "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz"; + sha1 = "f972608ff0cead68b841a16a932d0b183791814e"; + }; + } + + { + name = "core_util_is___core_util_is_1.0.2.tgz"; + path = fetchurl { + name = "core_util_is___core_util_is_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz"; + sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7"; + }; + } + + { + name = "cors___cors_2.8.5.tgz"; + path = fetchurl { + name = "cors___cors_2.8.5.tgz"; + url = "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz"; + sha1 = "eac11da51592dd86b9f06f6e7ac293b3df875d29"; + }; + } + + { + name = "cosmiconfig___cosmiconfig_5.0.6.tgz"; + path = fetchurl { + name = "cosmiconfig___cosmiconfig_5.0.6.tgz"; + url = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.6.tgz"; + sha1 = "dca6cf680a0bd03589aff684700858c81abeeb39"; + }; + } + + { + name = "cosmiconfig___cosmiconfig_5.0.7.tgz"; + path = fetchurl { + name = "cosmiconfig___cosmiconfig_5.0.7.tgz"; + url = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.7.tgz"; + sha1 = "39826b292ee0d78eda137dfa3173bd1c21a43b04"; + }; + } + + { + name = "create_error_class___create_error_class_3.0.2.tgz"; + path = fetchurl { + name = "create_error_class___create_error_class_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz"; + sha1 = "06be7abef947a3f14a30fd610671d401bca8b7b6"; + }; + } + + { + name = "create_torrent___create_torrent_3.33.0.tgz"; + path = fetchurl { + name = "create_torrent___create_torrent_3.33.0.tgz"; + url = "https://registry.yarnpkg.com/create-torrent/-/create-torrent-3.33.0.tgz"; + sha1 = "8a7a2aa2213a799c266c40e4c12f1468ede25105"; + }; + } + + { + name = "cron_parser___cron_parser_2.7.3.tgz"; + path = fetchurl { + name = "cron_parser___cron_parser_2.7.3.tgz"; + url = "https://registry.yarnpkg.com/cron-parser/-/cron-parser-2.7.3.tgz"; + sha1 = "12603f89f5375af353a9357be2543d3172eac651"; + }; + } + + { + name = "cross_spawn___cross_spawn_5.1.0.tgz"; + path = fetchurl { + name = "cross_spawn___cross_spawn_5.1.0.tgz"; + url = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz"; + sha1 = "e8bd0efee58fcff6f8f94510a0a554bbfa235449"; + }; + } + + { + name = "cross_spawn___cross_spawn_6.0.5.tgz"; + path = fetchurl { + name = "cross_spawn___cross_spawn_6.0.5.tgz"; + url = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz"; + sha1 = "4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"; + }; + } + + { + name = "crypt___crypt_0.0.2.tgz"; + path = fetchurl { + name = "crypt___crypt_0.0.2.tgz"; + url = "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz"; + sha1 = "88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b"; + }; + } + + { + name = "crypto_random_string___crypto_random_string_1.0.0.tgz"; + path = fetchurl { + name = "crypto_random_string___crypto_random_string_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz"; + sha1 = "a230f64f568310e1498009940790ec99545bca7e"; + }; + } + + { + name = "cycle___cycle_1.0.3.tgz"; + path = fetchurl { + name = "cycle___cycle_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz"; + sha1 = "21e80b2be8580f98b468f379430662b046c34ad2"; + }; + } + + { + name = "cyclist___cyclist_0.2.2.tgz"; + path = fetchurl { + name = "cyclist___cyclist_0.2.2.tgz"; + url = "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz"; + sha1 = "1b33792e11e914a2fd6d6ed6447464444e5fa640"; + }; + } + + { + name = "d___d_1.0.0.tgz"; + path = fetchurl { + name = "d___d_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz"; + sha1 = "754bb5bfe55451da69a58b94d45f4c5b0462d58f"; + }; + } + + { + name = "dashdash___dashdash_1.14.1.tgz"; + path = fetchurl { + name = "dashdash___dashdash_1.14.1.tgz"; + url = "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz"; + sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"; + }; + } + + { + name = "dasherize___dasherize_2.0.0.tgz"; + path = fetchurl { + name = "dasherize___dasherize_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/dasherize/-/dasherize-2.0.0.tgz"; + sha1 = "6d809c9cd0cf7bb8952d80fc84fa13d47ddb1308"; + }; + } + + { + name = "date_fns___date_fns_1.29.0.tgz"; + path = fetchurl { + name = "date_fns___date_fns_1.29.0.tgz"; + url = "https://registry.yarnpkg.com/date-fns/-/date-fns-1.29.0.tgz"; + sha1 = "12e609cdcb935127311d04d33334e2960a2a54e6"; + }; + } + + { + name = "deasync___deasync_0.1.14.tgz"; + path = fetchurl { + name = "deasync___deasync_0.1.14.tgz"; + url = "https://registry.yarnpkg.com/deasync/-/deasync-0.1.14.tgz"; + sha1 = "232ea2252b443948cad033d792eb3b24b0a3d828"; + }; + } + + { + name = "debug___debug_2.2.0.tgz"; + path = fetchurl { + name = "debug___debug_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz"; + sha1 = "f87057e995b1a1f6ae6a4960664137bc56f039da"; + }; + } + + { + name = "debug___debug_2.3.3.tgz"; + path = fetchurl { + name = "debug___debug_2.3.3.tgz"; + url = "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz"; + sha1 = "40c453e67e6e13c901ddec317af8986cda9eff8c"; + }; + } + + { + name = "debug___debug_2.6.9.tgz"; + path = fetchurl { + name = "debug___debug_2.6.9.tgz"; + url = "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz"; + sha1 = "5d128515df134ff327e90a4c93f4e077a536341f"; + }; + } + + { + name = "debug___debug_3.1.0.tgz"; + path = fetchurl { + name = "debug___debug_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz"; + sha1 = "5bb5a0672628b64149566ba16819e61518c67261"; + }; + } + + { + name = "debug___debug_3.2.6.tgz"; + path = fetchurl { + name = "debug___debug_3.2.6.tgz"; + url = "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz"; + sha1 = "e83d17de16d8a7efb7717edbe5fb10135eee629b"; + }; + } + + { + name = "debug___debug_4.1.0.tgz"; + path = fetchurl { + name = "debug___debug_4.1.0.tgz"; + url = "https://registry.yarnpkg.com/debug/-/debug-4.1.0.tgz"; + sha1 = "373687bffa678b38b1cd91f861b63850035ddc87"; + }; + } + + { + name = "debug___debug_4.1.1.tgz"; + path = fetchurl { + name = "debug___debug_4.1.1.tgz"; + url = "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz"; + sha1 = "3b72260255109c6b589cee050f1d516139664791"; + }; + } + + { + name = "debuglog___debuglog_1.0.1.tgz"; + path = fetchurl { + name = "debuglog___debuglog_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz"; + sha1 = "aa24ffb9ac3df9a2351837cfb2d279360cd78492"; + }; + } + + { + name = "decamelize___decamelize_1.2.0.tgz"; + path = fetchurl { + name = "decamelize___decamelize_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz"; + sha1 = "f6534d15148269b20352e7bee26f501f9a191290"; + }; + } + + { + name = "decode_uri_component___decode_uri_component_0.2.0.tgz"; + path = fetchurl { + name = "decode_uri_component___decode_uri_component_0.2.0.tgz"; + url = "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz"; + sha1 = "eb3913333458775cb84cd1a1fae062106bb87545"; + }; + } + + { + name = "decompress_response___decompress_response_3.3.0.tgz"; + path = fetchurl { + name = "decompress_response___decompress_response_3.3.0.tgz"; + url = "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz"; + sha1 = "80a4dd323748384bfa248083622aedec982adff3"; + }; + } + + { + name = "dedent___dedent_0.7.0.tgz"; + path = fetchurl { + name = "dedent___dedent_0.7.0.tgz"; + url = "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz"; + sha1 = "2495ddbaf6eb874abb0e1be9df22d2e5a544326c"; + }; + } + + { + name = "deep_eql___deep_eql_0.1.3.tgz"; + path = fetchurl { + name = "deep_eql___deep_eql_0.1.3.tgz"; + url = "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz"; + sha1 = "ef558acab8de25206cd713906d74e56930eb69f2"; + }; + } + + { + name = "deep_eql___deep_eql_3.0.1.tgz"; + path = fetchurl { + name = "deep_eql___deep_eql_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz"; + sha1 = "dfc9404400ad1c8fe023e7da1df1c147c4b444df"; + }; + } + + { + name = "deep_equal___deep_equal_0.2.2.tgz"; + path = fetchurl { + name = "deep_equal___deep_equal_0.2.2.tgz"; + url = "https://registry.yarnpkg.com/deep-equal/-/deep-equal-0.2.2.tgz"; + sha1 = "84b745896f34c684e98f2ce0e42abaf43bba017d"; + }; + } + + { + name = "deep_extend___deep_extend_0.6.0.tgz"; + path = fetchurl { + name = "deep_extend___deep_extend_0.6.0.tgz"; + url = "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz"; + sha1 = "c4fa7c95404a17a9c3e8ca7e1537312b736330ac"; + }; + } + + { + name = "deep_is___deep_is_0.1.3.tgz"; + path = fetchurl { + name = "deep_is___deep_is_0.1.3.tgz"; + url = "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz"; + sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34"; + }; + } + + { + name = "deep_object_diff___deep_object_diff_1.1.0.tgz"; + path = fetchurl { + name = "deep_object_diff___deep_object_diff_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/deep-object-diff/-/deep-object-diff-1.1.0.tgz"; + sha1 = "d6fabf476c2ed1751fc94d5ca693d2ed8c18bc5a"; + }; + } + + { + name = "defaults___defaults_1.0.3.tgz"; + path = fetchurl { + name = "defaults___defaults_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz"; + sha1 = "c656051e9817d9ff08ed881477f3fe4019f3ef7d"; + }; + } + + { + name = "define_properties___define_properties_1.1.3.tgz"; + path = fetchurl { + name = "define_properties___define_properties_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz"; + sha1 = "cf88da6cbee26fe6db7094f61d870cbd84cee9f1"; + }; + } + + { + name = "define_property___define_property_0.2.5.tgz"; + path = fetchurl { + name = "define_property___define_property_0.2.5.tgz"; + url = "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz"; + sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116"; + }; + } + + { + name = "define_property___define_property_1.0.0.tgz"; + path = fetchurl { + name = "define_property___define_property_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz"; + sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"; + }; + } + + { + name = "define_property___define_property_2.0.2.tgz"; + path = fetchurl { + name = "define_property___define_property_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz"; + sha1 = "d459689e8d654ba77e02a817f8710d702cb16e9d"; + }; + } + + { + name = "defined___defined_1.0.0.tgz"; + path = fetchurl { + name = "defined___defined_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz"; + sha1 = "c98d9bcef75674188e110969151199e39b1fa693"; + }; + } + + { + name = "del___del_3.0.0.tgz"; + path = fetchurl { + name = "del___del_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz"; + sha1 = "53ecf699ffcbcb39637691ab13baf160819766e5"; + }; + } + + { + name = "delayed_stream___delayed_stream_1.0.0.tgz"; + path = fetchurl { + name = "delayed_stream___delayed_stream_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz"; + sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619"; + }; + } + + { + name = "delegates___delegates_1.0.0.tgz"; + path = fetchurl { + name = "delegates___delegates_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz"; + sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a"; + }; + } + + { + name = "denque___denque_1.4.0.tgz"; + path = fetchurl { + name = "denque___denque_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/denque/-/denque-1.4.0.tgz"; + sha1 = "79e2f0490195502107f24d9553f374837dabc916"; + }; + } + + { + name = "depd___depd_1.1.2.tgz"; + path = fetchurl { + name = "depd___depd_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz"; + sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9"; + }; + } + + { + name = "descrevit___descrevit_0.1.1.tgz"; + path = fetchurl { + name = "descrevit___descrevit_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/descrevit/-/descrevit-0.1.1.tgz"; + sha1 = "c0f5840de0a0f7b1b8b4078569b173327947d5da"; + }; + } + + { + name = "destroy___destroy_1.0.4.tgz"; + path = fetchurl { + name = "destroy___destroy_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz"; + sha1 = "978857442c44749e4206613e37946205826abd80"; + }; + } + + { + name = "detect_indent___detect_indent_5.0.0.tgz"; + path = fetchurl { + name = "detect_indent___detect_indent_5.0.0.tgz"; + url = "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz"; + sha1 = "3871cc0a6a002e8c3e5b3cf7f336264675f06b9d"; + }; + } + + { + name = "detect_libc___detect_libc_1.0.3.tgz"; + path = fetchurl { + name = "detect_libc___detect_libc_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz"; + sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"; + }; + } + + { + name = "detect_newline___detect_newline_2.1.0.tgz"; + path = fetchurl { + name = "detect_newline___detect_newline_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz"; + sha1 = "f41f1c10be4b00e87b5f13da680759f2c5bfd3e2"; + }; + } + + { + name = "dezalgo___dezalgo_1.0.3.tgz"; + path = fetchurl { + name = "dezalgo___dezalgo_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz"; + sha1 = "7f742de066fc748bc8db820569dddce49bf0d456"; + }; + } + + { + name = "diagnostics___diagnostics_1.1.1.tgz"; + path = fetchurl { + name = "diagnostics___diagnostics_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/diagnostics/-/diagnostics-1.1.1.tgz"; + sha1 = "cab6ac33df70c9d9a727490ae43ac995a769b22a"; + }; + } + + { + name = "dicer___dicer_0.2.5.tgz"; + path = fetchurl { + name = "dicer___dicer_0.2.5.tgz"; + url = "https://registry.yarnpkg.com/dicer/-/dicer-0.2.5.tgz"; + sha1 = "5996c086bb33218c812c090bddc09cd12facb70f"; + }; + } + + { + name = "diff___diff_3.5.0.tgz"; + path = fetchurl { + name = "diff___diff_3.5.0.tgz"; + url = "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz"; + sha1 = "800c0dd1e0a8bfbc95835c202ad220fe317e5a12"; + }; + } + + { + name = "dns_prefetch_control___dns_prefetch_control_0.1.0.tgz"; + path = fetchurl { + name = "dns_prefetch_control___dns_prefetch_control_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/dns-prefetch-control/-/dns-prefetch-control-0.1.0.tgz"; + sha1 = "60ddb457774e178f1f9415f0cabb0e85b0b300b2"; + }; + } + + { + name = "docopt___docopt_0.6.2.tgz"; + path = fetchurl { + name = "docopt___docopt_0.6.2.tgz"; + url = "https://registry.yarnpkg.com/docopt/-/docopt-0.6.2.tgz"; + sha1 = "b28e9e2220da5ec49f7ea5bb24a47787405eeb11"; + }; + } + + { + name = "doctrine___doctrine_0.7.2.tgz"; + path = fetchurl { + name = "doctrine___doctrine_0.7.2.tgz"; + url = "https://registry.yarnpkg.com/doctrine/-/doctrine-0.7.2.tgz"; + sha1 = "7cb860359ba3be90e040b26b729ce4bfa654c523"; + }; + } + + { + name = "doctrine___doctrine_1.5.0.tgz"; + path = fetchurl { + name = "doctrine___doctrine_1.5.0.tgz"; + url = "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz"; + sha1 = "379dce730f6166f76cefa4e6707a159b02c5a6fa"; + }; + } + + { + name = "dont_sniff_mimetype___dont_sniff_mimetype_1.0.0.tgz"; + path = fetchurl { + name = "dont_sniff_mimetype___dont_sniff_mimetype_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/dont-sniff-mimetype/-/dont-sniff-mimetype-1.0.0.tgz"; + sha1 = "5932890dc9f4e2f19e5eb02a20026e5e5efc8f58"; + }; + } + + { + name = "dot_json___dot_json_1.0.4.tgz"; + path = fetchurl { + name = "dot_json___dot_json_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/dot-json/-/dot-json-1.0.4.tgz"; + sha1 = "b5c5818eb526a7917ac02df017fe9fba37b11195"; + }; + } + + { + name = "dot_prop___dot_prop_4.2.0.tgz"; + path = fetchurl { + name = "dot_prop___dot_prop_4.2.0.tgz"; + url = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz"; + sha1 = "1f19e0c2e1aa0e32797c49799f2837ac6af69c57"; + }; + } + + { + name = "dotenv___dotenv_5.0.1.tgz"; + path = fetchurl { + name = "dotenv___dotenv_5.0.1.tgz"; + url = "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz"; + sha1 = "a5317459bd3d79ab88cff6e44057a6a3fbb1fcef"; + }; + } + + { + name = "dottie___dottie_2.0.1.tgz"; + path = fetchurl { + name = "dottie___dottie_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/dottie/-/dottie-2.0.1.tgz"; + sha1 = "697ad9d72004db7574d21f892466a3c285893659"; + }; + } + + { + name = "double_ended_queue___double_ended_queue_2.1.0_0.tgz"; + path = fetchurl { + name = "double_ended_queue___double_ended_queue_2.1.0_0.tgz"; + url = "https://registry.yarnpkg.com/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz"; + sha1 = "103d3527fd31528f40188130c841efdd78264e5c"; + }; + } + + { + name = "dtrace_provider___dtrace_provider_0.8.7.tgz"; + path = fetchurl { + name = "dtrace_provider___dtrace_provider_0.8.7.tgz"; + url = "https://registry.yarnpkg.com/dtrace-provider/-/dtrace-provider-0.8.7.tgz"; + sha1 = "dc939b4d3e0620cfe0c1cd803d0d2d7ed04ffd04"; + }; + } + + { + name = "duplexer3___duplexer3_0.1.4.tgz"; + path = fetchurl { + name = "duplexer3___duplexer3_0.1.4.tgz"; + url = "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz"; + sha1 = "ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"; + }; + } + + { + name = "duplexify___duplexify_3.6.1.tgz"; + path = fetchurl { + name = "duplexify___duplexify_3.6.1.tgz"; + url = "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.1.tgz"; + sha1 = "b1a7a29c4abfd639585efaecce80d666b1e34125"; + }; + } + + { + name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz"; + path = fetchurl { + name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz"; + sha1 = "3a83a904e54353287874c564b7549386849a98c9"; + }; + } + + { + name = "ecdsa_sig_formatter___ecdsa_sig_formatter_1.0.10.tgz"; + path = fetchurl { + name = "ecdsa_sig_formatter___ecdsa_sig_formatter_1.0.10.tgz"; + url = "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz"; + sha1 = "1c595000f04a8897dfb85000892a0f4c33af86c3"; + }; + } + + { + name = "editor___editor_1.0.0.tgz"; + path = fetchurl { + name = "editor___editor_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/editor/-/editor-1.0.0.tgz"; + sha1 = "60c7f87bd62bcc6a894fa8ccd6afb7823a24f742"; + }; + } + + { + name = "ee_first___ee_first_1.1.1.tgz"; + path = fetchurl { + name = "ee_first___ee_first_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz"; + sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d"; + }; + } + + { + name = "elegant_spinner___elegant_spinner_1.0.1.tgz"; + path = fetchurl { + name = "elegant_spinner___elegant_spinner_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz"; + sha1 = "db043521c95d7e303fd8f345bedc3349cfb0729e"; + }; + } + + { + name = "elliptic___elliptic_3.0.3.tgz"; + path = fetchurl { + name = "elliptic___elliptic_3.0.3.tgz"; + url = "https://registry.yarnpkg.com/elliptic/-/elliptic-3.0.3.tgz"; + sha1 = "865c9b420bfbe55006b9f969f97a0d2c44966595"; + }; + } + + { + name = "enabled___enabled_1.0.2.tgz"; + path = fetchurl { + name = "enabled___enabled_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/enabled/-/enabled-1.0.2.tgz"; + sha1 = "965f6513d2c2d1c5f4652b64a2e3396467fc2f93"; + }; + } + + { + name = "encodeurl___encodeurl_1.0.2.tgz"; + path = fetchurl { + name = "encodeurl___encodeurl_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz"; + sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"; + }; + } + + { + name = "encoding___encoding_0.1.12.tgz"; + path = fetchurl { + name = "encoding___encoding_0.1.12.tgz"; + url = "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz"; + sha1 = "538b66f3ee62cd1ab51ec323829d1f9480c74beb"; + }; + } + + { + name = "end_of_stream___end_of_stream_1.4.1.tgz"; + path = fetchurl { + name = "end_of_stream___end_of_stream_1.4.1.tgz"; + url = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz"; + sha1 = "ed29634d19baba463b6ce6b80a37213eab71ec43"; + }; + } + + { + name = "engine.io_client___engine.io_client_1.8.3.tgz"; + path = fetchurl { + name = "engine.io_client___engine.io_client_1.8.3.tgz"; + url = "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.3.tgz"; + sha1 = "1798ed93451246453d4c6f635d7a201fe940d5ab"; + }; + } + + { + name = "engine.io_client___engine.io_client_3.3.1.tgz"; + path = fetchurl { + name = "engine.io_client___engine.io_client_3.3.1.tgz"; + url = "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.3.1.tgz"; + sha1 = "afedb4a07b2ea48b7190c3136bfea98fdd4f0f03"; + }; + } + + { + name = "engine.io_parser___engine.io_parser_1.3.2.tgz"; + path = fetchurl { + name = "engine.io_parser___engine.io_parser_1.3.2.tgz"; + url = "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.2.tgz"; + sha1 = "937b079f0007d0893ec56d46cb220b8cb435220a"; + }; + } + + { + name = "engine.io_parser___engine.io_parser_2.1.3.tgz"; + path = fetchurl { + name = "engine.io_parser___engine.io_parser_2.1.3.tgz"; + url = "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.1.3.tgz"; + sha1 = "757ab970fbf2dfb32c7b74b033216d5739ef79a6"; + }; + } + + { + name = "engine.io___engine.io_1.8.3.tgz"; + path = fetchurl { + name = "engine.io___engine.io_1.8.3.tgz"; + url = "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.3.tgz"; + sha1 = "8de7f97895d20d39b85f88eeee777b2bd42b13d4"; + }; + } + + { + name = "engine.io___engine.io_3.3.2.tgz"; + path = fetchurl { + name = "engine.io___engine.io_3.3.2.tgz"; + url = "https://registry.yarnpkg.com/engine.io/-/engine.io-3.3.2.tgz"; + sha1 = "18cbc8b6f36e9461c5c0f81df2b830de16058a59"; + }; + } + + { + name = "env_variable___env_variable_0.0.5.tgz"; + path = fetchurl { + name = "env_variable___env_variable_0.0.5.tgz"; + url = "https://registry.yarnpkg.com/env-variable/-/env-variable-0.0.5.tgz"; + sha1 = "913dd830bef11e96a039c038d4130604eba37f88"; + }; + } + + { + name = "err_code___err_code_1.1.2.tgz"; + path = fetchurl { + name = "err_code___err_code_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz"; + sha1 = "06e0116d3028f6aef4806849eb0ea6a748ae6960"; + }; + } + + { + name = "errno___errno_0.1.7.tgz"; + path = fetchurl { + name = "errno___errno_0.1.7.tgz"; + url = "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz"; + sha1 = "4684d71779ad39af177e3f007996f7c67c852618"; + }; + } + + { + name = "error_ex___error_ex_1.3.2.tgz"; + path = fetchurl { + name = "error_ex___error_ex_1.3.2.tgz"; + url = "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz"; + sha1 = "b4ac40648107fdcdcfae242f428bea8a14d4f1bf"; + }; + } + + { + name = "es5_ext___es5_ext_0.10.46.tgz"; + path = fetchurl { + name = "es5_ext___es5_ext_0.10.46.tgz"; + url = "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.46.tgz"; + sha1 = "efd99f67c5a7ec789baa3daa7f79870388f7f572"; + }; + } + + { + name = "es6_iterator___es6_iterator_2.0.3.tgz"; + path = fetchurl { + name = "es6_iterator___es6_iterator_2.0.3.tgz"; + url = "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz"; + sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7"; + }; + } + + { + name = "es6_map___es6_map_0.1.5.tgz"; + path = fetchurl { + name = "es6_map___es6_map_0.1.5.tgz"; + url = "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz"; + sha1 = "9136e0503dcc06a301690f0bb14ff4e364e949f0"; + }; + } + + { + name = "es6_promise___es6_promise_4.2.5.tgz"; + path = fetchurl { + name = "es6_promise___es6_promise_4.2.5.tgz"; + url = "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.5.tgz"; + sha1 = "da6d0d5692efb461e082c14817fe2427d8f5d054"; + }; + } + + { + name = "es6_promisify___es6_promisify_5.0.0.tgz"; + path = fetchurl { + name = "es6_promisify___es6_promisify_5.0.0.tgz"; + url = "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz"; + sha1 = "5109d62f3e56ea967c4b63505aef08291c8a5203"; + }; + } + + { + name = "es6_promisify___es6_promisify_6.0.1.tgz"; + path = fetchurl { + name = "es6_promisify___es6_promisify_6.0.1.tgz"; + url = "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-6.0.1.tgz"; + sha1 = "6edaa45f3bd570ffe08febce66f7116be4b1cdb6"; + }; + } + + { + name = "es6_set___es6_set_0.1.5.tgz"; + path = fetchurl { + name = "es6_set___es6_set_0.1.5.tgz"; + url = "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz"; + sha1 = "d2b3ec5d4d800ced818db538d28974db0a73ccb1"; + }; + } + + { + name = "es6_shim___es6_shim_0.35.3.tgz"; + path = fetchurl { + name = "es6_shim___es6_shim_0.35.3.tgz"; + url = "https://registry.yarnpkg.com/es6-shim/-/es6-shim-0.35.3.tgz"; + sha1 = "9bfb7363feffff87a6cdb6cd93e405ec3c4b6f26"; + }; + } + + { + name = "es6_symbol___es6_symbol_3.1.1.tgz"; + path = fetchurl { + name = "es6_symbol___es6_symbol_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz"; + sha1 = "bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"; + }; + } + + { + name = "es6_weak_map___es6_weak_map_2.0.2.tgz"; + path = fetchurl { + name = "es6_weak_map___es6_weak_map_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz"; + sha1 = "5e3ab32251ffd1538a1f8e5ffa1357772f92d96f"; + }; + } + + { + name = "escape_html___escape_html_1.0.3.tgz"; + path = fetchurl { + name = "escape_html___escape_html_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz"; + sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988"; + }; + } + + { + name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz"; + path = fetchurl { + name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz"; + url = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"; + sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"; + }; + } + + { + name = "escope___escope_3.6.0.tgz"; + path = fetchurl { + name = "escope___escope_3.6.0.tgz"; + url = "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz"; + sha1 = "e01975e812781a163a6dadfdd80398dc64c889c3"; + }; + } + + { + name = "eslint___eslint_2.13.1.tgz"; + path = fetchurl { + name = "eslint___eslint_2.13.1.tgz"; + url = "https://registry.yarnpkg.com/eslint/-/eslint-2.13.1.tgz"; + sha1 = "e4cc8fa0f009fb829aaae23855a29360be1f6c11"; + }; + } + + { + name = "espree___espree_3.5.4.tgz"; + path = fetchurl { + name = "espree___espree_3.5.4.tgz"; + url = "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz"; + sha1 = "b0f447187c8a8bed944b815a660bddf5deb5d1a7"; + }; + } + + { + name = "esprima___esprima_4.0.1.tgz"; + path = fetchurl { + name = "esprima___esprima_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz"; + sha1 = "13b04cdb3e6c5d19df91ab6987a8695619b0aa71"; + }; + } + + { + name = "esrecurse___esrecurse_4.2.1.tgz"; + path = fetchurl { + name = "esrecurse___esrecurse_4.2.1.tgz"; + url = "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz"; + sha1 = "007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"; + }; + } + + { + name = "estraverse___estraverse_4.2.0.tgz"; + path = fetchurl { + name = "estraverse___estraverse_4.2.0.tgz"; + url = "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz"; + sha1 = "0dee3fed31fcd469618ce7342099fc1afa0bdb13"; + }; + } + + { + name = "esutils___esutils_1.1.6.tgz"; + path = fetchurl { + name = "esutils___esutils_1.1.6.tgz"; + url = "https://registry.yarnpkg.com/esutils/-/esutils-1.1.6.tgz"; + sha1 = "c01ccaa9ae4b897c6d0c3e210ae52f3c7a844375"; + }; + } + + { + name = "esutils___esutils_2.0.2.tgz"; + path = fetchurl { + name = "esutils___esutils_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz"; + sha1 = "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"; + }; + } + + { + name = "etag___etag_1.7.0.tgz"; + path = fetchurl { + name = "etag___etag_1.7.0.tgz"; + url = "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz"; + sha1 = "03d30b5f67dd6e632d2945d30d6652731a34d5d8"; + }; + } + + { + name = "etag___etag_1.8.1.tgz"; + path = fetchurl { + name = "etag___etag_1.8.1.tgz"; + url = "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz"; + sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887"; + }; + } + + { + name = "event_emitter___event_emitter_0.3.5.tgz"; + path = fetchurl { + name = "event_emitter___event_emitter_0.3.5.tgz"; + url = "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz"; + sha1 = "df8c69eef1647923c7157b9ce83840610b02cc39"; + }; + } + + { + name = "execa___execa_0.10.0.tgz"; + path = fetchurl { + name = "execa___execa_0.10.0.tgz"; + url = "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz"; + sha1 = "ff456a8f53f90f8eccc71a96d11bdfc7f082cb50"; + }; + } + + { + name = "execa___execa_0.7.0.tgz"; + path = fetchurl { + name = "execa___execa_0.7.0.tgz"; + url = "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz"; + sha1 = "944becd34cc41ee32a63a9faf27ad5a65fc59777"; + }; + } + + { + name = "execa___execa_1.0.0.tgz"; + path = fetchurl { + name = "execa___execa_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz"; + sha1 = "c6236a5bb4df6d6f15e88e7f017798216749ddd8"; + }; + } + + { + name = "exit_hook___exit_hook_1.1.1.tgz"; + path = fetchurl { + name = "exit_hook___exit_hook_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz"; + sha1 = "f05ca233b48c05d54fff07765df8507e95c02ff8"; + }; + } + + { + name = "expand_brackets___expand_brackets_2.1.4.tgz"; + path = fetchurl { + name = "expand_brackets___expand_brackets_2.1.4.tgz"; + url = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz"; + sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622"; + }; + } + + { + name = "expand_template___expand_template_2.0.3.tgz"; + path = fetchurl { + name = "expand_template___expand_template_2.0.3.tgz"; + url = "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz"; + sha1 = "6e14b3fcee0f3a6340ecb57d2e8918692052a47c"; + }; + } + + { + name = "expect_ct___expect_ct_0.1.1.tgz"; + path = fetchurl { + name = "expect_ct___expect_ct_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/expect-ct/-/expect-ct-0.1.1.tgz"; + sha1 = "de84476a2dbcb85000d5903737e9bc8a5ba7b897"; + }; + } + + { + name = "express_oauth_server___express_oauth_server_2.0.0.tgz"; + path = fetchurl { + name = "express_oauth_server___express_oauth_server_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/express-oauth-server/-/express-oauth-server-2.0.0.tgz"; + sha1 = "57b08665c1201532f52c4c02f19709238b99a48d"; + }; + } + + { + name = "express_rate_limit___express_rate_limit_3.3.2.tgz"; + path = fetchurl { + name = "express_rate_limit___express_rate_limit_3.3.2.tgz"; + url = "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-3.3.2.tgz"; + sha1 = "c5b2fc770d533878ce01a5dbbfadca340f3b8915"; + }; + } + + { + name = "express_validator___express_validator_5.3.0.tgz"; + path = fetchurl { + name = "express_validator___express_validator_5.3.0.tgz"; + url = "https://registry.yarnpkg.com/express-validator/-/express-validator-5.3.0.tgz"; + sha1 = "18a4e4a6e6410e3b9d492fb4ffcb4556fec51806"; + }; + } + + { + name = "express___express_4.13.4.tgz"; + path = fetchurl { + name = "express___express_4.13.4.tgz"; + url = "https://registry.yarnpkg.com/express/-/express-4.13.4.tgz"; + sha1 = "3c0b76f3c77590c8345739061ec0bd3ba067ec24"; + }; + } + + { + name = "express___express_4.16.4.tgz"; + path = fetchurl { + name = "express___express_4.16.4.tgz"; + url = "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz"; + sha1 = "fddef61926109e24c515ea97fd2f1bdbf62df12e"; + }; + } + + { + name = "extend_shallow___extend_shallow_2.0.1.tgz"; + path = fetchurl { + name = "extend_shallow___extend_shallow_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz"; + sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f"; + }; + } + + { + name = "extend_shallow___extend_shallow_3.0.2.tgz"; + path = fetchurl { + name = "extend_shallow___extend_shallow_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz"; + sha1 = "26a71aaf073b39fb2127172746131c2704028db8"; + }; + } + + { + name = "extend___extend_3.0.2.tgz"; + path = fetchurl { + name = "extend___extend_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz"; + sha1 = "f8b1136b4071fbd8eb140aff858b1019ec2915fa"; + }; + } + + { + name = "extglob___extglob_2.0.4.tgz"; + path = fetchurl { + name = "extglob___extglob_2.0.4.tgz"; + url = "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz"; + sha1 = "ad00fe4dc612a9232e8718711dc5cb5ab0285543"; + }; + } + + { + name = "extsprintf___extsprintf_1.2.0.tgz"; + path = fetchurl { + name = "extsprintf___extsprintf_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.2.0.tgz"; + sha1 = "5ad946c22f5b32ba7f8cd7426711c6e8a3fc2529"; + }; + } + + { + name = "extsprintf___extsprintf_1.3.0.tgz"; + path = fetchurl { + name = "extsprintf___extsprintf_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz"; + sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05"; + }; + } + + { + name = "extsprintf___extsprintf_1.4.0.tgz"; + path = fetchurl { + name = "extsprintf___extsprintf_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz"; + sha1 = "e2689f8f356fad62cca65a3a91c5df5f9551692f"; + }; + } + + { + name = "eyes___eyes_0.1.8.tgz"; + path = fetchurl { + name = "eyes___eyes_0.1.8.tgz"; + url = "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz"; + sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0"; + }; + } + + { + name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz"; + path = fetchurl { + name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz"; + sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"; + }; + } + + { + name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz"; + path = fetchurl { + name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz"; + sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2"; + }; + } + + { + name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz"; + path = fetchurl { + name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz"; + url = "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"; + sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917"; + }; + } + + { + name = "fast_safe_stringify___fast_safe_stringify_2.0.6.tgz"; + path = fetchurl { + name = "fast_safe_stringify___fast_safe_stringify_2.0.6.tgz"; + url = "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.6.tgz"; + sha1 = "04b26106cc56681f51a044cfc0d76cf0008ac2c2"; + }; + } + + { + name = "feature_policy___feature_policy_0.2.0.tgz"; + path = fetchurl { + name = "feature_policy___feature_policy_0.2.0.tgz"; + url = "https://registry.yarnpkg.com/feature-policy/-/feature-policy-0.2.0.tgz"; + sha1 = "22096de49ab240176878ffe2bde2f6ff04d48c43"; + }; + } + + { + name = "fecha___fecha_2.3.3.tgz"; + path = fetchurl { + name = "fecha___fecha_2.3.3.tgz"; + url = "https://registry.yarnpkg.com/fecha/-/fecha-2.3.3.tgz"; + sha1 = "948e74157df1a32fd1b12c3a3c3cdcb6ec9d96cd"; + }; + } + + { + name = "figgy_pudding___figgy_pudding_3.5.1.tgz"; + path = fetchurl { + name = "figgy_pudding___figgy_pudding_3.5.1.tgz"; + url = "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz"; + sha1 = "862470112901c727a0e495a80744bd5baa1d6790"; + }; + } + + { + name = "figures___figures_1.7.0.tgz"; + path = fetchurl { + name = "figures___figures_1.7.0.tgz"; + url = "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz"; + sha1 = "cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"; + }; + } + + { + name = "figures___figures_2.0.0.tgz"; + path = fetchurl { + name = "figures___figures_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz"; + sha1 = "3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"; + }; + } + + { + name = "file_entry_cache___file_entry_cache_1.3.1.tgz"; + path = fetchurl { + name = "file_entry_cache___file_entry_cache_1.3.1.tgz"; + url = "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-1.3.1.tgz"; + sha1 = "44c61ea607ae4be9c1402f41f44270cbfe334ff8"; + }; + } + + { + name = "filestream___filestream_4.1.3.tgz"; + path = fetchurl { + name = "filestream___filestream_4.1.3.tgz"; + url = "https://registry.yarnpkg.com/filestream/-/filestream-4.1.3.tgz"; + sha1 = "948fcaade8221f715f5ecaddc54862faaacc9325"; + }; + } + + { + name = "fill_range___fill_range_4.0.0.tgz"; + path = fetchurl { + name = "fill_range___fill_range_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz"; + sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7"; + }; + } + + { + name = "finalhandler___finalhandler_0.4.1.tgz"; + path = fetchurl { + name = "finalhandler___finalhandler_0.4.1.tgz"; + url = "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.4.1.tgz"; + sha1 = "85a17c6c59a94717d262d61230d4b0ebe3d4a14d"; + }; + } + + { + name = "finalhandler___finalhandler_1.1.1.tgz"; + path = fetchurl { + name = "finalhandler___finalhandler_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz"; + sha1 = "eebf4ed840079c83f4249038c9d703008301b105"; + }; + } + + { + name = "find_npm_prefix___find_npm_prefix_1.0.2.tgz"; + path = fetchurl { + name = "find_npm_prefix___find_npm_prefix_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/find-npm-prefix/-/find-npm-prefix-1.0.2.tgz"; + sha1 = "8d8ce2c78b3b4b9e66c8acc6a37c231eb841cfdf"; + }; + } + + { + name = "find_parent_dir___find_parent_dir_0.3.0.tgz"; + path = fetchurl { + name = "find_parent_dir___find_parent_dir_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.0.tgz"; + sha1 = "33c44b429ab2b2f0646299c5f9f718f376ff8d54"; + }; + } + + { + name = "find_up___find_up_2.1.0.tgz"; + path = fetchurl { + name = "find_up___find_up_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz"; + sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7"; + }; + } + + { + name = "find_up___find_up_3.0.0.tgz"; + path = fetchurl { + name = "find_up___find_up_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz"; + sha1 = "49169f1d7993430646da61ecc5ae355c21c97b73"; + }; + } + + { + name = "flat_cache___flat_cache_1.3.4.tgz"; + path = fetchurl { + name = "flat_cache___flat_cache_1.3.4.tgz"; + url = "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz"; + sha1 = "2c2ef77525cc2929007dfffa1dd314aa9c9dee6f"; + }; + } + + { + name = "flat___flat_4.1.0.tgz"; + path = fetchurl { + name = "flat___flat_4.1.0.tgz"; + url = "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz"; + sha1 = "090bec8b05e39cba309747f1d588f04dbaf98db2"; + }; + } + + { + name = "flatten___flatten_1.0.2.tgz"; + path = fetchurl { + name = "flatten___flatten_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz"; + sha1 = "dae46a9d78fbe25292258cc1e780a41d95c03782"; + }; + } + + { + name = "flexbuffer___flexbuffer_0.0.6.tgz"; + path = fetchurl { + name = "flexbuffer___flexbuffer_0.0.6.tgz"; + url = "https://registry.yarnpkg.com/flexbuffer/-/flexbuffer-0.0.6.tgz"; + sha1 = "039fdf23f8823e440c38f3277e6fef1174215b30"; + }; + } + + { + name = "fluent_ffmpeg___fluent_ffmpeg_2.1.2.tgz"; + path = fetchurl { + name = "fluent_ffmpeg___fluent_ffmpeg_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/fluent-ffmpeg/-/fluent-ffmpeg-2.1.2.tgz"; + sha1 = "c952de2240f812ebda0aa8006d7776ee2acf7d74"; + }; + } + + { + name = "flush_write_stream___flush_write_stream_1.0.3.tgz"; + path = fetchurl { + name = "flush_write_stream___flush_write_stream_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz"; + sha1 = "c5d586ef38af6097650b49bc41b55fabb19f35bd"; + }; + } + + { + name = "for_in___for_in_1.0.2.tgz"; + path = fetchurl { + name = "for_in___for_in_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz"; + sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80"; + }; + } + + { + name = "forever_agent___forever_agent_0.6.1.tgz"; + path = fetchurl { + name = "forever_agent___forever_agent_0.6.1.tgz"; + url = "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz"; + sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"; + }; + } + + { + name = "form_data___form_data_2.3.3.tgz"; + path = fetchurl { + name = "form_data___form_data_2.3.3.tgz"; + url = "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz"; + sha1 = "dcce52c05f644f298c6a7ab936bd724ceffbf3a6"; + }; + } + + { + name = "format_util___format_util_1.0.3.tgz"; + path = fetchurl { + name = "format_util___format_util_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/format-util/-/format-util-1.0.3.tgz"; + sha1 = "032dca4a116262a12c43f4c3ec8566416c5b2d95"; + }; + } + + { + name = "formidable___formidable_1.2.1.tgz"; + path = fetchurl { + name = "formidable___formidable_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/formidable/-/formidable-1.2.1.tgz"; + sha1 = "70fb7ca0290ee6ff961090415f4b3df3d2082659"; + }; + } + + { + name = "forwarded___forwarded_0.1.2.tgz"; + path = fetchurl { + name = "forwarded___forwarded_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz"; + sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84"; + }; + } + + { + name = "fragment_cache___fragment_cache_0.2.1.tgz"; + path = fetchurl { + name = "fragment_cache___fragment_cache_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz"; + sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19"; + }; + } + + { + name = "frameguard___frameguard_3.0.0.tgz"; + path = fetchurl { + name = "frameguard___frameguard_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/frameguard/-/frameguard-3.0.0.tgz"; + sha1 = "7bcad469ee7b96e91d12ceb3959c78235a9272e9"; + }; + } + + { + name = "fresh___fresh_0.3.0.tgz"; + path = fetchurl { + name = "fresh___fresh_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz"; + sha1 = "651f838e22424e7566de161d8358caa199f83d4f"; + }; + } + + { + name = "fresh___fresh_0.5.2.tgz"; + path = fetchurl { + name = "fresh___fresh_0.5.2.tgz"; + url = "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz"; + sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7"; + }; + } + + { + name = "from2___from2_1.3.0.tgz"; + path = fetchurl { + name = "from2___from2_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/from2/-/from2-1.3.0.tgz"; + sha1 = "88413baaa5f9a597cfde9221d86986cd3c061dfd"; + }; + } + + { + name = "from2___from2_2.3.0.tgz"; + path = fetchurl { + name = "from2___from2_2.3.0.tgz"; + url = "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz"; + sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af"; + }; + } + + { + name = "front_matter___front_matter_2.1.2.tgz"; + path = fetchurl { + name = "front_matter___front_matter_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/front-matter/-/front-matter-2.1.2.tgz"; + sha1 = "f75983b9f2f413be658c93dfd7bd8ce4078f5cdb"; + }; + } + + { + name = "fs_chunk_store___fs_chunk_store_1.7.0.tgz"; + path = fetchurl { + name = "fs_chunk_store___fs_chunk_store_1.7.0.tgz"; + url = "https://registry.yarnpkg.com/fs-chunk-store/-/fs-chunk-store-1.7.0.tgz"; + sha1 = "1c4bcbe93c99af10aa04b65348f2bb27377a4010"; + }; + } + + { + name = "fs_constants___fs_constants_1.0.0.tgz"; + path = fetchurl { + name = "fs_constants___fs_constants_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz"; + sha1 = "6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"; + }; + } + + { + name = "fs_copy_file_sync___fs_copy_file_sync_1.1.1.tgz"; + path = fetchurl { + name = "fs_copy_file_sync___fs_copy_file_sync_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/fs-copy-file-sync/-/fs-copy-file-sync-1.1.1.tgz"; + sha1 = "11bf32c096c10d126e5f6b36d06eece776062918"; + }; + } + + { + name = "fs_extra___fs_extra_3.0.1.tgz"; + path = fetchurl { + name = "fs_extra___fs_extra_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz"; + sha1 = "3794f378c58b342ea7dbbb23095109c4b3b62291"; + }; + } + + { + name = "fs_extra___fs_extra_7.0.1.tgz"; + path = fetchurl { + name = "fs_extra___fs_extra_7.0.1.tgz"; + url = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz"; + sha1 = "4f189c44aa123b895f722804f55ea23eadc348e9"; + }; + } + + { + name = "fs_minipass___fs_minipass_1.2.5.tgz"; + path = fetchurl { + name = "fs_minipass___fs_minipass_1.2.5.tgz"; + url = "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz"; + sha1 = "06c277218454ec288df77ada54a03b8702aacb9d"; + }; + } + + { + name = "fs_vacuum___fs_vacuum_1.2.10.tgz"; + path = fetchurl { + name = "fs_vacuum___fs_vacuum_1.2.10.tgz"; + url = "https://registry.yarnpkg.com/fs-vacuum/-/fs-vacuum-1.2.10.tgz"; + sha1 = "b7629bec07a4031a2548fdf99f5ecf1cc8b31e36"; + }; + } + + { + name = "fs_write_stream_atomic___fs_write_stream_atomic_1.0.10.tgz"; + path = fetchurl { + name = "fs_write_stream_atomic___fs_write_stream_atomic_1.0.10.tgz"; + url = "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz"; + sha1 = "b47df53493ef911df75731e70a9ded0189db40c9"; + }; + } + + { + name = "fs.realpath___fs.realpath_1.0.0.tgz"; + path = fetchurl { + name = "fs.realpath___fs.realpath_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz"; + sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f"; + }; + } + + { + name = "fsevents___fsevents_1.2.4.tgz"; + path = fetchurl { + name = "fsevents___fsevents_1.2.4.tgz"; + url = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz"; + sha1 = "f41dcb1af2582af3692da36fc55cbd8e1041c426"; + }; + } + + { + name = "fstream___fstream_1.0.11.tgz"; + path = fetchurl { + name = "fstream___fstream_1.0.11.tgz"; + url = "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz"; + sha1 = "5c1fb1f117477114f0632a0eb4b71b3cb0fd3171"; + }; + } + + { + name = "g_status___g_status_2.0.2.tgz"; + path = fetchurl { + name = "g_status___g_status_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/g-status/-/g-status-2.0.2.tgz"; + sha1 = "270fd32119e8fc9496f066fe5fe88e0a6bc78b97"; + }; + } + + { + name = "gauge___gauge_2.7.4.tgz"; + path = fetchurl { + name = "gauge___gauge_2.7.4.tgz"; + url = "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz"; + sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7"; + }; + } + + { + name = "generate_function___generate_function_2.3.1.tgz"; + path = fetchurl { + name = "generate_function___generate_function_2.3.1.tgz"; + url = "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz"; + sha1 = "f069617690c10c868e73b8465746764f97c3479f"; + }; + } + + { + name = "generate_object_property___generate_object_property_1.2.0.tgz"; + path = fetchurl { + name = "generate_object_property___generate_object_property_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz"; + sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0"; + }; + } + + { + name = "generic_pool___generic_pool_3.4.2.tgz"; + path = fetchurl { + name = "generic_pool___generic_pool_3.4.2.tgz"; + url = "https://registry.yarnpkg.com/generic-pool/-/generic-pool-3.4.2.tgz"; + sha1 = "92ff7196520d670839a67308092a12aadf2f6a59"; + }; + } + + { + name = "genfun___genfun_5.0.0.tgz"; + path = fetchurl { + name = "genfun___genfun_5.0.0.tgz"; + url = "https://registry.yarnpkg.com/genfun/-/genfun-5.0.0.tgz"; + sha1 = "9dd9710a06900a5c4a5bf57aca5da4e52fe76537"; + }; + } + + { + name = "gentle_fs___gentle_fs_2.0.1.tgz"; + path = fetchurl { + name = "gentle_fs___gentle_fs_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/gentle-fs/-/gentle-fs-2.0.1.tgz"; + sha1 = "585cfd612bfc5cd52471fdb42537f016a5ce3687"; + }; + } + + { + name = "get_browser_rtc___get_browser_rtc_1.0.2.tgz"; + path = fetchurl { + name = "get_browser_rtc___get_browser_rtc_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/get-browser-rtc/-/get-browser-rtc-1.0.2.tgz"; + sha1 = "bbcd40c8451a7ed4ef5c373b8169a409dd1d11d9"; + }; + } + + { + name = "get_caller_file___get_caller_file_1.0.3.tgz"; + path = fetchurl { + name = "get_caller_file___get_caller_file_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz"; + sha1 = "f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"; + }; + } + + { + name = "get_func_name___get_func_name_2.0.0.tgz"; + path = fetchurl { + name = "get_func_name___get_func_name_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz"; + sha1 = "ead774abee72e20409433a066366023dd6887a41"; + }; + } + + { + name = "get_own_enumerable_property_symbols___get_own_enumerable_property_symbols_3.0.0.tgz"; + path = fetchurl { + name = "get_own_enumerable_property_symbols___get_own_enumerable_property_symbols_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz"; + sha1 = "b877b49a5c16aefac3655f2ed2ea5b684df8d203"; + }; + } + + { + name = "get_stdin___get_stdin_6.0.0.tgz"; + path = fetchurl { + name = "get_stdin___get_stdin_6.0.0.tgz"; + url = "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz"; + sha1 = "9e09bf712b360ab9225e812048f71fde9c89657b"; + }; + } + + { + name = "get_stream___get_stream_3.0.0.tgz"; + path = fetchurl { + name = "get_stream___get_stream_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz"; + sha1 = "8e943d1358dc37555054ecbe2edb05aa174ede14"; + }; + } + + { + name = "get_stream___get_stream_4.1.0.tgz"; + path = fetchurl { + name = "get_stream___get_stream_4.1.0.tgz"; + url = "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz"; + sha1 = "c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"; + }; + } + + { + name = "get_value___get_value_2.0.6.tgz"; + path = fetchurl { + name = "get_value___get_value_2.0.6.tgz"; + url = "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz"; + sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28"; + }; + } + + { + name = "getpass___getpass_0.1.7.tgz"; + path = fetchurl { + name = "getpass___getpass_0.1.7.tgz"; + url = "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz"; + sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa"; + }; + } + + { + name = "github_from_package___github_from_package_0.0.0.tgz"; + path = fetchurl { + name = "github_from_package___github_from_package_0.0.0.tgz"; + url = "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz"; + sha1 = "97fb5d96bfde8973313f20e8288ef9a167fa64ce"; + }; + } + + { + name = "glob_parent___glob_parent_3.1.0.tgz"; + path = fetchurl { + name = "glob_parent___glob_parent_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz"; + sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae"; + }; + } + + { + name = "glob___glob_7.1.2.tgz"; + path = fetchurl { + name = "glob___glob_7.1.2.tgz"; + url = "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz"; + sha1 = "c19c9df9a028702d678612384a6552404c636d15"; + }; + } + + { + name = "glob___glob_6.0.4.tgz"; + path = fetchurl { + name = "glob___glob_6.0.4.tgz"; + url = "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz"; + sha1 = "0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"; + }; + } + + { + name = "glob___glob_7.1.3.tgz"; + path = fetchurl { + name = "glob___glob_7.1.3.tgz"; + url = "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz"; + sha1 = "3960832d3f1574108342dafd3a67b332c0969df1"; + }; + } + + { + name = "global_dirs___global_dirs_0.1.1.tgz"; + path = fetchurl { + name = "global_dirs___global_dirs_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz"; + sha1 = "b319c0dd4607f353f3be9cca4c72fc148c49f445"; + }; + } + + { + name = "globals___globals_9.18.0.tgz"; + path = fetchurl { + name = "globals___globals_9.18.0.tgz"; + url = "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz"; + sha1 = "aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"; + }; + } + + { + name = "globby___globby_6.1.0.tgz"; + path = fetchurl { + name = "globby___globby_6.1.0.tgz"; + url = "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz"; + sha1 = "f5a6d70e8395e21c858fb0489d64df02424d506c"; + }; + } + + { + name = "globule___globule_1.2.1.tgz"; + path = fetchurl { + name = "globule___globule_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz"; + sha1 = "5dffb1b191f22d20797a9369b49eab4e9839696d"; + }; + } + + { + name = "gonzales_pe_sl___gonzales_pe_sl_4.2.3.tgz"; + path = fetchurl { + name = "gonzales_pe_sl___gonzales_pe_sl_4.2.3.tgz"; + url = "https://registry.yarnpkg.com/gonzales-pe-sl/-/gonzales-pe-sl-4.2.3.tgz"; + sha1 = "6a868bc380645f141feeb042c6f97fcc71b59fe6"; + }; + } + + { + name = "got___got_6.7.1.tgz"; + path = fetchurl { + name = "got___got_6.7.1.tgz"; + url = "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz"; + sha1 = "240cd05785a9a18e561dc1b44b41c763ef1e8db0"; + }; + } + + { + name = "graceful_fs___graceful_fs_4.1.15.tgz"; + path = fetchurl { + name = "graceful_fs___graceful_fs_4.1.15.tgz"; + url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz"; + sha1 = "ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"; + }; + } + + { + name = "graceful_readlink___graceful_readlink_1.0.1.tgz"; + path = fetchurl { + name = "graceful_readlink___graceful_readlink_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz"; + sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725"; + }; + } + + { + name = "growl___growl_1.10.5.tgz"; + path = fetchurl { + name = "growl___growl_1.10.5.tgz"; + url = "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz"; + sha1 = "f2735dc2283674fa67478b10181059355c369e5e"; + }; + } + + { + name = "har_schema___har_schema_2.0.0.tgz"; + path = fetchurl { + name = "har_schema___har_schema_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz"; + sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92"; + }; + } + + { + name = "har_validator___har_validator_5.1.3.tgz"; + path = fetchurl { + name = "har_validator___har_validator_5.1.3.tgz"; + url = "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz"; + sha1 = "1ef89ebd3e4996557675eed9893110dc350fa080"; + }; + } + + { + name = "has_ansi___has_ansi_2.0.0.tgz"; + path = fetchurl { + name = "has_ansi___has_ansi_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz"; + sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91"; + }; + } + + { + name = "has_binary2___has_binary2_1.0.3.tgz"; + path = fetchurl { + name = "has_binary2___has_binary2_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.3.tgz"; + sha1 = "7776ac627f3ea77250cfc332dab7ddf5e4f5d11d"; + }; + } + + { + name = "has_binary___has_binary_0.1.7.tgz"; + path = fetchurl { + name = "has_binary___has_binary_0.1.7.tgz"; + url = "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz"; + sha1 = "68e61eb16210c9545a0a5cce06a873912fe1e68c"; + }; + } + + { + name = "has_cors___has_cors_1.1.0.tgz"; + path = fetchurl { + name = "has_cors___has_cors_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz"; + sha1 = "5e474793f7ea9843d1bb99c23eef49ff126fff39"; + }; + } + + { + name = "has_flag___has_flag_2.0.0.tgz"; + path = fetchurl { + name = "has_flag___has_flag_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz"; + sha1 = "e8207af1cc7b30d446cc70b734b5e8be18f88d51"; + }; + } + + { + name = "has_flag___has_flag_3.0.0.tgz"; + path = fetchurl { + name = "has_flag___has_flag_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz"; + sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd"; + }; + } + + { + name = "has_unicode___has_unicode_2.0.1.tgz"; + path = fetchurl { + name = "has_unicode___has_unicode_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz"; + sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9"; + }; + } + + { + name = "has_value___has_value_0.3.1.tgz"; + path = fetchurl { + name = "has_value___has_value_0.3.1.tgz"; + url = "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz"; + sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f"; + }; + } + + { + name = "has_value___has_value_1.0.0.tgz"; + path = fetchurl { + name = "has_value___has_value_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz"; + sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177"; + }; + } + + { + name = "has_values___has_values_0.1.4.tgz"; + path = fetchurl { + name = "has_values___has_values_0.1.4.tgz"; + url = "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz"; + sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771"; + }; + } + + { + name = "has_values___has_values_1.0.0.tgz"; + path = fetchurl { + name = "has_values___has_values_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz"; + sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f"; + }; + } + + { + name = "hash.js___hash.js_1.1.7.tgz"; + path = fetchurl { + name = "hash.js___hash.js_1.1.7.tgz"; + url = "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz"; + sha1 = "0babca538e8d4ee4a0f8988d68866537a003cf42"; + }; + } + + { + name = "hashish___hashish_0.0.4.tgz"; + path = fetchurl { + name = "hashish___hashish_0.0.4.tgz"; + url = "https://registry.yarnpkg.com/hashish/-/hashish-0.0.4.tgz"; + sha1 = "6d60bc6ffaf711b6afd60e426d077988014e6554"; + }; + } + + { + name = "he___he_1.1.1.tgz"; + path = fetchurl { + name = "he___he_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz"; + sha1 = "93410fd21b009735151f8868c2f271f3427e23fd"; + }; + } + + { + name = "helmet_crossdomain___helmet_crossdomain_0.3.0.tgz"; + path = fetchurl { + name = "helmet_crossdomain___helmet_crossdomain_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/helmet-crossdomain/-/helmet-crossdomain-0.3.0.tgz"; + sha1 = "707e2df930f13ad61f76ed08e1bb51ab2b2e85fa"; + }; + } + + { + name = "helmet_csp___helmet_csp_2.7.1.tgz"; + path = fetchurl { + name = "helmet_csp___helmet_csp_2.7.1.tgz"; + url = "https://registry.yarnpkg.com/helmet-csp/-/helmet-csp-2.7.1.tgz"; + sha1 = "e8e0b5186ffd4db625cfcce523758adbfadb9dca"; + }; + } + + { + name = "helmet___helmet_3.15.0.tgz"; + path = fetchurl { + name = "helmet___helmet_3.15.0.tgz"; + url = "https://registry.yarnpkg.com/helmet/-/helmet-3.15.0.tgz"; + sha1 = "fe0bb80e05d9eec589e3cbecaf5384409a3a64c9"; + }; + } + + { + name = "hh_mm_ss___hh_mm_ss_1.2.0.tgz"; + path = fetchurl { + name = "hh_mm_ss___hh_mm_ss_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/hh-mm-ss/-/hh-mm-ss-1.2.0.tgz"; + sha1 = "6d0f0b8280824a634cb1d1f20e0bc7bc8b689948"; + }; + } + + { + name = "hide_powered_by___hide_powered_by_1.0.0.tgz"; + path = fetchurl { + name = "hide_powered_by___hide_powered_by_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/hide-powered-by/-/hide-powered-by-1.0.0.tgz"; + sha1 = "4a85ad65881f62857fc70af7174a1184dccce32b"; + }; + } + + { + name = "hosted_git_info___hosted_git_info_2.7.1.tgz"; + path = fetchurl { + name = "hosted_git_info___hosted_git_info_2.7.1.tgz"; + url = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz"; + sha1 = "97f236977bd6e125408930ff6de3eec6281ec047"; + }; + } + + { + name = "hpkp___hpkp_2.0.0.tgz"; + path = fetchurl { + name = "hpkp___hpkp_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/hpkp/-/hpkp-2.0.0.tgz"; + sha1 = "10e142264e76215a5d30c44ec43de64dee6d1672"; + }; + } + + { + name = "hsts___hsts_2.1.0.tgz"; + path = fetchurl { + name = "hsts___hsts_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/hsts/-/hsts-2.1.0.tgz"; + sha1 = "cbd6c918a2385fee1dd5680bfb2b3a194c0121cc"; + }; + } + + { + name = "http_cache_semantics___http_cache_semantics_3.8.1.tgz"; + path = fetchurl { + name = "http_cache_semantics___http_cache_semantics_3.8.1.tgz"; + url = "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz"; + sha1 = "39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2"; + }; + } + + { + name = "http_errors___http_errors_1.6.3.tgz"; + path = fetchurl { + name = "http_errors___http_errors_1.6.3.tgz"; + url = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz"; + sha1 = "8b55680bb4be283a0b5bf4ea2e38580be1d9320d"; + }; + } + + { + name = "http_errors___http_errors_1.3.1.tgz"; + path = fetchurl { + name = "http_errors___http_errors_1.3.1.tgz"; + url = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.3.1.tgz"; + sha1 = "197e22cdebd4198585e8694ef6786197b91ed942"; + }; + } + + { + name = "http_proxy_agent___http_proxy_agent_2.1.0.tgz"; + path = fetchurl { + name = "http_proxy_agent___http_proxy_agent_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz"; + sha1 = "e4821beef5b2142a2026bd73926fe537631c5405"; + }; + } + + { + name = "http_signature___http_signature_1.2.0.tgz"; + path = fetchurl { + name = "http_signature___http_signature_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz"; + sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1"; + }; + } + + { + name = "https_proxy_agent___https_proxy_agent_2.2.1.tgz"; + path = fetchurl { + name = "https_proxy_agent___https_proxy_agent_2.2.1.tgz"; + url = "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz"; + sha1 = "51552970fa04d723e04c56d04178c3f92592bbc0"; + }; + } + + { + name = "humanize_ms___humanize_ms_1.2.1.tgz"; + path = fetchurl { + name = "humanize_ms___humanize_ms_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz"; + sha1 = "c46e3159a293f6b896da29316d8b6fe8bb79bbed"; + }; + } + + { + name = "husky___husky_1.2.0.tgz"; + path = fetchurl { + name = "husky___husky_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/husky/-/husky-1.2.0.tgz"; + sha1 = "d631dda1e4a9ee8ba69a10b0c51a0e2c66e711e5"; + }; + } + + { + name = "i___i_0.3.6.tgz"; + path = fetchurl { + name = "i___i_0.3.6.tgz"; + url = "https://registry.yarnpkg.com/i/-/i-0.3.6.tgz"; + sha1 = "d96c92732076f072711b6b10fd7d4f65ad8ee23d"; + }; + } + + { + name = "iconv_lite___iconv_lite_0.4.23.tgz"; + path = fetchurl { + name = "iconv_lite___iconv_lite_0.4.23.tgz"; + url = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz"; + sha1 = "297871f63be507adcfbfca715d0cd0eed84e9a63"; + }; + } + + { + name = "iconv_lite___iconv_lite_0.4.24.tgz"; + path = fetchurl { + name = "iconv_lite___iconv_lite_0.4.24.tgz"; + url = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz"; + sha1 = "2022b4b25fbddc21d2f524974a474aafe733908b"; + }; + } + + { + name = "ienoopen___ienoopen_1.0.0.tgz"; + path = fetchurl { + name = "ienoopen___ienoopen_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/ienoopen/-/ienoopen-1.0.0.tgz"; + sha1 = "346a428f474aac8f50cf3784ea2d0f16f62bda6b"; + }; + } + + { + name = "iferr___iferr_0.1.5.tgz"; + path = fetchurl { + name = "iferr___iferr_0.1.5.tgz"; + url = "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz"; + sha1 = "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"; + }; + } + + { + name = "iferr___iferr_1.0.2.tgz"; + path = fetchurl { + name = "iferr___iferr_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/iferr/-/iferr-1.0.2.tgz"; + sha1 = "e9fde49a9da06dc4a4194c6c9ed6d08305037a6d"; + }; + } + + { + name = "ignore_by_default___ignore_by_default_1.0.1.tgz"; + path = fetchurl { + name = "ignore_by_default___ignore_by_default_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz"; + sha1 = "48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09"; + }; + } + + { + name = "ignore_walk___ignore_walk_3.0.1.tgz"; + path = fetchurl { + name = "ignore_walk___ignore_walk_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz"; + sha1 = "a83e62e7d272ac0e3b551aaa82831a19b69f82f8"; + }; + } + + { + name = "ignore___ignore_3.3.10.tgz"; + path = fetchurl { + name = "ignore___ignore_3.3.10.tgz"; + url = "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz"; + sha1 = "0a97fb876986e8081c631160f8f9f389157f0043"; + }; + } + + { + name = "immediate_chunk_store___immediate_chunk_store_2.0.0.tgz"; + path = fetchurl { + name = "immediate_chunk_store___immediate_chunk_store_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/immediate-chunk-store/-/immediate-chunk-store-2.0.0.tgz"; + sha1 = "f313fd0cc71396d8911ad031179e1cccfda3da18"; + }; + } + + { + name = "import_fresh___import_fresh_2.0.0.tgz"; + path = fetchurl { + name = "import_fresh___import_fresh_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz"; + sha1 = "d81355c15612d386c61f9ddd3922d4304822a546"; + }; + } + + { + name = "import_lazy___import_lazy_2.1.0.tgz"; + path = fetchurl { + name = "import_lazy___import_lazy_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz"; + sha1 = "05698e3d45c88e8d7e9d92cb0584e77f096f3e43"; + }; + } + + { + name = "imurmurhash___imurmurhash_0.1.4.tgz"; + path = fetchurl { + name = "imurmurhash___imurmurhash_0.1.4.tgz"; + url = "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz"; + sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea"; + }; + } + + { + name = "indent_string___indent_string_3.2.0.tgz"; + path = fetchurl { + name = "indent_string___indent_string_3.2.0.tgz"; + url = "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz"; + sha1 = "4a5fd6d27cc332f37e5419a504dbb837105c9289"; + }; + } + + { + name = "indexof___indexof_0.0.1.tgz"; + path = fetchurl { + name = "indexof___indexof_0.0.1.tgz"; + url = "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz"; + sha1 = "82dc336d232b9062179d05ab3293a66059fd435d"; + }; + } + + { + name = "inflection___inflection_1.12.0.tgz"; + path = fetchurl { + name = "inflection___inflection_1.12.0.tgz"; + url = "https://registry.yarnpkg.com/inflection/-/inflection-1.12.0.tgz"; + sha1 = "a200935656d6f5f6bc4dc7502e1aecb703228416"; + }; + } + + { + name = "inflight___inflight_1.0.6.tgz"; + path = fetchurl { + name = "inflight___inflight_1.0.6.tgz"; + url = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz"; + sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9"; + }; + } + + { + name = "inherits___inherits_2.0.3.tgz"; + path = fetchurl { + name = "inherits___inherits_2.0.3.tgz"; + url = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz"; + sha1 = "633c2c83e3da42a502f52466022480f4208261de"; + }; + } + + { + name = "inherits___inherits_2.0.1.tgz"; + path = fetchurl { + name = "inherits___inherits_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz"; + sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1"; + }; + } + + { + name = "ini___ini_1.3.5.tgz"; + path = fetchurl { + name = "ini___ini_1.3.5.tgz"; + url = "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz"; + sha1 = "eee25f56db1c9ec6085e0c22778083f596abf927"; + }; + } + + { + name = "init_package_json___init_package_json_1.10.3.tgz"; + path = fetchurl { + name = "init_package_json___init_package_json_1.10.3.tgz"; + url = "https://registry.yarnpkg.com/init-package-json/-/init-package-json-1.10.3.tgz"; + sha1 = "45ffe2f610a8ca134f2bd1db5637b235070f6cbe"; + }; + } + + { + name = "inquirer___inquirer_0.12.0.tgz"; + path = fetchurl { + name = "inquirer___inquirer_0.12.0.tgz"; + url = "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz"; + sha1 = "1ef2bfd63504df0bc75785fff8c2c41df12f077e"; + }; + } + + { + name = "invert_kv___invert_kv_1.0.0.tgz"; + path = fetchurl { + name = "invert_kv___invert_kv_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz"; + sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"; + }; + } + + { + name = "invert_kv___invert_kv_2.0.0.tgz"; + path = fetchurl { + name = "invert_kv___invert_kv_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz"; + sha1 = "7393f5afa59ec9ff5f67a27620d11c226e3eec02"; + }; + } + + { + name = "ioredis___ioredis_3.2.2.tgz"; + path = fetchurl { + name = "ioredis___ioredis_3.2.2.tgz"; + url = "https://registry.yarnpkg.com/ioredis/-/ioredis-3.2.2.tgz"; + sha1 = "b7d5ff3afd77bb9718bb2821329b894b9a44c00b"; + }; + } + + { + name = "ip_anonymize___ip_anonymize_0.0.6.tgz"; + path = fetchurl { + name = "ip_anonymize___ip_anonymize_0.0.6.tgz"; + url = "https://registry.yarnpkg.com/ip-anonymize/-/ip-anonymize-0.0.6.tgz"; + sha1 = "d2c513e448e874e8cc380d03404691b94b018e68"; + }; + } + + { + name = "ip_regex___ip_regex_2.1.0.tgz"; + path = fetchurl { + name = "ip_regex___ip_regex_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz"; + sha1 = "fa78bf5d2e6913c911ce9f819ee5146bb6d844e9"; + }; + } + + { + name = "ip_set___ip_set_1.0.1.tgz"; + path = fetchurl { + name = "ip_set___ip_set_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/ip-set/-/ip-set-1.0.1.tgz"; + sha1 = "633b66d0bd6c8d0de968d053263c9120d3b6727e"; + }; + } + + { + name = "ip___ip_1.1.5.tgz"; + path = fetchurl { + name = "ip___ip_1.1.5.tgz"; + url = "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz"; + sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a"; + }; + } + + { + name = "ipaddr.js___ipaddr.js_1.0.5.tgz"; + path = fetchurl { + name = "ipaddr.js___ipaddr.js_1.0.5.tgz"; + url = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.0.5.tgz"; + sha1 = "5fa78cf301b825c78abc3042d812723049ea23c7"; + }; + } + + { + name = "ipaddr.js___ipaddr.js_1.8.0.tgz"; + path = fetchurl { + name = "ipaddr.js___ipaddr.js_1.8.0.tgz"; + url = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz"; + sha1 = "eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e"; + }; + } + + { + name = "ipaddr.js___ipaddr.js_1.8.1.tgz"; + path = fetchurl { + name = "ipaddr.js___ipaddr.js_1.8.1.tgz"; + url = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.1.tgz"; + sha1 = "fa4b79fa47fd3def5e3b159825161c0a519c9427"; + }; + } + + { + name = "ipv6_normalize___ipv6_normalize_1.0.1.tgz"; + path = fetchurl { + name = "ipv6_normalize___ipv6_normalize_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/ipv6-normalize/-/ipv6-normalize-1.0.1.tgz"; + sha1 = "1b3258290d365fa83239e89907dde4592e7620a8"; + }; + } + + { + name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz"; + path = fetchurl { + name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz"; + url = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz"; + sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"; + }; + } + + { + name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz"; + path = fetchurl { + name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz"; + sha1 = "169c2f6d3df1f992618072365c9b0ea1f6878656"; + }; + } + + { + name = "is_arrayish___is_arrayish_0.2.1.tgz"; + path = fetchurl { + name = "is_arrayish___is_arrayish_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz"; + sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d"; + }; + } + + { + name = "is_arrayish___is_arrayish_0.3.2.tgz"; + path = fetchurl { + name = "is_arrayish___is_arrayish_0.3.2.tgz"; + url = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz"; + sha1 = "4574a2ae56f7ab206896fb431eaeed066fdf8f03"; + }; + } + + { + name = "is_ascii___is_ascii_1.0.0.tgz"; + path = fetchurl { + name = "is_ascii___is_ascii_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-ascii/-/is-ascii-1.0.0.tgz"; + sha1 = "f02ad0259a0921cd199ff21ce1b09e0f6b4e3929"; + }; + } + + { + name = "is_binary_path___is_binary_path_1.0.1.tgz"; + path = fetchurl { + name = "is_binary_path___is_binary_path_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz"; + sha1 = "75f16642b480f187a711c814161fd3a4a7655898"; + }; + } + + { + name = "is_bluebird___is_bluebird_1.0.2.tgz"; + path = fetchurl { + name = "is_bluebird___is_bluebird_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/is-bluebird/-/is-bluebird-1.0.2.tgz"; + sha1 = "096439060f4aa411abee19143a84d6a55346d6e2"; + }; + } + + { + name = "is_buffer___is_buffer_1.1.6.tgz"; + path = fetchurl { + name = "is_buffer___is_buffer_1.1.6.tgz"; + url = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz"; + sha1 = "efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"; + }; + } + + { + name = "is_buffer___is_buffer_2.0.3.tgz"; + path = fetchurl { + name = "is_buffer___is_buffer_2.0.3.tgz"; + url = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz"; + sha1 = "4ecf3fcf749cbd1e472689e109ac66261a25e725"; + }; + } + + { + name = "is_builtin_module___is_builtin_module_1.0.0.tgz"; + path = fetchurl { + name = "is_builtin_module___is_builtin_module_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz"; + sha1 = "540572d34f7ac3119f8f76c30cbc1b1e037affbe"; + }; + } + + { + name = "is_ci___is_ci_1.2.1.tgz"; + path = fetchurl { + name = "is_ci___is_ci_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz"; + sha1 = "e3779c8ee17fccf428488f6e281187f2e632841c"; + }; + } + + { + name = "is_cidr___is_cidr_2.0.7.tgz"; + path = fetchurl { + name = "is_cidr___is_cidr_2.0.7.tgz"; + url = "https://registry.yarnpkg.com/is-cidr/-/is-cidr-2.0.7.tgz"; + sha1 = "0fd4b863c26b2eb2d157ed21060c4f3f8dd356ce"; + }; + } + + { + name = "is_cidr___is_cidr_3.0.0.tgz"; + path = fetchurl { + name = "is_cidr___is_cidr_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-cidr/-/is-cidr-3.0.0.tgz"; + sha1 = "1acf35c9e881063cd5f696d48959b30fed3eed56"; + }; + } + + { + name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz"; + path = fetchurl { + name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz"; + url = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz"; + sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56"; + }; + } + + { + name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz"; + path = fetchurl { + name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz"; + sha1 = "d84876321d0e7add03990406abbbbd36ba9268c7"; + }; + } + + { + name = "is_descriptor___is_descriptor_0.1.6.tgz"; + path = fetchurl { + name = "is_descriptor___is_descriptor_0.1.6.tgz"; + url = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz"; + sha1 = "366d8240dde487ca51823b1ab9f07a10a78251ca"; + }; + } + + { + name = "is_descriptor___is_descriptor_1.0.2.tgz"; + path = fetchurl { + name = "is_descriptor___is_descriptor_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz"; + sha1 = "3b159746a66604b04f8c81524ba365c5f14d86ec"; + }; + } + + { + name = "is_directory___is_directory_0.3.1.tgz"; + path = fetchurl { + name = "is_directory___is_directory_0.3.1.tgz"; + url = "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz"; + sha1 = "61339b6f2475fc772fd9c9d83f5c8575dc154ae1"; + }; + } + + { + name = "is_extendable___is_extendable_0.1.1.tgz"; + path = fetchurl { + name = "is_extendable___is_extendable_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz"; + sha1 = "62b110e289a471418e3ec36a617d472e301dfc89"; + }; + } + + { + name = "is_extendable___is_extendable_1.0.1.tgz"; + path = fetchurl { + name = "is_extendable___is_extendable_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz"; + sha1 = "a7470f9e426733d81bd81e1155264e3a3507cab4"; + }; + } + + { + name = "is_extglob___is_extglob_2.1.1.tgz"; + path = fetchurl { + name = "is_extglob___is_extglob_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz"; + sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2"; + }; + } + + { + name = "is_file___is_file_1.0.0.tgz"; + path = fetchurl { + name = "is_file___is_file_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-file/-/is-file-1.0.0.tgz"; + sha1 = "28a44cfbd9d3db193045f22b65fce8edf9620596"; + }; + } + + { + name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz"; + path = fetchurl { + name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz"; + sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb"; + }; + } + + { + name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz"; + path = fetchurl { + name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz"; + sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f"; + }; + } + + { + name = "is_generator___is_generator_1.0.3.tgz"; + path = fetchurl { + name = "is_generator___is_generator_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/is-generator/-/is-generator-1.0.3.tgz"; + sha1 = "c14c21057ed36e328db80347966c693f886389f3"; + }; + } + + { + name = "is_glob___is_glob_3.1.0.tgz"; + path = fetchurl { + name = "is_glob___is_glob_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz"; + sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a"; + }; + } + + { + name = "is_glob___is_glob_4.0.0.tgz"; + path = fetchurl { + name = "is_glob___is_glob_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz"; + sha1 = "9521c76845cc2610a85203ddf080a958c2ffabc0"; + }; + } + + { + name = "is_installed_globally___is_installed_globally_0.1.0.tgz"; + path = fetchurl { + name = "is_installed_globally___is_installed_globally_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz"; + sha1 = "0dfd98f5a9111716dd535dda6492f67bf3d25a80"; + }; + } + + { + name = "is_my_ip_valid___is_my_ip_valid_1.0.0.tgz"; + path = fetchurl { + name = "is_my_ip_valid___is_my_ip_valid_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz"; + sha1 = "7b351b8e8edd4d3995d4d066680e664d94696824"; + }; + } + + { + name = "is_my_json_valid___is_my_json_valid_2.19.0.tgz"; + path = fetchurl { + name = "is_my_json_valid___is_my_json_valid_2.19.0.tgz"; + url = "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.19.0.tgz"; + sha1 = "8fd6e40363cd06b963fa877d444bfb5eddc62175"; + }; + } + + { + name = "is_nan___is_nan_1.2.1.tgz"; + path = fetchurl { + name = "is_nan___is_nan_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/is-nan/-/is-nan-1.2.1.tgz"; + sha1 = "9faf65b6fb6db24b7f5c0628475ea71f988401e2"; + }; + } + + { + name = "is_npm___is_npm_1.0.0.tgz"; + path = fetchurl { + name = "is_npm___is_npm_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz"; + sha1 = "f2fb63a65e4905b406c86072765a1a4dc793b9f4"; + }; + } + + { + name = "is_number___is_number_3.0.0.tgz"; + path = fetchurl { + name = "is_number___is_number_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz"; + sha1 = "24fd6201a4782cf50561c810276afc7d12d71195"; + }; + } + + { + name = "is_obj___is_obj_1.0.1.tgz"; + path = fetchurl { + name = "is_obj___is_obj_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz"; + sha1 = "3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"; + }; + } + + { + name = "is_observable___is_observable_1.1.0.tgz"; + path = fetchurl { + name = "is_observable___is_observable_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz"; + sha1 = "b3e986c8f44de950867cab5403f5a3465005975e"; + }; + } + + { + name = "is_path_cwd___is_path_cwd_1.0.0.tgz"; + path = fetchurl { + name = "is_path_cwd___is_path_cwd_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz"; + sha1 = "d225ec23132e89edd38fda767472e62e65f1106d"; + }; + } + + { + name = "is_path_in_cwd___is_path_in_cwd_1.0.1.tgz"; + path = fetchurl { + name = "is_path_in_cwd___is_path_in_cwd_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz"; + sha1 = "5ac48b345ef675339bd6c7a48a912110b241cf52"; + }; + } + + { + name = "is_path_inside___is_path_inside_1.0.1.tgz"; + path = fetchurl { + name = "is_path_inside___is_path_inside_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz"; + sha1 = "8ef5b7de50437a3fdca6b4e865ef7aa55cb48036"; + }; + } + + { + name = "is_plain_object___is_plain_object_2.0.4.tgz"; + path = fetchurl { + name = "is_plain_object___is_plain_object_2.0.4.tgz"; + url = "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz"; + sha1 = "2c163b3fafb1b606d9d17928f05c2a1c38e07677"; + }; + } + + { + name = "is_promise___is_promise_2.1.0.tgz"; + path = fetchurl { + name = "is_promise___is_promise_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz"; + sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"; + }; + } + + { + name = "is_property___is_property_1.0.2.tgz"; + path = fetchurl { + name = "is_property___is_property_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz"; + sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84"; + }; + } + + { + name = "is_redirect___is_redirect_1.0.0.tgz"; + path = fetchurl { + name = "is_redirect___is_redirect_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz"; + sha1 = "1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"; + }; + } + + { + name = "is_regexp___is_regexp_1.0.0.tgz"; + path = fetchurl { + name = "is_regexp___is_regexp_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz"; + sha1 = "fd2d883545c46bac5a633e7b9a09e87fa2cb5069"; + }; + } + + { + name = "is_resolvable___is_resolvable_1.1.0.tgz"; + path = fetchurl { + name = "is_resolvable___is_resolvable_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz"; + sha1 = "fb18f87ce1feb925169c9a407c19318a3206ed88"; + }; + } + + { + name = "is_retry_allowed___is_retry_allowed_1.1.0.tgz"; + path = fetchurl { + name = "is_retry_allowed___is_retry_allowed_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz"; + sha1 = "11a060568b67339444033d0125a61a20d564fb34"; + }; + } + + { + name = "is_stream___is_stream_1.1.0.tgz"; + path = fetchurl { + name = "is_stream___is_stream_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz"; + sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"; + }; + } + + { + name = "is_typedarray___is_typedarray_1.0.0.tgz"; + path = fetchurl { + name = "is_typedarray___is_typedarray_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz"; + sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a"; + }; + } + + { + name = "is_windows___is_windows_1.0.2.tgz"; + path = fetchurl { + name = "is_windows___is_windows_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz"; + sha1 = "d1850eb9791ecd18e6182ce12a30f396634bb19d"; + }; + } + + { + name = "isarray___isarray_0.0.1.tgz"; + path = fetchurl { + name = "isarray___isarray_0.0.1.tgz"; + url = "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz"; + sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf"; + }; + } + + { + name = "isarray___isarray_1.0.0.tgz"; + path = fetchurl { + name = "isarray___isarray_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz"; + sha1 = "bb935d48582cba168c06834957a54a3e07124f11"; + }; + } + + { + name = "isarray___isarray_2.0.1.tgz"; + path = fetchurl { + name = "isarray___isarray_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz"; + sha1 = "a37d94ed9cda2d59865c9f76fe596ee1f338741e"; + }; + } + + { + name = "isexe___isexe_2.0.0.tgz"; + path = fetchurl { + name = "isexe___isexe_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz"; + sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10"; + }; + } + + { + name = "iso_639_3___iso_639_3_1.1.0.tgz"; + path = fetchurl { + name = "iso_639_3___iso_639_3_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/iso-639-3/-/iso-639-3-1.1.0.tgz"; + sha1 = "83722daf55490a707c318ae18a33ba3bab06c843"; + }; + } + + { + name = "isobject___isobject_2.1.0.tgz"; + path = fetchurl { + name = "isobject___isobject_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz"; + sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89"; + }; + } + + { + name = "isobject___isobject_3.0.1.tgz"; + path = fetchurl { + name = "isobject___isobject_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz"; + sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"; + }; + } + + { + name = "isstream___isstream_0.1.2.tgz"; + path = fetchurl { + name = "isstream___isstream_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz"; + sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a"; + }; + } + + { + name = "jest_get_type___jest_get_type_22.4.3.tgz"; + path = fetchurl { + name = "jest_get_type___jest_get_type_22.4.3.tgz"; + url = "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz"; + sha1 = "e3a8504d8479342dd4420236b322869f18900ce4"; + }; + } + + { + name = "jest_validate___jest_validate_23.6.0.tgz"; + path = fetchurl { + name = "jest_validate___jest_validate_23.6.0.tgz"; + url = "https://registry.yarnpkg.com/jest-validate/-/jest-validate-23.6.0.tgz"; + sha1 = "36761f99d1ed33fcd425b4e4c5595d62b6597474"; + }; + } + + { + name = "js_tokens___js_tokens_3.0.2.tgz"; + path = fetchurl { + name = "js_tokens___js_tokens_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz"; + sha1 = "9866df395102130e38f7f996bceb65443209c25b"; + }; + } + + { + name = "js_yaml___js_yaml_3.12.0.tgz"; + path = fetchurl { + name = "js_yaml___js_yaml_3.12.0.tgz"; + url = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz"; + sha1 = "eaed656ec8344f10f527c6bfa1b6e2244de167d1"; + }; + } + + { + name = "jsbn___jsbn_0.1.1.tgz"; + path = fetchurl { + name = "jsbn___jsbn_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz"; + sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"; + }; + } + + { + name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz"; + path = fetchurl { + name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz"; + sha1 = "bb867cfb3450e69107c131d1c514bab3dc8bcaa9"; + }; + } + + { + name = "json_schema_ref_parser___json_schema_ref_parser_6.0.2.tgz"; + path = fetchurl { + name = "json_schema_ref_parser___json_schema_ref_parser_6.0.2.tgz"; + url = "https://registry.yarnpkg.com/json-schema-ref-parser/-/json-schema-ref-parser-6.0.2.tgz"; + sha1 = "c17bfed06fa7ff8f1ade36067d087b46f5465ef8"; + }; + } + + { + name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz"; + path = fetchurl { + name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz"; + url = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"; + sha1 = "69f6a87d9513ab8bb8fe63bdb0979c448e684660"; + }; + } + + { + name = "json_schema___json_schema_0.2.3.tgz"; + path = fetchurl { + name = "json_schema___json_schema_0.2.3.tgz"; + url = "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz"; + sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13"; + }; + } + + { + name = "json_stable_stringify___json_stable_stringify_1.0.1.tgz"; + path = fetchurl { + name = "json_stable_stringify___json_stable_stringify_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz"; + sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af"; + }; + } + + { + name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz"; + path = fetchurl { + name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz"; + url = "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"; + sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"; + }; + } + + { + name = "json3___json3_3.3.2.tgz"; + path = fetchurl { + name = "json3___json3_3.3.2.tgz"; + url = "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz"; + sha1 = "3c0434743df93e2f5c42aee7b19bcb483575f4e1"; + }; + } + + { + name = "json5___json5_1.0.1.tgz"; + path = fetchurl { + name = "json5___json5_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz"; + sha1 = "779fb0018604fa854eacbf6252180d83543e3dbe"; + }; + } + + { + name = "jsonfile___jsonfile_3.0.1.tgz"; + path = fetchurl { + name = "jsonfile___jsonfile_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.1.tgz"; + sha1 = "a5ecc6f65f53f662c4415c7675a0331d0992ec66"; + }; + } + + { + name = "jsonfile___jsonfile_4.0.0.tgz"; + path = fetchurl { + name = "jsonfile___jsonfile_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz"; + sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb"; + }; + } + + { + name = "jsonify___jsonify_0.0.0.tgz"; + path = fetchurl { + name = "jsonify___jsonify_0.0.0.tgz"; + url = "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz"; + sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73"; + }; + } + + { + name = "https___github.com_Chocobozzz_jsonld_signatures_archive_77660963e722eb4541d2d255f9d9d4216329665f.tar.gz"; + path = fetchurl { + name = "jsonld-signatures.tar.gz"; + url = "https://github.com/Chocobozzz/jsonld-signatures/archive/77660963e722eb4541d2d255f9d9d4216329665f.tar.gz"; + sha256 = "0prld6q913bsh6kyfq43ny7cw5s1ixki5d4z1kw932shw9piqv5m"; + }; + } + + { + name = "jsonld___jsonld_0.5.21.tgz"; + path = fetchurl { + name = "jsonld___jsonld_0.5.21.tgz"; + url = "https://registry.yarnpkg.com/jsonld/-/jsonld-0.5.21.tgz"; + sha1 = "4d5b78d717eb92bcd1ac9d88e34efad95370c0bf"; + }; + } + + { + name = "jsonld___jsonld_1.1.0.tgz"; + path = fetchurl { + name = "jsonld___jsonld_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/jsonld/-/jsonld-1.1.0.tgz"; + sha1 = "afcb168c44557a7bddead4d4513c3cbcae3bc5b9"; + }; + } + + { + name = "jsonparse___jsonparse_1.3.1.tgz"; + path = fetchurl { + name = "jsonparse___jsonparse_1.3.1.tgz"; + url = "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz"; + sha1 = "3f4dae4a91fac315f71062f8521cc239f1366280"; + }; + } + + { + name = "jsonpointer.js___jsonpointer.js_0.4.0.tgz"; + path = fetchurl { + name = "jsonpointer.js___jsonpointer.js_0.4.0.tgz"; + url = "https://registry.yarnpkg.com/jsonpointer.js/-/jsonpointer.js-0.4.0.tgz"; + sha1 = "002cb123f767aafdeb0196132ce5c4f9941ccaba"; + }; + } + + { + name = "jsonpointer___jsonpointer_4.0.1.tgz"; + path = fetchurl { + name = "jsonpointer___jsonpointer_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz"; + sha1 = "4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"; + }; + } + + { + name = "jsonschema_draft4___jsonschema_draft4_1.0.0.tgz"; + path = fetchurl { + name = "jsonschema_draft4___jsonschema_draft4_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/jsonschema-draft4/-/jsonschema-draft4-1.0.0.tgz"; + sha1 = "f0af2005054f0f0ade7ea2118614b69dc512d865"; + }; + } + + { + name = "jsonschema___jsonschema_1.2.4.tgz"; + path = fetchurl { + name = "jsonschema___jsonschema_1.2.4.tgz"; + url = "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.4.tgz"; + sha1 = "a46bac5d3506a254465bc548876e267c6d0d6464"; + }; + } + + { + name = "jsprim___jsprim_1.4.1.tgz"; + path = fetchurl { + name = "jsprim___jsprim_1.4.1.tgz"; + url = "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz"; + sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"; + }; + } + + { + name = "junk___junk_2.1.0.tgz"; + path = fetchurl { + name = "junk___junk_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/junk/-/junk-2.1.0.tgz"; + sha1 = "f431b4b7f072dc500a5f10ce7f4ec71930e70134"; + }; + } + + { + name = "jwa___jwa_1.1.6.tgz"; + path = fetchurl { + name = "jwa___jwa_1.1.6.tgz"; + url = "https://registry.yarnpkg.com/jwa/-/jwa-1.1.6.tgz"; + sha1 = "87240e76c9808dbde18783cf2264ef4929ee50e6"; + }; + } + + { + name = "jws___jws_3.1.5.tgz"; + path = fetchurl { + name = "jws___jws_3.1.5.tgz"; + url = "https://registry.yarnpkg.com/jws/-/jws-3.1.5.tgz"; + sha1 = "80d12d05b293d1e841e7cb8b4e69e561adcf834f"; + }; + } + + { + name = "k_bucket___k_bucket_4.0.1.tgz"; + path = fetchurl { + name = "k_bucket___k_bucket_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/k-bucket/-/k-bucket-4.0.1.tgz"; + sha1 = "3fc2e5693f0b7bff90d7b6b476edd6087955d542"; + }; + } + + { + name = "k_bucket___k_bucket_5.0.0.tgz"; + path = fetchurl { + name = "k_bucket___k_bucket_5.0.0.tgz"; + url = "https://registry.yarnpkg.com/k-bucket/-/k-bucket-5.0.0.tgz"; + sha1 = "ef7a401fcd4c37cd31dceaa6ae4440ca91055e01"; + }; + } + + { + name = "k_rpc_socket___k_rpc_socket_1.8.0.tgz"; + path = fetchurl { + name = "k_rpc_socket___k_rpc_socket_1.8.0.tgz"; + url = "https://registry.yarnpkg.com/k-rpc-socket/-/k-rpc-socket-1.8.0.tgz"; + sha1 = "9a4dd6a4f3795ed847ffa156579cc389990bd1f2"; + }; + } + + { + name = "k_rpc___k_rpc_5.0.0.tgz"; + path = fetchurl { + name = "k_rpc___k_rpc_5.0.0.tgz"; + url = "https://registry.yarnpkg.com/k-rpc/-/k-rpc-5.0.0.tgz"; + sha1 = "a72651860c96db440579e4c9f38dce8a42b481a8"; + }; + } + + { + name = "kind_of___kind_of_3.2.2.tgz"; + path = fetchurl { + name = "kind_of___kind_of_3.2.2.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz"; + sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64"; + }; + } + + { + name = "kind_of___kind_of_4.0.0.tgz"; + path = fetchurl { + name = "kind_of___kind_of_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz"; + sha1 = "20813df3d712928b207378691a45066fae72dd57"; + }; + } + + { + name = "kind_of___kind_of_5.1.0.tgz"; + path = fetchurl { + name = "kind_of___kind_of_5.1.0.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz"; + sha1 = "729c91e2d857b7a419a1f9aa65685c4c33f5845d"; + }; + } + + { + name = "kind_of___kind_of_6.0.2.tgz"; + path = fetchurl { + name = "kind_of___kind_of_6.0.2.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz"; + sha1 = "01146b36a6218e64e58f3a8d66de5d7fc6f6d051"; + }; + } + + { + name = "known_css_properties___known_css_properties_0.3.0.tgz"; + path = fetchurl { + name = "known_css_properties___known_css_properties_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.3.0.tgz"; + sha1 = "a3d135bbfc60ee8c6eacf2f7e7e6f2d4755e49a4"; + }; + } + + { + name = "kuler___kuler_1.0.1.tgz"; + path = fetchurl { + name = "kuler___kuler_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/kuler/-/kuler-1.0.1.tgz"; + sha1 = "ef7c784f36c9fb6e16dd3150d152677b2b0228a6"; + }; + } + + { + name = "last_one_wins___last_one_wins_1.0.4.tgz"; + path = fetchurl { + name = "last_one_wins___last_one_wins_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/last-one-wins/-/last-one-wins-1.0.4.tgz"; + sha1 = "c1bfd0cbcb46790ec9156b8d1aee8fcb86cda22a"; + }; + } + + { + name = "latest_version___latest_version_3.1.0.tgz"; + path = fetchurl { + name = "latest_version___latest_version_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz"; + sha1 = "a205383fea322b33b5ae3b18abee0dc2f356ee15"; + }; + } + + { + name = "lazy_property___lazy_property_1.0.0.tgz"; + path = fetchurl { + name = "lazy_property___lazy_property_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/lazy-property/-/lazy-property-1.0.0.tgz"; + sha1 = "84ddc4b370679ba8bd4cdcfa4c06b43d57111147"; + }; + } + + { + name = "lcid___lcid_1.0.0.tgz"; + path = fetchurl { + name = "lcid___lcid_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz"; + sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835"; + }; + } + + { + name = "lcid___lcid_2.0.0.tgz"; + path = fetchurl { + name = "lcid___lcid_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz"; + sha1 = "6ef5d2df60e52f82eb228a4c373e8d1f397253cf"; + }; + } + + { + name = "ldap_filter___ldap_filter_0.2.2.tgz"; + path = fetchurl { + name = "ldap_filter___ldap_filter_0.2.2.tgz"; + url = "https://registry.yarnpkg.com/ldap-filter/-/ldap-filter-0.2.2.tgz"; + sha1 = "f2b842be0b86da3352798505b31ebcae590d77d0"; + }; + } + + { + name = "ldapjs___ldapjs_1.0.2.tgz"; + path = fetchurl { + name = "ldapjs___ldapjs_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/ldapjs/-/ldapjs-1.0.2.tgz"; + sha1 = "544ff7032b7b83c68f0701328d9297aa694340f9"; + }; + } + + { + name = "leven___leven_2.1.0.tgz"; + path = fetchurl { + name = "leven___leven_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz"; + sha1 = "c2e7a9f772094dee9d34202ae8acce4687875580"; + }; + } + + { + name = "levn___levn_0.3.0.tgz"; + path = fetchurl { + name = "levn___levn_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz"; + sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee"; + }; + } + + { + name = "libcipm___libcipm_2.0.2.tgz"; + path = fetchurl { + name = "libcipm___libcipm_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/libcipm/-/libcipm-2.0.2.tgz"; + sha1 = "4f38c2b37acf2ec156936cef1cbf74636568fc7b"; + }; + } + + { + name = "libnpmhook___libnpmhook_4.0.1.tgz"; + path = fetchurl { + name = "libnpmhook___libnpmhook_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/libnpmhook/-/libnpmhook-4.0.1.tgz"; + sha1 = "63641654de772cbeb96a88527a7fd5456ec3c2d7"; + }; + } + + { + name = "libnpx___libnpx_10.2.0.tgz"; + path = fetchurl { + name = "libnpx___libnpx_10.2.0.tgz"; + url = "https://registry.yarnpkg.com/libnpx/-/libnpx-10.2.0.tgz"; + sha1 = "1bf4a1c9f36081f64935eb014041da10855e3102"; + }; + } + + { + name = "libxmljs___libxmljs_0.19.5.tgz"; + path = fetchurl { + name = "libxmljs___libxmljs_0.19.5.tgz"; + url = "https://registry.yarnpkg.com/libxmljs/-/libxmljs-0.19.5.tgz"; + sha1 = "b2f34cc12fd6a3e43670c604c42a902f339ea54d"; + }; + } + + { + name = "lint_staged___lint_staged_8.1.0.tgz"; + path = fetchurl { + name = "lint_staged___lint_staged_8.1.0.tgz"; + url = "https://registry.yarnpkg.com/lint-staged/-/lint-staged-8.1.0.tgz"; + sha1 = "dbc3ae2565366d8f20efb9f9799d076da64863f2"; + }; + } + + { + name = "listr_silent_renderer___listr_silent_renderer_1.1.1.tgz"; + path = fetchurl { + name = "listr_silent_renderer___listr_silent_renderer_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz"; + sha1 = "924b5a3757153770bf1a8e3fbf74b8bbf3f9242e"; + }; + } + + { + name = "listr_update_renderer___listr_update_renderer_0.5.0.tgz"; + path = fetchurl { + name = "listr_update_renderer___listr_update_renderer_0.5.0.tgz"; + url = "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz"; + sha1 = "4ea8368548a7b8aecb7e06d8c95cb45ae2ede6a2"; + }; + } + + { + name = "listr_verbose_renderer___listr_verbose_renderer_0.5.0.tgz"; + path = fetchurl { + name = "listr_verbose_renderer___listr_verbose_renderer_0.5.0.tgz"; + url = "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz"; + sha1 = "f1132167535ea4c1261102b9f28dac7cba1e03db"; + }; + } + + { + name = "listr___listr_0.14.3.tgz"; + path = fetchurl { + name = "listr___listr_0.14.3.tgz"; + url = "https://registry.yarnpkg.com/listr/-/listr-0.14.3.tgz"; + sha1 = "2fea909604e434be464c50bddba0d496928fa586"; + }; + } + + { + name = "load_ip_set___load_ip_set_2.1.0.tgz"; + path = fetchurl { + name = "load_ip_set___load_ip_set_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/load-ip-set/-/load-ip-set-2.1.0.tgz"; + sha1 = "2d50b737cae41de4e413d213991d4083a3e1784b"; + }; + } + + { + name = "locate_path___locate_path_2.0.0.tgz"; + path = fetchurl { + name = "locate_path___locate_path_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz"; + sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"; + }; + } + + { + name = "locate_path___locate_path_3.0.0.tgz"; + path = fetchurl { + name = "locate_path___locate_path_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz"; + sha1 = "dbec3b3ab759758071b58fe59fc41871af21400e"; + }; + } + + { + name = "lock_verify___lock_verify_2.0.2.tgz"; + path = fetchurl { + name = "lock_verify___lock_verify_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/lock-verify/-/lock-verify-2.0.2.tgz"; + sha1 = "148e4f85974915c9e3c34d694b7de9ecb18ee7a8"; + }; + } + + { + name = "lockfile___lockfile_1.0.4.tgz"; + path = fetchurl { + name = "lockfile___lockfile_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/lockfile/-/lockfile-1.0.4.tgz"; + sha1 = "07f819d25ae48f87e538e6578b6964a4981a5609"; + }; + } + + { + name = "lodash._baseuniq___lodash._baseuniq_4.6.0.tgz"; + path = fetchurl { + name = "lodash._baseuniq___lodash._baseuniq_4.6.0.tgz"; + url = "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz"; + sha1 = "0ebb44e456814af7905c6212fa2c9b2d51b841e8"; + }; + } + + { + name = "lodash._createset___lodash._createset_4.0.3.tgz"; + path = fetchurl { + name = "lodash._createset___lodash._createset_4.0.3.tgz"; + url = "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz"; + sha1 = "0f4659fbb09d75194fa9e2b88a6644d363c9fe26"; + }; + } + + { + name = "lodash._root___lodash._root_3.0.1.tgz"; + path = fetchurl { + name = "lodash._root___lodash._root_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz"; + sha1 = "fba1c4524c19ee9a5f8136b4609f017cf4ded692"; + }; + } + + { + name = "lodash.assign___lodash.assign_4.2.0.tgz"; + path = fetchurl { + name = "lodash.assign___lodash.assign_4.2.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz"; + sha1 = "0d99f3ccd7a6d261d19bdaeb9245005d285808e7"; + }; + } + + { + name = "lodash.bind___lodash.bind_4.2.1.tgz"; + path = fetchurl { + name = "lodash.bind___lodash.bind_4.2.1.tgz"; + url = "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz"; + sha1 = "7ae3017e939622ac31b7d7d7dcb1b34db1690d35"; + }; + } + + { + name = "lodash.capitalize___lodash.capitalize_4.2.1.tgz"; + path = fetchurl { + name = "lodash.capitalize___lodash.capitalize_4.2.1.tgz"; + url = "https://registry.yarnpkg.com/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz"; + sha1 = "f826c9b4e2a8511d84e3aca29db05e1a4f3b72a9"; + }; + } + + { + name = "lodash.clone___lodash.clone_4.5.0.tgz"; + path = fetchurl { + name = "lodash.clone___lodash.clone_4.5.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.clone/-/lodash.clone-4.5.0.tgz"; + sha1 = "195870450f5a13192478df4bc3d23d2dea1907b6"; + }; + } + + { + name = "lodash.clonedeep___lodash.clonedeep_4.5.0.tgz"; + path = fetchurl { + name = "lodash.clonedeep___lodash.clonedeep_4.5.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz"; + sha1 = "e23f3f9c4f8fbdde872529c1071857a086e5ccef"; + }; + } + + { + name = "lodash.debounce___lodash.debounce_4.0.8.tgz"; + path = fetchurl { + name = "lodash.debounce___lodash.debounce_4.0.8.tgz"; + url = "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz"; + sha1 = "82d79bff30a67c4005ffd5e2515300ad9ca4d7af"; + }; + } + + { + name = "lodash.defaults___lodash.defaults_4.2.0.tgz"; + path = fetchurl { + name = "lodash.defaults___lodash.defaults_4.2.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz"; + sha1 = "d09178716ffea4dde9e5fb7b37f6f0802274580c"; + }; + } + + { + name = "lodash.difference___lodash.difference_4.5.0.tgz"; + path = fetchurl { + name = "lodash.difference___lodash.difference_4.5.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz"; + sha1 = "9ccb4e505d486b91651345772885a2df27fd017c"; + }; + } + + { + name = "lodash.flatten___lodash.flatten_4.4.0.tgz"; + path = fetchurl { + name = "lodash.flatten___lodash.flatten_4.4.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz"; + sha1 = "f31c22225a9632d2bbf8e4addbef240aa765a61f"; + }; + } + + { + name = "lodash.foreach___lodash.foreach_4.5.0.tgz"; + path = fetchurl { + name = "lodash.foreach___lodash.foreach_4.5.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz"; + sha1 = "1a6a35eace401280c7f06dddec35165ab27e3e53"; + }; + } + + { + name = "lodash.get___lodash.get_4.4.2.tgz"; + path = fetchurl { + name = "lodash.get___lodash.get_4.4.2.tgz"; + url = "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz"; + sha1 = "2d177f652fa31e939b4438d5341499dfa3825e99"; + }; + } + + { + name = "lodash.isempty___lodash.isempty_4.4.0.tgz"; + path = fetchurl { + name = "lodash.isempty___lodash.isempty_4.4.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz"; + sha1 = "6f86cbedd8be4ec987be9aaf33c9684db1b31e7e"; + }; + } + + { + name = "lodash.isequal___lodash.isequal_4.5.0.tgz"; + path = fetchurl { + name = "lodash.isequal___lodash.isequal_4.5.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz"; + sha1 = "415c4478f2bcc30120c22ce10ed3226f7d3e18e0"; + }; + } + + { + name = "lodash.kebabcase___lodash.kebabcase_4.1.1.tgz"; + path = fetchurl { + name = "lodash.kebabcase___lodash.kebabcase_4.1.1.tgz"; + url = "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz"; + sha1 = "8489b1cb0d29ff88195cceca448ff6d6cc295c36"; + }; + } + + { + name = "lodash.keys___lodash.keys_4.2.0.tgz"; + path = fetchurl { + name = "lodash.keys___lodash.keys_4.2.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-4.2.0.tgz"; + sha1 = "a08602ac12e4fb83f91fc1fb7a360a4d9ba35205"; + }; + } + + { + name = "lodash.noop___lodash.noop_3.0.1.tgz"; + path = fetchurl { + name = "lodash.noop___lodash.noop_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/lodash.noop/-/lodash.noop-3.0.1.tgz"; + sha1 = "38188f4d650a3a474258439b96ec45b32617133c"; + }; + } + + { + name = "lodash.partial___lodash.partial_4.2.1.tgz"; + path = fetchurl { + name = "lodash.partial___lodash.partial_4.2.1.tgz"; + url = "https://registry.yarnpkg.com/lodash.partial/-/lodash.partial-4.2.1.tgz"; + sha1 = "49f3d8cfdaa3bff8b3a91d127e923245418961d4"; + }; + } + + { + name = "lodash.pick___lodash.pick_4.4.0.tgz"; + path = fetchurl { + name = "lodash.pick___lodash.pick_4.4.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz"; + sha1 = "52f05610fff9ded422611441ed1fc123a03001b3"; + }; + } + + { + name = "lodash.sample___lodash.sample_4.2.1.tgz"; + path = fetchurl { + name = "lodash.sample___lodash.sample_4.2.1.tgz"; + url = "https://registry.yarnpkg.com/lodash.sample/-/lodash.sample-4.2.1.tgz"; + sha1 = "5e4291b0c753fa1abeb0aab8fb29df1b66f07f6d"; + }; + } + + { + name = "lodash.shuffle___lodash.shuffle_4.2.0.tgz"; + path = fetchurl { + name = "lodash.shuffle___lodash.shuffle_4.2.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.shuffle/-/lodash.shuffle-4.2.0.tgz"; + sha1 = "145b5053cf875f6f5c2a33f48b6e9948c6ec7b4b"; + }; + } + + { + name = "lodash.union___lodash.union_4.6.0.tgz"; + path = fetchurl { + name = "lodash.union___lodash.union_4.6.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz"; + sha1 = "48bb5088409f16f1821666641c44dd1aaae3cd88"; + }; + } + + { + name = "lodash.uniq___lodash.uniq_4.5.0.tgz"; + path = fetchurl { + name = "lodash.uniq___lodash.uniq_4.5.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz"; + sha1 = "d0225373aeb652adc1bc82e4945339a842754773"; + }; + } + + { + name = "lodash.values___lodash.values_4.3.0.tgz"; + path = fetchurl { + name = "lodash.values___lodash.values_4.3.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.values/-/lodash.values-4.3.0.tgz"; + sha1 = "a3a6c2b0ebecc5c2cba1c17e6e620fe81b53d347"; + }; + } + + { + name = "lodash.without___lodash.without_4.4.0.tgz"; + path = fetchurl { + name = "lodash.without___lodash.without_4.4.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz"; + sha1 = "3cd4574a00b67bae373a94b748772640507b7aac"; + }; + } + + { + name = "lodash___lodash_4.17.4.tgz"; + path = fetchurl { + name = "lodash___lodash_4.17.4.tgz"; + url = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz"; + sha1 = "78203a4d1c328ae1d86dca6460e369b57f4055ae"; + }; + } + + { + name = "lodash___lodash_3.10.1.tgz"; + path = fetchurl { + name = "lodash___lodash_3.10.1.tgz"; + url = "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz"; + sha1 = "5bf45e8e49ba4189e17d482789dfd15bd140b7b6"; + }; + } + + { + name = "lodash___lodash_4.17.11.tgz"; + path = fetchurl { + name = "lodash___lodash_4.17.11.tgz"; + url = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz"; + sha1 = "b39ea6229ef607ecd89e2c8df12536891cac9b8d"; + }; + } + + { + name = "log_symbols___log_symbols_1.0.2.tgz"; + path = fetchurl { + name = "log_symbols___log_symbols_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz"; + sha1 = "376ff7b58ea3086a0f09facc74617eca501e1a18"; + }; + } + + { + name = "log_symbols___log_symbols_2.2.0.tgz"; + path = fetchurl { + name = "log_symbols___log_symbols_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz"; + sha1 = "5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a"; + }; + } + + { + name = "log_update___log_update_2.3.0.tgz"; + path = fetchurl { + name = "log_update___log_update_2.3.0.tgz"; + url = "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz"; + sha1 = "88328fd7d1ce7938b29283746f0b1bc126b24708"; + }; + } + + { + name = "logform___logform_1.10.0.tgz"; + path = fetchurl { + name = "logform___logform_1.10.0.tgz"; + url = "https://registry.yarnpkg.com/logform/-/logform-1.10.0.tgz"; + sha1 = "c9d5598714c92b546e23f4e78147c40f1e02012e"; + }; + } + + { + name = "lowercase_keys___lowercase_keys_1.0.1.tgz"; + path = fetchurl { + name = "lowercase_keys___lowercase_keys_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz"; + sha1 = "6f9e30b47084d971a7c820ff15a6c5167b74c26f"; + }; + } + + { + name = "lru_cache___lru_cache_4.1.5.tgz"; + path = fetchurl { + name = "lru_cache___lru_cache_4.1.5.tgz"; + url = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz"; + sha1 = "8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"; + }; + } + + { + name = "lru_queue___lru_queue_0.1.0.tgz"; + path = fetchurl { + name = "lru_queue___lru_queue_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz"; + sha1 = "2738bd9f0d3cf4f84490c5736c48699ac632cda3"; + }; + } + + { + name = "lru___lru_3.1.0.tgz"; + path = fetchurl { + name = "lru___lru_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/lru/-/lru-3.1.0.tgz"; + sha1 = "ea7fb8546d83733396a13091d76cfeb4c06837d5"; + }; + } + + { + name = "magnet_uri___magnet_uri_5.2.4.tgz"; + path = fetchurl { + name = "magnet_uri___magnet_uri_5.2.4.tgz"; + url = "https://registry.yarnpkg.com/magnet-uri/-/magnet-uri-5.2.4.tgz"; + sha1 = "7afe5b736af04445aff744c93a890a3710077688"; + }; + } + + { + name = "maildev___maildev_1.0.0_rc3.tgz"; + path = fetchurl { + name = "maildev___maildev_1.0.0_rc3.tgz"; + url = "https://registry.yarnpkg.com/maildev/-/maildev-1.0.0-rc3.tgz"; + sha1 = "89429d47b07633e3269a74e484991eecdf3a3857"; + }; + } + + { + name = "mailparser___mailparser_0.6.2.tgz"; + path = fetchurl { + name = "mailparser___mailparser_0.6.2.tgz"; + url = "https://registry.yarnpkg.com/mailparser/-/mailparser-0.6.2.tgz"; + sha1 = "03c486039bdf4df6cd3b6adcaaac4107dfdbc068"; + }; + } + + { + name = "make_dir___make_dir_1.3.0.tgz"; + path = fetchurl { + name = "make_dir___make_dir_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz"; + sha1 = "79c1033b80515bd6d24ec9933e860ca75ee27f0c"; + }; + } + + { + name = "make_error___make_error_1.3.5.tgz"; + path = fetchurl { + name = "make_error___make_error_1.3.5.tgz"; + url = "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz"; + sha1 = "efe4e81f6db28cadd605c70f29c831b58ef776c8"; + }; + } + + { + name = "make_fetch_happen___make_fetch_happen_4.0.1.tgz"; + path = fetchurl { + name = "make_fetch_happen___make_fetch_happen_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-4.0.1.tgz"; + sha1 = "141497cb878f243ba93136c83d8aba12c216c083"; + }; + } + + { + name = "make_fetch_happen___make_fetch_happen_3.0.0.tgz"; + path = fetchurl { + name = "make_fetch_happen___make_fetch_happen_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-3.0.0.tgz"; + sha1 = "7b661d2372fc4710ab5cc8e1fa3c290eea69a961"; + }; + } + + { + name = "map_age_cleaner___map_age_cleaner_0.1.3.tgz"; + path = fetchurl { + name = "map_age_cleaner___map_age_cleaner_0.1.3.tgz"; + url = "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz"; + sha1 = "7d583a7306434c055fe474b0f45078e6e1b4b92a"; + }; + } + + { + name = "map_cache___map_cache_0.2.2.tgz"; + path = fetchurl { + name = "map_cache___map_cache_0.2.2.tgz"; + url = "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz"; + sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"; + }; + } + + { + name = "map_visit___map_visit_1.0.0.tgz"; + path = fetchurl { + name = "map_visit___map_visit_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz"; + sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"; + }; + } + + { + name = "marked_man___marked_man_0.2.1.tgz"; + path = fetchurl { + name = "marked_man___marked_man_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/marked-man/-/marked-man-0.2.1.tgz"; + sha1 = "f259271481de3b507263489f5221b7c5acfd2383"; + }; + } + + { + name = "marked___marked_0.3.19.tgz"; + path = fetchurl { + name = "marked___marked_0.3.19.tgz"; + url = "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz"; + sha1 = "5d47f709c4c9fc3c216b6d46127280f40b39d790"; + }; + } + + { + name = "matcher___matcher_1.1.1.tgz"; + path = fetchurl { + name = "matcher___matcher_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/matcher/-/matcher-1.1.1.tgz"; + sha1 = "51d8301e138f840982b338b116bb0c09af62c1c2"; + }; + } + + { + name = "md5___md5_2.2.1.tgz"; + path = fetchurl { + name = "md5___md5_2.2.1.tgz"; + url = "https://registry.yarnpkg.com/md5/-/md5-2.2.1.tgz"; + sha1 = "53ab38d5fe3c8891ba465329ea23fac0540126f9"; + }; + } + + { + name = "meant___meant_1.0.1.tgz"; + path = fetchurl { + name = "meant___meant_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/meant/-/meant-1.0.1.tgz"; + sha1 = "66044fea2f23230ec806fb515efea29c44d2115d"; + }; + } + + { + name = "media_typer___media_typer_0.3.0.tgz"; + path = fetchurl { + name = "media_typer___media_typer_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz"; + sha1 = "8710d7af0aa626f8fffa1ce00168545263255748"; + }; + } + + { + name = "mediasource___mediasource_2.2.2.tgz"; + path = fetchurl { + name = "mediasource___mediasource_2.2.2.tgz"; + url = "https://registry.yarnpkg.com/mediasource/-/mediasource-2.2.2.tgz"; + sha1 = "2fe826f14e51da97fa4bf87be7b808a0b11d3a4c"; + }; + } + + { + name = "mem___mem_1.1.0.tgz"; + path = fetchurl { + name = "mem___mem_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz"; + sha1 = "5edd52b485ca1d900fe64895505399a0dfa45f76"; + }; + } + + { + name = "mem___mem_4.0.0.tgz"; + path = fetchurl { + name = "mem___mem_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/mem/-/mem-4.0.0.tgz"; + sha1 = "6437690d9471678f6cc83659c00cbafcd6b0cdaf"; + }; + } + + { + name = "memoizee___memoizee_0.4.14.tgz"; + path = fetchurl { + name = "memoizee___memoizee_0.4.14.tgz"; + url = "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.14.tgz"; + sha1 = "07a00f204699f9a95c2d9e77218271c7cd610d57"; + }; + } + + { + name = "memory_chunk_store___memory_chunk_store_1.3.0.tgz"; + path = fetchurl { + name = "memory_chunk_store___memory_chunk_store_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/memory-chunk-store/-/memory-chunk-store-1.3.0.tgz"; + sha1 = "ae99e7e3b58b52db43d49d94722930d39459d0c4"; + }; + } + + { + name = "merge_descriptors___merge_descriptors_1.0.1.tgz"; + path = fetchurl { + name = "merge_descriptors___merge_descriptors_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz"; + sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61"; + }; + } + + { + name = "merge___merge_1.2.1.tgz"; + path = fetchurl { + name = "merge___merge_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/merge/-/merge-1.2.1.tgz"; + sha1 = "38bebf80c3220a8a487b6fcfb3941bb11720c145"; + }; + } + + { + name = "methods___methods_1.1.2.tgz"; + path = fetchurl { + name = "methods___methods_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz"; + sha1 = "5529a4d67654134edcc5266656835b0f851afcee"; + }; + } + + { + name = "micromatch___micromatch_3.1.10.tgz"; + path = fetchurl { + name = "micromatch___micromatch_3.1.10.tgz"; + url = "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz"; + sha1 = "70859bc95c9840952f359a068a3fc49f9ecfac23"; + }; + } + + { + name = "mime_db___mime_db_1.37.0.tgz"; + path = fetchurl { + name = "mime_db___mime_db_1.37.0.tgz"; + url = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz"; + sha1 = "0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8"; + }; + } + + { + name = "mime_types___mime_types_2.1.21.tgz"; + path = fetchurl { + name = "mime_types___mime_types_2.1.21.tgz"; + url = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz"; + sha1 = "28995aa1ecb770742fe6ae7e58f9181c744b3f96"; + }; + } + + { + name = "mime___mime_1.3.4.tgz"; + path = fetchurl { + name = "mime___mime_1.3.4.tgz"; + url = "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz"; + sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53"; + }; + } + + { + name = "mime___mime_1.4.1.tgz"; + path = fetchurl { + name = "mime___mime_1.4.1.tgz"; + url = "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz"; + sha1 = "121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"; + }; + } + + { + name = "mime___mime_1.6.0.tgz"; + path = fetchurl { + name = "mime___mime_1.6.0.tgz"; + url = "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz"; + sha1 = "32cd9e5c64553bd58d19a568af452acff04981b1"; + }; + } + + { + name = "mime___mime_2.4.0.tgz"; + path = fetchurl { + name = "mime___mime_2.4.0.tgz"; + url = "https://registry.yarnpkg.com/mime/-/mime-2.4.0.tgz"; + sha1 = "e051fd881358585f3279df333fe694da0bcffdd6"; + }; + } + + { + name = "mimelib___mimelib_0.3.1.tgz"; + path = fetchurl { + name = "mimelib___mimelib_0.3.1.tgz"; + url = "https://registry.yarnpkg.com/mimelib/-/mimelib-0.3.1.tgz"; + sha1 = "787add2415d827acb3af6ec4bca1ea9596418853"; + }; + } + + { + name = "mimic_fn___mimic_fn_1.2.0.tgz"; + path = fetchurl { + name = "mimic_fn___mimic_fn_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz"; + sha1 = "820c86a39334640e99516928bd03fca88057d022"; + }; + } + + { + name = "mimic_response___mimic_response_1.0.1.tgz"; + path = fetchurl { + name = "mimic_response___mimic_response_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz"; + sha1 = "4923538878eef42063cb8a3e3b0798781487ab1b"; + }; + } + + { + name = "minimalistic_assert___minimalistic_assert_1.0.1.tgz"; + path = fetchurl { + name = "minimalistic_assert___minimalistic_assert_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz"; + sha1 = "2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"; + }; + } + + { + name = "minimatch___minimatch_3.0.4.tgz"; + path = fetchurl { + name = "minimatch___minimatch_3.0.4.tgz"; + url = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz"; + sha1 = "5166e286457f03306064be5497e8dbb0c3d32083"; + }; + } + + { + name = "minimist___minimist_0.0.8.tgz"; + path = fetchurl { + name = "minimist___minimist_0.0.8.tgz"; + url = "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz"; + sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d"; + }; + } + + { + name = "minimist___minimist_1.1.3.tgz"; + path = fetchurl { + name = "minimist___minimist_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz"; + sha1 = "3bedfd91a92d39016fcfaa1c681e8faa1a1efda8"; + }; + } + + { + name = "minimist___minimist_1.2.0.tgz"; + path = fetchurl { + name = "minimist___minimist_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz"; + sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284"; + }; + } + + { + name = "minipass___minipass_2.3.5.tgz"; + path = fetchurl { + name = "minipass___minipass_2.3.5.tgz"; + url = "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz"; + sha1 = "cacebe492022497f656b0f0f51e2682a9ed2d848"; + }; + } + + { + name = "minizlib___minizlib_1.1.1.tgz"; + path = fetchurl { + name = "minizlib___minizlib_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.1.tgz"; + sha1 = "6734acc045a46e61d596a43bb9d9cd326e19cc42"; + }; + } + + { + name = "mississippi___mississippi_2.0.0.tgz"; + path = fetchurl { + name = "mississippi___mississippi_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz"; + sha1 = "3442a508fafc28500486feea99409676e4ee5a6f"; + }; + } + + { + name = "mississippi___mississippi_3.0.0.tgz"; + path = fetchurl { + name = "mississippi___mississippi_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz"; + sha1 = "ea0a3291f97e0b5e8776b363d5f0a12d94c67022"; + }; + } + + { + name = "mixin_deep___mixin_deep_1.3.1.tgz"; + path = fetchurl { + name = "mixin_deep___mixin_deep_1.3.1.tgz"; + url = "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz"; + sha1 = "a49e7268dce1a0d9698e45326c5626df3543d0fe"; + }; + } + + { + name = "mkdirp___mkdirp_0.5.1.tgz"; + path = fetchurl { + name = "mkdirp___mkdirp_0.5.1.tgz"; + url = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz"; + sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903"; + }; + } + + { + name = "mocha___mocha_5.2.0.tgz"; + path = fetchurl { + name = "mocha___mocha_5.2.0.tgz"; + url = "https://registry.yarnpkg.com/mocha/-/mocha-5.2.0.tgz"; + sha1 = "6d8ae508f59167f940f2b5b3c4a612ae50c90ae6"; + }; + } + + { + name = "moment_timezone___moment_timezone_0.5.23.tgz"; + path = fetchurl { + name = "moment_timezone___moment_timezone_0.5.23.tgz"; + url = "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.23.tgz"; + sha1 = "7cbb00db2c14c71b19303cb47b0fb0a6d8651463"; + }; + } + + { + name = "moment___moment_2.22.2.tgz"; + path = fetchurl { + name = "moment___moment_2.22.2.tgz"; + url = "https://registry.yarnpkg.com/moment/-/moment-2.22.2.tgz"; + sha1 = "3c257f9839fc0e93ff53149632239eb90783ff66"; + }; + } + + { + name = "moment___moment_2.24.0.tgz"; + path = fetchurl { + name = "moment___moment_2.24.0.tgz"; + url = "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz"; + sha1 = "0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b"; + }; + } + + { + name = "morgan___morgan_1.9.1.tgz"; + path = fetchurl { + name = "morgan___morgan_1.9.1.tgz"; + url = "https://registry.yarnpkg.com/morgan/-/morgan-1.9.1.tgz"; + sha1 = "0a8d16734a1d9afbc824b99df87e738e58e2da59"; + }; + } + + { + name = "move_concurrently___move_concurrently_1.0.1.tgz"; + path = fetchurl { + name = "move_concurrently___move_concurrently_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz"; + sha1 = "be2c005fda32e0b29af1f05d7c4b33214c701f92"; + }; + } + + { + name = "mp4_box_encoding___mp4_box_encoding_1.3.0.tgz"; + path = fetchurl { + name = "mp4_box_encoding___mp4_box_encoding_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/mp4-box-encoding/-/mp4-box-encoding-1.3.0.tgz"; + sha1 = "2a6f750947ff68c3a498fd76cd6424c53d995d48"; + }; + } + + { + name = "mp4_stream___mp4_stream_2.0.3.tgz"; + path = fetchurl { + name = "mp4_stream___mp4_stream_2.0.3.tgz"; + url = "https://registry.yarnpkg.com/mp4-stream/-/mp4-stream-2.0.3.tgz"; + sha1 = "30acee07709d323f8dcd87a07b3ce9c3c4bfb364"; + }; + } + + { + name = "ms___ms_0.7.1.tgz"; + path = fetchurl { + name = "ms___ms_0.7.1.tgz"; + url = "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz"; + sha1 = "9cd13c03adbff25b65effde7ce864ee952017098"; + }; + } + + { + name = "ms___ms_0.7.2.tgz"; + path = fetchurl { + name = "ms___ms_0.7.2.tgz"; + url = "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz"; + sha1 = "ae25cf2512b3885a1d95d7f037868d8431124765"; + }; + } + + { + name = "ms___ms_2.0.0.tgz"; + path = fetchurl { + name = "ms___ms_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz"; + sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8"; + }; + } + + { + name = "ms___ms_2.1.1.tgz"; + path = fetchurl { + name = "ms___ms_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz"; + sha1 = "30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"; + }; + } + + { + name = "multer___multer_1.4.1.tgz"; + path = fetchurl { + name = "multer___multer_1.4.1.tgz"; + url = "https://registry.yarnpkg.com/multer/-/multer-1.4.1.tgz"; + sha1 = "24b12a416a22fec2ade810539184bf138720159e"; + }; + } + + { + name = "multistream___multistream_2.1.1.tgz"; + path = fetchurl { + name = "multistream___multistream_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/multistream/-/multistream-2.1.1.tgz"; + sha1 = "629d3a29bd76623489980d04519a2c365948148c"; + }; + } + + { + name = "mute_stream___mute_stream_0.0.5.tgz"; + path = fetchurl { + name = "mute_stream___mute_stream_0.0.5.tgz"; + url = "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz"; + sha1 = "8fbfabb0a98a253d3184331f9e8deb7372fac6c0"; + }; + } + + { + name = "mute_stream___mute_stream_0.0.7.tgz"; + path = fetchurl { + name = "mute_stream___mute_stream_0.0.7.tgz"; + url = "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz"; + sha1 = "3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"; + }; + } + + { + name = "mv___mv_2.1.1.tgz"; + path = fetchurl { + name = "mv___mv_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz"; + sha1 = "ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2"; + }; + } + + { + name = "nan___nan_2.11.1.tgz"; + path = fetchurl { + name = "nan___nan_2.11.1.tgz"; + url = "https://registry.yarnpkg.com/nan/-/nan-2.11.1.tgz"; + sha1 = "90e22bccb8ca57ea4cd37cc83d3819b52eea6766"; + }; + } + + { + name = "nan___nan_2.10.0.tgz"; + path = fetchurl { + name = "nan___nan_2.10.0.tgz"; + url = "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz"; + sha1 = "96d0cd610ebd58d4b4de9cc0c6828cda99c7548f"; + }; + } + + { + name = "nanomatch___nanomatch_1.2.13.tgz"; + path = fetchurl { + name = "nanomatch___nanomatch_1.2.13.tgz"; + url = "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz"; + sha1 = "b87a8aa4fc0de8fe6be88895b38983ff265bd119"; + }; + } + + { + name = "napi_build_utils___napi_build_utils_1.0.1.tgz"; + path = fetchurl { + name = "napi_build_utils___napi_build_utils_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.1.tgz"; + sha1 = "1381a0f92c39d66bf19852e7873432fc2123e508"; + }; + } + + { + name = "ncp___ncp_1.0.1.tgz"; + path = fetchurl { + name = "ncp___ncp_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/ncp/-/ncp-1.0.1.tgz"; + sha1 = "d15367e5cb87432ba117d2bf80fdf45aecfb4246"; + }; + } + + { + name = "ncp___ncp_2.0.0.tgz"; + path = fetchurl { + name = "ncp___ncp_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz"; + sha1 = "195a21d6c46e361d2fb1281ba38b91e9df7bdbb3"; + }; + } + + { + name = "needle___needle_2.2.4.tgz"; + path = fetchurl { + name = "needle___needle_2.2.4.tgz"; + url = "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz"; + sha1 = "51931bff82533b1928b7d1d69e01f1b00ffd2a4e"; + }; + } + + { + name = "negotiator___negotiator_0.5.3.tgz"; + path = fetchurl { + name = "negotiator___negotiator_0.5.3.tgz"; + url = "https://registry.yarnpkg.com/negotiator/-/negotiator-0.5.3.tgz"; + sha1 = "269d5c476810ec92edbe7b6c2f28316384f9a7e8"; + }; + } + + { + name = "negotiator___negotiator_0.6.1.tgz"; + path = fetchurl { + name = "negotiator___negotiator_0.6.1.tgz"; + url = "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz"; + sha1 = "2b327184e8992101177b28563fb5e7102acd0ca9"; + }; + } + + { + name = "netmask___netmask_1.0.6.tgz"; + path = fetchurl { + name = "netmask___netmask_1.0.6.tgz"; + url = "https://registry.yarnpkg.com/netmask/-/netmask-1.0.6.tgz"; + sha1 = "20297e89d86f6f6400f250d9f4f6b4c1945fcd35"; + }; + } + + { + name = "netrc_parser___netrc_parser_3.1.6.tgz"; + path = fetchurl { + name = "netrc_parser___netrc_parser_3.1.6.tgz"; + url = "https://registry.yarnpkg.com/netrc-parser/-/netrc-parser-3.1.6.tgz"; + sha1 = "7243c9ec850b8e805b9bdc7eae7b1450d4a96e72"; + }; + } + + { + name = "next_event___next_event_1.0.0.tgz"; + path = fetchurl { + name = "next_event___next_event_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/next-event/-/next-event-1.0.0.tgz"; + sha1 = "e7778acde2e55802e0ad1879c39cf6f75eda61d8"; + }; + } + + { + name = "next_tick___next_tick_1.0.0.tgz"; + path = fetchurl { + name = "next_tick___next_tick_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz"; + sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c"; + }; + } + + { + name = "nice_try___nice_try_1.0.5.tgz"; + path = fetchurl { + name = "nice_try___nice_try_1.0.5.tgz"; + url = "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz"; + sha1 = "a3378a7696ce7d223e88fc9b764bd7ef1089e366"; + }; + } + + { + name = "nocache___nocache_2.0.0.tgz"; + path = fetchurl { + name = "nocache___nocache_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/nocache/-/nocache-2.0.0.tgz"; + sha1 = "202b48021a0c4cbde2df80de15a17443c8b43980"; + }; + } + + { + name = "node_abi___node_abi_2.5.0.tgz"; + path = fetchurl { + name = "node_abi___node_abi_2.5.0.tgz"; + url = "https://registry.yarnpkg.com/node-abi/-/node-abi-2.5.0.tgz"; + sha1 = "942e1a78bce764bc0c1672d5821e492b9d032052"; + }; + } + + { + name = "node_addon_api___node_addon_api_1.6.2.tgz"; + path = fetchurl { + name = "node_addon_api___node_addon_api_1.6.2.tgz"; + url = "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.6.2.tgz"; + sha1 = "d8aad9781a5cfc4132cc2fecdbdd982534265217"; + }; + } + + { + name = "node_fetch_npm___node_fetch_npm_2.0.2.tgz"; + path = fetchurl { + name = "node_fetch_npm___node_fetch_npm_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz"; + sha1 = "7258c9046182dca345b4208eda918daf33697ff7"; + }; + } + + { + name = "node_forge___node_forge_0.7.6.tgz"; + path = fetchurl { + name = "node_forge___node_forge_0.7.6.tgz"; + url = "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.6.tgz"; + sha1 = "fdf3b418aee1f94f0ef642cd63486c77ca9724ac"; + }; + } + + { + name = "node_gyp_build___node_gyp_build_3.4.0.tgz"; + path = fetchurl { + name = "node_gyp_build___node_gyp_build_3.4.0.tgz"; + url = "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-3.4.0.tgz"; + sha1 = "f8f62507e65f152488b28aac25d04b9d79748cf7"; + }; + } + + { + name = "node_gyp___node_gyp_3.8.0.tgz"; + path = fetchurl { + name = "node_gyp___node_gyp_3.8.0.tgz"; + url = "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz"; + sha1 = "540304261c330e80d0d5edce253a68cb3964218c"; + }; + } + + { + name = "node_pre_gyp___node_pre_gyp_0.11.0.tgz"; + path = fetchurl { + name = "node_pre_gyp___node_pre_gyp_0.11.0.tgz"; + url = "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz"; + sha1 = "db1f33215272f692cd38f03238e3e9b47c5dd054"; + }; + } + + { + name = "node_pre_gyp___node_pre_gyp_0.10.3.tgz"; + path = fetchurl { + name = "node_pre_gyp___node_pre_gyp_0.10.3.tgz"; + url = "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz"; + sha1 = "3070040716afdc778747b61b6887bf78880b80fc"; + }; + } + + { + name = "nodemailer_fetch___nodemailer_fetch_1.3.0.tgz"; + path = fetchurl { + name = "nodemailer_fetch___nodemailer_fetch_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/nodemailer-fetch/-/nodemailer-fetch-1.3.0.tgz"; + sha1 = "9f37f6a5b80c1cb5d697ca2bfbde41a6582a50b0"; + }; + } + + { + name = "nodemailer_fetch___nodemailer_fetch_1.6.0.tgz"; + path = fetchurl { + name = "nodemailer_fetch___nodemailer_fetch_1.6.0.tgz"; + url = "https://registry.yarnpkg.com/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz"; + sha1 = "79c4908a1c0f5f375b73fe888da9828f6dc963a4"; + }; + } + + { + name = "nodemailer_shared___nodemailer_shared_1.0.4.tgz"; + path = fetchurl { + name = "nodemailer_shared___nodemailer_shared_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/nodemailer-shared/-/nodemailer-shared-1.0.4.tgz"; + sha1 = "8b5c5c35bfb29a47dda7d38303f3a4fb47ba38ae"; + }; + } + + { + name = "nodemailer_shared___nodemailer_shared_1.1.0.tgz"; + path = fetchurl { + name = "nodemailer_shared___nodemailer_shared_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz"; + sha1 = "cf5994e2fd268d00f5cf0fa767a08169edb07ec0"; + }; + } + + { + name = "nodemailer___nodemailer_4.7.0.tgz"; + path = fetchurl { + name = "nodemailer___nodemailer_4.7.0.tgz"; + url = "https://registry.yarnpkg.com/nodemailer/-/nodemailer-4.7.0.tgz"; + sha1 = "4420e06abfffd77d0618f184ea49047db84f4ad8"; + }; + } + + { + name = "nodemon___nodemon_1.18.7.tgz"; + path = fetchurl { + name = "nodemon___nodemon_1.18.7.tgz"; + url = "https://registry.yarnpkg.com/nodemon/-/nodemon-1.18.7.tgz"; + sha1 = "716b66bf3e89ac4fcfb38a9e61887a03fc82efbb"; + }; + } + + { + name = "noop_logger___noop_logger_0.1.1.tgz"; + path = fetchurl { + name = "noop_logger___noop_logger_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz"; + sha1 = "94a2b1633c4f1317553007d8966fd0e841b6a4c2"; + }; + } + + { + name = "nopt___nopt_3.0.6.tgz"; + path = fetchurl { + name = "nopt___nopt_3.0.6.tgz"; + url = "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz"; + sha1 = "c6465dbf08abcd4db359317f79ac68a646b28ff9"; + }; + } + + { + name = "nopt___nopt_4.0.1.tgz"; + path = fetchurl { + name = "nopt___nopt_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz"; + sha1 = "d0d4685afd5415193c8c7505602d0d17cd64474d"; + }; + } + + { + name = "nopt___nopt_1.0.10.tgz"; + path = fetchurl { + name = "nopt___nopt_1.0.10.tgz"; + url = "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz"; + sha1 = "6ddd21bd2a31417b92727dd585f8a6f37608ebee"; + }; + } + + { + name = "normalize_package_data___normalize_package_data_2.4.0.tgz"; + path = fetchurl { + name = "normalize_package_data___normalize_package_data_2.4.0.tgz"; + url = "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz"; + sha1 = "12f95a307d58352075a04907b84ac8be98ac012f"; + }; + } + + { + name = "normalize_path___normalize_path_2.1.1.tgz"; + path = fetchurl { + name = "normalize_path___normalize_path_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz"; + sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"; + }; + } + + { + name = "npm_audit_report___npm_audit_report_1.3.1.tgz"; + path = fetchurl { + name = "npm_audit_report___npm_audit_report_1.3.1.tgz"; + url = "https://registry.yarnpkg.com/npm-audit-report/-/npm-audit-report-1.3.1.tgz"; + sha1 = "e79ea1fcb5ffaf3031102b389d5222c2b0459632"; + }; + } + + { + name = "npm_bundled___npm_bundled_1.0.5.tgz"; + path = fetchurl { + name = "npm_bundled___npm_bundled_1.0.5.tgz"; + url = "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz"; + sha1 = "3c1732b7ba936b3a10325aef616467c0ccbcc979"; + }; + } + + { + name = "npm_cache_filename___npm_cache_filename_1.0.2.tgz"; + path = fetchurl { + name = "npm_cache_filename___npm_cache_filename_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz"; + sha1 = "ded306c5b0bfc870a9e9faf823bc5f283e05ae11"; + }; + } + + { + name = "npm_install_checks___npm_install_checks_3.0.0.tgz"; + path = fetchurl { + name = "npm_install_checks___npm_install_checks_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-3.0.0.tgz"; + sha1 = "d4aecdfd51a53e3723b7b2f93b2ee28e307bc0d7"; + }; + } + + { + name = "npm_lifecycle___npm_lifecycle_2.1.0.tgz"; + path = fetchurl { + name = "npm_lifecycle___npm_lifecycle_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-2.1.0.tgz"; + sha1 = "1eda2eedb82db929e3a0c50341ab0aad140ed569"; + }; + } + + { + name = "npm_logical_tree___npm_logical_tree_1.2.1.tgz"; + path = fetchurl { + name = "npm_logical_tree___npm_logical_tree_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/npm-logical-tree/-/npm-logical-tree-1.2.1.tgz"; + sha1 = "44610141ca24664cad35d1e607176193fd8f5b88"; + }; + } + + { + name = "npm_package_arg___npm_package_arg_6.1.0.tgz"; + path = fetchurl { + name = "npm_package_arg___npm_package_arg_6.1.0.tgz"; + url = "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.0.tgz"; + sha1 = "15ae1e2758a5027efb4c250554b85a737db7fcc1"; + }; + } + + { + name = "npm_packlist___npm_packlist_1.1.12.tgz"; + path = fetchurl { + name = "npm_packlist___npm_packlist_1.1.12.tgz"; + url = "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.12.tgz"; + sha1 = "22bde2ebc12e72ca482abd67afc51eb49377243a"; + }; + } + + { + name = "npm_path___npm_path_2.0.4.tgz"; + path = fetchurl { + name = "npm_path___npm_path_2.0.4.tgz"; + url = "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.4.tgz"; + sha1 = "c641347a5ff9d6a09e4d9bce5580c4f505278e64"; + }; + } + + { + name = "npm_pick_manifest___npm_pick_manifest_2.2.3.tgz"; + path = fetchurl { + name = "npm_pick_manifest___npm_pick_manifest_2.2.3.tgz"; + url = "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-2.2.3.tgz"; + sha1 = "32111d2a9562638bb2c8f2bf27f7f3092c8fae40"; + }; + } + + { + name = "npm_profile___npm_profile_3.0.2.tgz"; + path = fetchurl { + name = "npm_profile___npm_profile_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/npm-profile/-/npm-profile-3.0.2.tgz"; + sha1 = "58d568f1b56ef769602fd0aed8c43fa0e0de0f57"; + }; + } + + { + name = "npm_registry_client___npm_registry_client_8.6.0.tgz"; + path = fetchurl { + name = "npm_registry_client___npm_registry_client_8.6.0.tgz"; + url = "https://registry.yarnpkg.com/npm-registry-client/-/npm-registry-client-8.6.0.tgz"; + sha1 = "7f1529f91450732e89f8518e0f21459deea3e4c4"; + }; + } + + { + name = "npm_registry_fetch___npm_registry_fetch_1.1.1.tgz"; + path = fetchurl { + name = "npm_registry_fetch___npm_registry_fetch_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-1.1.1.tgz"; + sha1 = "710bc5947d9ee2c549375072dab6d5d17baf2eb2"; + }; + } + + { + name = "npm_registry_fetch___npm_registry_fetch_3.8.0.tgz"; + path = fetchurl { + name = "npm_registry_fetch___npm_registry_fetch_3.8.0.tgz"; + url = "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-3.8.0.tgz"; + sha1 = "aa7d9a7c92aff94f48dba0984bdef4bd131c88cc"; + }; + } + + { + name = "npm_run_path___npm_run_path_2.0.2.tgz"; + path = fetchurl { + name = "npm_run_path___npm_run_path_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz"; + sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f"; + }; + } + + { + name = "npm_user_validate___npm_user_validate_1.0.0.tgz"; + path = fetchurl { + name = "npm_user_validate___npm_user_validate_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-1.0.0.tgz"; + sha1 = "8ceca0f5cea04d4e93519ef72d0557a75122e951"; + }; + } + + { + name = "npm_which___npm_which_3.0.1.tgz"; + path = fetchurl { + name = "npm_which___npm_which_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz"; + sha1 = "9225f26ec3a285c209cae67c3b11a6b4ab7140aa"; + }; + } + + { + name = "npm___npm_6.4.1.tgz"; + path = fetchurl { + name = "npm___npm_6.4.1.tgz"; + url = "https://registry.yarnpkg.com/npm/-/npm-6.4.1.tgz"; + sha1 = "4f39f9337b557a28faed4a771d5c8802d6b4288b"; + }; + } + + { + name = "npmlog___npmlog_4.1.2.tgz"; + path = fetchurl { + name = "npmlog___npmlog_4.1.2.tgz"; + url = "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz"; + sha1 = "08a7f2a8bf734604779a9efa4ad5cc717abb954b"; + }; + } + + { + name = "number_is_nan___number_is_nan_1.0.1.tgz"; + path = fetchurl { + name = "number_is_nan___number_is_nan_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz"; + sha1 = "097b602b53422a522c1afb8790318336941a011d"; + }; + } + + { + name = "oauth_sign___oauth_sign_0.9.0.tgz"; + path = fetchurl { + name = "oauth_sign___oauth_sign_0.9.0.tgz"; + url = "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz"; + sha1 = "47a7b016baa68b5fa0ecf3dee08a85c679ac6455"; + }; + } + + { + name = "oauth2_server___oauth2_server_3.0.0.tgz"; + path = fetchurl { + name = "oauth2_server___oauth2_server_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/oauth2-server/-/oauth2-server-3.0.0.tgz"; + sha1 = "c46276b74c3d28634d59ee981f76b58a6459cc28"; + }; + } + + { + name = "object_assign___object_assign_4.1.0.tgz"; + path = fetchurl { + name = "object_assign___object_assign_4.1.0.tgz"; + url = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz"; + sha1 = "7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"; + }; + } + + { + name = "object_assign___object_assign_4.1.1.tgz"; + path = fetchurl { + name = "object_assign___object_assign_4.1.1.tgz"; + url = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz"; + sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863"; + }; + } + + { + name = "object_component___object_component_0.0.3.tgz"; + path = fetchurl { + name = "object_component___object_component_0.0.3.tgz"; + url = "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz"; + sha1 = "f0c69aa50efc95b866c186f400a33769cb2f1291"; + }; + } + + { + name = "object_copy___object_copy_0.1.0.tgz"; + path = fetchurl { + name = "object_copy___object_copy_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz"; + sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c"; + }; + } + + { + name = "object_keys___object_keys_1.0.12.tgz"; + path = fetchurl { + name = "object_keys___object_keys_1.0.12.tgz"; + url = "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz"; + sha1 = "09c53855377575310cca62f55bb334abff7b3ed2"; + }; + } + + { + name = "object_visit___object_visit_1.0.1.tgz"; + path = fetchurl { + name = "object_visit___object_visit_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz"; + sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb"; + }; + } + + { + name = "object.pick___object.pick_1.3.0.tgz"; + path = fetchurl { + name = "object.pick___object.pick_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz"; + sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747"; + }; + } + + { + name = "on_finished___on_finished_2.3.0.tgz"; + path = fetchurl { + name = "on_finished___on_finished_2.3.0.tgz"; + url = "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz"; + sha1 = "20f1336481b083cd75337992a16971aa2d906947"; + }; + } + + { + name = "on_headers___on_headers_1.0.1.tgz"; + path = fetchurl { + name = "on_headers___on_headers_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz"; + sha1 = "928f5d0f470d49342651ea6794b0857c100693f7"; + }; + } + + { + name = "once___once_1.4.0.tgz"; + path = fetchurl { + name = "once___once_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz"; + sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1"; + }; + } + + { + name = "one_time___one_time_0.0.4.tgz"; + path = fetchurl { + name = "one_time___one_time_0.0.4.tgz"; + url = "https://registry.yarnpkg.com/one-time/-/one-time-0.0.4.tgz"; + sha1 = "f8cdf77884826fe4dff93e3a9cc37b1e4480742e"; + }; + } + + { + name = "onetime___onetime_1.1.0.tgz"; + path = fetchurl { + name = "onetime___onetime_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz"; + sha1 = "a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"; + }; + } + + { + name = "onetime___onetime_2.0.1.tgz"; + path = fetchurl { + name = "onetime___onetime_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz"; + sha1 = "067428230fd67443b2794b22bba528b6867962d4"; + }; + } + + { + name = "ono___ono_4.0.10.tgz"; + path = fetchurl { + name = "ono___ono_4.0.10.tgz"; + url = "https://registry.yarnpkg.com/ono/-/ono-4.0.10.tgz"; + sha1 = "f7f9c6d1b76270a499d8664c95a740d44175134c"; + }; + } + + { + name = "open___open_0.0.5.tgz"; + path = fetchurl { + name = "open___open_0.0.5.tgz"; + url = "https://registry.yarnpkg.com/open/-/open-0.0.5.tgz"; + sha1 = "42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc"; + }; + } + + { + name = "openapi_schema_validation___openapi_schema_validation_0.4.2.tgz"; + path = fetchurl { + name = "openapi_schema_validation___openapi_schema_validation_0.4.2.tgz"; + url = "https://registry.yarnpkg.com/openapi-schema-validation/-/openapi-schema-validation-0.4.2.tgz"; + sha1 = "895c29021be02e000f71c51f859da52118eb1e21"; + }; + } + + { + name = "opener___opener_1.5.1.tgz"; + path = fetchurl { + name = "opener___opener_1.5.1.tgz"; + url = "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz"; + sha1 = "6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed"; + }; + } + + { + name = "optionator___optionator_0.8.2.tgz"; + path = fetchurl { + name = "optionator___optionator_0.8.2.tgz"; + url = "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz"; + sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64"; + }; + } + + { + name = "options___options_0.0.6.tgz"; + path = fetchurl { + name = "options___options_0.0.6.tgz"; + url = "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz"; + sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f"; + }; + } + + { + name = "os_homedir___os_homedir_1.0.2.tgz"; + path = fetchurl { + name = "os_homedir___os_homedir_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz"; + sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3"; + }; + } + + { + name = "os_locale___os_locale_2.1.0.tgz"; + path = fetchurl { + name = "os_locale___os_locale_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz"; + sha1 = "42bc2900a6b5b8bd17376c8e882b65afccf24bf2"; + }; + } + + { + name = "os_locale___os_locale_3.0.1.tgz"; + path = fetchurl { + name = "os_locale___os_locale_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/os-locale/-/os-locale-3.0.1.tgz"; + sha1 = "3b014fbf01d87f60a1e5348d80fe870dc82c4620"; + }; + } + + { + name = "os_tmpdir___os_tmpdir_1.0.2.tgz"; + path = fetchurl { + name = "os_tmpdir___os_tmpdir_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz"; + sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274"; + }; + } + + { + name = "osenv___osenv_0.1.5.tgz"; + path = fetchurl { + name = "osenv___osenv_0.1.5.tgz"; + url = "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz"; + sha1 = "85cdfafaeb28e8677f416e287592b5f3f49ea410"; + }; + } + + { + name = "p_defer___p_defer_1.0.0.tgz"; + path = fetchurl { + name = "p_defer___p_defer_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz"; + sha1 = "9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c"; + }; + } + + { + name = "p_finally___p_finally_1.0.0.tgz"; + path = fetchurl { + name = "p_finally___p_finally_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz"; + sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae"; + }; + } + + { + name = "p_is_promise___p_is_promise_1.1.0.tgz"; + path = fetchurl { + name = "p_is_promise___p_is_promise_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz"; + sha1 = "9c9456989e9f6588017b0434d56097675c3da05e"; + }; + } + + { + name = "p_limit___p_limit_1.3.0.tgz"; + path = fetchurl { + name = "p_limit___p_limit_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz"; + sha1 = "b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"; + }; + } + + { + name = "p_limit___p_limit_2.0.0.tgz"; + path = fetchurl { + name = "p_limit___p_limit_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/p-limit/-/p-limit-2.0.0.tgz"; + sha1 = "e624ed54ee8c460a778b3c9f3670496ff8a57aec"; + }; + } + + { + name = "p_locate___p_locate_2.0.0.tgz"; + path = fetchurl { + name = "p_locate___p_locate_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz"; + sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43"; + }; + } + + { + name = "p_locate___p_locate_3.0.0.tgz"; + path = fetchurl { + name = "p_locate___p_locate_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz"; + sha1 = "322d69a05c0264b25997d9f40cd8a891ab0064a4"; + }; + } + + { + name = "p_map___p_map_1.2.0.tgz"; + path = fetchurl { + name = "p_map___p_map_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz"; + sha1 = "e4e94f311eabbc8633a1e79908165fca26241b6b"; + }; + } + + { + name = "p_map___p_map_2.0.0.tgz"; + path = fetchurl { + name = "p_map___p_map_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/p-map/-/p-map-2.0.0.tgz"; + sha1 = "be18c5a5adeb8e156460651421aceca56c213a50"; + }; + } + + { + name = "p_try___p_try_1.0.0.tgz"; + path = fetchurl { + name = "p_try___p_try_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz"; + sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"; + }; + } + + { + name = "p_try___p_try_2.0.0.tgz"; + path = fetchurl { + name = "p_try___p_try_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz"; + sha1 = "85080bb87c64688fa47996fe8f7dfbe8211760b1"; + }; + } + + { + name = "package_json_versionify___package_json_versionify_1.0.4.tgz"; + path = fetchurl { + name = "package_json_versionify___package_json_versionify_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/package-json-versionify/-/package-json-versionify-1.0.4.tgz"; + sha1 = "5860587a944873a6b7e6d26e8e51ffb22315bf17"; + }; + } + + { + name = "package_json___package_json_4.0.1.tgz"; + path = fetchurl { + name = "package_json___package_json_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz"; + sha1 = "8869a0401253661c4c4ca3da6c2121ed555f5eed"; + }; + } + + { + name = "packet_reader___packet_reader_0.3.1.tgz"; + path = fetchurl { + name = "packet_reader___packet_reader_0.3.1.tgz"; + url = "https://registry.yarnpkg.com/packet-reader/-/packet-reader-0.3.1.tgz"; + sha1 = "cd62e60af8d7fea8a705ec4ff990871c46871f27"; + }; + } + + { + name = "pacote___pacote_8.1.6.tgz"; + path = fetchurl { + name = "pacote___pacote_8.1.6.tgz"; + url = "https://registry.yarnpkg.com/pacote/-/pacote-8.1.6.tgz"; + sha1 = "8e647564d38156367e7a9dc47a79ca1ab278d46e"; + }; + } + + { + name = "parallel_transform___parallel_transform_1.1.0.tgz"; + path = fetchurl { + name = "parallel_transform___parallel_transform_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz"; + sha1 = "d410f065b05da23081fcd10f28854c29bda33b06"; + }; + } + + { + name = "parse_json___parse_json_4.0.0.tgz"; + path = fetchurl { + name = "parse_json___parse_json_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz"; + sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0"; + }; + } + + { + name = "parse_numeric_range___parse_numeric_range_0.0.2.tgz"; + path = fetchurl { + name = "parse_numeric_range___parse_numeric_range_0.0.2.tgz"; + url = "https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-0.0.2.tgz"; + sha1 = "b4f09d413c7adbcd987f6e9233c7b4b210c938e4"; + }; + } + + { + name = "parse_torrent___parse_torrent_6.1.2.tgz"; + path = fetchurl { + name = "parse_torrent___parse_torrent_6.1.2.tgz"; + url = "https://registry.yarnpkg.com/parse-torrent/-/parse-torrent-6.1.2.tgz"; + sha1 = "99da5bdd23435a1cb7e8e7a63847c4efb21b1956"; + }; + } + + { + name = "parsejson___parsejson_0.0.3.tgz"; + path = fetchurl { + name = "parsejson___parsejson_0.0.3.tgz"; + url = "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz"; + sha1 = "ab7e3759f209ece99437973f7d0f1f64ae0e64ab"; + }; + } + + { + name = "parseqs___parseqs_0.0.5.tgz"; + path = fetchurl { + name = "parseqs___parseqs_0.0.5.tgz"; + url = "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz"; + sha1 = "d5208a3738e46766e291ba2ea173684921a8b89d"; + }; + } + + { + name = "parseuri___parseuri_0.0.5.tgz"; + path = fetchurl { + name = "parseuri___parseuri_0.0.5.tgz"; + url = "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz"; + sha1 = "80204a50d4dbb779bfdc6ebe2778d90e4bce320a"; + }; + } + + { + name = "parseurl___parseurl_1.3.2.tgz"; + path = fetchurl { + name = "parseurl___parseurl_1.3.2.tgz"; + url = "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz"; + sha1 = "fc289d4ed8993119460c156253262cdc8de65bf3"; + }; + } + + { + name = "pascalcase___pascalcase_0.1.1.tgz"; + path = fetchurl { + name = "pascalcase___pascalcase_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz"; + sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14"; + }; + } + + { + name = "password_generator___password_generator_2.2.0.tgz"; + path = fetchurl { + name = "password_generator___password_generator_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/password-generator/-/password-generator-2.2.0.tgz"; + sha1 = "fc75cff795110923e054a5a71623433240bf5e49"; + }; + } + + { + name = "path_dirname___path_dirname_1.0.2.tgz"; + path = fetchurl { + name = "path_dirname___path_dirname_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz"; + sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0"; + }; + } + + { + name = "path_exists___path_exists_3.0.0.tgz"; + path = fetchurl { + name = "path_exists___path_exists_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz"; + sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"; + }; + } + + { + name = "path_is_absolute___path_is_absolute_1.0.1.tgz"; + path = fetchurl { + name = "path_is_absolute___path_is_absolute_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz"; + sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"; + }; + } + + { + name = "path_is_inside___path_is_inside_1.0.2.tgz"; + path = fetchurl { + name = "path_is_inside___path_is_inside_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz"; + sha1 = "365417dede44430d1c11af61027facf074bdfc53"; + }; + } + + { + name = "path_key___path_key_2.0.1.tgz"; + path = fetchurl { + name = "path_key___path_key_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz"; + sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40"; + }; + } + + { + name = "path_parse___path_parse_1.0.6.tgz"; + path = fetchurl { + name = "path_parse___path_parse_1.0.6.tgz"; + url = "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz"; + sha1 = "d62dbb5679405d72c4737ec58600e9ddcf06d24c"; + }; + } + + { + name = "path_to_regexp___path_to_regexp_0.1.7.tgz"; + path = fetchurl { + name = "path_to_regexp___path_to_regexp_0.1.7.tgz"; + url = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz"; + sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c"; + }; + } + + { + name = "pathval___pathval_1.1.0.tgz"; + path = fetchurl { + name = "pathval___pathval_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz"; + sha1 = "b942e6d4bde653005ef6b71361def8727d0645e0"; + }; + } + + { + name = "peek_stream___peek_stream_1.1.3.tgz"; + path = fetchurl { + name = "peek_stream___peek_stream_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/peek-stream/-/peek-stream-1.1.3.tgz"; + sha1 = "3b35d84b7ccbbd262fff31dc10da56856ead6d67"; + }; + } + + { + name = "pem___pem_1.13.2.tgz"; + path = fetchurl { + name = "pem___pem_1.13.2.tgz"; + url = "https://registry.yarnpkg.com/pem/-/pem-1.13.2.tgz"; + sha1 = "7b68acbb590fdc13772bca487983cb84cd7b443e"; + }; + } + + { + name = "performance_now___performance_now_2.1.0.tgz"; + path = fetchurl { + name = "performance_now___performance_now_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz"; + sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"; + }; + } + + { + name = "pfeed___pfeed_1.1.6.tgz"; + path = fetchurl { + name = "pfeed___pfeed_1.1.6.tgz"; + url = "https://registry.yarnpkg.com/pfeed/-/pfeed-1.1.6.tgz"; + sha1 = "0de2a1c40b116fa236227237fa264c7956c185e8"; + }; + } + + { + name = "pg_connection_string___pg_connection_string_0.1.3.tgz"; + path = fetchurl { + name = "pg_connection_string___pg_connection_string_0.1.3.tgz"; + url = "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-0.1.3.tgz"; + sha1 = "da1847b20940e42ee1492beaf65d49d91b245df7"; + }; + } + + { + name = "pg_pool___pg_pool_2.0.4.tgz"; + path = fetchurl { + name = "pg_pool___pg_pool_2.0.4.tgz"; + url = "https://registry.yarnpkg.com/pg-pool/-/pg-pool-2.0.4.tgz"; + sha1 = "05ad0f2d9437d89c94ccc4f4d0a44ac65ade865b"; + }; + } + + { + name = "pg_types___pg_types_1.12.1.tgz"; + path = fetchurl { + name = "pg_types___pg_types_1.12.1.tgz"; + url = "https://registry.yarnpkg.com/pg-types/-/pg-types-1.12.1.tgz"; + sha1 = "d64087e3903b58ffaad279e7595c52208a14c3d2"; + }; + } + + { + name = "pg___pg_7.7.1.tgz"; + path = fetchurl { + name = "pg___pg_7.7.1.tgz"; + url = "https://registry.yarnpkg.com/pg/-/pg-7.7.1.tgz"; + sha1 = "546b192ff484322b69689391f885de3ba91a30d4"; + }; + } + + { + name = "pgpass___pgpass_1.0.2.tgz"; + path = fetchurl { + name = "pgpass___pgpass_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.2.tgz"; + sha1 = "2a7bb41b6065b67907e91da1b07c1847c877b306"; + }; + } + + { + name = "piece_length___piece_length_1.0.0.tgz"; + path = fetchurl { + name = "piece_length___piece_length_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/piece-length/-/piece-length-1.0.0.tgz"; + sha1 = "4db7167157fd69fef14caf7262cd39f189b24508"; + }; + } + + { + name = "pify___pify_2.3.0.tgz"; + path = fetchurl { + name = "pify___pify_2.3.0.tgz"; + url = "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz"; + sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c"; + }; + } + + { + name = "pify___pify_3.0.0.tgz"; + path = fetchurl { + name = "pify___pify_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz"; + sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"; + }; + } + + { + name = "pinkie_promise___pinkie_promise_2.0.1.tgz"; + path = fetchurl { + name = "pinkie_promise___pinkie_promise_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz"; + sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa"; + }; + } + + { + name = "pinkie___pinkie_2.0.4.tgz"; + path = fetchurl { + name = "pinkie___pinkie_2.0.4.tgz"; + url = "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz"; + sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870"; + }; + } + + { + name = "pkg_dir___pkg_dir_3.0.0.tgz"; + path = fetchurl { + name = "pkg_dir___pkg_dir_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz"; + sha1 = "2749020f239ed990881b1f71210d51eb6523bea3"; + }; + } + + { + name = "pkginfo___pkginfo_0.3.1.tgz"; + path = fetchurl { + name = "pkginfo___pkginfo_0.3.1.tgz"; + url = "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.3.1.tgz"; + sha1 = "5b29f6a81f70717142e09e765bbeab97b4f81e21"; + }; + } + + { + name = "pkginfo___pkginfo_0.4.1.tgz"; + path = fetchurl { + name = "pkginfo___pkginfo_0.4.1.tgz"; + url = "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.4.1.tgz"; + sha1 = "b5418ef0439de5425fc4995042dced14fb2a84ff"; + }; + } + + { + name = "platform___platform_1.3.5.tgz"; + path = fetchurl { + name = "platform___platform_1.3.5.tgz"; + url = "https://registry.yarnpkg.com/platform/-/platform-1.3.5.tgz"; + sha1 = "fb6958c696e07e2918d2eeda0f0bc9448d733444"; + }; + } + + { + name = "please_upgrade_node___please_upgrade_node_3.1.1.tgz"; + path = fetchurl { + name = "please_upgrade_node___please_upgrade_node_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz"; + sha1 = "ed320051dfcc5024fae696712c8288993595e8ac"; + }; + } + + { + name = "pluralize___pluralize_1.2.1.tgz"; + path = fetchurl { + name = "pluralize___pluralize_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz"; + sha1 = "d1a21483fd22bb41e58a12fa3421823140897c45"; + }; + } + + { + name = "posix_character_classes___posix_character_classes_0.1.1.tgz"; + path = fetchurl { + name = "posix_character_classes___posix_character_classes_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz"; + sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"; + }; + } + + { + name = "postgres_array___postgres_array_1.0.3.tgz"; + path = fetchurl { + name = "postgres_array___postgres_array_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/postgres-array/-/postgres-array-1.0.3.tgz"; + sha1 = "c561fc3b266b21451fc6555384f4986d78ec80f5"; + }; + } + + { + name = "postgres_bytea___postgres_bytea_1.0.0.tgz"; + path = fetchurl { + name = "postgres_bytea___postgres_bytea_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz"; + sha1 = "027b533c0aa890e26d172d47cf9ccecc521acd35"; + }; + } + + { + name = "postgres_date___postgres_date_1.0.3.tgz"; + path = fetchurl { + name = "postgres_date___postgres_date_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.3.tgz"; + sha1 = "e2d89702efdb258ff9d9cee0fe91bd06975257a8"; + }; + } + + { + name = "postgres_interval___postgres_interval_1.1.2.tgz"; + path = fetchurl { + name = "postgres_interval___postgres_interval_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.1.2.tgz"; + sha1 = "bf71ff902635f21cb241a013fc421d81d1db15a9"; + }; + } + + { + name = "prebuild_install___prebuild_install_5.2.2.tgz"; + path = fetchurl { + name = "prebuild_install___prebuild_install_5.2.2.tgz"; + url = "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-5.2.2.tgz"; + sha1 = "237888f21bfda441d0ee5f5612484390bccd4046"; + }; + } + + { + name = "precond___precond_0.2.3.tgz"; + path = fetchurl { + name = "precond___precond_0.2.3.tgz"; + url = "https://registry.yarnpkg.com/precond/-/precond-0.2.3.tgz"; + sha1 = "aa9591bcaa24923f1e0f4849d240f47efc1075ac"; + }; + } + + { + name = "prelude_ls___prelude_ls_1.1.2.tgz"; + path = fetchurl { + name = "prelude_ls___prelude_ls_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz"; + sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54"; + }; + } + + { + name = "prepend_http___prepend_http_1.0.4.tgz"; + path = fetchurl { + name = "prepend_http___prepend_http_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz"; + sha1 = "d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"; + }; + } + + { + name = "pretty_format___pretty_format_23.6.0.tgz"; + path = fetchurl { + name = "pretty_format___pretty_format_23.6.0.tgz"; + url = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.6.0.tgz"; + sha1 = "5eaac8eeb6b33b987b7fe6097ea6a8a146ab5760"; + }; + } + + { + name = "process_nextick_args___process_nextick_args_2.0.0.tgz"; + path = fetchurl { + name = "process_nextick_args___process_nextick_args_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz"; + sha1 = "a37d732f4271b4ab1ad070d35508e8290788ffaa"; + }; + } + + { + name = "progress___progress_1.1.8.tgz"; + path = fetchurl { + name = "progress___progress_1.1.8.tgz"; + url = "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz"; + sha1 = "e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"; + }; + } + + { + name = "promise_inflight___promise_inflight_1.0.1.tgz"; + path = fetchurl { + name = "promise_inflight___promise_inflight_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz"; + sha1 = "98472870bf228132fcbdd868129bad12c3c029e3"; + }; + } + + { + name = "promise_retry___promise_retry_1.1.1.tgz"; + path = fetchurl { + name = "promise_retry___promise_retry_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/promise-retry/-/promise-retry-1.1.1.tgz"; + sha1 = "6739e968e3051da20ce6497fb2b50f6911df3d6d"; + }; + } + + { + name = "promisify_any___promisify_any_2.0.1.tgz"; + path = fetchurl { + name = "promisify_any___promisify_any_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/promisify-any/-/promisify-any-2.0.1.tgz"; + sha1 = "403e00a8813f175242ab50fe33a69f8eece47305"; + }; + } + + { + name = "prompt___prompt_1.0.0.tgz"; + path = fetchurl { + name = "prompt___prompt_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/prompt/-/prompt-1.0.0.tgz"; + sha1 = "8e57123c396ab988897fb327fd3aedc3e735e4fe"; + }; + } + + { + name = "promzard___promzard_0.3.0.tgz"; + path = fetchurl { + name = "promzard___promzard_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz"; + sha1 = "26a5d6ee8c7dee4cb12208305acfb93ba382a9ee"; + }; + } + + { + name = "proto_list___proto_list_1.2.4.tgz"; + path = fetchurl { + name = "proto_list___proto_list_1.2.4.tgz"; + url = "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz"; + sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849"; + }; + } + + { + name = "protoduck___protoduck_5.0.1.tgz"; + path = fetchurl { + name = "protoduck___protoduck_5.0.1.tgz"; + url = "https://registry.yarnpkg.com/protoduck/-/protoduck-5.0.1.tgz"; + sha1 = "03c3659ca18007b69a50fd82a7ebcc516261151f"; + }; + } + + { + name = "proxy_addr___proxy_addr_1.0.10.tgz"; + path = fetchurl { + name = "proxy_addr___proxy_addr_1.0.10.tgz"; + url = "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.0.10.tgz"; + sha1 = "0d40a82f801fc355567d2ecb65efe3f077f121c5"; + }; + } + + { + name = "proxy_addr___proxy_addr_2.0.4.tgz"; + path = fetchurl { + name = "proxy_addr___proxy_addr_2.0.4.tgz"; + url = "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz"; + sha1 = "ecfc733bf22ff8c6f407fa275327b9ab67e48b93"; + }; + } + + { + name = "prr___prr_1.0.1.tgz"; + path = fetchurl { + name = "prr___prr_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz"; + sha1 = "d3fc114ba06995a45ec6893f484ceb1d78f5f476"; + }; + } + + { + name = "pseudomap___pseudomap_1.0.2.tgz"; + path = fetchurl { + name = "pseudomap___pseudomap_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz"; + sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3"; + }; + } + + { + name = "psl___psl_1.1.29.tgz"; + path = fetchurl { + name = "psl___psl_1.1.29.tgz"; + url = "https://registry.yarnpkg.com/psl/-/psl-1.1.29.tgz"; + sha1 = "60f580d360170bb722a797cc704411e6da850c67"; + }; + } + + { + name = "pstree.remy___pstree.remy_1.1.2.tgz"; + path = fetchurl { + name = "pstree.remy___pstree.remy_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.2.tgz"; + sha1 = "4448bbeb4b2af1fed242afc8dc7416a6f504951a"; + }; + } + + { + name = "pump___pump_1.0.3.tgz"; + path = fetchurl { + name = "pump___pump_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz"; + sha1 = "5dfe8311c33bbf6fc18261f9f34702c47c08a954"; + }; + } + + { + name = "pump___pump_2.0.1.tgz"; + path = fetchurl { + name = "pump___pump_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz"; + sha1 = "12399add6e4cf7526d973cbc8b5ce2e2908b3909"; + }; + } + + { + name = "pump___pump_3.0.0.tgz"; + path = fetchurl { + name = "pump___pump_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz"; + sha1 = "b4a2116815bde2f4e1ea602354e8c75565107a64"; + }; + } + + { + name = "pumpify___pumpify_1.5.1.tgz"; + path = fetchurl { + name = "pumpify___pumpify_1.5.1.tgz"; + url = "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz"; + sha1 = "36513be246ab27570b1a374a5ce278bfd74370ce"; + }; + } + + { + name = "punycode___punycode_1.4.1.tgz"; + path = fetchurl { + name = "punycode___punycode_1.4.1.tgz"; + url = "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz"; + sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"; + }; + } + + { + name = "punycode___punycode_2.1.1.tgz"; + path = fetchurl { + name = "punycode___punycode_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz"; + sha1 = "b58b010ac40c22c5657616c8d2c2c02c7bf479ec"; + }; + } + + { + name = "qrcode_terminal___qrcode_terminal_0.12.0.tgz"; + path = fetchurl { + name = "qrcode_terminal___qrcode_terminal_0.12.0.tgz"; + url = "https://registry.yarnpkg.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz"; + sha1 = "bb5b699ef7f9f0505092a3748be4464fe71b5819"; + }; + } + + { + name = "qs___qs_4.0.0.tgz"; + path = fetchurl { + name = "qs___qs_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/qs/-/qs-4.0.0.tgz"; + sha1 = "c31d9b74ec27df75e543a86c78728ed8d4623607"; + }; + } + + { + name = "qs___qs_6.5.2.tgz"; + path = fetchurl { + name = "qs___qs_6.5.2.tgz"; + url = "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz"; + sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36"; + }; + } + + { + name = "qs___qs_6.6.0.tgz"; + path = fetchurl { + name = "qs___qs_6.6.0.tgz"; + url = "https://registry.yarnpkg.com/qs/-/qs-6.6.0.tgz"; + sha1 = "a99c0f69a8d26bf7ef012f871cdabb0aee4424c2"; + }; + } + + { + name = "query_string___query_string_6.2.0.tgz"; + path = fetchurl { + name = "query_string___query_string_6.2.0.tgz"; + url = "https://registry.yarnpkg.com/query-string/-/query-string-6.2.0.tgz"; + sha1 = "468edeb542b7e0538f9f9b1aeb26f034f19c86e1"; + }; + } + + { + name = "qw___qw_1.0.1.tgz"; + path = fetchurl { + name = "qw___qw_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/qw/-/qw-1.0.1.tgz"; + sha1 = "efbfdc740f9ad054304426acb183412cc8b996d4"; + }; + } + + { + name = "random_access_file___random_access_file_2.0.1.tgz"; + path = fetchurl { + name = "random_access_file___random_access_file_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/random-access-file/-/random-access-file-2.0.1.tgz"; + sha1 = "dc22de79270e9a84cb36a2419b759725930dcaeb"; + }; + } + + { + name = "random_access_storage___random_access_storage_1.3.0.tgz"; + path = fetchurl { + name = "random_access_storage___random_access_storage_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/random-access-storage/-/random-access-storage-1.3.0.tgz"; + sha1 = "d27e4d897b79dc4358afc2bbe553044e5c8cfe35"; + }; + } + + { + name = "random_iterate___random_iterate_1.0.1.tgz"; + path = fetchurl { + name = "random_iterate___random_iterate_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/random-iterate/-/random-iterate-1.0.1.tgz"; + sha1 = "f7d97d92dee6665ec5f6da08c7f963cad4b2ac99"; + }; + } + + { + name = "randombytes___randombytes_2.0.6.tgz"; + path = fetchurl { + name = "randombytes___randombytes_2.0.6.tgz"; + url = "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz"; + sha1 = "d302c522948588848a8d300c932b44c24231da80"; + }; + } + + { + name = "range_parser___range_parser_1.2.0.tgz"; + path = fetchurl { + name = "range_parser___range_parser_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz"; + sha1 = "f49be6b487894ddc40dcc94a322f611092e00d5e"; + }; + } + + { + name = "range_parser___range_parser_1.0.3.tgz"; + path = fetchurl { + name = "range_parser___range_parser_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/range-parser/-/range-parser-1.0.3.tgz"; + sha1 = "6872823535c692e2c2a0103826afd82c2e0ff175"; + }; + } + + { + name = "range_slice_stream___range_slice_stream_2.0.0.tgz"; + path = fetchurl { + name = "range_slice_stream___range_slice_stream_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/range-slice-stream/-/range-slice-stream-2.0.0.tgz"; + sha1 = "1f25fc7a2cacf9ccd140c46f9cf670a1a7fe3ce6"; + }; + } + + { + name = "raw_body___raw_body_2.3.3.tgz"; + path = fetchurl { + name = "raw_body___raw_body_2.3.3.tgz"; + url = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz"; + sha1 = "1b324ece6b5706e153855bc1148c65bb7f6ea0c3"; + }; + } + + { + name = "rc___rc_1.2.8.tgz"; + path = fetchurl { + name = "rc___rc_1.2.8.tgz"; + url = "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz"; + sha1 = "cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"; + }; + } + + { + name = "rdf_canonize___rdf_canonize_0.2.5.tgz"; + path = fetchurl { + name = "rdf_canonize___rdf_canonize_0.2.5.tgz"; + url = "https://registry.yarnpkg.com/rdf-canonize/-/rdf-canonize-0.2.5.tgz"; + sha1 = "dc761d42a2e9e6bf6eec7e0e352fd5b10ff4e75a"; + }; + } + + { + name = "read_cmd_shim___read_cmd_shim_1.0.1.tgz"; + path = fetchurl { + name = "read_cmd_shim___read_cmd_shim_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz"; + sha1 = "2d5d157786a37c055d22077c32c53f8329e91c7b"; + }; + } + + { + name = "read_installed___read_installed_4.0.3.tgz"; + path = fetchurl { + name = "read_installed___read_installed_4.0.3.tgz"; + url = "https://registry.yarnpkg.com/read-installed/-/read-installed-4.0.3.tgz"; + sha1 = "ff9b8b67f187d1e4c29b9feb31f6b223acd19067"; + }; + } + + { + name = "read_package_json___read_package_json_2.0.13.tgz"; + path = fetchurl { + name = "read_package_json___read_package_json_2.0.13.tgz"; + url = "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.0.13.tgz"; + sha1 = "2e82ebd9f613baa6d2ebe3aa72cefe3f68e41f4a"; + }; + } + + { + name = "read_package_tree___read_package_tree_5.2.1.tgz"; + path = fetchurl { + name = "read_package_tree___read_package_tree_5.2.1.tgz"; + url = "https://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.2.1.tgz"; + sha1 = "6218b187d6fac82289ce4387bbbaf8eef536ad63"; + }; + } + + { + name = "read_pkg___read_pkg_4.0.1.tgz"; + path = fetchurl { + name = "read_pkg___read_pkg_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-4.0.1.tgz"; + sha1 = "963625378f3e1c4d48c85872b5a6ec7d5d093237"; + }; + } + + { + name = "read___read_1.0.7.tgz"; + path = fetchurl { + name = "read___read_1.0.7.tgz"; + url = "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz"; + sha1 = "b3da19bd052431a97671d44a42634adf710b40c4"; + }; + } + + { + name = "readable_stream___readable_stream_2.3.6.tgz"; + path = fetchurl { + name = "readable_stream___readable_stream_2.3.6.tgz"; + url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz"; + sha1 = "b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"; + }; + } + + { + name = "readable_stream___readable_stream_1.1.14.tgz"; + path = fetchurl { + name = "readable_stream___readable_stream_1.1.14.tgz"; + url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz"; + sha1 = "7cf4c54ef648e3813084c636dd2079e166c081d9"; + }; + } + + { + name = "readable_stream___readable_stream_1.0.34.tgz"; + path = fetchurl { + name = "readable_stream___readable_stream_1.0.34.tgz"; + url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz"; + sha1 = "125820e34bc842d2f2aaafafe4c2916ee32c157c"; + }; + } + + { + name = "readable_stream___readable_stream_3.0.6.tgz"; + path = fetchurl { + name = "readable_stream___readable_stream_3.0.6.tgz"; + url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.0.6.tgz"; + sha1 = "351302e4c68b5abd6a2ed55376a7f9a25be3057a"; + }; + } + + { + name = "readable_wrap___readable_wrap_1.0.0.tgz"; + path = fetchurl { + name = "readable_wrap___readable_wrap_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/readable-wrap/-/readable-wrap-1.0.0.tgz"; + sha1 = "3b5a211c631e12303a54991c806c17e7ae206bff"; + }; + } + + { + name = "readdir_scoped_modules___readdir_scoped_modules_1.0.2.tgz"; + path = fetchurl { + name = "readdir_scoped_modules___readdir_scoped_modules_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz"; + sha1 = "9fafa37d286be5d92cbaebdee030dc9b5f406747"; + }; + } + + { + name = "readdirp___readdirp_2.2.1.tgz"; + path = fetchurl { + name = "readdirp___readdirp_2.2.1.tgz"; + url = "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz"; + sha1 = "0e87622a3325aa33e892285caf8b4e846529a525"; + }; + } + + { + name = "readline2___readline2_1.0.1.tgz"; + path = fetchurl { + name = "readline2___readline2_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz"; + sha1 = "41059608ffc154757b715d9989d199ffbf372e35"; + }; + } + + { + name = "record_cache___record_cache_1.1.0.tgz"; + path = fetchurl { + name = "record_cache___record_cache_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/record-cache/-/record-cache-1.1.0.tgz"; + sha1 = "f8a467a691a469584b26e88d36b18afdb3932037"; + }; + } + + { + name = "redis_commands___redis_commands_1.4.0.tgz"; + path = fetchurl { + name = "redis_commands___redis_commands_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/redis-commands/-/redis-commands-1.4.0.tgz"; + sha1 = "52f9cf99153efcce56a8f86af986bd04e988602f"; + }; + } + + { + name = "redis_parser___redis_parser_2.6.0.tgz"; + path = fetchurl { + name = "redis_parser___redis_parser_2.6.0.tgz"; + url = "https://registry.yarnpkg.com/redis-parser/-/redis-parser-2.6.0.tgz"; + sha1 = "52ed09dacac108f1a631c07e9b69941e7a19504b"; + }; + } + + { + name = "redis___redis_2.8.0.tgz"; + path = fetchurl { + name = "redis___redis_2.8.0.tgz"; + url = "https://registry.yarnpkg.com/redis/-/redis-2.8.0.tgz"; + sha1 = "202288e3f58c49f6079d97af7a10e1303ae14b02"; + }; + } + + { + name = "referrer_policy___referrer_policy_1.1.0.tgz"; + path = fetchurl { + name = "referrer_policy___referrer_policy_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/referrer-policy/-/referrer-policy-1.1.0.tgz"; + sha1 = "35774eb735bf50fb6c078e83334b472350207d79"; + }; + } + + { + name = "reflect_metadata___reflect_metadata_0.1.12.tgz"; + path = fetchurl { + name = "reflect_metadata___reflect_metadata_0.1.12.tgz"; + url = "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.12.tgz"; + sha1 = "311bf0c6b63cd782f228a81abe146a2bfa9c56f2"; + }; + } + + { + name = "regex_not___regex_not_1.0.2.tgz"; + path = fetchurl { + name = "regex_not___regex_not_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz"; + sha1 = "1f4ece27e00b0b65e0247a6810e6a85d83a5752c"; + }; + } + + { + name = "registry_auth_token___registry_auth_token_3.3.2.tgz"; + path = fetchurl { + name = "registry_auth_token___registry_auth_token_3.3.2.tgz"; + url = "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz"; + sha1 = "851fd49038eecb586911115af845260eec983f20"; + }; + } + + { + name = "registry_url___registry_url_3.1.0.tgz"; + path = fetchurl { + name = "registry_url___registry_url_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz"; + sha1 = "3d4ef870f73dde1d77f0cf9a381432444e174942"; + }; + } + + { + name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz"; + path = fetchurl { + name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz"; + sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef"; + }; + } + + { + name = "render_media___render_media_3.1.3.tgz"; + path = fetchurl { + name = "render_media___render_media_3.1.3.tgz"; + url = "https://registry.yarnpkg.com/render-media/-/render-media-3.1.3.tgz"; + sha1 = "aa8c8cd3f720049370067180709b551d3c566254"; + }; + } + + { + name = "repeat_element___repeat_element_1.1.3.tgz"; + path = fetchurl { + name = "repeat_element___repeat_element_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz"; + sha1 = "782e0d825c0c5a3bb39731f84efee6b742e6b1ce"; + }; + } + + { + name = "repeat_string___repeat_string_1.6.1.tgz"; + path = fetchurl { + name = "repeat_string___repeat_string_1.6.1.tgz"; + url = "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz"; + sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637"; + }; + } + + { + name = "request___request_2.88.0.tgz"; + path = fetchurl { + name = "request___request_2.88.0.tgz"; + url = "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz"; + sha1 = "9c2fca4f7d35b592efe57c7f0a55e81052124fef"; + }; + } + + { + name = "require_directory___require_directory_2.1.1.tgz"; + path = fetchurl { + name = "require_directory___require_directory_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz"; + sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"; + }; + } + + { + name = "require_main_filename___require_main_filename_1.0.1.tgz"; + path = fetchurl { + name = "require_main_filename___require_main_filename_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz"; + sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1"; + }; + } + + { + name = "require_uncached___require_uncached_1.0.3.tgz"; + path = fetchurl { + name = "require_uncached___require_uncached_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz"; + sha1 = "4e0d56d6c9662fd31e43011c4b95aa49955421d3"; + }; + } + + { + name = "resolve_from___resolve_from_1.0.1.tgz"; + path = fetchurl { + name = "resolve_from___resolve_from_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz"; + sha1 = "26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"; + }; + } + + { + name = "resolve_from___resolve_from_2.0.0.tgz"; + path = fetchurl { + name = "resolve_from___resolve_from_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz"; + sha1 = "9480ab20e94ffa1d9e80a804c7ea147611966b57"; + }; + } + + { + name = "resolve_from___resolve_from_3.0.0.tgz"; + path = fetchurl { + name = "resolve_from___resolve_from_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz"; + sha1 = "b22c7af7d9d6881bc8b6e653335eebcb0a188748"; + }; + } + + { + name = "resolve_from___resolve_from_4.0.0.tgz"; + path = fetchurl { + name = "resolve_from___resolve_from_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz"; + sha1 = "4abcd852ad32dd7baabfe9b40e00a36db5f392e6"; + }; + } + + { + name = "resolve_pkg___resolve_pkg_1.0.0.tgz"; + path = fetchurl { + name = "resolve_pkg___resolve_pkg_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/resolve-pkg/-/resolve-pkg-1.0.0.tgz"; + sha1 = "e19a15e78aca2e124461dc92b2e3943ef93494d9"; + }; + } + + { + name = "resolve_url___resolve_url_0.2.1.tgz"; + path = fetchurl { + name = "resolve_url___resolve_url_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz"; + sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a"; + }; + } + + { + name = "resolve___resolve_1.8.1.tgz"; + path = fetchurl { + name = "resolve___resolve_1.8.1.tgz"; + url = "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz"; + sha1 = "82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"; + }; + } + + { + name = "restore_cursor___restore_cursor_1.0.1.tgz"; + path = fetchurl { + name = "restore_cursor___restore_cursor_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz"; + sha1 = "34661f46886327fed2991479152252df92daa541"; + }; + } + + { + name = "restore_cursor___restore_cursor_2.0.0.tgz"; + path = fetchurl { + name = "restore_cursor___restore_cursor_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz"; + sha1 = "9f7ee287f82fd326d4fd162923d62129eee0dfaf"; + }; + } + + { + name = "ret___ret_0.1.15.tgz"; + path = fetchurl { + name = "ret___ret_0.1.15.tgz"; + url = "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz"; + sha1 = "b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"; + }; + } + + { + name = "retry_as_promised___retry_as_promised_2.3.2.tgz"; + path = fetchurl { + name = "retry_as_promised___retry_as_promised_2.3.2.tgz"; + url = "https://registry.yarnpkg.com/retry-as-promised/-/retry-as-promised-2.3.2.tgz"; + sha1 = "cd974ee4fd9b5fe03cbf31871ee48221c07737b7"; + }; + } + + { + name = "retry___retry_0.10.1.tgz"; + path = fetchurl { + name = "retry___retry_0.10.1.tgz"; + url = "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz"; + sha1 = "e76388d217992c252750241d3d3956fed98d8ff4"; + }; + } + + { + name = "retry___retry_0.12.0.tgz"; + path = fetchurl { + name = "retry___retry_0.12.0.tgz"; + url = "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz"; + sha1 = "1b42a6266a21f07421d1b0b54b7dc167b01c013b"; + }; + } + + { + name = "revalidator___revalidator_0.1.8.tgz"; + path = fetchurl { + name = "revalidator___revalidator_0.1.8.tgz"; + url = "https://registry.yarnpkg.com/revalidator/-/revalidator-0.1.8.tgz"; + sha1 = "fece61bfa0c1b52a206bd6b18198184bdd523a3b"; + }; + } + + { + name = "rimraf___rimraf_2.6.2.tgz"; + path = fetchurl { + name = "rimraf___rimraf_2.6.2.tgz"; + url = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz"; + sha1 = "2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"; + }; + } + + { + name = "rimraf___rimraf_2.4.5.tgz"; + path = fetchurl { + name = "rimraf___rimraf_2.4.5.tgz"; + url = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz"; + sha1 = "ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da"; + }; + } + + { + name = "run_async___run_async_0.1.0.tgz"; + path = fetchurl { + name = "run_async___run_async_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz"; + sha1 = "c8ad4a5e110661e402a7d21b530e009f25f8e389"; + }; + } + + { + name = "run_node___run_node_1.0.0.tgz"; + path = fetchurl { + name = "run_node___run_node_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/run-node/-/run-node-1.0.0.tgz"; + sha1 = "46b50b946a2aa2d4947ae1d886e9856fd9cabe5e"; + }; + } + + { + name = "run_parallel_limit___run_parallel_limit_1.0.5.tgz"; + path = fetchurl { + name = "run_parallel_limit___run_parallel_limit_1.0.5.tgz"; + url = "https://registry.yarnpkg.com/run-parallel-limit/-/run-parallel-limit-1.0.5.tgz"; + sha1 = "c29a4fd17b4df358cb52a8a697811a63c984f1b7"; + }; + } + + { + name = "run_parallel___run_parallel_1.1.9.tgz"; + path = fetchurl { + name = "run_parallel___run_parallel_1.1.9.tgz"; + url = "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz"; + sha1 = "c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679"; + }; + } + + { + name = "run_queue___run_queue_1.0.3.tgz"; + path = fetchurl { + name = "run_queue___run_queue_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz"; + sha1 = "e848396f057d223f24386924618e25694161ec47"; + }; + } + + { + name = "run_series___run_series_1.1.8.tgz"; + path = fetchurl { + name = "run_series___run_series_1.1.8.tgz"; + url = "https://registry.yarnpkg.com/run-series/-/run-series-1.1.8.tgz"; + sha1 = "2c4558f49221e01cd6371ff4e0a1e203e460fc36"; + }; + } + + { + name = "rusha___rusha_0.8.13.tgz"; + path = fetchurl { + name = "rusha___rusha_0.8.13.tgz"; + url = "https://registry.yarnpkg.com/rusha/-/rusha-0.8.13.tgz"; + sha1 = "9a084e7b860b17bff3015b92c67a6a336191513a"; + }; + } + + { + name = "rx_lite___rx_lite_3.1.2.tgz"; + path = fetchurl { + name = "rx_lite___rx_lite_3.1.2.tgz"; + url = "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz"; + sha1 = "19ce502ca572665f3b647b10939f97fd1615f102"; + }; + } + + { + name = "rxjs___rxjs_6.3.3.tgz"; + path = fetchurl { + name = "rxjs___rxjs_6.3.3.tgz"; + url = "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.3.tgz"; + sha1 = "3c6a7fa420e844a81390fb1158a9ec614f4bad55"; + }; + } + + { + name = "safe_buffer___safe_buffer_5.1.2.tgz"; + path = fetchurl { + name = "safe_buffer___safe_buffer_5.1.2.tgz"; + url = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz"; + sha1 = "991ec69d296e0313747d59bdfd2b745c35f8828d"; + }; + } + + { + name = "safe_json_stringify___safe_json_stringify_1.2.0.tgz"; + path = fetchurl { + name = "safe_json_stringify___safe_json_stringify_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz"; + sha1 = "356e44bc98f1f93ce45df14bcd7c01cda86e0afd"; + }; + } + + { + name = "safe_regex___safe_regex_1.1.0.tgz"; + path = fetchurl { + name = "safe_regex___safe_regex_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz"; + sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e"; + }; + } + + { + name = "safer_buffer___safer_buffer_2.1.2.tgz"; + path = fetchurl { + name = "safer_buffer___safer_buffer_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz"; + sha1 = "44fa161b0187b9549dd84bb91802f9bd8385cd6a"; + }; + } + + { + name = "sass_lint___sass_lint_1.12.1.tgz"; + path = fetchurl { + name = "sass_lint___sass_lint_1.12.1.tgz"; + url = "https://registry.yarnpkg.com/sass-lint/-/sass-lint-1.12.1.tgz"; + sha1 = "630f69c216aa206b8232fb2aa907bdf3336b6d83"; + }; + } + + { + name = "sax___sax_1.2.4.tgz"; + path = fetchurl { + name = "sax___sax_1.2.4.tgz"; + url = "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz"; + sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9"; + }; + } + + { + name = "scripty___scripty_1.8.0.tgz"; + path = fetchurl { + name = "scripty___scripty_1.8.0.tgz"; + url = "https://registry.yarnpkg.com/scripty/-/scripty-1.8.0.tgz"; + sha1 = "951f0b4bc3e235844b7f5355f58d31e012e0b806"; + }; + } + + { + name = "semver_compare___semver_compare_1.0.0.tgz"; + path = fetchurl { + name = "semver_compare___semver_compare_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz"; + sha1 = "0dee216a1c941ab37e9efb1788f6afc5ff5537fc"; + }; + } + + { + name = "semver_diff___semver_diff_2.1.0.tgz"; + path = fetchurl { + name = "semver_diff___semver_diff_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz"; + sha1 = "4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36"; + }; + } + + { + name = "semver___semver_5.6.0.tgz"; + path = fetchurl { + name = "semver___semver_5.6.0.tgz"; + url = "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz"; + sha1 = "7e74256fbaa49c75aa7c7a205cc22799cac80004"; + }; + } + + { + name = "semver___semver_4.3.2.tgz"; + path = fetchurl { + name = "semver___semver_4.3.2.tgz"; + url = "https://registry.yarnpkg.com/semver/-/semver-4.3.2.tgz"; + sha1 = "c7a07158a80bedd052355b770d82d6640f803be7"; + }; + } + + { + name = "semver___semver_5.3.0.tgz"; + path = fetchurl { + name = "semver___semver_5.3.0.tgz"; + url = "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz"; + sha1 = "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"; + }; + } + + { + name = "send___send_0.13.1.tgz"; + path = fetchurl { + name = "send___send_0.13.1.tgz"; + url = "https://registry.yarnpkg.com/send/-/send-0.13.1.tgz"; + sha1 = "a30d5f4c82c8a9bae9ad00a1d9b1bdbe6f199ed7"; + }; + } + + { + name = "send___send_0.13.2.tgz"; + path = fetchurl { + name = "send___send_0.13.2.tgz"; + url = "https://registry.yarnpkg.com/send/-/send-0.13.2.tgz"; + sha1 = "765e7607c8055452bba6f0b052595350986036de"; + }; + } + + { + name = "send___send_0.16.2.tgz"; + path = fetchurl { + name = "send___send_0.16.2.tgz"; + url = "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz"; + sha1 = "6ecca1e0f8c156d141597559848df64730a6bbc1"; + }; + } + + { + name = "sequelize_typescript___sequelize_typescript_0.6.6.tgz"; + path = fetchurl { + name = "sequelize_typescript___sequelize_typescript_0.6.6.tgz"; + url = "https://registry.yarnpkg.com/sequelize-typescript/-/sequelize-typescript-0.6.6.tgz"; + sha1 = "926037b542dae9f4eff20609d095cc5e3a3640f3"; + }; + } + + { + name = "sequelize___sequelize_4.41.2.tgz"; + path = fetchurl { + name = "sequelize___sequelize_4.41.2.tgz"; + url = "https://registry.yarnpkg.com/sequelize/-/sequelize-4.41.2.tgz"; + sha1 = "bb9ba30d72e9eeb883c9861cd0e2cac672010883"; + }; + } + + { + name = "serve_static___serve_static_1.13.2.tgz"; + path = fetchurl { + name = "serve_static___serve_static_1.13.2.tgz"; + url = "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz"; + sha1 = "095e8472fd5b46237db50ce486a43f4b86c6cec1"; + }; + } + + { + name = "serve_static___serve_static_1.10.3.tgz"; + path = fetchurl { + name = "serve_static___serve_static_1.10.3.tgz"; + url = "https://registry.yarnpkg.com/serve-static/-/serve-static-1.10.3.tgz"; + sha1 = "ce5a6ecd3101fed5ec09827dac22a9c29bfb0535"; + }; + } + + { + name = "set_blocking___set_blocking_2.0.0.tgz"; + path = fetchurl { + name = "set_blocking___set_blocking_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz"; + sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7"; + }; + } + + { + name = "set_value___set_value_0.4.3.tgz"; + path = fetchurl { + name = "set_value___set_value_0.4.3.tgz"; + url = "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz"; + sha1 = "7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1"; + }; + } + + { + name = "set_value___set_value_2.0.0.tgz"; + path = fetchurl { + name = "set_value___set_value_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz"; + sha1 = "71ae4a88f0feefbbf52d1ea604f3fb315ebb6274"; + }; + } + + { + name = "setprototypeof___setprototypeof_1.1.0.tgz"; + path = fetchurl { + name = "setprototypeof___setprototypeof_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz"; + sha1 = "d0bd85536887b6fe7c0d818cb962d9d91c54e656"; + }; + } + + { + name = "sha___sha_2.0.1.tgz"; + path = fetchurl { + name = "sha___sha_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/sha/-/sha-2.0.1.tgz"; + sha1 = "6030822fbd2c9823949f8f72ed6411ee5cf25aae"; + }; + } + + { + name = "sharp___sharp_0.21.0.tgz"; + path = fetchurl { + name = "sharp___sharp_0.21.0.tgz"; + url = "https://registry.yarnpkg.com/sharp/-/sharp-0.21.0.tgz"; + sha1 = "e3cf2e4cb9382caf78efb3d45252381730e899c4"; + }; + } + + { + name = "shebang_command___shebang_command_1.2.0.tgz"; + path = fetchurl { + name = "shebang_command___shebang_command_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz"; + sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea"; + }; + } + + { + name = "shebang_regex___shebang_regex_1.0.0.tgz"; + path = fetchurl { + name = "shebang_regex___shebang_regex_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz"; + sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3"; + }; + } + + { + name = "shelljs___shelljs_0.6.1.tgz"; + path = fetchurl { + name = "shelljs___shelljs_0.6.1.tgz"; + url = "https://registry.yarnpkg.com/shelljs/-/shelljs-0.6.1.tgz"; + sha1 = "ec6211bed1920442088fe0f70b2837232ed2c8a8"; + }; + } + + { + name = "shimmer___shimmer_1.2.0.tgz"; + path = fetchurl { + name = "shimmer___shimmer_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.0.tgz"; + sha1 = "f966f7555789763e74d8841193685a5e78736665"; + }; + } + + { + name = "signal_exit___signal_exit_3.0.2.tgz"; + path = fetchurl { + name = "signal_exit___signal_exit_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz"; + sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d"; + }; + } + + { + name = "simple_concat___simple_concat_1.0.0.tgz"; + path = fetchurl { + name = "simple_concat___simple_concat_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz"; + sha1 = "7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6"; + }; + } + + { + name = "simple_get___simple_get_2.8.1.tgz"; + path = fetchurl { + name = "simple_get___simple_get_2.8.1.tgz"; + url = "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.1.tgz"; + sha1 = "0e22e91d4575d87620620bc91308d57a77f44b5d"; + }; + } + + { + name = "simple_get___simple_get_3.0.3.tgz"; + path = fetchurl { + name = "simple_get___simple_get_3.0.3.tgz"; + url = "https://registry.yarnpkg.com/simple-get/-/simple-get-3.0.3.tgz"; + sha1 = "924528ac3f9d7718ce5e9ec1b1a69c0be4d62efa"; + }; + } + + { + name = "simple_git___simple_git_1.107.0.tgz"; + path = fetchurl { + name = "simple_git___simple_git_1.107.0.tgz"; + url = "https://registry.yarnpkg.com/simple-git/-/simple-git-1.107.0.tgz"; + sha1 = "12cffaf261c14d6f450f7fdb86c21ccee968b383"; + }; + } + + { + name = "simple_peer___simple_peer_9.1.2.tgz"; + path = fetchurl { + name = "simple_peer___simple_peer_9.1.2.tgz"; + url = "https://registry.yarnpkg.com/simple-peer/-/simple-peer-9.1.2.tgz"; + sha1 = "f8afa5eb83f8a17d66e437e5ac54c1221eca4b39"; + }; + } + + { + name = "simple_sha1___simple_sha1_2.1.1.tgz"; + path = fetchurl { + name = "simple_sha1___simple_sha1_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/simple-sha1/-/simple-sha1-2.1.1.tgz"; + sha1 = "93f3b7f2e8dfdc056c32793e5d47b58d311b140d"; + }; + } + + { + name = "simple_swizzle___simple_swizzle_0.2.2.tgz"; + path = fetchurl { + name = "simple_swizzle___simple_swizzle_0.2.2.tgz"; + url = "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz"; + sha1 = "a4da6b635ffcccca33f70d17cb92592de95e557a"; + }; + } + + { + name = "simple_websocket___simple_websocket_7.2.0.tgz"; + path = fetchurl { + name = "simple_websocket___simple_websocket_7.2.0.tgz"; + url = "https://registry.yarnpkg.com/simple-websocket/-/simple-websocket-7.2.0.tgz"; + sha1 = "c3190555d74399372b96b51435f2d8c4b04611df"; + }; + } + + { + name = "sitemap___sitemap_2.1.0.tgz"; + path = fetchurl { + name = "sitemap___sitemap_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/sitemap/-/sitemap-2.1.0.tgz"; + sha1 = "1633cb88c196d755ad94becfb1c1bcacc6d3425a"; + }; + } + + { + name = "slash___slash_1.0.0.tgz"; + path = fetchurl { + name = "slash___slash_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz"; + sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"; + }; + } + + { + name = "slash___slash_2.0.0.tgz"; + path = fetchurl { + name = "slash___slash_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz"; + sha1 = "de552851a1759df3a8f206535442f5ec4ddeab44"; + }; + } + + { + name = "slice_ansi___slice_ansi_0.0.4.tgz"; + path = fetchurl { + name = "slice_ansi___slice_ansi_0.0.4.tgz"; + url = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz"; + sha1 = "edbf8903f66f7ce2f8eafd6ceed65e264c831b35"; + }; + } + + { + name = "slide___slide_1.1.6.tgz"; + path = fetchurl { + name = "slide___slide_1.1.6.tgz"; + url = "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz"; + sha1 = "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"; + }; + } + + { + name = "smart_buffer___smart_buffer_1.1.15.tgz"; + path = fetchurl { + name = "smart_buffer___smart_buffer_1.1.15.tgz"; + url = "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-1.1.15.tgz"; + sha1 = "7f114b5b65fab3e2a35aa775bb12f0d1c649bf16"; + }; + } + + { + name = "smart_buffer___smart_buffer_4.0.1.tgz"; + path = fetchurl { + name = "smart_buffer___smart_buffer_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.0.1.tgz"; + sha1 = "07ea1ca8d4db24eb4cac86537d7d18995221ace3"; + }; + } + + { + name = "smtp_connection___smtp_connection_2.3.1.tgz"; + path = fetchurl { + name = "smtp_connection___smtp_connection_2.3.1.tgz"; + url = "https://registry.yarnpkg.com/smtp-connection/-/smtp-connection-2.3.1.tgz"; + sha1 = "d169c8f1c9a73854134cdabe6fb818237dfc4fba"; + }; + } + + { + name = "smtp_server___smtp_server_1.16.1.tgz"; + path = fetchurl { + name = "smtp_server___smtp_server_1.16.1.tgz"; + url = "https://registry.yarnpkg.com/smtp-server/-/smtp-server-1.16.1.tgz"; + sha1 = "91d2dbd5e8bb9ed395b1a1774e8b60dd7b24e453"; + }; + } + + { + name = "snapdragon_node___snapdragon_node_2.1.1.tgz"; + path = fetchurl { + name = "snapdragon_node___snapdragon_node_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz"; + sha1 = "6c175f86ff14bdb0724563e8f3c1b021a286853b"; + }; + } + + { + name = "snapdragon_util___snapdragon_util_3.0.1.tgz"; + path = fetchurl { + name = "snapdragon_util___snapdragon_util_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz"; + sha1 = "f956479486f2acd79700693f6f7b805e45ab56e2"; + }; + } + + { + name = "snapdragon___snapdragon_0.8.2.tgz"; + path = fetchurl { + name = "snapdragon___snapdragon_0.8.2.tgz"; + url = "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz"; + sha1 = "64922e7c565b0e14204ba1aa7d6964278d25182d"; + }; + } + + { + name = "socket.io_adapter___socket.io_adapter_0.5.0.tgz"; + path = fetchurl { + name = "socket.io_adapter___socket.io_adapter_0.5.0.tgz"; + url = "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz"; + sha1 = "cb6d4bb8bec81e1078b99677f9ced0046066bb8b"; + }; + } + + { + name = "socket.io_adapter___socket.io_adapter_1.1.1.tgz"; + path = fetchurl { + name = "socket.io_adapter___socket.io_adapter_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz"; + sha1 = "2a805e8a14d6372124dd9159ad4502f8cb07f06b"; + }; + } + + { + name = "socket.io_client___socket.io_client_1.7.3.tgz"; + path = fetchurl { + name = "socket.io_client___socket.io_client_1.7.3.tgz"; + url = "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.7.3.tgz"; + sha1 = "b30e86aa10d5ef3546601c09cde4765e381da377"; + }; + } + + { + name = "socket.io_client___socket.io_client_2.2.0.tgz"; + path = fetchurl { + name = "socket.io_client___socket.io_client_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.2.0.tgz"; + sha1 = "84e73ee3c43d5020ccc1a258faeeb9aec2723af7"; + }; + } + + { + name = "socket.io_parser___socket.io_parser_2.3.1.tgz"; + path = fetchurl { + name = "socket.io_parser___socket.io_parser_2.3.1.tgz"; + url = "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.3.1.tgz"; + sha1 = "dd532025103ce429697326befd64005fcfe5b4a0"; + }; + } + + { + name = "socket.io_parser___socket.io_parser_3.3.0.tgz"; + path = fetchurl { + name = "socket.io_parser___socket.io_parser_3.3.0.tgz"; + url = "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.3.0.tgz"; + sha1 = "2b52a96a509fdf31440ba40fed6094c7d4f1262f"; + }; + } + + { + name = "socket.io___socket.io_1.7.3.tgz"; + path = fetchurl { + name = "socket.io___socket.io_1.7.3.tgz"; + url = "https://registry.yarnpkg.com/socket.io/-/socket.io-1.7.3.tgz"; + sha1 = "b8af9caba00949e568e369f1327ea9be9ea2461b"; + }; + } + + { + name = "socket.io___socket.io_2.2.0.tgz"; + path = fetchurl { + name = "socket.io___socket.io_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/socket.io/-/socket.io-2.2.0.tgz"; + sha1 = "f0f633161ef6712c972b307598ecd08c9b1b4d5b"; + }; + } + + { + name = "socks_proxy_agent___socks_proxy_agent_3.0.1.tgz"; + path = fetchurl { + name = "socks_proxy_agent___socks_proxy_agent_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz"; + sha1 = "2eae7cf8e2a82d34565761539a7f9718c5617659"; + }; + } + + { + name = "socks_proxy_agent___socks_proxy_agent_4.0.1.tgz"; + path = fetchurl { + name = "socks_proxy_agent___socks_proxy_agent_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz"; + sha1 = "5936bf8b707a993079c6f37db2091821bffa6473"; + }; + } + + { + name = "socks___socks_1.1.10.tgz"; + path = fetchurl { + name = "socks___socks_1.1.10.tgz"; + url = "https://registry.yarnpkg.com/socks/-/socks-1.1.10.tgz"; + sha1 = "5b8b7fc7c8f341c53ed056e929b7bf4de8ba7b5a"; + }; + } + + { + name = "socks___socks_2.2.2.tgz"; + path = fetchurl { + name = "socks___socks_2.2.2.tgz"; + url = "https://registry.yarnpkg.com/socks/-/socks-2.2.2.tgz"; + sha1 = "f061219fc2d4d332afb4af93e865c84d3fa26e2b"; + }; + } + + { + name = "sorted_object___sorted_object_2.0.1.tgz"; + path = fetchurl { + name = "sorted_object___sorted_object_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/sorted-object/-/sorted-object-2.0.1.tgz"; + sha1 = "7d631f4bd3a798a24af1dffcfbfe83337a5df5fc"; + }; + } + + { + name = "sorted_union_stream___sorted_union_stream_2.1.3.tgz"; + path = fetchurl { + name = "sorted_union_stream___sorted_union_stream_2.1.3.tgz"; + url = "https://registry.yarnpkg.com/sorted-union-stream/-/sorted-union-stream-2.1.3.tgz"; + sha1 = "c7794c7e077880052ff71a8d4a2dbb4a9a638ac7"; + }; + } + + { + name = "source_map_resolve___source_map_resolve_0.5.2.tgz"; + path = fetchurl { + name = "source_map_resolve___source_map_resolve_0.5.2.tgz"; + url = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz"; + sha1 = "72e2cc34095543e43b2c62b2c4c10d4a9054f259"; + }; + } + + { + name = "source_map_support___source_map_support_0.5.9.tgz"; + path = fetchurl { + name = "source_map_support___source_map_support_0.5.9.tgz"; + url = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.9.tgz"; + sha1 = "41bc953b2534267ea2d605bccfa7bfa3111ced5f"; + }; + } + + { + name = "source_map_url___source_map_url_0.4.0.tgz"; + path = fetchurl { + name = "source_map_url___source_map_url_0.4.0.tgz"; + url = "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz"; + sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3"; + }; + } + + { + name = "source_map___source_map_0.5.7.tgz"; + path = fetchurl { + name = "source_map___source_map_0.5.7.tgz"; + url = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz"; + sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"; + }; + } + + { + name = "source_map___source_map_0.6.1.tgz"; + path = fetchurl { + name = "source_map___source_map_0.6.1.tgz"; + url = "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz"; + sha1 = "74722af32e9614e9c287a8d0bbde48b5e2f1a263"; + }; + } + + { + name = "spawn_command___spawn_command_0.0.2_1.tgz"; + path = fetchurl { + name = "spawn_command___spawn_command_0.0.2_1.tgz"; + url = "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz"; + sha1 = "62f5e9466981c1b796dc5929937e11c9c6921bd0"; + }; + } + + { + name = "spdx_correct___spdx_correct_3.0.2.tgz"; + path = fetchurl { + name = "spdx_correct___spdx_correct_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.2.tgz"; + sha1 = "19bb409e91b47b1ad54159243f7312a858db3c2e"; + }; + } + + { + name = "spdx_exceptions___spdx_exceptions_2.2.0.tgz"; + path = fetchurl { + name = "spdx_exceptions___spdx_exceptions_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz"; + sha1 = "2ea450aee74f2a89bfb94519c07fcd6f41322977"; + }; + } + + { + name = "spdx_expression_parse___spdx_expression_parse_3.0.0.tgz"; + path = fetchurl { + name = "spdx_expression_parse___spdx_expression_parse_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz"; + sha1 = "99e119b7a5da00e05491c9fa338b7904823b41d0"; + }; + } + + { + name = "spdx_license_ids___spdx_license_ids_3.0.2.tgz"; + path = fetchurl { + name = "spdx_license_ids___spdx_license_ids_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz"; + sha1 = "a59efc09784c2a5bada13cfeaf5c75dd214044d2"; + }; + } + + { + name = "speedometer___speedometer_1.1.0.tgz"; + path = fetchurl { + name = "speedometer___speedometer_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/speedometer/-/speedometer-1.1.0.tgz"; + sha1 = "a30b13abda45687a1a76977012c060f2ac8a7934"; + }; + } + + { + name = "split_string___split_string_3.1.0.tgz"; + path = fetchurl { + name = "split_string___split_string_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz"; + sha1 = "7cb09dda3a86585705c64b39a6466038682e8fe2"; + }; + } + + { + name = "split2___split2_0.2.1.tgz"; + path = fetchurl { + name = "split2___split2_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/split2/-/split2-0.2.1.tgz"; + sha1 = "02ddac9adc03ec0bb78c1282ec079ca6e85ae900"; + }; + } + + { + name = "split___split_1.0.1.tgz"; + path = fetchurl { + name = "split___split_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz"; + sha1 = "605bd9be303aa59fb35f9229fbea0ddec9ea07d9"; + }; + } + + { + name = "sprintf_js___sprintf_js_1.0.3.tgz"; + path = fetchurl { + name = "sprintf_js___sprintf_js_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz"; + sha1 = "04e6926f662895354f3dd015203633b857297e2c"; + }; + } + + { + name = "srt_to_vtt___srt_to_vtt_1.1.3.tgz"; + path = fetchurl { + name = "srt_to_vtt___srt_to_vtt_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/srt-to-vtt/-/srt-to-vtt-1.1.3.tgz"; + sha1 = "a9bc16cde5412e000e59ffda469f3e9befed5dde"; + }; + } + + { + name = "sshpk___sshpk_1.15.2.tgz"; + path = fetchurl { + name = "sshpk___sshpk_1.15.2.tgz"; + url = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.15.2.tgz"; + sha1 = "c946d6bd9b1a39d0e8635763f5242d6ed6dcb629"; + }; + } + + { + name = "ssri___ssri_5.3.0.tgz"; + path = fetchurl { + name = "ssri___ssri_5.3.0.tgz"; + url = "https://registry.yarnpkg.com/ssri/-/ssri-5.3.0.tgz"; + sha1 = "ba3872c9c6d33a0704a7d71ff045e5ec48999d06"; + }; + } + + { + name = "ssri___ssri_6.0.1.tgz"; + path = fetchurl { + name = "ssri___ssri_6.0.1.tgz"; + url = "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz"; + sha1 = "2a3c41b28dd45b62b63676ecb74001265ae9edd8"; + }; + } + + { + name = "stack_trace___stack_trace_0.0.10.tgz"; + path = fetchurl { + name = "stack_trace___stack_trace_0.0.10.tgz"; + url = "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz"; + sha1 = "547c70b347e8d32b4e108ea1a2a159e5fdde19c0"; + }; + } + + { + name = "staged_git_files___staged_git_files_1.1.2.tgz"; + path = fetchurl { + name = "staged_git_files___staged_git_files_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-1.1.2.tgz"; + sha1 = "4326d33886dc9ecfa29a6193bf511ba90a46454b"; + }; + } + + { + name = "static_extend___static_extend_0.1.2.tgz"; + path = fetchurl { + name = "static_extend___static_extend_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz"; + sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6"; + }; + } + + { + name = "statuses___statuses_1.5.0.tgz"; + path = fetchurl { + name = "statuses___statuses_1.5.0.tgz"; + url = "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz"; + sha1 = "161c7dac177659fd9811f43771fa99381478628c"; + }; + } + + { + name = "statuses___statuses_1.3.1.tgz"; + path = fetchurl { + name = "statuses___statuses_1.3.1.tgz"; + url = "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz"; + sha1 = "faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"; + }; + } + + { + name = "statuses___statuses_1.2.1.tgz"; + path = fetchurl { + name = "statuses___statuses_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/statuses/-/statuses-1.2.1.tgz"; + sha1 = "dded45cc18256d51ed40aec142489d5c61026d28"; + }; + } + + { + name = "statuses___statuses_1.4.0.tgz"; + path = fetchurl { + name = "statuses___statuses_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz"; + sha1 = "bb73d446da2796106efcc1b601a253d6c46bd087"; + }; + } + + { + name = "stream_each___stream_each_1.2.3.tgz"; + path = fetchurl { + name = "stream_each___stream_each_1.2.3.tgz"; + url = "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz"; + sha1 = "ebe27a0c389b04fbcc233642952e10731afa9bae"; + }; + } + + { + name = "stream_iterate___stream_iterate_1.2.0.tgz"; + path = fetchurl { + name = "stream_iterate___stream_iterate_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/stream-iterate/-/stream-iterate-1.2.0.tgz"; + sha1 = "2bd7c77296c1702a46488b8ad41f79865eecd4e1"; + }; + } + + { + name = "stream_shift___stream_shift_1.0.0.tgz"; + path = fetchurl { + name = "stream_shift___stream_shift_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz"; + sha1 = "d5c752825e5367e786f78e18e445ea223a155952"; + }; + } + + { + name = "stream_splicer___stream_splicer_1.3.2.tgz"; + path = fetchurl { + name = "stream_splicer___stream_splicer_1.3.2.tgz"; + url = "https://registry.yarnpkg.com/stream-splicer/-/stream-splicer-1.3.2.tgz"; + sha1 = "3c0441be15b9bf4e226275e6dc83964745546661"; + }; + } + + { + name = "stream_to_blob_url___stream_to_blob_url_2.1.1.tgz"; + path = fetchurl { + name = "stream_to_blob_url___stream_to_blob_url_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/stream-to-blob-url/-/stream-to-blob-url-2.1.1.tgz"; + sha1 = "e1ac97f86ca8e9f512329a48e7830ce9a50beef2"; + }; + } + + { + name = "stream_to_blob___stream_to_blob_1.0.1.tgz"; + path = fetchurl { + name = "stream_to_blob___stream_to_blob_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/stream-to-blob/-/stream-to-blob-1.0.1.tgz"; + sha1 = "2dc1e09b71677a234d00445f8eb7ff70c4fe9948"; + }; + } + + { + name = "stream_with_known_length_to_buffer___stream_with_known_length_to_buffer_1.0.2.tgz"; + path = fetchurl { + name = "stream_with_known_length_to_buffer___stream_with_known_length_to_buffer_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/stream-with-known-length-to-buffer/-/stream-with-known-length-to-buffer-1.0.2.tgz"; + sha1 = "b8ea5a92086a1ed5d27fc4c529636682118c945b"; + }; + } + + { + name = "streamify___streamify_0.2.9.tgz"; + path = fetchurl { + name = "streamify___streamify_0.2.9.tgz"; + url = "https://registry.yarnpkg.com/streamify/-/streamify-0.2.9.tgz"; + sha1 = "8938b14db491e2b6be4f8d99cc4133c9f0384f0b"; + }; + } + + { + name = "streamsearch___streamsearch_0.1.2.tgz"; + path = fetchurl { + name = "streamsearch___streamsearch_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz"; + sha1 = "808b9d0e56fc273d809ba57338e929919a1a9f1a"; + }; + } + + { + name = "strict_uri_encode___strict_uri_encode_2.0.0.tgz"; + path = fetchurl { + name = "strict_uri_encode___strict_uri_encode_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz"; + sha1 = "b9c7330c7042862f6b142dc274bbcc5866ce3546"; + }; + } + + { + name = "string_argv___string_argv_0.0.2.tgz"; + path = fetchurl { + name = "string_argv___string_argv_0.0.2.tgz"; + url = "https://registry.yarnpkg.com/string-argv/-/string-argv-0.0.2.tgz"; + sha1 = "dac30408690c21f3c3630a3ff3a05877bdcbd736"; + }; + } + + { + name = "string_width___string_width_1.0.2.tgz"; + path = fetchurl { + name = "string_width___string_width_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz"; + sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"; + }; + } + + { + name = "string_width___string_width_2.1.1.tgz"; + path = fetchurl { + name = "string_width___string_width_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz"; + sha1 = "ab93f27a8dc13d28cac815c462143a6d9012ae9e"; + }; + } + + { + name = "string2compact___string2compact_1.3.0.tgz"; + path = fetchurl { + name = "string2compact___string2compact_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/string2compact/-/string2compact-1.3.0.tgz"; + sha1 = "22d946127b082d1203c51316af60117a337423c3"; + }; + } + + { + name = "string_decoder___string_decoder_1.2.0.tgz"; + path = fetchurl { + name = "string_decoder___string_decoder_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz"; + sha1 = "fe86e738b19544afe70469243b2a1ee9240eae8d"; + }; + } + + { + name = "string_decoder___string_decoder_0.10.31.tgz"; + path = fetchurl { + name = "string_decoder___string_decoder_0.10.31.tgz"; + url = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz"; + sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94"; + }; + } + + { + name = "string_decoder___string_decoder_1.1.1.tgz"; + path = fetchurl { + name = "string_decoder___string_decoder_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz"; + sha1 = "9cf1611ba62685d7030ae9e4ba34149c3af03fc8"; + }; + } + + { + name = "stringify_object___stringify_object_3.3.0.tgz"; + path = fetchurl { + name = "stringify_object___stringify_object_3.3.0.tgz"; + url = "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz"; + sha1 = "703065aefca19300d3ce88af4f5b3956d7556629"; + }; + } + + { + name = "stringify_package___stringify_package_1.0.0.tgz"; + path = fetchurl { + name = "stringify_package___stringify_package_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/stringify-package/-/stringify-package-1.0.0.tgz"; + sha1 = "e02828089333d7d45cd8c287c30aa9a13375081b"; + }; + } + + { + name = "strip_ansi___strip_ansi_3.0.1.tgz"; + path = fetchurl { + name = "strip_ansi___strip_ansi_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz"; + sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"; + }; + } + + { + name = "strip_ansi___strip_ansi_4.0.0.tgz"; + path = fetchurl { + name = "strip_ansi___strip_ansi_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz"; + sha1 = "a8479022eb1ac368a871389b635262c505ee368f"; + }; + } + + { + name = "strip_eof___strip_eof_1.0.0.tgz"; + path = fetchurl { + name = "strip_eof___strip_eof_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz"; + sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf"; + }; + } + + { + name = "strip_json_comments___strip_json_comments_1.0.4.tgz"; + path = fetchurl { + name = "strip_json_comments___strip_json_comments_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz"; + sha1 = "1e15fbcac97d3ee99bf2d73b4c656b082bbafb91"; + }; + } + + { + name = "strip_json_comments___strip_json_comments_2.0.1.tgz"; + path = fetchurl { + name = "strip_json_comments___strip_json_comments_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz"; + sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a"; + }; + } + + { + name = "summon_install___summon_install_0.4.6.tgz"; + path = fetchurl { + name = "summon_install___summon_install_0.4.6.tgz"; + url = "https://registry.yarnpkg.com/summon-install/-/summon-install-0.4.6.tgz"; + sha1 = "25673446e8b92f8bc0afabc464aa7b73fe946bd5"; + }; + } + + { + name = "superagent___superagent_3.8.3.tgz"; + path = fetchurl { + name = "superagent___superagent_3.8.3.tgz"; + url = "https://registry.yarnpkg.com/superagent/-/superagent-3.8.3.tgz"; + sha1 = "460ea0dbdb7d5b11bc4f78deba565f86a178e128"; + }; + } + + { + name = "supertest___supertest_3.3.0.tgz"; + path = fetchurl { + name = "supertest___supertest_3.3.0.tgz"; + url = "https://registry.yarnpkg.com/supertest/-/supertest-3.3.0.tgz"; + sha1 = "79b27bd7d34392974ab33a31fa51a3e23385987e"; + }; + } + + { + name = "supports_color___supports_color_5.4.0.tgz"; + path = fetchurl { + name = "supports_color___supports_color_5.4.0.tgz"; + url = "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz"; + sha1 = "1c6b337402c2137605efe19f10fec390f6faab54"; + }; + } + + { + name = "supports_color___supports_color_2.0.0.tgz"; + path = fetchurl { + name = "supports_color___supports_color_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz"; + sha1 = "535d045ce6b6363fa40117084629995e9df324c7"; + }; + } + + { + name = "supports_color___supports_color_4.5.0.tgz"; + path = fetchurl { + name = "supports_color___supports_color_4.5.0.tgz"; + url = "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz"; + sha1 = "be7a0de484dec5c5cddf8b3d59125044912f635b"; + }; + } + + { + name = "supports_color___supports_color_5.5.0.tgz"; + path = fetchurl { + name = "supports_color___supports_color_5.5.0.tgz"; + url = "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz"; + sha1 = "e2e69a44ac8772f78a1ec0b35b689df6530efc8f"; + }; + } + + { + name = "swagger_cli___swagger_cli_2.2.0.tgz"; + path = fetchurl { + name = "swagger_cli___swagger_cli_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/swagger-cli/-/swagger-cli-2.2.0.tgz"; + sha1 = "837b01e1fd6cc6aa324f8884ec1151a3c17ca007"; + }; + } + + { + name = "swagger_methods___swagger_methods_1.0.6.tgz"; + path = fetchurl { + name = "swagger_methods___swagger_methods_1.0.6.tgz"; + url = "https://registry.yarnpkg.com/swagger-methods/-/swagger-methods-1.0.6.tgz"; + sha1 = "b91c2e4f7f9e5e2c4cd3b285b8be06ca76b3cc6a"; + }; + } + + { + name = "swagger_parser___swagger_parser_6.0.2.tgz"; + path = fetchurl { + name = "swagger_parser___swagger_parser_6.0.2.tgz"; + url = "https://registry.yarnpkg.com/swagger-parser/-/swagger-parser-6.0.2.tgz"; + sha1 = "ef3fe95ae17eab2ba04d2646007df106c7b542b9"; + }; + } + + { + name = "swagger_schema_official___swagger_schema_official_2.0.0_bab6bed.tgz"; + path = fetchurl { + name = "swagger_schema_official___swagger_schema_official_2.0.0_bab6bed.tgz"; + url = "https://registry.yarnpkg.com/swagger-schema-official/-/swagger-schema-official-2.0.0-bab6bed.tgz"; + sha1 = "70070468d6d2977ca5237b2e519ca7d06a2ea3fd"; + }; + } + + { + name = "symbol_observable___symbol_observable_1.2.0.tgz"; + path = fetchurl { + name = "symbol_observable___symbol_observable_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz"; + sha1 = "c22688aed4eab3cdc2dfeacbb561660560a00804"; + }; + } + + { + name = "table___table_3.8.3.tgz"; + path = fetchurl { + name = "table___table_3.8.3.tgz"; + url = "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz"; + sha1 = "2bbc542f0fda9861a755d3947fefd8b3f513855f"; + }; + } + + { + name = "tar_fs___tar_fs_1.16.3.tgz"; + path = fetchurl { + name = "tar_fs___tar_fs_1.16.3.tgz"; + url = "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.3.tgz"; + sha1 = "966a628841da2c4010406a82167cbd5e0c72d509"; + }; + } + + { + name = "tar_stream___tar_stream_1.6.2.tgz"; + path = fetchurl { + name = "tar_stream___tar_stream_1.6.2.tgz"; + url = "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz"; + sha1 = "8ea55dab37972253d9a9af90fdcd559ae435c555"; + }; + } + + { + name = "tar___tar_2.2.1.tgz"; + path = fetchurl { + name = "tar___tar_2.2.1.tgz"; + url = "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz"; + sha1 = "8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"; + }; + } + + { + name = "tar___tar_4.4.8.tgz"; + path = fetchurl { + name = "tar___tar_4.4.8.tgz"; + url = "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz"; + sha1 = "b19eec3fde2a96e64666df9fdb40c5ca1bc3747d"; + }; + } + + { + name = "term_size___term_size_1.2.0.tgz"; + path = fetchurl { + name = "term_size___term_size_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz"; + sha1 = "458b83887f288fc56d6fffbfad262e26638efa69"; + }; + } + + { + name = "terraformer_wkt_parser___terraformer_wkt_parser_1.2.0.tgz"; + path = fetchurl { + name = "terraformer_wkt_parser___terraformer_wkt_parser_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/terraformer-wkt-parser/-/terraformer-wkt-parser-1.2.0.tgz"; + sha1 = "c9d6ac3dff25f4c0bd344e961f42694961834c34"; + }; + } + + { + name = "terraformer___terraformer_1.0.9.tgz"; + path = fetchurl { + name = "terraformer___terraformer_1.0.9.tgz"; + url = "https://registry.yarnpkg.com/terraformer/-/terraformer-1.0.9.tgz"; + sha1 = "77851fef4a49c90b345dc53cf26809fdf29dcda6"; + }; + } + + { + name = "text_hex___text_hex_1.0.0.tgz"; + path = fetchurl { + name = "text_hex___text_hex_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz"; + sha1 = "69dc9c1b17446ee79a92bf5b884bb4b9127506f5"; + }; + } + + { + name = "text_table___text_table_0.2.0.tgz"; + path = fetchurl { + name = "text_table___text_table_0.2.0.tgz"; + url = "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz"; + sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4"; + }; + } + + { + name = "thirty_two___thirty_two_1.0.2.tgz"; + path = fetchurl { + name = "thirty_two___thirty_two_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/thirty-two/-/thirty-two-1.0.2.tgz"; + sha1 = "4ca2fffc02a51290d2744b9e3f557693ca6b627a"; + }; + } + + { + name = "through2___through2_0.6.5.tgz"; + path = fetchurl { + name = "through2___through2_0.6.5.tgz"; + url = "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz"; + sha1 = "41ab9c67b29d57209071410e1d7a7a968cd3ad48"; + }; + } + + { + name = "through2___through2_1.1.1.tgz"; + path = fetchurl { + name = "through2___through2_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/through2/-/through2-1.1.1.tgz"; + sha1 = "0847cbc4449f3405574dbdccd9bb841b83ac3545"; + }; + } + + { + name = "through2___through2_2.0.5.tgz"; + path = fetchurl { + name = "through2___through2_2.0.5.tgz"; + url = "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz"; + sha1 = "01c1e39eb31d07cb7d03a96a70823260b23132cd"; + }; + } + + { + name = "through___through_2.3.8.tgz"; + path = fetchurl { + name = "through___through_2.3.8.tgz"; + url = "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz"; + sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"; + }; + } + + { + name = "thunky___thunky_1.0.3.tgz"; + path = fetchurl { + name = "thunky___thunky_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/thunky/-/thunky-1.0.3.tgz"; + sha1 = "f5df732453407b09191dae73e2a8cc73f381a826"; + }; + } + + { + name = "timed_out___timed_out_4.0.1.tgz"; + path = fetchurl { + name = "timed_out___timed_out_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz"; + sha1 = "f32eacac5a175bea25d7fab565ab3ed8741ef56f"; + }; + } + + { + name = "timers_ext___timers_ext_0.1.7.tgz"; + path = fetchurl { + name = "timers_ext___timers_ext_0.1.7.tgz"; + url = "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz"; + sha1 = "6f57ad8578e07a3fb9f91d9387d65647555e25c6"; + }; + } + + { + name = "tiny_relative_date___tiny_relative_date_1.3.0.tgz"; + path = fetchurl { + name = "tiny_relative_date___tiny_relative_date_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz"; + sha1 = "fa08aad501ed730f31cc043181d995c39a935e07"; + }; + } + + { + name = "tmp___tmp_0.0.33.tgz"; + path = fetchurl { + name = "tmp___tmp_0.0.33.tgz"; + url = "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz"; + sha1 = "6d34335889768d21b2bcda0aa277ced3b1bfadf9"; + }; + } + + { + name = "to_array___to_array_0.1.4.tgz"; + path = fetchurl { + name = "to_array___to_array_0.1.4.tgz"; + url = "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz"; + sha1 = "17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890"; + }; + } + + { + name = "to_arraybuffer___to_arraybuffer_1.0.1.tgz"; + path = fetchurl { + name = "to_arraybuffer___to_arraybuffer_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz"; + sha1 = "7d229b1fcc637e466ca081180836a7aabff83f43"; + }; + } + + { + name = "to_buffer___to_buffer_1.1.1.tgz"; + path = fetchurl { + name = "to_buffer___to_buffer_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz"; + sha1 = "493bd48f62d7c43fcded313a03dcadb2e1213a80"; + }; + } + + { + name = "to_object_path___to_object_path_0.3.0.tgz"; + path = fetchurl { + name = "to_object_path___to_object_path_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz"; + sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af"; + }; + } + + { + name = "to_regex_range___to_regex_range_2.1.1.tgz"; + path = fetchurl { + name = "to_regex_range___to_regex_range_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz"; + sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38"; + }; + } + + { + name = "to_regex___to_regex_3.0.2.tgz"; + path = fetchurl { + name = "to_regex___to_regex_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz"; + sha1 = "13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"; + }; + } + + { + name = "to_utf_8___to_utf_8_1.3.0.tgz"; + path = fetchurl { + name = "to_utf_8___to_utf_8_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/to-utf-8/-/to-utf-8-1.3.0.tgz"; + sha1 = "b2af7be9e003f4c3817cc116d3baed2a054993c9"; + }; + } + + { + name = "toposort_class___toposort_class_1.0.1.tgz"; + path = fetchurl { + name = "toposort_class___toposort_class_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/toposort-class/-/toposort-class-1.0.1.tgz"; + sha1 = "7ffd1f78c8be28c3ba45cd4e1a3f5ee193bd9988"; + }; + } + + { + name = "torrent_discovery___torrent_discovery_9.1.1.tgz"; + path = fetchurl { + name = "torrent_discovery___torrent_discovery_9.1.1.tgz"; + url = "https://registry.yarnpkg.com/torrent-discovery/-/torrent-discovery-9.1.1.tgz"; + sha1 = "56704e6747b24fe00dbb75b442d202051f78d37d"; + }; + } + + { + name = "torrent_piece___torrent_piece_2.0.0.tgz"; + path = fetchurl { + name = "torrent_piece___torrent_piece_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/torrent-piece/-/torrent-piece-2.0.0.tgz"; + sha1 = "6598ae67d93699e887f178db267ba16d89d7ec9b"; + }; + } + + { + name = "touch___touch_3.1.0.tgz"; + path = fetchurl { + name = "touch___touch_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz"; + sha1 = "fe365f5f75ec9ed4e56825e0bb76d24ab74af83b"; + }; + } + + { + name = "tough_cookie___tough_cookie_2.4.3.tgz"; + path = fetchurl { + name = "tough_cookie___tough_cookie_2.4.3.tgz"; + url = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz"; + sha1 = "53f36da3f47783b0925afa06ff9f3b165280f781"; + }; + } + + { + name = "traverse___traverse_0.6.6.tgz"; + path = fetchurl { + name = "traverse___traverse_0.6.6.tgz"; + url = "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz"; + sha1 = "cbdf560fd7b9af632502fed40f918c157ea97137"; + }; + } + + { + name = "tree_kill___tree_kill_1.2.1.tgz"; + path = fetchurl { + name = "tree_kill___tree_kill_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.1.tgz"; + sha1 = "5398f374e2f292b9dcc7b2e71e30a5c3bb6c743a"; + }; + } + + { + name = "triple_beam___triple_beam_1.3.0.tgz"; + path = fetchurl { + name = "triple_beam___triple_beam_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.3.0.tgz"; + sha1 = "a595214c7298db8339eeeee083e4d10bd8cb8dd9"; + }; + } + + { + name = "ts_node___ts_node_7.0.1.tgz"; + path = fetchurl { + name = "ts_node___ts_node_7.0.1.tgz"; + url = "https://registry.yarnpkg.com/ts-node/-/ts-node-7.0.1.tgz"; + sha1 = "9562dc2d1e6d248d24bc55f773e3f614337d9baf"; + }; + } + + { + name = "tslib___tslib_1.9.0.tgz"; + path = fetchurl { + name = "tslib___tslib_1.9.0.tgz"; + url = "https://registry.yarnpkg.com/tslib/-/tslib-1.9.0.tgz"; + sha1 = "e37a86fda8cbbaf23a057f473c9f4dc64e5fc2e8"; + }; + } + + { + name = "tslib___tslib_1.9.3.tgz"; + path = fetchurl { + name = "tslib___tslib_1.9.3.tgz"; + url = "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz"; + sha1 = "d7e4dd79245d85428c4d7e4822a79917954ca286"; + }; + } + + { + name = "tslint_config_standard___tslint_config_standard_8.0.1.tgz"; + path = fetchurl { + name = "tslint_config_standard___tslint_config_standard_8.0.1.tgz"; + url = "https://registry.yarnpkg.com/tslint-config-standard/-/tslint-config-standard-8.0.1.tgz"; + sha1 = "e4dd3128e84b0e34b51990b68715a641f2b417e4"; + }; + } + + { + name = "tslint_eslint_rules___tslint_eslint_rules_5.4.0.tgz"; + path = fetchurl { + name = "tslint_eslint_rules___tslint_eslint_rules_5.4.0.tgz"; + url = "https://registry.yarnpkg.com/tslint-eslint-rules/-/tslint-eslint-rules-5.4.0.tgz"; + sha1 = "e488cc9181bf193fe5cd7bfca213a7695f1737b5"; + }; + } + + { + name = "tslint___tslint_5.11.0.tgz"; + path = fetchurl { + name = "tslint___tslint_5.11.0.tgz"; + url = "https://registry.yarnpkg.com/tslint/-/tslint-5.11.0.tgz"; + sha1 = "98f30c02eae3cde7006201e4c33cb08b48581eed"; + }; + } + + { + name = "tsutils___tsutils_2.29.0.tgz"; + path = fetchurl { + name = "tsutils___tsutils_2.29.0.tgz"; + url = "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz"; + sha1 = "32b488501467acbedd4b85498673a0812aca0b99"; + }; + } + + { + name = "tsutils___tsutils_3.5.2.tgz"; + path = fetchurl { + name = "tsutils___tsutils_3.5.2.tgz"; + url = "https://registry.yarnpkg.com/tsutils/-/tsutils-3.5.2.tgz"; + sha1 = "6fd3c2d5a731e83bb21b070a173ec0faf3a8f6d3"; + }; + } + + { + name = "tunnel_agent___tunnel_agent_0.6.0.tgz"; + path = fetchurl { + name = "tunnel_agent___tunnel_agent_0.6.0.tgz"; + url = "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz"; + sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd"; + }; + } + + { + name = "tv4___tv4_1.2.7.tgz"; + path = fetchurl { + name = "tv4___tv4_1.2.7.tgz"; + url = "https://registry.yarnpkg.com/tv4/-/tv4-1.2.7.tgz"; + sha1 = "bd29389afc73ade49ae5f48142b5d544bf68d120"; + }; + } + + { + name = "tweetnacl___tweetnacl_0.14.5.tgz"; + path = fetchurl { + name = "tweetnacl___tweetnacl_0.14.5.tgz"; + url = "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz"; + sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64"; + }; + } + + { + name = "type_check___type_check_0.3.2.tgz"; + path = fetchurl { + name = "type_check___type_check_0.3.2.tgz"; + url = "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz"; + sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72"; + }; + } + + { + name = "type_detect___type_detect_0.1.1.tgz"; + path = fetchurl { + name = "type_detect___type_detect_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz"; + sha1 = "0ba5ec2a885640e470ea4e8505971900dac58822"; + }; + } + + { + name = "type_detect___type_detect_4.0.8.tgz"; + path = fetchurl { + name = "type_detect___type_detect_4.0.8.tgz"; + url = "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz"; + sha1 = "7646fb5f18871cfbb7749e69bd39a6388eb7450c"; + }; + } + + { + name = "type_is___type_is_1.6.15.tgz"; + path = fetchurl { + name = "type_is___type_is_1.6.15.tgz"; + url = "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz"; + sha1 = "cab10fb4909e441c82842eafe1ad646c81804410"; + }; + } + + { + name = "type_is___type_is_1.6.16.tgz"; + path = fetchurl { + name = "type_is___type_is_1.6.16.tgz"; + url = "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz"; + sha1 = "f89ce341541c672b25ee7ae3c73dee3b2be50194"; + }; + } + + { + name = "typedarray_to_buffer___typedarray_to_buffer_3.1.5.tgz"; + path = fetchurl { + name = "typedarray_to_buffer___typedarray_to_buffer_3.1.5.tgz"; + url = "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz"; + sha1 = "a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"; + }; + } + + { + name = "typedarray___typedarray_0.0.6.tgz"; + path = fetchurl { + name = "typedarray___typedarray_0.0.6.tgz"; + url = "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz"; + sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777"; + }; + } + + { + name = "typescript___typescript_3.2.1.tgz"; + path = fetchurl { + name = "typescript___typescript_3.2.1.tgz"; + url = "https://registry.yarnpkg.com/typescript/-/typescript-3.2.1.tgz"; + sha1 = "0b7a04b8cf3868188de914d9568bd030f0c56192"; + }; + } + + { + name = "uid_number___uid_number_0.0.6.tgz"; + path = fetchurl { + name = "uid_number___uid_number_0.0.6.tgz"; + url = "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz"; + sha1 = "0ea10e8035e8eb5b8e4449f06da1c730663baa81"; + }; + } + + { + name = "uint64be___uint64be_2.0.2.tgz"; + path = fetchurl { + name = "uint64be___uint64be_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/uint64be/-/uint64be-2.0.2.tgz"; + sha1 = "ef4a179752fe8f9ddaa29544ecfc13490031e8e5"; + }; + } + + { + name = "ultron___ultron_1.0.2.tgz"; + path = fetchurl { + name = "ultron___ultron_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz"; + sha1 = "ace116ab557cd197386a4e88f4685378c8b2e4fa"; + }; + } + + { + name = "umask___umask_1.1.0.tgz"; + path = fetchurl { + name = "umask___umask_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz"; + sha1 = "f29cebf01df517912bb58ff9c4e50fde8e33320d"; + }; + } + + { + name = "undefsafe___undefsafe_2.0.2.tgz"; + path = fetchurl { + name = "undefsafe___undefsafe_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.2.tgz"; + sha1 = "225f6b9e0337663e0d8e7cfd686fc2836ccace76"; + }; + } + + { + name = "underscore_keypath___underscore_keypath_0.0.22.tgz"; + path = fetchurl { + name = "underscore_keypath___underscore_keypath_0.0.22.tgz"; + url = "https://registry.yarnpkg.com/underscore-keypath/-/underscore-keypath-0.0.22.tgz"; + sha1 = "48a528392bb6efc424be1caa56da4b5faccf264d"; + }; + } + + { + name = "underscore___underscore_1.9.1.tgz"; + path = fetchurl { + name = "underscore___underscore_1.9.1.tgz"; + url = "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz"; + sha1 = "06dce34a0e68a7babc29b365b8e74b8925203961"; + }; + } + + { + name = "union_value___union_value_1.0.0.tgz"; + path = fetchurl { + name = "union_value___union_value_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz"; + sha1 = "5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4"; + }; + } + + { + name = "uniq___uniq_1.0.1.tgz"; + path = fetchurl { + name = "uniq___uniq_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz"; + sha1 = "b31c5ae8254844a3a8281541ce2b04b865a734ff"; + }; + } + + { + name = "unique_filename___unique_filename_1.1.1.tgz"; + path = fetchurl { + name = "unique_filename___unique_filename_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz"; + sha1 = "1d69769369ada0583103a1e6ae87681b56573230"; + }; + } + + { + name = "unique_slug___unique_slug_2.0.1.tgz"; + path = fetchurl { + name = "unique_slug___unique_slug_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.1.tgz"; + sha1 = "5e9edc6d1ce8fb264db18a507ef9bd8544451ca6"; + }; + } + + { + name = "unique_string___unique_string_1.0.0.tgz"; + path = fetchurl { + name = "unique_string___unique_string_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz"; + sha1 = "9e1057cca851abb93398f8b33ae187b99caec11a"; + }; + } + + { + name = "universalify___universalify_0.1.2.tgz"; + path = fetchurl { + name = "universalify___universalify_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz"; + sha1 = "b646f69be3942dabcecc9d6639c80dc105efaa66"; + }; + } + + { + name = "unordered_array_remove___unordered_array_remove_1.0.2.tgz"; + path = fetchurl { + name = "unordered_array_remove___unordered_array_remove_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/unordered-array-remove/-/unordered-array-remove-1.0.2.tgz"; + sha1 = "c546e8f88e317a0cf2644c97ecb57dba66d250ef"; + }; + } + + { + name = "unpipe___unpipe_1.0.0.tgz"; + path = fetchurl { + name = "unpipe___unpipe_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz"; + sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec"; + }; + } + + { + name = "unset_value___unset_value_1.0.0.tgz"; + path = fetchurl { + name = "unset_value___unset_value_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz"; + sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"; + }; + } + + { + name = "unzip_response___unzip_response_2.0.1.tgz"; + path = fetchurl { + name = "unzip_response___unzip_response_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz"; + sha1 = "d2f0f737d16b0615e72a6935ed04214572d56f97"; + }; + } + + { + name = "upath___upath_1.1.0.tgz"; + path = fetchurl { + name = "upath___upath_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz"; + sha1 = "35256597e46a581db4793d0ce47fa9aebfc9fabd"; + }; + } + + { + name = "update_notifier___update_notifier_2.5.0.tgz"; + path = fetchurl { + name = "update_notifier___update_notifier_2.5.0.tgz"; + url = "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz"; + sha1 = "d0744593e13f161e406acb1d9408b72cad08aff6"; + }; + } + + { + name = "uri_js___uri_js_4.2.2.tgz"; + path = fetchurl { + name = "uri_js___uri_js_4.2.2.tgz"; + url = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz"; + sha1 = "94c540e1ff772956e2299507c010aea6c8838eb0"; + }; + } + + { + name = "urix___urix_0.1.0.tgz"; + path = fetchurl { + name = "urix___urix_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz"; + sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72"; + }; + } + + { + name = "url_join___url_join_4.0.0.tgz"; + path = fetchurl { + name = "url_join___url_join_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/url-join/-/url-join-4.0.0.tgz"; + sha1 = "4d3340e807d3773bda9991f8305acdcc2a665d2a"; + }; + } + + { + name = "url_parse_lax___url_parse_lax_1.0.0.tgz"; + path = fetchurl { + name = "url_parse_lax___url_parse_lax_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz"; + sha1 = "7af8f303645e9bd79a272e7a14ac68bc0609da73"; + }; + } + + { + name = "use___use_3.1.1.tgz"; + path = fetchurl { + name = "use___use_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz"; + sha1 = "d50c8cac79a19fbc20f2911f56eb973f4e10070f"; + }; + } + + { + name = "user_home___user_home_2.0.0.tgz"; + path = fetchurl { + name = "user_home___user_home_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz"; + sha1 = "9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f"; + }; + } + + { + name = "useragent___useragent_2.3.0.tgz"; + path = fetchurl { + name = "useragent___useragent_2.3.0.tgz"; + url = "https://registry.yarnpkg.com/useragent/-/useragent-2.3.0.tgz"; + sha1 = "217f943ad540cb2128658ab23fc960f6a88c9972"; + }; + } + + { + name = "ut_metadata___ut_metadata_3.3.0.tgz"; + path = fetchurl { + name = "ut_metadata___ut_metadata_3.3.0.tgz"; + url = "https://registry.yarnpkg.com/ut_metadata/-/ut_metadata-3.3.0.tgz"; + sha1 = "a0e0e861ebc39ed96e506601d1463ade3b548a7e"; + }; + } + + { + name = "ut_pex___ut_pex_1.2.1.tgz"; + path = fetchurl { + name = "ut_pex___ut_pex_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/ut_pex/-/ut_pex-1.2.1.tgz"; + sha1 = "472ed0ea5e9bbc9148b833339d56d7b17cf3dad0"; + }; + } + + { + name = "utf_8_validate___utf_8_validate_5.0.1.tgz"; + path = fetchurl { + name = "utf_8_validate___utf_8_validate_5.0.1.tgz"; + url = "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.1.tgz"; + sha1 = "cef1f9011ba4b216f4d7c6ddf5189d750599ff8b"; + }; + } + + { + name = "util_deprecate___util_deprecate_1.0.2.tgz"; + path = fetchurl { + name = "util_deprecate___util_deprecate_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz"; + sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf"; + }; + } + + { + name = "util_extend___util_extend_1.0.3.tgz"; + path = fetchurl { + name = "util_extend___util_extend_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/util-extend/-/util-extend-1.0.3.tgz"; + sha1 = "a7c216d267545169637b3b6edc6ca9119e2ff93f"; + }; + } + + { + name = "util___util_0.10.4.tgz"; + path = fetchurl { + name = "util___util_0.10.4.tgz"; + url = "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz"; + sha1 = "3aa0125bfe668a4672de58857d3ace27ecb76901"; + }; + } + + { + name = "utile___utile_0.3.0.tgz"; + path = fetchurl { + name = "utile___utile_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/utile/-/utile-0.3.0.tgz"; + sha1 = "1352c340eb820e4d8ddba039a4fbfaa32ed4ef3a"; + }; + } + + { + name = "utils_merge___utils_merge_1.0.0.tgz"; + path = fetchurl { + name = "utils_merge___utils_merge_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz"; + sha1 = "0294fb922bb9375153541c4f7096231f287c8af8"; + }; + } + + { + name = "utils_merge___utils_merge_1.0.1.tgz"; + path = fetchurl { + name = "utils_merge___utils_merge_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz"; + sha1 = "9f95710f50a267947b2ccc124741c1028427e713"; + }; + } + + { + name = "uue___uue_3.1.2.tgz"; + path = fetchurl { + name = "uue___uue_3.1.2.tgz"; + url = "https://registry.yarnpkg.com/uue/-/uue-3.1.2.tgz"; + sha1 = "e99368414e87200012eb37de4dbaebaa1c742ad2"; + }; + } + + { + name = "uuid___uuid_3.3.2.tgz"; + path = fetchurl { + name = "uuid___uuid_3.3.2.tgz"; + url = "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz"; + sha1 = "1b4af4955eb3077c501c23872fc6513811587131"; + }; + } + + { + name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz"; + path = fetchurl { + name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz"; + url = "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz"; + sha1 = "fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"; + }; + } + + { + name = "validate_npm_package_name___validate_npm_package_name_3.0.0.tgz"; + path = fetchurl { + name = "validate_npm_package_name___validate_npm_package_name_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz"; + sha1 = "5fa912d81eb7d0c74afc140de7317f0ca7df437e"; + }; + } + + { + name = "validator___validator_10.9.0.tgz"; + path = fetchurl { + name = "validator___validator_10.9.0.tgz"; + url = "https://registry.yarnpkg.com/validator/-/validator-10.9.0.tgz"; + sha1 = "d10c11673b5061fb7ccf4c1114412411b2bac2a8"; + }; + } + + { + name = "vary___vary_1.1.2.tgz"; + path = fetchurl { + name = "vary___vary_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz"; + sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc"; + }; + } + + { + name = "vary___vary_1.0.1.tgz"; + path = fetchurl { + name = "vary___vary_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/vary/-/vary-1.0.1.tgz"; + sha1 = "99e4981566a286118dfb2b817357df7993376d10"; + }; + } + + { + name = "vasync___vasync_1.6.4.tgz"; + path = fetchurl { + name = "vasync___vasync_1.6.4.tgz"; + url = "https://registry.yarnpkg.com/vasync/-/vasync-1.6.4.tgz"; + sha1 = "dfe93616ad0e7ae801b332a9d88bfc5cdc8e1d1f"; + }; + } + + { + name = "verror___verror_1.10.0.tgz"; + path = fetchurl { + name = "verror___verror_1.10.0.tgz"; + url = "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz"; + sha1 = "3a105ca17053af55d6e270c1f8288682e18da400"; + }; + } + + { + name = "verror___verror_1.6.0.tgz"; + path = fetchurl { + name = "verror___verror_1.6.0.tgz"; + url = "https://registry.yarnpkg.com/verror/-/verror-1.6.0.tgz"; + sha1 = "7d13b27b1facc2e2da90405eb5ea6e5bdd252ea5"; + }; + } + + { + name = "videostream___videostream_2.6.0.tgz"; + path = fetchurl { + name = "videostream___videostream_2.6.0.tgz"; + url = "https://registry.yarnpkg.com/videostream/-/videostream-2.6.0.tgz"; + sha1 = "7f0b2b84bc457c12cfe599aa2345f5cc06241ab6"; + }; + } + + { + name = "wcwidth___wcwidth_1.0.1.tgz"; + path = fetchurl { + name = "wcwidth___wcwidth_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz"; + sha1 = "f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"; + }; + } + + { + name = "webfinger.js___webfinger.js_2.7.0.tgz"; + path = fetchurl { + name = "webfinger.js___webfinger.js_2.7.0.tgz"; + url = "https://registry.yarnpkg.com/webfinger.js/-/webfinger.js-2.7.0.tgz"; + sha1 = "403354a14a65aeeba64c1408c18a387487cea106"; + }; + } + + { + name = "webtorrent___webtorrent_0.102.4.tgz"; + path = fetchurl { + name = "webtorrent___webtorrent_0.102.4.tgz"; + url = "https://registry.yarnpkg.com/webtorrent/-/webtorrent-0.102.4.tgz"; + sha1 = "0902f5dddb244c4ca8137d5d678546b733adeb2f"; + }; + } + + { + name = "which_module___which_module_2.0.0.tgz"; + path = fetchurl { + name = "which_module___which_module_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz"; + sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"; + }; + } + + { + name = "which_pm_runs___which_pm_runs_1.0.0.tgz"; + path = fetchurl { + name = "which_pm_runs___which_pm_runs_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz"; + sha1 = "670b3afbc552e0b55df6b7780ca74615f23ad1cb"; + }; + } + + { + name = "which___which_1.3.1.tgz"; + path = fetchurl { + name = "which___which_1.3.1.tgz"; + url = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz"; + sha1 = "a45043d54f5805316da8d62f9f50918d3da70b0a"; + }; + } + + { + name = "wide_align___wide_align_1.1.3.tgz"; + path = fetchurl { + name = "wide_align___wide_align_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz"; + sha1 = "ae074e6bdc0c14a431e804e624549c633b000457"; + }; + } + + { + name = "widest_line___widest_line_2.0.1.tgz"; + path = fetchurl { + name = "widest_line___widest_line_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz"; + sha1 = "7438764730ec7ef4381ce4df82fb98a53142a3fc"; + }; + } + + { + name = "wildstring___wildstring_1.0.8.tgz"; + path = fetchurl { + name = "wildstring___wildstring_1.0.8.tgz"; + url = "https://registry.yarnpkg.com/wildstring/-/wildstring-1.0.8.tgz"; + sha1 = "80b5f85b7f8aa98bc19cc230e60ac7f5e0dd226d"; + }; + } + + { + name = "winston_transport___winston_transport_4.2.0.tgz"; + path = fetchurl { + name = "winston_transport___winston_transport_4.2.0.tgz"; + url = "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.2.0.tgz"; + sha1 = "a20be89edf2ea2ca39ba25f3e50344d73e6520e5"; + }; + } + + { + name = "winston___winston_2.1.1.tgz"; + path = fetchurl { + name = "winston___winston_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/winston/-/winston-2.1.1.tgz"; + sha1 = "3c9349d196207fd1bdff9d4bc43ef72510e3a12e"; + }; + } + + { + name = "winston___winston_3.1.0.tgz"; + path = fetchurl { + name = "winston___winston_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/winston/-/winston-3.1.0.tgz"; + sha1 = "80724376aef164e024f316100d5b178d78ac5331"; + }; + } + + { + name = "wkx___wkx_0.4.5.tgz"; + path = fetchurl { + name = "wkx___wkx_0.4.5.tgz"; + url = "https://registry.yarnpkg.com/wkx/-/wkx-0.4.5.tgz"; + sha1 = "a85e15a6e69d1bfaec2f3c523be3dfa40ab861d0"; + }; + } + + { + name = "wordwrap___wordwrap_1.0.0.tgz"; + path = fetchurl { + name = "wordwrap___wordwrap_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz"; + sha1 = "27584810891456a4171c8d0226441ade90cbcaeb"; + }; + } + + { + name = "worker_farm___worker_farm_1.6.0.tgz"; + path = fetchurl { + name = "worker_farm___worker_farm_1.6.0.tgz"; + url = "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz"; + sha1 = "aecc405976fab5a95526180846f0dba288f3a4a0"; + }; + } + + { + name = "wrap_ansi___wrap_ansi_2.1.0.tgz"; + path = fetchurl { + name = "wrap_ansi___wrap_ansi_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz"; + sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85"; + }; + } + + { + name = "wrap_ansi___wrap_ansi_3.0.1.tgz"; + path = fetchurl { + name = "wrap_ansi___wrap_ansi_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz"; + sha1 = "288a04d87eda5c286e060dfe8f135ce8d007f8ba"; + }; + } + + { + name = "wrappy___wrappy_1.0.2.tgz"; + path = fetchurl { + name = "wrappy___wrappy_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz"; + sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"; + }; + } + + { + name = "write_file_atomic___write_file_atomic_2.3.0.tgz"; + path = fetchurl { + name = "write_file_atomic___write_file_atomic_2.3.0.tgz"; + url = "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz"; + sha1 = "1ff61575c2e2a4e8e510d6fa4e243cce183999ab"; + }; + } + + { + name = "write___write_0.2.1.tgz"; + path = fetchurl { + name = "write___write_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz"; + sha1 = "5fc03828e264cea3fe91455476f7a3c566cb0757"; + }; + } + + { + name = "ws___ws_1.1.2.tgz"; + path = fetchurl { + name = "ws___ws_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/ws/-/ws-1.1.2.tgz"; + sha1 = "8a244fa052401e08c9886cf44a85189e1fd4067f"; + }; + } + + { + name = "ws___ws_6.1.2.tgz"; + path = fetchurl { + name = "ws___ws_6.1.2.tgz"; + url = "https://registry.yarnpkg.com/ws/-/ws-6.1.2.tgz"; + sha1 = "3cc7462e98792f0ac679424148903ded3b9c3ad8"; + }; + } + + { + name = "wtf_8___wtf_8_1.0.0.tgz"; + path = fetchurl { + name = "wtf_8___wtf_8_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz"; + sha1 = "392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a"; + }; + } + + { + name = "x_xss_protection___x_xss_protection_1.1.0.tgz"; + path = fetchurl { + name = "x_xss_protection___x_xss_protection_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/x-xss-protection/-/x-xss-protection-1.1.0.tgz"; + sha1 = "4f1898c332deb1e7f2be1280efb3e2c53d69c1a7"; + }; + } + + { + name = "xdg_basedir___xdg_basedir_3.0.0.tgz"; + path = fetchurl { + name = "xdg_basedir___xdg_basedir_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz"; + sha1 = "496b2cc109eca8dbacfe2dc72b603c17c5870ad4"; + }; + } + + { + name = "xhr2___xhr2_0.1.4.tgz"; + path = fetchurl { + name = "xhr2___xhr2_0.1.4.tgz"; + url = "https://registry.yarnpkg.com/xhr2/-/xhr2-0.1.4.tgz"; + sha1 = "7f87658847716db5026323812f818cadab387a5f"; + }; + } + + { + name = "xliff___xliff_4.1.2.tgz"; + path = fetchurl { + name = "xliff___xliff_4.1.2.tgz"; + url = "https://registry.yarnpkg.com/xliff/-/xliff-4.1.2.tgz"; + sha1 = "eb6fae21346d82653febd44d478f5748ad79fbd2"; + }; + } + + { + name = "xml_js___xml_js_1.6.8.tgz"; + path = fetchurl { + name = "xml_js___xml_js_1.6.8.tgz"; + url = "https://registry.yarnpkg.com/xml-js/-/xml-js-1.6.8.tgz"; + sha1 = "e06419c54235f18f4c2cdda824cbd65a782330de"; + }; + } + + { + name = "xml2js___xml2js_0.4.19.tgz"; + path = fetchurl { + name = "xml2js___xml2js_0.4.19.tgz"; + url = "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz"; + sha1 = "686c20f213209e94abf0d1bcf1efaa291c7827a7"; + }; + } + + { + name = "xml___xml_1.0.1.tgz"; + path = fetchurl { + name = "xml___xml_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz"; + sha1 = "78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5"; + }; + } + + { + name = "xmlbuilder___xmlbuilder_10.1.1.tgz"; + path = fetchurl { + name = "xmlbuilder___xmlbuilder_10.1.1.tgz"; + url = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-10.1.1.tgz"; + sha1 = "8cae6688cc9b38d850b7c8d3c0a4161dcaf475b0"; + }; + } + + { + name = "xmlbuilder___xmlbuilder_9.0.7.tgz"; + path = fetchurl { + name = "xmlbuilder___xmlbuilder_9.0.7.tgz"; + url = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz"; + sha1 = "132ee63d2ec5565c557e20f4c22df9aca686b10d"; + }; + } + + { + name = "xmldom___xmldom_0.1.19.tgz"; + path = fetchurl { + name = "xmldom___xmldom_0.1.19.tgz"; + url = "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.19.tgz"; + sha1 = "631fc07776efd84118bf25171b37ed4d075a0abc"; + }; + } + + { + name = "xmlhttprequest_ssl___xmlhttprequest_ssl_1.5.3.tgz"; + path = fetchurl { + name = "xmlhttprequest_ssl___xmlhttprequest_ssl_1.5.3.tgz"; + url = "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz"; + sha1 = "185a888c04eca46c3e4070d99f7b49de3528992d"; + }; + } + + { + name = "xmlhttprequest_ssl___xmlhttprequest_ssl_1.5.5.tgz"; + path = fetchurl { + name = "xmlhttprequest_ssl___xmlhttprequest_ssl_1.5.5.tgz"; + url = "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz"; + sha1 = "c2876b06168aadc40e57d97e81191ac8f4398b3e"; + }; + } + + { + name = "xtend___xtend_4.0.1.tgz"; + path = fetchurl { + name = "xtend___xtend_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz"; + sha1 = "a5c6d532be656e23db820efb943a1f04998d63af"; + }; + } + + { + name = "y18n___y18n_3.2.1.tgz"; + path = fetchurl { + name = "y18n___y18n_3.2.1.tgz"; + url = "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz"; + sha1 = "6d15fba884c08679c0d77e88e7759e811e07fa41"; + }; + } + + { + name = "y18n___y18n_4.0.0.tgz"; + path = fetchurl { + name = "y18n___y18n_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz"; + sha1 = "95ef94f85ecc81d007c264e190a120f0a3c8566b"; + }; + } + + { + name = "yallist___yallist_2.1.2.tgz"; + path = fetchurl { + name = "yallist___yallist_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz"; + sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52"; + }; + } + + { + name = "yallist___yallist_3.0.3.tgz"; + path = fetchurl { + name = "yallist___yallist_3.0.3.tgz"; + url = "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz"; + sha1 = "b4b049e314be545e3ce802236d6cd22cd91c3de9"; + }; + } + + { + name = "yargs_parser___yargs_parser_11.1.1.tgz"; + path = fetchurl { + name = "yargs_parser___yargs_parser_11.1.1.tgz"; + url = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz"; + sha1 = "879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"; + }; + } + + { + name = "yargs_parser___yargs_parser_8.1.0.tgz"; + path = fetchurl { + name = "yargs_parser___yargs_parser_8.1.0.tgz"; + url = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz"; + sha1 = "f1376a33b6629a5d063782944da732631e966950"; + }; + } + + { + name = "yargs_parser___yargs_parser_9.0.2.tgz"; + path = fetchurl { + name = "yargs_parser___yargs_parser_9.0.2.tgz"; + url = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz"; + sha1 = "9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077"; + }; + } + + { + name = "yargs___yargs_11.1.0.tgz"; + path = fetchurl { + name = "yargs___yargs_11.1.0.tgz"; + url = "https://registry.yarnpkg.com/yargs/-/yargs-11.1.0.tgz"; + sha1 = "90b869934ed6e871115ea2ff58b03f4724ed2d77"; + }; + } + + { + name = "yargs___yargs_12.0.5.tgz"; + path = fetchurl { + name = "yargs___yargs_12.0.5.tgz"; + url = "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz"; + sha1 = "05f5997b609647b64f66b81e3b4b10a368e7ad13"; + }; + } + + { + name = "yeast___yeast_0.1.2.tgz"; + path = fetchurl { + name = "yeast___yeast_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz"; + sha1 = "008e06d8094320c372dbc2f8ed76a0ca6c8ac419"; + }; + } + + { + name = "yn___yn_2.0.0.tgz"; + path = fetchurl { + name = "yn___yn_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz"; + sha1 = "e5adabc8acf408f6385fc76495684c88e6af689a"; + }; + } + + { + name = "youtube_dl___youtube_dl_1.12.2.tgz"; + path = fetchurl { + name = "youtube_dl___youtube_dl_1.12.2.tgz"; + url = "https://registry.yarnpkg.com/youtube-dl/-/youtube-dl-1.12.2.tgz"; + sha1 = "11985268564c92b229f62b43d97374f86a605d1d"; + }; + } + + { + name = "z_schema___z_schema_3.24.2.tgz"; + path = fetchurl { + name = "z_schema___z_schema_3.24.2.tgz"; + url = "https://registry.yarnpkg.com/z-schema/-/z-schema-3.24.2.tgz"; + sha1 = "193560e718812d98fdc190c38871b634b92f2386"; + }; + } + + { + name = "zero_fill___zero_fill_2.2.3.tgz"; + path = fetchurl { + name = "zero_fill___zero_fill_2.2.3.tgz"; + url = "https://registry.yarnpkg.com/zero-fill/-/zero-fill-2.2.3.tgz"; + sha1 = "a3def06ba5e39ae644850bb4ca2ad4112b4855e9"; + }; + } + ]; +} diff --git a/pkgs/webapps/peertube/yarn_fix_bluebird.patch b/pkgs/webapps/peertube/yarn_fix_bluebird.patch new file mode 100644 index 00000000..8ac987dc --- /dev/null +++ b/pkgs/webapps/peertube/yarn_fix_bluebird.patch @@ -0,0 +1,53 @@ +--- a/yarn.lock 2019-05-09 11:59:32.199273420 +0200 ++++ b/yarn.lock 2019-05-09 12:02:46.270581238 +0200 +@@ -45,11 +45,16 @@ + dependencies: + "@types/node" "*" + +-"@types/bluebird@*", "@types/bluebird@3.5.18", "@types/bluebird@3.5.21": ++"@types/bluebird@*", "@types/bluebird@^3.5.18", "@types/bluebird@3.5.21": + version "3.5.21" + resolved "https://registry.yarnpkg.com/@types/bluebird/-/bluebird-3.5.21.tgz#567615589cc913e84a28ecf9edb031732bdf2634" + integrity sha512-6UNEwyw+6SGMC/WMI0ld0PS4st7Qq51qgguFrFizOSpGvZiqe9iswztFSdZvwJBEhLOy2JaxNE6VC7yMAlbfyQ== + ++"@types/bluebird@3.5.18": ++ version "3.5.18" ++ resolved "https://registry.yarnpkg.com/@types/bluebird/-/bluebird-3.5.18.tgz#6a60435d4663e290f3709898a4f75014f279c4d6" ++ integrity sha512-OTPWHmsyW18BhrnG5x8F7PzeZ2nFxmHGb42bZn79P9hl+GI5cMzyPgQTwNjbem0lJhoru/8vtjAFCUOu3+gE2w== ++ + "@types/body-parser@*", "@types/body-parser@^1.16.3": + version "1.17.0" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.17.0.tgz#9f5c9d9bd04bb54be32d5eb9fc0d8c974e6cf58c" +@@ -4334,9 +4339,9 @@ + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= + +-"jsonld-signatures@https://github.com/Chocobozzz/jsonld-signatures#rsa2017": +- version "1.2.2-2" +- resolved "https://github.com/Chocobozzz/jsonld-signatures#77660963e722eb4541d2d255f9d9d4216329665f" ++jsonld-signatures@^1.2.2: ++ version "1.2.2" ++ resolved "https://github.com/Chocobozzz/jsonld-signatures/archive/77660963e722eb4541d2d255f9d9d4216329665f.tar.gz" + dependencies: + bitcore-message "github:CoMakery/bitcore-message#dist" + jsonld "^0.5.12" +@@ -7331,7 +7331,7 @@ + resolved "https://registry.yarnpkg.com/sequelize-typescript/-/sequelize-typescript-0.6.6.tgz#926037b542dae9f4eff20609d095cc5e3a3640f3" + integrity sha512-WGJTaNuHyYwUM8itxZvMVLeNEb7xSjisbVN1Q5rxLaIf2w67Xaf1GX6Jb+9840bjcNPvMsKgC2aR88zmw7UlcQ== + dependencies: +- "@types/bluebird" "3.5.18" ++ "@types/bluebird" "^3.5.18" + "@types/node" "6.0.41" + "@types/sequelize" "4.27.24" + es6-shim "0.35.3" +--- a/package.json 2019-05-09 13:26:34.784870603 +0200 ++++ b/package.json 2019-05-09 13:26:52.941348635 +0200 +@@ -124,7 +124,7 @@ + "iso-639-3": "^1.0.1", + "js-yaml": "^3.5.4", + "jsonld": "^1.0.1", +- "jsonld-signatures": "https://github.com/Chocobozzz/jsonld-signatures#rsa2017", ++ "jsonld-signatures": "^1.2.2", + "lodash": "^4.17.10", + "magnet-uri": "^5.1.4", + "memoizee": "^0.4.14", diff --git a/pkgs/webapps/peertube/yarn_fix_bluebird_ldap.patch b/pkgs/webapps/peertube/yarn_fix_bluebird_ldap.patch new file mode 100644 index 00000000..4e780cf7 --- /dev/null +++ b/pkgs/webapps/peertube/yarn_fix_bluebird_ldap.patch @@ -0,0 +1,53 @@ +--- a/yarn.lock 2019-05-09 11:59:32.199273420 +0200 ++++ b/yarn.lock 2019-05-09 12:02:46.270581238 +0200 +@@ -45,11 +45,16 @@ + dependencies: + "@types/node" "*" + +-"@types/bluebird@*", "@types/bluebird@3.5.18", "@types/bluebird@3.5.21": ++"@types/bluebird@*", "@types/bluebird@^3.5.18", "@types/bluebird@3.5.21": + version "3.5.21" + resolved "https://registry.yarnpkg.com/@types/bluebird/-/bluebird-3.5.21.tgz#567615589cc913e84a28ecf9edb031732bdf2634" + integrity sha512-6UNEwyw+6SGMC/WMI0ld0PS4st7Qq51qgguFrFizOSpGvZiqe9iswztFSdZvwJBEhLOy2JaxNE6VC7yMAlbfyQ== + ++"@types/bluebird@3.5.18": ++ version "3.5.18" ++ resolved "https://registry.yarnpkg.com/@types/bluebird/-/bluebird-3.5.18.tgz#6a60435d4663e290f3709898a4f75014f279c4d6" ++ integrity sha512-OTPWHmsyW18BhrnG5x8F7PzeZ2nFxmHGb42bZn79P9hl+GI5cMzyPgQTwNjbem0lJhoru/8vtjAFCUOu3+gE2w== ++ + "@types/body-parser@*", "@types/body-parser@^1.16.3": + version "1.17.0" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.17.0.tgz#9f5c9d9bd04bb54be32d5eb9fc0d8c974e6cf58c" +@@ -4384,9 +4389,9 @@ + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= + +-"jsonld-signatures@https://github.com/Chocobozzz/jsonld-signatures#rsa2017": +- version "1.2.2-2" +- resolved "https://github.com/Chocobozzz/jsonld-signatures#77660963e722eb4541d2d255f9d9d4216329665f" ++jsonld-signatures@^1.2.2: ++ version "1.2.2" ++ resolved "https://github.com/Chocobozzz/jsonld-signatures/archive/77660963e722eb4541d2d255f9d9d4216329665f.tar.gz" + dependencies: + bitcore-message "github:CoMakery/bitcore-message#dist" + jsonld "^0.5.12" +@@ -7441,7 +7441,7 @@ + resolved "https://registry.yarnpkg.com/sequelize-typescript/-/sequelize-typescript-0.6.6.tgz#926037b542dae9f4eff20609d095cc5e3a3640f3" + integrity sha512-WGJTaNuHyYwUM8itxZvMVLeNEb7xSjisbVN1Q5rxLaIf2w67Xaf1GX6Jb+9840bjcNPvMsKgC2aR88zmw7UlcQ== + dependencies: +- "@types/bluebird" "3.5.18" ++ "@types/bluebird" "^3.5.18" + "@types/node" "6.0.41" + "@types/sequelize" "4.27.24" + es6-shim "0.35.3" +--- a/package.json 2019-05-09 13:26:34.784870603 +0200 ++++ b/package.json 2019-05-09 13:26:52.941348635 +0200 +@@ -124,7 +124,7 @@ + "iso-639-3": "^1.0.1", + "js-yaml": "^3.5.4", + "jsonld": "^1.0.1", +- "jsonld-signatures": "https://github.com/Chocobozzz/jsonld-signatures#rsa2017", ++ "jsonld-signatures": "^1.2.2", + "ldapjs": "^1.0.2", + "lodash": "^4.17.10", + "magnet-uri": "^5.1.4", diff --git a/pkgs/webapps/phpldapadmin/default.nix b/pkgs/webapps/phpldapadmin/default.nix new file mode 100644 index 00000000..70fd19af --- /dev/null +++ b/pkgs/webapps/phpldapadmin/default.nix @@ -0,0 +1,24 @@ +{ config ? "/etc/phpldapadmin/config.php", fetchurl, stdenv, optipng }: +stdenv.mkDerivation rec { + version = "1.2.3"; + name = "phpldapadmin-${version}"; + src = fetchurl { + url = "https://downloads.sourceforge.net/project/phpldapadmin/phpldapadmin-php5/${version}/${name}.tgz"; + sha256 = "0n7dhp2a7n1krmnik3pb969jynsmhghmxviivnckifkprv1zijmf"; + }; + patches = [ + ./ldap-php5_5.patch + ./ldap-disable-mcrypt.patch + ./ldap-php7_2.patch + ./ldap-sort-in-templates.patch + ./ldap-align-button.patch + ]; + buildInputs = [ optipng ]; + buildPhase = '' + find -name '*.png' -exec optipng -quiet -force -fix {} \; + ''; + installPhase = '' + cp -a . $out + ln -sf ${config} $out/config/config.php + ''; +} diff --git a/pkgs/webapps/phpldapadmin/ldap-align-button.patch b/pkgs/webapps/phpldapadmin/ldap-align-button.patch new file mode 100644 index 00000000..d9a5504f --- /dev/null +++ b/pkgs/webapps/phpldapadmin/ldap-align-button.patch @@ -0,0 +1,11 @@ +--- a/htdocs/update_confirm.php 2012-10-01 08:54:14.000000000 +0200 ++++ b/htdocs/update_confirm.php 2018-06-06 15:47:44.122398888 +0200 +@@ -187,7 +187,7 @@ + + echo ''; + +- echo '
'; ++ echo '
'; + echo '
'; + // @todo cant use AJAX here, it affects file uploads. + printf('', diff --git a/pkgs/webapps/phpldapadmin/ldap-disable-mcrypt.patch b/pkgs/webapps/phpldapadmin/ldap-disable-mcrypt.patch new file mode 100644 index 00000000..8bc4e7b5 --- /dev/null +++ b/pkgs/webapps/phpldapadmin/ldap-disable-mcrypt.patch @@ -0,0 +1,36 @@ +diff -wbBur phpldapadmin-1.2.3/lib/functions.php phpldapadmin-1.2.3.my/lib/functions.php +--- phpldapadmin-1.2.3/lib/functions.php 2012-10-01 10:54:14.000000000 +0400 ++++ phpldapadmin-1.2.3.my/lib/functions.php 2017-02-02 20:02:14.424245233 +0300 +@@ -745,6 +745,7 @@ + if (! trim($secret)) + return $data; + ++/* + if (function_exists('mcrypt_module_open') && ! empty($data)) { + $td = mcrypt_module_open(MCRYPT_BLOWFISH,'',MCRYPT_MODE_ECB,''); + $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td),MCRYPT_DEV_URANDOM); +@@ -754,7 +755,7 @@ + + return $encrypted_data; + } +- ++*/ + if (file_exists(LIBDIR.'blowfish.php')) + require_once LIBDIR.'blowfish.php'; + else +@@ -801,6 +802,7 @@ + if (! trim($secret)) + return $encdata; + ++/* + if (function_exists('mcrypt_module_open') && ! empty($encdata)) { + $td = mcrypt_module_open(MCRYPT_BLOWFISH,'',MCRYPT_MODE_ECB,''); + $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td),MCRYPT_DEV_URANDOM); +@@ -810,6 +812,7 @@ + + return $decrypted_data; + } ++*/ + + if (file_exists(LIBDIR.'blowfish.php')) + require_once LIBDIR.'blowfish.php'; diff --git a/pkgs/webapps/phpldapadmin/ldap-php5_5.patch b/pkgs/webapps/phpldapadmin/ldap-php5_5.patch new file mode 100644 index 00000000..8545ad27 --- /dev/null +++ b/pkgs/webapps/phpldapadmin/ldap-php5_5.patch @@ -0,0 +1,88 @@ +diff -Nrbu phpldapadmin-1.2.3/lib/PageRender.php phpldapadmin-1.2.3-OK/lib/PageRender.php +--- phpldapadmin-1.2.3/lib/PageRender.php 2012-10-01 10:54:14.000000000 +0400 ++++ phpldapadmin-1.2.3-OK/lib/PageRender.php 2013-11-12 03:44:40.518144839 +0400 +@@ -287,7 +287,7 @@ + break; + + default: +- $vals[$i] = password_hash($passwordvalue,$enc); ++ $vals[$i] = pla_password_hash($passwordvalue,$enc); + } + + $vals = array_unique($vals); +diff -Nrbu phpldapadmin-1.2.3/lib/ds_ldap.php phpldapadmin-1.2.3-OK/lib/ds_ldap.php +--- phpldapadmin-1.2.3/lib/ds_ldap.php 2012-10-01 10:54:14.000000000 +0400 ++++ phpldapadmin-1.2.3-OK/lib/ds_ldap.php 2013-11-12 03:40:56.638343739 +0400 +@@ -1117,12 +1117,14 @@ + if (is_array($dn)) { + $a = array(); + foreach ($dn as $key => $rdn) +- $a[$key] = preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$rdn); ++ $a[$key] = preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', ++ function ($matches) { return chr(hexdec($matches[1])); }, $rdn); + + return $a; + + } else +- return preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$dn); ++ return preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', ++ function ($matches) { return chr(hexdec($matches[1])); }, $dn); + } + + public function getRootDSE($method=null) { +diff -Nrbu phpldapadmin-1.2.3/lib/functions.php phpldapadmin-1.2.3-OK/lib/functions.php +--- phpldapadmin-1.2.3/lib/functions.php 2012-10-01 10:54:14.000000000 +0400 ++++ phpldapadmin-1.2.3-OK/lib/functions.php 2013-11-12 03:44:17.298065264 +0400 +@@ -2127,7 +2127,7 @@ + * crypt, ext_des, md5crypt, blowfish, md5, sha, smd5, ssha, sha512, or clear. + * @return string The hashed password. + */ +-function password_hash($password_clear,$enc_type) { ++function pla_password_hash($password_clear,$enc_type) { + if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS')) + debug_log('Entered (%%)',1,0,__FILE__,__LINE__,__METHOD__,$fargs); + +@@ -2318,7 +2318,7 @@ + + # SHA crypted passwords + case 'sha': +- if (strcasecmp(password_hash($plainpassword,'sha'),'{SHA}'.$cryptedpassword) == 0) ++ if (strcasecmp(pla_password_hash($plainpassword,'sha'),'{SHA}'.$cryptedpassword) == 0) + return true; + else + return false; +@@ -2327,7 +2327,7 @@ + + # MD5 crypted passwords + case 'md5': +- if( strcasecmp(password_hash($plainpassword,'md5'),'{MD5}'.$cryptedpassword) == 0) ++ if( strcasecmp(pla_password_hash($plainpassword,'md5'),'{MD5}'.$cryptedpassword) == 0) + return true; + else + return false; +@@ -2392,7 +2392,7 @@ + + # SHA512 crypted passwords + case 'sha512': +- if (strcasecmp(password_hash($plainpassword,'sha512'),'{SHA512}'.$cryptedpassword) == 0) ++ if (strcasecmp(pla_password_hash($plainpassword,'sha512'),'{SHA512}'.$cryptedpassword) == 0) + return true; + else + return false; +@@ -2565,12 +2565,14 @@ + $a = array(); + + foreach ($dn as $key => $rdn) +- $a[$key] = preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$rdn); ++ $a[$key] = preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', ++ function ($matches) { return chr(hexdec($matches[1])); }, $rdn ); + + return $a; + + } else { +- return preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$dn); ++ return preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', ++ function ($matches) { return chr(hexdec($matches[1])); }, $dn); + } + } + diff --git a/pkgs/webapps/phpldapadmin/ldap-php7_2.patch b/pkgs/webapps/phpldapadmin/ldap-php7_2.patch new file mode 100644 index 00000000..40ee0555 --- /dev/null +++ b/pkgs/webapps/phpldapadmin/ldap-php7_2.patch @@ -0,0 +1,30 @@ +diff -wbBur phpldapadmin.org/lib/functions.php phpldapadmin/lib/functions.php +--- phpldapadmin.org/lib/functions.php 2017-02-02 10:03:58.000000000 -0700 ++++ phpldapadmin/lib/functions.php 2018-01-23 06:18:31.118312887 -0700 +@@ -51,7 +51,7 @@ + /** + * Loads class definition + */ +-function __autoload($className) { ++spl_autoload_register(function($className) { + if (file_exists(HOOKSDIR."classes/$className.php")) + require_once(HOOKSDIR."classes/$className.php"); + elseif (file_exists(LIBDIR."$className.php")) +@@ -64,7 +64,7 @@ + 'body'=>sprintf('%s: %s [%s]', + __METHOD__,_('Called to load a class that cant be found'),$className), + 'type'=>'error')); +-} ++}); + + /** + * Strips all slashes from the specified array in place (pass by ref). +@@ -1083,7 +1083,7 @@ + + $code .= 'return $c;'; + +- $CACHE[$sortby] = create_function('$a, $b',$code); ++ eval("\$CACHE[\$sortby] = function(\$a, \$b) { $code; };"); + } + + uasort($data,$CACHE[$sortby]); diff --git a/pkgs/webapps/phpldapadmin/ldap-sort-in-templates.patch b/pkgs/webapps/phpldapadmin/ldap-sort-in-templates.patch new file mode 100644 index 00000000..55a19748 --- /dev/null +++ b/pkgs/webapps/phpldapadmin/ldap-sort-in-templates.patch @@ -0,0 +1,12 @@ +diff -wbBur phpldapadmin-1.2.3.org/lib/TemplateRender.php phpldapadmin-1.2.3/lib/TemplateRender.php +--- phpldapadmin-1.2.3.org/lib/TemplateRender.php 2012-10-01 10:54:14.000000000 +0400 ++++ phpldapadmin-1.2.3/lib/TemplateRender.php 2018-02-02 19:06:45.674760057 +0300 +@@ -321,6 +321,8 @@ + + $vals = array(); + ++ asort($picklistvalues); ++ + foreach ($picklistvalues as $key => $values) { + $display = $args[3]; + diff --git a/pkgs/webapps/rompr/default.nix b/pkgs/webapps/rompr/default.nix new file mode 100644 index 00000000..2accf00c --- /dev/null +++ b/pkgs/webapps/rompr/default.nix @@ -0,0 +1,8 @@ +{ varDir ? "/var/lib/rompr", stdenv, mylibs }: +stdenv.mkDerivation (mylibs.fetchedGithub ./rompr.json // { + installPhase = '' + cp -a . $out + ln -sf ${varDir}/prefs $out/prefs + ln -sf ${varDir}/albumart $out/albumart + ''; +}) diff --git a/pkgs/webapps/rompr/rompr.json b/pkgs/webapps/rompr/rompr.json new file mode 100644 index 00000000..778d9154 --- /dev/null +++ b/pkgs/webapps/rompr/rompr.json @@ -0,0 +1,15 @@ +{ + "tag": "1.24", + "meta": { + "name": "rompr", + "url": "https://github.com/fatg3erman/RompR", + "branch": "refs/tags/1.24" + }, + "github": { + "owner": "fatg3erman", + "repo": "RompR", + "rev": "0d8f597027ac71b320963fe3f33f461a136312ad", + "sha256": "13p3c4whhmvz1vvh9fva5gdx4xji288k108hjdi8b1yn506lzix2", + "fetchSubmodules": true + } +} diff --git a/pkgs/webapps/roundcubemail/default.nix b/pkgs/webapps/roundcubemail/default.nix new file mode 100644 index 00000000..ba85f372 --- /dev/null +++ b/pkgs/webapps/roundcubemail/default.nix @@ -0,0 +1,61 @@ +{ varDir ? "/var/lib/roundcubemail" +, roundcube_config ? "/etc/roundcube/config.php" +, stdenv, fetchurl }: +let + defaultInstall = '' + mkdir -p $out + cp -R . $out/ + cd $out + if [ -d skins -a -d skins/larry -a ! -d skins/elastic ]; then + ln -s larry skins/elastic + fi + ''; + buildPlugin = { appName, version, url, sha256, installPhase ? defaultInstall }: + stdenv.mkDerivation rec { + name = "roundcube-${appName}-${version}"; + inherit version; + phases = "unpackPhase installPhase"; + inherit installPhase; + src = fetchurl { inherit url sha256; }; + passthru.pluginName = appName; + }; + withPlugins = plugins: skins: package.overrideAttrs(old: { + name = "${old.name}${if builtins.length skins > 0 then "-with-skins" else ""}${if builtins.length plugins > 0 then "-with-plugins" else ""}"; + installPhase = old.installPhase + + builtins.concatStringsSep "\n" ( + map (value: "ln -s ${value} $out/plugins/${value.pluginName}") plugins + ) + + builtins.concatStringsSep "\n" ( + map (value: "ln -s ${value} $out/skins/${value.skinName}") skins + ); + passthru = old.passthru // { + inherit plugins skins; + withPlugins = morePlugins: moreSkins: old.withPlugins (morePlugins ++ plugins) (morePlugins ++ skins); + }; + }); + package = stdenv.mkDerivation rec { + version = "1.4-rc1"; + name = "roundcubemail-${version}"; + src= fetchurl { + url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/${name}-complete.tar.gz"; + sha256 = "0p18wffwi2prh6vxhx1bc69qd1vwybggm8gvg3shahfdknxci9i4"; + }; + buildPhase = '' + sed -i \ + -e "s|RCUBE_INSTALL_PATH . 'temp.*|'${varDir}/cache';|" \ + config/defaults.inc.php + sed -i \ + -e "s|RCUBE_INSTALL_PATH . 'logs.*|'${varDir}/logs';|" \ + config/defaults.inc.php + ''; + installPhase = '' + cp -a . $out + ln -s ${roundcube_config} $out/config/config.inc.php + ''; + passthru = { + plugins = []; + skins = []; + inherit withPlugins buildPlugin; + }; + }; +in package diff --git a/pkgs/webapps/roundcubemail/plugins/automatic_addressbook/default.nix b/pkgs/webapps/roundcubemail/plugins/automatic_addressbook/default.nix new file mode 100644 index 00000000..cd9efee6 --- /dev/null +++ b/pkgs/webapps/roundcubemail/plugins/automatic_addressbook/default.nix @@ -0,0 +1,7 @@ +{ buildPlugin }: +buildPlugin rec { + appName = "automatic_addressbook"; + version = "0.4.3"; + url = "https://github.com/sblaisot/${appName}/archive/${version}.tar.gz"; + sha256 = "0bx5qjzp3a3wc72fr295bvgsy5n15949c041hq76n6c7sqdn7inc"; +} diff --git a/pkgs/webapps/roundcubemail/plugins/carddav/default.nix b/pkgs/webapps/roundcubemail/plugins/carddav/default.nix new file mode 100644 index 00000000..ad6856bf --- /dev/null +++ b/pkgs/webapps/roundcubemail/plugins/carddav/default.nix @@ -0,0 +1,7 @@ +{ buildPlugin }: +buildPlugin rec { + appName = "carddav"; + version = "3.0.3"; + url = "https://github.com/blind-coder/rcmcarddav/releases/download/v${version}/${appName}-${version}.tar.bz2"; + sha256 = "0cf5rnqkhhag2vdy808zfpr4l5586fn43nvcia8ac1ha58azrxal"; +} diff --git a/pkgs/webapps/roundcubemail/plugins/contextmenu/default.nix b/pkgs/webapps/roundcubemail/plugins/contextmenu/default.nix new file mode 100644 index 00000000..c970007e --- /dev/null +++ b/pkgs/webapps/roundcubemail/plugins/contextmenu/default.nix @@ -0,0 +1,7 @@ +{ buildPlugin }: +buildPlugin rec { + appName = "contextmenu"; + version = "2.3"; + url = "https://github.com/johndoh/roundcube-${appName}/archive/${version}.tar.gz"; + sha256 = "1rb8n821ylfniiiccfskc534vd6rczhk3g82455ks3m09q6l8hif"; +} diff --git a/pkgs/webapps/roundcubemail/plugins/contextmenu_folder/default.nix b/pkgs/webapps/roundcubemail/plugins/contextmenu_folder/default.nix new file mode 100644 index 00000000..e5cb46d7 --- /dev/null +++ b/pkgs/webapps/roundcubemail/plugins/contextmenu_folder/default.nix @@ -0,0 +1,7 @@ +{ buildPlugin }: +buildPlugin rec { + appName = "contextmenu_folder"; + version = "1.3.3"; + url = "https://github.com/random-cuber/${appName}/archive/${version}.tar.gz"; + sha256 = "1ngfws1v8qrpa52rjh7kirc98alchk2vbqwra86h00agyjjlcc57"; +} diff --git a/pkgs/webapps/roundcubemail/plugins/html5_notifier/default.nix b/pkgs/webapps/roundcubemail/plugins/html5_notifier/default.nix new file mode 100644 index 00000000..35bff069 --- /dev/null +++ b/pkgs/webapps/roundcubemail/plugins/html5_notifier/default.nix @@ -0,0 +1,7 @@ +{ buildPlugin }: +buildPlugin rec { + appName = "html5_notifier"; + version = "v0.6.2"; + url = "https://github.com/stremlau/${appName}/archive/${version}.tar.gz"; + sha256 = "0s1wq9ira4bcd8jvhn93nhxiqzpp92i0za2kw37kf7ksyhr0xslq"; +} diff --git a/pkgs/webapps/roundcubemail/plugins/ident_switch/default.nix b/pkgs/webapps/roundcubemail/plugins/ident_switch/default.nix new file mode 100644 index 00000000..1dfc4020 --- /dev/null +++ b/pkgs/webapps/roundcubemail/plugins/ident_switch/default.nix @@ -0,0 +1,7 @@ +{ buildPlugin }: +buildPlugin rec { + appName = "ident_switch"; + version = "4.0.1"; + url = "https://bitbucket.org/BoresExpress/${appName}/get/${version}.tar.gz"; + sha256 = "1zyy40lfq2kn7hkghbl8lgp18fb634zr4fxmmxvb1wqyvqdpdpyk"; +} diff --git a/pkgs/webapps/roundcubemail/plugins/message_highlight/default.nix b/pkgs/webapps/roundcubemail/plugins/message_highlight/default.nix new file mode 100644 index 00000000..dc7138ac --- /dev/null +++ b/pkgs/webapps/roundcubemail/plugins/message_highlight/default.nix @@ -0,0 +1,7 @@ +{ buildPlugin }: +buildPlugin rec { + appName = "message_highlight"; + version = "4.4"; + url = "https://github.com/corbosman/${appName}/archive/${version}.tar.gz"; + sha256 = "12c4x47y70xdl5pgm8csh5i4yiyhpi232lvjbixmca6di4lkhh9j"; +} diff --git a/pkgs/webapps/roundcubemail/plugins/thunderbird_labels/default.nix b/pkgs/webapps/roundcubemail/plugins/thunderbird_labels/default.nix new file mode 100644 index 00000000..ca7245f5 --- /dev/null +++ b/pkgs/webapps/roundcubemail/plugins/thunderbird_labels/default.nix @@ -0,0 +1,7 @@ +{ buildPlugin }: +buildPlugin rec { + appName = "thunderbird_labels"; + version = "v1.3.2"; + url = "https://github.com/mike-kfed/roundcube-${appName}/archive/${version}.tar.gz"; + sha256 = "1q4x30w66m02v3lw2n8020g0158rmyfzs6gydfk89pa1hs28k9bg"; +} diff --git a/pkgs/webapps/spip/default.nix b/pkgs/webapps/spip/default.nix new file mode 100644 index 00000000..8099f53b --- /dev/null +++ b/pkgs/webapps/spip/default.nix @@ -0,0 +1,32 @@ +{ siteName ? "spip" +, siteDir ? runCommand "empty" { preferLocalBuild = true; } "mkdir -p $out" +, environment ? "prod" +, ldap ? false +, varDir ? "/var/lib/${siteName}_${environment}" +, lib, fetchzip, runCommand, stdenv }: +let + app = stdenv.mkDerivation rec { + name = "${siteName}-${environment}-spip-${version}"; + version = "3.2.3"; + src = fetchzip { + url = "https://files.spip.net/spip/archives/SPIP-v${version}.zip"; + sha256 = "1r1mjvsnrp6mvkgjakvi3x4ms8m8k5mp93micbbg8r99fj7qlfkq"; + }; + paches = lib.optionals ldap [ ./spip_ldap_patch.patch ]; + buildPhase = '' + rm -rf IMG local tmp config/remove.txt + ln -sf ${./spip_mes_options.php} config/mes_options.php + echo "Require all denied" > "config/.htaccess" + ln -sf ${varDir}/{IMG,local} . + ''; + installPhase = '' + cp -a . $out + cp -a ${siteDir}/* $out + ''; + passthru = { + inherit siteName siteDir environment varDir; + webRoot = app; + spipConfig = ./spip_mes_options.php; + }; + }; +in app diff --git a/pkgs/webapps/spip/spip_ldap_patch.patch b/pkgs/webapps/spip/spip_ldap_patch.patch new file mode 100644 index 00000000..653c9098 --- /dev/null +++ b/pkgs/webapps/spip/spip_ldap_patch.patch @@ -0,0 +1,60 @@ +--- old/ecrire/auth/ldap.php 2017-06-08 21:58:17.000000000 +0200 ++++ new/ecrire/auth/ldap.php 2017-06-10 02:54:02.687954143 +0200 +@@ -171,24 +171,41 @@ + $desc = isset($ldap['attributes']) && $ldap['attributes'] ? $ldap['attributes'] : $GLOBALS['ldap_attributes'] ; + + $logins = is_array($desc['login']) ? $desc['login'] : array($desc['login']); ++ if (isset($GLOBALS['ldap_search'])) { ++ $search_query = str_replace("%user%", $login_search, $GLOBALS['ldap_search']); ++ $result = @ldap_search($ldap_link, $ldap_base, $search_query, array("dn")); ++ $info = @ldap_get_entries($ldap_link, $result); ++ // Ne pas accepter les resultats si plus d'une entree ++ // (on veut un attribut unique) + +- // Tenter une recherche pour essayer de retrouver le DN +- foreach ($logins as $att) { +- $result = @ldap_search($ldap_link, $ldap_base, "$att=$login_search", array("dn")); +- $info = @ldap_get_entries($ldap_link, $result); +- // Ne pas accepter les resultats si plus d'une entree +- // (on veut un attribut unique) ++ if (is_array($info) and $info['count'] == 1) { ++ $dn = $info[0]['dn']; ++ if (!$checkpass) { ++ return $dn; ++ } ++ if (@ldap_bind($ldap_link, $dn, $pass)) { ++ return $dn; ++ } ++ } ++ } else { ++ // Tenter une recherche pour essayer de retrouver le DN ++ foreach ($logins as $att) { ++ $result = @ldap_search($ldap_link, $ldap_base, "$att=$login_search", array("dn")); ++ $info = @ldap_get_entries($ldap_link, $result); ++ // Ne pas accepter les resultats si plus d'une entree ++ // (on veut un attribut unique) + +- if (is_array($info) and $info['count'] == 1) { +- $dn = $info[0]['dn']; +- if (!$checkpass) { +- return $dn; +- } +- if (@ldap_bind($ldap_link, $dn, $pass)) { +- return $dn; +- } +- } +- } ++ if (is_array($info) and $info['count'] == 1) { ++ $dn = $info[0]['dn']; ++ if (!$checkpass) { ++ return $dn; ++ } ++ if (@ldap_bind($ldap_link, $dn, $pass)) { ++ return $dn; ++ } ++ } ++ } ++ } + + if ($checkpass and !isset($dn)) { + // Si echec, essayer de deviner le DN diff --git a/pkgs/webapps/spip/spip_mes_options.php b/pkgs/webapps/spip/spip_mes_options.php new file mode 100644 index 00000000..8db83893 --- /dev/null +++ b/pkgs/webapps/spip/spip_mes_options.php @@ -0,0 +1,18 @@ + diff --git a/pkgs/webapps/taskwarrior-web/Gemfile.lock b/pkgs/webapps/taskwarrior-web/Gemfile.lock new file mode 100644 index 00000000..1b2f5ba0 --- /dev/null +++ b/pkgs/webapps/taskwarrior-web/Gemfile.lock @@ -0,0 +1,139 @@ +PATH + remote: . + specs: + taskwarrior-web (1.1.12) + activesupport (~> 3) + json (~> 1.8) + parseconfig + rack-flash3 + rinku + sinatra + sinatra-simple-navigation + vegas + versionomy + +GEM + remote: http://rubygems.org/ + specs: + activesupport (3.2.22.5) + i18n (~> 0.6, >= 0.6.4) + multi_json (~> 1.0) + blockenspiel (0.5.0) + coderay (1.1.2) + concurrent-ruby (1.1.4) + daemons (1.3.1) + diff-lcs (1.3) + docile (1.3.1) + eventmachine (1.2.7) + ffi (1.10.0) + formatador (0.2.5) + growl (1.0.3) + guard (2.15.0) + formatador (>= 0.2.4) + listen (>= 2.7, < 4.0) + lumberjack (>= 1.0.12, < 2.0) + nenv (~> 0.1) + notiffany (~> 0.0) + pry (>= 0.9.12) + shellany (~> 0.0) + thor (>= 0.18.1) + guard-bundler (2.2.1) + bundler (>= 1.3.0, < 3) + guard (~> 2.2) + guard-compat (~> 1.1) + guard-compat (1.2.1) + guard-rspec (4.7.3) + guard (~> 2.1) + guard-compat (~> 1.1) + rspec (>= 2.99.0, < 4.0) + i18n (0.9.5) + concurrent-ruby (~> 1.0) + json (1.8.6) + listen (3.1.5) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + ruby_dep (~> 1.2) + lumberjack (1.0.13) + method_source (0.9.2) + mini_portile2 (2.4.0) + multi_json (1.13.1) + mustermann (1.0.3) + nenv (0.3.0) + nokogiri (1.10.1) + mini_portile2 (~> 2.4.0) + notiffany (0.1.1) + nenv (~> 0.1) + shellany (~> 0.0) + parseconfig (1.0.8) + pry (0.12.2) + coderay (~> 1.1.0) + method_source (~> 0.9.0) + rack (2.0.6) + rack-flash3 (1.0.5) + rack + rack-protection (2.0.5) + rack + rack-test (1.1.0) + rack (>= 1.0, < 3) + rake (10.5.0) + rb-fsevent (0.10.3) + rb-inotify (0.10.0) + ffi (~> 1.0) + rinku (2.0.5) + rspec (2.99.0) + rspec-core (~> 2.99.0) + rspec-expectations (~> 2.99.0) + rspec-mocks (~> 2.99.0) + rspec-core (2.99.2) + rspec-expectations (2.99.2) + diff-lcs (>= 1.1.3, < 2.0) + rspec-html-matchers (0.5.0) + nokogiri (~> 1) + rspec (~> 2, >= 2.11.0) + rspec-mocks (2.99.4) + ruby_dep (1.5.0) + shellany (0.0.1) + simple-navigation (4.0.5) + activesupport (>= 2.3.2) + simplecov (0.16.1) + docile (~> 1.1) + json (>= 1.8, < 3) + simplecov-html (~> 0.10.0) + simplecov-html (0.10.2) + sinatra (2.0.5) + mustermann (~> 1.0) + rack (~> 2.0) + rack-protection (= 2.0.5) + tilt (~> 2.0) + sinatra-simple-navigation (4.1.0) + simple-navigation (~> 4.0) + sinatra (>= 1.0, < 3.0) + thin (1.7.2) + daemons (~> 1.0, >= 1.0.9) + eventmachine (~> 1.0, >= 1.0.4) + rack (>= 1, < 3) + thor (0.20.3) + tilt (2.0.9) + vegas (0.1.11) + rack (>= 1.0.0) + versionomy (0.5.0) + blockenspiel (~> 0.5) + +PLATFORMS + ruby + +DEPENDENCIES + growl + guard-bundler + guard-rspec + rack-test + rake (< 11) + rb-fsevent + rspec (~> 2) + rspec-html-matchers + simplecov + taskwarrior-web! + thin + +BUNDLED WITH + 1.16.2 diff --git a/pkgs/webapps/taskwarrior-web/default.nix b/pkgs/webapps/taskwarrior-web/default.nix new file mode 100644 index 00000000..d5368c58 --- /dev/null +++ b/pkgs/webapps/taskwarrior-web/default.nix @@ -0,0 +1,22 @@ +{ ruby_2_6, bundlerEnv, mylibs, stdenv }: +let + gems = bundlerEnv { + name = "taskwarrior-web-env"; + ruby = ruby_2_6; + pname = "taskwarrior-web"; + gemset = ./gemset.nix; + gemdir = package.out; + groups = [ "default" "local" "development" ]; + }; + package = stdenv.mkDerivation (mylibs.fetchedGithub ./taskwarrior-web.json // rec { + phases = [ "unpackPhase" "patchPhase" "installPhase" ]; + patches = [ ./fixes.patch ./thin.patch ]; + installPhase = '' + cp -a . $out + cp ${./Gemfile.lock} $out/Gemfile.lock + ''; + passthru = { + inherit gems; + }; + }); +in package diff --git a/pkgs/webapps/taskwarrior-web/fixes.patch b/pkgs/webapps/taskwarrior-web/fixes.patch new file mode 100644 index 00000000..851f9f05 --- /dev/null +++ b/pkgs/webapps/taskwarrior-web/fixes.patch @@ -0,0 +1,56 @@ +diff --git a/lib/taskwarrior-web/helpers.rb b/lib/taskwarrior-web/helpers.rb +index 212aed7..94c57df 100644 +--- a/lib/taskwarrior-web/helpers.rb ++++ b/lib/taskwarrior-web/helpers.rb +@@ -1,6 +1,8 @@ + require 'active_support/core_ext/date/calculations' + + module TaskwarriorWeb::App::Helpers ++ include ERB::Util ++ + def format_date(timestamp) + format = TaskwarriorWeb::Config.dateformat || '%-m/%-d/%Y' + Time.parse(timestamp).localtime.strftime(format) +diff --git a/lib/taskwarrior-web/services/builder/base.rb b/lib/taskwarrior-web/services/builder/base.rb +index 58d246e..8f716ac 100644 +--- a/lib/taskwarrior-web/services/builder/base.rb ++++ b/lib/taskwarrior-web/services/builder/base.rb +@@ -10,7 +10,7 @@ module TaskwarriorWeb::CommandBuilder::Base + :complete => ':id done', + :annotate => ':id annotate', + :denotate => ':id denotate', +- :projects => '_projects', ++ :projects => '_unique project', + :tags => '_tags', + :sync => 'sync' + } +diff --git a/lib/taskwarrior-web/views/tasks/_form.erb b/lib/taskwarrior-web/views/tasks/_form.erb +index 789e7a1..fa08698 100644 +--- a/lib/taskwarrior-web/views/tasks/_form.erb ++++ b/lib/taskwarrior-web/views/tasks/_form.erb +@@ -1,14 +1,14 @@ +
+ +
+- ++ +
+
+ +
+ +
+- ++ +
+
+ +@@ -45,7 +45,7 @@ +
+ +
+- ++ + Enter tags separated by commas or spaces (e.g. each, word will,be a tag) +
+
diff --git a/pkgs/webapps/taskwarrior-web/gemset.nix b/pkgs/webapps/taskwarrior-web/gemset.nix new file mode 100644 index 00000000..35d13c69 --- /dev/null +++ b/pkgs/webapps/taskwarrior-web/gemset.nix @@ -0,0 +1,567 @@ +{ + activesupport = { + dependencies = ["i18n" "multi_json"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "0fyxqkkws4px4lzkbcqzp0bwai7nn7jk4p0bgfy0dny9cwm0qc9r"; + type = "gem"; + }; + version = "3.2.22.5"; + }; + blockenspiel = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "1h701s45n5qprvcpc7fnr45n88p56x07pznkxqnhz1dbdbhb7xx8"; + type = "gem"; + }; + version = "0.5.0"; + }; + coderay = { + groups = ["default" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y"; + type = "gem"; + }; + version = "1.1.2"; + }; + concurrent-ruby = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "1ixcx9pfissxrga53jbdpza85qd5f6b5nq1sfqa9rnfq82qnlbp1"; + type = "gem"; + }; + version = "1.1.4"; + }; + daemons = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "0l5gai3vd4g7aqff0k1mp41j9zcsvm2rbwmqn115a325k9r7pf4w"; + type = "gem"; + }; + version = "1.3.1"; + }; + diff-lcs = { + groups = ["default" "development" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza"; + type = "gem"; + }; + version = "1.3"; + }; + docile = { + groups = ["default" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "04d2izkna3ahfn6fwq4xrcafa715d3bbqczxm16fq40fqy87xn17"; + type = "gem"; + }; + version = "1.3.1"; + }; + eventmachine = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r"; + type = "gem"; + }; + version = "1.2.7"; + }; + ffi = { + groups = ["default" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p"; + type = "gem"; + }; + version = "1.10.0"; + }; + formatador = { + groups = ["default" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "1gc26phrwlmlqrmz4bagq1wd5b7g64avpx0ghxr9xdxcvmlii0l0"; + type = "gem"; + }; + version = "0.2.5"; + }; + growl = { + groups = ["local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "0s0y7maljnalpbv2q1j5j5hvb4wcc31y9af0n7x1q2l0fzxgc9n9"; + type = "gem"; + }; + version = "1.0.3"; + }; + guard = { + dependencies = ["formatador" "listen" "lumberjack" "nenv" "notiffany" "pry" "shellany" "thor"]; + groups = ["default" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "0h84ja6qvii3hx86w9l4vjpbgl4m8ma8fbawwp7s8l791cgkdcmk"; + type = "gem"; + }; + version = "2.15.0"; + }; + guard-bundler = { + dependencies = ["guard" "guard-compat"]; + groups = ["local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "0lji8f8w7y4prmpr2lqmlljvkqgkgnlsiwqgwvq7b1y3sxlsvy62"; + type = "gem"; + }; + version = "2.2.1"; + }; + guard-compat = { + groups = ["default" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "1zj6sr1k8w59mmi27rsii0v8xyy2rnsi09nqvwpgj1q10yq1mlis"; + type = "gem"; + }; + version = "1.2.1"; + }; + guard-rspec = { + dependencies = ["guard" "guard-compat" "rspec"]; + groups = ["local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "1jkm5xp90gm4c5s51pmf92i9hc10gslwwic6mvk72g0yplya0yx4"; + type = "gem"; + }; + version = "4.7.3"; + }; + i18n = { + dependencies = ["concurrent-ruby"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "038qvz7kd3cfxk8bvagqhakx68pfbnmghpdkx7573wbf0maqp9a3"; + type = "gem"; + }; + version = "0.9.5"; + }; + json = { + groups = ["default" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "0qmj7fypgb9vag723w1a49qihxrcf5shzars106ynw2zk352gbv5"; + type = "gem"; + }; + version = "1.8.6"; + }; + listen = { + dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"]; + groups = ["default" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx"; + type = "gem"; + }; + version = "3.1.5"; + }; + lumberjack = { + groups = ["default" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "06im7gcg42x77yhz2w5da2ly9xz0n0c36y5ks7xs53v0l9g0vf5n"; + type = "gem"; + }; + version = "1.0.13"; + }; + method_source = { + groups = ["default" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq"; + type = "gem"; + }; + version = "0.9.2"; + }; + mini_portile2 = { + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy"; + type = "gem"; + }; + version = "2.4.0"; + }; + multi_json = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv"; + type = "gem"; + }; + version = "1.13.1"; + }; + mustermann = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "0lycgkmnyy0bf29nnd2zql5a6pcf8sp69g9v4xw0gcfcxgpwp7i1"; + type = "gem"; + }; + version = "1.0.3"; + }; + nenv = { + groups = ["default" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "0r97jzknll9bhd8yyg2bngnnkj8rjhal667n7d32h8h7ny7nvpnr"; + type = "gem"; + }; + version = "0.3.0"; + }; + nokogiri = { + dependencies = ["mini_portile2"]; + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "09zll7c6j7xr6wyvh5mm5ncj6pkryp70ybcsxdbw1nyphx5dh184"; + type = "gem"; + }; + version = "1.10.1"; + }; + notiffany = { + dependencies = ["nenv" "shellany"]; + groups = ["default" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "0x838fa5il0dd9zbm3lxkpbfxcf5fxv9556mayc2mxsdl5ghv8nx"; + type = "gem"; + }; + version = "0.1.1"; + }; + parseconfig = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "0br2g9k6zc4ygah52aa8cwvpnnkszia29bnvnr8bhpk3rdzi2vmq"; + type = "gem"; + }; + version = "1.0.8"; + }; + pry = { + dependencies = ["coderay" "method_source"]; + groups = ["default" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "00rm71x0r1jdycwbs83lf9l6p494m99asakbvqxh8rz7zwnlzg69"; + type = "gem"; + }; + version = "0.12.2"; + }; + rack = { + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "1pcgv8dv4vkaczzlix8q3j68capwhk420cddzijwqgi2qb4lm1zm"; + type = "gem"; + }; + version = "2.0.6"; + }; + rack-flash3 = { + dependencies = ["rack"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "0rim9afrns6s8zc4apiymncysyvijpdg18k57kdpz66p55jf4mqz"; + type = "gem"; + }; + version = "1.0.5"; + }; + rack-protection = { + dependencies = ["rack"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "15167q25rmxipqwi6hjqj3i1byi9iwl3xq9b7mdar7qiz39pmjsk"; + type = "gem"; + }; + version = "2.0.5"; + }; + rack-test = { + dependencies = ["rack"]; + groups = ["development"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m"; + type = "gem"; + }; + version = "1.1.0"; + }; + rake = { + groups = ["development"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "0jcabbgnjc788chx31sihc5pgbqnlc1c75wakmqlbjdm8jns2m9b"; + type = "gem"; + }; + version = "10.5.0"; + }; + rb-fsevent = { + groups = ["local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8"; + type = "gem"; + }; + version = "0.10.3"; + }; + rb-inotify = { + dependencies = ["ffi"]; + groups = ["default" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "1fs7hxm9g6ywv2yih83b879klhc4fs8i0p9166z795qmd77dk0a4"; + type = "gem"; + }; + version = "0.10.0"; + }; + rinku = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "1smkk299v18brk98gqbdnqrfwm3143kikl30scidqb5j3pzlbz91"; + type = "gem"; + }; + version = "2.0.5"; + }; + rspec = { + dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; + groups = ["development" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "14q3hxvngk4ks8h41yw50d5fqbf2dhzwi9rz5ccxvh5a53ak2as3"; + type = "gem"; + }; + version = "2.99.0"; + }; + rspec-core = { + groups = ["default" "development" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "1wwz21lcz2lwd2jcp2pvq7n1677v23acf7wxsyszp8msb47mw38i"; + type = "gem"; + }; + version = "2.99.2"; + }; + rspec-expectations = { + dependencies = ["diff-lcs"]; + groups = ["default" "development" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "11a5pph3anp4xr591dnlcy8xfkdf54qi2lvg4ykpqhxk37si1py3"; + type = "gem"; + }; + version = "2.99.2"; + }; + rspec-html-matchers = { + dependencies = ["nokogiri" "rspec"]; + groups = ["development"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "148grzvk0cvh24avhl0shjzz7ldhj138svf48pc5h1fdsb0pnqcv"; + type = "gem"; + }; + version = "0.5.0"; + }; + rspec-mocks = { + groups = ["default" "development" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "0bzhqahbiswq41nqi6y2dka1k42n0hl14jb6bldb206zp4hikz8r"; + type = "gem"; + }; + version = "2.99.4"; + }; + ruby_dep = { + groups = ["default" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5"; + type = "gem"; + }; + version = "1.5.0"; + }; + shellany = { + groups = ["default" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "1ryyzrj1kxmnpdzhlv4ys3dnl2r5r3d2rs2jwzbnd1v96a8pl4hf"; + type = "gem"; + }; + version = "0.0.1"; + }; + simple-navigation = { + dependencies = ["activesupport"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "08a2s18an3br3xj5j86r33q0hrkai0y157xg67h1khdskb08yylk"; + type = "gem"; + }; + version = "4.0.5"; + }; + simplecov = { + dependencies = ["docile" "json" "simplecov-html"]; + groups = ["local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "1sfyfgf7zrp2n42v7rswkqgk3bbwk1bnsphm24y7laxv3f8z0947"; + type = "gem"; + }; + version = "0.16.1"; + }; + simplecov-html = { + groups = ["default" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "1lihraa4rgxk8wbfl77fy9sf0ypk31iivly8vl3w04srd7i0clzn"; + type = "gem"; + }; + version = "0.10.2"; + }; + sinatra = { + dependencies = ["mustermann" "rack" "rack-protection" "tilt"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "1gasgn5f15myv08k10i16p326pchxjsy37pgqfw0xm66kcc5d7ry"; + type = "gem"; + }; + version = "2.0.5"; + }; + sinatra-simple-navigation = { + dependencies = ["simple-navigation" "sinatra"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "1gishxd23qw6bwsk7fkagkfc7ihqyvvvb98j9bmwc6wwpsfs4prs"; + type = "gem"; + }; + version = "4.1.0"; + }; + taskwarrior-web = { + dependencies = ["activesupport" "json" "parseconfig" "rack-flash3" "rinku" "sinatra" "sinatra-simple-navigation" "vegas" "versionomy"]; + groups = ["default"]; + platforms = []; + bundledByPath = true; + path = ./.; + source = { + path = ./.; + type = "path"; + }; + version = "1.1.12"; + }; + thin = { + dependencies = ["daemons" "eventmachine" "rack"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "0nagbf9pwy1vg09k6j4xqhbjjzrg5dwzvkn4ffvlj76fsn6vv61f"; + type = "gem"; + }; + version = "1.7.2"; + }; + thor = { + groups = ["default" "local"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "1yhrnp9x8qcy5vc7g438amd5j9sw83ih7c30dr6g6slgw9zj3g29"; + type = "gem"; + }; + version = "0.20.3"; + }; + tilt = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz"; + type = "gem"; + }; + version = "2.0.9"; + }; + vegas = { + dependencies = ["rack"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "0kzv0v1zb8vvm188q4pqwahb6468bmiamn6wpsbiq6r5i69s1bs5"; + type = "gem"; + }; + version = "0.1.11"; + }; + versionomy = { + dependencies = ["blockenspiel"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["http://rubygems.org"]; + sha256 = "0i0l4pzrl1vyp4lpg2cxhgkk56spki3lld943d6h7168fj8qyv33"; + type = "gem"; + }; + version = "0.5.0"; + }; +} diff --git a/pkgs/webapps/taskwarrior-web/taskwarrior-web.json b/pkgs/webapps/taskwarrior-web/taskwarrior-web.json new file mode 100644 index 00000000..70f396de --- /dev/null +++ b/pkgs/webapps/taskwarrior-web/taskwarrior-web.json @@ -0,0 +1,15 @@ +{ + "tag": "a79cfe2-master", + "meta": { + "name": "taskwarrior-web", + "url": "https://github.com/theunraveler/taskwarrior-web", + "branch": "master" + }, + "github": { + "owner": "theunraveler", + "repo": "taskwarrior-web", + "rev": "a79cfe2b42791b62364118e58b21b892fff6ded8", + "sha256": "028rb4wry2an19707bvy4n305f3s0hipg214224p1m0mb61c3cq4", + "fetchSubmodules": true + } +} diff --git a/pkgs/webapps/taskwarrior-web/thin.patch b/pkgs/webapps/taskwarrior-web/thin.patch new file mode 100644 index 00000000..a7df3e3b --- /dev/null +++ b/pkgs/webapps/taskwarrior-web/thin.patch @@ -0,0 +1,23 @@ +diff --git a/Gemfile b/Gemfile +index 8544e15..9c4279c 100644 +--- a/Gemfile ++++ b/Gemfile +@@ -3,6 +3,8 @@ source "http://rubygems.org" + # Specify your gem's dependencies in taskwarrior-web.gemspec + gemspec + ++gem 'thin' ++ + group :local do + gem 'rb-fsevent', :require => false + gem 'growl', :require => false +diff --git a/config.ru b/config.ru +index c3050c6..52387d8 100644 +--- a/config.ru ++++ b/config.ru +@@ -1,5 +1,4 @@ + require File.join(File.dirname(__FILE__), 'lib', 'taskwarrior-web') + +-disable :run + TaskwarriorWeb::App.set({ :environment => :production }) + run TaskwarriorWeb::App diff --git a/pkgs/webapps/ttrss/default.nix b/pkgs/webapps/ttrss/default.nix new file mode 100644 index 00000000..0ce2f94f --- /dev/null +++ b/pkgs/webapps/ttrss/default.nix @@ -0,0 +1,30 @@ +{ ttrss_config ? "/etc/ttrss/config.php" +, varDir ? "/var/lib/ttrss" +, stdenv, mylibs }: +let + withPlugins = plugins: package.overrideAttrs(old: rec { + name = "${old.name}-with-plugins"; + installPhase = old.installPhase + + builtins.concatStringsSep "\n" ( + map (value: "ln -s ${value} $out/plugins/${value.pluginName}") plugins + ); + passthru = old.passthru // { + inherit plugins; + withPlugins = morePlugins: old.withPlugins (morePlugins ++ plugins); + }; + }); + package = stdenv.mkDerivation (mylibs.fetchedGit ./tt-rss.json // rec { + buildPhase = '' + rm -rf lock feed-icons cache + ln -sf ${varDir}/{lock,feed-icons,cache} . + ''; + installPhase = '' + cp -a . $out + ln -s ${ttrss_config} $out/config.php + ''; + passthru = { + plugins = []; + inherit withPlugins; + }; + }); +in package diff --git a/pkgs/webapps/ttrss/plugins/af_feedmod/af_feedmod.json b/pkgs/webapps/ttrss/plugins/af_feedmod/af_feedmod.json new file mode 100644 index 00000000..e57fcce1 --- /dev/null +++ b/pkgs/webapps/ttrss/plugins/af_feedmod/af_feedmod.json @@ -0,0 +1,15 @@ +{ + "tag": "0ea2092-master", + "meta": { + "name": "ttrss-af_feedmod", + "url": "https://github.com/mbirth/ttrss_plugin-af_feedmod", + "branch": "master" + }, + "github": { + "owner": "mbirth", + "repo": "ttrss_plugin-af_feedmod", + "rev": "0ea2092dd34067ecd898802cfca3570023d1ecfe", + "sha256": "02ibf47zcrsc2rr45wsix8gxyyf371davj8n8i0gj1zdq95klvnv", + "fetchSubmodules": true + } +} diff --git a/pkgs/webapps/ttrss/plugins/af_feedmod/default.nix b/pkgs/webapps/ttrss/plugins/af_feedmod/default.nix new file mode 100644 index 00000000..8512be3d --- /dev/null +++ b/pkgs/webapps/ttrss/plugins/af_feedmod/default.nix @@ -0,0 +1,9 @@ +{ patched ? false, stdenv, mylibs, lib }: +stdenv.mkDerivation (mylibs.fetchedGithub ./af_feedmod.json // { + patches = lib.optionals patched [ ./type_replace.patch ]; + installPhase = '' + mkdir $out + cp init.php $out + ''; + passthru.pluginName = "af_feedmod"; +}) diff --git a/pkgs/webapps/ttrss/plugins/af_feedmod/type_replace.patch b/pkgs/webapps/ttrss/plugins/af_feedmod/type_replace.patch new file mode 100644 index 00000000..d622577a --- /dev/null +++ b/pkgs/webapps/ttrss/plugins/af_feedmod/type_replace.patch @@ -0,0 +1,12 @@ +--- a/init.php 2014-06-16 14:21:06.995480038 +0200 ++++ b/init.php 2014-06-16 14:22:00.151027654 +0200 +@@ -147,6 +147,9 @@ + } + } + break; ++ case 'replace': ++ $article['content'] = preg_replace("/".$config['pattern']."/",$config['replacement'],$article['content']); ++ break; + + default: + // unknown type or invalid config diff --git a/pkgs/webapps/ttrss/plugins/auth_ldap/auth-ldap.json b/pkgs/webapps/ttrss/plugins/auth_ldap/auth-ldap.json new file mode 100644 index 00000000..c8aaab5c --- /dev/null +++ b/pkgs/webapps/ttrss/plugins/auth_ldap/auth-ldap.json @@ -0,0 +1,15 @@ +{ + "tag": "4d751b0-master", + "meta": { + "name": "ttrss-auth-ldap", + "url": "https://github.com/hydrian/TTRSS-Auth-LDAP", + "branch": "master" + }, + "github": { + "owner": "hydrian", + "repo": "TTRSS-Auth-LDAP", + "rev": "4d751b095c29a8dbe2dc7bb07777742956136e94", + "sha256": "0b9fl86acrzpcv41r7pj3bl8b3n72hpkdywzx9zjyfqv5pskxyim", + "fetchSubmodules": true + } +} diff --git a/pkgs/webapps/ttrss/plugins/auth_ldap/default.nix b/pkgs/webapps/ttrss/plugins/auth_ldap/default.nix new file mode 100644 index 00000000..424a9f7c --- /dev/null +++ b/pkgs/webapps/ttrss/plugins/auth_ldap/default.nix @@ -0,0 +1,8 @@ +{ stdenv, mylibs }: +stdenv.mkDerivation (mylibs.fetchedGithub ./auth-ldap.json // { + installPhase = '' + mkdir $out + cp plugins/auth_ldap/init.php $out + ''; + passthru.pluginName = "auth_ldap"; +}) diff --git a/pkgs/webapps/ttrss/plugins/feediron/default.nix b/pkgs/webapps/ttrss/plugins/feediron/default.nix new file mode 100644 index 00000000..80bfda4f --- /dev/null +++ b/pkgs/webapps/ttrss/plugins/feediron/default.nix @@ -0,0 +1,9 @@ +{ patched ? false, stdenv, mylibs, lib }: +stdenv.mkDerivation (mylibs.fetchedGithub ./feediron.json // { + patches = lib.optionals patched [ ./json_reformat.patch ]; + installPhase = '' + mkdir $out + cp -a . $out + ''; + passthru.pluginName = "feediron"; +}) diff --git a/pkgs/webapps/ttrss/plugins/feediron/feediron.json b/pkgs/webapps/ttrss/plugins/feediron/feediron.json new file mode 100644 index 00000000..5dbec923 --- /dev/null +++ b/pkgs/webapps/ttrss/plugins/feediron/feediron.json @@ -0,0 +1,15 @@ +{ + "tag": "407168c-master", + "meta": { + "name": "ttrss-feediron", + "url": "https://github.com/m42e/ttrss_plugin-feediron", + "branch": "master" + }, + "github": { + "owner": "m42e", + "repo": "ttrss_plugin-feediron", + "rev": "407168c628880b5ced572cc549db6d50e866d3c8", + "sha256": "17b95ifpcph6m03hjd1mhi8gi1hw9yd3fnffmw66fqr5c9l3zd9r", + "fetchSubmodules": true + } +} diff --git a/pkgs/webapps/ttrss/plugins/feediron/json_reformat.patch b/pkgs/webapps/ttrss/plugins/feediron/json_reformat.patch new file mode 100644 index 00000000..e1c44d95 --- /dev/null +++ b/pkgs/webapps/ttrss/plugins/feediron/json_reformat.patch @@ -0,0 +1,18 @@ +diff --git a/init.php b/init.php +index 3c0f2f9..1aad146 100644 +--- a/init.php ++++ b/init.php +@@ -600,10 +600,11 @@ class Feediron extends Plugin implements IHandler + return false; + } + +- $this->host->set($this, 'json_conf', Feediron_Json::format($json_conf)); ++ $new_conf = json_encode(json_decode($json_conf), JSON_PRETTY_PRINT); ++ $this->host->set($this, 'json_conf', $new_conf); + $json_reply['success'] = true; + $json_reply['message'] = __('Configuration saved.'); +- $json_reply['json_conf'] = Feediron_Json::format($json_conf); ++ $json_reply['json_conf'] = $new_conf; + echo json_encode($json_reply); + } + diff --git a/pkgs/webapps/ttrss/plugins/ff_instagram/default.nix b/pkgs/webapps/ttrss/plugins/ff_instagram/default.nix new file mode 100644 index 00000000..3540f737 --- /dev/null +++ b/pkgs/webapps/ttrss/plugins/ff_instagram/default.nix @@ -0,0 +1,8 @@ +{ stdenv, mylibs }: +stdenv.mkDerivation (mylibs.fetchedGithub ./ff_instagram.json // { + installPhase = '' + mkdir $out + cp -a . $out + ''; + passthru.pluginName = "ff_instagram"; +}) diff --git a/pkgs/webapps/ttrss/plugins/ff_instagram/ff_instagram.json b/pkgs/webapps/ttrss/plugins/ff_instagram/ff_instagram.json new file mode 100644 index 00000000..1f241b90 --- /dev/null +++ b/pkgs/webapps/ttrss/plugins/ff_instagram/ff_instagram.json @@ -0,0 +1,15 @@ +{ + "tag": "0366ffb-master", + "meta": { + "name": "ttrss-ff_instagram", + "url": "https://github.com/wltb/ff_instagram", + "branch": "master" + }, + "github": { + "owner": "wltb", + "repo": "ff_instagram", + "rev": "0366ffb18c4d490c8fbfba2f5f3367a5af23cfe8", + "sha256": "0vvzl6wi6jmrqknsfddvckjgsgfizz1d923d1nyrpzjfn6bda1vk", + "fetchSubmodules": true + } +} diff --git a/pkgs/webapps/ttrss/plugins/tumblr_gdpr_ua/default.nix b/pkgs/webapps/ttrss/plugins/tumblr_gdpr_ua/default.nix new file mode 100644 index 00000000..2cf3e051 --- /dev/null +++ b/pkgs/webapps/ttrss/plugins/tumblr_gdpr_ua/default.nix @@ -0,0 +1,8 @@ +{ stdenv, mylibs }: +stdenv.mkDerivation (mylibs.fetchedGithub ./tumblr_gdpr_ua.json // { + installPhase = '' + mkdir $out + cp -a . $out + ''; + passthru.pluginName = "tumblr_gdpr_ua"; +}) diff --git a/pkgs/webapps/ttrss/plugins/tumblr_gdpr_ua/tumblr_gdpr_ua.json b/pkgs/webapps/ttrss/plugins/tumblr_gdpr_ua/tumblr_gdpr_ua.json new file mode 100644 index 00000000..eafbcfef --- /dev/null +++ b/pkgs/webapps/ttrss/plugins/tumblr_gdpr_ua/tumblr_gdpr_ua.json @@ -0,0 +1,15 @@ +{ + "tag": "287c584-master", + "meta": { + "name": "ttrss-tumblr_gdpr_ua", + "url": "https://github.com/hkockerbeck/ttrss-tumblr-gdpr-ua", + "branch": "master" + }, + "github": { + "owner": "hkockerbeck", + "repo": "ttrss-tumblr-gdpr-ua", + "rev": "287c584e68845d524f920156bff0b2eaa6f65117", + "sha256": "1fviawgcclqky4k4xv1sqzvpb8i74w9f0pclm09m78s8l85wh9py", + "fetchSubmodules": true + } +} diff --git a/pkgs/webapps/ttrss/tt-rss.json b/pkgs/webapps/ttrss/tt-rss.json new file mode 100644 index 00000000..e2731b0f --- /dev/null +++ b/pkgs/webapps/ttrss/tt-rss.json @@ -0,0 +1,14 @@ +{ + "tag": "986ca25-master", + "meta": { + "name": "tt-rss", + "url": "https://git.tt-rss.org/fox/tt-rss.git", + "branch": "master" + }, + "git": { + "url": "https://git.tt-rss.org/fox/tt-rss.git", + "rev": "986ca251f995f7754a0470d3e0c44538a545081f", + "sha256": "0xkafkh7l9zazm5d6snlq03kdfxfhkb4c8fdsb32wn8b9bhdzf5s", + "fetchSubmodules": true + } +} diff --git a/pkgs/webapps/wallabag/default.nix b/pkgs/webapps/wallabag/default.nix new file mode 100644 index 00000000..a437a311 --- /dev/null +++ b/pkgs/webapps/wallabag/default.nix @@ -0,0 +1,54 @@ +{ varDir ? "/var/lib/wallabag" +, wallabag_config ? "/etc/wallabag/parameters.yml" +, ldap ? false +, composerEnv, fetchurl, lib }: +composerEnv.buildPackage rec { + packages = { + "fr3d/ldap-bundle" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "fr3d-ldap-bundle-5a8927c11af45fa06331b97221c6da1a4a237475"; + src = fetchurl { + url = https://api.github.com/repos/Maks3w/FR3DLdapBundle/zipball/5a8927c11af45fa06331b97221c6da1a4a237475; + sha256 = "168zkd82j200wd6h0a3lq81g5s2pifg889rv27q2g429nppsbfxc"; + }; + }; + }; + "zendframework/zend-ldap" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "zendframework-zend-ldap-b63c7884a08d3a6bda60ebcf7d6238cf8ad89f49"; + src = fetchurl { + url = https://api.github.com/repos/zendframework/zend-ldap/zipball/b63c7884a08d3a6bda60ebcf7d6238cf8ad89f49; + sha256 = "0mn4yqnb5prqhrbbybmw1i2rx7xf4s4wagbdq9qi55fa0vk3jgw9"; + }; + }; + }; + }; + noDev = true; + doRemoveVendor = false; + # Beware when upgrading, I probably messed up with the migrations table + # (due to a psql bug in wallabag) + version = "2.3.6"; + name = "wallabag-${version}"; + src = fetchurl { + url = "https://static.wallabag.org/releases/wallabag-release-${version}.tar.gz"; + sha256 = "0m0dy3r94ks5pfxyb9vbgrsm0vrwdl3jd5wqwg4f5vd107lq90q1"; + }; + unpackPhase = '' + unpackFile "$src" + sourceRoot=${version} + src=$PWD/${version} + ''; + patches = lib.optionals ldap [ ./ldap.patch ]; + preInstall = '' + export SYMFONY_ENV="prod" + ''; + postInstall = '' + rm -rf web/assets var/{cache,logs,sessions} app/config/parameters.yml data + ln -sf ${wallabag_config} app/config/parameters.yml + ln -sf ${varDir}/var/{cache,logs,sessions} var + ln -sf ${varDir}/data data + ln -sf ${varDir}/assets web/assets + ''; +} diff --git a/pkgs/webapps/wallabag/ldap.patch b/pkgs/webapps/wallabag/ldap.patch new file mode 100644 index 00000000..9caf7dac --- /dev/null +++ b/pkgs/webapps/wallabag/ldap.patch @@ -0,0 +1,698 @@ +diff --git a/.travis.yml b/.travis.yml +index 04cea258..56b1f576 100644 +--- a/.travis.yml ++++ b/.travis.yml +@@ -58,6 +58,7 @@ install: + + before_script: + - PHP=$TRAVIS_PHP_VERSION ++ - echo "extension=ldap.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini + - if [[ ! $PHP = hhvm* ]]; then echo "memory_limit=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini; fi; + # xdebug isn't enable for PHP 7.1 + - if [[ ! $PHP = hhvm* ]]; then phpenv config-rm xdebug.ini || echo "xdebug not available"; fi +diff --git a/app/AppKernel.php b/app/AppKernel.php +index 40726f05..c4f465dc 100644 +--- a/app/AppKernel.php ++++ b/app/AppKernel.php +@@ -42,6 +42,10 @@ class AppKernel extends Kernel + new OldSound\RabbitMqBundle\OldSoundRabbitMqBundle(), + ]; + ++ if (class_exists('FR3D\\LdapBundle\\FR3DLdapBundle')) { ++ $bundles[] = new FR3D\LdapBundle\FR3DLdapBundle(); ++ } ++ + if (in_array($this->getEnvironment(), ['dev', 'test'], true)) { + $bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle(); + $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle(); +diff --git a/app/DoctrineMigrations/Version20170710113900.php b/app/DoctrineMigrations/Version20170710113900.php +new file mode 100644 +index 00000000..7be83110 +--- /dev/null ++++ b/app/DoctrineMigrations/Version20170710113900.php +@@ -0,0 +1,54 @@ ++container = $container; ++ } ++ ++ private function getTable($tableName) ++ { ++ return $this->container->getParameter('database_table_prefix').$tableName; ++ } ++ ++ /** ++ * @param Schema $schema ++ */ ++ public function up(Schema $schema) ++ { ++ $usersTable = $schema->getTable($this->getTable('user')); ++ ++ $this->skipIf($usersTable->hasColumn('dn'), 'It seems that you already played this migration.'); ++ ++ $usersTable->addColumn('dn', 'text', [ ++ 'default' => null, ++ 'notnull' => false, ++ ]); ++ } ++ ++ /** ++ * @param Schema $schema ++ */ ++ public function down(Schema $schema) ++ { ++ $usersTable = $schema->getTable($this->getTable('user')); ++ $usersTable->dropColumn('dn'); ++ } ++} ++ +diff --git a/app/config/parameters.yml.dist b/app/config/parameters.yml.dist +index 6b0cb8e8..cfd41b69 100644 +--- a/app/config/parameters.yml.dist ++++ b/app/config/parameters.yml.dist +@@ -62,3 +62,23 @@ parameters: + redis_port: 6379 + redis_path: null + redis_password: null ++ ++ # ldap configuration ++ # To enable, you need to require fr3d/ldap-bundle ++ ldap_enabled: false ++ ldap_host: localhost ++ ldap_port: 389 ++ ldap_tls: false ++ ldap_ssl: false ++ ldap_bind_requires_dn: true ++ ldap_base: dc=example,dc=com ++ ldap_manager_dn: ou=Manager,dc=example,dc=com ++ ldap_manager_pw: password ++ ldap_filter: (&(ObjectClass=Person)) ++ # optional (if null: no ldap user is admin) ++ ldap_admin_filter: (&(memberOf=ou=admins,dc=example,dc=com)(uid=%s)) ++ ldap_username_attribute: uid ++ ldap_email_attribute: mail ++ ldap_name_attribute: cn ++ # optional (default sets user as enabled unconditionally) ++ ldap_enabled_attribute: ~ +diff --git a/app/config/security.yml b/app/config/security.yml +index 02afc9ea..48fbb553 100644 +--- a/app/config/security.yml ++++ b/app/config/security.yml +@@ -6,6 +6,7 @@ security: + ROLE_ADMIN: ROLE_USER + ROLE_SUPER_ADMIN: [ ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH ] + ++ # /!\ This list is modified in WallabagUserBundle when LDAP is enabled + providers: + administrators: + entity: +@@ -36,6 +37,7 @@ security: + pattern: ^/login$ + anonymous: ~ + ++ # /!\ This section is modified in WallabagUserBundle when LDAP is enabled + secured_area: + pattern: ^/ + form_login: +diff --git a/composer.json b/composer.json +index 68cfad05..32a3d1a4 100644 +--- a/composer.json ++++ b/composer.json +@@ -85,7 +85,11 @@ + "friendsofsymfony/jsrouting-bundle": "^1.6.3", + "bdunogier/guzzle-site-authenticator": "^1.0.0", + "defuse/php-encryption": "^2.1", +- "html2text/html2text": "^4.1" ++ "html2text/html2text": "^4.1", ++ "fr3d/ldap-bundle": "^3.0" ++ }, ++ "suggest": { ++ "fr3d/ldap-bundle": "If you want to authenticate via LDAP" + }, + "require-dev": { + "doctrine/doctrine-fixtures-bundle": "~2.2", +diff --git a/composer.lock b/composer.lock +index 251ee081..37795e0b 100644 +--- a/composer.lock ++++ b/composer.lock +@@ -4,7 +4,7 @@ + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], +- "content-hash": "d2a0bd8408dccdeb7a7455996519829b", ++ "content-hash": "4699d166d03a8e5f70d802d0bc3e6a20", + "packages": [ + { + "name": "bdunogier/guzzle-site-authenticator", +@@ -1346,6 +1346,65 @@ + ], + "time": "2018-12-14T19:44:53+00:00" + }, ++ { ++ "name": "fr3d/ldap-bundle", ++ "version": "v3.0.0", ++ "source": { ++ "type": "git", ++ "url": "https://github.com/Maks3w/FR3DLdapBundle.git", ++ "reference": "5a8927c11af45fa06331b97221c6da1a4a237475" ++ }, ++ "dist": { ++ "type": "zip", ++ "url": "https://api.github.com/repos/Maks3w/FR3DLdapBundle/zipball/5a8927c11af45fa06331b97221c6da1a4a237475", ++ "reference": "5a8927c11af45fa06331b97221c6da1a4a237475", ++ "shasum": "" ++ }, ++ "require": { ++ "php": ">=5.5", ++ "psr/log": "~1.0", ++ "symfony/config": "2.3 - 3", ++ "symfony/dependency-injection": "2.3 - 3", ++ "symfony/polyfill-php56": "^1.1", ++ "symfony/security": "2.3 - 3", ++ "symfony/security-bundle": "2.3 - 3", ++ "zendframework/zend-ldap": "2.5 - 3" ++ }, ++ "require-dev": { ++ "fabpot/php-cs-fixer": "1.11.*", ++ "fr3d/psr3-message-assertions": "0.1.*", ++ "friendsofsymfony/user-bundle": "~1.3", ++ "maks3w/phpunit-methods-trait": "^4.6", ++ "phpunit/phpunit": "^4.6", ++ "symfony/validator": "2.3 - 3" ++ }, ++ "suggest": { ++ "friendsofsymfony/user-bundle": "Integrate authentication and management for DB users, useful for unmanned LDAP servers", ++ "symfony/validator": "Allow pre-validate for existing users before register new ones" ++ }, ++ "type": "symfony-bundle", ++ "autoload": { ++ "psr-4": { ++ "FR3D\\LdapBundle\\": "" ++ } ++ }, ++ "notification-url": "https://packagist.org/downloads/", ++ "license": [ ++ "MIT" ++ ], ++ "authors": [ ++ { ++ "name": "Maks3w" ++ } ++ ], ++ "description": "This package provide users and authentication services based on LDAP directories for Symfony2 framework", ++ "homepage": "https://github.com/Maks3w/FR3DLdapBundle", ++ "keywords": [ ++ "Authentication", ++ "ldap" ++ ], ++ "time": "2016-02-12T17:45:14+00:00" ++ }, + { + "name": "friendsofsymfony/jsrouting-bundle", + "version": "1.6.3", +@@ -7027,6 +7086,59 @@ + "zf2" + ], + "time": "2018-04-25T15:33:34+00:00" ++ }, ++ { ++ "name": "zendframework/zend-ldap", ++ "version": "2.10.0", ++ "source": { ++ "type": "git", ++ "url": "https://github.com/zendframework/zend-ldap.git", ++ "reference": "b63c7884a08d3a6bda60ebcf7d6238cf8ad89f49" ++ }, ++ "dist": { ++ "type": "zip", ++ "url": "https://api.github.com/repos/zendframework/zend-ldap/zipball/b63c7884a08d3a6bda60ebcf7d6238cf8ad89f49", ++ "reference": "b63c7884a08d3a6bda60ebcf7d6238cf8ad89f49", ++ "shasum": "" ++ }, ++ "require": { ++ "ext-ldap": "*", ++ "php": "^5.6 || ^7.0" ++ }, ++ "require-dev": { ++ "php-mock/php-mock-phpunit": "^1.1.2 || ^2.1.1", ++ "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", ++ "zendframework/zend-coding-standard": "~1.0.0", ++ "zendframework/zend-config": "^2.5", ++ "zendframework/zend-eventmanager": "^2.6.3 || ^3.0.1", ++ "zendframework/zend-stdlib": "^2.7 || ^3.0" ++ }, ++ "suggest": { ++ "zendframework/zend-eventmanager": "Zend\\EventManager component" ++ }, ++ "type": "library", ++ "extra": { ++ "branch-alias": { ++ "dev-master": "2.10.x-dev", ++ "dev-develop": "2.11.x-dev" ++ } ++ }, ++ "autoload": { ++ "psr-4": { ++ "Zend\\Ldap\\": "src/" ++ } ++ }, ++ "notification-url": "https://packagist.org/downloads/", ++ "license": [ ++ "BSD-3-Clause" ++ ], ++ "description": "Provides support for LDAP operations including but not limited to binding, searching and modifying entries in an LDAP directory", ++ "keywords": [ ++ "ZendFramework", ++ "ldap", ++ "zf" ++ ], ++ "time": "2018-07-05T05:05:12+00:00" + } + ], + "packages-dev": [ +@@ -7561,12 +7673,12 @@ + "source": { + "type": "git", + "url": "https://github.com/symfony/phpunit-bridge.git", +- "reference": "5dab0d4b2ac99ab22b447b615fdfdc10ec4af3d5" ++ "reference": "d61ec438634e0f234c6bda1c6ee97016bbb0e7a1" + }, + "dist": { + "type": "zip", +- "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/5dab0d4b2ac99ab22b447b615fdfdc10ec4af3d5", +- "reference": "5dab0d4b2ac99ab22b447b615fdfdc10ec4af3d5", ++ "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/d61ec438634e0f234c6bda1c6ee97016bbb0e7a1", ++ "reference": "d61ec438634e0f234c6bda1c6ee97016bbb0e7a1", + "shasum": "" + }, + "require": { +@@ -7619,7 +7731,7 @@ + ], + "description": "Symfony PHPUnit Bridge", + "homepage": "https://symfony.com", +- "time": "2019-01-01T13:45:19+00:00" ++ "time": "2019-01-16T13:27:11+00:00" + }, + { + "name": "symfony/polyfill-php72", +diff --git a/scripts/install.sh b/scripts/install.sh +index 8b7ea03f..3a4a33ab 100755 +--- a/scripts/install.sh ++++ b/scripts/install.sh +@@ -26,5 +26,8 @@ ENV=$1 + TAG=$(git describe --tags $(git rev-list --tags --max-count=1)) + + git checkout $TAG ++if [ -n "$LDAP_ENABLED" ]; then ++ SYMFONY_ENV=$ENV $COMPOSER_COMMAND require --no-update fr3d/ldap-bundle ++fi + SYMFONY_ENV=$ENV $COMPOSER_COMMAND install --no-dev -o --prefer-dist + php bin/console wallabag:install --env=$ENV +diff --git a/scripts/update.sh b/scripts/update.sh +index c62d104a..6259a431 100755 +--- a/scripts/update.sh ++++ b/scripts/update.sh +@@ -32,6 +32,9 @@ git fetch origin + git fetch --tags + TAG=$(git describe --tags $(git rev-list --tags --max-count=1)) + git checkout $TAG --force ++if [ -n "$LDAP_ENABLED" ]; then ++ SYMFONY_ENV=$ENV $COMPOSER_COMMAND require --no-update fr3d/ldap-bundle ++fi + SYMFONY_ENV=$ENV $COMPOSER_COMMAND install --no-dev -o --prefer-dist + php bin/console doctrine:migrations:migrate --no-interaction --env=$ENV + php bin/console cache:clear --env=$ENV +diff --git a/src/Wallabag/UserBundle/DependencyInjection/WallabagUserExtension.php b/src/Wallabag/UserBundle/DependencyInjection/WallabagUserExtension.php +index 5ca3482e..904a6af1 100644 +--- a/src/Wallabag/UserBundle/DependencyInjection/WallabagUserExtension.php ++++ b/src/Wallabag/UserBundle/DependencyInjection/WallabagUserExtension.php +@@ -6,9 +6,34 @@ use Symfony\Component\Config\FileLocator; + use Symfony\Component\DependencyInjection\ContainerBuilder; + use Symfony\Component\DependencyInjection\Loader; + use Symfony\Component\HttpKernel\DependencyInjection\Extension; ++use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface; + +-class WallabagUserExtension extends Extension ++class WallabagUserExtension extends Extension implements PrependExtensionInterface + { ++ public function prepend(ContainerBuilder $container) ++ { ++ $ldap = $container->getParameter('ldap_enabled'); ++ ++ if ($ldap) { ++ $container->prependExtensionConfig('security', array( ++ 'providers' => array( ++ 'chain_provider' => array(), ++ ), ++ )); ++ $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); ++ $loader->load('ldap.yml'); ++ } elseif ($container->hasExtension('fr3d_ldap')) { ++ $container->prependExtensionConfig('fr3_d_ldap', array( ++ 'driver' => array( ++ 'host' => 'localhost', ++ ), ++ 'user' => array( ++ 'baseDn' => 'dc=example,dc=com', ++ ), ++ )); ++ } ++ } ++ + public function load(array $configs, ContainerBuilder $container) + { + $configuration = new Configuration(); +@@ -16,6 +41,9 @@ class WallabagUserExtension extends Extension + + $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config')); + $loader->load('services.yml'); ++ if ($container->getParameter('ldap_enabled')) { ++ $loader->load('ldap_services.yml'); ++ } + $container->setParameter('wallabag_user.registration_enabled', $config['registration_enabled']); + } + +diff --git a/src/Wallabag/UserBundle/Entity/User.php b/src/Wallabag/UserBundle/Entity/User.php +index 48446e3c..f93c59c7 100644 +--- a/src/Wallabag/UserBundle/Entity/User.php ++++ b/src/Wallabag/UserBundle/Entity/User.php +@@ -1,5 +1,15 @@ + clients->first(); + } + } ++ ++ /** ++ * Set dn. ++ * ++ * @param string $dn ++ * ++ * @return User ++ */ ++ public function setDn($dn) ++ { ++ $this->dn = $dn; ++ ++ return $this; ++ } ++ ++ /** ++ * Get dn. ++ * ++ * @return string ++ */ ++ public function getDn() ++ { ++ return $this->dn; ++ } ++ ++ public function isLdapUser() ++ { ++ return $this->dn !== null; ++ } + } +diff --git a/src/Wallabag/UserBundle/LdapHydrator.php b/src/Wallabag/UserBundle/LdapHydrator.php +new file mode 100644 +index 00000000..cea2450f +--- /dev/null ++++ b/src/Wallabag/UserBundle/LdapHydrator.php +@@ -0,0 +1,103 @@ ++userManager = $user_manager; ++ $this->eventDispatcher = $event_dispatcher; ++ ++ $this->attributesMap = array( ++ 'setUsername' => $attributes_map[0], ++ 'setEmail' => $attributes_map[1], ++ 'setName' => $attributes_map[2], ++ ); ++ $this->enabledAttribute = $attributes_map[3]; ++ ++ $this->ldapBaseDn = $ldap_base_dn; ++ $this->ldapAdminFilter = $ldap_admin_filter; ++ $this->ldapDriver = $ldap_driver; ++ } ++ ++ public function hydrate(array $ldapEntry) ++ { ++ $user = $this->userManager->findUserBy(array('dn' => $ldapEntry['dn'])); ++ ++ if (!$user) { ++ $user = $this->userManager->createUser(); ++ $user->setDn($ldapEntry['dn']); ++ $user->setPassword(''); ++ $user->setSalt(''); ++ $this->updateUserFields($user, $ldapEntry); ++ ++ $event = new UserEvent($user); ++ $this->eventDispatcher->dispatch(FOSUserEvents::USER_CREATED, $event); ++ ++ $this->userManager->reloadUser($user); ++ } else { ++ $this->updateUserFields($user, $ldapEntry); ++ } ++ ++ return $user; ++ } ++ ++ private function updateUserFields($user, $ldapEntry) ++ { ++ foreach ($this->attributesMap as $key => $value) { ++ if (is_array($ldapEntry[$value])) { ++ $ldap_value = $ldapEntry[$value][0]; ++ } else { ++ $ldap_value = $ldapEntry[$value]; ++ } ++ ++ call_user_func([$user, $key], $ldap_value); ++ } ++ ++ if ($this->enabledAttribute !== null) { ++ $user->setEnabled($ldapEntry[$this->enabledAttribute]); ++ } else { ++ $user->setEnabled(true); ++ } ++ ++ if ($this->isAdmin($user)) { ++ $user->addRole('ROLE_SUPER_ADMIN'); ++ } else { ++ $user->removeRole('ROLE_SUPER_ADMIN'); ++ } ++ ++ $this->userManager->updateUser($user, true); ++ } ++ ++ private function isAdmin($user) ++ { ++ if ($this->ldapAdminFilter === null) { ++ return false; ++ } ++ ++ $escaped_username = ldap_escape($user->getUsername(), '', LDAP_ESCAPE_FILTER); ++ $filter = sprintf($this->ldapAdminFilter, $escaped_username); ++ $entries = $this->ldapDriver->search($this->ldapBaseDn, $filter); ++ ++ return $entries['count'] == 1; ++ } ++} +diff --git a/src/Wallabag/UserBundle/OAuthStorageLdapWrapper.php b/src/Wallabag/UserBundle/OAuthStorageLdapWrapper.php +new file mode 100644 +index 00000000..8a851f12 +--- /dev/null ++++ b/src/Wallabag/UserBundle/OAuthStorageLdapWrapper.php +@@ -0,0 +1,43 @@ ++ldapManager = $ldap_manager; ++ } ++ ++ public function checkUserCredentials(IOAuth2Client $client, $username, $password) ++ { ++ try { ++ $user = $this->userProvider->loadUserByUsername($username); ++ } catch (AuthenticationException $e) { ++ return false; ++ } ++ ++ if ($user->isLdapUser()) { ++ return $this->checkLdapUserCredentials($user, $password); ++ } else { ++ return parent::checkUserCredentials($client, $username, $password); ++ } ++ } ++ ++ private function checkLdapUserCredentials($user, $password) ++ { ++ if ($this->ldapManager->bind($user, $password)) { ++ return array( ++ 'data' => $user, ++ ); ++ } else { ++ return false; ++ } ++ } ++} +diff --git a/src/Wallabag/UserBundle/Resources/config/ldap.yml b/src/Wallabag/UserBundle/Resources/config/ldap.yml +new file mode 100644 +index 00000000..5ec16088 +--- /dev/null ++++ b/src/Wallabag/UserBundle/Resources/config/ldap.yml +@@ -0,0 +1,28 @@ ++fr3d_ldap: ++ service: ++ user_hydrator: ldap_user_hydrator ++ driver: ++ host: "%ldap_host%" ++ port: "%ldap_port%" ++ useSsl: "%ldap_ssl%" ++ useStartTls: "%ldap_tls%" ++ bindRequiresDn: "%ldap_bind_requires_dn%" ++ username: "%ldap_manager_dn%" ++ password: "%ldap_manager_pw%" ++ user: ++ baseDn: "%ldap_base%" ++ filter: "%ldap_filter%" ++ usernameAttribute: "%ldap_username_attribute%" ++security: ++ providers: ++ chain_provider: ++ chain: ++ providers: [ fr3d_ldapbundle, fos_userbundle ] ++ fr3d_ldapbundle: ++ id: fr3d_ldap.security.user.provider ++ firewalls: ++ secured_area: ++ fr3d_ldap: ~ ++ form_login: ++ provider: chain_provider ++ +diff --git a/src/Wallabag/UserBundle/Resources/config/ldap_services.yml b/src/Wallabag/UserBundle/Resources/config/ldap_services.yml +new file mode 100644 +index 00000000..b3e3fd8a +--- /dev/null ++++ b/src/Wallabag/UserBundle/Resources/config/ldap_services.yml +@@ -0,0 +1,22 @@ ++services: ++ fos_oauth_server.server: ++ class: OAuth2\OAuth2 ++ arguments: ++ - "@oauth_storage_ldap_wrapper" ++ - "%fos_oauth_server.server.options%" ++ oauth_storage_ldap_wrapper: ++ class: Wallabag\UserBundle\OAuthStorageLdapWrapper ++ parent: fos_oauth_server.storage ++ calls: ++ - [setLdapManager, ["@fr3d_ldap.ldap_manager"]] ++ ++ ldap_user_hydrator: ++ class: Wallabag\UserBundle\LdapHydrator ++ arguments: ++ - "@fos_user.user_manager" ++ - "@event_dispatcher" ++ - [ "%ldap_username_attribute%", "%ldap_email_attribute%", "%ldap_name_attribute%", "%ldap_enabled_attribute%" ] ++ - "%ldap_base%" ++ - "%ldap_admin_filter%" ++ - "@fr3d_ldap.ldap_driver" ++ diff --git a/pkgs/webapps/yourls/default.nix b/pkgs/webapps/yourls/default.nix new file mode 100644 index 00000000..4bcfa4cc --- /dev/null +++ b/pkgs/webapps/yourls/default.nix @@ -0,0 +1,26 @@ +{ yourls_config ? "/etc/yourls/config.php", mylibs, stdenv }: +let + withPlugins = plugins: package.overrideAttrs(old: { + name = "${old.name}-with-plugins"; + installPhase = old.installPhase + + builtins.concatStringsSep "\n" ( + map (value: "ln -s ${value} $out/user/plugins/${value.pluginName}") plugins + ); + passthru = old.passthru // { + inherit plugins; + withPlugins = morePlugins: old.withPlugins (morePlugins ++ plugins); + }; + }); + package = stdenv.mkDerivation (mylibs.fetchedGithub ./yourls.json // rec { + installPhase = '' + mkdir -p $out + cp -a */ *.php $out/ + cp sample-robots.txt $out/robots.txt + ln -sf ${yourls_config} $out/includes/config.php + ''; + passthru = { + plugins = []; + inherit withPlugins; + }; + }); +in package diff --git a/pkgs/webapps/yourls/plugins/ldap/default.nix b/pkgs/webapps/yourls/plugins/ldap/default.nix new file mode 100644 index 00000000..01dc6fb8 --- /dev/null +++ b/pkgs/webapps/yourls/plugins/ldap/default.nix @@ -0,0 +1,8 @@ +{ stdenv, mylibs }: +stdenv.mkDerivation (mylibs.fetchedGithub ./ldap.json // rec { + installPhase = '' + mkdir -p $out + cp plugin.php $out + ''; + passthru.pluginName = "ldap"; +}) diff --git a/pkgs/webapps/yourls/plugins/ldap/ldap.json b/pkgs/webapps/yourls/plugins/ldap/ldap.json new file mode 100644 index 00000000..9411e4a9 --- /dev/null +++ b/pkgs/webapps/yourls/plugins/ldap/ldap.json @@ -0,0 +1,15 @@ +{ + "tag": "2a3cb03-master", + "meta": { + "name": "yourls-ldap-plugin", + "url": "https://github.com/k3a/yourls-ldap-plugin", + "branch": "master" + }, + "github": { + "owner": "k3a", + "repo": "yourls-ldap-plugin", + "rev": "2a3cb0334b8a6b81b284a7196e614bbd2b2b1615", + "sha256": "0cchbnli77d295lzf7kjmn4dcxj2bmdqa9qc3f8l8qgmp4n5n0gh", + "fetchSubmodules": true + } +} diff --git a/pkgs/webapps/yourls/yourls.json b/pkgs/webapps/yourls/yourls.json new file mode 100644 index 00000000..0a79b186 --- /dev/null +++ b/pkgs/webapps/yourls/yourls.json @@ -0,0 +1,15 @@ +{ + "tag": "1.7.3", + "meta": { + "name": "yourls", + "url": "https://github.com/YOURLS/YOURLS", + "branch": "refs/tags/1.7.3" + }, + "github": { + "owner": "YOURLS", + "repo": "YOURLS", + "rev": "077018822d3594229daa8343310d0b40804b9ddc", + "sha256": "1av6h619rwqn0yn0kjn2s2h3gmrhmxaaa9hd5ns4ralxgg731imd", + "fetchSubmodules": true + } +} diff --git a/scripts/make-env b/scripts/make-env new file mode 100755 index 00000000..ebb1eed2 --- /dev/null +++ b/scripts/make-env @@ -0,0 +1,11 @@ +#!/bin/bash + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" + +source $(dirname $DIR)/nix_path_env +nix-env -r -i -A myEnvironments.immae-eu -f "" "$@" + +cat >> $(dirname $DIR)/versions_log </dev/null 2>&1 && pwd )" + +source $(dirname $DIR)/nix_path_env +version=$(nix eval --raw nixpkgs.lib.version) +mainversion=$(echo $version | cut -d"." -f -2) + +echo "https://releases.nixos.org/nixos/$mainversion/nixos-$version/nixexprs.tar.xz" +nix eval --raw nixpkgs.bc.meta.position | cut -d"/" -f-4 -- 2.41.0