rubyneat_dashboard 0.4.0.alpha.6 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/.semver +2 -2
- data/.travis.yml +8 -0
- data/Gemfile +22 -7
- data/Gemfile.lock +156 -79
- data/README.rdoc +2 -0
- data/Rakefile +4 -4
- data/app/js/dashboard/directives/population_brigade.coffee +33 -15
- data/app/js/dashboard/directives/population_window.coffee +30 -2
- data/app/js/dashboard/services/population_drilldown_service.coffee +18 -0
- data/bower.json +33 -0
- data/bower_components/angular-animate/.bower.json +6 -5
- data/bower_components/angular-animate/README.md +28 -5
- data/bower_components/angular-animate/angular-animate.js +15 -2
- data/bower_components/angular-animate/angular-animate.min.js +23 -23
- data/bower_components/angular-animate/angular-animate.min.js.map +2 -2
- data/bower_components/angular-animate/bower.json +3 -2
- data/bower_components/angular-animate/package.json +26 -0
- data/bower_components/angular-pusher/.bower.json +4 -4
- data/bower_components/angular-pusher/README.md +3 -3
- data/bower_components/angular-pusher/angular-pusher.js +176 -26
- data/bower_components/angular-pusher/angular-pusher.min.js +1 -1
- data/bower_components/angular-pusher/bower.json +1 -1
- data/bower_components/angular-pusher/package.json +3 -3
- data/bower_components/angular-resource/.bower.json +6 -5
- data/bower_components/angular-resource/README.md +27 -4
- data/bower_components/angular-resource/angular-resource.js +11 -3
- data/bower_components/angular-resource/angular-resource.min.js +1 -1
- data/bower_components/angular-resource/angular-resource.min.js.map +1 -1
- data/bower_components/angular-resource/bower.json +3 -2
- data/bower_components/angular-resource/package.json +26 -0
- data/bower_components/angular-route/.bower.json +6 -5
- data/bower_components/angular-route/README.md +27 -4
- data/bower_components/angular-route/angular-route.js +2 -6
- data/bower_components/angular-route/angular-route.min.js +3 -3
- data/bower_components/angular-route/angular-route.min.js.map +1 -1
- data/bower_components/angular-route/bower.json +3 -2
- data/bower_components/angular-route/package.json +26 -0
- data/bower_components/angular-sanitize/.bower.json +6 -5
- data/bower_components/angular-sanitize/README.md +27 -4
- data/bower_components/angular-sanitize/angular-sanitize.js +12 -5
- data/bower_components/angular-sanitize/angular-sanitize.min.js +10 -10
- data/bower_components/angular-sanitize/angular-sanitize.min.js.map +1 -1
- data/bower_components/angular-sanitize/bower.json +3 -2
- data/bower_components/angular-sanitize/package.json +26 -0
- data/bower_components/angular-socket-io/.bower.json +7 -8
- data/bower_components/angular-socket-io/.travis.yml +4 -1
- data/bower_components/angular-socket-io/README.md +8 -1
- data/bower_components/angular-socket-io/bower-install.sh +2 -0
- data/bower_components/angular-socket-io/bower.json +3 -3
- data/bower_components/angular-socket-io/mock/socket-io.js +2 -1
- data/bower_components/angular-socket-io/package.json +2 -4
- data/bower_components/angular-socket-io/socket.js +7 -6
- data/bower_components/angular-socket-io/socket.min.js +2 -2
- data/bower_components/angular-socket-io/socket.min.js.map +1 -1
- data/bower_components/angular-socket-io/socket.spec.js +25 -0
- data/bower_components/angular/.bower.json +8 -6
- data/bower_components/angular/README.md +21 -5
- data/bower_components/angular/angular-csp.css +5 -8
- data/bower_components/angular/angular.js +17855 -11374
- data/bower_components/angular/angular.min.js +286 -210
- data/bower_components/angular/angular.min.js.gzip +0 -0
- data/bower_components/angular/angular.min.js.map +3 -3
- data/bower_components/angular/bower.json +2 -1
- data/bower_components/angular/index.js +2 -0
- data/bower_components/angular/package.json +25 -0
- data/bower_components/animate.css/.bower.json +12 -4
- data/bower_components/animate.css/Gruntfile.js +1 -1
- data/bower_components/animate.css/animate-config.json +18 -4
- data/bower_components/animate.css/animate.css +405 -258
- data/bower_components/animate.css/animate.min.css +1 -6
- data/bower_components/animate.css/bower.json +10 -2
- data/bower_components/animate.css/package.json +5 -1
- data/bower_components/animate.css/source/_base.css +11 -1
- data/bower_components/animate.css/source/attention_seekers/bounce.css +3 -3
- data/bower_components/animate.css/source/attention_seekers/jello.css +36 -0
- data/bower_components/animate.css/source/bouncing_entrances/bounceIn.css +1 -2
- data/bower_components/animate.css/source/bouncing_entrances/bounceInDown.css +1 -1
- data/bower_components/animate.css/source/bouncing_entrances/bounceInLeft.css +1 -1
- data/bower_components/animate.css/source/bouncing_entrances/bounceInRight.css +1 -1
- data/bower_components/animate.css/source/bouncing_entrances/bounceInUp.css +1 -1
- data/bower_components/animate.css/source/bouncing_exits/bounceOut.css +0 -1
- data/bower_components/animate.css/source/flippers/flipInX.css +2 -2
- data/bower_components/animate.css/source/flippers/flipInY.css +2 -2
- data/bower_components/animate.css/source/flippers/flipOutX.css +0 -1
- data/bower_components/animate.css/source/flippers/flipOutY.css +0 -1
- data/bower_components/animate.css/source/rotating_exits/rotateOutDownLeft.css +1 -1
- data/bower_components/animate.css/source/sliding_entrances/slideInDown.css +14 -0
- data/bower_components/animate.css/source/sliding_entrances/slideInLeft.css +14 -0
- data/bower_components/animate.css/source/sliding_entrances/slideInRight.css +14 -0
- data/bower_components/animate.css/source/sliding_entrances/slideInUp.css +14 -0
- data/bower_components/animate.css/source/sliding_exits/slideOutDown.css +14 -0
- data/bower_components/animate.css/source/sliding_exits/slideOutLeft.css +14 -0
- data/bower_components/animate.css/source/sliding_exits/slideOutRight.css +14 -0
- data/bower_components/animate.css/source/sliding_exits/slideOutUp.css +14 -0
- data/bower_components/d3/.bower.json +6 -4
- data/bower_components/d3/.gitattributes +5 -0
- data/bower_components/d3/CONTRIBUTING.md +3 -1
- data/bower_components/d3/LICENSE +1 -1
- data/bower_components/d3/README.md +1 -1
- data/bower_components/d3/bower.json +0 -0
- data/bower_components/d3/d3.js +0 -0
- data/bower_components/d3/d3.min.js +0 -0
- data/bower_components/d3/package.js +0 -0
- data/bower_components/fastclick/.bower.json +4 -4
- data/bower_components/fastclick/README.md +15 -8
- data/bower_components/fastclick/bower.json +0 -1
- data/bower_components/fastclick/lib/fastclick.js +669 -649
- data/bower_components/jquery-placeholder/.bower.json +20 -4
- data/bower_components/jquery-placeholder/bower.json +17 -1
- data/bower_components/jquery-placeholder/jquery.placeholder.js +18 -11
- data/bower_components/jquery-ui/.bower.json +6 -6
- data/bower_components/jquery-ui/.gitignore +1 -0
- data/bower_components/jquery-ui/AUTHORS.txt +29 -5
- data/bower_components/jquery-ui/{MIT-LICENSE.txt → LICENSE.txt} +23 -5
- data/bower_components/jquery-ui/bower.json +3 -1
- data/bower_components/jquery-ui/component.json +1 -1
- data/bower_components/jquery-ui/composer.json +6 -1
- data/bower_components/jquery-ui/jquery-ui.js +12497 -12030
- data/bower_components/jquery-ui/jquery-ui.min.js +11 -11
- data/bower_components/jquery-ui/package.json +8 -3
- data/bower_components/jquery-ui/themes/base/accordion.css +2 -2
- data/bower_components/jquery-ui/themes/base/all.css +2 -2
- data/bower_components/jquery-ui/themes/base/autocomplete.css +2 -2
- data/bower_components/jquery-ui/themes/base/base.css +2 -2
- data/bower_components/jquery-ui/themes/base/button.css +2 -2
- data/bower_components/jquery-ui/themes/base/core.css +3 -3
- data/bower_components/jquery-ui/themes/base/datepicker.css +3 -3
- data/bower_components/jquery-ui/themes/base/dialog.css +2 -2
- data/bower_components/jquery-ui/themes/base/draggable.css +2 -2
- data/bower_components/jquery-ui/themes/base/images/ui-icons_444444_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/base/images/ui-icons_555555_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/base/images/ui-icons_777620_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/base/images/ui-icons_777777_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/base/images/ui-icons_cc0000_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/base/images/ui-icons_ffffff_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/base/jquery-ui.css +1225 -0
- data/bower_components/jquery-ui/themes/base/jquery-ui.min.css +7 -0
- data/bower_components/jquery-ui/themes/base/menu.css +2 -2
- data/bower_components/jquery-ui/themes/base/progressbar.css +4 -4
- data/bower_components/jquery-ui/themes/base/resizable.css +2 -2
- data/bower_components/jquery-ui/themes/base/selectable.css +2 -2
- data/bower_components/jquery-ui/themes/base/selectmenu.css +2 -2
- data/bower_components/jquery-ui/themes/base/slider.css +3 -3
- data/bower_components/jquery-ui/themes/base/sortable.css +2 -2
- data/bower_components/jquery-ui/themes/base/spinner.css +2 -2
- data/bower_components/jquery-ui/themes/base/tabs.css +2 -2
- data/bower_components/jquery-ui/themes/base/theme.css +7 -7
- data/bower_components/jquery-ui/themes/base/tooltip.css +2 -2
- data/bower_components/jquery-ui/themes/black-tie/images/ui-bg_diagonals-thick_8_333333_40x40.png +0 -0
- data/bower_components/jquery-ui/themes/black-tie/images/ui-bg_flat_65_ffffff_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/black-tie/images/ui-bg_glass_40_111111_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/black-tie/images/ui-bg_glass_55_1c1c1c_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/black-tie/images/ui-bg_highlight-hard_100_f9f9f9_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/black-tie/images/ui-bg_highlight-hard_40_aaaaaa_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/black-tie/images/ui-bg_highlight-soft_50_aaaaaa_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/black-tie/images/ui-bg_inset-hard_45_cd0a0a_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/black-tie/images/ui-bg_inset-hard_55_ffeb80_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/black-tie/images/ui-icons_222222_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/black-tie/images/ui-icons_4ca300_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/black-tie/images/ui-icons_bbbbbb_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/black-tie/images/ui-icons_ededed_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/black-tie/images/ui-icons_ffcf29_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/black-tie/images/ui-icons_ffffff_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/black-tie/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/black-tie/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/black-tie/theme.css +7 -7
- data/bower_components/jquery-ui/themes/blitzer/images/ui-bg_diagonals-thick_75_f3d8d8_40x40.png +0 -0
- data/bower_components/jquery-ui/themes/blitzer/images/ui-bg_dots-small_65_a6a6a6_2x2.png +0 -0
- data/bower_components/jquery-ui/themes/blitzer/images/ui-bg_flat_0_333333_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/blitzer/images/ui-bg_flat_65_ffffff_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/blitzer/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/blitzer/images/ui-bg_glass_55_fbf8ee_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/blitzer/images/ui-bg_highlight-hard_100_eeeeee_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/blitzer/images/ui-bg_highlight-hard_100_f6f6f6_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/blitzer/images/ui-bg_highlight-soft_15_cc0000_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/blitzer/images/ui-icons_004276_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/blitzer/images/ui-icons_cc0000_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/blitzer/images/ui-icons_ffffff_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/blitzer/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/blitzer/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/blitzer/theme.css +7 -7
- data/bower_components/jquery-ui/themes/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png +0 -0
- data/bower_components/jquery-ui/themes/cupertino/images/ui-bg_flat_15_cd0a0a_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/cupertino/images/ui-bg_glass_50_3baae3_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/cupertino/images/ui-bg_glass_80_d7ebf9_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/cupertino/images/ui-icons_2694e8_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/cupertino/images/ui-icons_2e83ff_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/cupertino/images/ui-icons_3d80b3_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/cupertino/images/ui-icons_72a7cf_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/cupertino/images/ui-icons_ffffff_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/cupertino/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/cupertino/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/cupertino/theme.css +7 -7
- data/bower_components/jquery-ui/themes/dark-hive/images/ui-bg_flat_30_cccccc_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/dark-hive/images/ui-bg_flat_50_5c5c5c_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/dark-hive/images/ui-bg_glass_40_ffc73d_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/dark-hive/images/ui-bg_highlight-hard_20_0972a5_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/dark-hive/images/ui-bg_highlight-soft_33_003147_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/dark-hive/images/ui-bg_highlight-soft_35_222222_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/dark-hive/images/ui-bg_highlight-soft_44_444444_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/dark-hive/images/ui-bg_highlight-soft_80_eeeeee_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/dark-hive/images/ui-bg_loop_25_000000_21x21.png +0 -0
- data/bower_components/jquery-ui/themes/dark-hive/images/ui-icons_222222_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/dark-hive/images/ui-icons_4b8e0b_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/dark-hive/images/ui-icons_a83300_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/dark-hive/images/ui-icons_cccccc_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/dark-hive/images/ui-icons_ffffff_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/dark-hive/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/dark-hive/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/dark-hive/theme.css +7 -7
- data/bower_components/jquery-ui/themes/dot-luv/images/ui-bg_diagonals-thick_15_0b3e6f_40x40.png +0 -0
- data/bower_components/jquery-ui/themes/dot-luv/images/ui-bg_dots-medium_30_0b58a2_4x4.png +0 -0
- data/bower_components/jquery-ui/themes/dot-luv/images/ui-bg_dots-small_20_333333_2x2.png +0 -0
- data/bower_components/jquery-ui/themes/dot-luv/images/ui-bg_dots-small_30_a32d00_2x2.png +0 -0
- data/bower_components/jquery-ui/themes/dot-luv/images/ui-bg_dots-small_40_00498f_2x2.png +0 -0
- data/bower_components/jquery-ui/themes/dot-luv/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/dot-luv/images/ui-bg_flat_40_292929_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/dot-luv/images/ui-bg_gloss-wave_20_111111_500x100.png +0 -0
- data/bower_components/jquery-ui/themes/dot-luv/images/ui-icons_00498f_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/dot-luv/images/ui-icons_98d2fb_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/dot-luv/images/ui-icons_9ccdfc_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/dot-luv/images/ui-icons_ffffff_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/dot-luv/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/dot-luv/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/dot-luv/theme.css +7 -7
- data/bower_components/jquery-ui/themes/eggplant/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/eggplant/images/ui-bg_flat_0_eeeeee_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/eggplant/images/ui-bg_flat_55_994d53_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/eggplant/images/ui-bg_flat_55_fafafa_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/eggplant/images/ui-bg_gloss-wave_30_3d3644_500x100.png +0 -0
- data/bower_components/jquery-ui/themes/eggplant/images/ui-bg_highlight-soft_100_dcd9de_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/eggplant/images/ui-bg_highlight-soft_100_eae6ea_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/eggplant/images/ui-bg_highlight-soft_25_30273a_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/eggplant/images/ui-bg_highlight-soft_45_5f5964_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/eggplant/images/ui-icons_454545_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/eggplant/images/ui-icons_734d99_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/eggplant/images/ui-icons_8d78a5_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/eggplant/images/ui-icons_a8a3ae_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/eggplant/images/ui-icons_ebccce_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/eggplant/images/ui-icons_ffffff_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/eggplant/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/eggplant/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/eggplant/theme.css +7 -7
- data/bower_components/jquery-ui/themes/excite-bike/images/ui-bg_diagonals-small_25_c5ddfc_40x40.png +0 -0
- data/bower_components/jquery-ui/themes/excite-bike/images/ui-bg_diagonals-thick_20_e69700_40x40.png +0 -0
- data/bower_components/jquery-ui/themes/excite-bike/images/ui-bg_diagonals-thick_22_1484e6_40x40.png +0 -0
- data/bower_components/jquery-ui/themes/excite-bike/images/ui-bg_diagonals-thick_26_2293f7_40x40.png +0 -0
- data/bower_components/jquery-ui/themes/excite-bike/images/ui-bg_flat_0_e69700_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/excite-bike/images/ui-bg_flat_0_e6b900_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/excite-bike/images/ui-bg_highlight-soft_100_f9f9f9_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/excite-bike/images/ui-bg_inset-hard_100_eeeeee_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/excite-bike/images/ui-icons_0a82eb_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/excite-bike/images/ui-icons_0b54d5_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/excite-bike/images/ui-icons_5fa5e3_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/excite-bike/images/ui-icons_fcdd4a_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/excite-bike/images/ui-icons_ffffff_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/excite-bike/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/excite-bike/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/excite-bike/theme.css +7 -7
- data/bower_components/jquery-ui/themes/flick/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/flick/images/ui-bg_flat_0_eeeeee_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/flick/images/ui-bg_flat_55_ffffff_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/flick/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/flick/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/flick/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/flick/images/ui-bg_highlight-soft_25_0073ea_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/flick/images/ui-bg_highlight-soft_50_dddddd_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/flick/images/ui-icons_0073ea_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/flick/images/ui-icons_454545_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/flick/images/ui-icons_666666_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/flick/images/ui-icons_ff0084_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/flick/images/ui-icons_ffffff_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/flick/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/flick/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/flick/theme.css +7 -7
- data/bower_components/jquery-ui/themes/hot-sneaks/images/ui-bg_diagonals-small_40_db4865_40x40.png +0 -0
- data/bower_components/jquery-ui/themes/hot-sneaks/images/ui-bg_diagonals-small_50_93c3cd_40x40.png +0 -0
- data/bower_components/jquery-ui/themes/hot-sneaks/images/ui-bg_diagonals-small_50_ff3853_40x40.png +0 -0
- data/bower_components/jquery-ui/themes/hot-sneaks/images/ui-bg_diagonals-small_75_ccd232_40x40.png +0 -0
- data/bower_components/jquery-ui/themes/hot-sneaks/images/ui-bg_dots-medium_80_ffff38_4x4.png +0 -0
- data/bower_components/jquery-ui/themes/hot-sneaks/images/ui-bg_dots-small_35_35414f_2x2.png +0 -0
- data/bower_components/jquery-ui/themes/hot-sneaks/images/ui-bg_flat_75_ba9217_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/hot-sneaks/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/hot-sneaks/images/ui-bg_white-lines_85_f7f7ba_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/hot-sneaks/images/ui-icons_454545_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/hot-sneaks/images/ui-icons_88a206_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/hot-sneaks/images/ui-icons_c02669_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/hot-sneaks/images/ui-icons_e1e463_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/hot-sneaks/images/ui-icons_ffeb33_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/hot-sneaks/images/ui-icons_ffffff_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/hot-sneaks/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/hot-sneaks/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/hot-sneaks/theme.css +7 -7
- data/bower_components/jquery-ui/themes/humanity/images/ui-bg_flat_75_aaaaaa_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/humanity/images/ui-bg_glass_100_f5f0e5_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/humanity/images/ui-bg_glass_25_cb842e_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/humanity/images/ui-bg_glass_70_ede4d4_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/humanity/images/ui-bg_highlight-hard_100_f4f0ec_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/humanity/images/ui-bg_highlight-hard_65_fee4bd_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/humanity/images/ui-bg_highlight-hard_75_f5f5b5_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/humanity/images/ui-bg_inset-soft_100_f4f0ec_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/humanity/images/ui-icons_c47a23_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/humanity/images/ui-icons_cb672b_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/humanity/images/ui-icons_f08000_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/humanity/images/ui-icons_f35f07_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/humanity/images/ui-icons_ff7519_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/humanity/images/ui-icons_ffffff_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/humanity/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/humanity/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/humanity/theme.css +7 -7
- data/bower_components/jquery-ui/themes/le-frog/images/ui-bg_diagonals-small_0_aaaaaa_40x40.png +0 -0
- data/bower_components/jquery-ui/themes/le-frog/images/ui-bg_diagonals-thick_15_444444_40x40.png +0 -0
- data/bower_components/jquery-ui/themes/le-frog/images/ui-bg_diagonals-thick_95_ffdc2e_40x40.png +0 -0
- data/bower_components/jquery-ui/themes/le-frog/images/ui-bg_glass_55_fbf5d0_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/le-frog/images/ui-bg_highlight-hard_30_285c00_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/le-frog/images/ui-bg_highlight-soft_33_3a8104_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/le-frog/images/ui-bg_highlight-soft_50_4eb305_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/le-frog/images/ui-bg_highlight-soft_60_4ca20b_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/le-frog/images/ui-bg_inset-soft_10_285c00_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/le-frog/images/ui-icons_4eb305_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/le-frog/images/ui-icons_72b42d_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/le-frog/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/le-frog/images/ui-icons_ffffff_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/le-frog/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/le-frog/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/le-frog/theme.css +7 -7
- data/bower_components/jquery-ui/themes/mint-choc/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/mint-choc/images/ui-bg_glass_15_5f391b_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/mint-choc/images/ui-bg_gloss-wave_20_1c160d_500x100.png +0 -0
- data/bower_components/jquery-ui/themes/mint-choc/images/ui-bg_gloss-wave_25_453326_500x100.png +0 -0
- data/bower_components/jquery-ui/themes/mint-choc/images/ui-bg_gloss-wave_30_44372c_500x100.png +0 -0
- data/bower_components/jquery-ui/themes/mint-choc/images/ui-bg_highlight-soft_20_201913_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/mint-choc/images/ui-bg_highlight-soft_20_619226_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/mint-choc/images/ui-bg_inset-soft_10_201913_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/mint-choc/images/ui-icons_222222_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/mint-choc/images/ui-icons_9bcc60_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/mint-choc/images/ui-icons_add978_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/mint-choc/images/ui-icons_e3ddc9_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/mint-choc/images/ui-icons_f1fd86_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/mint-choc/images/ui-icons_ffffff_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/mint-choc/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/mint-choc/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/mint-choc/theme.css +7 -7
- data/bower_components/jquery-ui/themes/overcast/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/overcast/images/ui-bg_flat_0_eeeeee_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/overcast/images/ui-bg_flat_55_c0402a_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/overcast/images/ui-bg_flat_55_eeeeee_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/overcast/images/ui-bg_glass_100_f8f8f8_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/overcast/images/ui-bg_glass_35_dddddd_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/overcast/images/ui-bg_glass_60_eeeeee_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/overcast/images/ui-bg_inset-hard_75_999999_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/overcast/images/ui-bg_inset-soft_50_c9c9c9_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/overcast/images/ui-icons_3383bb_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/overcast/images/ui-icons_454545_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/overcast/images/ui-icons_70b2e1_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/overcast/images/ui-icons_999999_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/overcast/images/ui-icons_fbc856_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/overcast/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/overcast/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/overcast/theme.css +7 -7
- data/bower_components/jquery-ui/themes/pepper-grinder/images/ui-bg_diagonal-maze_20_6e4f1c_10x10.png +0 -0
- data/bower_components/jquery-ui/themes/pepper-grinder/images/ui-bg_diagonal-maze_40_000000_10x10.png +0 -0
- data/bower_components/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_10_eceadf_60x60.png +0 -0
- data/bower_components/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_10_f8f7f6_60x60.png +0 -0
- data/bower_components/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_15_eceadf_60x60.png +0 -0
- data/bower_components/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_15_f7f3de_60x60.png +0 -0
- data/bower_components/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_15_ffffff_60x60.png +0 -0
- data/bower_components/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_65_654b24_60x60.png +0 -0
- data/bower_components/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_68_b83400_60x60.png +0 -0
- data/bower_components/jquery-ui/themes/pepper-grinder/images/ui-icons_222222_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/pepper-grinder/images/ui-icons_3572ac_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/pepper-grinder/images/ui-icons_8c291d_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/pepper-grinder/images/ui-icons_b83400_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/pepper-grinder/images/ui-icons_fbdb93_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/pepper-grinder/images/ui-icons_ffffff_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/pepper-grinder/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/pepper-grinder/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/pepper-grinder/theme.css +7 -7
- data/bower_components/jquery-ui/themes/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/redmond/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/redmond/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/redmond/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
- data/bower_components/jquery-ui/themes/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/redmond/images/ui-icons_217bc0_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/redmond/images/ui-icons_2e83ff_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/redmond/images/ui-icons_469bdd_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/redmond/images/ui-icons_6da8d5_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/redmond/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/redmond/images/ui-icons_d8e7f3_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/redmond/images/ui-icons_f9bd01_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/redmond/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/redmond/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/redmond/theme.css +7 -7
- data/bower_components/jquery-ui/themes/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/smoothness/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/smoothness/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/smoothness/theme.css +7 -7
- data/bower_components/jquery-ui/themes/south-street/images/ui-bg_glass_55_fcf0ba_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/south-street/images/ui-bg_gloss-wave_100_ece8da_500x100.png +0 -0
- data/bower_components/jquery-ui/themes/south-street/images/ui-bg_highlight-hard_100_f5f3e5_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/south-street/images/ui-bg_highlight-hard_100_fafaf4_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/south-street/images/ui-bg_highlight-hard_15_459e00_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/south-street/images/ui-bg_highlight-hard_95_cccccc_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/south-street/images/ui-bg_highlight-soft_25_67b021_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/south-street/images/ui-bg_highlight-soft_95_ffedad_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/south-street/images/ui-bg_inset-soft_15_2b2922_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/south-street/images/ui-icons_808080_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/south-street/images/ui-icons_847e71_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/south-street/images/ui-icons_8DC262_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/south-street/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/south-street/images/ui-icons_eeeeee_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/south-street/images/ui-icons_ffffff_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/south-street/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/south-street/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/south-street/theme.css +7 -7
- data/bower_components/jquery-ui/themes/start/images/ui-bg_flat_55_999999_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/start/images/ui-bg_flat_75_aaaaaa_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/start/images/ui-bg_glass_45_0078ae_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/start/images/ui-bg_glass_55_f8da4e_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/start/images/ui-bg_glass_75_79c9ec_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/start/images/ui-bg_gloss-wave_45_e14f1c_500x100.png +0 -0
- data/bower_components/jquery-ui/themes/start/images/ui-bg_gloss-wave_50_6eac2c_500x100.png +0 -0
- data/bower_components/jquery-ui/themes/start/images/ui-bg_gloss-wave_75_2191c0_500x100.png +0 -0
- data/bower_components/jquery-ui/themes/start/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/start/images/ui-icons_0078ae_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/start/images/ui-icons_056b93_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/start/images/ui-icons_d8e7f3_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/start/images/ui-icons_e0fdff_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/start/images/ui-icons_f5e175_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/start/images/ui-icons_f7a50d_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/start/images/ui-icons_fcd113_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/start/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/start/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/start/theme.css +7 -7
- data/bower_components/jquery-ui/themes/sunny/images/ui-bg_diagonals-medium_20_d34d17_40x40.png +0 -0
- data/bower_components/jquery-ui/themes/sunny/images/ui-bg_flat_30_cccccc_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/sunny/images/ui-bg_flat_50_5c5c5c_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/sunny/images/ui-bg_gloss-wave_45_817865_500x100.png +0 -0
- data/bower_components/jquery-ui/themes/sunny/images/ui-bg_gloss-wave_60_fece2f_500x100.png +0 -0
- data/bower_components/jquery-ui/themes/sunny/images/ui-bg_gloss-wave_70_ffdd57_500x100.png +0 -0
- data/bower_components/jquery-ui/themes/sunny/images/ui-bg_gloss-wave_90_fff9e5_500x100.png +0 -0
- data/bower_components/jquery-ui/themes/sunny/images/ui-bg_highlight-soft_100_feeebd_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/sunny/images/ui-bg_inset-soft_30_ffffff_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/sunny/images/ui-icons_3d3d3d_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/sunny/images/ui-icons_bd7b00_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/sunny/images/ui-icons_d19405_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/sunny/images/ui-icons_eb990f_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/sunny/images/ui-icons_ed9f26_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/sunny/images/ui-icons_fadc7a_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/sunny/images/ui-icons_ffe180_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/sunny/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/sunny/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/sunny/theme.css +7 -7
- data/bower_components/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_10_4f4221_10x8.png +0 -0
- data/bower_components/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_20_372806_10x8.png +0 -0
- data/bower_components/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_25_675423_10x8.png +0 -0
- data/bower_components/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_25_d5ac5d_10x8.png +0 -0
- data/bower_components/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_8_261803_10x8.png +0 -0
- data/bower_components/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_8_443113_10x8.png +0 -0
- data/bower_components/jquery-ui/themes/swanky-purse/images/ui-bg_flat_75_ddd4b0_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/swanky-purse/images/ui-bg_highlight-hard_65_fee4bd_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/swanky-purse/images/ui-icons_070603_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/swanky-purse/images/ui-icons_e8e2b5_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/swanky-purse/images/ui-icons_e9cd86_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/swanky-purse/images/ui-icons_efec9f_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/swanky-purse/images/ui-icons_f2ec64_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/swanky-purse/images/ui-icons_f9f2bd_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/swanky-purse/images/ui-icons_ff7519_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/swanky-purse/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/swanky-purse/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/swanky-purse/theme.css +7 -7
- data/bower_components/jquery-ui/themes/trontastic/images/ui-bg_diagonals-small_50_262626_40x40.png +0 -0
- data/bower_components/jquery-ui/themes/trontastic/images/ui-bg_flat_0_303030_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/trontastic/images/ui-bg_flat_0_4c4c4c_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/trontastic/images/ui-bg_glass_40_0a0a0a_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/trontastic/images/ui-bg_glass_55_f1fbe5_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/trontastic/images/ui-bg_glass_60_000000_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/trontastic/images/ui-bg_gloss-wave_55_000000_500x100.png +0 -0
- data/bower_components/jquery-ui/themes/trontastic/images/ui-bg_gloss-wave_85_9fda58_500x100.png +0 -0
- data/bower_components/jquery-ui/themes/trontastic/images/ui-bg_gloss-wave_95_f6ecd5_500x100.png +0 -0
- data/bower_components/jquery-ui/themes/trontastic/images/ui-icons_000000_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/trontastic/images/ui-icons_1f1f1f_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/trontastic/images/ui-icons_9fda58_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/trontastic/images/ui-icons_b8ec79_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/trontastic/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/trontastic/images/ui-icons_ffffff_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/trontastic/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/trontastic/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/trontastic/theme.css +7 -7
- data/bower_components/jquery-ui/themes/ui-darkness/images/ui-bg_flat_30_cccccc_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/ui-darkness/images/ui-bg_flat_50_5c5c5c_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/ui-darkness/images/ui-bg_glass_20_555555_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/ui-darkness/images/ui-bg_glass_40_0078a3_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/ui-darkness/images/ui-bg_glass_40_ffc73d_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/ui-darkness/images/ui-bg_gloss-wave_25_333333_500x100.png +0 -0
- data/bower_components/jquery-ui/themes/ui-darkness/images/ui-bg_highlight-soft_80_eeeeee_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/ui-darkness/images/ui-bg_inset-soft_25_000000_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/ui-darkness/images/ui-bg_inset-soft_30_f58400_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/ui-darkness/images/ui-icons_222222_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/ui-darkness/images/ui-icons_4b8e0b_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/ui-darkness/images/ui-icons_a83300_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/ui-darkness/images/ui-icons_cccccc_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/ui-darkness/images/ui-icons_ffffff_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/ui-darkness/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/ui-darkness/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/ui-darkness/theme.css +7 -7
- data/bower_components/jquery-ui/themes/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
- data/bower_components/jquery-ui/themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
- data/bower_components/jquery-ui/themes/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
- data/bower_components/jquery-ui/themes/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/ui-lightness/images/ui-icons_ef8c08_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/ui-lightness/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/ui-lightness/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/ui-lightness/theme.css +7 -7
- data/bower_components/jquery-ui/themes/vader/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/bower_components/jquery-ui/themes/vader/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/bower_components/jquery-ui/themes/vader/images/ui-bg_gloss-wave_16_121212_500x100.png +0 -0
- data/bower_components/jquery-ui/themes/vader/images/ui-bg_highlight-hard_15_888888_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/vader/images/ui-bg_highlight-hard_55_555555_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/vader/images/ui-bg_highlight-soft_35_adadad_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/vader/images/ui-bg_highlight-soft_60_dddddd_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/vader/images/ui-bg_inset-soft_15_121212_1x100.png +0 -0
- data/bower_components/jquery-ui/themes/vader/images/ui-icons_666666_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/vader/images/ui-icons_aaaaaa_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/vader/images/ui-icons_bbbbbb_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/vader/images/ui-icons_c98000_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/vader/images/ui-icons_cccccc_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/vader/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/vader/images/ui-icons_f29a00_256x240.png +0 -0
- data/bower_components/jquery-ui/themes/vader/jquery-ui.css +12 -12
- data/bower_components/jquery-ui/themes/vader/jquery-ui.min.css +3 -3
- data/bower_components/jquery-ui/themes/vader/theme.css +7 -7
- data/bower_components/jquery-ui/ui/accordion.js +24 -9
- data/bower_components/jquery-ui/ui/autocomplete.js +7 -5
- data/bower_components/jquery-ui/ui/button.js +4 -4
- data/bower_components/jquery-ui/ui/core.js +8 -7
- data/bower_components/jquery-ui/ui/datepicker.js +30 -19
- data/bower_components/jquery-ui/ui/dialog.js +26 -8
- data/bower_components/jquery-ui/ui/draggable.js +331 -215
- data/bower_components/jquery-ui/ui/droppable.js +10 -13
- data/bower_components/jquery-ui/ui/effect-blind.js +2 -2
- data/bower_components/jquery-ui/ui/effect-bounce.js +2 -2
- data/bower_components/jquery-ui/ui/effect-clip.js +2 -2
- data/bower_components/jquery-ui/ui/effect-drop.js +3 -3
- data/bower_components/jquery-ui/ui/effect-explode.js +2 -2
- data/bower_components/jquery-ui/ui/effect-fade.js +2 -2
- data/bower_components/jquery-ui/ui/effect-fold.js +2 -2
- data/bower_components/jquery-ui/ui/effect-highlight.js +2 -2
- data/bower_components/jquery-ui/ui/effect-puff.js +2 -2
- data/bower_components/jquery-ui/ui/effect-pulsate.js +2 -2
- data/bower_components/jquery-ui/ui/effect-scale.js +2 -2
- data/bower_components/jquery-ui/ui/effect-shake.js +2 -2
- data/bower_components/jquery-ui/ui/effect-size.js +2 -2
- data/bower_components/jquery-ui/ui/effect-slide.js +2 -2
- data/bower_components/jquery-ui/ui/effect-transfer.js +2 -2
- data/bower_components/jquery-ui/ui/effect.js +10 -6
- data/bower_components/jquery-ui/ui/i18n/datepicker-af.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-ar-DZ.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-ar.js +7 -6
- data/bower_components/jquery-ui/ui/i18n/datepicker-az.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-be.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-bg.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-bs.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-ca.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-cs.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-cy-GB.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-da.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-de.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-el.js +1 -1
- data/bower_components/jquery-ui/ui/i18n/datepicker-en-AU.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-en-GB.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-en-NZ.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-eo.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-es.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-et.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-eu.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-fa.js +12 -12
- data/bower_components/jquery-ui/ui/i18n/datepicker-fi.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-fo.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-fr-CA.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-fr-CH.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-fr.js +1 -1
- data/bower_components/jquery-ui/ui/i18n/datepicker-gl.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-he.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-hi.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-hr.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-hu.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-hy.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-id.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-is.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-it-CH.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-it.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-ja.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-ka.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-kk.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-km.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-ko.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-ky.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-lb.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-lt.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-lv.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-mk.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-ml.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-ms.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-nb.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-nl-BE.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-nl.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-nn.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-no.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-pl.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-pt-BR.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-pt.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-rm.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-ro.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-ru.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-sk.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-sl.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-sq.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-sr-SR.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-sr.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-sv.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-ta.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-th.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-tj.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-tr.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-uk.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-vi.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-zh-CN.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-zh-HK.js +0 -0
- data/bower_components/jquery-ui/ui/i18n/datepicker-zh-TW.js +0 -0
- data/bower_components/jquery-ui/ui/menu.js +29 -23
- data/bower_components/jquery-ui/ui/minified/accordion.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/autocomplete.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/button.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/core.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/datepicker.min.js +4 -4
- data/bower_components/jquery-ui/ui/minified/dialog.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/draggable.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/droppable.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/effect-blind.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/effect-bounce.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/effect-clip.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/effect-drop.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/effect-explode.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/effect-fade.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/effect-fold.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/effect-highlight.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/effect-puff.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/effect-pulsate.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/effect-scale.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/effect-shake.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/effect-size.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/effect-slide.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/effect-transfer.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/effect.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-af.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-ar-DZ.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-ar.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-az.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-be.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-bg.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-bs.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-ca.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-cs.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-cy-GB.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-da.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-de.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-el.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-en-AU.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-en-GB.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-en-NZ.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-eo.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-es.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-et.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-eu.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-fa.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-fi.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-fo.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-fr-CA.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-fr-CH.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-fr.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-gl.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-he.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-hi.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-hr.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-hu.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-hy.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-id.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-is.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-it-CH.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-it.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-ja.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-ka.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-kk.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-km.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-ko.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-ky.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-lb.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-lt.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-lv.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-mk.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-ml.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-ms.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-nb.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-nl-BE.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-nl.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-nn.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-no.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-pl.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-pt-BR.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-pt.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-rm.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-ro.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-ru.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-sk.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-sl.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-sq.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-sr-SR.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-sr.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-sv.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-ta.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-th.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-tj.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-tr.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-uk.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-vi.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-zh-CN.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-zh-HK.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/i18n/datepicker-zh-TW.min.js +2 -2
- data/bower_components/jquery-ui/ui/minified/menu.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/mouse.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/position.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/progressbar.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/resizable.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/selectable.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/selectmenu.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/slider.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/sortable.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/spinner.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/tabs.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/tooltip.min.js +3 -3
- data/bower_components/jquery-ui/ui/minified/widget.min.js +3 -3
- data/bower_components/jquery-ui/ui/mouse.js +21 -9
- data/bower_components/jquery-ui/ui/position.js +9 -6
- data/bower_components/jquery-ui/ui/progressbar.js +3 -3
- data/bower_components/jquery-ui/ui/resizable.js +290 -166
- data/bower_components/jquery-ui/ui/selectable.js +3 -3
- data/bower_components/jquery-ui/ui/selectmenu.js +74 -14
- data/bower_components/jquery-ui/ui/slider.js +34 -5
- data/bower_components/jquery-ui/ui/sortable.js +56 -51
- data/bower_components/jquery-ui/ui/spinner.js +3 -3
- data/bower_components/jquery-ui/ui/tabs.js +57 -37
- data/bower_components/jquery-ui/ui/tooltip.js +58 -29
- data/bower_components/jquery-ui/ui/widget.js +30 -15
- data/bower_components/jquery/.bower.json +7 -6
- data/bower_components/jquery/bower.json +3 -2
- data/bower_components/jquery/dist/jquery.js +283 -263
- data/bower_components/jquery/dist/jquery.min.js +4 -4
- data/bower_components/jquery/dist/jquery.min.map +1 -1
- data/bower_components/jquery/src/ajax.js +11 -31
- data/bower_components/jquery/src/ajax/xhr.js +3 -2
- data/bower_components/jquery/src/attributes/attr.js +0 -2
- data/bower_components/jquery/src/attributes/classes.js +4 -4
- data/bower_components/jquery/src/attributes/prop.js +1 -3
- data/bower_components/jquery/src/attributes/support.js +8 -8
- data/bower_components/jquery/src/attributes/val.js +3 -5
- data/bower_components/jquery/src/core.js +12 -8
- data/bower_components/jquery/src/core/init.js +3 -3
- data/bower_components/jquery/src/core/ready.js +1 -1
- data/bower_components/jquery/src/css.js +28 -29
- data/bower_components/jquery/src/css/addGetHookIf.js +2 -4
- data/bower_components/jquery/src/css/curCSS.js +1 -1
- data/bower_components/jquery/src/css/defaultDisplay.js +1 -1
- data/bower_components/jquery/src/css/support.js +5 -0
- data/bower_components/jquery/src/css/var/getStyles.js +8 -1
- data/bower_components/jquery/src/data.js +10 -11
- data/bower_components/jquery/src/data/Data.js +3 -3
- data/bower_components/jquery/src/deferred.js +2 -2
- data/bower_components/jquery/src/dimensions.js +1 -1
- data/bower_components/jquery/src/effects.js +29 -30
- data/bower_components/jquery/src/effects/Tween.js +7 -7
- data/bower_components/jquery/src/event.js +5 -5
- data/bower_components/jquery/src/event/ajax.js +13 -0
- data/bower_components/jquery/src/exports/global.js +2 -2
- data/bower_components/jquery/src/intro.js +8 -8
- data/bower_components/jquery/src/jquery.js +1 -0
- data/bower_components/jquery/src/manipulation.js +9 -11
- data/bower_components/jquery/src/manipulation/support.js +6 -5
- data/bower_components/jquery/src/offset.js +9 -6
- data/bower_components/jquery/src/queue.js +3 -3
- data/bower_components/jquery/src/sizzle/dist/sizzle.js +83 -60
- data/bower_components/jquery/src/sizzle/dist/sizzle.min.js +3 -3
- data/bower_components/jquery/src/sizzle/dist/sizzle.min.map +1 -1
- data/bower_components/jquery/src/traversing.js +3 -4
- data/bower_components/jquery/src/wrap.js +1 -0
- data/bower_components/underscore/.bower.json +9 -7
- data/bower_components/underscore/LICENSE +1 -1
- data/bower_components/underscore/bower.json +2 -3
- data/bower_components/underscore/underscore-min.js +6 -0
- data/bower_components/underscore/underscore-min.map +1 -0
- data/bower_components/underscore/underscore.js +756 -551
- data/lib/rubyneat_dashboard.rb +27 -4
- data/lib/rubyneat_dashboard/main.rb +15 -10
- data/lib/rubyneat_dashboard/rubyneat_api.rb +9 -0
- data/lib/rubyneat_dashboard/rubyneat_dsl.rb +12 -1
- data/rubyneat_dashboard.gemspec +93 -44
- data/views/home.haml +0 -5
- data/views/json/population.rabl +5 -0
- data/views/json/population/critter/genotype.rabl +9 -0
- data/views/json/population/critter/phenotype.rabl +2 -0
- data/views/layout.haml +1 -1
- data/views/population/home.haml +1 -2
- metadata +201 -42
- data/bower_components/animate.css/.editorconfig +0 -11
- data/bower_components/animate.css/.gitignore +0 -4
- data/bower_components/animate.css/README.md +0 -73
- data/bower_components/d3/.spmignore +0 -4
- data/bower_components/d3/composer.json +0 -19
- data/bower_components/jquery-placeholder/.gitattributes +0 -1
- data/bower_components/jquery-placeholder/.gitignore +0 -1
- data/bower_components/jquery-placeholder/LICENSE-MIT.txt +0 -20
- data/bower_components/jquery-placeholder/README.md +0 -76
- data/bower_components/jquery-placeholder/demo.html +0 -55
- data/bower_components/jquery-placeholder/tests/index.html +0 -32
- data/bower_components/jquery-placeholder/tests/tests.js +0 -134
- data/bower_components/jquery-ui/themes/base/images/animated-overlay.gif +0 -0
- data/bower_components/underscore/.editorconfig +0 -14
- data/bower_components/underscore/.gitignore +0 -2
- data/bower_components/underscore/component.json +0 -10
- data/bower_components/underscore/package.json +0 -27
@@ -1,3 +1,3 @@
|
|
1
|
-
/*! Sizzle
|
2
|
-
!function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=lb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=mb(b);function pb(){}pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fb.error(a):z(a,i).slice(0)};function qb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),"function"==typeof define&&define.amd?define(function(){return fb}):"undefined"!=typeof module&&module.exports?module.exports=fb:a.Sizzle=fb}(window);
|
3
|
-
//# sourceMappingURL=
|
1
|
+
/*! Sizzle v2.2.0-pre | (c) 2008, 2014 jQuery Foundation, Inc. | jquery.org/license */
|
2
|
+
!function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=mb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=nb(b);function qb(){}qb.prototype=d.filters=d.pseudos,d.setFilters=new qb,g=gb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?gb.error(a):z(a,i).slice(0)};function rb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),"function"==typeof define&&define.amd?define(function(){return gb}):"undefined"!=typeof module&&module.exports?module.exports=gb:a.Sizzle=gb}(window);
|
3
|
+
//# sourceMappingURL=sizzle.min.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sizzle.min.js","sources":["sizzle.js"],"names":["window","i","support","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","document","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","matches","contains","expando","Date","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","strundefined","MAX_NEGATIVE","hasOwn","hasOwnProperty","arr","pop","push_native","push","slice","indexOf","elem","len","this","length","booleans","whitespace","characterEncoding","identifier","replace","attributes","pseudos","rtrim","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","rescape","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","apply","call","childNodes","nodeType","e","target","els","j","Sizzle","selector","context","results","seed","match","m","groups","old","nid","newContext","newSelector","ownerDocument","exec","getElementById","parentNode","id","getElementsByTagName","getElementsByClassName","qsa","test","nodeName","toLowerCase","getAttribute","setAttribute","toSelector","testContext","join","querySelectorAll","qsaError","removeAttribute","keys","cache","key","value","cacheLength","shift","markFunction","fn","assert","div","createElement","removeChild","addHandle","attrs","handler","split","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","type","name","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","documentElement","node","hasCompare","doc","parent","defaultView","top","addEventListener","attachEvent","className","appendChild","createComment","innerHTML","firstChild","getById","getElementsByName","find","filter","attrId","getAttributeNode","tag","tmp","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","ret","attr","val","undefined","specified","error","msg","Error","uniqueSort","duplicates","detectDuplicates","sortStable","sort","splice","textContent","nodeValue","selectors","createPseudo","relative",">","dir","first"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","last","simple","forward","ofType","xml","outerCache","nodeIndex","start","useCache","lastChild","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","text","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","disabled","checked","selected","selectedIndex","empty","header","button","eq","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","prototype","filters","parseOnly","tokens","soFar","preFilters","cached","addCombinator","combinator","base","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","map","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","elems","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","concat","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","Math","random","token","compiled","div1","defaultValue","define","amd","module","exports"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"sizzle.min.js","sources":["sizzle.js"],"names":["window","i","support","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","document","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","matches","contains","expando","Date","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","MAX_NEGATIVE","hasOwn","hasOwnProperty","arr","pop","push_native","push","slice","indexOf","list","elem","len","length","booleans","whitespace","characterEncoding","identifier","replace","attributes","pseudos","rwhitespace","RegExp","rtrim","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","rescape","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","unloadHandler","apply","call","childNodes","nodeType","e","target","els","j","Sizzle","selector","context","results","seed","match","m","groups","old","nid","newContext","newSelector","ownerDocument","exec","getElementById","parentNode","id","getElementsByTagName","getElementsByClassName","qsa","test","nodeName","toLowerCase","getAttribute","setAttribute","toSelector","testContext","join","querySelectorAll","qsaError","removeAttribute","keys","cache","key","value","cacheLength","shift","markFunction","fn","assert","div","createElement","removeChild","addHandle","attrs","handler","split","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","type","name","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","documentElement","node","hasCompare","parent","doc","defaultView","top","addEventListener","attachEvent","className","appendChild","createComment","getById","getElementsByName","find","filter","attrId","getAttributeNode","tag","tmp","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","ret","attr","val","undefined","specified","error","msg","Error","uniqueSort","duplicates","detectDuplicates","sortStable","sort","splice","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">","dir","first"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","last","simple","forward","ofType","xml","outerCache","nodeIndex","start","useCache","lastChild","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","text","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","disabled","checked","selected","selectedIndex","empty","header","button","eq","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","prototype","filters","parseOnly","tokens","soFar","preFilters","cached","addCombinator","combinator","base","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","map","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","elems","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","concat","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","Math","random","token","compiled","div1","defaultValue","define","amd","module","exports"],"mappings":"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"}
|
@@ -8,7 +8,7 @@ define([
|
|
8
8
|
], function( jQuery, indexOf, rneedsContext ) {
|
9
9
|
|
10
10
|
var rparentsprev = /^(?:parents|prev(?:Until|All))/,
|
11
|
-
//
|
11
|
+
// Methods guaranteed to produce a unique set when starting from a unique set
|
12
12
|
guaranteedUnique = {
|
13
13
|
children: true,
|
14
14
|
contents: true,
|
@@ -88,8 +88,7 @@ jQuery.fn.extend({
|
|
88
88
|
return this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched );
|
89
89
|
},
|
90
90
|
|
91
|
-
// Determine the position of an element within
|
92
|
-
// the matched set of elements
|
91
|
+
// Determine the position of an element within the set
|
93
92
|
index: function( elem ) {
|
94
93
|
|
95
94
|
// No argument, return index in parent
|
@@ -97,7 +96,7 @@ jQuery.fn.extend({
|
|
97
96
|
return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
|
98
97
|
}
|
99
98
|
|
100
|
-
//
|
99
|
+
// Index in selector
|
101
100
|
if ( typeof elem === "string" ) {
|
102
101
|
return indexOf.call( jQuery( elem ), this[ 0 ] );
|
103
102
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "underscore",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.8.3",
|
4
4
|
"main": "underscore.js",
|
5
5
|
"keywords": [
|
6
6
|
"util",
|
@@ -10,22 +10,24 @@
|
|
10
10
|
"browser"
|
11
11
|
],
|
12
12
|
"ignore": [
|
13
|
-
"underscore-min.js",
|
14
13
|
"docs",
|
15
14
|
"test",
|
16
15
|
"*.yml",
|
17
|
-
"*.map",
|
18
16
|
"CNAME",
|
19
17
|
"index.html",
|
20
18
|
"favicon.ico",
|
21
|
-
"CONTRIBUTING.md"
|
19
|
+
"CONTRIBUTING.md",
|
20
|
+
".*",
|
21
|
+
"component.json",
|
22
|
+
"package.json",
|
23
|
+
"karma.*"
|
22
24
|
],
|
23
25
|
"homepage": "https://github.com/jashkenas/underscore",
|
24
|
-
"_release": "1.
|
26
|
+
"_release": "1.8.3",
|
25
27
|
"_resolution": {
|
26
28
|
"type": "version",
|
27
|
-
"tag": "1.
|
28
|
-
"commit": "
|
29
|
+
"tag": "1.8.3",
|
30
|
+
"commit": "e4743ab712b8ab42ad4ccb48b155034d02394e4d"
|
29
31
|
},
|
30
32
|
"_source": "git://github.com/jashkenas/underscore.git",
|
31
33
|
"_target": ">=1.5",
|
@@ -1,8 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "underscore",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.8.3",
|
4
4
|
"main": "underscore.js",
|
5
5
|
"keywords": ["util", "functional", "server", "client", "browser"],
|
6
|
-
"ignore" : ["
|
7
|
-
"CNAME", "index.html", "favicon.ico", "CONTRIBUTING.md"]
|
6
|
+
"ignore" : ["docs", "test", "*.yml", "CNAME", "index.html", "favicon.ico", "CONTRIBUTING.md", ".*", "component.json", "package.json", "karma.*"]
|
8
7
|
}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
// Underscore.js 1.8.3
|
2
|
+
// http://underscorejs.org
|
3
|
+
// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
4
|
+
// Underscore may be freely distributed under the MIT license.
|
5
|
+
(function(){function n(n){function t(t,r,e,u,i,o){for(;i>=0&&o>i;i+=n){var a=u?u[i]:i;e=r(e,t[a],a,t)}return e}return function(r,e,u,i){e=b(e,i,4);var o=!k(r)&&m.keys(r),a=(o||r).length,c=n>0?0:a-1;return arguments.length<3&&(u=r[o?o[c]:c],c+=n),t(r,e,u,o,c,a)}}function t(n){return function(t,r,e){r=x(r,e);for(var u=O(t),i=n>0?0:u-1;i>=0&&u>i;i+=n)if(r(t[i],i,t))return i;return-1}}function r(n,t,r){return function(e,u,i){var o=0,a=O(e);if("number"==typeof i)n>0?o=i>=0?i:Math.max(i+a,o):a=i>=0?Math.min(i+1,a):i+a+1;else if(r&&i&&a)return i=r(e,u),e[i]===u?i:-1;if(u!==u)return i=t(l.call(e,o,a),m.isNaN),i>=0?i+o:-1;for(i=n>0?o:a-1;i>=0&&a>i;i+=n)if(e[i]===u)return i;return-1}}function e(n,t){var r=I.length,e=n.constructor,u=m.isFunction(e)&&e.prototype||a,i="constructor";for(m.has(n,i)&&!m.contains(t,i)&&t.push(i);r--;)i=I[r],i in n&&n[i]!==u[i]&&!m.contains(t,i)&&t.push(i)}var u=this,i=u._,o=Array.prototype,a=Object.prototype,c=Function.prototype,f=o.push,l=o.slice,s=a.toString,p=a.hasOwnProperty,h=Array.isArray,v=Object.keys,g=c.bind,y=Object.create,d=function(){},m=function(n){return n instanceof m?n:this instanceof m?void(this._wrapped=n):new m(n)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=m),exports._=m):u._=m,m.VERSION="1.8.3";var b=function(n,t,r){if(t===void 0)return n;switch(null==r?3:r){case 1:return function(r){return n.call(t,r)};case 2:return function(r,e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,i){return n.call(t,r,e,u,i)}}return function(){return n.apply(t,arguments)}},x=function(n,t,r){return null==n?m.identity:m.isFunction(n)?b(n,t,r):m.isObject(n)?m.matcher(n):m.property(n)};m.iteratee=function(n,t){return x(n,t,1/0)};var _=function(n,t){return function(r){var e=arguments.length;if(2>e||null==r)return r;for(var u=1;e>u;u++)for(var i=arguments[u],o=n(i),a=o.length,c=0;a>c;c++){var f=o[c];t&&r[f]!==void 0||(r[f]=i[f])}return r}},j=function(n){if(!m.isObject(n))return{};if(y)return y(n);d.prototype=n;var t=new d;return d.prototype=null,t},w=function(n){return function(t){return null==t?void 0:t[n]}},A=Math.pow(2,53)-1,O=w("length"),k=function(n){var t=O(n);return"number"==typeof t&&t>=0&&A>=t};m.each=m.forEach=function(n,t,r){t=b(t,r);var e,u;if(k(n))for(e=0,u=n.length;u>e;e++)t(n[e],e,n);else{var i=m.keys(n);for(e=0,u=i.length;u>e;e++)t(n[i[e]],i[e],n)}return n},m.map=m.collect=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=Array(u),o=0;u>o;o++){var a=e?e[o]:o;i[o]=t(n[a],a,n)}return i},m.reduce=m.foldl=m.inject=n(1),m.reduceRight=m.foldr=n(-1),m.find=m.detect=function(n,t,r){var e;return e=k(n)?m.findIndex(n,t,r):m.findKey(n,t,r),e!==void 0&&e!==-1?n[e]:void 0},m.filter=m.select=function(n,t,r){var e=[];return t=x(t,r),m.each(n,function(n,r,u){t(n,r,u)&&e.push(n)}),e},m.reject=function(n,t,r){return m.filter(n,m.negate(x(t)),r)},m.every=m.all=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=0;u>i;i++){var o=e?e[i]:i;if(!t(n[o],o,n))return!1}return!0},m.some=m.any=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=0;u>i;i++){var o=e?e[i]:i;if(t(n[o],o,n))return!0}return!1},m.contains=m.includes=m.include=function(n,t,r,e){return k(n)||(n=m.values(n)),("number"!=typeof r||e)&&(r=0),m.indexOf(n,t,r)>=0},m.invoke=function(n,t){var r=l.call(arguments,2),e=m.isFunction(t);return m.map(n,function(n){var u=e?t:n[t];return null==u?u:u.apply(n,r)})},m.pluck=function(n,t){return m.map(n,m.property(t))},m.where=function(n,t){return m.filter(n,m.matcher(t))},m.findWhere=function(n,t){return m.find(n,m.matcher(t))},m.max=function(n,t,r){var e,u,i=-1/0,o=-1/0;if(null==t&&null!=n){n=k(n)?n:m.values(n);for(var a=0,c=n.length;c>a;a++)e=n[a],e>i&&(i=e)}else t=x(t,r),m.each(n,function(n,r,e){u=t(n,r,e),(u>o||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},m.min=function(n,t,r){var e,u,i=1/0,o=1/0;if(null==t&&null!=n){n=k(n)?n:m.values(n);for(var a=0,c=n.length;c>a;a++)e=n[a],i>e&&(i=e)}else t=x(t,r),m.each(n,function(n,r,e){u=t(n,r,e),(o>u||1/0===u&&1/0===i)&&(i=n,o=u)});return i},m.shuffle=function(n){for(var t,r=k(n)?n:m.values(n),e=r.length,u=Array(e),i=0;e>i;i++)t=m.random(0,i),t!==i&&(u[i]=u[t]),u[t]=r[i];return u},m.sample=function(n,t,r){return null==t||r?(k(n)||(n=m.values(n)),n[m.random(n.length-1)]):m.shuffle(n).slice(0,Math.max(0,t))},m.sortBy=function(n,t,r){return t=x(t,r),m.pluck(m.map(n,function(n,r,e){return{value:n,index:r,criteria:t(n,r,e)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(r>e||r===void 0)return 1;if(e>r||e===void 0)return-1}return n.index-t.index}),"value")};var F=function(n){return function(t,r,e){var u={};return r=x(r,e),m.each(t,function(e,i){var o=r(e,i,t);n(u,e,o)}),u}};m.groupBy=F(function(n,t,r){m.has(n,r)?n[r].push(t):n[r]=[t]}),m.indexBy=F(function(n,t,r){n[r]=t}),m.countBy=F(function(n,t,r){m.has(n,r)?n[r]++:n[r]=1}),m.toArray=function(n){return n?m.isArray(n)?l.call(n):k(n)?m.map(n,m.identity):m.values(n):[]},m.size=function(n){return null==n?0:k(n)?n.length:m.keys(n).length},m.partition=function(n,t,r){t=x(t,r);var e=[],u=[];return m.each(n,function(n,r,i){(t(n,r,i)?e:u).push(n)}),[e,u]},m.first=m.head=m.take=function(n,t,r){return null==n?void 0:null==t||r?n[0]:m.initial(n,n.length-t)},m.initial=function(n,t,r){return l.call(n,0,Math.max(0,n.length-(null==t||r?1:t)))},m.last=function(n,t,r){return null==n?void 0:null==t||r?n[n.length-1]:m.rest(n,Math.max(0,n.length-t))},m.rest=m.tail=m.drop=function(n,t,r){return l.call(n,null==t||r?1:t)},m.compact=function(n){return m.filter(n,m.identity)};var S=function(n,t,r,e){for(var u=[],i=0,o=e||0,a=O(n);a>o;o++){var c=n[o];if(k(c)&&(m.isArray(c)||m.isArguments(c))){t||(c=S(c,t,r));var f=0,l=c.length;for(u.length+=l;l>f;)u[i++]=c[f++]}else r||(u[i++]=c)}return u};m.flatten=function(n,t){return S(n,t,!1)},m.without=function(n){return m.difference(n,l.call(arguments,1))},m.uniq=m.unique=function(n,t,r,e){m.isBoolean(t)||(e=r,r=t,t=!1),null!=r&&(r=x(r,e));for(var u=[],i=[],o=0,a=O(n);a>o;o++){var c=n[o],f=r?r(c,o,n):c;t?(o&&i===f||u.push(c),i=f):r?m.contains(i,f)||(i.push(f),u.push(c)):m.contains(u,c)||u.push(c)}return u},m.union=function(){return m.uniq(S(arguments,!0,!0))},m.intersection=function(n){for(var t=[],r=arguments.length,e=0,u=O(n);u>e;e++){var i=n[e];if(!m.contains(t,i)){for(var o=1;r>o&&m.contains(arguments[o],i);o++);o===r&&t.push(i)}}return t},m.difference=function(n){var t=S(arguments,!0,!0,1);return m.filter(n,function(n){return!m.contains(t,n)})},m.zip=function(){return m.unzip(arguments)},m.unzip=function(n){for(var t=n&&m.max(n,O).length||0,r=Array(t),e=0;t>e;e++)r[e]=m.pluck(n,e);return r},m.object=function(n,t){for(var r={},e=0,u=O(n);u>e;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},m.findIndex=t(1),m.findLastIndex=t(-1),m.sortedIndex=function(n,t,r,e){r=x(r,e,1);for(var u=r(t),i=0,o=O(n);o>i;){var a=Math.floor((i+o)/2);r(n[a])<u?i=a+1:o=a}return i},m.indexOf=r(1,m.findIndex,m.sortedIndex),m.lastIndexOf=r(-1,m.findLastIndex),m.range=function(n,t,r){null==t&&(t=n||0,n=0),r=r||1;for(var e=Math.max(Math.ceil((t-n)/r),0),u=Array(e),i=0;e>i;i++,n+=r)u[i]=n;return u};var E=function(n,t,r,e,u){if(!(e instanceof t))return n.apply(r,u);var i=j(n.prototype),o=n.apply(i,u);return m.isObject(o)?o:i};m.bind=function(n,t){if(g&&n.bind===g)return g.apply(n,l.call(arguments,1));if(!m.isFunction(n))throw new TypeError("Bind must be called on a function");var r=l.call(arguments,2),e=function(){return E(n,e,t,this,r.concat(l.call(arguments)))};return e},m.partial=function(n){var t=l.call(arguments,1),r=function(){for(var e=0,u=t.length,i=Array(u),o=0;u>o;o++)i[o]=t[o]===m?arguments[e++]:t[o];for(;e<arguments.length;)i.push(arguments[e++]);return E(n,r,this,this,i)};return r},m.bindAll=function(n){var t,r,e=arguments.length;if(1>=e)throw new Error("bindAll must be passed function names");for(t=1;e>t;t++)r=arguments[t],n[r]=m.bind(n[r],n);return n},m.memoize=function(n,t){var r=function(e){var u=r.cache,i=""+(t?t.apply(this,arguments):e);return m.has(u,i)||(u[i]=n.apply(this,arguments)),u[i]};return r.cache={},r},m.delay=function(n,t){var r=l.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},t)},m.defer=m.partial(m.delay,m,1),m.throttle=function(n,t,r){var e,u,i,o=null,a=0;r||(r={});var c=function(){a=r.leading===!1?0:m.now(),o=null,i=n.apply(e,u),o||(e=u=null)};return function(){var f=m.now();a||r.leading!==!1||(a=f);var l=t-(f-a);return e=this,u=arguments,0>=l||l>t?(o&&(clearTimeout(o),o=null),a=f,i=n.apply(e,u),o||(e=u=null)):o||r.trailing===!1||(o=setTimeout(c,l)),i}},m.debounce=function(n,t,r){var e,u,i,o,a,c=function(){var f=m.now()-o;t>f&&f>=0?e=setTimeout(c,t-f):(e=null,r||(a=n.apply(i,u),e||(i=u=null)))};return function(){i=this,u=arguments,o=m.now();var f=r&&!e;return e||(e=setTimeout(c,t)),f&&(a=n.apply(i,u),i=u=null),a}},m.wrap=function(n,t){return m.partial(t,n)},m.negate=function(n){return function(){return!n.apply(this,arguments)}},m.compose=function(){var n=arguments,t=n.length-1;return function(){for(var r=t,e=n[t].apply(this,arguments);r--;)e=n[r].call(this,e);return e}},m.after=function(n,t){return function(){return--n<1?t.apply(this,arguments):void 0}},m.before=function(n,t){var r;return function(){return--n>0&&(r=t.apply(this,arguments)),1>=n&&(t=null),r}},m.once=m.partial(m.before,2);var M=!{toString:null}.propertyIsEnumerable("toString"),I=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];m.keys=function(n){if(!m.isObject(n))return[];if(v)return v(n);var t=[];for(var r in n)m.has(n,r)&&t.push(r);return M&&e(n,t),t},m.allKeys=function(n){if(!m.isObject(n))return[];var t=[];for(var r in n)t.push(r);return M&&e(n,t),t},m.values=function(n){for(var t=m.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=n[t[u]];return e},m.mapObject=function(n,t,r){t=x(t,r);for(var e,u=m.keys(n),i=u.length,o={},a=0;i>a;a++)e=u[a],o[e]=t(n[e],e,n);return o},m.pairs=function(n){for(var t=m.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=[t[u],n[t[u]]];return e},m.invert=function(n){for(var t={},r=m.keys(n),e=0,u=r.length;u>e;e++)t[n[r[e]]]=r[e];return t},m.functions=m.methods=function(n){var t=[];for(var r in n)m.isFunction(n[r])&&t.push(r);return t.sort()},m.extend=_(m.allKeys),m.extendOwn=m.assign=_(m.keys),m.findKey=function(n,t,r){t=x(t,r);for(var e,u=m.keys(n),i=0,o=u.length;o>i;i++)if(e=u[i],t(n[e],e,n))return e},m.pick=function(n,t,r){var e,u,i={},o=n;if(null==o)return i;m.isFunction(t)?(u=m.allKeys(o),e=b(t,r)):(u=S(arguments,!1,!1,1),e=function(n,t,r){return t in r},o=Object(o));for(var a=0,c=u.length;c>a;a++){var f=u[a],l=o[f];e(l,f,o)&&(i[f]=l)}return i},m.omit=function(n,t,r){if(m.isFunction(t))t=m.negate(t);else{var e=m.map(S(arguments,!1,!1,1),String);t=function(n,t){return!m.contains(e,t)}}return m.pick(n,t,r)},m.defaults=_(m.allKeys,!0),m.create=function(n,t){var r=j(n);return t&&m.extendOwn(r,t),r},m.clone=function(n){return m.isObject(n)?m.isArray(n)?n.slice():m.extend({},n):n},m.tap=function(n,t){return t(n),n},m.isMatch=function(n,t){var r=m.keys(t),e=r.length;if(null==n)return!e;for(var u=Object(n),i=0;e>i;i++){var o=r[i];if(t[o]!==u[o]||!(o in u))return!1}return!0};var N=function(n,t,r,e){if(n===t)return 0!==n||1/n===1/t;if(null==n||null==t)return n===t;n instanceof m&&(n=n._wrapped),t instanceof m&&(t=t._wrapped);var u=s.call(n);if(u!==s.call(t))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+t;case"[object Number]":return+n!==+n?+t!==+t:0===+n?1/+n===1/t:+n===+t;case"[object Date]":case"[object Boolean]":return+n===+t}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof t)return!1;var o=n.constructor,a=t.constructor;if(o!==a&&!(m.isFunction(o)&&o instanceof o&&m.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in t)return!1}r=r||[],e=e||[];for(var c=r.length;c--;)if(r[c]===n)return e[c]===t;if(r.push(n),e.push(t),i){if(c=n.length,c!==t.length)return!1;for(;c--;)if(!N(n[c],t[c],r,e))return!1}else{var f,l=m.keys(n);if(c=l.length,m.keys(t).length!==c)return!1;for(;c--;)if(f=l[c],!m.has(t,f)||!N(n[f],t[f],r,e))return!1}return r.pop(),e.pop(),!0};m.isEqual=function(n,t){return N(n,t)},m.isEmpty=function(n){return null==n?!0:k(n)&&(m.isArray(n)||m.isString(n)||m.isArguments(n))?0===n.length:0===m.keys(n).length},m.isElement=function(n){return!(!n||1!==n.nodeType)},m.isArray=h||function(n){return"[object Array]"===s.call(n)},m.isObject=function(n){var t=typeof n;return"function"===t||"object"===t&&!!n},m.each(["Arguments","Function","String","Number","Date","RegExp","Error"],function(n){m["is"+n]=function(t){return s.call(t)==="[object "+n+"]"}}),m.isArguments(arguments)||(m.isArguments=function(n){return m.has(n,"callee")}),"function"!=typeof/./&&"object"!=typeof Int8Array&&(m.isFunction=function(n){return"function"==typeof n||!1}),m.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))},m.isNaN=function(n){return m.isNumber(n)&&n!==+n},m.isBoolean=function(n){return n===!0||n===!1||"[object Boolean]"===s.call(n)},m.isNull=function(n){return null===n},m.isUndefined=function(n){return n===void 0},m.has=function(n,t){return null!=n&&p.call(n,t)},m.noConflict=function(){return u._=i,this},m.identity=function(n){return n},m.constant=function(n){return function(){return n}},m.noop=function(){},m.property=w,m.propertyOf=function(n){return null==n?function(){}:function(t){return n[t]}},m.matcher=m.matches=function(n){return n=m.extendOwn({},n),function(t){return m.isMatch(t,n)}},m.times=function(n,t,r){var e=Array(Math.max(0,n));t=b(t,r,1);for(var u=0;n>u;u++)e[u]=t(u);return e},m.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))},m.now=Date.now||function(){return(new Date).getTime()};var B={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},T=m.invert(B),R=function(n){var t=function(t){return n[t]},r="(?:"+m.keys(n).join("|")+")",e=RegExp(r),u=RegExp(r,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}};m.escape=R(B),m.unescape=R(T),m.result=function(n,t,r){var e=null==n?void 0:n[t];return e===void 0&&(e=r),m.isFunction(e)?e.call(n):e};var q=0;m.uniqueId=function(n){var t=++q+"";return n?n+t:t},m.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,z={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},D=/\\|'|\r|\n|\u2028|\u2029/g,L=function(n){return"\\"+z[n]};m.template=function(n,t,r){!t&&r&&(t=r),t=m.defaults({},t,m.templateSettings);var e=RegExp([(t.escape||K).source,(t.interpolate||K).source,(t.evaluate||K).source].join("|")+"|$","g"),u=0,i="__p+='";n.replace(e,function(t,r,e,o,a){return i+=n.slice(u,a).replace(D,L),u=a+t.length,r?i+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":e?i+="'+\n((__t=("+e+"))==null?'':__t)+\n'":o&&(i+="';\n"+o+"\n__p+='"),t}),i+="';\n",t.variable||(i="with(obj||{}){\n"+i+"}\n"),i="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+i+"return __p;\n";try{var o=new Function(t.variable||"obj","_",i)}catch(a){throw a.source=i,a}var c=function(n){return o.call(this,n,m)},f=t.variable||"obj";return c.source="function("+f+"){\n"+i+"}",c},m.chain=function(n){var t=m(n);return t._chain=!0,t};var P=function(n,t){return n._chain?m(t).chain():t};m.mixin=function(n){m.each(m.functions(n),function(t){var r=m[t]=n[t];m.prototype[t]=function(){var n=[this._wrapped];return f.apply(n,arguments),P(this,r.apply(m,n))}})},m.mixin(m),m.each(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var t=o[n];m.prototype[n]=function(){var r=this._wrapped;return t.apply(r,arguments),"shift"!==n&&"splice"!==n||0!==r.length||delete r[0],P(this,r)}}),m.each(["concat","join","slice"],function(n){var t=o[n];m.prototype[n]=function(){return P(this,t.apply(this._wrapped,arguments))}}),m.prototype.value=function(){return this._wrapped},m.prototype.valueOf=m.prototype.toJSON=m.prototype.value,m.prototype.toString=function(){return""+this._wrapped},"function"==typeof define&&define.amd&&define("underscore",[],function(){return m})}).call(this);
|
6
|
+
//# sourceMappingURL=underscore-min.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"underscore-min.js","sources":["underscore.js"],"names":["createReduce","dir","iterator","obj","iteratee","memo","keys","index","length","currentKey","context","optimizeCb","isArrayLike","_","arguments","createPredicateIndexFinder","array","predicate","cb","getLength","createIndexFinder","predicateFind","sortedIndex","item","idx","i","Math","max","min","slice","call","isNaN","collectNonEnumProps","nonEnumIdx","nonEnumerableProps","constructor","proto","isFunction","prototype","ObjProto","prop","has","contains","push","root","this","previousUnderscore","ArrayProto","Array","Object","FuncProto","Function","toString","hasOwnProperty","nativeIsArray","isArray","nativeKeys","nativeBind","bind","nativeCreate","create","Ctor","_wrapped","exports","module","VERSION","func","argCount","value","other","collection","accumulator","apply","identity","isObject","matcher","property","Infinity","createAssigner","keysFunc","undefinedOnly","source","l","key","baseCreate","result","MAX_ARRAY_INDEX","pow","each","forEach","map","collect","results","reduce","foldl","inject","reduceRight","foldr","find","detect","findIndex","findKey","filter","select","list","reject","negate","every","all","some","any","includes","include","fromIndex","guard","values","indexOf","invoke","method","args","isFunc","pluck","where","attrs","findWhere","computed","lastComputed","shuffle","rand","set","shuffled","random","sample","n","sortBy","criteria","sort","left","right","a","b","group","behavior","groupBy","indexBy","countBy","toArray","size","partition","pass","fail","first","head","take","initial","last","rest","tail","drop","compact","flatten","input","shallow","strict","startIndex","output","isArguments","j","len","without","difference","uniq","unique","isSorted","isBoolean","seen","union","intersection","argsLength","zip","unzip","object","findLastIndex","low","high","mid","floor","lastIndexOf","range","start","stop","step","ceil","executeBound","sourceFunc","boundFunc","callingContext","self","TypeError","bound","concat","partial","boundArgs","position","bindAll","Error","memoize","hasher","cache","address","delay","wait","setTimeout","defer","throttle","options","timeout","previous","later","leading","now","remaining","clearTimeout","trailing","debounce","immediate","timestamp","callNow","wrap","wrapper","compose","after","times","before","once","hasEnumBug","propertyIsEnumerable","allKeys","mapObject","pairs","invert","functions","methods","names","extend","extendOwn","assign","pick","oiteratee","omit","String","defaults","props","clone","tap","interceptor","isMatch","eq","aStack","bStack","className","areArrays","aCtor","bCtor","pop","isEqual","isEmpty","isString","isElement","nodeType","type","name","Int8Array","isFinite","parseFloat","isNumber","isNull","isUndefined","noConflict","constant","noop","propertyOf","matches","accum","Date","getTime","escapeMap","&","<",">","\"","'","`","unescapeMap","createEscaper","escaper","match","join","testRegexp","RegExp","replaceRegexp","string","test","replace","escape","unescape","fallback","idCounter","uniqueId","prefix","id","templateSettings","evaluate","interpolate","noMatch","escapes","\\","\r","\n","
","
","escapeChar","template","text","settings","oldSettings","offset","variable","render","e","data","argument","chain","instance","_chain","mixin","valueOf","toJSON","define","amd"],"mappings":"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"}
|
@@ -1,6 +1,6 @@
|
|
1
|
-
// Underscore.js 1.
|
1
|
+
// Underscore.js 1.8.3
|
2
2
|
// http://underscorejs.org
|
3
|
-
// (c) 2009-
|
3
|
+
// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
4
4
|
// Underscore may be freely distributed under the MIT license.
|
5
5
|
|
6
6
|
(function() {
|
@@ -14,9 +14,6 @@
|
|
14
14
|
// Save the previous value of the `_` variable.
|
15
15
|
var previousUnderscore = root._;
|
16
16
|
|
17
|
-
// Establish the object that gets returned to break out of a loop iteration.
|
18
|
-
var breaker = {};
|
19
|
-
|
20
17
|
// Save bytes in the minified (but not gzipped) version:
|
21
18
|
var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;
|
22
19
|
|
@@ -24,25 +21,19 @@
|
|
24
21
|
var
|
25
22
|
push = ArrayProto.push,
|
26
23
|
slice = ArrayProto.slice,
|
27
|
-
concat = ArrayProto.concat,
|
28
24
|
toString = ObjProto.toString,
|
29
25
|
hasOwnProperty = ObjProto.hasOwnProperty;
|
30
26
|
|
31
27
|
// All **ECMAScript 5** native function implementations that we hope to use
|
32
28
|
// are declared here.
|
33
29
|
var
|
34
|
-
nativeForEach = ArrayProto.forEach,
|
35
|
-
nativeMap = ArrayProto.map,
|
36
|
-
nativeReduce = ArrayProto.reduce,
|
37
|
-
nativeReduceRight = ArrayProto.reduceRight,
|
38
|
-
nativeFilter = ArrayProto.filter,
|
39
|
-
nativeEvery = ArrayProto.every,
|
40
|
-
nativeSome = ArrayProto.some,
|
41
|
-
nativeIndexOf = ArrayProto.indexOf,
|
42
|
-
nativeLastIndexOf = ArrayProto.lastIndexOf,
|
43
30
|
nativeIsArray = Array.isArray,
|
44
31
|
nativeKeys = Object.keys,
|
45
|
-
nativeBind = FuncProto.bind
|
32
|
+
nativeBind = FuncProto.bind,
|
33
|
+
nativeCreate = Object.create;
|
34
|
+
|
35
|
+
// Naked function reference for surrogate-prototype-swapping.
|
36
|
+
var Ctor = function(){};
|
46
37
|
|
47
38
|
// Create a safe reference to the Underscore object for use below.
|
48
39
|
var _ = function(obj) {
|
@@ -53,8 +44,7 @@
|
|
53
44
|
|
54
45
|
// Export the Underscore object for **Node.js**, with
|
55
46
|
// backwards-compatibility for the old `require()` API. If we're in
|
56
|
-
// the browser, add `_` as a global object
|
57
|
-
// for Closure Compiler "advanced" mode.
|
47
|
+
// the browser, add `_` as a global object.
|
58
48
|
if (typeof exports !== 'undefined') {
|
59
49
|
if (typeof module !== 'undefined' && module.exports) {
|
60
50
|
exports = module.exports = _;
|
@@ -65,161 +55,217 @@
|
|
65
55
|
}
|
66
56
|
|
67
57
|
// Current version.
|
68
|
-
_.VERSION = '1.
|
58
|
+
_.VERSION = '1.8.3';
|
59
|
+
|
60
|
+
// Internal function that returns an efficient (for current engines) version
|
61
|
+
// of the passed-in callback, to be repeatedly applied in other Underscore
|
62
|
+
// functions.
|
63
|
+
var optimizeCb = function(func, context, argCount) {
|
64
|
+
if (context === void 0) return func;
|
65
|
+
switch (argCount == null ? 3 : argCount) {
|
66
|
+
case 1: return function(value) {
|
67
|
+
return func.call(context, value);
|
68
|
+
};
|
69
|
+
case 2: return function(value, other) {
|
70
|
+
return func.call(context, value, other);
|
71
|
+
};
|
72
|
+
case 3: return function(value, index, collection) {
|
73
|
+
return func.call(context, value, index, collection);
|
74
|
+
};
|
75
|
+
case 4: return function(accumulator, value, index, collection) {
|
76
|
+
return func.call(context, accumulator, value, index, collection);
|
77
|
+
};
|
78
|
+
}
|
79
|
+
return function() {
|
80
|
+
return func.apply(context, arguments);
|
81
|
+
};
|
82
|
+
};
|
83
|
+
|
84
|
+
// A mostly-internal function to generate callbacks that can be applied
|
85
|
+
// to each element in a collection, returning the desired result — either
|
86
|
+
// identity, an arbitrary callback, a property matcher, or a property accessor.
|
87
|
+
var cb = function(value, context, argCount) {
|
88
|
+
if (value == null) return _.identity;
|
89
|
+
if (_.isFunction(value)) return optimizeCb(value, context, argCount);
|
90
|
+
if (_.isObject(value)) return _.matcher(value);
|
91
|
+
return _.property(value);
|
92
|
+
};
|
93
|
+
_.iteratee = function(value, context) {
|
94
|
+
return cb(value, context, Infinity);
|
95
|
+
};
|
96
|
+
|
97
|
+
// An internal function for creating assigner functions.
|
98
|
+
var createAssigner = function(keysFunc, undefinedOnly) {
|
99
|
+
return function(obj) {
|
100
|
+
var length = arguments.length;
|
101
|
+
if (length < 2 || obj == null) return obj;
|
102
|
+
for (var index = 1; index < length; index++) {
|
103
|
+
var source = arguments[index],
|
104
|
+
keys = keysFunc(source),
|
105
|
+
l = keys.length;
|
106
|
+
for (var i = 0; i < l; i++) {
|
107
|
+
var key = keys[i];
|
108
|
+
if (!undefinedOnly || obj[key] === void 0) obj[key] = source[key];
|
109
|
+
}
|
110
|
+
}
|
111
|
+
return obj;
|
112
|
+
};
|
113
|
+
};
|
114
|
+
|
115
|
+
// An internal function for creating a new object that inherits from another.
|
116
|
+
var baseCreate = function(prototype) {
|
117
|
+
if (!_.isObject(prototype)) return {};
|
118
|
+
if (nativeCreate) return nativeCreate(prototype);
|
119
|
+
Ctor.prototype = prototype;
|
120
|
+
var result = new Ctor;
|
121
|
+
Ctor.prototype = null;
|
122
|
+
return result;
|
123
|
+
};
|
124
|
+
|
125
|
+
var property = function(key) {
|
126
|
+
return function(obj) {
|
127
|
+
return obj == null ? void 0 : obj[key];
|
128
|
+
};
|
129
|
+
};
|
130
|
+
|
131
|
+
// Helper for collection methods to determine whether a collection
|
132
|
+
// should be iterated as an array or as an object
|
133
|
+
// Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength
|
134
|
+
// Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094
|
135
|
+
var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;
|
136
|
+
var getLength = property('length');
|
137
|
+
var isArrayLike = function(collection) {
|
138
|
+
var length = getLength(collection);
|
139
|
+
return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;
|
140
|
+
};
|
69
141
|
|
70
142
|
// Collection Functions
|
71
143
|
// --------------------
|
72
144
|
|
73
145
|
// The cornerstone, an `each` implementation, aka `forEach`.
|
74
|
-
// Handles objects
|
75
|
-
//
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
if (iterator.call(context, obj[i], i, obj) === breaker) return;
|
146
|
+
// Handles raw objects in addition to array-likes. Treats all
|
147
|
+
// sparse array-likes as if they were dense.
|
148
|
+
_.each = _.forEach = function(obj, iteratee, context) {
|
149
|
+
iteratee = optimizeCb(iteratee, context);
|
150
|
+
var i, length;
|
151
|
+
if (isArrayLike(obj)) {
|
152
|
+
for (i = 0, length = obj.length; i < length; i++) {
|
153
|
+
iteratee(obj[i], i, obj);
|
83
154
|
}
|
84
155
|
} else {
|
85
156
|
var keys = _.keys(obj);
|
86
|
-
for (
|
87
|
-
|
157
|
+
for (i = 0, length = keys.length; i < length; i++) {
|
158
|
+
iteratee(obj[keys[i]], keys[i], obj);
|
88
159
|
}
|
89
160
|
}
|
90
161
|
return obj;
|
91
162
|
};
|
92
163
|
|
93
|
-
// Return the results of applying the
|
94
|
-
|
95
|
-
|
96
|
-
var
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
164
|
+
// Return the results of applying the iteratee to each element.
|
165
|
+
_.map = _.collect = function(obj, iteratee, context) {
|
166
|
+
iteratee = cb(iteratee, context);
|
167
|
+
var keys = !isArrayLike(obj) && _.keys(obj),
|
168
|
+
length = (keys || obj).length,
|
169
|
+
results = Array(length);
|
170
|
+
for (var index = 0; index < length; index++) {
|
171
|
+
var currentKey = keys ? keys[index] : index;
|
172
|
+
results[index] = iteratee(obj[currentKey], currentKey, obj);
|
173
|
+
}
|
102
174
|
return results;
|
103
175
|
};
|
104
176
|
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
return
|
177
|
+
// Create a reducing function iterating left or right.
|
178
|
+
function createReduce(dir) {
|
179
|
+
// Optimized iterator function as using arguments.length
|
180
|
+
// in the main function will deoptimize the, see #1991.
|
181
|
+
function iterator(obj, iteratee, memo, keys, index, length) {
|
182
|
+
for (; index >= 0 && index < length; index += dir) {
|
183
|
+
var currentKey = keys ? keys[index] : index;
|
184
|
+
memo = iteratee(memo, obj[currentKey], currentKey, obj);
|
185
|
+
}
|
186
|
+
return memo;
|
115
187
|
}
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
188
|
+
|
189
|
+
return function(obj, iteratee, memo, context) {
|
190
|
+
iteratee = optimizeCb(iteratee, context, 4);
|
191
|
+
var keys = !isArrayLike(obj) && _.keys(obj),
|
192
|
+
length = (keys || obj).length,
|
193
|
+
index = dir > 0 ? 0 : length - 1;
|
194
|
+
// Determine the initial value if none is provided.
|
195
|
+
if (arguments.length < 3) {
|
196
|
+
memo = obj[keys ? keys[index] : index];
|
197
|
+
index += dir;
|
122
198
|
}
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
199
|
+
return iterator(obj, iteratee, memo, keys, index, length);
|
200
|
+
};
|
201
|
+
}
|
202
|
+
|
203
|
+
// **Reduce** builds up a single result from a list of values, aka `inject`,
|
204
|
+
// or `foldl`.
|
205
|
+
_.reduce = _.foldl = _.inject = createReduce(1);
|
127
206
|
|
128
207
|
// The right-associative version of reduce, also known as `foldr`.
|
129
|
-
|
130
|
-
_.reduceRight = _.foldr = function(obj, iterator, memo, context) {
|
131
|
-
var initial = arguments.length > 2;
|
132
|
-
if (obj == null) obj = [];
|
133
|
-
if (nativeReduceRight && obj.reduceRight === nativeReduceRight) {
|
134
|
-
if (context) iterator = _.bind(iterator, context);
|
135
|
-
return initial ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator);
|
136
|
-
}
|
137
|
-
var length = obj.length;
|
138
|
-
if (length !== +length) {
|
139
|
-
var keys = _.keys(obj);
|
140
|
-
length = keys.length;
|
141
|
-
}
|
142
|
-
each(obj, function(value, index, list) {
|
143
|
-
index = keys ? keys[--length] : --length;
|
144
|
-
if (!initial) {
|
145
|
-
memo = obj[index];
|
146
|
-
initial = true;
|
147
|
-
} else {
|
148
|
-
memo = iterator.call(context, memo, obj[index], index, list);
|
149
|
-
}
|
150
|
-
});
|
151
|
-
if (!initial) throw new TypeError(reduceError);
|
152
|
-
return memo;
|
153
|
-
};
|
208
|
+
_.reduceRight = _.foldr = createReduce(-1);
|
154
209
|
|
155
210
|
// Return the first value which passes a truth test. Aliased as `detect`.
|
156
211
|
_.find = _.detect = function(obj, predicate, context) {
|
157
|
-
var
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
return result;
|
212
|
+
var key;
|
213
|
+
if (isArrayLike(obj)) {
|
214
|
+
key = _.findIndex(obj, predicate, context);
|
215
|
+
} else {
|
216
|
+
key = _.findKey(obj, predicate, context);
|
217
|
+
}
|
218
|
+
if (key !== void 0 && key !== -1) return obj[key];
|
165
219
|
};
|
166
220
|
|
167
221
|
// Return all the elements that pass a truth test.
|
168
|
-
// Delegates to **ECMAScript 5**'s native `filter` if available.
|
169
222
|
// Aliased as `select`.
|
170
223
|
_.filter = _.select = function(obj, predicate, context) {
|
171
224
|
var results = [];
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
if (predicate.call(context, value, index, list)) results.push(value);
|
225
|
+
predicate = cb(predicate, context);
|
226
|
+
_.each(obj, function(value, index, list) {
|
227
|
+
if (predicate(value, index, list)) results.push(value);
|
176
228
|
});
|
177
229
|
return results;
|
178
230
|
};
|
179
231
|
|
180
232
|
// Return all the elements for which a truth test fails.
|
181
233
|
_.reject = function(obj, predicate, context) {
|
182
|
-
return _.filter(obj,
|
183
|
-
return !predicate.call(context, value, index, list);
|
184
|
-
}, context);
|
234
|
+
return _.filter(obj, _.negate(cb(predicate)), context);
|
185
235
|
};
|
186
236
|
|
187
237
|
// Determine whether all of the elements match a truth test.
|
188
|
-
// Delegates to **ECMAScript 5**'s native `every` if available.
|
189
238
|
// Aliased as `all`.
|
190
239
|
_.every = _.all = function(obj, predicate, context) {
|
191
|
-
predicate
|
192
|
-
var
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
if (!
|
197
|
-
}
|
198
|
-
return
|
240
|
+
predicate = cb(predicate, context);
|
241
|
+
var keys = !isArrayLike(obj) && _.keys(obj),
|
242
|
+
length = (keys || obj).length;
|
243
|
+
for (var index = 0; index < length; index++) {
|
244
|
+
var currentKey = keys ? keys[index] : index;
|
245
|
+
if (!predicate(obj[currentKey], currentKey, obj)) return false;
|
246
|
+
}
|
247
|
+
return true;
|
199
248
|
};
|
200
249
|
|
201
250
|
// Determine if at least one element in the object matches a truth test.
|
202
|
-
// Delegates to **ECMAScript 5**'s native `some` if available.
|
203
251
|
// Aliased as `any`.
|
204
|
-
|
205
|
-
predicate
|
206
|
-
var
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
if (
|
211
|
-
}
|
212
|
-
return
|
252
|
+
_.some = _.any = function(obj, predicate, context) {
|
253
|
+
predicate = cb(predicate, context);
|
254
|
+
var keys = !isArrayLike(obj) && _.keys(obj),
|
255
|
+
length = (keys || obj).length;
|
256
|
+
for (var index = 0; index < length; index++) {
|
257
|
+
var currentKey = keys ? keys[index] : index;
|
258
|
+
if (predicate(obj[currentKey], currentKey, obj)) return true;
|
259
|
+
}
|
260
|
+
return false;
|
213
261
|
};
|
214
262
|
|
215
|
-
// Determine if the array or object contains a given
|
216
|
-
// Aliased as `include`.
|
217
|
-
_.contains = _.include = function(obj,
|
218
|
-
if (obj
|
219
|
-
if (
|
220
|
-
return
|
221
|
-
return value === target;
|
222
|
-
});
|
263
|
+
// Determine if the array or object contains a given item (using `===`).
|
264
|
+
// Aliased as `includes` and `include`.
|
265
|
+
_.contains = _.includes = _.include = function(obj, item, fromIndex, guard) {
|
266
|
+
if (!isArrayLike(obj)) obj = _.values(obj);
|
267
|
+
if (typeof fromIndex != 'number' || guard) fromIndex = 0;
|
268
|
+
return _.indexOf(obj, item, fromIndex) >= 0;
|
223
269
|
};
|
224
270
|
|
225
271
|
// Invoke a method (with arguments) on every item in a collection.
|
@@ -227,7 +273,8 @@
|
|
227
273
|
var args = slice.call(arguments, 2);
|
228
274
|
var isFunc = _.isFunction(method);
|
229
275
|
return _.map(obj, function(value) {
|
230
|
-
|
276
|
+
var func = isFunc ? method : value[method];
|
277
|
+
return func == null ? func : func.apply(value, args);
|
231
278
|
});
|
232
279
|
};
|
233
280
|
|
@@ -239,60 +286,76 @@
|
|
239
286
|
// Convenience version of a common use case of `filter`: selecting only objects
|
240
287
|
// containing specific `key:value` pairs.
|
241
288
|
_.where = function(obj, attrs) {
|
242
|
-
return _.filter(obj, _.
|
289
|
+
return _.filter(obj, _.matcher(attrs));
|
243
290
|
};
|
244
291
|
|
245
292
|
// Convenience version of a common use case of `find`: getting the first object
|
246
293
|
// containing specific `key:value` pairs.
|
247
294
|
_.findWhere = function(obj, attrs) {
|
248
|
-
return _.find(obj, _.
|
295
|
+
return _.find(obj, _.matcher(attrs));
|
249
296
|
};
|
250
297
|
|
251
|
-
// Return the maximum element or
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
if (
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
result = value;
|
263
|
-
lastComputed = computed;
|
298
|
+
// Return the maximum element (or element-based computation).
|
299
|
+
_.max = function(obj, iteratee, context) {
|
300
|
+
var result = -Infinity, lastComputed = -Infinity,
|
301
|
+
value, computed;
|
302
|
+
if (iteratee == null && obj != null) {
|
303
|
+
obj = isArrayLike(obj) ? obj : _.values(obj);
|
304
|
+
for (var i = 0, length = obj.length; i < length; i++) {
|
305
|
+
value = obj[i];
|
306
|
+
if (value > result) {
|
307
|
+
result = value;
|
308
|
+
}
|
264
309
|
}
|
265
|
-
}
|
310
|
+
} else {
|
311
|
+
iteratee = cb(iteratee, context);
|
312
|
+
_.each(obj, function(value, index, list) {
|
313
|
+
computed = iteratee(value, index, list);
|
314
|
+
if (computed > lastComputed || computed === -Infinity && result === -Infinity) {
|
315
|
+
result = value;
|
316
|
+
lastComputed = computed;
|
317
|
+
}
|
318
|
+
});
|
319
|
+
}
|
266
320
|
return result;
|
267
321
|
};
|
268
322
|
|
269
323
|
// Return the minimum element (or element-based computation).
|
270
|
-
_.min = function(obj,
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
324
|
+
_.min = function(obj, iteratee, context) {
|
325
|
+
var result = Infinity, lastComputed = Infinity,
|
326
|
+
value, computed;
|
327
|
+
if (iteratee == null && obj != null) {
|
328
|
+
obj = isArrayLike(obj) ? obj : _.values(obj);
|
329
|
+
for (var i = 0, length = obj.length; i < length; i++) {
|
330
|
+
value = obj[i];
|
331
|
+
if (value < result) {
|
332
|
+
result = value;
|
333
|
+
}
|
280
334
|
}
|
281
|
-
}
|
335
|
+
} else {
|
336
|
+
iteratee = cb(iteratee, context);
|
337
|
+
_.each(obj, function(value, index, list) {
|
338
|
+
computed = iteratee(value, index, list);
|
339
|
+
if (computed < lastComputed || computed === Infinity && result === Infinity) {
|
340
|
+
result = value;
|
341
|
+
lastComputed = computed;
|
342
|
+
}
|
343
|
+
});
|
344
|
+
}
|
282
345
|
return result;
|
283
346
|
};
|
284
347
|
|
285
|
-
// Shuffle
|
348
|
+
// Shuffle a collection, using the modern version of the
|
286
349
|
// [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle).
|
287
350
|
_.shuffle = function(obj) {
|
288
|
-
var
|
289
|
-
var
|
290
|
-
var shuffled =
|
291
|
-
|
292
|
-
rand = _.random(index
|
293
|
-
shuffled[index
|
294
|
-
shuffled[rand] =
|
295
|
-
}
|
351
|
+
var set = isArrayLike(obj) ? obj : _.values(obj);
|
352
|
+
var length = set.length;
|
353
|
+
var shuffled = Array(length);
|
354
|
+
for (var index = 0, rand; index < length; index++) {
|
355
|
+
rand = _.random(0, index);
|
356
|
+
if (rand !== index) shuffled[index] = shuffled[rand];
|
357
|
+
shuffled[rand] = set[index];
|
358
|
+
}
|
296
359
|
return shuffled;
|
297
360
|
};
|
298
361
|
|
@@ -301,27 +364,20 @@
|
|
301
364
|
// The internal `guard` argument allows it to work with `map`.
|
302
365
|
_.sample = function(obj, n, guard) {
|
303
366
|
if (n == null || guard) {
|
304
|
-
if (obj
|
367
|
+
if (!isArrayLike(obj)) obj = _.values(obj);
|
305
368
|
return obj[_.random(obj.length - 1)];
|
306
369
|
}
|
307
370
|
return _.shuffle(obj).slice(0, Math.max(0, n));
|
308
371
|
};
|
309
372
|
|
310
|
-
//
|
311
|
-
|
312
|
-
|
313
|
-
if (_.isFunction(value)) return value;
|
314
|
-
return _.property(value);
|
315
|
-
};
|
316
|
-
|
317
|
-
// Sort the object's values by a criterion produced by an iterator.
|
318
|
-
_.sortBy = function(obj, iterator, context) {
|
319
|
-
iterator = lookupIterator(iterator);
|
373
|
+
// Sort the object's values by a criterion produced by an iteratee.
|
374
|
+
_.sortBy = function(obj, iteratee, context) {
|
375
|
+
iteratee = cb(iteratee, context);
|
320
376
|
return _.pluck(_.map(obj, function(value, index, list) {
|
321
377
|
return {
|
322
378
|
value: value,
|
323
379
|
index: index,
|
324
|
-
criteria:
|
380
|
+
criteria: iteratee(value, index, list)
|
325
381
|
};
|
326
382
|
}).sort(function(left, right) {
|
327
383
|
var a = left.criteria;
|
@@ -336,12 +392,12 @@
|
|
336
392
|
|
337
393
|
// An internal function used for aggregate "group by" operations.
|
338
394
|
var group = function(behavior) {
|
339
|
-
return function(obj,
|
395
|
+
return function(obj, iteratee, context) {
|
340
396
|
var result = {};
|
341
|
-
|
342
|
-
each(obj, function(value, index) {
|
343
|
-
var key =
|
344
|
-
behavior(result,
|
397
|
+
iteratee = cb(iteratee, context);
|
398
|
+
_.each(obj, function(value, index) {
|
399
|
+
var key = iteratee(value, index, obj);
|
400
|
+
behavior(result, value, key);
|
345
401
|
});
|
346
402
|
return result;
|
347
403
|
};
|
@@ -349,48 +405,46 @@
|
|
349
405
|
|
350
406
|
// Groups the object's values by a criterion. Pass either a string attribute
|
351
407
|
// to group by, or a function that returns the criterion.
|
352
|
-
_.groupBy = group(function(result,
|
353
|
-
_.has(result, key)
|
408
|
+
_.groupBy = group(function(result, value, key) {
|
409
|
+
if (_.has(result, key)) result[key].push(value); else result[key] = [value];
|
354
410
|
});
|
355
411
|
|
356
412
|
// Indexes the object's values by a criterion, similar to `groupBy`, but for
|
357
413
|
// when you know that your index values will be unique.
|
358
|
-
_.indexBy = group(function(result,
|
414
|
+
_.indexBy = group(function(result, value, key) {
|
359
415
|
result[key] = value;
|
360
416
|
});
|
361
417
|
|
362
418
|
// Counts instances of an object that group by a certain criterion. Pass
|
363
419
|
// either a string attribute to count by, or a function that returns the
|
364
420
|
// criterion.
|
365
|
-
_.countBy = group(function(result, key) {
|
366
|
-
_.has(result, key)
|
421
|
+
_.countBy = group(function(result, value, key) {
|
422
|
+
if (_.has(result, key)) result[key]++; else result[key] = 1;
|
367
423
|
});
|
368
424
|
|
369
|
-
// Use a comparator function to figure out the smallest index at which
|
370
|
-
// an object should be inserted so as to maintain order. Uses binary search.
|
371
|
-
_.sortedIndex = function(array, obj, iterator, context) {
|
372
|
-
iterator = lookupIterator(iterator);
|
373
|
-
var value = iterator.call(context, obj);
|
374
|
-
var low = 0, high = array.length;
|
375
|
-
while (low < high) {
|
376
|
-
var mid = (low + high) >>> 1;
|
377
|
-
iterator.call(context, array[mid]) < value ? low = mid + 1 : high = mid;
|
378
|
-
}
|
379
|
-
return low;
|
380
|
-
};
|
381
|
-
|
382
425
|
// Safely create a real, live array from anything iterable.
|
383
426
|
_.toArray = function(obj) {
|
384
427
|
if (!obj) return [];
|
385
428
|
if (_.isArray(obj)) return slice.call(obj);
|
386
|
-
if (obj
|
429
|
+
if (isArrayLike(obj)) return _.map(obj, _.identity);
|
387
430
|
return _.values(obj);
|
388
431
|
};
|
389
432
|
|
390
433
|
// Return the number of elements in an object.
|
391
434
|
_.size = function(obj) {
|
392
435
|
if (obj == null) return 0;
|
393
|
-
return (obj
|
436
|
+
return isArrayLike(obj) ? obj.length : _.keys(obj).length;
|
437
|
+
};
|
438
|
+
|
439
|
+
// Split a collection into two arrays: one whose elements all satisfy the given
|
440
|
+
// predicate, and one whose elements all do not satisfy the predicate.
|
441
|
+
_.partition = function(obj, predicate, context) {
|
442
|
+
predicate = cb(predicate, context);
|
443
|
+
var pass = [], fail = [];
|
444
|
+
_.each(obj, function(value, key, obj) {
|
445
|
+
(predicate(value, key, obj) ? pass : fail).push(value);
|
446
|
+
});
|
447
|
+
return [pass, fail];
|
394
448
|
};
|
395
449
|
|
396
450
|
// Array Functions
|
@@ -401,33 +455,30 @@
|
|
401
455
|
// allows it to work with `_.map`.
|
402
456
|
_.first = _.head = _.take = function(array, n, guard) {
|
403
457
|
if (array == null) return void 0;
|
404
|
-
if (
|
405
|
-
|
406
|
-
return slice.call(array, 0, n);
|
458
|
+
if (n == null || guard) return array[0];
|
459
|
+
return _.initial(array, array.length - n);
|
407
460
|
};
|
408
461
|
|
409
462
|
// Returns everything but the last entry of the array. Especially useful on
|
410
463
|
// the arguments object. Passing **n** will return all the values in
|
411
|
-
// the array, excluding the last N.
|
412
|
-
// `_.map`.
|
464
|
+
// the array, excluding the last N.
|
413
465
|
_.initial = function(array, n, guard) {
|
414
|
-
return slice.call(array, 0, array.length - (
|
466
|
+
return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));
|
415
467
|
};
|
416
468
|
|
417
469
|
// Get the last element of an array. Passing **n** will return the last N
|
418
|
-
// values in the array.
|
470
|
+
// values in the array.
|
419
471
|
_.last = function(array, n, guard) {
|
420
472
|
if (array == null) return void 0;
|
421
|
-
if (
|
422
|
-
return
|
473
|
+
if (n == null || guard) return array[array.length - 1];
|
474
|
+
return _.rest(array, Math.max(0, array.length - n));
|
423
475
|
};
|
424
476
|
|
425
477
|
// Returns everything but the first entry of the array. Aliased as `tail` and `drop`.
|
426
478
|
// Especially useful on the arguments object. Passing an **n** will return
|
427
|
-
// the rest N values in the array.
|
428
|
-
// check allows it to work with `_.map`.
|
479
|
+
// the rest N values in the array.
|
429
480
|
_.rest = _.tail = _.drop = function(array, n, guard) {
|
430
|
-
return slice.call(array,
|
481
|
+
return slice.call(array, n == null || guard ? 1 : n);
|
431
482
|
};
|
432
483
|
|
433
484
|
// Trim out all falsy values from an array.
|
@@ -436,23 +487,28 @@
|
|
436
487
|
};
|
437
488
|
|
438
489
|
// Internal implementation of a recursive `flatten` function.
|
439
|
-
var flatten = function(input, shallow,
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
output.
|
490
|
+
var flatten = function(input, shallow, strict, startIndex) {
|
491
|
+
var output = [], idx = 0;
|
492
|
+
for (var i = startIndex || 0, length = getLength(input); i < length; i++) {
|
493
|
+
var value = input[i];
|
494
|
+
if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) {
|
495
|
+
//flatten current level of array or arguments object
|
496
|
+
if (!shallow) value = flatten(value, shallow, strict);
|
497
|
+
var j = 0, len = value.length;
|
498
|
+
output.length += len;
|
499
|
+
while (j < len) {
|
500
|
+
output[idx++] = value[j++];
|
501
|
+
}
|
502
|
+
} else if (!strict) {
|
503
|
+
output[idx++] = value;
|
448
504
|
}
|
449
|
-
}
|
505
|
+
}
|
450
506
|
return output;
|
451
507
|
};
|
452
508
|
|
453
509
|
// Flatten out an array, either recursively (by default), or just one level.
|
454
510
|
_.flatten = function(array, shallow) {
|
455
|
-
return flatten(array, shallow,
|
511
|
+
return flatten(array, shallow, false);
|
456
512
|
};
|
457
513
|
|
458
514
|
// Return a version of the array that does not contain the specified value(s).
|
@@ -460,79 +516,91 @@
|
|
460
516
|
return _.difference(array, slice.call(arguments, 1));
|
461
517
|
};
|
462
518
|
|
463
|
-
// Split an array into two arrays: one whose elements all satisfy the given
|
464
|
-
// predicate, and one whose elements all do not satisfy the predicate.
|
465
|
-
_.partition = function(array, predicate) {
|
466
|
-
var pass = [], fail = [];
|
467
|
-
each(array, function(elem) {
|
468
|
-
(predicate(elem) ? pass : fail).push(elem);
|
469
|
-
});
|
470
|
-
return [pass, fail];
|
471
|
-
};
|
472
|
-
|
473
519
|
// Produce a duplicate-free version of the array. If the array has already
|
474
520
|
// been sorted, you have the option of using a faster algorithm.
|
475
521
|
// Aliased as `unique`.
|
476
|
-
_.uniq = _.unique = function(array, isSorted,
|
477
|
-
if (_.
|
478
|
-
context =
|
479
|
-
|
522
|
+
_.uniq = _.unique = function(array, isSorted, iteratee, context) {
|
523
|
+
if (!_.isBoolean(isSorted)) {
|
524
|
+
context = iteratee;
|
525
|
+
iteratee = isSorted;
|
480
526
|
isSorted = false;
|
481
527
|
}
|
482
|
-
|
483
|
-
var
|
528
|
+
if (iteratee != null) iteratee = cb(iteratee, context);
|
529
|
+
var result = [];
|
484
530
|
var seen = [];
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
531
|
+
for (var i = 0, length = getLength(array); i < length; i++) {
|
532
|
+
var value = array[i],
|
533
|
+
computed = iteratee ? iteratee(value, i, array) : value;
|
534
|
+
if (isSorted) {
|
535
|
+
if (!i || seen !== computed) result.push(value);
|
536
|
+
seen = computed;
|
537
|
+
} else if (iteratee) {
|
538
|
+
if (!_.contains(seen, computed)) {
|
539
|
+
seen.push(computed);
|
540
|
+
result.push(value);
|
541
|
+
}
|
542
|
+
} else if (!_.contains(result, value)) {
|
543
|
+
result.push(value);
|
489
544
|
}
|
490
|
-
}
|
491
|
-
return
|
545
|
+
}
|
546
|
+
return result;
|
492
547
|
};
|
493
548
|
|
494
549
|
// Produce an array that contains the union: each distinct element from all of
|
495
550
|
// the passed-in arrays.
|
496
551
|
_.union = function() {
|
497
|
-
return _.uniq(
|
552
|
+
return _.uniq(flatten(arguments, true, true));
|
498
553
|
};
|
499
554
|
|
500
555
|
// Produce an array that contains every item shared between all the
|
501
556
|
// passed-in arrays.
|
502
557
|
_.intersection = function(array) {
|
503
|
-
var
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
558
|
+
var result = [];
|
559
|
+
var argsLength = arguments.length;
|
560
|
+
for (var i = 0, length = getLength(array); i < length; i++) {
|
561
|
+
var item = array[i];
|
562
|
+
if (_.contains(result, item)) continue;
|
563
|
+
for (var j = 1; j < argsLength; j++) {
|
564
|
+
if (!_.contains(arguments[j], item)) break;
|
565
|
+
}
|
566
|
+
if (j === argsLength) result.push(item);
|
567
|
+
}
|
568
|
+
return result;
|
509
569
|
};
|
510
570
|
|
511
571
|
// Take the difference between one array and a number of other arrays.
|
512
572
|
// Only the elements present in just the first array will remain.
|
513
573
|
_.difference = function(array) {
|
514
|
-
var rest =
|
515
|
-
return _.filter(array, function(value){
|
574
|
+
var rest = flatten(arguments, true, true, 1);
|
575
|
+
return _.filter(array, function(value){
|
576
|
+
return !_.contains(rest, value);
|
577
|
+
});
|
516
578
|
};
|
517
579
|
|
518
580
|
// Zip together multiple lists into a single array -- elements that share
|
519
581
|
// an index go together.
|
520
582
|
_.zip = function() {
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
583
|
+
return _.unzip(arguments);
|
584
|
+
};
|
585
|
+
|
586
|
+
// Complement of _.zip. Unzip accepts an array of arrays and groups
|
587
|
+
// each array's elements on shared indices
|
588
|
+
_.unzip = function(array) {
|
589
|
+
var length = array && _.max(array, getLength).length || 0;
|
590
|
+
var result = Array(length);
|
591
|
+
|
592
|
+
for (var index = 0; index < length; index++) {
|
593
|
+
result[index] = _.pluck(array, index);
|
525
594
|
}
|
526
|
-
return
|
595
|
+
return result;
|
527
596
|
};
|
528
597
|
|
529
598
|
// Converts lists into objects. Pass either a single array of `[key, value]`
|
530
599
|
// pairs, or two parallel arrays of the same length -- one of keys, and one of
|
531
600
|
// the corresponding values.
|
532
601
|
_.object = function(list, values) {
|
533
|
-
if (list == null) return {};
|
534
602
|
var result = {};
|
535
|
-
for (var i = 0, length = list
|
603
|
+
for (var i = 0, length = getLength(list); i < length; i++) {
|
536
604
|
if (values) {
|
537
605
|
result[list[i]] = values[i];
|
538
606
|
} else {
|
@@ -542,57 +610,83 @@
|
|
542
610
|
return result;
|
543
611
|
};
|
544
612
|
|
545
|
-
//
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
var i = 0, length = array.length;
|
554
|
-
if (isSorted) {
|
555
|
-
if (typeof isSorted == 'number') {
|
556
|
-
i = (isSorted < 0 ? Math.max(0, length + isSorted) : isSorted);
|
557
|
-
} else {
|
558
|
-
i = _.sortedIndex(array, item);
|
559
|
-
return array[i] === item ? i : -1;
|
613
|
+
// Generator function to create the findIndex and findLastIndex functions
|
614
|
+
function createPredicateIndexFinder(dir) {
|
615
|
+
return function(array, predicate, context) {
|
616
|
+
predicate = cb(predicate, context);
|
617
|
+
var length = getLength(array);
|
618
|
+
var index = dir > 0 ? 0 : length - 1;
|
619
|
+
for (; index >= 0 && index < length; index += dir) {
|
620
|
+
if (predicate(array[index], index, array)) return index;
|
560
621
|
}
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
|
622
|
+
return -1;
|
623
|
+
};
|
624
|
+
}
|
625
|
+
|
626
|
+
// Returns the first index on an array-like that passes a predicate test
|
627
|
+
_.findIndex = createPredicateIndexFinder(1);
|
628
|
+
_.findLastIndex = createPredicateIndexFinder(-1);
|
566
629
|
|
567
|
-
//
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
630
|
+
// Use a comparator function to figure out the smallest index at which
|
631
|
+
// an object should be inserted so as to maintain order. Uses binary search.
|
632
|
+
_.sortedIndex = function(array, obj, iteratee, context) {
|
633
|
+
iteratee = cb(iteratee, context, 1);
|
634
|
+
var value = iteratee(obj);
|
635
|
+
var low = 0, high = getLength(array);
|
636
|
+
while (low < high) {
|
637
|
+
var mid = Math.floor((low + high) / 2);
|
638
|
+
if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;
|
573
639
|
}
|
574
|
-
|
575
|
-
while (i--) if (array[i] === item) return i;
|
576
|
-
return -1;
|
640
|
+
return low;
|
577
641
|
};
|
578
642
|
|
643
|
+
// Generator function to create the indexOf and lastIndexOf functions
|
644
|
+
function createIndexFinder(dir, predicateFind, sortedIndex) {
|
645
|
+
return function(array, item, idx) {
|
646
|
+
var i = 0, length = getLength(array);
|
647
|
+
if (typeof idx == 'number') {
|
648
|
+
if (dir > 0) {
|
649
|
+
i = idx >= 0 ? idx : Math.max(idx + length, i);
|
650
|
+
} else {
|
651
|
+
length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;
|
652
|
+
}
|
653
|
+
} else if (sortedIndex && idx && length) {
|
654
|
+
idx = sortedIndex(array, item);
|
655
|
+
return array[idx] === item ? idx : -1;
|
656
|
+
}
|
657
|
+
if (item !== item) {
|
658
|
+
idx = predicateFind(slice.call(array, i, length), _.isNaN);
|
659
|
+
return idx >= 0 ? idx + i : -1;
|
660
|
+
}
|
661
|
+
for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {
|
662
|
+
if (array[idx] === item) return idx;
|
663
|
+
}
|
664
|
+
return -1;
|
665
|
+
};
|
666
|
+
}
|
667
|
+
|
668
|
+
// Return the position of the first occurrence of an item in an array,
|
669
|
+
// or -1 if the item is not included in the array.
|
670
|
+
// If the array is large and already in sort order, pass `true`
|
671
|
+
// for **isSorted** to use binary search.
|
672
|
+
_.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex);
|
673
|
+
_.lastIndexOf = createIndexFinder(-1, _.findLastIndex);
|
674
|
+
|
579
675
|
// Generate an integer Array containing an arithmetic progression. A port of
|
580
676
|
// the native Python `range()` function. See
|
581
677
|
// [the Python documentation](http://docs.python.org/library/functions.html#range).
|
582
678
|
_.range = function(start, stop, step) {
|
583
|
-
if (
|
679
|
+
if (stop == null) {
|
584
680
|
stop = start || 0;
|
585
681
|
start = 0;
|
586
682
|
}
|
587
|
-
step =
|
683
|
+
step = step || 1;
|
588
684
|
|
589
685
|
var length = Math.max(Math.ceil((stop - start) / step), 0);
|
590
|
-
var
|
591
|
-
var range = new Array(length);
|
686
|
+
var range = Array(length);
|
592
687
|
|
593
|
-
|
594
|
-
range[idx
|
595
|
-
start += step;
|
688
|
+
for (var idx = 0; idx < length; idx++, start += step) {
|
689
|
+
range[idx] = start;
|
596
690
|
}
|
597
691
|
|
598
692
|
return range;
|
@@ -601,26 +695,27 @@
|
|
601
695
|
// Function (ahem) Functions
|
602
696
|
// ------------------
|
603
697
|
|
604
|
-
//
|
605
|
-
|
698
|
+
// Determines whether to execute a function as a constructor
|
699
|
+
// or a normal function with the provided arguments
|
700
|
+
var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) {
|
701
|
+
if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);
|
702
|
+
var self = baseCreate(sourceFunc.prototype);
|
703
|
+
var result = sourceFunc.apply(self, args);
|
704
|
+
if (_.isObject(result)) return result;
|
705
|
+
return self;
|
706
|
+
};
|
606
707
|
|
607
708
|
// Create a function bound to a given object (assigning `this`, and arguments,
|
608
709
|
// optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if
|
609
710
|
// available.
|
610
711
|
_.bind = function(func, context) {
|
611
|
-
var args, bound;
|
612
712
|
if (nativeBind && func.bind === nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));
|
613
|
-
if (!_.isFunction(func)) throw new TypeError;
|
614
|
-
args = slice.call(arguments, 2);
|
615
|
-
|
616
|
-
|
617
|
-
ctor.prototype = func.prototype;
|
618
|
-
var self = new ctor;
|
619
|
-
ctor.prototype = null;
|
620
|
-
var result = func.apply(self, args.concat(slice.call(arguments)));
|
621
|
-
if (Object(result) === result) return result;
|
622
|
-
return self;
|
713
|
+
if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function');
|
714
|
+
var args = slice.call(arguments, 2);
|
715
|
+
var bound = function() {
|
716
|
+
return executeBound(func, bound, context, this, args.concat(slice.call(arguments)));
|
623
717
|
};
|
718
|
+
return bound;
|
624
719
|
};
|
625
720
|
|
626
721
|
// Partially apply a function by creating a version that has had some of its
|
@@ -628,49 +723,55 @@
|
|
628
723
|
// as a placeholder, allowing any combination of arguments to be pre-filled.
|
629
724
|
_.partial = function(func) {
|
630
725
|
var boundArgs = slice.call(arguments, 1);
|
631
|
-
|
632
|
-
var position = 0;
|
633
|
-
var args =
|
634
|
-
for (var i = 0
|
635
|
-
|
726
|
+
var bound = function() {
|
727
|
+
var position = 0, length = boundArgs.length;
|
728
|
+
var args = Array(length);
|
729
|
+
for (var i = 0; i < length; i++) {
|
730
|
+
args[i] = boundArgs[i] === _ ? arguments[position++] : boundArgs[i];
|
636
731
|
}
|
637
732
|
while (position < arguments.length) args.push(arguments[position++]);
|
638
|
-
return func
|
733
|
+
return executeBound(func, bound, this, this, args);
|
639
734
|
};
|
735
|
+
return bound;
|
640
736
|
};
|
641
737
|
|
642
738
|
// Bind a number of an object's methods to that object. Remaining arguments
|
643
739
|
// are the method names to be bound. Useful for ensuring that all callbacks
|
644
740
|
// defined on an object belong to it.
|
645
741
|
_.bindAll = function(obj) {
|
646
|
-
var
|
647
|
-
if (
|
648
|
-
|
742
|
+
var i, length = arguments.length, key;
|
743
|
+
if (length <= 1) throw new Error('bindAll must be passed function names');
|
744
|
+
for (i = 1; i < length; i++) {
|
745
|
+
key = arguments[i];
|
746
|
+
obj[key] = _.bind(obj[key], obj);
|
747
|
+
}
|
649
748
|
return obj;
|
650
749
|
};
|
651
750
|
|
652
751
|
// Memoize an expensive function by storing its results.
|
653
752
|
_.memoize = function(func, hasher) {
|
654
|
-
var
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
return
|
753
|
+
var memoize = function(key) {
|
754
|
+
var cache = memoize.cache;
|
755
|
+
var address = '' + (hasher ? hasher.apply(this, arguments) : key);
|
756
|
+
if (!_.has(cache, address)) cache[address] = func.apply(this, arguments);
|
757
|
+
return cache[address];
|
659
758
|
};
|
759
|
+
memoize.cache = {};
|
760
|
+
return memoize;
|
660
761
|
};
|
661
762
|
|
662
763
|
// Delays a function for the given number of milliseconds, and then calls
|
663
764
|
// it with the arguments supplied.
|
664
765
|
_.delay = function(func, wait) {
|
665
766
|
var args = slice.call(arguments, 2);
|
666
|
-
return setTimeout(function(){
|
767
|
+
return setTimeout(function(){
|
768
|
+
return func.apply(null, args);
|
769
|
+
}, wait);
|
667
770
|
};
|
668
771
|
|
669
772
|
// Defers a function, scheduling it to run after the current call stack has
|
670
773
|
// cleared.
|
671
|
-
_.defer =
|
672
|
-
return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1)));
|
673
|
-
};
|
774
|
+
_.defer = _.partial(_.delay, _, 1);
|
674
775
|
|
675
776
|
// Returns a function, that, when invoked, will only be triggered at most once
|
676
777
|
// during a given window of time. Normally, the throttled function will run
|
@@ -681,12 +782,12 @@
|
|
681
782
|
var context, args, result;
|
682
783
|
var timeout = null;
|
683
784
|
var previous = 0;
|
684
|
-
|
785
|
+
if (!options) options = {};
|
685
786
|
var later = function() {
|
686
787
|
previous = options.leading === false ? 0 : _.now();
|
687
788
|
timeout = null;
|
688
789
|
result = func.apply(context, args);
|
689
|
-
context = args = null;
|
790
|
+
if (!timeout) context = args = null;
|
690
791
|
};
|
691
792
|
return function() {
|
692
793
|
var now = _.now();
|
@@ -694,12 +795,14 @@
|
|
694
795
|
var remaining = wait - (now - previous);
|
695
796
|
context = this;
|
696
797
|
args = arguments;
|
697
|
-
if (remaining <= 0) {
|
698
|
-
|
699
|
-
|
798
|
+
if (remaining <= 0 || remaining > wait) {
|
799
|
+
if (timeout) {
|
800
|
+
clearTimeout(timeout);
|
801
|
+
timeout = null;
|
802
|
+
}
|
700
803
|
previous = now;
|
701
804
|
result = func.apply(context, args);
|
702
|
-
context = args = null;
|
805
|
+
if (!timeout) context = args = null;
|
703
806
|
} else if (!timeout && options.trailing !== false) {
|
704
807
|
timeout = setTimeout(later, remaining);
|
705
808
|
}
|
@@ -716,13 +819,14 @@
|
|
716
819
|
|
717
820
|
var later = function() {
|
718
821
|
var last = _.now() - timestamp;
|
719
|
-
|
822
|
+
|
823
|
+
if (last < wait && last >= 0) {
|
720
824
|
timeout = setTimeout(later, wait - last);
|
721
825
|
} else {
|
722
826
|
timeout = null;
|
723
827
|
if (!immediate) {
|
724
828
|
result = func.apply(context, args);
|
725
|
-
context = args = null;
|
829
|
+
if (!timeout) context = args = null;
|
726
830
|
}
|
727
831
|
}
|
728
832
|
};
|
@@ -732,9 +836,7 @@
|
|
732
836
|
args = arguments;
|
733
837
|
timestamp = _.now();
|
734
838
|
var callNow = immediate && !timeout;
|
735
|
-
if (!timeout)
|
736
|
-
timeout = setTimeout(later, wait);
|
737
|
-
}
|
839
|
+
if (!timeout) timeout = setTimeout(later, wait);
|
738
840
|
if (callNow) {
|
739
841
|
result = func.apply(context, args);
|
740
842
|
context = args = null;
|
@@ -744,19 +846,6 @@
|
|
744
846
|
};
|
745
847
|
};
|
746
848
|
|
747
|
-
// Returns a function that will be executed at most one time, no matter how
|
748
|
-
// often you call it. Useful for lazy initialization.
|
749
|
-
_.once = function(func) {
|
750
|
-
var ran = false, memo;
|
751
|
-
return function() {
|
752
|
-
if (ran) return memo;
|
753
|
-
ran = true;
|
754
|
-
memo = func.apply(this, arguments);
|
755
|
-
func = null;
|
756
|
-
return memo;
|
757
|
-
};
|
758
|
-
};
|
759
|
-
|
760
849
|
// Returns the first function passed as an argument to the second,
|
761
850
|
// allowing you to adjust arguments, run code before and after, and
|
762
851
|
// conditionally execute the original function.
|
@@ -764,20 +853,27 @@
|
|
764
853
|
return _.partial(wrapper, func);
|
765
854
|
};
|
766
855
|
|
856
|
+
// Returns a negated version of the passed-in predicate.
|
857
|
+
_.negate = function(predicate) {
|
858
|
+
return function() {
|
859
|
+
return !predicate.apply(this, arguments);
|
860
|
+
};
|
861
|
+
};
|
862
|
+
|
767
863
|
// Returns a function that is the composition of a list of functions, each
|
768
864
|
// consuming the return value of the function that follows.
|
769
865
|
_.compose = function() {
|
770
|
-
var
|
866
|
+
var args = arguments;
|
867
|
+
var start = args.length - 1;
|
771
868
|
return function() {
|
772
|
-
var
|
773
|
-
|
774
|
-
|
775
|
-
|
776
|
-
return args[0];
|
869
|
+
var i = start;
|
870
|
+
var result = args[start].apply(this, arguments);
|
871
|
+
while (i--) result = args[i].call(this, result);
|
872
|
+
return result;
|
777
873
|
};
|
778
874
|
};
|
779
875
|
|
780
|
-
// Returns a function that will only be executed after
|
876
|
+
// Returns a function that will only be executed on and after the Nth call.
|
781
877
|
_.after = function(times, func) {
|
782
878
|
return function() {
|
783
879
|
if (--times < 1) {
|
@@ -786,16 +882,66 @@
|
|
786
882
|
};
|
787
883
|
};
|
788
884
|
|
885
|
+
// Returns a function that will only be executed up to (but not including) the Nth call.
|
886
|
+
_.before = function(times, func) {
|
887
|
+
var memo;
|
888
|
+
return function() {
|
889
|
+
if (--times > 0) {
|
890
|
+
memo = func.apply(this, arguments);
|
891
|
+
}
|
892
|
+
if (times <= 1) func = null;
|
893
|
+
return memo;
|
894
|
+
};
|
895
|
+
};
|
896
|
+
|
897
|
+
// Returns a function that will be executed at most one time, no matter how
|
898
|
+
// often you call it. Useful for lazy initialization.
|
899
|
+
_.once = _.partial(_.before, 2);
|
900
|
+
|
789
901
|
// Object Functions
|
790
902
|
// ----------------
|
791
903
|
|
792
|
-
//
|
904
|
+
// Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.
|
905
|
+
var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');
|
906
|
+
var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',
|
907
|
+
'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];
|
908
|
+
|
909
|
+
function collectNonEnumProps(obj, keys) {
|
910
|
+
var nonEnumIdx = nonEnumerableProps.length;
|
911
|
+
var constructor = obj.constructor;
|
912
|
+
var proto = (_.isFunction(constructor) && constructor.prototype) || ObjProto;
|
913
|
+
|
914
|
+
// Constructor is a special case.
|
915
|
+
var prop = 'constructor';
|
916
|
+
if (_.has(obj, prop) && !_.contains(keys, prop)) keys.push(prop);
|
917
|
+
|
918
|
+
while (nonEnumIdx--) {
|
919
|
+
prop = nonEnumerableProps[nonEnumIdx];
|
920
|
+
if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, prop)) {
|
921
|
+
keys.push(prop);
|
922
|
+
}
|
923
|
+
}
|
924
|
+
}
|
925
|
+
|
926
|
+
// Retrieve the names of an object's own properties.
|
793
927
|
// Delegates to **ECMAScript 5**'s native `Object.keys`
|
794
928
|
_.keys = function(obj) {
|
795
929
|
if (!_.isObject(obj)) return [];
|
796
930
|
if (nativeKeys) return nativeKeys(obj);
|
797
931
|
var keys = [];
|
798
932
|
for (var key in obj) if (_.has(obj, key)) keys.push(key);
|
933
|
+
// Ahem, IE < 9.
|
934
|
+
if (hasEnumBug) collectNonEnumProps(obj, keys);
|
935
|
+
return keys;
|
936
|
+
};
|
937
|
+
|
938
|
+
// Retrieve all the property names of an object.
|
939
|
+
_.allKeys = function(obj) {
|
940
|
+
if (!_.isObject(obj)) return [];
|
941
|
+
var keys = [];
|
942
|
+
for (var key in obj) keys.push(key);
|
943
|
+
// Ahem, IE < 9.
|
944
|
+
if (hasEnumBug) collectNonEnumProps(obj, keys);
|
799
945
|
return keys;
|
800
946
|
};
|
801
947
|
|
@@ -803,18 +949,33 @@
|
|
803
949
|
_.values = function(obj) {
|
804
950
|
var keys = _.keys(obj);
|
805
951
|
var length = keys.length;
|
806
|
-
var values =
|
952
|
+
var values = Array(length);
|
807
953
|
for (var i = 0; i < length; i++) {
|
808
954
|
values[i] = obj[keys[i]];
|
809
955
|
}
|
810
956
|
return values;
|
811
957
|
};
|
812
958
|
|
959
|
+
// Returns the results of applying the iteratee to each element of the object
|
960
|
+
// In contrast to _.map it returns an object
|
961
|
+
_.mapObject = function(obj, iteratee, context) {
|
962
|
+
iteratee = cb(iteratee, context);
|
963
|
+
var keys = _.keys(obj),
|
964
|
+
length = keys.length,
|
965
|
+
results = {},
|
966
|
+
currentKey;
|
967
|
+
for (var index = 0; index < length; index++) {
|
968
|
+
currentKey = keys[index];
|
969
|
+
results[currentKey] = iteratee(obj[currentKey], currentKey, obj);
|
970
|
+
}
|
971
|
+
return results;
|
972
|
+
};
|
973
|
+
|
813
974
|
// Convert an object into a list of `[key, value]` pairs.
|
814
975
|
_.pairs = function(obj) {
|
815
976
|
var keys = _.keys(obj);
|
816
977
|
var length = keys.length;
|
817
|
-
var pairs =
|
978
|
+
var pairs = Array(length);
|
818
979
|
for (var i = 0; i < length; i++) {
|
819
980
|
pairs[i] = [keys[i], obj[keys[i]]];
|
820
981
|
}
|
@@ -842,47 +1003,65 @@
|
|
842
1003
|
};
|
843
1004
|
|
844
1005
|
// Extend a given object with all the properties in passed-in object(s).
|
845
|
-
_.extend =
|
846
|
-
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
|
853
|
-
|
1006
|
+
_.extend = createAssigner(_.allKeys);
|
1007
|
+
|
1008
|
+
// Assigns a given object with all the own properties in the passed-in object(s)
|
1009
|
+
// (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)
|
1010
|
+
_.extendOwn = _.assign = createAssigner(_.keys);
|
1011
|
+
|
1012
|
+
// Returns the first key on an object that passes a predicate test
|
1013
|
+
_.findKey = function(obj, predicate, context) {
|
1014
|
+
predicate = cb(predicate, context);
|
1015
|
+
var keys = _.keys(obj), key;
|
1016
|
+
for (var i = 0, length = keys.length; i < length; i++) {
|
1017
|
+
key = keys[i];
|
1018
|
+
if (predicate(obj[key], key, obj)) return key;
|
1019
|
+
}
|
854
1020
|
};
|
855
1021
|
|
856
1022
|
// Return a copy of the object only containing the whitelisted properties.
|
857
|
-
_.pick = function(
|
858
|
-
var
|
859
|
-
|
860
|
-
|
861
|
-
|
862
|
-
|
863
|
-
|
1023
|
+
_.pick = function(object, oiteratee, context) {
|
1024
|
+
var result = {}, obj = object, iteratee, keys;
|
1025
|
+
if (obj == null) return result;
|
1026
|
+
if (_.isFunction(oiteratee)) {
|
1027
|
+
keys = _.allKeys(obj);
|
1028
|
+
iteratee = optimizeCb(oiteratee, context);
|
1029
|
+
} else {
|
1030
|
+
keys = flatten(arguments, false, false, 1);
|
1031
|
+
iteratee = function(value, key, obj) { return key in obj; };
|
1032
|
+
obj = Object(obj);
|
1033
|
+
}
|
1034
|
+
for (var i = 0, length = keys.length; i < length; i++) {
|
1035
|
+
var key = keys[i];
|
1036
|
+
var value = obj[key];
|
1037
|
+
if (iteratee(value, key, obj)) result[key] = value;
|
1038
|
+
}
|
1039
|
+
return result;
|
864
1040
|
};
|
865
1041
|
|
866
1042
|
// Return a copy of the object without the blacklisted properties.
|
867
|
-
_.omit = function(obj) {
|
868
|
-
|
869
|
-
|
870
|
-
|
871
|
-
|
1043
|
+
_.omit = function(obj, iteratee, context) {
|
1044
|
+
if (_.isFunction(iteratee)) {
|
1045
|
+
iteratee = _.negate(iteratee);
|
1046
|
+
} else {
|
1047
|
+
var keys = _.map(flatten(arguments, false, false, 1), String);
|
1048
|
+
iteratee = function(value, key) {
|
1049
|
+
return !_.contains(keys, key);
|
1050
|
+
};
|
872
1051
|
}
|
873
|
-
return
|
1052
|
+
return _.pick(obj, iteratee, context);
|
874
1053
|
};
|
875
1054
|
|
876
1055
|
// Fill in a given object with default properties.
|
877
|
-
_.defaults =
|
878
|
-
|
879
|
-
|
880
|
-
|
881
|
-
|
882
|
-
|
883
|
-
|
884
|
-
|
885
|
-
return
|
1056
|
+
_.defaults = createAssigner(_.allKeys, true);
|
1057
|
+
|
1058
|
+
// Creates an object that inherits from the given prototype object.
|
1059
|
+
// If additional properties are provided then they will be added to the
|
1060
|
+
// created object.
|
1061
|
+
_.create = function(prototype, props) {
|
1062
|
+
var result = baseCreate(prototype);
|
1063
|
+
if (props) _.extendOwn(result, props);
|
1064
|
+
return result;
|
886
1065
|
};
|
887
1066
|
|
888
1067
|
// Create a (shallow-cloned) duplicate of an object.
|
@@ -899,11 +1078,24 @@
|
|
899
1078
|
return obj;
|
900
1079
|
};
|
901
1080
|
|
1081
|
+
// Returns whether an object has a given set of `key:value` pairs.
|
1082
|
+
_.isMatch = function(object, attrs) {
|
1083
|
+
var keys = _.keys(attrs), length = keys.length;
|
1084
|
+
if (object == null) return !length;
|
1085
|
+
var obj = Object(object);
|
1086
|
+
for (var i = 0; i < length; i++) {
|
1087
|
+
var key = keys[i];
|
1088
|
+
if (attrs[key] !== obj[key] || !(key in obj)) return false;
|
1089
|
+
}
|
1090
|
+
return true;
|
1091
|
+
};
|
1092
|
+
|
1093
|
+
|
902
1094
|
// Internal recursive comparison function for `isEqual`.
|
903
1095
|
var eq = function(a, b, aStack, bStack) {
|
904
1096
|
// Identical objects are equal. `0 === -0`, but they aren't identical.
|
905
1097
|
// See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).
|
906
|
-
if (a === b) return a !== 0 || 1 / a
|
1098
|
+
if (a === b) return a !== 0 || 1 / a === 1 / b;
|
907
1099
|
// A strict comparison is necessary because `null == undefined`.
|
908
1100
|
if (a == null || b == null) return a === b;
|
909
1101
|
// Unwrap any wrapped objects.
|
@@ -911,98 +1103,98 @@
|
|
911
1103
|
if (b instanceof _) b = b._wrapped;
|
912
1104
|
// Compare `[[Class]]` names.
|
913
1105
|
var className = toString.call(a);
|
914
|
-
if (className
|
1106
|
+
if (className !== toString.call(b)) return false;
|
915
1107
|
switch (className) {
|
916
|
-
// Strings, numbers, dates, and booleans are compared by value.
|
1108
|
+
// Strings, numbers, regular expressions, dates, and booleans are compared by value.
|
1109
|
+
case '[object RegExp]':
|
1110
|
+
// RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')
|
917
1111
|
case '[object String]':
|
918
1112
|
// Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is
|
919
1113
|
// equivalent to `new String("5")`.
|
920
|
-
return a
|
1114
|
+
return '' + a === '' + b;
|
921
1115
|
case '[object Number]':
|
922
|
-
// `NaN`s are equivalent, but non-reflexive.
|
923
|
-
//
|
924
|
-
|
1116
|
+
// `NaN`s are equivalent, but non-reflexive.
|
1117
|
+
// Object(NaN) is equivalent to NaN
|
1118
|
+
if (+a !== +a) return +b !== +b;
|
1119
|
+
// An `egal` comparison is performed for other numeric values.
|
1120
|
+
return +a === 0 ? 1 / +a === 1 / b : +a === +b;
|
925
1121
|
case '[object Date]':
|
926
1122
|
case '[object Boolean]':
|
927
1123
|
// Coerce dates and booleans to numeric primitive values. Dates are compared by their
|
928
1124
|
// millisecond representations. Note that invalid dates with millisecond representations
|
929
1125
|
// of `NaN` are not equivalent.
|
930
|
-
return +a
|
931
|
-
|
932
|
-
|
933
|
-
|
934
|
-
|
935
|
-
|
936
|
-
|
1126
|
+
return +a === +b;
|
1127
|
+
}
|
1128
|
+
|
1129
|
+
var areArrays = className === '[object Array]';
|
1130
|
+
if (!areArrays) {
|
1131
|
+
if (typeof a != 'object' || typeof b != 'object') return false;
|
1132
|
+
|
1133
|
+
// Objects with different constructors are not equivalent, but `Object`s or `Array`s
|
1134
|
+
// from different frames are.
|
1135
|
+
var aCtor = a.constructor, bCtor = b.constructor;
|
1136
|
+
if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor &&
|
1137
|
+
_.isFunction(bCtor) && bCtor instanceof bCtor)
|
1138
|
+
&& ('constructor' in a && 'constructor' in b)) {
|
1139
|
+
return false;
|
1140
|
+
}
|
937
1141
|
}
|
938
|
-
if (typeof a != 'object' || typeof b != 'object') return false;
|
939
1142
|
// Assume equality for cyclic structures. The algorithm for detecting cyclic
|
940
1143
|
// structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.
|
1144
|
+
|
1145
|
+
// Initializing stack of traversed objects.
|
1146
|
+
// It's done here since we only need them for objects and arrays comparison.
|
1147
|
+
aStack = aStack || [];
|
1148
|
+
bStack = bStack || [];
|
941
1149
|
var length = aStack.length;
|
942
1150
|
while (length--) {
|
943
1151
|
// Linear search. Performance is inversely proportional to the number of
|
944
1152
|
// unique nested structures.
|
945
|
-
if (aStack[length]
|
946
|
-
}
|
947
|
-
// Objects with different constructors are not equivalent, but `Object`s
|
948
|
-
// from different frames are.
|
949
|
-
var aCtor = a.constructor, bCtor = b.constructor;
|
950
|
-
if (aCtor !== bCtor && !(_.isFunction(aCtor) && (aCtor instanceof aCtor) &&
|
951
|
-
_.isFunction(bCtor) && (bCtor instanceof bCtor))
|
952
|
-
&& ('constructor' in a && 'constructor' in b)) {
|
953
|
-
return false;
|
1153
|
+
if (aStack[length] === a) return bStack[length] === b;
|
954
1154
|
}
|
1155
|
+
|
955
1156
|
// Add the first object to the stack of traversed objects.
|
956
1157
|
aStack.push(a);
|
957
1158
|
bStack.push(b);
|
958
|
-
|
1159
|
+
|
959
1160
|
// Recursively compare objects and arrays.
|
960
|
-
if (
|
1161
|
+
if (areArrays) {
|
961
1162
|
// Compare array lengths to determine if a deep comparison is necessary.
|
962
|
-
|
963
|
-
|
964
|
-
|
965
|
-
|
966
|
-
|
967
|
-
if (!(result = eq(a[size], b[size], aStack, bStack))) break;
|
968
|
-
}
|
1163
|
+
length = a.length;
|
1164
|
+
if (length !== b.length) return false;
|
1165
|
+
// Deep compare the contents, ignoring non-numeric properties.
|
1166
|
+
while (length--) {
|
1167
|
+
if (!eq(a[length], b[length], aStack, bStack)) return false;
|
969
1168
|
}
|
970
1169
|
} else {
|
971
1170
|
// Deep compare objects.
|
972
|
-
|
973
|
-
|
974
|
-
|
975
|
-
|
976
|
-
|
977
|
-
|
978
|
-
|
979
|
-
|
980
|
-
// Ensure that both objects contain the same number of properties.
|
981
|
-
if (result) {
|
982
|
-
for (key in b) {
|
983
|
-
if (_.has(b, key) && !(size--)) break;
|
984
|
-
}
|
985
|
-
result = !size;
|
1171
|
+
var keys = _.keys(a), key;
|
1172
|
+
length = keys.length;
|
1173
|
+
// Ensure that both objects contain the same number of properties before comparing deep equality.
|
1174
|
+
if (_.keys(b).length !== length) return false;
|
1175
|
+
while (length--) {
|
1176
|
+
// Deep compare each member
|
1177
|
+
key = keys[length];
|
1178
|
+
if (!(_.has(b, key) && eq(a[key], b[key], aStack, bStack))) return false;
|
986
1179
|
}
|
987
1180
|
}
|
988
1181
|
// Remove the first object from the stack of traversed objects.
|
989
1182
|
aStack.pop();
|
990
1183
|
bStack.pop();
|
991
|
-
return
|
1184
|
+
return true;
|
992
1185
|
};
|
993
1186
|
|
994
1187
|
// Perform a deep comparison to check if two objects are equal.
|
995
1188
|
_.isEqual = function(a, b) {
|
996
|
-
return eq(a, b
|
1189
|
+
return eq(a, b);
|
997
1190
|
};
|
998
1191
|
|
999
1192
|
// Is a given array, string, or object empty?
|
1000
1193
|
// An "empty" object has no enumerable own-properties.
|
1001
1194
|
_.isEmpty = function(obj) {
|
1002
1195
|
if (obj == null) return true;
|
1003
|
-
if (_.isArray(obj) || _.isString(obj)) return obj.length === 0;
|
1004
|
-
|
1005
|
-
return true;
|
1196
|
+
if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0;
|
1197
|
+
return _.keys(obj).length === 0;
|
1006
1198
|
};
|
1007
1199
|
|
1008
1200
|
// Is a given value a DOM element?
|
@@ -1013,33 +1205,35 @@
|
|
1013
1205
|
// Is a given value an array?
|
1014
1206
|
// Delegates to ECMA5's native Array.isArray
|
1015
1207
|
_.isArray = nativeIsArray || function(obj) {
|
1016
|
-
return toString.call(obj)
|
1208
|
+
return toString.call(obj) === '[object Array]';
|
1017
1209
|
};
|
1018
1210
|
|
1019
1211
|
// Is a given variable an object?
|
1020
1212
|
_.isObject = function(obj) {
|
1021
|
-
|
1213
|
+
var type = typeof obj;
|
1214
|
+
return type === 'function' || type === 'object' && !!obj;
|
1022
1215
|
};
|
1023
1216
|
|
1024
|
-
// Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp.
|
1025
|
-
each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp'], function(name) {
|
1217
|
+
// Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError.
|
1218
|
+
_.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error'], function(name) {
|
1026
1219
|
_['is' + name] = function(obj) {
|
1027
|
-
return toString.call(obj)
|
1220
|
+
return toString.call(obj) === '[object ' + name + ']';
|
1028
1221
|
};
|
1029
1222
|
});
|
1030
1223
|
|
1031
|
-
// Define a fallback version of the method in browsers (ahem, IE), where
|
1224
|
+
// Define a fallback version of the method in browsers (ahem, IE < 9), where
|
1032
1225
|
// there isn't any inspectable "Arguments" type.
|
1033
1226
|
if (!_.isArguments(arguments)) {
|
1034
1227
|
_.isArguments = function(obj) {
|
1035
|
-
return
|
1228
|
+
return _.has(obj, 'callee');
|
1036
1229
|
};
|
1037
1230
|
}
|
1038
1231
|
|
1039
|
-
// Optimize `isFunction` if appropriate.
|
1040
|
-
|
1232
|
+
// Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8,
|
1233
|
+
// IE 11 (#1621), and in Safari 8 (#1929).
|
1234
|
+
if (typeof /./ != 'function' && typeof Int8Array != 'object') {
|
1041
1235
|
_.isFunction = function(obj) {
|
1042
|
-
return typeof obj
|
1236
|
+
return typeof obj == 'function' || false;
|
1043
1237
|
};
|
1044
1238
|
}
|
1045
1239
|
|
@@ -1050,12 +1244,12 @@
|
|
1050
1244
|
|
1051
1245
|
// Is the given value `NaN`? (NaN is the only number which does not equal itself).
|
1052
1246
|
_.isNaN = function(obj) {
|
1053
|
-
return _.isNumber(obj) && obj
|
1247
|
+
return _.isNumber(obj) && obj !== +obj;
|
1054
1248
|
};
|
1055
1249
|
|
1056
1250
|
// Is a given value a boolean?
|
1057
1251
|
_.isBoolean = function(obj) {
|
1058
|
-
return obj === true || obj === false || toString.call(obj)
|
1252
|
+
return obj === true || obj === false || toString.call(obj) === '[object Boolean]';
|
1059
1253
|
};
|
1060
1254
|
|
1061
1255
|
// Is a given value equal to null?
|
@@ -1071,7 +1265,7 @@
|
|
1071
1265
|
// Shortcut function for checking if an object has a given property directly
|
1072
1266
|
// on itself (in other words, not on a prototype).
|
1073
1267
|
_.has = function(obj, key) {
|
1074
|
-
return hasOwnProperty.call(obj, key);
|
1268
|
+
return obj != null && hasOwnProperty.call(obj, key);
|
1075
1269
|
};
|
1076
1270
|
|
1077
1271
|
// Utility Functions
|
@@ -1084,39 +1278,43 @@
|
|
1084
1278
|
return this;
|
1085
1279
|
};
|
1086
1280
|
|
1087
|
-
// Keep the identity function around for default
|
1281
|
+
// Keep the identity function around for default iteratees.
|
1088
1282
|
_.identity = function(value) {
|
1089
1283
|
return value;
|
1090
1284
|
};
|
1091
1285
|
|
1286
|
+
// Predicate-generating functions. Often useful outside of Underscore.
|
1092
1287
|
_.constant = function(value) {
|
1093
|
-
return function
|
1288
|
+
return function() {
|
1094
1289
|
return value;
|
1095
1290
|
};
|
1096
1291
|
};
|
1097
1292
|
|
1098
|
-
_.
|
1099
|
-
|
1293
|
+
_.noop = function(){};
|
1294
|
+
|
1295
|
+
_.property = property;
|
1296
|
+
|
1297
|
+
// Generates a function for a given object that returns a given property.
|
1298
|
+
_.propertyOf = function(obj) {
|
1299
|
+
return obj == null ? function(){} : function(key) {
|
1100
1300
|
return obj[key];
|
1101
1301
|
};
|
1102
1302
|
};
|
1103
1303
|
|
1104
|
-
// Returns a predicate for checking whether an object has a given set of
|
1105
|
-
|
1304
|
+
// Returns a predicate for checking whether an object has a given set of
|
1305
|
+
// `key:value` pairs.
|
1306
|
+
_.matcher = _.matches = function(attrs) {
|
1307
|
+
attrs = _.extendOwn({}, attrs);
|
1106
1308
|
return function(obj) {
|
1107
|
-
|
1108
|
-
|
1109
|
-
if (attrs[key] !== obj[key])
|
1110
|
-
return false;
|
1111
|
-
}
|
1112
|
-
return true;
|
1113
|
-
}
|
1309
|
+
return _.isMatch(obj, attrs);
|
1310
|
+
};
|
1114
1311
|
};
|
1115
1312
|
|
1116
1313
|
// Run a function **n** times.
|
1117
|
-
_.times = function(n,
|
1314
|
+
_.times = function(n, iteratee, context) {
|
1118
1315
|
var accum = Array(Math.max(0, n));
|
1119
|
-
|
1316
|
+
iteratee = optimizeCb(iteratee, context, 1);
|
1317
|
+
for (var i = 0; i < n; i++) accum[i] = iteratee(i);
|
1120
1318
|
return accum;
|
1121
1319
|
};
|
1122
1320
|
|
@@ -1130,56 +1328,48 @@
|
|
1130
1328
|
};
|
1131
1329
|
|
1132
1330
|
// A (possibly faster) way to get the current timestamp as an integer.
|
1133
|
-
_.now = Date.now || function() {
|
1134
|
-
|
1135
|
-
// List of HTML entities for escaping.
|
1136
|
-
var entityMap = {
|
1137
|
-
escape: {
|
1138
|
-
'&': '&',
|
1139
|
-
'<': '<',
|
1140
|
-
'>': '>',
|
1141
|
-
'"': '"',
|
1142
|
-
"'": '''
|
1143
|
-
}
|
1331
|
+
_.now = Date.now || function() {
|
1332
|
+
return new Date().getTime();
|
1144
1333
|
};
|
1145
|
-
entityMap.unescape = _.invert(entityMap.escape);
|
1146
1334
|
|
1147
|
-
|
1148
|
-
var
|
1149
|
-
|
1150
|
-
|
1335
|
+
// List of HTML entities for escaping.
|
1336
|
+
var escapeMap = {
|
1337
|
+
'&': '&',
|
1338
|
+
'<': '<',
|
1339
|
+
'>': '>',
|
1340
|
+
'"': '"',
|
1341
|
+
"'": ''',
|
1342
|
+
'`': '`'
|
1151
1343
|
};
|
1344
|
+
var unescapeMap = _.invert(escapeMap);
|
1152
1345
|
|
1153
1346
|
// Functions for escaping and unescaping strings to/from HTML interpolation.
|
1154
|
-
|
1155
|
-
|
1156
|
-
|
1157
|
-
return ('' + string).replace(entityRegexes[method], function(match) {
|
1158
|
-
return entityMap[method][match];
|
1159
|
-
});
|
1347
|
+
var createEscaper = function(map) {
|
1348
|
+
var escaper = function(match) {
|
1349
|
+
return map[match];
|
1160
1350
|
};
|
1161
|
-
|
1351
|
+
// Regexes for identifying a key that needs to be escaped
|
1352
|
+
var source = '(?:' + _.keys(map).join('|') + ')';
|
1353
|
+
var testRegexp = RegExp(source);
|
1354
|
+
var replaceRegexp = RegExp(source, 'g');
|
1355
|
+
return function(string) {
|
1356
|
+
string = string == null ? '' : '' + string;
|
1357
|
+
return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;
|
1358
|
+
};
|
1359
|
+
};
|
1360
|
+
_.escape = createEscaper(escapeMap);
|
1361
|
+
_.unescape = createEscaper(unescapeMap);
|
1162
1362
|
|
1163
1363
|
// If the value of the named `property` is a function then invoke it with the
|
1164
1364
|
// `object` as context; otherwise, return it.
|
1165
|
-
_.result = function(object, property) {
|
1166
|
-
|
1167
|
-
|
1365
|
+
_.result = function(object, property, fallback) {
|
1366
|
+
var value = object == null ? void 0 : object[property];
|
1367
|
+
if (value === void 0) {
|
1368
|
+
value = fallback;
|
1369
|
+
}
|
1168
1370
|
return _.isFunction(value) ? value.call(object) : value;
|
1169
1371
|
};
|
1170
1372
|
|
1171
|
-
// Add your own custom functions to the Underscore object.
|
1172
|
-
_.mixin = function(obj) {
|
1173
|
-
each(_.functions(obj), function(name) {
|
1174
|
-
var func = _[name] = obj[name];
|
1175
|
-
_.prototype[name] = function() {
|
1176
|
-
var args = [this._wrapped];
|
1177
|
-
push.apply(args, arguments);
|
1178
|
-
return result.call(this, func.apply(_, args));
|
1179
|
-
};
|
1180
|
-
});
|
1181
|
-
};
|
1182
|
-
|
1183
1373
|
// Generate a unique integer id (unique within the entire client session).
|
1184
1374
|
// Useful for temporary DOM ids.
|
1185
1375
|
var idCounter = 0;
|
@@ -1208,22 +1398,26 @@
|
|
1208
1398
|
'\\': '\\',
|
1209
1399
|
'\r': 'r',
|
1210
1400
|
'\n': 'n',
|
1211
|
-
'\t': 't',
|
1212
1401
|
'\u2028': 'u2028',
|
1213
1402
|
'\u2029': 'u2029'
|
1214
1403
|
};
|
1215
1404
|
|
1216
|
-
var escaper = /\\|'|\r|\n|\
|
1405
|
+
var escaper = /\\|'|\r|\n|\u2028|\u2029/g;
|
1406
|
+
|
1407
|
+
var escapeChar = function(match) {
|
1408
|
+
return '\\' + escapes[match];
|
1409
|
+
};
|
1217
1410
|
|
1218
1411
|
// JavaScript micro-templating, similar to John Resig's implementation.
|
1219
1412
|
// Underscore templating handles arbitrary delimiters, preserves whitespace,
|
1220
1413
|
// and correctly escapes quotes within interpolated code.
|
1221
|
-
|
1222
|
-
|
1414
|
+
// NB: `oldSettings` only exists for backwards compatibility.
|
1415
|
+
_.template = function(text, settings, oldSettings) {
|
1416
|
+
if (!settings && oldSettings) settings = oldSettings;
|
1223
1417
|
settings = _.defaults({}, settings, _.templateSettings);
|
1224
1418
|
|
1225
1419
|
// Combine delimiters into one regular expression via alternation.
|
1226
|
-
var matcher =
|
1420
|
+
var matcher = RegExp([
|
1227
1421
|
(settings.escape || noMatch).source,
|
1228
1422
|
(settings.interpolate || noMatch).source,
|
1229
1423
|
(settings.evaluate || noMatch).source
|
@@ -1233,19 +1427,18 @@
|
|
1233
1427
|
var index = 0;
|
1234
1428
|
var source = "__p+='";
|
1235
1429
|
text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {
|
1236
|
-
source += text.slice(index, offset)
|
1237
|
-
|
1430
|
+
source += text.slice(index, offset).replace(escaper, escapeChar);
|
1431
|
+
index = offset + match.length;
|
1238
1432
|
|
1239
1433
|
if (escape) {
|
1240
1434
|
source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'";
|
1241
|
-
}
|
1242
|
-
if (interpolate) {
|
1435
|
+
} else if (interpolate) {
|
1243
1436
|
source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'";
|
1244
|
-
}
|
1245
|
-
if (evaluate) {
|
1437
|
+
} else if (evaluate) {
|
1246
1438
|
source += "';\n" + evaluate + "\n__p+='";
|
1247
1439
|
}
|
1248
|
-
|
1440
|
+
|
1441
|
+
// Adobe VMs need the match returned to produce the correct offest.
|
1249
1442
|
return match;
|
1250
1443
|
});
|
1251
1444
|
source += "';\n";
|
@@ -1255,29 +1448,31 @@
|
|
1255
1448
|
|
1256
1449
|
source = "var __t,__p='',__j=Array.prototype.join," +
|
1257
1450
|
"print=function(){__p+=__j.call(arguments,'');};\n" +
|
1258
|
-
source +
|
1451
|
+
source + 'return __p;\n';
|
1259
1452
|
|
1260
1453
|
try {
|
1261
|
-
render = new Function(settings.variable || 'obj', '_', source);
|
1454
|
+
var render = new Function(settings.variable || 'obj', '_', source);
|
1262
1455
|
} catch (e) {
|
1263
1456
|
e.source = source;
|
1264
1457
|
throw e;
|
1265
1458
|
}
|
1266
1459
|
|
1267
|
-
if (data) return render(data, _);
|
1268
1460
|
var template = function(data) {
|
1269
1461
|
return render.call(this, data, _);
|
1270
1462
|
};
|
1271
1463
|
|
1272
|
-
// Provide the compiled
|
1273
|
-
|
1464
|
+
// Provide the compiled source as a convenience for precompilation.
|
1465
|
+
var argument = settings.variable || 'obj';
|
1466
|
+
template.source = 'function(' + argument + '){\n' + source + '}';
|
1274
1467
|
|
1275
1468
|
return template;
|
1276
1469
|
};
|
1277
1470
|
|
1278
|
-
// Add a "chain" function
|
1471
|
+
// Add a "chain" function. Start chaining a wrapped Underscore object.
|
1279
1472
|
_.chain = function(obj) {
|
1280
|
-
|
1473
|
+
var instance = _(obj);
|
1474
|
+
instance._chain = true;
|
1475
|
+
return instance;
|
1281
1476
|
};
|
1282
1477
|
|
1283
1478
|
// OOP
|
@@ -1287,46 +1482,56 @@
|
|
1287
1482
|
// underscore functions. Wrapped objects may be chained.
|
1288
1483
|
|
1289
1484
|
// Helper function to continue chaining intermediate results.
|
1290
|
-
var result = function(obj) {
|
1291
|
-
return
|
1485
|
+
var result = function(instance, obj) {
|
1486
|
+
return instance._chain ? _(obj).chain() : obj;
|
1487
|
+
};
|
1488
|
+
|
1489
|
+
// Add your own custom functions to the Underscore object.
|
1490
|
+
_.mixin = function(obj) {
|
1491
|
+
_.each(_.functions(obj), function(name) {
|
1492
|
+
var func = _[name] = obj[name];
|
1493
|
+
_.prototype[name] = function() {
|
1494
|
+
var args = [this._wrapped];
|
1495
|
+
push.apply(args, arguments);
|
1496
|
+
return result(this, func.apply(_, args));
|
1497
|
+
};
|
1498
|
+
});
|
1292
1499
|
};
|
1293
1500
|
|
1294
1501
|
// Add all of the Underscore functions to the wrapper object.
|
1295
1502
|
_.mixin(_);
|
1296
1503
|
|
1297
1504
|
// Add all mutator Array functions to the wrapper.
|
1298
|
-
each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {
|
1505
|
+
_.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {
|
1299
1506
|
var method = ArrayProto[name];
|
1300
1507
|
_.prototype[name] = function() {
|
1301
1508
|
var obj = this._wrapped;
|
1302
1509
|
method.apply(obj, arguments);
|
1303
|
-
if ((name
|
1304
|
-
return result
|
1510
|
+
if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0];
|
1511
|
+
return result(this, obj);
|
1305
1512
|
};
|
1306
1513
|
});
|
1307
1514
|
|
1308
1515
|
// Add all accessor Array functions to the wrapper.
|
1309
|
-
each(['concat', 'join', 'slice'], function(name) {
|
1516
|
+
_.each(['concat', 'join', 'slice'], function(name) {
|
1310
1517
|
var method = ArrayProto[name];
|
1311
1518
|
_.prototype[name] = function() {
|
1312
|
-
return result
|
1519
|
+
return result(this, method.apply(this._wrapped, arguments));
|
1313
1520
|
};
|
1314
1521
|
});
|
1315
1522
|
|
1316
|
-
|
1317
|
-
|
1318
|
-
|
1319
|
-
|
1320
|
-
this._chain = true;
|
1321
|
-
return this;
|
1322
|
-
},
|
1523
|
+
// Extracts the result from a wrapped and chained object.
|
1524
|
+
_.prototype.value = function() {
|
1525
|
+
return this._wrapped;
|
1526
|
+
};
|
1323
1527
|
|
1324
|
-
|
1325
|
-
|
1326
|
-
|
1327
|
-
}
|
1528
|
+
// Provide unwrapping proxy for some methods used in engine operations
|
1529
|
+
// such as arithmetic and JSON stringification.
|
1530
|
+
_.prototype.valueOf = _.prototype.toJSON = _.prototype.value;
|
1328
1531
|
|
1329
|
-
|
1532
|
+
_.prototype.toString = function() {
|
1533
|
+
return '' + this._wrapped;
|
1534
|
+
};
|
1330
1535
|
|
1331
1536
|
// AMD registration happens at the end for compatibility with AMD loaders
|
1332
1537
|
// that may not enforce next-turn semantics on modules. Even though general
|
@@ -1340,4 +1545,4 @@
|
|
1340
1545
|
return _;
|
1341
1546
|
});
|
1342
1547
|
}
|
1343
|
-
}
|
1548
|
+
}.call(this));
|