jekyll_pages_api_search 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 95458b7591198de57362c26d126a2750c2d77109
4
+ data.tar.gz: a82d61d17b53b54b975d678d3579e9a205138d16
5
+ SHA512:
6
+ metadata.gz: 7961a1c5c1b4ed84e405a9a62badd77deca8bd22015f3c5e6a4828f60ee2e3a14893f79476f19f417566f95be165ec0a8bfa963349080a14749e4adcd7f19f38
7
+ data.tar.gz: f52a6617304044e10b0c28ebe23ab79e98c46511bbb3587dca58bd1346cb0dd6dcdfb86532bfd5241a580b7455a0199d1185dfda9b7428a56b3b9bbecaceecda
@@ -0,0 +1,15 @@
1
+ ## Welcome!
2
+
3
+ We're so glad you're thinking about contributing to an 18F open source project! If you're unsure or afraid of anything, just ask or submit the issue or pull request anyways. The worst that can happen is that you'll be politely asked to change something. We appreciate any sort of contribution, and don't want a wall of rules to get in the way of that.
4
+
5
+ Before contributing, we encourage you to read our CONTRIBUTING policy (you are here), our LICENSE, and our README, all of which should be in this repository. If you have any questions, or want to read more about our underlying policies, you can consult the 18F Open Source Policy GitHub repository at https://github.com/18f/open-source-policy, or just shoot us an email/official government letterhead note to [18f@gsa.gov](mailto:18f@gsa.gov).
6
+
7
+ ## Public domain
8
+
9
+ This project is in the public domain within the United States, and
10
+ copyright and related rights in the work worldwide are waived through
11
+ the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/).
12
+
13
+ All contributions to this project will be released under the CC0
14
+ dedication. By submitting a pull request, you are agreeing to comply
15
+ with this waiver of copyright interest.
@@ -0,0 +1,31 @@
1
+ As a work of the United States Government, this project is in the
2
+ public domain within the United States.
3
+
4
+ Additionally, we waive copyright and related rights in the work
5
+ worldwide through the CC0 1.0 Universal public domain dedication.
6
+
7
+ ## CC0 1.0 Universal Summary
8
+
9
+ This is a human-readable summary of the [Legal Code (read the full text)](https://creativecommons.org/publicdomain/zero/1.0/legalcode).
10
+
11
+ ### No Copyright
12
+
13
+ The person who associated a work with this deed has dedicated the work to
14
+ the public domain by waiving all of his or her rights to the work worldwide
15
+ under copyright law, including all related and neighboring rights, to the
16
+ extent allowed by law.
17
+
18
+ You can copy, modify, distribute and perform the work, even for commercial
19
+ purposes, all without asking permission.
20
+
21
+ ### Other Information
22
+
23
+ In no way are the patent or trademark rights of any person affected by CC0,
24
+ nor are the rights that other persons may have in the work or in how the
25
+ work is used, such as publicity or privacy rights.
26
+
27
+ Unless expressly stated otherwise, the person who associated a work with
28
+ this deed makes no warranties about the work, and disclaims liability for
29
+ all uses of the work, to the fullest extent permitted by applicable law.
30
+ When using or citing the work, you should not imply endorsement by the
31
+ author or the affirmer.
@@ -0,0 +1,144 @@
1
+ ## jekyll_pages_api_search Plugin
2
+
3
+ This Ruby gem adds a [lunr.js](http://lunrjs.com) search index to a
4
+ [Jekyll](http://jekyllrb.com/)-based web site.
5
+
6
+ The search index is generated and compressed automatically via `jekyll build`
7
+ or `jekyll serve`. The supporting JavaScript code is optimized, compressed,
8
+ and loads asynchronously. These features ensure that the preparation of the
9
+ search index does not introduce rendering latency in the browser.
10
+
11
+ ### Installation
12
+
13
+ Add this line to your Jekyll project's `Gemfile`:
14
+
15
+ ```ruby
16
+ group :jekyll_plugins do
17
+ gem 'jekyll_pages_api_search'
18
+ end
19
+ ```
20
+
21
+ Then add the following to the project's `_config.yml` file:
22
+
23
+ ```yaml
24
+ # Configuration for jekyll_pages_api_search plugin gem.
25
+ jekyll_pages_api_search:
26
+ # Uncomment this to speed up site generation while developing.
27
+ #skip_index: true
28
+
29
+ # Each member of `index_fields` should correspond to a field generated by
30
+ # the jekyll_pages_api. It can hold an optional `boost` member as a signal
31
+ # to Lunr.js to weight the field more highly (default is 1).
32
+ index_fields:
33
+ title:
34
+ boost: 10
35
+ tags:
36
+ boost: 10
37
+ url:
38
+ boost: 5
39
+ body:
40
+ ```
41
+
42
+ Now running `jekyll build` or `jekyll serve` will produce `search-index.json`
43
+ and `search-index.json.gz` files in the `_site` directory (or other output
44
+ directory, as configured).
45
+
46
+ If you're running [Nginx](http://nginx.org), you may want to use the
47
+ [`gzip_static on`
48
+ directive](http://nginx.org/en/docs/http/ngx_http_gzip_static_module.html)
49
+ to take advantage of the gzipped versions of the search index and supporting
50
+ JavaScript.
51
+
52
+ ### Usage
53
+
54
+ To add the index to your pages, insert the following tags in your `_layouts`
55
+ and `_includes` files as you see fit:
56
+
57
+ - `{% jekyll_pages_api_search_interface %}`: inserts the HTML for the search
58
+ box and search results
59
+ - `{% jekyll_pages_api_search_load %}`: inserts the `<script>` tags to load
60
+ the search code asynchronously; the search code will then load
61
+ `search-index.json` asynchronously
62
+
63
+ You can also add `@import "jekyll_pages_api_search";` to one of your [Sass
64
+ assets](http://jekyllrb.com/docs/assets/) to use the default interface style.
65
+
66
+ ### Customization
67
+
68
+ If you prefer to craft your own versions of these tags and styles, you can
69
+ capture the output of these tags and the Sass `@import` statement, then create
70
+ new tags or included files based on this output, careful not to change
71
+ anything that causes the interaction between these components to fail.
72
+
73
+ Alternately, you can inspect the code of this Gem (all paths relative to
74
+ `lib/jekyll_pages_api_search/`):
75
+
76
+ - `{% jekyll_pages_api_search_interface %}`: includes `search.html`
77
+ - `{% jekyll_pages_api_search_load %}`: generated by the `LoadSearchTag` class
78
+ from `tags.rb`
79
+ - `@import "jekyll_pages_api_search";`: includes
80
+ `sass/jekyll_pages_api_search.scss`
81
+
82
+ ### Under the hood
83
+
84
+ This plugin depends on [jQuery](https://jquery.com/),
85
+ [AngularJS](https://angularjs.org/), and
86
+ [angular-livesearch](https://github.com/mauriciogentile/angular-livesearch).
87
+
88
+ All of these components are bundled together with `assets/js/search.js` into
89
+ `assets/js/search-bundle.js` using [Browserify](http://browserify.org/). If
90
+ you already use some of these components, you may wish to fetch the
91
+ `assets/js/search.js` file directly from this repository and use
92
+ `package.json` and `bower.json` as a guide to update or create your own
93
+ Browserify configuration.
94
+
95
+ ### Developing
96
+
97
+ Building the gem requires [Node.js](https://nodejs.org/) and several Node
98
+ packages. The `Rakefile` will prompt you to install Node.js and any packages
99
+ that are missing from your system when running `bundle exec rake build`.
100
+
101
+ * Run `bundle` to install any necessary gems.
102
+ * Run `bundle exec rake -T` to get a list of build commands and descriptions.
103
+ * Run `bundle exec rake update_js_components` download and install the latest
104
+ JavaScript components listed in `bower.json`.
105
+ * Run `bundle exec rake test` to run the tests.
106
+ * Run `bundle exec rake build` to ensure the entire gem can build.
107
+ * Commit an update to bump the version number of
108
+ `lib/jekyll_pages_api_search/version.rb` before running `bundle exec rake
109
+ release`.
110
+
111
+ While developing this gem, add this to the Gemfile of any project using the
112
+ gem to try out your changes (presuming the project's working directory is a
113
+ sibling of the gem's working directory):
114
+
115
+ ```ruby
116
+ group :jekyll_plugins do
117
+ gem 'jekyll_pages_api_search', :path => '../jekyll_pages_api_search'
118
+ end
119
+ ```
120
+
121
+ ### Contributing
122
+
123
+ 1. Fork the repo (or just clone it if you're an 18F team member)
124
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
125
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
126
+ 4. Push to the branch (`git push origin my-new-feature`)
127
+ 5. Create a new Pull Request
128
+
129
+ Feel free to ping [@mbland](https://github.com/mbland) with any questions you
130
+ may have, especially if the current documentation should've addressed your
131
+ needs, but didn't.
132
+
133
+ ### Public domain
134
+
135
+ This project is in the worldwide [public domain](LICENSE.md). As stated in
136
+ [CONTRIBUTING](CONTRIBUTING.md):
137
+
138
+ > This project is in the public domain within the United States, and copyright
139
+ > and related rights in the work worldwide are waived through the
140
+ > [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/).
141
+ >
142
+ > All contributions to this project will be released under the CC0 dedication.
143
+ > By submitting a pull request, you are agreeing to comply with this waiver of
144
+ > copyright interest.
@@ -0,0 +1,17 @@
1
+ (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
2
+ "use strict";angular.module("LiveSearch",["ng"]).directive("liveSearch",["$compile","$timeout",function(e,l){return{restrict:"E",replace:!0,scope:{liveSearchCallback:"=",liveSearchSelect:"=?",liveSearchSelectCallback:"=",liveSearchItemTemplate:"@",liveSearchWaitTimeout:"=?",liveSearchMaxResultSize:"=?",liveSearchMaxlength:"=?"},template:"<input type='text' />",link:function(t,i,c,n){var a;t.results=[],t.visible=!1,t.selectedIndex=-1,t.select=function(e){t.selectedIndex=e,t.visible=!1},t.isSelected=function(e){return t.selectedIndex===e},t.$watch("selectedIndex",function(e,l){var n=t.results[e];if(n)if(c.liveSearchSelectCallback){var a=t.liveSearchSelectCallback.call(null,{items:t.results,item:n});i.val(a)}else c.liveSearchSelect?i.val(n[c.liveSearchSelect]):i.val(n);"undefined"!==i.controller("ngModel")&&i.controller("ngModel").$setViewValue(i.val())}),t.$watch("visible",function(e,l){if(e!==!1){t.width=i[0].clientWidth;var c=r(i[0]);t.top=c.y+i[0].clientHeight+1+"px",t.left=c.x+"px"}}),i[0].onkeydown=function(e){40==e.keyCode?t.selectedIndex+1===t.results.length?t.selectedIndex=0:t.selectedIndex++:38==e.keyCode&&(0===t.selectedIndex?t.selectedIndex=t.results.length-1:-1==t.selectedIndex?t.selectedIndex=0:t.selectedIndex--),13==e.keyCode&&(t.visible=!1),t.$apply()},i[0].onkeyup=function(e){if(13==e.keyCode||37==e.keyCode||38==e.keyCode||39==e.keyCode||40==e.keyCode)return!1;var c=i;l.cancel(a);var n=c.val().split(","),r=n[n.length-1].trim();return r.length<3||null!==t.liveSearchMaxlength&&r.length>t.liveSearchMaxlength?(t.visible=!1,void t.$apply()):void(a=l(function(){var e=[],l=t.liveSearchCallback.call(null,{query:r});l.then(function(l){l&&(e=l.slice(0,(t.liveSearchMaxResultSize||20)-1)),t.visible=!0}),l["finally"](function(){t.selectedIndex=-1,t.results=e.filter(function(l,t){return e.indexOf(l)==t})})},t.liveSearchWaitTimeout||100))};var r=function(e){for(var l=0,t=0;e;)l+=e.offsetLeft-e.scrollLeft+e.clientLeft,t+=e.offsetTop-e.scrollTop+e.clientTop,e=e.offsetParent;return{x:l,y:t}},s=i.attr("live-search-item-template")||"{{result}}",d="<ul ng-show='visible' ng-style=\"{'top':top,'left':left,'width':width}\" class='searchresultspopup'><li ng-class=\"{ 'selected' : isSelected($index) }\" ng-click='select($index)' ng-repeat='result in results'>"+s+"</li></ul>",o=e(d)(t);document.body.appendChild(o[0])}}}]);
3
+
4
+ },{}],2:[function(require,module,exports){
5
+ (function (global){
6
+ var __browserify_shim_require__=require;(function(t,e,n,r,i){!function(t,e,n){"use strict";function r(t){return function(){var e,n,r=arguments[0],i="["+(t?t+":":"")+r+"] ",o=arguments[1],a=arguments,s=function(t){return"function"==typeof t?t.toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof t?"undefined":"string"!=typeof t?JSON.stringify(t):t};for(e=i+o.replace(/\{\d+\}/g,function(t){var e,n=+t.slice(1,-1);return n+2<a.length?(e=a[n+2],"function"==typeof e?e.toString().replace(/ ?\{[\s\S]*$/,""):"undefined"==typeof e?"undefined":"string"!=typeof e?L(e):e):t}),e=e+"\nhttp://errors.angularjs.org/1.2.28/"+(t?t+"/":"")+r,n=2;n<arguments.length;n++)e=e+(2==n?"?":"&")+"p"+(n-2)+"="+encodeURIComponent(s(arguments[n]));return new Error(e)}}function i(t){if(null==t||k(t))return!1;var e=t.length;return 1===t.nodeType&&e?!0:w(t)||Nn(t)||0===e||"number"==typeof e&&e>0&&e-1 in t}function o(t,e,n){var r;if(t)if(S(t))for(r in t)"prototype"==r||"length"==r||"name"==r||t.hasOwnProperty&&!t.hasOwnProperty(r)||e.call(n,t[r],r);else if(Nn(t)||i(t))for(r=0;r<t.length;r++)e.call(n,t[r],r);else if(t.forEach&&t.forEach!==o)t.forEach(e,n);else for(r in t)t.hasOwnProperty(r)&&e.call(n,t[r],r);return t}function a(t){var e=[];for(var n in t)t.hasOwnProperty(n)&&e.push(n);return e.sort()}function s(t,e,n){for(var r=a(t),i=0;i<r.length;i++)e.call(n,t[r[i]],r[i]);return r}function u(t){return function(e,n){t(n,e)}}function c(){for(var t,e=Mn.length;e;){if(e--,t=Mn[e].charCodeAt(0),57==t)return Mn[e]="A",Mn.join("");if(90!=t)return Mn[e]=String.fromCharCode(t+1),Mn.join("");Mn[e]="0"}return Mn.unshift("0"),Mn.join("")}function l(t,e){e?t.$$hashKey=e:delete t.$$hashKey}function f(t){var e=t.$$hashKey;return o(arguments,function(e){e!==t&&o(e,function(e,n){t[n]=e})}),l(t,e),t}function h(t){return parseInt(t,10)}function p(t,e){return f(new(f(function(){},{prototype:t})),e)}function d(){}function $(t){return t}function v(t){return function(){return t}}function g(t){return"undefined"==typeof t}function m(t){return"undefined"!=typeof t}function y(t){return null!=t&&"object"==typeof t}function w(t){return"string"==typeof t}function b(t){return"number"==typeof t}function x(t){return"[object Date]"===An.call(t)}function S(t){return"function"==typeof t}function C(t){return"[object RegExp]"===An.call(t)}function k(t){return t&&t.document&&t.location&&t.alert&&t.setInterval}function E(t){return t&&t.$evalAsync&&t.$watch}function A(t){return"[object File]"===An.call(t)}function O(t){return"[object Blob]"===An.call(t)}function T(t){return t&&S(t.then)}function M(t){return!(!t||!(t.nodeName||t.prop&&t.attr&&t.find))}function N(t,e,n){var r=[];return o(t,function(t,i,o){r.push(e.call(n,t,i,o))}),r}function P(t,e){return-1!=j(t,e)}function j(t,e){if(t.indexOf)return t.indexOf(e);for(var n=0;n<t.length;n++)if(e===t[n])return n;return-1}function D(t,e){var n=j(t,e);return n>=0&&t.splice(n,1),e}function R(t,e,n,r){if(k(t)||E(t))throw On("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");if(e){if(t===e)throw On("cpi","Can't copy! Source and destination are identical.");if(n=n||[],r=r||[],y(t)){var i=j(n,t);if(-1!==i)return r[i];n.push(t),r.push(e)}var a;if(Nn(t)){e.length=0;for(var s=0;s<t.length;s++)a=R(t[s],null,n,r),y(t[s])&&(n.push(t[s]),r.push(a)),e.push(a)}else{var u=e.$$hashKey;Nn(e)?e.length=0:o(e,function(t,n){delete e[n]});for(var c in t)a=R(t[c],null,n,r),y(t[c])&&(n.push(t[c]),r.push(a)),e[c]=a;l(e,u)}}else e=t,t&&(Nn(t)?e=R(t,[],n,r):x(t)?e=new Date(t.getTime()):C(t)?(e=new RegExp(t.source,t.toString().match(/[^\/]*$/)[0]),e.lastIndex=t.lastIndex):y(t)&&(e=R(t,{},n,r)));return e}function _(t,e){if(Nn(t)){e=e||[];for(var n=0;n<t.length;n++)e[n]=t[n]}else if(y(t)){e=e||{};for(var r in t)!vn.call(t,r)||"$"===r.charAt(0)&&"$"===r.charAt(1)||(e[r]=t[r])}return e||t}function q(t,e){if(t===e)return!0;if(null===t||null===e)return!1;if(t!==t&&e!==e)return!0;var r,i,o,a=typeof t,s=typeof e;if(a==s&&"object"==a){if(!Nn(t)){if(x(t))return x(e)?isNaN(t.getTime())&&isNaN(e.getTime())||t.getTime()===e.getTime():!1;if(C(t)&&C(e))return t.toString()==e.toString();if(E(t)||E(e)||k(t)||k(e)||Nn(e))return!1;o={};for(i in t)if("$"!==i.charAt(0)&&!S(t[i])){if(!q(t[i],e[i]))return!1;o[i]=!0}for(i in e)if(!o.hasOwnProperty(i)&&"$"!==i.charAt(0)&&e[i]!==n&&!S(e[i]))return!1;return!0}if(!Nn(e))return!1;if((r=t.length)==e.length){for(i=0;r>i;i++)if(!q(t[i],e[i]))return!1;return!0}}return!1}function U(t,e,n){return t.concat(kn.call(e,n))}function V(t,e){return kn.call(t,e||0)}function I(t,e){var n=arguments.length>2?V(arguments,2):[];return!S(e)||e instanceof RegExp?e:n.length?function(){return arguments.length?e.apply(t,n.concat(kn.call(arguments,0))):e.apply(t,n)}:function(){return arguments.length?e.apply(t,arguments):e.call(t)}}function F(t,r){var i=r;return"string"==typeof t&&"$"===t.charAt(0)?i=n:k(r)?i="$WINDOW":r&&e===r?i="$DOCUMENT":E(r)&&(i="$SCOPE"),i}function L(t,e){return"undefined"==typeof t?n:JSON.stringify(t,F,e?" ":null)}function H(t){return w(t)?JSON.parse(t):t}function B(t){if("function"==typeof t)t=!0;else if(t&&0!==t.length){var e=$n(""+t);t=!("f"==e||"0"==e||"false"==e||"no"==e||"n"==e||"[]"==e)}else t=!1;return t}function z(t){t=bn(t).clone();try{t.empty()}catch(e){}var n=3,r=bn("<div>").append(t).html();try{return t[0].nodeType===n?$n(r):r.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(t,e){return"<"+$n(e)})}catch(e){return $n(r)}}function W(t){try{return decodeURIComponent(t)}catch(e){}}function Q(t){var e,n,r={};return o((t||"").split("&"),function(t){if(t&&(e=t.replace(/\+/g,"%20").split("="),n=W(e[0]),m(n))){var i=m(e[1])?W(e[1]):!0;vn.call(r,n)?Nn(r[n])?r[n].push(i):r[n]=[r[n],i]:r[n]=i}}),r}function J(t){var e=[];return o(t,function(t,n){Nn(t)?o(t,function(t){e.push(X(n,!0)+(t===!0?"":"="+X(t,!0)))}):e.push(X(n,!0)+(t===!0?"":"="+X(t,!0)))}),e.length?e.join("&"):""}function G(t){return X(t,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function X(t,e){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,e?"%20":"+")}function K(t,n){function r(t){t&&s.push(t)}var i,a,s=[t],u=["ng:app","ng-app","x-ng-app","data-ng-app"],c=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;o(u,function(n){u[n]=!0,r(e.getElementById(n)),n=n.replace(":","\\:"),t.querySelectorAll&&(o(t.querySelectorAll("."+n),r),o(t.querySelectorAll("."+n+"\\:"),r),o(t.querySelectorAll("["+n+"]"),r))}),o(s,function(t){if(!i){var e=" "+t.className+" ",n=c.exec(e);n?(i=t,a=(n[2]||"").replace(/\s+/g,",")):o(t.attributes,function(e){!i&&u[e.name]&&(i=t,a=e.value)})}}),i&&n(i,a?[a]:[])}function Y(n,r){var i=function(){if(n=bn(n),n.injector()){var t=n[0]===e?"document":z(n);throw On("btstrpd","App Already Bootstrapped with this Element '{0}'",t.replace(/</,"&lt;").replace(/>/,"&gt;"))}r=r||[],r.unshift(["$provide",function(t){t.value("$rootElement",n)}]),r.unshift("ng");var i=jt(r);return i.invoke(["$rootScope","$rootElement","$compile","$injector","$animate",function(t,e,n,r,i){t.$apply(function(){e.data("$injector",r),n(e)(t)})}]),i},a=/^NG_DEFER_BOOTSTRAP!/;return t&&!a.test(t.name)?i():(t.name=t.name.replace(a,""),void(Tn.resumeBootstrap=function(t){o(t,function(t){r.push(t)}),i()}))}function Z(t,e){return e=e||"_",t.replace(Dn,function(t,n){return(n?e:"")+t.toLowerCase()})}function tt(){xn=t.jQuery,xn&&xn.fn.on?(bn=xn,f(xn.fn,{scope:Jn.scope,isolateScope:Jn.isolateScope,controller:Jn.controller,injector:Jn.injector,inheritedData:Jn.inheritedData}),lt("remove",!0,!0,!1),lt("empty",!1,!1,!1),lt("html",!1,!1,!0)):bn=dt,Tn.element=bn}function et(t,e,n){if(!t)throw On("areq","Argument '{0}' is {1}",e||"?",n||"required");return t}function nt(t,e,n){return n&&Nn(t)&&(t=t[t.length-1]),et(S(t),e,"not a function, got "+(t&&"object"==typeof t?t.constructor.name||"Object":typeof t)),t}function rt(t,e){if("hasOwnProperty"===t)throw On("badname","hasOwnProperty is not a valid {0} name",e)}function it(t,e,n){if(!e)return t;for(var r,i=e.split("."),o=t,a=i.length,s=0;a>s;s++)r=i[s],t&&(t=(o=t)[r]);return!n&&S(t)?I(o,t):t}function ot(t){var e=t[0],n=t[t.length-1];if(e===n)return bn(e);var r=e,i=[r];do{if(r=r.nextSibling,!r)break;i.push(r)}while(r!==n);return bn(i)}function at(t){function e(t,e,n){return t[e]||(t[e]=n())}var n=r("$injector"),i=r("ng"),o=e(t,"angular",Object);return o.$$minErr=o.$$minErr||r,e(o,"module",function(){var t={};return function(r,o,a){var s=function(t,e){if("hasOwnProperty"===t)throw i("badname","hasOwnProperty is not a valid {0} name",e)};return s(r,"module"),o&&t.hasOwnProperty(r)&&(t[r]=null),e(t,r,function(){function t(t,n,r){return function(){return e[r||"push"]([t,n,arguments]),u}}if(!o)throw n("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",r);var e=[],i=[],s=t("$injector","invoke"),u={_invokeQueue:e,_runBlocks:i,requires:o,name:r,provider:t("$provide","provider"),factory:t("$provide","factory"),service:t("$provide","service"),value:t("$provide","value"),constant:t("$provide","constant","unshift"),animation:t("$animateProvider","register"),filter:t("$filterProvider","register"),controller:t("$controllerProvider","register"),directive:t("$compileProvider","directive"),config:s,run:function(t){return i.push(t),this}};return a&&s(a),u})}})}function st(e){f(e,{bootstrap:Y,copy:R,extend:f,equals:q,element:bn,forEach:o,injector:jt,noop:d,bind:I,toJson:L,fromJson:H,identity:$,isUndefined:g,isDefined:m,isString:w,isFunction:S,isObject:y,isNumber:b,isElement:M,isArray:Nn,version:Rn,isDate:x,lowercase:$n,uppercase:gn,callbacks:{counter:0},$$minErr:r,$$csp:jn}),Sn=at(t);try{Sn("ngLocale")}catch(n){Sn("ngLocale",[]).provider("$locale",ne)}Sn("ng",["ngLocale"],["$provide",function(t){t.provider({$$sanitizeUri:Me}),t.provider("$compile",It).directive({a:Pr,input:Hr,textarea:Hr,form:_r,script:ki,select:Oi,style:Mi,option:Ti,ngBind:ei,ngBindHtml:ri,ngBindTemplate:ni,ngClass:ii,ngClassEven:ai,ngClassOdd:oi,ngCloak:si,ngController:ui,ngForm:qr,ngHide:yi,ngIf:fi,ngInclude:hi,ngInit:di,ngNonBindable:$i,ngPluralize:vi,ngRepeat:gi,ngShow:mi,ngStyle:wi,ngSwitch:bi,ngSwitchWhen:xi,ngSwitchDefault:Si,ngOptions:Ai,ngTransclude:Ci,ngModel:Gr,ngList:Yr,ngChange:Xr,required:Kr,ngRequired:Kr,ngValue:ti}).directive({ngInclude:pi}).directive(jr).directive(ci),t.provider({$anchorScroll:Dt,$animate:rr,$browser:qt,$cacheFactory:Ut,$controller:Ht,$document:Bt,$exceptionHandler:zt,$filter:Fe,$interpolate:te,$interval:ee,$http:Xt,$httpBackend:Yt,$location:$e,$log:ve,$parse:ke,$rootScope:Te,$q:Ee,$sce:Re,$sceDelegate:De,$sniffer:_e,$templateCache:Vt,$timeout:qe,$window:Ie,$$rAF:Oe,$$asyncCallback:Rt})}])}function ut(){return++qn}function ct(t){return t.replace(In,function(t,e,n,r){return r?n.toUpperCase():n}).replace(Fn,"Moz$1")}function lt(t,e,n,r){function i(t){var i,a,s,u,c,l,f,h=n&&t?[this.filter(t)]:[this],p=e;if(!r||null!=t)for(;h.length;)for(i=h.shift(),a=0,s=i.length;s>a;a++)for(u=bn(i[a]),p?u.triggerHandler("$destroy"):p=!p,c=0,l=(f=u.children()).length;l>c;c++)h.push(xn(f[c]));return o.apply(this,arguments)}var o=xn.fn[t];o=o.$original||o,i.$original=o,xn.fn[t]=i}function ft(t){return!Bn.test(t)}function ht(t,e){var n,r,i,o,a,s,u=e.createDocumentFragment(),c=[];if(ft(t))c.push(e.createTextNode(t));else{for(n=u.appendChild(e.createElement("div")),r=(zn.exec(t)||["",""])[1].toLowerCase(),i=Qn[r]||Qn._default,n.innerHTML="<div>&#160;</div>"+i[1]+t.replace(Wn,"<$1></$2>")+i[2],n.removeChild(n.firstChild),o=i[0];o--;)n=n.lastChild;for(a=0,s=n.childNodes.length;s>a;++a)c.push(n.childNodes[a]);n=u.firstChild,n.textContent=""}return u.textContent="",u.innerHTML="",c}function pt(t,n){n=n||e;var r;return(r=Hn.exec(t))?[n.createElement(r[1])]:ht(t,n)}function dt(t){if(t instanceof dt)return t;if(w(t)&&(t=Pn(t)),!(this instanceof dt)){if(w(t)&&"<"!=t.charAt(0))throw Ln("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new dt(t)}if(w(t)){Ct(this,pt(t));var n=bn(e.createDocumentFragment());n.append(this)}else Ct(this,t)}function $t(t){return t.cloneNode(!0)}function vt(t){mt(t);for(var e=0,n=t.childNodes||[];e<n.length;e++)vt(n[e])}function gt(t,e,n,r){if(m(r))throw Ln("offargs","jqLite#off() does not support the `selector` argument");var i=yt(t,"events"),a=yt(t,"handle");a&&(g(e)?o(i,function(e,n){Vn(t,n,e),delete i[n]}):o(e.split(" "),function(e){g(n)?(Vn(t,e,i[e]),delete i[e]):D(i[e]||[],n)}))}function mt(t,e){var r=t.ng339,i=_n[r];if(i){if(e)return void delete _n[r].data[e];i.handle&&(i.events.$destroy&&i.handle({},"$destroy"),gt(t)),delete _n[r],t.ng339=n}}function yt(t,e,n){var r=t.ng339,i=_n[r||-1];return m(n)?(i||(t.ng339=r=ut(),i=_n[r]={}),void(i[e]=n)):i&&i[e]}function wt(t,e,n){var r=yt(t,"data"),i=m(n),o=!i&&m(e),a=o&&!y(e);if(r||a||yt(t,"data",r={}),i)r[e]=n;else{if(!o)return r;if(a)return r&&r[e];f(r,e)}}function bt(t,e){return t.getAttribute?(" "+(t.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+e+" ")>-1:!1}function xt(t,e){e&&t.setAttribute&&o(e.split(" "),function(e){t.setAttribute("class",Pn((" "+(t.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+Pn(e)+" "," ")))})}function St(t,e){if(e&&t.setAttribute){var n=(" "+(t.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");o(e.split(" "),function(t){t=Pn(t),-1===n.indexOf(" "+t+" ")&&(n+=t+" ")}),t.setAttribute("class",Pn(n))}}function Ct(t,e){if(e){e=e.nodeName||!m(e.length)||k(e)?[e]:e;for(var n=0;n<e.length;n++)t.push(e[n])}}function kt(t,e){return Et(t,"$"+(e||"ngController")+"Controller")}function Et(t,e,r){9==t.nodeType&&(t=t.documentElement);for(var i=Nn(e)?e:[e];t;){for(var o=0,a=i.length;a>o;o++)if((r=bn.data(t,i[o]))!==n)return r;t=t.parentNode||11===t.nodeType&&t.host}}function At(t){for(var e=0,n=t.childNodes;e<n.length;e++)vt(n[e]);for(;t.firstChild;)t.removeChild(t.firstChild)}function Ot(t,e){var n=Gn[e.toLowerCase()];return n&&Xn[t.nodeName]&&n}function Tt(t,n){var r=function(r,i){if(r.preventDefault||(r.preventDefault=function(){r.returnValue=!1}),r.stopPropagation||(r.stopPropagation=function(){r.cancelBubble=!0}),r.target||(r.target=r.srcElement||e),g(r.defaultPrevented)){var a=r.preventDefault;r.preventDefault=function(){r.defaultPrevented=!0,a.call(r)},r.defaultPrevented=!1}r.isDefaultPrevented=function(){return r.defaultPrevented||r.returnValue===!1};var s=_(n[i||r.type]||[]);o(s,function(e){e.call(t,r)}),8>=wn?(r.preventDefault=null,r.stopPropagation=null,r.isDefaultPrevented=null):(delete r.preventDefault,delete r.stopPropagation,delete r.isDefaultPrevented)};return r.elem=t,r}function Mt(t,e){var r,i=typeof t;return"function"==i||"object"==i&&null!==t?"function"==typeof(r=t.$$hashKey)?r=t.$$hashKey():r===n&&(r=t.$$hashKey=(e||c)()):r=t,i+":"+r}function Nt(t,e){if(e){var n=0;this.nextUid=function(){return++n}}o(t,this.put,this)}function Pt(t){var e,n,r,i;return"function"==typeof t?(e=t.$inject)||(e=[],t.length&&(n=t.toString().replace(tr,""),r=n.match(Kn),o(r[1].split(Yn),function(t){t.replace(Zn,function(t,n,r){e.push(r)})})),t.$inject=e):Nn(t)?(i=t.length-1,nt(t[i],"fn"),e=t.slice(0,i)):nt(t,"fn",!0),e}function jt(t){function e(t){return function(e,n){return y(e)?void o(e,u(t)):t(e,n)}}function n(t,e){if(rt(t,"service"),(S(e)||Nn(e))&&(e=b.instantiate(e)),!e.$get)throw er("pget","Provider '{0}' must define $get factory method.",t);return m[t+p]=e}function r(t,e){return n(t,{$get:e})}function i(t,e){return r(t,["$injector",function(t){return t.instantiate(e)}])}function a(t,e){return r(t,v(e))}function s(t,e){rt(t,"constant"),m[t]=e,x[t]=e}function c(t,e){var n=b.get(t+p),r=n.$get;n.$get=function(){var t=C.invoke(r,n);return C.invoke(e,null,{$delegate:t})}}function l(t){var e,n,r,i,a=[];return o(t,function(t){if(!g.get(t)){g.put(t,!0);try{if(w(t))for(e=Sn(t),a=a.concat(l(e.requires)).concat(e._runBlocks),n=e._invokeQueue,r=0,i=n.length;i>r;r++){var o=n[r],s=b.get(o[0]);s[o[1]].apply(s,o[2])}else S(t)?a.push(b.invoke(t)):Nn(t)?a.push(b.invoke(t)):nt(t,"module")}catch(u){throw Nn(t)&&(t=t[t.length-1]),u.message&&u.stack&&-1==u.stack.indexOf(u.message)&&(u=u.message+"\n"+u.stack),er("modulerr","Failed to instantiate module {0} due to:\n{1}",t,u.stack||u.message||u)}}}),a}function f(t,e){function n(n){if(t.hasOwnProperty(n)){if(t[n]===h)throw er("cdep","Circular dependency found: {0}",n+" <- "+$.join(" <- "));return t[n]}try{return $.unshift(n),t[n]=h,t[n]=e(n)}catch(r){throw t[n]===h&&delete t[n],r}finally{$.shift()}}function r(t,e,r){var i,o,a,s=[],u=Pt(t);for(o=0,i=u.length;i>o;o++){if(a=u[o],"string"!=typeof a)throw er("itkn","Incorrect injection token! Expected service name as string, got {0}",a);s.push(r&&r.hasOwnProperty(a)?r[a]:n(a))}return Nn(t)&&(t=t[i]),t.apply(e,s)}function i(t,e){var n,i,o=function(){};return o.prototype=(Nn(t)?t[t.length-1]:t).prototype,n=new o,i=r(t,n,e),y(i)||S(i)?i:n}return{invoke:r,instantiate:i,get:n,annotate:Pt,has:function(e){return m.hasOwnProperty(e+p)||t.hasOwnProperty(e)}}}var h={},p="Provider",$=[],g=new Nt([],!0),m={$provide:{provider:e(n),factory:e(r),service:e(i),value:e(a),constant:e(s),decorator:c}},b=m.$injector=f(m,function(){throw er("unpr","Unknown provider: {0}",$.join(" <- "))}),x={},C=x.$injector=f(x,function(t){var e=b.get(t+p);return C.invoke(e.$get,e)});return o(l(t),function(t){C.invoke(t||d)}),C}function Dt(){var t=!0;this.disableAutoScrolling=function(){t=!1},this.$get=["$window","$location","$rootScope",function(e,n,r){function i(t){var e=null;return o(t,function(t){e||"a"!==$n(t.nodeName)||(e=t)}),e}function a(){var t,r=n.hash();r?(t=s.getElementById(r))?t.scrollIntoView():(t=i(s.getElementsByName(r)))?t.scrollIntoView():"top"===r&&e.scrollTo(0,0):e.scrollTo(0,0)}var s=e.document;return t&&r.$watch(function(){return n.hash()},function(){r.$evalAsync(a)}),a}]}function Rt(){this.$get=["$$rAF","$timeout",function(t,e){return t.supported?function(e){return t(e)}:function(t){return e(t,0,!1)}}]}function _t(t,e,r,i){function a(t){try{t.apply(null,V(arguments,1))}finally{if(m--,0===m)for(;y.length;)try{y.pop()()}catch(e){r.error(e)}}}function s(t,e){!function n(){o(x,function(t){t()}),b=e(n,t)}()}function u(){S!=c.url()&&(S=c.url(),o(E,function(t){t(c.url())}))}var c=this,l=e[0],f=t.location,h=t.history,p=t.setTimeout,$=t.clearTimeout,v={};c.isMock=!1;var m=0,y=[];c.$$completeOutstandingRequest=a,c.$$incOutstandingRequestCount=function(){m++},c.notifyWhenNoOutstandingRequests=function(t){o(x,function(t){t()}),0===m?t():y.push(t)};var b,x=[];c.addPollFn=function(t){return g(b)&&s(100,p),x.push(t),t};var S=f.href,C=e.find("base"),k=null;c.url=function(e,n){if(f!==t.location&&(f=t.location),h!==t.history&&(h=t.history),e){if(S==e)return;var r=S&&se(S)===se(e);return S=e,!r&&i.history?n?h.replaceState(null,"",e):(h.pushState(null,"",e),C.attr("href",C.attr("href"))):(r||(k=e),n?f.replace(e):f.href=e),c}return k||f.href.replace(/%27/g,"'")};var E=[],A=!1;c.onUrlChange=function(e){return A||(i.history&&bn(t).on("popstate",u),i.hashchange?bn(t).on("hashchange",u):c.addPollFn(u),A=!0),E.push(e),e},c.$$checkUrlChange=u,c.baseHref=function(){var t=C.attr("href");return t?t.replace(/^(https?\:)?\/\/[^\/]*/,""):""};var O={},T="",M=c.baseHref();c.cookies=function(t,e){var i,o,a,s,u;if(!t){if(l.cookie!==T)for(T=l.cookie,o=T.split("; "),O={},s=0;s<o.length;s++)a=o[s],u=a.indexOf("="),u>0&&(t=unescape(a.substring(0,u)),O[t]===n&&(O[t]=unescape(a.substring(u+1))));return O}e===n?l.cookie=escape(t)+"=;path="+M+";expires=Thu, 01 Jan 1970 00:00:00 GMT":w(e)&&(i=(l.cookie=escape(t)+"="+escape(e)+";path="+M).length+1,i>4096&&r.warn("Cookie '"+t+"' possibly not set or overflowed because it was too large ("+i+" > 4096 bytes)!"))},c.defer=function(t,e){var n;return m++,n=p(function(){delete v[n],a(t)},e||0),v[n]=!0,n},c.defer.cancel=function(t){return v[t]?(delete v[t],$(t),a(d),!0):!1}}function qt(){this.$get=["$window","$log","$sniffer","$document",function(t,e,n,r){return new _t(t,r,e,n)}]}function Ut(){this.$get=function(){function t(t,n){function i(t){t!=h&&(p?p==t&&(p=t.n):p=t,o(t.n,t.p),o(t,h),h=t,h.n=null)}function o(t,e){t!=e&&(t&&(t.p=e),e&&(e.n=t))}if(t in e)throw r("$cacheFactory")("iid","CacheId '{0}' is already taken!",t);var a=0,s=f({},n,{id:t}),u={},c=n&&n.capacity||Number.MAX_VALUE,l={},h=null,p=null;return e[t]={put:function(t,e){if(c<Number.MAX_VALUE){var n=l[t]||(l[t]={key:t});i(n)}if(!g(e))return t in u||a++,u[t]=e,a>c&&this.remove(p.key),e},get:function(t){if(c<Number.MAX_VALUE){var e=l[t];if(!e)return;i(e)}return u[t]},remove:function(t){if(c<Number.MAX_VALUE){var e=l[t];if(!e)return;e==h&&(h=e.p),e==p&&(p=e.n),o(e.n,e.p),delete l[t]}delete u[t],a--},removeAll:function(){u={},a=0,l={},h=p=null},destroy:function(){u=null,s=null,l=null,delete e[t]},info:function(){return f({},s,{size:a})}}}var e={};return t.info=function(){var t={};return o(e,function(e,n){t[n]=e.info()}),t},t.get=function(t){return e[t]},t}}function Vt(){this.$get=["$cacheFactory",function(t){return t("templates")}]}function It(t,r){var i={},a="Directive",s=/^\s*directive\:\s*([\d\w_\-]+)\s+(.*)$/,c=/(([\d\w_\-]+)(?:\:([^;]+))?;?)/,l=/^(on[a-z]+|formaction)$/;this.directive=function h(e,n){return rt(e,"directive"),w(e)?(et(n,"directiveFactory"),i.hasOwnProperty(e)||(i[e]=[],t.factory(e+a,["$injector","$exceptionHandler",function(t,n){var r=[];return o(i[e],function(i,o){try{var a=t.invoke(i);S(a)?a={compile:v(a)}:!a.compile&&a.link&&(a.compile=v(a.link)),a.priority=a.priority||0,a.index=o,a.name=a.name||e,a.require=a.require||a.controller&&a.name,a.restrict=a.restrict||"A",r.push(a)}catch(s){n(s)}}),r}])),i[e].push(n)):o(e,u(h)),this},this.aHrefSanitizationWhitelist=function(t){return m(t)?(r.aHrefSanitizationWhitelist(t),this):r.aHrefSanitizationWhitelist()},this.imgSrcSanitizationWhitelist=function(t){return m(t)?(r.imgSrcSanitizationWhitelist(t),this):r.imgSrcSanitizationWhitelist()},this.$get=["$injector","$interpolate","$exceptionHandler","$http","$templateCache","$parse","$controller","$rootScope","$document","$sce","$animate","$$sanitizeUri",function(t,r,u,h,d,v,g,m,b,x,C,k){function E(t,e,n,r,i){t instanceof bn||(t=bn(t)),o(t,function(e,n){3==e.nodeType&&e.nodeValue.match(/\S+/)&&(t[n]=e=bn(e).wrap("<span></span>").parent()[0])});var a=O(t,e,t,n,r,i);return A(t,"ng-scope"),function(e,n,r,i){et(e,"scope");var s=n?Jn.clone.call(t):t;o(r,function(t,e){s.data("$"+e+"Controller",t)});for(var u=0,c=s.length;c>u;u++){var l=s[u],f=l.nodeType;(1===f||9===f)&&s.eq(u).data("$scope",e)}return n&&n(s,e),a&&a(e,s,s,i),s}}function A(t,e){try{t.addClass(e)}catch(n){}}function O(t,e,r,i,o,a){function s(t,r,i,o){var a,s,u,c,l,f,h,p,$=r.length,v=new Array($);for(l=0;$>l;l++)v[l]=r[l];for(l=0,h=0,f=d.length;f>l;h++)u=v[h],a=d[l++],s=d[l++],a?(a.scope?(c=t.$new(),bn.data(u,"$scope",c)):c=t,p=a.transcludeOnThisElement?T(t,a.transclude,o):!a.templateOnThisElement&&o?o:!o&&e?T(t,e):null,a(s,c,u,i,p)):s&&s(t,u.childNodes,n,o)}for(var u,c,l,f,h,p,d=[],$=0;$<t.length;$++)u=new G,c=M(t[$],[],u,0===$?i:n,o),l=c.length?j(c,t[$],u,e,r,null,[],[],a):null,l&&l.scope&&A(u.$$element,"ng-scope"),h=l&&l.terminal||!(f=t[$].childNodes)||!f.length?null:O(f,l?(l.transcludeOnThisElement||!l.templateOnThisElement)&&l.transclude:e),d.push(l,h),p=p||l||h,a=null;return p?s:null}function T(t,e,n){var r=function(r,i,o){var a=!1;r||(r=t.$new(),r.$$transcluded=!0,a=!0);var s=e(r,i,o,n);return a&&s.on("$destroy",function(){r.$destroy()}),s};return r}function M(t,e,n,r,i){var o,a,u=t.nodeType,l=n.$attr;switch(u){case 1:R(e,Ft(Cn(t).toLowerCase()),"E",r,i);for(var f,h,p,d,$,v,g=t.attributes,m=0,y=g&&g.length;y>m;m++){var b=!1,x=!1;if(f=g[m],!wn||wn>=8||f.specified){h=f.name,$=Pn(f.value),d=Ft(h),(v=tt.test(d))&&(h=Z(d.substr(6),"-"));var S=d.replace(/(Start|End)$/,"");d===S+"Start"&&(b=h,x=h.substr(0,h.length-5)+"end",h=h.substr(0,h.length-6)),p=Ft(h.toLowerCase()),l[p]=h,(v||!n.hasOwnProperty(p))&&(n[p]=$,Ot(t,p)&&(n[p]=!0)),W(t,e,$,p),R(e,p,"A",r,i,b,x)}}if(a=t.className,w(a)&&""!==a)for(;o=c.exec(a);)p=Ft(o[2]),R(e,p,"C",r,i)&&(n[p]=Pn(o[3])),a=a.substr(o.index+o[0].length);break;case 3:H(e,t.nodeValue);break;case 8:try{o=s.exec(t.nodeValue),o&&(p=Ft(o[1]),R(e,p,"M",r,i)&&(n[p]=Pn(o[2])))}catch(C){}}return e.sort(F),e}function N(t,e,n){var r=[],i=0;if(e&&t.hasAttribute&&t.hasAttribute(e)){do{if(!t)throw ir("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",e,n);1==t.nodeType&&(t.hasAttribute(e)&&i++,t.hasAttribute(n)&&i--),r.push(t),t=t.nextSibling}while(i>0)}else r.push(t);return bn(r)}function P(t,e,n){return function(r,i,o,a,s){return i=N(i[0],e,n),t(r,i,o,a,s)}}function j(t,i,a,s,c,l,f,h,p){function d(t,e,n,r){t&&(n&&(t=P(t,n,r)),t.require=x.require,t.directiveName=C,(F===x||x.$$isolateScope)&&(t=J(t,{isolateScope:!0})),f.push(t)),e&&(n&&(e=P(e,n,r)),e.require=x.require,e.directiveName=C,(F===x||x.$$isolateScope)&&(e=J(e,{isolateScope:!0})),h.push(e))}function $(t,e,n,r){var i,a="data",s=!1;if(w(e)){for(;"^"==(i=e.charAt(0))||"?"==i;)e=e.substr(1),"^"==i&&(a="inheritedData"),s=s||"?"==i;if(i=null,r&&"data"===a&&(i=r[e]),i=i||n[a]("$"+e+"Controller"),!i&&!s)throw ir("ctreq","Controller '{0}', required by directive '{1}', can't be found!",e,t);return i}return Nn(e)&&(i=[],o(e,function(e){i.push($(t,e,n,r))})),i}function m(t,e,s,c,l){function p(t,e){var r;return arguments.length<2&&(e=t,t=n),K&&(r=k),l(t,e,r)}var d,m,y,w,b,x,S,C,k={};if(d=i===s?a:_(a,new G(bn(s),a.$attr)),m=d.$$element,F){var E=/^\s*([@=&])(\??)\s*(\w*)\s*$/;S=e.$new(!0),!H||H!==F&&H!==F.$$originalDirective?m.data("$isolateScopeNoTemplate",S):m.data("$isolateScope",S),A(m,"ng-isolate-scope"),o(F.scope,function(t,n){var i,o,a,s,u=t.match(E)||[],c=u[3]||n,l="?"==u[2],f=u[1];switch(S.$$isolateBindings[n]=f+c,f){case"@":d.$observe(c,function(t){S[n]=t}),d.$$observers[c].$$scope=e,d[c]&&(S[n]=r(d[c])(e));break;case"=":if(l&&!d[c])return;o=v(d[c]),s=o.literal?q:function(t,e){return t===e||t!==t&&e!==e},a=o.assign||function(){throw i=S[n]=o(e),ir("nonassign","Expression '{0}' used with directive '{1}' is non-assignable!",d[c],F.name)},i=S[n]=o(e),S.$watch(function(){var t=o(e);return s(t,S[n])||(s(t,i)?a(e,t=S[n]):S[n]=t),i=t},null,o.literal);break;case"&":o=v(d[c]),S[n]=function(t){return o(e,t)};break;default:throw ir("iscp","Invalid isolate scope definition for directive '{0}'. Definition: {... {1}: '{2}' ...}",F.name,n,t)}})}for(C=l&&p,R&&o(R,function(t){var n,r={$scope:t===F||t.$$isolateScope?S:e,$element:m,$attrs:d,$transclude:C};x=t.controller,"@"==x&&(x=d[t.name]),n=g(x,r),k[t.name]=n,K||m.data("$"+t.name+"Controller",n),t.controllerAs&&(r.$scope[t.controllerAs]=n)}),y=0,w=f.length;w>y;y++)try{b=f[y],b(b.isolateScope?S:e,m,d,b.require&&$(b.directiveName,b.require,m,k),C)}catch(O){u(O,z(m))}var T=e;for(F&&(F.template||null===F.templateUrl)&&(T=S),t&&t(T,s.childNodes,n,l),y=h.length-1;y>=0;y--)try{b=h[y],b(b.isolateScope?S:e,m,d,b.require&&$(b.directiveName,b.require,m,k),C)}catch(O){u(O,z(m))}}p=p||{};for(var b,x,C,k,O,T,j=-Number.MAX_VALUE,R=p.controllerDirectives,F=p.newIsolateScopeDirective,H=p.templateDirective,B=p.nonTlbTranscludeDirective,W=!1,X=!1,K=p.hasElementTranscludeDirective,Z=a.$$element=bn(i),tt=l,et=s,nt=0,rt=t.length;rt>nt;nt++){x=t[nt];var it=x.$$start,ot=x.$$end;if(it&&(Z=N(i,it,ot)),k=n,j>x.priority)break;if((T=x.scope)&&(b=b||x,x.templateUrl||(L("new/isolated scope",F,x,Z),y(T)&&(F=x))),C=x.name,!x.templateUrl&&x.controller&&(T=x.controller,R=R||{},L("'"+C+"' controller",R[C],x,Z),R[C]=x),(T=x.transclude)&&(W=!0,x.$$tlb||(L("transclusion",B,x,Z),B=x),"element"==T?(K=!0,j=x.priority,k=Z,Z=a.$$element=bn(e.createComment(" "+C+": "+a[C]+" ")),i=Z[0],Q(c,V(k),i),et=E(k,s,j,tt&&tt.name,{nonTlbTranscludeDirective:B})):(k=bn($t(i)).contents(),Z.empty(),et=E(k,s))),x.template)if(X=!0,L("template",H,x,Z),H=x,T=S(x.template)?x.template(Z,a):x.template,T=Y(T),x.replace){if(tt=x,k=ft(T)?[]:bn(Pn(T)),i=k[0],1!=k.length||1!==i.nodeType)throw ir("tplrt","Template for directive '{0}' must have exactly one root element. {1}",C,"");Q(c,Z,i);var at={$attr:{}},st=M(i,[],at),ut=t.splice(nt+1,t.length-(nt+1));F&&D(st),t=t.concat(st).concat(ut),U(a,at),rt=t.length}else Z.html(T);if(x.templateUrl)X=!0,L("template",H,x,Z),H=x,x.replace&&(tt=x),m=I(t.splice(nt,t.length-nt),Z,a,c,W&&et,f,h,{controllerDirectives:R,newIsolateScopeDirective:F,templateDirective:H,nonTlbTranscludeDirective:B}),rt=t.length;else if(x.compile)try{O=x.compile(Z,a,et),S(O)?d(null,O,it,ot):O&&d(O.pre,O.post,it,ot)}catch(ct){u(ct,z(Z))}x.terminal&&(m.terminal=!0,j=Math.max(j,x.priority))}return m.scope=b&&b.scope===!0,m.transcludeOnThisElement=W,m.templateOnThisElement=X,m.transclude=et,p.hasElementTranscludeDirective=K,m}function D(t){for(var e=0,n=t.length;n>e;e++)t[e]=p(t[e],{$$isolateScope:!0})}function R(e,r,o,s,c,l,f){if(r===c)return null;var h=null;if(i.hasOwnProperty(r))for(var d,$=t.get(r+a),v=0,g=$.length;g>v;v++)try{d=$[v],(s===n||s>d.priority)&&-1!=d.restrict.indexOf(o)&&(l&&(d=p(d,{$$start:l,$$end:f})),e.push(d),h=d)}catch(m){u(m)}return h}function U(t,e){var n=e.$attr,r=t.$attr,i=t.$$element;o(t,function(r,i){"$"!=i.charAt(0)&&(e[i]&&e[i]!==r&&(r+=("style"===i?";":" ")+e[i]),t.$set(i,r,!0,n[i]))}),o(e,function(e,o){"class"==o?(A(i,e),t["class"]=(t["class"]?t["class"]+" ":"")+e):"style"==o?(i.attr("style",i.attr("style")+";"+e),t.style=(t.style?t.style+";":"")+e):"$"==o.charAt(0)||t.hasOwnProperty(o)||(t[o]=e,r[o]=n[o])})}function I(t,e,n,r,i,a,s,u){var c,l,p=[],$=e[0],v=t.shift(),g=f({},v,{templateUrl:null,transclude:null,replace:null,$$originalDirective:v}),m=S(v.templateUrl)?v.templateUrl(e,n):v.templateUrl;return e.empty(),h.get(x.getTrustedResourceUrl(m),{cache:d}).success(function(f){var h,d,w,b;if(f=Y(f),v.replace){if(w=ft(f)?[]:bn(Pn(f)),h=w[0],1!=w.length||1!==h.nodeType)throw ir("tplrt","Template for directive '{0}' must have exactly one root element. {1}",v.name,m);d={$attr:{}},Q(r,e,h);var x=M(h,[],d);y(v.scope)&&D(x),t=x.concat(t),U(n,d)}else h=$,e.html(f);for(t.unshift(g),c=j(t,h,n,i,e,v,a,s,u),o(r,function(t,n){t==h&&(r[n]=e[0])}),l=O(e[0].childNodes,i);p.length;){var S=p.shift(),C=p.shift(),k=p.shift(),E=p.shift(),N=e[0];if(C!==$){var P=C.className;u.hasElementTranscludeDirective&&v.replace||(N=$t(h)),Q(k,bn(C),N),A(bn(N),P)}b=c.transcludeOnThisElement?T(S,c.transclude,E):E,c(l,S,N,r,b)}p=null}).error(function(t,e,n,r){throw ir("tpload","Failed to load template: {0}",r.url)}),function(t,e,n,r,i){var o=i;p?(p.push(e),p.push(n),p.push(r),p.push(o)):(c.transcludeOnThisElement&&(o=T(e,c.transclude,i)),c(l,e,n,r,o))}}function F(t,e){var n=e.priority-t.priority;return 0!==n?n:t.name!==e.name?t.name<e.name?-1:1:t.index-e.index}function L(t,e,n,r){if(e)throw ir("multidir","Multiple directives [{0}, {1}] asking for {2} on: {3}",e.name,n.name,t,z(r))}function H(t,e){var n=r(e,!0);n&&t.push({priority:0,compile:function(t){var e=t.parent(),r=e.length;return r&&A(t.parent(),"ng-binding"),function(t,e){var i=e.parent(),o=i.data("$binding")||[];o.push(n),i.data("$binding",o),r||A(i,"ng-binding"),t.$watch(n,function(t){e[0].nodeValue=t})}}})}function B(t,e){if("srcdoc"==e)return x.HTML;var n=Cn(t);return"xlinkHref"==e||"FORM"==n&&"action"==e||"IMG"!=n&&("src"==e||"ngSrc"==e)?x.RESOURCE_URL:void 0}function W(t,e,n,i){var o=r(n,!0);if(o){if("multiple"===i&&"SELECT"===Cn(t))throw ir("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",z(t));e.push({priority:100,compile:function(){return{pre:function(e,n,a){var s=a.$$observers||(a.$$observers={});if(l.test(i))throw ir("nodomevents","Interpolations for HTML DOM event attributes are disallowed. Please use the ng- versions (such as ng-click instead of onclick) instead.");o=r(a[i],!0,B(t,i)),o&&(a[i]=o(e),(s[i]||(s[i]=[])).$$inter=!0,(a.$$observers&&a.$$observers[i].$$scope||e).$watch(o,function(t,e){"class"===i&&t!=e?a.$updateClass(t,e):a.$set(i,t)}))}}}})}}function Q(t,n,r){var i,o,a=n[0],s=n.length,u=a.parentNode;
7
+ if(t)for(i=0,o=t.length;o>i;i++)if(t[i]==a){t[i++]=r;for(var c=i,l=c+s-1,f=t.length;f>c;c++,l++)f>l?t[c]=t[l]:delete t[c];t.length-=s-1;break}u&&u.replaceChild(r,a);var h=e.createDocumentFragment();h.appendChild(a),r[bn.expando]=a[bn.expando];for(var p=1,d=n.length;d>p;p++){var $=n[p];bn($).remove(),h.appendChild($),delete n[p]}n[0]=r,n.length=1}function J(t,e){return f(function(){return t.apply(null,arguments)},t,e)}var G=function(t,e){this.$$element=t,this.$attr=e||{}};G.prototype={$normalize:Ft,$addClass:function(t){t&&t.length>0&&C.addClass(this.$$element,t)},$removeClass:function(t){t&&t.length>0&&C.removeClass(this.$$element,t)},$updateClass:function(t,e){var n=Lt(t,e),r=Lt(e,t);0===n.length?C.removeClass(this.$$element,r):0===r.length?C.addClass(this.$$element,n):C.setClass(this.$$element,n,r)},$set:function(t,e,r,i){var a,s=Ot(this.$$element[0],t);s&&(this.$$element.prop(t,e),i=s),this[t]=e,i?this.$attr[t]=i:(i=this.$attr[t],i||(this.$attr[t]=i=Z(t,"-"))),a=Cn(this.$$element),("A"===a&&"href"===t||"IMG"===a&&"src"===t)&&(this[t]=e=k(e,"src"===t)),r!==!1&&(null===e||e===n?this.$$element.removeAttr(i):this.$$element.attr(i,e));var c=this.$$observers;c&&o(c[t],function(t){try{t(e)}catch(n){u(n)}})},$observe:function(t,e){var n=this,r=n.$$observers||(n.$$observers={}),i=r[t]||(r[t]=[]);return i.push(e),m.$evalAsync(function(){i.$$inter||e(n[t])}),e}};var X=r.startSymbol(),K=r.endSymbol(),Y="{{"==X||"}}"==K?$:function(t){return t.replace(/\{\{/g,X).replace(/}}/g,K)},tt=/^ngAttr[A-Z]/;return E}]}function Ft(t){return ct(t.replace(or,""))}function Lt(t,e){var n="",r=t.split(/\s+/),i=e.split(/\s+/);t:for(var o=0;o<r.length;o++){for(var a=r[o],s=0;s<i.length;s++)if(a==i[s])continue t;n+=(n.length>0?" ":"")+a}return n}function Ht(){var t={},e=/^(\S+)(\s+as\s+(\w+))?$/;this.register=function(e,n){rt(e,"controller"),y(e)?f(t,e):t[e]=n},this.$get=["$injector","$window",function(n,i){return function(o,a){var s,u,c,l;if(w(o)&&(u=o.match(e),c=u[1],l=u[3],o=t.hasOwnProperty(c)?t[c]:it(a.$scope,c,!0)||it(i,c,!0),nt(o,c,!0)),s=n.instantiate(o,a),l){if(!a||"object"!=typeof a.$scope)throw r("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",c||o.name,l);a.$scope[l]=s}return s}}]}function Bt(){this.$get=["$window",function(t){return bn(t.document)}]}function zt(){this.$get=["$log",function(t){return function(e,n){t.error.apply(t,arguments)}}]}function Wt(t){var e,n,r,i={};return t?(o(t.split("\n"),function(t){r=t.indexOf(":"),e=$n(Pn(t.substr(0,r))),n=Pn(t.substr(r+1)),e&&(i[e]=i[e]?i[e]+", "+n:n)}),i):i}function Qt(t){var e=y(t)?t:n;return function(n){return e||(e=Wt(t)),n?e[$n(n)]||null:e}}function Jt(t,e,n){return S(n)?n(t,e):(o(n,function(n){t=n(t,e)}),t)}function Gt(t){return t>=200&&300>t}function Xt(){var t=/^\s*(\[|\{[^\{])/,e=/[\}\]]\s*$/,r=/^\)\]\}',?\n/,i={"Content-Type":"application/json;charset=utf-8"},a=this.defaults={transformResponse:[function(n){return w(n)&&(n=n.replace(r,""),t.test(n)&&e.test(n)&&(n=H(n))),n}],transformRequest:[function(t){return!y(t)||A(t)||O(t)?t:L(t)}],headers:{common:{Accept:"application/json, text/plain, */*"},post:_(i),put:_(i),patch:_(i)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN"},u=this.interceptors=[],c=this.responseInterceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(t,e,r,i,l,h){function p(t){function e(t){var e=f({},t,{data:Jt(t.data,t.headers,i.transformResponse)});return Gt(t.status)?e:l.reject(e)}function r(t){function e(t){var e;o(t,function(n,r){S(n)&&(e=n(),null!=e?t[r]=e:delete t[r])})}var n,r,i,s=a.headers,u=f({},t.headers);s=f({},s.common,s[$n(t.method)]);t:for(n in s){r=$n(n);for(i in u)if($n(i)===r)continue t;u[n]=s[n]}return e(u),u}var i={method:"get",transformRequest:a.transformRequest,transformResponse:a.transformResponse},s=r(t);f(i,t),i.headers=s,i.method=gn(i.method);var u=function(t){s=t.headers;var n=Jt(t.data,Qt(s),t.transformRequest);return g(n)&&o(s,function(t,e){"content-type"===$n(e)&&delete s[e]}),g(t.withCredentials)&&!g(a.withCredentials)&&(t.withCredentials=a.withCredentials),v(t,n,s).then(e,e)},c=[u,n],h=l.when(i);for(o(k,function(t){(t.request||t.requestError)&&c.unshift(t.request,t.requestError),(t.response||t.responseError)&&c.push(t.response,t.responseError)});c.length;){var p=c.shift(),d=c.shift();h=h.then(p,d)}return h.success=function(t){return h.then(function(e){t(e.data,e.status,e.headers,i)}),h},h.error=function(t){return h.then(null,function(e){t(e.data,e.status,e.headers,i)}),h},h}function d(t){o(arguments,function(t){p[t]=function(e,n){return p(f(n||{},{method:t,url:e}))}})}function $(t){o(arguments,function(t){p[t]=function(e,n,r){return p(f(r||{},{method:t,url:e,data:n}))}})}function v(r,o,s){function u(t,e,n,r){h&&(Gt(t)?h.put(w,[t,e,Wt(n),r]):h.remove(w)),c(e,t,n,r),i.$$phase||i.$apply()}function c(t,e,n,i){e=Math.max(e,0),(Gt(e)?$.resolve:$.reject)({data:t,status:e,headers:Qt(n),config:r,statusText:i})}function f(){var t=j(p.pendingRequests,r);-1!==t&&p.pendingRequests.splice(t,1)}var h,d,$=l.defer(),v=$.promise,w=b(r.url,r.params);if(p.pendingRequests.push(r),v.then(f,f),!r.cache&&!a.cache||r.cache===!1||"GET"!==r.method&&"JSONP"!==r.method||(h=y(r.cache)?r.cache:y(a.cache)?a.cache:C),h)if(d=h.get(w),m(d)){if(T(d))return d.then(f,f),d;Nn(d)?c(d[1],d[0],_(d[2]),d[3]):c(d,200,{},"OK")}else h.put(w,v);if(g(d)){var x=Ve(r.url)?e.cookies()[r.xsrfCookieName||a.xsrfCookieName]:n;x&&(s[r.xsrfHeaderName||a.xsrfHeaderName]=x),t(r.method,w,o,u,s,r.timeout,r.withCredentials,r.responseType)}return v}function b(t,e){if(!e)return t;var n=[];return s(e,function(t,e){null===t||g(t)||(Nn(t)||(t=[t]),o(t,function(t){y(t)&&(t=x(t)?t.toISOString():L(t)),n.push(X(e)+"="+X(t))}))}),n.length>0&&(t+=(-1==t.indexOf("?")?"?":"&")+n.join("&")),t}var C=r("$http"),k=[];return o(u,function(t){k.unshift(w(t)?h.get(t):h.invoke(t))}),o(c,function(t,e){var n=w(t)?h.get(t):h.invoke(t);k.splice(e,0,{response:function(t){return n(l.when(t))},responseError:function(t){return n(l.reject(t))}})}),p.pendingRequests=[],d("get","delete","head","jsonp"),$("post","put","patch"),p.defaults=a,p}]}function Kt(e){if(8>=wn&&(!e.match(/^(get|post|head|put|delete|options)$/i)||!t.XMLHttpRequest))return new t.ActiveXObject("Microsoft.XMLHTTP");if(t.XMLHttpRequest)return new t.XMLHttpRequest;throw r("$httpBackend")("noxhr","This browser does not support XMLHttpRequest.")}function Yt(){this.$get=["$browser","$window","$document",function(t,e,n){return Zt(t,Kt,t.defer,e.angular.callbacks,n[0])}]}function Zt(t,e,n,r,i){function a(t,e,n){var o=i.createElement("script"),a=null;return o.type="text/javascript",o.src=t,o.async=!0,a=function(t){Vn(o,"load",a),Vn(o,"error",a),i.body.removeChild(o),o=null;var s=-1,u="unknown";t&&("load"!==t.type||r[e].called||(t={type:"error"}),u=t.type,s="error"===t.type?404:200),n&&n(s,u)},Un(o,"load",a),Un(o,"error",a),8>=wn&&(o.onreadystatechange=function(){w(o.readyState)&&/loaded|complete/.test(o.readyState)&&(o.onreadystatechange=null,a({type:"load"}))}),i.body.appendChild(o),a}var s=-1;return function(i,u,c,l,f,h,p,$){function v(){y=s,b&&b(),x&&x.abort()}function g(e,r,i,o,a){C&&n.cancel(C),b=x=null,0===r&&(r=i?200:"file"==Ue(u).protocol?404:0),r=1223===r?204:r,a=a||"",e(r,i,o,a),t.$$completeOutstandingRequest(d)}var y;if(t.$$incOutstandingRequestCount(),u=u||t.url(),"jsonp"==$n(i)){var w="_"+(r.counter++).toString(36);r[w]=function(t){r[w].data=t,r[w].called=!0};var b=a(u.replace("JSON_CALLBACK","angular.callbacks."+w),w,function(t,e){g(l,t,r[w].data,"",e),r[w]=d})}else{var x=e(i);if(x.open(i,u,!0),o(f,function(t,e){m(t)&&x.setRequestHeader(e,t)}),x.onreadystatechange=function(){if(x&&4==x.readyState){var t=null,e=null,n="";y!==s&&(t=x.getAllResponseHeaders(),e="response"in x?x.response:x.responseText),y===s&&10>wn||(n=x.statusText),g(l,y||x.status,e,t,n)}},p&&(x.withCredentials=!0),$)try{x.responseType=$}catch(S){if("json"!==$)throw S}x.send(c||null)}if(h>0)var C=n(v,h);else T(h)&&h.then(v)}}function te(){var t="{{",e="}}";this.startSymbol=function(e){return e?(t=e,this):t},this.endSymbol=function(t){return t?(e=t,this):e},this.$get=["$parse","$exceptionHandler","$sce",function(n,r,i){function o(o,u,c){for(var l,f,h,p,d=0,$=[],v=o.length,g=!1,m=[];v>d;)-1!=(l=o.indexOf(t,d))&&-1!=(f=o.indexOf(e,l+a))?(d!=l&&$.push(o.substring(d,l)),$.push(h=n(p=o.substring(l+a,f))),h.exp=p,d=f+s,g=!0):(d!=v&&$.push(o.substring(d)),d=v);if((v=$.length)||($.push(""),v=1),c&&$.length>1)throw ar("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce",o);return!u||g?(m.length=v,h=function(t){try{for(var e,n=0,a=v;a>n;n++){if("function"==typeof(e=$[n]))if(e=e(t),e=c?i.getTrusted(c,e):i.valueOf(e),null==e)e="";else switch(typeof e){case"string":break;case"number":e=""+e;break;default:e=L(e)}m[n]=e}return m.join("")}catch(s){var u=ar("interr","Can't interpolate: {0}\n{1}",o,s.toString());r(u)}},h.exp=o,h.parts=$,h):void 0}var a=t.length,s=e.length;return o.startSymbol=function(){return t},o.endSymbol=function(){return e},o}]}function ee(){this.$get=["$rootScope","$window","$q",function(t,e,n){function r(r,o,a,s){var u=e.setInterval,c=e.clearInterval,l=n.defer(),f=l.promise,h=0,p=m(s)&&!s;return a=m(a)?a:0,f.then(null,null,r),f.$$intervalId=u(function(){l.notify(h++),a>0&&h>=a&&(l.resolve(h),c(f.$$intervalId),delete i[f.$$intervalId]),p||t.$apply()},o),i[f.$$intervalId]=l,f}var i={};return r.cancel=function(t){return t&&t.$$intervalId in i?(i[t.$$intervalId].reject("canceled"),e.clearInterval(t.$$intervalId),delete i[t.$$intervalId],!0):!1},r}]}function ne(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"¤",posSuf:"",negPre:"(¤",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),SHORTMONTH:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),DAY:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),SHORTDAY:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(","),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(t){return 1===t?"one":"other"}}}}function re(t){for(var e=t.split("/"),n=e.length;n--;)e[n]=G(e[n]);return e.join("/")}function ie(t,e,n){var r=Ue(t,n);e.$$protocol=r.protocol,e.$$host=r.hostname,e.$$port=h(r.port)||ur[r.protocol]||null}function oe(t,e,n){var r="/"!==t.charAt(0);r&&(t="/"+t);var i=Ue(t,n);e.$$path=decodeURIComponent(r&&"/"===i.pathname.charAt(0)?i.pathname.substring(1):i.pathname),e.$$search=Q(i.search),e.$$hash=decodeURIComponent(i.hash),e.$$path&&"/"!=e.$$path.charAt(0)&&(e.$$path="/"+e.$$path)}function ae(t,e){return 0===e.indexOf(t)?e.substr(t.length):void 0}function se(t){var e=t.indexOf("#");return-1==e?t:t.substr(0,e)}function ue(t){return t.substr(0,se(t).lastIndexOf("/")+1)}function ce(t){return t.substring(0,t.indexOf("/",t.indexOf("//")+2))}function le(t,e){this.$$html5=!0,e=e||"";var r=ue(t);ie(t,this,t),this.$$parse=function(e){var n=ae(r,e);if(!w(n))throw cr("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',e,r);oe(n,this,t),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var t=J(this.$$search),e=this.$$hash?"#"+G(this.$$hash):"";this.$$url=re(this.$$path)+(t?"?"+t:"")+e,this.$$absUrl=r+this.$$url.substr(1)},this.$$parseLinkUrl=function(i,o){var a,s,u;return(a=ae(t,i))!==n?(s=a,u=(a=ae(e,a))!==n?r+(ae("/",a)||a):t+s):(a=ae(r,i))!==n?u=r+a:r==i+"/"&&(u=r),u&&this.$$parse(u),!!u}}function fe(t,e){var n=ue(t);ie(t,this,t),this.$$parse=function(r){function i(t,e,n){var r,i=/^\/[A-Z]:(\/.*)/;return 0===e.indexOf(n)&&(e=e.replace(n,"")),i.exec(e)?t:(r=i.exec(t),r?r[1]:t)}var o=ae(t,r)||ae(n,r),a="#"==o.charAt(0)?ae(e,o):this.$$html5?o:"";if(!w(a))throw cr("ihshprfx",'Invalid url "{0}", missing hash prefix "{1}".',r,e);oe(a,this,t),this.$$path=i(this.$$path,a,t),this.$$compose()},this.$$compose=function(){var n=J(this.$$search),r=this.$$hash?"#"+G(this.$$hash):"";this.$$url=re(this.$$path)+(n?"?"+n:"")+r,this.$$absUrl=t+(this.$$url?e+this.$$url:"")},this.$$parseLinkUrl=function(e,n){return se(t)==se(e)?(this.$$parse(e),!0):!1}}function he(t,e){this.$$html5=!0,fe.apply(this,arguments);var n=ue(t);this.$$parseLinkUrl=function(r,i){var o,a;return t==se(r)?o=r:(a=ae(n,r))?o=t+e+a:n===r+"/"&&(o=n),o&&this.$$parse(o),!!o},this.$$compose=function(){var n=J(this.$$search),r=this.$$hash?"#"+G(this.$$hash):"";this.$$url=re(this.$$path)+(n?"?"+n:"")+r,this.$$absUrl=t+e+this.$$url}}function pe(t){return function(){return this[t]}}function de(t,e){return function(n){return g(n)?this[t]:(this[t]=e(n),this.$$compose(),this)}}function $e(){var e="",n=!1;this.hashPrefix=function(t){return m(t)?(e=t,this):e},this.html5Mode=function(t){return m(t)?(n=t,this):n},this.$get=["$rootScope","$browser","$sniffer","$rootElement",function(r,i,o,a){function s(t){r.$broadcast("$locationChangeSuccess",u.absUrl(),t)}var u,c,l,f=i.baseHref(),h=i.url();n?(l=ce(h)+(f||"/"),c=o.history?le:he):(l=se(h),c=fe),u=new c(l,"#"+e),u.$$parseLinkUrl(h,h);var p=/^\s*(javascript|mailto):/i;a.on("click",function(e){if(!e.ctrlKey&&!e.metaKey&&2!=e.which){for(var n=bn(e.target);"a"!==$n(n[0].nodeName);)if(n[0]===a[0]||!(n=n.parent())[0])return;var o=n.prop("href"),s=n.attr("href")||n.attr("xlink:href");y(o)&&"[object SVGAnimatedString]"===o.toString()&&(o=Ue(o.animVal).href),p.test(o)||!o||n.attr("target")||e.isDefaultPrevented()||u.$$parseLinkUrl(o,s)&&(e.preventDefault(),u.absUrl()!=i.url()&&(r.$apply(),t.angular["ff-684208-preventDefault"]=!0))}}),u.absUrl()!=h&&i.url(u.absUrl(),!0),i.onUrlChange(function(t){u.absUrl()!=t&&(r.$evalAsync(function(){var e=u.absUrl();u.$$parse(t),r.$broadcast("$locationChangeStart",t,e).defaultPrevented?(u.$$parse(e),i.url(e)):s(e)}),r.$$phase||r.$digest())});var d=0;return r.$watch(function(){var t=i.url(),e=u.$$replace;return d&&t==u.absUrl()||(d++,r.$evalAsync(function(){r.$broadcast("$locationChangeStart",u.absUrl(),t).defaultPrevented?u.$$parse(t):(i.url(u.absUrl(),e),s(t))})),u.$$replace=!1,d}),u}]}function ve(){var t=!0,e=this;this.debugEnabled=function(e){return m(e)?(t=e,this):t},this.$get=["$window",function(n){function r(t){return t instanceof Error&&(t.stack?t=t.message&&-1===t.stack.indexOf(t.message)?"Error: "+t.message+"\n"+t.stack:t.stack:t.sourceURL&&(t=t.message+"\n"+t.sourceURL+":"+t.line)),t}function i(t){var e=n.console||{},i=e[t]||e.log||d,a=!1;try{a=!!i.apply}catch(s){}return a?function(){var t=[];return o(arguments,function(e){t.push(r(e))}),i.apply(e,t)}:function(t,e){i(t,null==e?"":e)}}return{log:i("log"),info:i("info"),warn:i("warn"),error:i("error"),debug:function(){var n=i("debug");return function(){t&&n.apply(e,arguments)}}()}}]}function ge(t,e){if("__defineGetter__"===t||"__defineSetter__"===t||"__lookupGetter__"===t||"__lookupSetter__"===t||"__proto__"===t)throw fr("isecfld","Attempting to access a disallowed field in Angular expressions! Expression: {0}",e);return t}function me(t,e){if(t){if(t.constructor===t)throw fr("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",e);if(t.document&&t.location&&t.alert&&t.setInterval)throw fr("isecwindow","Referencing the Window in Angular expressions is disallowed! Expression: {0}",e);if(t.children&&(t.nodeName||t.prop&&t.attr&&t.find))throw fr("isecdom","Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}",e);if(t===Object)throw fr("isecobj","Referencing Object in Angular expressions is disallowed! Expression: {0}",e)}return t}function ye(t,e){if(t){if(t.constructor===t)throw fr("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",e);if(t===pr||t===dr||$r&&t===$r)throw fr("isecff","Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}",e)}}function we(t,e,r,i,o){me(t,i),o=o||{};for(var a,s=e.split("."),u=0;s.length>1;u++){a=ge(s.shift(),i);var c=me(t[a],i);c||(c={},t[a]=c),t=c,t.then&&o.unwrapPromises&&(lr(i),"$$v"in t||!function(t){t.then(function(e){t.$$v=e})}(t),t.$$v===n&&(t.$$v={}),t=t.$$v)}return a=ge(s.shift(),i),me(t[a],i),t[a]=r,r}function be(t){return"constructor"==t}function xe(t,e,r,i,o,a,s){ge(t,a),ge(e,a),ge(r,a),ge(i,a),ge(o,a);var u=function(t){return me(t,a)},c=s.expensiveChecks,l=c||be(t)?u:$,f=c||be(e)?u:$,h=c||be(r)?u:$,p=c||be(i)?u:$,d=c||be(o)?u:$;return s.unwrapPromises?function(s,u){var c,$=u&&u.hasOwnProperty(t)?u:s;return null==$?$:($=l($[t]),$&&$.then&&(lr(a),"$$v"in $||(c=$,c.$$v=n,c.then(function(t){c.$$v=l(t)})),$=l($.$$v)),e?null==$?n:($=f($[e]),$&&$.then&&(lr(a),"$$v"in $||(c=$,c.$$v=n,c.then(function(t){c.$$v=f(t)})),$=f($.$$v)),r?null==$?n:($=h($[r]),$&&$.then&&(lr(a),"$$v"in $||(c=$,c.$$v=n,c.then(function(t){c.$$v=h(t)})),$=h($.$$v)),i?null==$?n:($=p($[i]),$&&$.then&&(lr(a),"$$v"in $||(c=$,c.$$v=n,c.then(function(t){c.$$v=p(t)})),$=p($.$$v)),o?null==$?n:($=d($[o]),$&&$.then&&(lr(a),"$$v"in $||(c=$,c.$$v=n,c.then(function(t){c.$$v=d(t)})),$=d($.$$v)),$):$):$):$):$)}:function(a,s){var u=s&&s.hasOwnProperty(t)?s:a;return null==u?u:(u=l(u[t]),e?null==u?n:(u=f(u[e]),r?null==u?n:(u=h(u[r]),i?null==u?n:(u=p(u[i]),o?null==u?n:u=d(u[o]):u):u):u):u)}}function Se(t,e){return function(n,r){return t(n,r,lr,me,e)}}function Ce(t,e,r){var i=e.expensiveChecks,a=i?br:wr;if(a.hasOwnProperty(t))return a[t];var s,u=t.split("."),c=u.length;if(e.csp)s=6>c?xe(u[0],u[1],u[2],u[3],u[4],r,e):function(t,i){var o,a=0;do o=xe(u[a++],u[a++],u[a++],u[a++],u[a++],r,e)(t,i),i=n,t=o;while(c>a);return o};else{var l="var p;\n";i&&(l+="s = eso(s, fe);\nl = eso(l, fe);\n");var f=i;o(u,function(t,n){ge(t,r);var o=(n?"s":'((l&&l.hasOwnProperty("'+t+'"))?l:s)')+'["'+t+'"]',a=i||be(t);a&&(o="eso("+o+", fe)",f=!0),l+="if(s == null) return undefined;\ns="+o+";\n",e.unwrapPromises&&(l+='if (s && s.then) {\n pw("'+r.replace(/(["\r\n])/g,"\\$1")+'");\n if (!("$$v" in s)) {\n p=s;\n p.$$v = undefined;\n p.then(function(v) {p.$$v='+(a?"eso(v)":"v")+";});\n}\n s="+(a?"eso(s.$$v)":"s.$$v")+"\n}\n")}),l+="return s;";var h=new Function("s","l","pw","eso","fe",l);h.toString=v(l),(f||e.unwrapPromises)&&(h=Se(h,r)),s=h}return"hasOwnProperty"!==t&&(a[t]=s),s}function ke(){var t={},e={},n={csp:!1,unwrapPromises:!1,logPromiseWarnings:!0,expensiveChecks:!1};this.unwrapPromises=function(t){return m(t)?(n.unwrapPromises=!!t,this):n.unwrapPromises},this.logPromiseWarnings=function(t){return m(t)?(n.logPromiseWarnings=t,this):n.logPromiseWarnings},this.$get=["$filter","$sniffer","$log",function(r,i,o){n.csp=i.csp;var a={csp:n.csp,unwrapPromises:n.unwrapPromises,logPromiseWarnings:n.logPromiseWarnings,expensiveChecks:!0};return lr=function(t){n.logPromiseWarnings&&!hr.hasOwnProperty(t)&&(hr[t]=!0,o.warn("[$parse] Promise found in the expression `"+t+"`. Automatic unwrapping of promises in Angular expressions is deprecated."))},function(i,o){var s;switch(typeof i){case"string":var u=o?e:t;if(u.hasOwnProperty(i))return u[i];var c=o?a:n,l=new mr(c),f=new yr(l,r,c);return s=f.parse(i),"hasOwnProperty"!==i&&(u[i]=s),s;case"function":return i;default:return d}}}]}function Ee(){this.$get=["$rootScope","$exceptionHandler",function(t,e){return Ae(function(e){t.$evalAsync(e)},e)}]}function Ae(t,e){function r(t){return t}function i(t){return c(t)}function a(t){var e=s(),n=0,r=Nn(t)?[]:{};return o(t,function(t,i){n++,u(t).then(function(t){r.hasOwnProperty(i)||(r[i]=t,--n||e.resolve(r))},function(t){r.hasOwnProperty(i)||e.reject(t)})}),0===n&&e.resolve(r),e.promise}var s=function(){var o,a,c=[];return a={resolve:function(e){if(c){var r=c;c=n,o=u(e),r.length&&t(function(){for(var t,e=0,n=r.length;n>e;e++)t=r[e],o.then(t[0],t[1],t[2])})}},reject:function(t){a.resolve(l(t))},notify:function(e){if(c){var n=c;c.length&&t(function(){for(var t,r=0,i=n.length;i>r;r++)t=n[r],t[2](e)})}},promise:{then:function(t,n,a){var u=s(),l=function(n){try{u.resolve((S(t)?t:r)(n))}catch(i){u.reject(i),e(i)}},f=function(t){try{u.resolve((S(n)?n:i)(t))}catch(r){u.reject(r),e(r)}},h=function(t){try{u.notify((S(a)?a:r)(t))}catch(n){e(n)}};return c?c.push([l,f,h]):o.then(l,f,h),u.promise},"catch":function(t){return this.then(null,t)},"finally":function(t){function e(t,e){var n=s();return e?n.resolve(t):n.reject(t),n.promise}function n(n,i){var o=null;try{o=(t||r)()}catch(a){return e(a,!1)}return T(o)?o.then(function(){return e(n,i)},function(t){return e(t,!1)}):e(n,i)}return this.then(function(t){return n(t,!0)},function(t){return n(t,!1)})}}}},u=function(e){return T(e)?e:{then:function(n){var r=s();return t(function(){r.resolve(n(e))}),r.promise}}},c=function(t){var e=s();return e.reject(t),e.promise},l=function(n){return{then:function(r,o){var a=s();return t(function(){try{a.resolve((S(o)?o:i)(n))}catch(t){a.reject(t),e(t)}}),a.promise}}},f=function(n,o,a,l){var f,h=s(),p=function(t){try{return(S(o)?o:r)(t)}catch(n){return e(n),c(n)}},d=function(t){try{return(S(a)?a:i)(t)}catch(n){return e(n),c(n)}},$=function(t){try{return(S(l)?l:r)(t)}catch(n){e(n)}};return t(function(){u(n).then(function(t){f||(f=!0,h.resolve(u(t).then(p,d,$)))},function(t){f||(f=!0,h.resolve(d(t)))},function(t){f||h.notify($(t))})}),h.promise};return{defer:s,reject:c,when:f,all:a}}function Oe(){this.$get=["$window","$timeout",function(t,e){var n=t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame,r=t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.webkitCancelRequestAnimationFrame,i=!!n,o=i?function(t){var e=n(t);return function(){r(e)}}:function(t){var n=e(t,16.66,!1);return function(){e.cancel(n)}};return o.supported=i,o}]}function Te(){var t=10,e=r("$rootScope"),n=null;this.digestTtl=function(e){return arguments.length&&(t=e),t},this.$get=["$injector","$exceptionHandler","$parse","$browser",function(r,a,s,u){function l(){this.$id=c(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this["this"]=this.$root=this,this.$$destroyed=!1,this.$$asyncQueue=[],this.$$postDigestQueue=[],this.$$listeners={},this.$$listenerCount={},this.$$isolateBindings={}}function f(t){if(g.$$phase)throw e("inprog","{0} already in progress",g.$$phase);g.$$phase=t}function h(){g.$$phase=null}function p(t,e){var n=s(t);return nt(n,e),n}function $(t,e,n){do t.$$listenerCount[n]-=e,0===t.$$listenerCount[n]&&delete t.$$listenerCount[n];while(t=t.$parent)}function v(){}l.prototype={constructor:l,$new:function(t){var e;return t?(e=new l,e.$root=this.$root,e.$$asyncQueue=this.$$asyncQueue,e.$$postDigestQueue=this.$$postDigestQueue):(this.$$childScopeClass||(this.$$childScopeClass=function(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$id=c(),this.$$childScopeClass=null},this.$$childScopeClass.prototype=this),e=new this.$$childScopeClass),e["this"]=e,e.$parent=this,e.$$prevSibling=this.$$childTail,this.$$childHead?(this.$$childTail.$$nextSibling=e,this.$$childTail=e):this.$$childHead=this.$$childTail=e,e},$watch:function(t,e,r){var i=this,o=p(t,"watch"),a=i.$$watchers,s={fn:e,last:v,get:o,exp:t,eq:!!r};if(n=null,!S(e)){var u=p(e||d,"listener");s.fn=function(t,e,n){u(n)}}if("string"==typeof t&&o.constant){var c=s.fn;s.fn=function(t,e,n){c.call(this,t,e,n),D(a,s)}}return a||(a=i.$$watchers=[]),a.unshift(s),function(){D(a,s),n=null}},$watchCollection:function(t,e){function n(){o=h(c);var t,e,n;if(y(o))if(i(o)){a!==p&&(a=p,v=a.length=0,f++),t=o.length,v!==t&&(f++,a.length=v=t);for(var r=0;t>r;r++)n=a[r]!==a[r]&&o[r]!==o[r],n||a[r]===o[r]||(f++,a[r]=o[r])}else{a!==d&&(a=d={},v=0,f++),t=0;for(e in o)o.hasOwnProperty(e)&&(t++,a.hasOwnProperty(e)?(n=a[e]!==a[e]&&o[e]!==o[e],n||a[e]===o[e]||(f++,a[e]=o[e])):(v++,a[e]=o[e],f++));if(v>t){f++;for(e in a)a.hasOwnProperty(e)&&!o.hasOwnProperty(e)&&(v--,delete a[e])}}else a!==o&&(a=o,f++);return f}function r(){if($?($=!1,e(o,o,c)):e(o,u,c),l)if(y(o))if(i(o)){u=new Array(o.length);for(var t=0;t<o.length;t++)u[t]=o[t]}else{u={};for(var n in o)vn.call(o,n)&&(u[n]=o[n])}else u=o}var o,a,u,c=this,l=e.length>1,f=0,h=s(t),p=[],d={},$=!0,v=0;return this.$watch(n,r)},$digest:function(){var r,i,o,s,c,l,p,d,$,g,m,y=this.$$asyncQueue,w=this.$$postDigestQueue,b=t,x=this,C=[];f("$digest"),u.$$checkUrlChange(),n=null;do{for(l=!1,d=x;y.length;){try{m=y.shift(),m.scope.$eval(m.expression)}catch(k){h(),a(k)}n=null}t:do{if(s=d.$$watchers)for(c=s.length;c--;)try{if(r=s[c])if((i=r.get(d))===(o=r.last)||(r.eq?q(i,o):"number"==typeof i&&"number"==typeof o&&isNaN(i)&&isNaN(o))){if(r===n){l=!1;break t}}else l=!0,n=r,r.last=r.eq?R(i,null):i,r.fn(i,o===v?i:o,d),5>b&&($=4-b,C[$]||(C[$]=[]),g=S(r.exp)?"fn: "+(r.exp.name||r.exp.toString()):r.exp,g+="; newVal: "+L(i)+"; oldVal: "+L(o),C[$].push(g))}catch(k){h(),a(k)}if(!(p=d.$$childHead||d!==x&&d.$$nextSibling))for(;d!==x&&!(p=d.$$nextSibling);)d=d.$parent}while(d=p);if((l||y.length)&&!b--)throw h(),e("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",t,L(C))}while(l||y.length);for(h();w.length;)try{w.shift()()}catch(k){a(k)}},$destroy:function(){if(!this.$$destroyed){var t=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,this!==g&&(o(this.$$listenerCount,I(null,$,this)),t.$$childHead==this&&(t.$$childHead=this.$$nextSibling),t.$$childTail==this&&(t.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=this.$root=null,this.$$listeners={},this.$$watchers=this.$$asyncQueue=this.$$postDigestQueue=[],this.$destroy=this.$digest=this.$apply=d,this.$on=this.$watch=function(){return d})}},$eval:function(t,e){return s(t)(this,e)},$evalAsync:function(t){g.$$phase||g.$$asyncQueue.length||u.defer(function(){g.$$asyncQueue.length&&g.$digest()}),this.$$asyncQueue.push({scope:this,expression:t})},$$postDigest:function(t){this.$$postDigestQueue.push(t)},$apply:function(t){try{return f("$apply"),this.$eval(t)}catch(e){a(e)}finally{h();try{g.$digest()}catch(e){throw a(e),e}}},$on:function(t,e){var n=this.$$listeners[t];n||(this.$$listeners[t]=n=[]),n.push(e);var r=this;do r.$$listenerCount[t]||(r.$$listenerCount[t]=0),r.$$listenerCount[t]++;while(r=r.$parent);var i=this;return function(){var r=j(n,e);-1!==r&&(n[r]=null,$(i,1,t))}},$emit:function(t,e){var n,r,i,o=[],s=this,u=!1,c={name:t,targetScope:s,stopPropagation:function(){u=!0},preventDefault:function(){c.defaultPrevented=!0},defaultPrevented:!1},l=U([c],arguments,1);do{for(n=s.$$listeners[t]||o,c.currentScope=s,r=0,i=n.length;i>r;r++)if(n[r])try{n[r].apply(null,l)}catch(f){a(f)}else n.splice(r,1),r--,i--;if(u)return c;s=s.$parent}while(s);return c},$broadcast:function(t,e){for(var n,r,i,o=this,s=o,u=o,c={name:t,targetScope:o,preventDefault:function(){c.defaultPrevented=!0},defaultPrevented:!1},l=U([c],arguments,1);s=u;){for(c.currentScope=s,n=s.$$listeners[t]||[],r=0,i=n.length;i>r;r++)if(n[r])try{n[r].apply(null,l)}catch(f){a(f)}else n.splice(r,1),r--,i--;if(!(u=s.$$listenerCount[t]&&s.$$childHead||s!==o&&s.$$nextSibling))for(;s!==o&&!(u=s.$$nextSibling);)s=s.$parent}return c}};var g=new l;return g}]}function Me(){var t=/^\s*(https?|ftp|mailto|tel|file):/,e=/^\s*((https?|ftp|file):|data:image\/)/;this.aHrefSanitizationWhitelist=function(e){return m(e)?(t=e,this):t},this.imgSrcSanitizationWhitelist=function(t){return m(t)?(e=t,this):e},this.$get=function(){return function(n,r){var i,o=r?e:t;return wn&&!(wn>=8)||(i=Ue(n).href,""===i||i.match(o))?n:"unsafe:"+i}}}function Ne(t){return t.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")}function Pe(t){if("self"===t)return t;if(w(t)){if(t.indexOf("***")>-1)throw xr("iwcard","Illegal sequence *** in string matcher. String: {0}",t);return t=Ne(t).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+t+"$")}if(C(t))return new RegExp("^"+t.source+"$");throw xr("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}function je(t){var e=[];return m(t)&&o(t,function(t){e.push(Pe(t))}),e}function De(){this.SCE_CONTEXTS=Sr;var t=["self"],e=[];this.resourceUrlWhitelist=function(e){return arguments.length&&(t=je(e)),t},this.resourceUrlBlacklist=function(t){return arguments.length&&(e=je(t)),e},this.$get=["$injector",function(r){function i(t,e){return"self"===t?Ve(e):!!t.exec(e.href)}function o(n){var r,o,a=Ue(n.toString()),s=!1;for(r=0,o=t.length;o>r;r++)if(i(t[r],a)){s=!0;break}if(s)for(r=0,o=e.length;o>r;r++)if(i(e[r],a)){s=!1;break}return s}function a(t){var e=function(t){this.$$unwrapTrustedValue=function(){return t}};return t&&(e.prototype=new t),e.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},e.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},e}function s(t,e){var r=h.hasOwnProperty(t)?h[t]:null;if(!r)throw xr("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",t,e);if(null===e||e===n||""===e)return e;if("string"!=typeof e)throw xr("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",t);return new r(e)}function u(t){return t instanceof f?t.$$unwrapTrustedValue():t}function c(t,e){if(null===e||e===n||""===e)return e;var r=h.hasOwnProperty(t)?h[t]:null;if(r&&e instanceof r)return e.$$unwrapTrustedValue();if(t===Sr.RESOURCE_URL){if(o(e))return e;throw xr("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}",e.toString())}if(t===Sr.HTML)return l(e);throw xr("unsafe","Attempting to use an unsafe value in a safe context.")}var l=function(t){throw xr("unsafe","Attempting to use an unsafe value in a safe context.")};r.has("$sanitize")&&(l=r.get("$sanitize"));var f=a(),h={};return h[Sr.HTML]=a(f),h[Sr.CSS]=a(f),h[Sr.URL]=a(f),h[Sr.JS]=a(f),h[Sr.RESOURCE_URL]=a(h[Sr.URL]),{trustAs:s,getTrusted:c,valueOf:u}}]}function Re(){var t=!0;this.enabled=function(e){return arguments.length&&(t=!!e),t},this.$get=["$parse","$sniffer","$sceDelegate",function(e,n,r){if(t&&n.msie&&n.msieDocumentMode<8)throw xr("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 9 in quirks mode. You can fix this by adding the text <!doctype html> to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information.");var i=_(Sr);i.isEnabled=function(){return t},i.trustAs=r.trustAs,i.getTrusted=r.getTrusted,i.valueOf=r.valueOf,t||(i.trustAs=i.getTrusted=function(t,e){return e},i.valueOf=$),i.parseAs=function(t,n){var r=e(n);return r.literal&&r.constant?r:function(e,n){return i.getTrusted(t,r(e,n))}};var a=i.parseAs,s=i.getTrusted,u=i.trustAs;return o(Sr,function(t,e){var n=$n(e);i[ct("parse_as_"+n)]=function(e){return a(t,e)},i[ct("get_trusted_"+n)]=function(e){return s(t,e)},i[ct("trust_as_"+n)]=function(e){return u(t,e)}}),i}]}function _e(){this.$get=["$window","$document",function(t,e){var n,r,i={},o=h((/android (\d+)/.exec($n((t.navigator||{}).userAgent))||[])[1]),a=/Boxee/i.test((t.navigator||{}).userAgent),s=e[0]||{},u=s.documentMode,c=/^(Moz|webkit|O|ms)(?=[A-Z])/,l=s.body&&s.body.style,f=!1,p=!1;if(l){for(var d in l)if(r=c.exec(d)){n=r[0],n=n.substr(0,1).toUpperCase()+n.substr(1);break}n||(n="WebkitOpacity"in l&&"webkit"),f=!!("transition"in l||n+"Transition"in l),p=!!("animation"in l||n+"Animation"in l),!o||f&&p||(f=w(s.body.style.webkitTransition),p=w(s.body.style.webkitAnimation))}return{history:!(!t.history||!t.history.pushState||4>o||a),
8
+ hashchange:"onhashchange"in t&&(!u||u>7),hasEvent:function(t){if("input"==t&&9==wn)return!1;if(g(i[t])){var e=s.createElement("div");i[t]="on"+t in e}return i[t]},csp:jn(),vendorPrefix:n,transitions:f,animations:p,android:o,msie:wn,msieDocumentMode:u}}]}function qe(){this.$get=["$rootScope","$browser","$q","$exceptionHandler",function(t,e,n,r){function i(i,a,s){var u,c=n.defer(),l=c.promise,f=m(s)&&!s;return u=e.defer(function(){try{c.resolve(i())}catch(e){c.reject(e),r(e)}finally{delete o[l.$$timeoutId]}f||t.$apply()},a),l.$$timeoutId=u,o[u]=c,l}var o={};return i.cancel=function(t){return t&&t.$$timeoutId in o?(o[t.$$timeoutId].reject("canceled"),delete o[t.$$timeoutId],e.defer.cancel(t.$$timeoutId)):!1},i}]}function Ue(t,e){var n=t;return wn&&(Cr.setAttribute("href",n),n=Cr.href),Cr.setAttribute("href",n),{href:Cr.href,protocol:Cr.protocol?Cr.protocol.replace(/:$/,""):"",host:Cr.host,search:Cr.search?Cr.search.replace(/^\?/,""):"",hash:Cr.hash?Cr.hash.replace(/^#/,""):"",hostname:Cr.hostname,port:Cr.port,pathname:"/"===Cr.pathname.charAt(0)?Cr.pathname:"/"+Cr.pathname}}function Ve(t){var e=w(t)?Ue(t):t;return e.protocol===kr.protocol&&e.host===kr.host}function Ie(){this.$get=v(t)}function Fe(t){function e(r,i){if(y(r)){var a={};return o(r,function(t,n){a[n]=e(n,t)}),a}return t.factory(r+n,i)}var n="Filter";this.register=e,this.$get=["$injector",function(t){return function(e){return t.get(e+n)}}],e("currency",He),e("date",Ke),e("filter",Le),e("json",Ye),e("limitTo",Ze),e("lowercase",Mr),e("number",Be),e("orderBy",tn),e("uppercase",Nr)}function Le(){return function(t,e,n){if(!Nn(t))return t;var r=typeof n,i=[];i.check=function(t){for(var e=0;e<i.length;e++)if(!i[e](t))return!1;return!0},"function"!==r&&(n="boolean"===r&&n?function(t,e){return Tn.equals(t,e)}:function(t,e){if(t&&e&&"object"==typeof t&&"object"==typeof e){for(var r in t)if("$"!==r.charAt(0)&&vn.call(t,r)&&n(t[r],e[r]))return!0;return!1}return e=(""+e).toLowerCase(),(""+t).toLowerCase().indexOf(e)>-1});var o=function(t,e){if("string"==typeof e&&"!"===e.charAt(0))return!o(t,e.substr(1));switch(typeof t){case"boolean":case"number":case"string":return n(t,e);case"object":switch(typeof e){case"object":return n(t,e);default:for(var r in t)if("$"!==r.charAt(0)&&o(t[r],e))return!0}return!1;case"array":for(var i=0;i<t.length;i++)if(o(t[i],e))return!0;return!1;default:return!1}};switch(typeof e){case"boolean":case"number":case"string":e={$:e};case"object":for(var a in e)!function(t){"undefined"!=typeof e[t]&&i.push(function(n){return o("$"==t?n:n&&n[t],e[t])})}(a);break;case"function":i.push(e);break;default:return t}for(var s=[],u=0;u<t.length;u++){var c=t[u];i.check(c)&&s.push(c)}return s}}function He(t){var e=t.NUMBER_FORMATS;return function(t,n){return g(n)&&(n=e.CURRENCY_SYM),ze(t,e.PATTERNS[1],e.GROUP_SEP,e.DECIMAL_SEP,2).replace(/\u00A4/g,n)}}function Be(t){var e=t.NUMBER_FORMATS;return function(t,n){return ze(t,e.PATTERNS[0],e.GROUP_SEP,e.DECIMAL_SEP,n)}}function ze(t,e,n,r,i){if(null==t||!isFinite(t)||y(t))return"";var o=0>t;t=Math.abs(t);var a=t+"",s="",u=[],c=!1;if(-1!==a.indexOf("e")){var l=a.match(/([\d\.]+)e(-?)(\d+)/);l&&"-"==l[2]&&l[3]>i+1?(a="0",t=0):(s=a,c=!0)}if(c)i>0&&t>-1&&1>t&&(s=t.toFixed(i));else{var f=(a.split(Er)[1]||"").length;g(i)&&(i=Math.min(Math.max(e.minFrac,f),e.maxFrac)),t=+(Math.round(+(t.toString()+"e"+i)).toString()+"e"+-i),0===t&&(o=!1);var h=(""+t).split(Er),p=h[0];h=h[1]||"";var d,$=0,v=e.lgSize,m=e.gSize;if(p.length>=v+m)for($=p.length-v,d=0;$>d;d++)($-d)%m===0&&0!==d&&(s+=n),s+=p.charAt(d);for(d=$;d<p.length;d++)(p.length-d)%v===0&&0!==d&&(s+=n),s+=p.charAt(d);for(;h.length<i;)h+="0";i&&"0"!==i&&(s+=r+h.substr(0,i))}return u.push(o?e.negPre:e.posPre),u.push(s),u.push(o?e.negSuf:e.posSuf),u.join("")}function We(t,e,n){var r="";for(0>t&&(r="-",t=-t),t=""+t;t.length<e;)t="0"+t;return n&&(t=t.substr(t.length-e)),r+t}function Qe(t,e,n,r){return n=n||0,function(i){var o=i["get"+t]();return(n>0||o>-n)&&(o+=n),0===o&&-12==n&&(o=12),We(o,e,r)}}function Je(t,e){return function(n,r){var i=n["get"+t](),o=gn(e?"SHORT"+t:t);return r[o][i]}}function Ge(t){var e=-1*t.getTimezoneOffset(),n=e>=0?"+":"";return n+=We(Math[e>0?"floor":"ceil"](e/60),2)+We(Math.abs(e%60),2)}function Xe(t,e){return t.getHours()<12?e.AMPMS[0]:e.AMPMS[1]}function Ke(t){function e(t){var e;if(e=t.match(n)){var r=new Date(0),i=0,o=0,a=e[8]?r.setUTCFullYear:r.setFullYear,s=e[8]?r.setUTCHours:r.setHours;e[9]&&(i=h(e[9]+e[10]),o=h(e[9]+e[11])),a.call(r,h(e[1]),h(e[2])-1,h(e[3]));var u=h(e[4]||0)-i,c=h(e[5]||0)-o,l=h(e[6]||0),f=Math.round(1e3*parseFloat("0."+(e[7]||0)));return s.call(r,u,c,l,f),r}return t}var n=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(n,r){var i,a,s="",u=[];if(r=r||"mediumDate",r=t.DATETIME_FORMATS[r]||r,w(n)&&(n=Tr.test(n)?h(n):e(n)),b(n)&&(n=new Date(n)),!x(n))return n;for(;r;)a=Or.exec(r),a?(u=U(u,a,1),r=u.pop()):(u.push(r),r=null);return o(u,function(e){i=Ar[e],s+=i?i(n,t.DATETIME_FORMATS):e.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),s}}function Ye(){return function(t){return L(t,!0)}}function Ze(){return function(t,e){if(!Nn(t)&&!w(t))return t;if(e=Math.abs(Number(e))===1/0?Number(e):h(e),w(t))return e?e>=0?t.slice(0,e):t.slice(e,t.length):"";var n,r,i=[];for(e>t.length?e=t.length:e<-t.length&&(e=-t.length),e>0?(n=0,r=e):(n=t.length+e,r=t.length);r>n;n++)i.push(t[n]);return i}}function tn(t){return function(e,n,r){function o(t,e){for(var r=0;r<n.length;r++){var i=n[r](t,e);if(0!==i)return i}return 0}function a(t,e){return B(e)?function(e,n){return t(n,e)}:t}function s(t,e){var n=typeof t,r=typeof e;return n==r?(x(t)&&x(e)&&(t=t.valueOf(),e=e.valueOf()),"string"==n&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e?0:e>t?-1:1):r>n?-1:1}return i(e)?(n=Nn(n)?n:[n],0===n.length&&(n=["+"]),n=N(n,function(e){var n=!1,r=e||$;if(w(e)){if(("+"==e.charAt(0)||"-"==e.charAt(0))&&(n="-"==e.charAt(0),e=e.substring(1)),""===e)return a(function(t,e){return s(t,e)},n);if(r=t(e),r.constant){var i=r();return a(function(t,e){return s(t[i],e[i])},n)}}return a(function(t,e){return s(r(t),r(e))},n)}),kn.call(e).sort(a(o,r))):e}}function en(t){return S(t)&&(t={link:t}),t.restrict=t.restrict||"AC",v(t)}function nn(t,e,n,r){function i(e,n){n=n?"-"+Z(n,"-"):"",r.setClass(t,(e?Br:zr)+n,(e?zr:Br)+n)}var a=this,s=t.parent().controller("form")||Dr,u=0,c=a.$error={},l=[];a.$name=e.name||e.ngForm,a.$dirty=!1,a.$pristine=!0,a.$valid=!0,a.$invalid=!1,s.$addControl(a),t.addClass(Wr),i(!0),a.$addControl=function(t){rt(t.$name,"input"),l.push(t),t.$name&&(a[t.$name]=t)},a.$removeControl=function(t){t.$name&&a[t.$name]===t&&delete a[t.$name],o(c,function(e,n){a.$setValidity(n,!0,t)}),D(l,t)},a.$setValidity=function(t,e,n){var r=c[t];if(e)r&&(D(r,n),r.length||(u--,u||(i(e),a.$valid=!0,a.$invalid=!1),c[t]=!1,i(!0,t),s.$setValidity(t,!0,a)));else{if(u||i(e),r){if(P(r,n))return}else c[t]=r=[],u++,i(!1,t),s.$setValidity(t,!1,a);r.push(n),a.$valid=!1,a.$invalid=!0}},a.$setDirty=function(){r.removeClass(t,Wr),r.addClass(t,Qr),a.$dirty=!0,a.$pristine=!1,s.$setDirty()},a.$setPristine=function(){r.removeClass(t,Qr),r.addClass(t,Wr),a.$dirty=!1,a.$pristine=!0,o(l,function(t){t.$setPristine()})}}function rn(t,e,r,i){return t.$setValidity(e,r),r?i:n}function on(t,e){var n,r;if(e)for(n=0;n<e.length;++n)if(r=e[n],t[r])return!0;return!1}function an(t,e,n,r,i){if(y(i)){t.$$hasNativeValidators=!0;var o=function(o){return t.$error[e]||on(i,r)||!on(i,n)?o:void t.$setValidity(e,!1)};t.$parsers.push(o)}}function sn(t,e,n,i,o,a){var s=e.prop(dn),u=e[0].placeholder,c={},l=$n(e[0].type);if(i.$$validityState=s,!o.android){var f=!1;e.on("compositionstart",function(t){f=!0}),e.on("compositionend",function(){f=!1,p()})}var p=function(r){if(!f){var o=e.val();if(wn&&"input"===(r||c).type&&e[0].placeholder!==u)return void(u=e[0].placeholder);"password"!==l&&B(n.ngTrim||"T")&&(o=Pn(o));var a=s&&i.$$hasNativeValidators;(i.$viewValue!==o||""===o&&a)&&(t.$root.$$phase?i.$setViewValue(o):t.$apply(function(){i.$setViewValue(o)}))}};if(o.hasEvent("input"))e.on("input",p);else{var d,$=function(){d||(d=a.defer(function(){p(),d=null}))};e.on("keydown",function(t){var e=t.keyCode;91===e||e>15&&19>e||e>=37&&40>=e||$()}),o.hasEvent("paste")&&e.on("paste cut",$)}e.on("change",p),i.$render=function(){e.val(i.$isEmpty(i.$viewValue)?"":i.$viewValue)};var v,g,m=n.ngPattern;if(m){var y=function(t,e){return rn(i,"pattern",i.$isEmpty(e)||t.test(e),e)};g=m.match(/^\/(.*)\/([gim]*)$/),g?(m=new RegExp(g[1],g[2]),v=function(t){return y(m,t)}):v=function(n){var i=t.$eval(m);if(!i||!i.test)throw r("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",m,i,z(e));return y(i,n)},i.$formatters.push(v),i.$parsers.push(v)}if(n.ngMinlength){var w=h(n.ngMinlength),b=function(t){return rn(i,"minlength",i.$isEmpty(t)||t.length>=w,t)};i.$parsers.push(b),i.$formatters.push(b)}if(n.ngMaxlength){var x=h(n.ngMaxlength),S=function(t){return rn(i,"maxlength",i.$isEmpty(t)||t.length<=x,t)};i.$parsers.push(S),i.$formatters.push(S)}}function un(t,e,r,i,o,a){if(sn(t,e,r,i,o,a),i.$parsers.push(function(t){var e=i.$isEmpty(t);return e||Ir.test(t)?(i.$setValidity("number",!0),""===t?null:e?t:parseFloat(t)):(i.$setValidity("number",!1),n)}),an(i,"number",Lr,null,i.$$validityState),i.$formatters.push(function(t){return i.$isEmpty(t)?"":""+t}),r.min){var s=function(t){var e=parseFloat(r.min);return rn(i,"min",i.$isEmpty(t)||t>=e,t)};i.$parsers.push(s),i.$formatters.push(s)}if(r.max){var u=function(t){var e=parseFloat(r.max);return rn(i,"max",i.$isEmpty(t)||e>=t,t)};i.$parsers.push(u),i.$formatters.push(u)}i.$formatters.push(function(t){return rn(i,"number",i.$isEmpty(t)||b(t),t)})}function cn(t,e,n,r,i,o){sn(t,e,n,r,i,o);var a=function(t){return rn(r,"url",r.$isEmpty(t)||Ur.test(t),t)};r.$formatters.push(a),r.$parsers.push(a)}function ln(t,e,n,r,i,o){sn(t,e,n,r,i,o);var a=function(t){return rn(r,"email",r.$isEmpty(t)||Vr.test(t),t)};r.$formatters.push(a),r.$parsers.push(a)}function fn(t,e,n,r){g(n.name)&&e.attr("name",c()),e.on("click",function(){e[0].checked&&t.$apply(function(){r.$setViewValue(n.value)})}),r.$render=function(){var t=n.value;e[0].checked=t==r.$viewValue},n.$observe("value",r.$render)}function hn(t,e,n,r){var i=n.ngTrueValue,o=n.ngFalseValue;w(i)||(i=!0),w(o)||(o=!1),e.on("click",function(){t.$apply(function(){r.$setViewValue(e[0].checked)})}),r.$render=function(){e[0].checked=r.$viewValue},r.$isEmpty=function(t){return t!==i},r.$formatters.push(function(t){return t===i}),r.$parsers.push(function(t){return t?i:o})}function pn(t,e){return t="ngClass"+t,["$animate",function(n){function r(t,e){var n=[];t:for(var r=0;r<t.length;r++){for(var i=t[r],o=0;o<e.length;o++)if(i==e[o])continue t;n.push(i)}return n}function i(t){if(Nn(t))return t;if(w(t))return t.split(" ");if(y(t)){var e=[];return o(t,function(t,n){t&&(e=e.concat(n.split(" ")))}),e}return t}return{restrict:"AC",link:function(a,s,u){function c(t){var e=f(t,1);u.$addClass(e)}function l(t){var e=f(t,-1);u.$removeClass(e)}function f(t,e){var n=s.data("$classCounts")||{},r=[];return o(t,function(t){(e>0||n[t])&&(n[t]=(n[t]||0)+e,n[t]===+(e>0)&&r.push(t))}),s.data("$classCounts",n),r.join(" ")}function h(t,e){var i=r(e,t),o=r(t,e);o=f(o,-1),i=f(i,1),0===i.length?n.removeClass(s,o):0===o.length?n.addClass(s,i):n.setClass(s,i,o)}function p(t){if(e===!0||a.$index%2===e){var n=i(t||[]);if(d){if(!q(t,d)){var r=i(d);h(r,n)}}else c(n)}d=_(t)}var d;a.$watch(u[t],p,!0),u.$observe("class",function(e){p(a.$eval(u[t]))}),"ngClass"!==t&&a.$watch("$index",function(n,r){var o=1&n;if(o!==(1&r)){var s=i(a.$eval(u[t]));o===e?c(s):l(s)}})}}}]}var dn="validity",$n=function(t){return w(t)?t.toLowerCase():t},vn=Object.prototype.hasOwnProperty,gn=function(t){return w(t)?t.toUpperCase():t},mn=function(t){return w(t)?t.replace(/[A-Z]/g,function(t){return String.fromCharCode(32|t.charCodeAt(0))}):t},yn=function(t){return w(t)?t.replace(/[a-z]/g,function(t){return String.fromCharCode(-33&t.charCodeAt(0))}):t};"i"!=="I".toLowerCase()&&($n=mn,gn=yn);var wn,bn,xn,Sn,Cn,kn=[].slice,En=[].push,An=Object.prototype.toString,On=r("ng"),Tn=t.angular||(t.angular={}),Mn=["0","0","0"];wn=h((/msie (\d+)/.exec($n(navigator.userAgent))||[])[1]),isNaN(wn)&&(wn=h((/trident\/.*; rv:(\d+)/.exec($n(navigator.userAgent))||[])[1])),d.$inject=[],$.$inject=[];var Nn=function(){return S(Array.isArray)?Array.isArray:function(t){return"[object Array]"===An.call(t)}}(),Pn=function(){return String.prototype.trim?function(t){return w(t)?t.trim():t}:function(t){return w(t)?t.replace(/^\s\s*/,"").replace(/\s\s*$/,""):t}}();Cn=9>wn?function(t){return t=t.nodeName?t:t[0],t.scopeName&&"HTML"!=t.scopeName?gn(t.scopeName+":"+t.nodeName):t.nodeName}:function(t){return t.nodeName?t.nodeName:t[0].nodeName};var jn=function(){if(m(jn.isActive_))return jn.isActive_;var t=!(!e.querySelector("[ng-csp]")&&!e.querySelector("[data-ng-csp]"));if(!t)try{new Function("")}catch(n){t=!0}return jn.isActive_=t},Dn=/[A-Z]/g,Rn={full:"1.2.28",major:1,minor:2,dot:28,codeName:"finnish-disembarkation"};dt.expando="ng339";var _n=dt.cache={},qn=1,Un=t.document.addEventListener?function(t,e,n){t.addEventListener(e,n,!1)}:function(t,e,n){t.attachEvent("on"+e,n)},Vn=t.document.removeEventListener?function(t,e,n){t.removeEventListener(e,n,!1)}:function(t,e,n){t.detachEvent("on"+e,n)},In=(dt._data=function(t){return this.cache[t[this.expando]]||{}},/([\:\-\_]+(.))/g),Fn=/^moz([A-Z])/,Ln=r("jqLite"),Hn=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,Bn=/<|&#?\w+;/,zn=/<([\w:]+)/,Wn=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Qn={option:[1,'<select multiple="multiple">',"</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Qn.optgroup=Qn.option,Qn.tbody=Qn.tfoot=Qn.colgroup=Qn.caption=Qn.thead,Qn.th=Qn.td;var Jn=dt.prototype={ready:function(n){function r(){i||(i=!0,n())}var i=!1;"complete"===e.readyState?setTimeout(r):(this.on("DOMContentLoaded",r),dt(t).on("load",r))},toString:function(){var t=[];return o(this,function(e){t.push(""+e)}),"["+t.join(", ")+"]"},eq:function(t){return bn(t>=0?this[t]:this[this.length+t])},length:0,push:En,sort:[].sort,splice:[].splice},Gn={};o("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(t){Gn[$n(t)]=t});var Xn={};o("input,select,option,textarea,button,form,details".split(","),function(t){Xn[gn(t)]=!0}),o({data:wt,removeData:mt},function(t,e){dt[e]=t}),o({data:wt,inheritedData:Et,scope:function(t){return bn.data(t,"$scope")||Et(t.parentNode||t,["$isolateScope","$scope"])},isolateScope:function(t){return bn.data(t,"$isolateScope")||bn.data(t,"$isolateScopeNoTemplate")},controller:kt,injector:function(t){return Et(t,"$injector")},removeAttr:function(t,e){t.removeAttribute(e)},hasClass:bt,css:function(t,e,r){if(e=ct(e),!m(r)){var i;return 8>=wn&&(i=t.currentStyle&&t.currentStyle[e],""===i&&(i="auto")),i=i||t.style[e],8>=wn&&(i=""===i?n:i),i}t.style[e]=r},attr:function(t,e,r){var i=$n(e);if(Gn[i]){if(!m(r))return t[e]||(t.attributes.getNamedItem(e)||d).specified?i:n;r?(t[e]=!0,t.setAttribute(e,i)):(t[e]=!1,t.removeAttribute(i))}else if(m(r))t.setAttribute(e,r);else if(t.getAttribute){var o=t.getAttribute(e,2);return null===o?n:o}},prop:function(t,e,n){return m(n)?void(t[e]=n):t[e]},text:function(){function t(t,n){var r=e[t.nodeType];return g(n)?r?t[r]:"":void(t[r]=n)}var e=[];return 9>wn?(e[1]="innerText",e[3]="nodeValue"):e[1]=e[3]="textContent",t.$dv="",t}(),val:function(t,e){if(g(e)){if("SELECT"===Cn(t)&&t.multiple){var n=[];return o(t.options,function(t){t.selected&&n.push(t.value||t.text)}),0===n.length?null:n}return t.value}t.value=e},html:function(t,e){if(g(e))return t.innerHTML;for(var n=0,r=t.childNodes;n<r.length;n++)vt(r[n]);t.innerHTML=e},empty:At},function(t,e){dt.prototype[e]=function(e,r){var i,o,a=this.length;if(t!==At&&(2==t.length&&t!==bt&&t!==kt?e:r)===n){if(y(e)){for(i=0;a>i;i++)if(t===wt)t(this[i],e);else for(o in e)t(this[i],o,e[o]);return this}for(var s=t.$dv,u=s===n?Math.min(a,1):a,c=0;u>c;c++){var l=t(this[c],e,r);s=s?s+l:l}return s}for(i=0;a>i;i++)t(this[i],e,r);return this}}),o({removeData:mt,dealoc:vt,on:function Ni(t,n,r,i){if(m(i))throw Ln("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");var a=yt(t,"events"),s=yt(t,"handle");a||yt(t,"events",a={}),s||yt(t,"handle",s=Tt(t,a)),o(n.split(" "),function(n){var i=a[n];if(!i){if("mouseenter"==n||"mouseleave"==n){var o=e.body.contains||e.body.compareDocumentPosition?function(t,e){var n=9===t.nodeType?t.documentElement:t,r=e&&e.parentNode;return t===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):t.compareDocumentPosition&&16&t.compareDocumentPosition(r)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1};a[n]=[];var u={mouseleave:"mouseout",mouseenter:"mouseover"};Ni(t,u[n],function(t){var e=this,r=t.relatedTarget;(!r||r!==e&&!o(e,r))&&s(t,n)})}else Un(t,n,s),a[n]=[];i=a[n]}i.push(r)})},off:gt,one:function(t,e,n){t=bn(t),t.on(e,function r(){t.off(e,n),t.off(e,r)}),t.on(e,n)},replaceWith:function(t,e){var n,r=t.parentNode;vt(t),o(new dt(e),function(e){n?r.insertBefore(e,n.nextSibling):r.replaceChild(e,t),n=e})},children:function(t){var e=[];return o(t.childNodes,function(t){1===t.nodeType&&e.push(t)}),e},contents:function(t){return t.contentDocument||t.childNodes||[]},append:function(t,e){o(new dt(e),function(e){(1===t.nodeType||11===t.nodeType)&&t.appendChild(e)})},prepend:function(t,e){if(1===t.nodeType){var n=t.firstChild;o(new dt(e),function(e){t.insertBefore(e,n)})}},wrap:function(t,e){e=bn(e)[0];var n=t.parentNode;n&&n.replaceChild(e,t),e.appendChild(t)},remove:function(t){vt(t);var e=t.parentNode;e&&e.removeChild(t)},after:function(t,e){var n=t,r=t.parentNode;o(new dt(e),function(t){r.insertBefore(t,n.nextSibling),n=t})},addClass:St,removeClass:xt,toggleClass:function(t,e,n){e&&o(e.split(" "),function(e){var r=n;g(r)&&(r=!bt(t,e)),(r?St:xt)(t,e)})},parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},next:function(t){if(t.nextElementSibling)return t.nextElementSibling;for(var e=t.nextSibling;null!=e&&1!==e.nodeType;)e=e.nextSibling;return e},find:function(t,e){return t.getElementsByTagName?t.getElementsByTagName(e):[]},clone:$t,triggerHandler:function(t,e,n){var r,i,a,s=e.type||e,u=(yt(t,"events")||{})[s];u&&(r={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return this.defaultPrevented===!0},stopPropagation:d,type:s,target:t},e.type&&(r=f(r,e)),i=_(u),a=n?[r].concat(n):[r],o(i,function(e){e.apply(t,a)}))}},function(t,e){dt.prototype[e]=function(e,n,r){for(var i,o=0;o<this.length;o++)g(i)?(i=t(this[o],e,n,r),m(i)&&(i=bn(i))):Ct(i,t(this[o],e,n,r));return m(i)?i:this},dt.prototype.bind=dt.prototype.on,dt.prototype.unbind=dt.prototype.off}),Nt.prototype={put:function(t,e){this[Mt(t,this.nextUid)]=e},get:function(t){return this[Mt(t,this.nextUid)]},remove:function(t){var e=this[t=Mt(t,this.nextUid)];return delete this[t],e}};var Kn=/^function\s*[^\(]*\(\s*([^\)]*)\)/m,Yn=/,/,Zn=/^\s*(_?)(\S+?)\1\s*$/,tr=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,er=r("$injector"),nr=r("$animate"),rr=["$provide",function(t){this.$$selectors={},this.register=function(e,n){var r=e+"-animation";if(e&&"."!=e.charAt(0))throw nr("notcsel","Expecting class selector starting with '.' got '{0}'.",e);this.$$selectors[e.substr(1)]=r,t.factory(r,n)},this.classNameFilter=function(t){return 1===arguments.length&&(this.$$classNameFilter=t instanceof RegExp?t:null),this.$$classNameFilter},this.$get=["$timeout","$$asyncCallback",function(t,e){function n(t){t&&e(t)}return{enter:function(t,e,r,i){r?r.after(t):(e&&e[0]||(e=r.parent()),e.append(t)),n(i)},leave:function(t,e){t.remove(),n(e)},move:function(t,e,n,r){this.enter(t,e,n,r)},addClass:function(t,e,r){e=w(e)?e:Nn(e)?e.join(" "):"",o(t,function(t){St(t,e)}),n(r)},removeClass:function(t,e,r){e=w(e)?e:Nn(e)?e.join(" "):"",o(t,function(t){xt(t,e)}),n(r)},setClass:function(t,e,r,i){o(t,function(t){St(t,e),xt(t,r)}),n(i)},enabled:d}}]}],ir=r("$compile");It.$inject=["$provide","$$sanitizeUriProvider"];var or=/^(x[\:\-_]|data[\:\-_])/i,ar=r("$interpolate"),sr=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,ur={http:80,https:443,ftp:21},cr=r("$location");he.prototype=fe.prototype=le.prototype={$$html5:!1,$$replace:!1,absUrl:pe("$$absUrl"),url:function(t){if(g(t))return this.$$url;var e=sr.exec(t);return e[1]&&this.path(decodeURIComponent(e[1])),(e[2]||e[1])&&this.search(e[3]||""),this.hash(e[5]||""),this},protocol:pe("$$protocol"),host:pe("$$host"),port:pe("$$port"),path:de("$$path",function(t){return t=null!==t?t.toString():"","/"==t.charAt(0)?t:"/"+t}),search:function(t,e){switch(arguments.length){case 0:return this.$$search;case 1:if(w(t)||b(t))t=t.toString(),this.$$search=Q(t);else{if(!y(t))throw cr("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");o(t,function(e,n){null==e&&delete t[n]}),this.$$search=t}break;default:g(e)||null===e?delete this.$$search[t]:this.$$search[t]=e}return this.$$compose(),this},hash:de("$$hash",function(t){return null!==t?t.toString():""}),replace:function(){return this.$$replace=!0,this}};var lr,fr=r("$parse"),hr={},pr=Function.prototype.call,dr=Function.prototype.apply,$r=Function.prototype.bind,vr={"null":function(){return null},"true":function(){return!0},"false":function(){return!1},undefined:d,"+":function(t,e,r,i){return r=r(t,e),i=i(t,e),m(r)?m(i)?r+i:r:m(i)?i:n},"-":function(t,e,n,r){return n=n(t,e),r=r(t,e),(m(n)?n:0)-(m(r)?r:0)},"*":function(t,e,n,r){return n(t,e)*r(t,e)},"/":function(t,e,n,r){return n(t,e)/r(t,e)},"%":function(t,e,n,r){return n(t,e)%r(t,e)},"^":function(t,e,n,r){return n(t,e)^r(t,e)},"=":d,"===":function(t,e,n,r){return n(t,e)===r(t,e)},"!==":function(t,e,n,r){return n(t,e)!==r(t,e)},"==":function(t,e,n,r){return n(t,e)==r(t,e)},"!=":function(t,e,n,r){return n(t,e)!=r(t,e)},"<":function(t,e,n,r){return n(t,e)<r(t,e)},">":function(t,e,n,r){return n(t,e)>r(t,e)},"<=":function(t,e,n,r){return n(t,e)<=r(t,e)},">=":function(t,e,n,r){return n(t,e)>=r(t,e)},"&&":function(t,e,n,r){return n(t,e)&&r(t,e)},"||":function(t,e,n,r){return n(t,e)||r(t,e)},"&":function(t,e,n,r){return n(t,e)&r(t,e)},"|":function(t,e,n,r){return r(t,e)(t,e,n(t,e))},"!":function(t,e,n){return!n(t,e)}},gr={n:"\n",f:"\f",r:"\r",t:" ",v:" ","'":"'",'"':'"'},mr=function(t){this.options=t};mr.prototype={constructor:mr,lex:function(t){for(this.text=t,this.index=0,this.ch=n,this.lastCh=":",this.tokens=[];this.index<this.text.length;){if(this.ch=this.text.charAt(this.index),this.is("\"'"))this.readString(this.ch);else if(this.isNumber(this.ch)||this.is(".")&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdent(this.ch))this.readIdent();else if(this.is("(){}[].,;:?"))this.tokens.push({index:this.index,text:this.ch}),this.index++;else{if(this.isWhitespace(this.ch)){this.index++;continue}var e=this.ch+this.peek(),r=e+this.peek(2),i=vr[this.ch],o=vr[e],a=vr[r];a?(this.tokens.push({index:this.index,text:r,fn:a}),this.index+=3):o?(this.tokens.push({index:this.index,text:e,fn:o}),this.index+=2):i?(this.tokens.push({index:this.index,text:this.ch,fn:i}),this.index+=1):this.throwError("Unexpected next character ",this.index,this.index+1)}this.lastCh=this.ch}return this.tokens},is:function(t){return-1!==t.indexOf(this.ch)},was:function(t){return-1!==t.indexOf(this.lastCh)},peek:function(t){var e=t||1;return this.index+e<this.text.length?this.text.charAt(this.index+e):!1},isNumber:function(t){return t>="0"&&"9">=t},isWhitespace:function(t){return" "===t||"\r"===t||" "===t||"\n"===t||" "===t||" "===t},isIdent:function(t){return t>="a"&&"z">=t||t>="A"&&"Z">=t||"_"===t||"$"===t},isExpOperator:function(t){return"-"===t||"+"===t||this.isNumber(t)},throwError:function(t,e,n){n=n||this.index;var r=m(e)?"s "+e+"-"+this.index+" ["+this.text.substring(e,n)+"]":" "+n;throw fr("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",t,r,this.text)},readNumber:function(){for(var t="",e=this.index;this.index<this.text.length;){var n=$n(this.text.charAt(this.index));if("."==n||this.isNumber(n))t+=n;else{var r=this.peek();if("e"==n&&this.isExpOperator(r))t+=n;else if(this.isExpOperator(n)&&r&&this.isNumber(r)&&"e"==t.charAt(t.length-1))t+=n;else{if(!this.isExpOperator(n)||r&&this.isNumber(r)||"e"!=t.charAt(t.length-1))break;this.throwError("Invalid exponent")}}this.index++}t=1*t,this.tokens.push({index:e,text:t,literal:!0,constant:!0,fn:function(){return t}})},readIdent:function(){for(var t,e,n,r,i=this,o="",a=this.index;this.index<this.text.length&&(r=this.text.charAt(this.index),"."===r||this.isIdent(r)||this.isNumber(r));)"."===r&&(t=this.index),o+=r,this.index++;if(t)for(e=this.index;e<this.text.length;){if(r=this.text.charAt(e),"("===r){n=o.substr(t-a+1),o=o.substr(0,t-a),this.index=e;break}if(!this.isWhitespace(r))break;e++}var s={index:a,text:o};if(vr.hasOwnProperty(o))s.fn=vr[o],s.literal=!0,s.constant=!0;else{var u=Ce(o,this.options,this.text);s.fn=f(function(t,e){return u(t,e)},{assign:function(t,e){return we(t,o,e,i.text,i.options)}})}this.tokens.push(s),n&&(this.tokens.push({index:t,text:"."}),this.tokens.push({index:t+1,text:n}))},readString:function(t){var e=this.index;this.index++;for(var n="",r=t,i=!1;this.index<this.text.length;){var o=this.text.charAt(this.index);if(r+=o,i){if("u"===o){var a=this.text.substring(this.index+1,this.index+5);a.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+a+"]"),this.index+=4,n+=String.fromCharCode(parseInt(a,16))}else{var s=gr[o];n+=s||o}i=!1}else if("\\"===o)i=!0;else{if(o===t)return this.index++,void this.tokens.push({index:e,text:r,string:n,literal:!0,constant:!0,fn:function(){return n}});n+=o}this.index++}this.throwError("Unterminated quote",e)}};var yr=function(t,e,n){this.lexer=t,this.$filter=e,this.options=n};yr.ZERO=f(function(){return 0},{constant:!0}),yr.prototype={constructor:yr,parse:function(t){this.text=t,this.tokens=this.lexer.lex(t);var e=this.statements();return 0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),e.literal=!!e.literal,e.constant=!!e.constant,e},primary:function(){var t;if(this.expect("("))t=this.filterChain(),this.consume(")");else if(this.expect("["))t=this.arrayDeclaration();else if(this.expect("{"))t=this.object();else{var e=this.expect();t=e.fn,t||this.throwError("not a primary expression",e),t.literal=!!e.literal,t.constant=!!e.constant}for(var n,r;n=this.expect("(","[",".");)"("===n.text?(t=this.functionCall(t,r),r=null):"["===n.text?(r=t,t=this.objectIndex(t)):"."===n.text?(r=t,t=this.fieldAccess(t)):this.throwError("IMPOSSIBLE");return t},throwError:function(t,e){throw fr("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",e.text,t,e.index+1,this.text,this.text.substring(e.index))},peekToken:function(){if(0===this.tokens.length)throw fr("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(t,e,n,r){if(this.tokens.length>0){var i=this.tokens[0],o=i.text;if(o===t||o===e||o===n||o===r||!t&&!e&&!n&&!r)return i}return!1},expect:function(t,e,n,r){var i=this.peek(t,e,n,r);return i?(this.tokens.shift(),i):!1},consume:function(t){this.expect(t)||this.throwError("is unexpected, expecting ["+t+"]",this.peek())},unaryFn:function(t,e){return f(function(n,r){return t(n,r,e)},{constant:e.constant})},ternaryFn:function(t,e,n){return f(function(r,i){return t(r,i)?e(r,i):n(r,i)},{constant:t.constant&&e.constant&&n.constant})},binaryFn:function(t,e,n){return f(function(r,i){return e(r,i,t,n)},{constant:t.constant&&n.constant})},statements:function(){for(var t=[];;)if(this.tokens.length>0&&!this.peek("}",")",";","]")&&t.push(this.filterChain()),!this.expect(";"))return 1===t.length?t[0]:function(e,n){for(var r,i=0;i<t.length;i++){var o=t[i];o&&(r=o(e,n))}return r}},filterChain:function(){for(var t,e=this.expression();;){if(!(t=this.expect("|")))return e;e=this.binaryFn(e,t.fn,this.filter())}},filter:function(){for(var t=this.expect(),e=this.$filter(t.text),n=[];;){if(!(t=this.expect(":"))){var r=function(t,r,i){for(var o=[i],a=0;a<n.length;a++)o.push(n[a](t,r));return e.apply(t,o)};return function(){return r}}n.push(this.expression())}},expression:function(){return this.assignment()},assignment:function(){var t,e,n=this.ternary();return(e=this.expect("="))?(n.assign||this.throwError("implies assignment but ["+this.text.substring(0,e.index)+"] can not be assigned to",e),t=this.ternary(),function(e,r){return n.assign(e,t(e,r),r)}):n},ternary:function(){var t,e,n=this.logicalOR();return(e=this.expect("?"))?(t=this.assignment(),(e=this.expect(":"))?this.ternaryFn(n,t,this.assignment()):void this.throwError("expected :",e)):n},logicalOR:function(){for(var t,e=this.logicalAND();;){if(!(t=this.expect("||")))return e;e=this.binaryFn(e,t.fn,this.logicalAND())}},logicalAND:function(){var t,e=this.equality();return(t=this.expect("&&"))&&(e=this.binaryFn(e,t.fn,this.logicalAND())),e},equality:function(){var t,e=this.relational();return(t=this.expect("==","!=","===","!=="))&&(e=this.binaryFn(e,t.fn,this.equality())),e},relational:function(){var t,e=this.additive();return(t=this.expect("<",">","<=",">="))&&(e=this.binaryFn(e,t.fn,this.relational())),e},additive:function(){for(var t,e=this.multiplicative();t=this.expect("+","-");)e=this.binaryFn(e,t.fn,this.multiplicative());return e},multiplicative:function(){for(var t,e=this.unary();t=this.expect("*","/","%");)e=this.binaryFn(e,t.fn,this.unary());return e},unary:function(){var t;return this.expect("+")?this.primary():(t=this.expect("-"))?this.binaryFn(yr.ZERO,t.fn,this.unary()):(t=this.expect("!"))?this.unaryFn(t.fn,this.unary()):this.primary()},fieldAccess:function(t){var e=this,n=this.expect().text,r=Ce(n,this.options,this.text);return f(function(e,n,i){return r(i||t(e,n))},{assign:function(r,i,o){var a=t(r,o);return a||t.assign(r,a={}),we(a,n,i,e.text,e.options)}})},objectIndex:function(t){var e=this,r=this.expression();return this.consume("]"),f(function(i,o){var a,s,u=t(i,o),c=r(i,o);return ge(c,e.text),u?(a=me(u[c],e.text),a&&a.then&&e.options.unwrapPromises&&(s=a,"$$v"in a||(s.$$v=n,s.then(function(t){s.$$v=t})),a=a.$$v),a):n},{assign:function(n,i,o){var a=ge(r(n,o),e.text),s=me(t(n,o),e.text);return s||t.assign(n,s={}),s[a]=i}})},functionCall:function(t,e){var n=[];if(")"!==this.peekToken().text)do n.push(this.expression());while(this.expect(","));this.consume(")");var r=this;return function(i,o){for(var a=[],s=e?e(i,o):i,u=0;u<n.length;u++)a.push(me(n[u](i,o),r.text));var c=t(i,o,s)||d;me(s,r.text),ye(c,r.text);var l=c.apply?c.apply(s,a):c(a[0],a[1],a[2],a[3],a[4]);return me(l,r.text)}},arrayDeclaration:function(){var t=[],e=!0;if("]"!==this.peekToken().text)do{if(this.peek("]"))break;var n=this.expression();t.push(n),n.constant||(e=!1)}while(this.expect(","));return this.consume("]"),f(function(e,n){for(var r=[],i=0;i<t.length;i++)r.push(t[i](e,n));return r},{literal:!0,constant:e})},object:function(){var t=[],e=!0;if("}"!==this.peekToken().text)do{if(this.peek("}"))break;var n=this.expect(),r=n.string||n.text;this.consume(":");var i=this.expression();t.push({key:r,value:i}),i.constant||(e=!1)}while(this.expect(","));return this.consume("}"),f(function(e,n){for(var r={},i=0;i<t.length;i++){var o=t[i];r[o.key]=o.value(e,n)}return r},{literal:!0,constant:e})}};var wr={},br={},xr=r("$sce"),Sr={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},Cr=e.createElement("a"),kr=Ue(t.location.href,!0);Fe.$inject=["$provide"],He.$inject=["$locale"],Be.$inject=["$locale"];var Er=".",Ar={yyyy:Qe("FullYear",4),yy:Qe("FullYear",2,0,!0),y:Qe("FullYear",1),MMMM:Je("Month"),MMM:Je("Month",!0),MM:Qe("Month",2,1),M:Qe("Month",1,1),dd:Qe("Date",2),d:Qe("Date",1),HH:Qe("Hours",2),H:Qe("Hours",1),hh:Qe("Hours",2,-12),h:Qe("Hours",1,-12),mm:Qe("Minutes",2),m:Qe("Minutes",1),ss:Qe("Seconds",2),
9
+ s:Qe("Seconds",1),sss:Qe("Milliseconds",3),EEEE:Je("Day"),EEE:Je("Day",!0),a:Xe,Z:Ge},Or=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,Tr=/^\-?\d+$/;Ke.$inject=["$locale"];var Mr=v($n),Nr=v(gn);tn.$inject=["$parse"];var Pr=v({restrict:"E",compile:function(t,n){return 8>=wn&&(n.href||n.name||n.$set("href",""),t.append(e.createComment("IE fix"))),n.href||n.xlinkHref||n.name?void 0:function(t,e){var n="[object SVGAnimatedString]"===An.call(e.prop("href"))?"xlink:href":"href";e.on("click",function(t){e.attr(n)||t.preventDefault()})}}}),jr={};o(Gn,function(t,e){if("multiple"!=t){var n=Ft("ng-"+e);jr[n]=function(){return{priority:100,link:function(t,r,i){t.$watch(i[n],function(t){i.$set(e,!!t)})}}}}}),o(["src","srcset","href"],function(t){var e=Ft("ng-"+t);jr[e]=function(){return{priority:99,link:function(n,r,i){var o=t,a=t;"href"===t&&"[object SVGAnimatedString]"===An.call(r.prop("href"))&&(a="xlinkHref",i.$attr[a]="xlink:href",o=null),i.$observe(e,function(e){return e?(i.$set(a,e),void(wn&&o&&r.prop(o,i[a]))):void("href"===t&&i.$set(a,null))})}}}});var Dr={$addControl:d,$removeControl:d,$setValidity:d,$setDirty:d,$setPristine:d};nn.$inject=["$element","$attrs","$scope","$animate"];var Rr=function(t){return["$timeout",function(e){var r={name:"form",restrict:t?"EAC":"E",controller:nn,compile:function(){return{pre:function(t,r,i,o){if(!i.action){var a=function(t){t.preventDefault?t.preventDefault():t.returnValue=!1};Un(r[0],"submit",a),r.on("$destroy",function(){e(function(){Vn(r[0],"submit",a)},0,!1)})}var s=r.parent().controller("form"),u=i.name||i.ngForm;u&&we(t,u,o,u),s&&r.on("$destroy",function(){s.$removeControl(o),u&&we(t,u,n,u),f(o,Dr)})}}}};return r}]},_r=Rr(),qr=Rr(!0),Ur=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,Vr=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,Ir=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,Fr={text:sn,number:un,url:cn,email:ln,radio:fn,checkbox:hn,hidden:d,button:d,submit:d,reset:d,file:d},Lr=["badInput"],Hr=["$browser","$sniffer",function(t,e){return{restrict:"E",require:"?ngModel",link:function(n,r,i,o){o&&(Fr[$n(i.type)]||Fr.text)(n,r,i,o,e,t)}}}],Br="ng-valid",zr="ng-invalid",Wr="ng-pristine",Qr="ng-dirty",Jr=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate",function(t,e,n,i,a,s){function u(t,e){e=e?"-"+Z(e,"-"):"",s.removeClass(i,(t?zr:Br)+e),s.addClass(i,(t?Br:zr)+e)}this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$name=n.name;var c=a(n.ngModel),l=c.assign;if(!l)throw r("ngModel")("nonassign","Expression '{0}' is non-assignable. Element: {1}",n.ngModel,z(i));this.$render=d,this.$isEmpty=function(t){return g(t)||""===t||null===t||t!==t};var f=i.inheritedData("$formController")||Dr,h=0,p=this.$error={};i.addClass(Wr),u(!0),this.$setValidity=function(t,e){p[t]!==!e&&(e?(p[t]&&h--,h||(u(!0),this.$valid=!0,this.$invalid=!1)):(u(!1),this.$invalid=!0,this.$valid=!1,h++),p[t]=!e,u(e,t),f.$setValidity(t,e,this))},this.$setPristine=function(){this.$dirty=!1,this.$pristine=!0,s.removeClass(i,Qr),s.addClass(i,Wr)},this.$setViewValue=function(n){this.$viewValue=n,this.$pristine&&(this.$dirty=!0,this.$pristine=!1,s.removeClass(i,Wr),s.addClass(i,Qr),f.$setDirty()),o(this.$parsers,function(t){n=t(n)}),this.$modelValue!==n&&(this.$modelValue=n,l(t,n),o(this.$viewChangeListeners,function(t){try{t()}catch(n){e(n)}}))};var $=this;t.$watch(function(){var e=c(t);if($.$modelValue!==e){var n=$.$formatters,r=n.length;for($.$modelValue=e;r--;)e=n[r](e);$.$viewValue!==e&&($.$viewValue=e,$.$render())}return e})}],Gr=function(){return{require:["ngModel","^?form"],controller:Jr,link:function(t,e,n,r){var i=r[0],o=r[1]||Dr;o.$addControl(i),t.$on("$destroy",function(){o.$removeControl(i)})}}},Xr=v({require:"ngModel",link:function(t,e,n,r){r.$viewChangeListeners.push(function(){t.$eval(n.ngChange)})}}),Kr=function(){return{require:"?ngModel",link:function(t,e,n,r){if(r){n.required=!0;var i=function(t){return n.required&&r.$isEmpty(t)?void r.$setValidity("required",!1):(r.$setValidity("required",!0),t)};r.$formatters.push(i),r.$parsers.unshift(i),n.$observe("required",function(){i(r.$viewValue)})}}}},Yr=function(){return{require:"ngModel",link:function(t,e,r,i){var a=/\/(.*)\//.exec(r.ngList),s=a&&new RegExp(a[1])||r.ngList||",",u=function(t){if(!g(t)){var e=[];return t&&o(t.split(s),function(t){t&&e.push(Pn(t))}),e}};i.$parsers.push(u),i.$formatters.push(function(t){return Nn(t)?t.join(", "):n}),i.$isEmpty=function(t){return!t||!t.length}}}},Zr=/^(true|false|\d+)$/,ti=function(){return{priority:100,compile:function(t,e){return Zr.test(e.ngValue)?function(t,e,n){n.$set("value",t.$eval(n.ngValue))}:function(t,e,n){t.$watch(n.ngValue,function(t){n.$set("value",t)})}}}},ei=en({compile:function(t){return t.addClass("ng-binding"),function(t,e,r){e.data("$binding",r.ngBind),t.$watch(r.ngBind,function(t){e.text(t==n?"":t)})}}}),ni=["$interpolate",function(t){return function(e,n,r){var i=t(n.attr(r.$attr.ngBindTemplate));n.addClass("ng-binding").data("$binding",i),r.$observe("ngBindTemplate",function(t){n.text(t)})}}],ri=["$sce","$parse",function(t,e){return{compile:function(n){return n.addClass("ng-binding"),function(n,r,i){function o(){return(a(n)||"").toString()}r.data("$binding",i.ngBindHtml);var a=e(i.ngBindHtml);n.$watch(o,function(e){r.html(t.getTrustedHtml(a(n))||"")})}}}}],ii=pn("",!0),oi=pn("Odd",0),ai=pn("Even",1),si=en({compile:function(t,e){e.$set("ngCloak",n),t.removeClass("ng-cloak")}}),ui=[function(){return{scope:!0,controller:"@",priority:500}}],ci={},li={blur:!0,focus:!0};o("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(t){var e=Ft("ng-"+t);ci[e]=["$parse","$rootScope",function(n,r){return{compile:function(i,o){var a=n(o[e],!0);return function(e,n){n.on(t,function(n){var i=function(){a(e,{$event:n})};li[t]&&r.$$phase?e.$evalAsync(i):e.$apply(i)})}}}}]});var fi=["$animate",function(t){return{transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(n,r,i,o,a){var s,u,c;n.$watch(i.ngIf,function(o){B(o)?u||(u=n.$new(),a(u,function(n){n[n.length++]=e.createComment(" end ngIf: "+i.ngIf+" "),s={clone:n},t.enter(n,r.parent(),r)})):(c&&(c.remove(),c=null),u&&(u.$destroy(),u=null),s&&(c=ot(s.clone),t.leave(c,function(){c=null}),s=null))})}}}],hi=["$http","$templateCache","$anchorScroll","$animate","$sce",function(t,e,n,r,i){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:Tn.noop,compile:function(o,a){var s=a.ngInclude||a.src,u=a.onload||"",c=a.autoscroll;return function(o,a,l,f,h){var p,d,$,v=0,g=function(){d&&(d.remove(),d=null),p&&(p.$destroy(),p=null),$&&(r.leave($,function(){d=null}),d=$,$=null)};o.$watch(i.parseAsResourceUrl(s),function(i){var s=function(){!m(c)||c&&!o.$eval(c)||n()},l=++v;i?(t.get(i,{cache:e}).success(function(t){if(l===v){var e=o.$new();f.template=t;var n=h(e,function(t){g(),r.enter(t,null,a,s)});p=e,$=n,p.$emit("$includeContentLoaded"),o.$eval(u)}}).error(function(){l===v&&g()}),o.$emit("$includeContentRequested")):(g(),f.template=null)})}}}}],pi=["$compile",function(t){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(e,n,r,i){n.html(i.template),t(n.contents())(e)}}}],di=en({priority:450,compile:function(){return{pre:function(t,e,n){t.$eval(n.ngInit)}}}}),$i=en({terminal:!0,priority:1e3}),vi=["$locale","$interpolate",function(t,e){var n=/{}/g;return{restrict:"EA",link:function(r,i,a){var s=a.count,u=a.$attr.when&&i.attr(a.$attr.when),c=a.offset||0,l=r.$eval(u)||{},f={},h=e.startSymbol(),p=e.endSymbol(),d=/^when(Minus)?(.+)$/;o(a,function(t,e){d.test(e)&&(l[$n(e.replace("when","").replace("Minus","-"))]=i.attr(a.$attr[e]))}),o(l,function(t,r){f[r]=e(t.replace(n,h+s+"-"+c+p))}),r.$watch(function(){var e=parseFloat(r.$eval(s));return isNaN(e)?"":(e in l||(e=t.pluralCat(e-c)),f[e](r,i,!0))},function(t){i.text(t)})}}}],gi=["$parse","$animate",function(t,n){function a(t){return t.clone[0]}function s(t){return t.clone[t.clone.length-1]}var u="$$NG_REMOVED",c=r("ngRepeat");return{transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,link:function(r,l,f,h,p){var d,$,v,g,m,y,w,b,x,S=f.ngRepeat,C=S.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),k={$id:Mt};if(!C)throw c("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",S);if(y=C[1],w=C[2],d=C[3],d?($=t(d),v=function(t,e,n){return x&&(k[x]=t),k[b]=e,k.$index=n,$(r,k)}):(g=function(t,e){return Mt(e)},m=function(t){return t}),C=y.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/),!C)throw c("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",y);b=C[3]||C[1],x=C[2];var E={};r.$watchCollection(w,function(t){var f,h,d,$,y,w,C,k,A,O,T,M,N=l[0],P={},j=[];if(i(t))O=t,A=v||g;else{A=v||m,O=[];for(w in t)t.hasOwnProperty(w)&&"$"!=w.charAt(0)&&O.push(w);O.sort()}for($=O.length,h=j.length=O.length,f=0;h>f;f++)if(w=t===O?f:O[f],C=t[w],k=A(w,C,f),rt(k,"`track by` id"),E.hasOwnProperty(k))T=E[k],delete E[k],P[k]=T,j[f]=T;else{if(P.hasOwnProperty(k))throw o(j,function(t){t&&t.scope&&(E[t.id]=t)}),c("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",S,k,L(C));j[f]={id:k},P[k]=!1}for(w in E)E.hasOwnProperty(w)&&(T=E[w],M=ot(T.clone),n.leave(M),o(M,function(t){t[u]=!0}),T.scope.$destroy());for(f=0,h=O.length;h>f;f++){if(w=t===O?f:O[f],C=t[w],T=j[f],j[f-1]&&(N=s(j[f-1])),T.scope){y=T.scope,d=N;do d=d.nextSibling;while(d&&d[u]);a(T)!=d&&n.move(ot(T.clone),null,bn(N)),N=s(T)}else y=r.$new();y[b]=C,x&&(y[x]=w),y.$index=f,y.$first=0===f,y.$last=f===$-1,y.$middle=!(y.$first||y.$last),y.$odd=!(y.$even=0===(1&f)),T.scope||p(y,function(t){t[t.length++]=e.createComment(" end ngRepeat: "+S+" "),n.enter(t,null,bn(N)),N=t,T.scope=y,T.clone=t,P[T.id]=T})}E=P})}}}],mi=["$animate",function(t){return function(e,n,r){e.$watch(r.ngShow,function(e){t[B(e)?"removeClass":"addClass"](n,"ng-hide")})}}],yi=["$animate",function(t){return function(e,n,r){e.$watch(r.ngHide,function(e){t[B(e)?"addClass":"removeClass"](n,"ng-hide")})}}],wi=en(function(t,e,n){t.$watch(n.ngStyle,function(t,n){n&&t!==n&&o(n,function(t,n){e.css(n,"")}),t&&e.css(t)},!0)}),bi=["$animate",function(t){return{restrict:"EA",require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(e,n,r,i){var a=r.ngSwitch||r.on,s=[],u=[],c=[],l=[];e.$watch(a,function(n){var a,f;for(a=0,f=c.length;f>a;++a)c[a].remove();for(c.length=0,a=0,f=l.length;f>a;++a){var h=u[a];l[a].$destroy(),c[a]=h,t.leave(h,function(){c.splice(a,1)})}u.length=0,l.length=0,(s=i.cases["!"+n]||i.cases["?"])&&(e.$eval(r.change),o(s,function(n){var r=e.$new();l.push(r),n.transclude(r,function(e){var r=n.element;u.push(e),t.enter(e,r.parent(),r)})}))})}}}],xi=en({transclude:"element",priority:800,require:"^ngSwitch",link:function(t,e,n,r,i){r.cases["!"+n.ngSwitchWhen]=r.cases["!"+n.ngSwitchWhen]||[],r.cases["!"+n.ngSwitchWhen].push({transclude:i,element:e})}}),Si=en({transclude:"element",priority:800,require:"^ngSwitch",link:function(t,e,n,r,i){r.cases["?"]=r.cases["?"]||[],r.cases["?"].push({transclude:i,element:e})}}),Ci=en({link:function(t,e,n,i,o){if(!o)throw r("ngTransclude")("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",z(e));o(function(t){e.empty(),e.append(t)})}}),ki=["$templateCache",function(t){return{restrict:"E",terminal:!0,compile:function(e,n){if("text/ng-template"==n.type){var r=n.id,i=e[0].text;t.put(r,i)}}}}],Ei=r("ngOptions"),Ai=v({terminal:!0}),Oi=["$compile","$parse",function(t,r){var i=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,s={$setViewValue:d};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope","$attrs",function(t,e,n){var r,i,o=this,a={},u=s;o.databound=n.ngModel,o.init=function(t,e,n){u=t,r=e,i=n},o.addOption=function(e){rt(e,'"option value"'),a[e]=!0,u.$viewValue==e&&(t.val(e),i.parent()&&i.remove())},o.removeOption=function(t){this.hasOption(t)&&(delete a[t],u.$viewValue==t&&this.renderUnknownOption(t))},o.renderUnknownOption=function(e){var n="? "+Mt(e)+" ?";i.val(n),t.prepend(i),t.val(n),i.prop("selected",!0)},o.hasOption=function(t){return a.hasOwnProperty(t)},e.$on("$destroy",function(){o.renderUnknownOption=d})}],link:function(s,u,c,l){function f(t,e,n,r){n.$render=function(){var t=n.$viewValue;r.hasOption(t)?(C.parent()&&C.remove(),e.val(t),""===t&&d.prop("selected",!0)):g(t)&&d?e.val(""):r.renderUnknownOption(t)},e.on("change",function(){t.$apply(function(){C.parent()&&C.remove(),n.$setViewValue(e.val())})})}function h(t,e,n){var r;n.$render=function(){var t=new Nt(n.$viewValue);o(e.find("option"),function(e){e.selected=m(t.get(e.value))})},t.$watch(function(){q(r,n.$viewValue)||(r=_(n.$viewValue),n.$render())}),e.on("change",function(){t.$apply(function(){var t=[];o(e.find("option"),function(e){e.selected&&t.push(e.value)}),n.$setViewValue(t)})})}function p(e,o,s){function u(){var t=!1;if(y){var n=s.$modelValue;if(k&&Nn(n)){t=new Nt([]);for(var r={},i=0;i<n.length;i++)r[h]=n[i],t.put(k(e,r),n[i])}else t=new Nt(n)}return t}function c(){var t,n,r,i,c,l,w,C,A,O,T,M,N,P,j,D={"":[]},R=[""],_=s.$modelValue,q=g(e)||[],U=p?a(q):q,V={},I=u();for(T=0;A=U.length,A>T;T++){if(w=T,p){if(w=U[T],"$"===w.charAt(0))continue;V[p]=w}if(V[h]=q[w],t=d(e,V)||"",(n=D[t])||(n=D[t]=[],R.push(t)),y)M=m(I.remove(k?k(e,V):v(e,V)));else{if(k){var F={};F[h]=_,M=k(e,F)===k(e,V)}else M=_===v(e,V);I=I||M}j=f(e,V),j=m(j)?j:"",n.push({id:k?k(e,V):p?U[T]:T,label:j,selected:M})}for(y||(b||null===_?D[""].unshift({id:"",label:"",selected:!I}):I||D[""].unshift({id:"?",label:"",selected:!0})),O=0,C=R.length;C>O;O++){for(t=R[O],n=D[t],E.length<=O?(i={element:S.clone().attr("label",t),label:n.label},c=[i],E.push(c),o.append(i.element)):(c=E[O],i=c[0],i.label!=t&&i.element.attr("label",i.label=t)),N=null,T=0,A=n.length;A>T;T++)r=n[T],(l=c[T+1])?(N=l.element,l.label!==r.label&&(N.text(l.label=r.label),N.prop("label",l.label)),l.id!==r.id&&N.val(l.id=r.id),N[0].selected!==r.selected&&(N.prop("selected",l.selected=r.selected),wn&&N.prop("selected",l.selected))):(""===r.id&&b?P=b:(P=x.clone()).val(r.id).prop("selected",r.selected).attr("selected",r.selected).prop("label",r.label).text(r.label),c.push(l={element:P,label:r.label,id:r.id,selected:r.selected}),$.addOption(r.label,P),N?N.after(P):i.element.append(P),N=P);for(T++;c.length>T;)r=c.pop(),$.removeOption(r.label),r.element.remove()}for(;E.length>O;)E.pop()[0].element.remove()}var l;if(!(l=w.match(i)))throw Ei("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",w,z(o));var f=r(l[2]||l[1]),h=l[4]||l[6],p=l[5],d=r(l[3]||""),v=r(l[2]?l[1]:h),g=r(l[7]),C=l[8],k=C?r(l[8]):null,E=[[{element:o,label:""}]];b&&(t(b)(e),b.removeClass("ng-scope"),b.remove()),o.empty(),o.on("change",function(){e.$apply(function(){var t,r,i,a,u,l,f,d,$,m=g(e)||[],w={};if(y){for(i=[],l=0,d=E.length;d>l;l++)for(t=E[l],u=1,f=t.length;f>u;u++)if((a=t[u].element)[0].selected){if(r=a.val(),p&&(w[p]=r),k)for($=0;$<m.length&&(w[h]=m[$],k(e,w)!=r);$++);else w[h]=m[r];i.push(v(e,w))}}else if(r=o.val(),"?"==r)i=n;else if(""===r)i=null;else if(k){for($=0;$<m.length;$++)if(w[h]=m[$],k(e,w)==r){i=v(e,w);break}}else w[h]=m[r],p&&(w[p]=r),i=v(e,w);s.$setViewValue(i),c()})}),s.$render=c,e.$watchCollection(g,c),e.$watchCollection(function(){var t={},n=g(e);if(n){for(var r=new Array(n.length),i=0,o=n.length;o>i;i++)t[h]=n[i],r[i]=f(e,t);return r}},c),y&&e.$watchCollection(function(){return s.$modelValue},c)}if(l[1]){for(var d,$=l[0],v=l[1],y=c.multiple,w=c.ngOptions,b=!1,x=bn(e.createElement("option")),S=bn(e.createElement("optgroup")),C=x.clone(),k=0,E=u.children(),A=E.length;A>k;k++)if(""===E[k].value){d=b=E.eq(k);break}$.init(v,b,C),y&&(v.$isEmpty=function(t){return!t||0===t.length}),w?p(s,u,v):y?h(s,u,v):f(s,u,v,$)}}}}],Ti=["$interpolate",function(t){var e={addOption:d,removeOption:d};return{restrict:"E",priority:100,compile:function(n,r){if(g(r.value)){var i=t(n.text(),!0);i||r.$set("value",n.text())}return function(t,n,r){var o="$selectController",a=n.parent(),s=a.data(o)||a.parent().data(o);s&&s.databound?n.prop("selected",!1):s=e,i?t.$watch(i,function(t,e){r.$set("value",t),t!==e&&s.removeOption(e),s.addOption(t)}):s.addOption(r.value),n.on("$destroy",function(){s.removeOption(r.value)})}}}}],Mi=v({restrict:"E",terminal:!0});return t.angular.bootstrap?void console.log("WARNING: Tried to load angular more than once."):(tt(),st(Tn),void bn(e).ready(function(){K(e,Y)}))}(window,document),!window.angular.$$csp()&&window.angular.element(document).find("head").prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide{display:none !important;}ng\\:form{display:block;}.ng-animate-block-transitions{transition:0s all!important;-webkit-transition:0s all!important;}.ng-hide-add-active,.ng-hide-remove{display:block!important;}</style>'),i("undefined"!=typeof angular?angular:window.angular)}).call(global,void 0,void 0,void 0,void 0,function(t){module.exports=t});
10
+
11
+ }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
12
+ },{}],3:[function(require,module,exports){
13
+ !function(){var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.5.9",t.utils={},t.utils.warn=function(t){return function(e){t.console&&console.warn&&console.warn(e)}}(this),t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var t=Array.prototype.slice.call(arguments),e=t.pop(),n=t;if("function"!=typeof e)throw new TypeError("last argument must be a function");n.forEach(function(t){this.hasHandler(t)||(this.events[t]=[]),this.events[t].push(e)},this)},t.EventEmitter.prototype.removeListener=function(t,e){if(this.hasHandler(t)){var n=this.events[t].indexOf(e);this.events[t].splice(n,1),this.events[t].length||delete this.events[t]}},t.EventEmitter.prototype.emit=function(t){if(this.hasHandler(t)){var e=Array.prototype.slice.call(arguments,1);this.events[t].forEach(function(t){t.apply(void 0,e)})}},t.EventEmitter.prototype.hasHandler=function(t){return t in this.events},t.tokenizer=function(t){return arguments.length&&null!=t&&void 0!=t?Array.isArray(t)?t.map(function(t){return t.toLowerCase()}):t.toString().trim().toLowerCase().split(/[\s\-]+/):[]},t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.registeredFunctions[e];if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,n)},t.Pipeline.prototype.remove=function(t){var e=this._stack.indexOf(t);-1!=e&&this._stack.splice(e,1)},t.Pipeline.prototype.run=function(t){for(var e=[],n=t.length,i=this._stack.length,o=0;n>o;o++){for(var r=t[o],s=0;i>s&&(r=this._stack[s](r,o,t),void 0!==r);s++);void 0!==r&&e.push(r)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(e<i.idx)return this.list=new t.Vector.Node(e,n,i),this.length++;for(var o=i,r=i.next;void 0!=r;){if(e<r.idx)return o.next=new t.Vector.Node(e,n,r),this.length++;o=r,r=r.next}return o.next=new t.Vector.Node(e,n,r),this.length++},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var t,e=this.list,n=0;e;)t=e.val,n+=t*t,e=e.next;return this._magnitude=Math.sqrt(n)},t.Vector.prototype.dot=function(t){for(var e=this.list,n=t.list,i=0;e&&n;)e.idx<n.idx?e=e.next:e.idx>n.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t<arguments.length;t++)e=arguments[t],~this.indexOf(e)||this.elements.splice(this.locationFor(e),0,e);this.length=this.elements.length},t.SortedSet.prototype.toArray=function(){return this.elements.slice()},t.SortedSet.prototype.map=function(t,e){return this.elements.map(t,e)},t.SortedSet.prototype.forEach=function(t,e){return this.elements.forEach(t,e)},t.SortedSet.prototype.indexOf=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;){if(r===t)return o;t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o]}return r===t?o:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;)t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o];return r>t?o:t>r?o+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,o=0,r=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>r-1||o>s-1)break;a[i]!==h[o]?a[i]<h[o]?i++:a[i]>h[o]&&o++:(n.add(a[i]),i++,o++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;return this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone(),i.add.apply(i,n.toArray()),i},t.SortedSet.prototype.toJSON=function(){return this.toArray()},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.Store,this.tokenStore=new t.TokenStore,this.corpusTokens=new t.SortedSet,this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var t=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,t)},t.Index.prototype.off=function(t,e){return this.eventEmitter.removeListener(t,e)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;return n._fields=e.fields,n._ref=e.ref,n.documentStore=t.Store.load(e.documentStore),n.tokenStore=t.TokenStore.load(e.tokenStore),n.corpusTokens=t.SortedSet.load(e.corpusTokens),n.pipeline=t.Pipeline.load(e.pipeline),n},t.Index.prototype.field=function(t,e){var e=e||{},n={name:t,boost:e.boost||1};return this._fields.push(n),this},t.Index.prototype.ref=function(t){return this._ref=t,this},t.Index.prototype.add=function(e,n){var i={},o=new t.SortedSet,r=e[this._ref],n=void 0===n?!0:n;this._fields.forEach(function(n){var r=this.pipeline.run(t.tokenizer(e[n.name]));i[n.name]=r,t.SortedSet.prototype.add.apply(o,r)},this),this.documentStore.set(r,o),t.SortedSet.prototype.add.apply(this.corpusTokens,o.toArray());for(var s=0;s<o.length;s++){var a=o.elements[s],h=this._fields.reduce(function(t,e){var n=i[e.name].length;if(!n)return t;var o=i[e.name].filter(function(t){return t===a}).length;return t+o/n*e.boost},0);this.tokenStore.add(a,{ref:r,tf:h})}n&&this.eventEmitter.emit("add",e,this)},t.Index.prototype.remove=function(t,e){var n=t[this._ref],e=void 0===e?!0:e;if(this.documentStore.has(n)){var i=this.documentStore.get(n);this.documentStore.remove(n),i.forEach(function(t){this.tokenStore.remove(t,n)},this),e&&this.eventEmitter.emit("remove",t,this)}},t.Index.prototype.update=function(t,e){var e=void 0===e?!0:e;this.remove(t,!1),this.add(t,!1),e&&this.eventEmitter.emit("update",t,this)},t.Index.prototype.idf=function(t){var e="@"+t;if(Object.prototype.hasOwnProperty.call(this._idfCache,e))return this._idfCache[e];var n=this.tokenStore.count(t),i=1;return n>0&&(i=1+Math.log(this.tokenStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(t.tokenizer(e)),i=new t.Vector,o=[],r=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*r,h=this,l=this.tokenStore.expand(e).reduce(function(n,o){var r=h.corpusTokens.indexOf(o),s=h.idf(o),l=1,u=new t.SortedSet;if(o!==e){var c=Math.max(3,o.length-e.length);l=1/Math.log(c)}return r>-1&&i.insert(r,a*s*l),Object.keys(h.tokenStore.get(o)).forEach(function(t){u.add(t)}),n.union(u)},new t.SortedSet);o.push(l)},this);var a=o.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,o=new t.Vector,r=0;i>r;r++){var s=n.elements[r],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);o.insert(this.corpusTokens.indexOf(s),a*h)}return o},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",o=n+"[^aeiouy]*",r=i+"[aeiou]*",s="^("+o+")?"+r+o,a="^("+o+")?"+r+o+"("+r+")?$",h="^("+o+")?"+r+o+r+o,l="^("+o+")?"+i,u=new RegExp(s),c=new RegExp(h),p=new RegExp(a),f=new RegExp(l),d=/^(.+?)(ss|i)es$/,v=/^(.+?)([^s])s$/,m=/^(.+?)eed$/,g=/^(.+?)(ed|ing)$/,y=/.$/,S=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),x=new RegExp("^"+o+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,E=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,b=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,_=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,F=/^(.+?)(s|t)(ion)$/,O=/^(.+?)e$/,P=/ll$/,N=new RegExp("^"+o+i+"[^aeiouwxy]$"),T=function(n){var i,o,r,s,a,h,l;if(n.length<3)return n;if(r=n.substr(0,1),"y"==r&&(n=r.toUpperCase()+n.substr(1)),s=d,a=v,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=m,a=g,s.test(n)){var T=s.exec(n);s=u,s.test(T[1])&&(s=y,n=n.replace(s,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=f,a.test(i)&&(n=i,a=S,h=w,l=x,a.test(n)?n+="e":h.test(n)?(s=y,n=n.replace(s,"")):l.test(n)&&(n+="e"))}if(s=k,s.test(n)){var T=s.exec(n);i=T[1],n=i+"i"}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+t[o])}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+e[o])}if(s=_,a=F,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=O,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=p,h=N,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=P,a=c,s.test(n)&&a.test(n)&&(s=y,n=n.replace(s,"")),"y"==r&&(n=r.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.stopWordFilter=function(e){return-1===t.stopWordFilter.stopWords.indexOf(e)?e:void 0},t.stopWordFilter.stopWords=new t.SortedSet,t.stopWordFilter.stopWords.length=119,t.stopWordFilter.stopWords.elements=["","a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"],t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){return t.replace(/^\W+/,"").replace(/\W+$/,"")},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t[0],o=t.slice(1);return i in n||(n[i]={docs:{}}),0===o.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(o,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;n<t.length;n++){if(!e[t[n]])return!1;e=e[t[n]]}return!0},t.TokenStore.prototype.getNode=function(t){if(!t)return{};for(var e=this.root,n=0;n<t.length;n++){if(!e[t[n]])return{};e=e[t[n]]}return e},t.TokenStore.prototype.get=function(t,e){return this.getNode(t,e).docs||{}},t.TokenStore.prototype.count=function(t,e){return Object.keys(this.get(t,e)).length},t.TokenStore.prototype.remove=function(t,e){if(t){for(var n=this.root,i=0;i<t.length;i++){if(!(t[i]in n))return;n=n[t[i]]}delete n.docs[e]}},t.TokenStore.prototype.expand=function(t,e){var n=this.getNode(t),i=n.docs||{},e=e||[];return Object.keys(i).length&&e.push(t),Object.keys(n).forEach(function(n){"docs"!==n&&e.concat(this.expand(t+n,e))},this),e},t.TokenStore.prototype.toJSON=function(){return{root:this.root,length:this.length}},function(t,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():t.lunr=e()}(this,function(){return t})}();
14
+
15
+ },{}],4:[function(require,module,exports){
16
+ "use strict";var angular=require("./../../bower_components/angular/angular"),lunr=require("./../../bower_components/lunr.js/lunr"),_livesearch=require("./../../bower_components/angular-livesearch/liveSearch"),ngHub=angular.module("hubSearch",["LiveSearch"]);ngHub.factory("searchIndexPromise",["$http","$q",function(e,n){return e.get(SEARCH_BASEURL+"/search-index.json").then(function(e){return e.data})}]),ngHub.factory("searchIndex",["searchIndexPromise",function(e){var n={};return e.then(function(e){n.url_to_doc=e.url_to_doc,n.index=lunr.Index.load(e.index)}),n}]),ngHub.factory("pagesSearch",["searchIndex",function(e){return function(n){var r=e.index.search(n);return angular.forEach(r,function(n){var r=e.url_to_doc[n.ref];n.page=r,n.displayTitle=r.title||r.url}),r}}]),ngHub.factory("searchUi",["$document",function(e){var n=function(e){return 191===e},r=function(e){var n=e.tagName.toLowerCase();return"input"===n},t=function(){var e=angular.element("#search1")[0];e.focus()},a=function(e){n(e.keyCode)&&!r(document.activeElement)&&(e.stopPropagation(),e.preventDefault(),t())};return{enableGlobalShortcut:function(){angular.element(e[0].body).on("keydown",a)},getSelectedResult:function(){var e=angular.element(".searchresultspopup").scope(),n=e.selectedIndex;return e.results[n]}}}]),ngHub.controller("SearchController",["$scope","$q","searchUi","pagesSearch",function(e,n,r,t){r.enableGlobalShortcut();var a=function(e){return 13===e};e.searchKeyDown=function(e){if(a(e.keyCode)){var n=r.getSelectedResult();window.location=n.page.url}},e.searchCallback=function(e){var r=n.defer(),a=t(e.query);return r.resolve(a),r.promise}}]),angular.bootstrap(document.documentElement,["hubSearch"]);
17
+ },{"./../../bower_components/angular-livesearch/liveSearch":1,"./../../bower_components/angular/angular":2,"./../../bower_components/lunr.js/lunr":3}]},{},[4]);
@@ -0,0 +1,96 @@
1
+ 'use strict';
2
+
3
+ var angular = require('angular/angular');
4
+ var lunr = require('lunr.js/lunr');
5
+ var _livesearch = require('angular-livesearch/liveSearch');
6
+ var ngHub = angular.module('hubSearch', ['LiveSearch']);
7
+
8
+ ngHub.factory('searchIndexPromise', ["$http", "$q", function($http, $q) {
9
+ return $http.get(SEARCH_BASEURL + '/search-index.json').then(function(response) {
10
+ return response.data;
11
+ });
12
+ }]);
13
+
14
+ ngHub.factory('searchIndex', ["searchIndexPromise", function(searchIndexPromise) {
15
+ var container = {};
16
+ searchIndexPromise.then(function(index_json) {
17
+ container.url_to_doc = index_json.url_to_doc;
18
+ container.index = lunr.Index.load(index_json.index);
19
+ });
20
+ return container;
21
+ }]);
22
+
23
+ ngHub.factory('pagesSearch', ["searchIndex", function(searchIndex) {
24
+ return function(term) {
25
+ var results = searchIndex.index.search(term);
26
+ angular.forEach(results, function(result) {
27
+ var page = searchIndex.url_to_doc[result.ref];
28
+ result.page = page;
29
+ // make top-level attribute available for LiveSearch
30
+ result.displayTitle = page.title || page.url;
31
+ });
32
+ return results;
33
+ };
34
+ }]);
35
+
36
+ // based on https://github.com/angular/angular.js/blob/54ddca537/docs/app/src/search.js#L198-L206
37
+ ngHub.factory('searchUi', ["$document", function($document) {
38
+ var isForwardSlash = function(keyCode) {
39
+ return keyCode === 191;
40
+ };
41
+
42
+ var isInput = function(el) {
43
+ var tagName = el.tagName.toLowerCase();
44
+ return tagName === 'input';
45
+ };
46
+
47
+ var giveSearchFocus = function() {
48
+ var input = angular.element('#search1')[0];
49
+ input.focus();
50
+ };
51
+
52
+ var onKeyDown = function(event) {
53
+ if (isForwardSlash(event.keyCode) && !isInput(document.activeElement)) {
54
+ event.stopPropagation();
55
+ event.preventDefault();
56
+ giveSearchFocus();
57
+ }
58
+ };
59
+
60
+ return {
61
+ enableGlobalShortcut: function() {
62
+ angular.element($document[0].body).on('keydown', onKeyDown);
63
+ },
64
+
65
+ getSelectedResult: function() {
66
+ // TODO find a less hacky way to retrieve this
67
+ var selectionScope = angular.element('.searchresultspopup').scope();
68
+ var resultIndex = selectionScope.selectedIndex;
69
+ return selectionScope.results[resultIndex];
70
+ }
71
+ };
72
+ }]);
73
+
74
+ ngHub.controller('SearchController', ["$scope", "$q", "searchUi", "pagesSearch", function($scope, $q, searchUi, pagesSearch) {
75
+ searchUi.enableGlobalShortcut();
76
+
77
+ var isEnter = function(keyCode) {
78
+ return keyCode === 13;
79
+ }
80
+
81
+ $scope.searchKeyDown = function($event) {
82
+ if (isEnter($event.keyCode)) {
83
+ var result = searchUi.getSelectedResult();
84
+ window.location = result.page.url;
85
+ }
86
+ };
87
+
88
+ $scope.searchCallback = function(params) {
89
+ var defer = $q.defer();
90
+ var results = pagesSearch(params.query);
91
+ defer.resolve(results);
92
+ return defer.promise;
93
+ };
94
+ }]);
95
+
96
+ angular.bootstrap(document.documentElement, ["hubSearch"]);
@@ -0,0 +1,8 @@
1
+ # @author Mike Bland (michael.bland@gsa.gov)
2
+
3
+ require 'jekyll_pages_api_search/js_copier'
4
+ require 'jekyll_pages_api_search/sass'
5
+ require 'jekyll_pages_api_search/search'
6
+ require 'jekyll_pages_api_search/search_hook'
7
+ require 'jekyll_pages_api_search/tags'
8
+ require 'jekyll_pages_api_search/version'
@@ -0,0 +1,19 @@
1
+ # @author Mike Bland (michael.bland@gsa.gov)
2
+
3
+ require 'jekyll/static_file'
4
+
5
+ module JekyllPagesApiSearch
6
+ class JavascriptCopier
7
+ def self.copy_to_site(site)
8
+ assets_path = File.join('assets', 'js')
9
+ source = File.realpath(File.join(File.dirname(__FILE__), '..', '..'))
10
+ begin_path = source.size + File::SEPARATOR.size
11
+ Dir[File.join(source, assets_path, '**', '*.js*')].each do |f|
12
+ next unless File.file? f
13
+ f = f[begin_path..-1]
14
+ site.static_files << ::Jekyll::StaticFile.new(
15
+ site, source, File.dirname(f), File.basename(f))
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,7 @@
1
+ /**
2
+ * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 0.5.9
3
+ * Copyright (C) 2015 Oliver Nightingale
4
+ * MIT Licensed
5
+ * @license
6
+ */
7
+ !function(){var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.5.9",t.utils={},t.utils.warn=function(t){return function(e){t.console&&console.warn&&console.warn(e)}}(this),t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var t=Array.prototype.slice.call(arguments),e=t.pop(),n=t;if("function"!=typeof e)throw new TypeError("last argument must be a function");n.forEach(function(t){this.hasHandler(t)||(this.events[t]=[]),this.events[t].push(e)},this)},t.EventEmitter.prototype.removeListener=function(t,e){if(this.hasHandler(t)){var n=this.events[t].indexOf(e);this.events[t].splice(n,1),this.events[t].length||delete this.events[t]}},t.EventEmitter.prototype.emit=function(t){if(this.hasHandler(t)){var e=Array.prototype.slice.call(arguments,1);this.events[t].forEach(function(t){t.apply(void 0,e)})}},t.EventEmitter.prototype.hasHandler=function(t){return t in this.events},t.tokenizer=function(t){return arguments.length&&null!=t&&void 0!=t?Array.isArray(t)?t.map(function(t){return t.toLowerCase()}):t.toString().trim().toLowerCase().split(/[\s\-]+/):[]},t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.registeredFunctions[e];if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,n)},t.Pipeline.prototype.remove=function(t){var e=this._stack.indexOf(t);-1!=e&&this._stack.splice(e,1)},t.Pipeline.prototype.run=function(t){for(var e=[],n=t.length,i=this._stack.length,o=0;n>o;o++){for(var r=t[o],s=0;i>s&&(r=this._stack[s](r,o,t),void 0!==r);s++);void 0!==r&&e.push(r)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(e<i.idx)return this.list=new t.Vector.Node(e,n,i),this.length++;for(var o=i,r=i.next;void 0!=r;){if(e<r.idx)return o.next=new t.Vector.Node(e,n,r),this.length++;o=r,r=r.next}return o.next=new t.Vector.Node(e,n,r),this.length++},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var t,e=this.list,n=0;e;)t=e.val,n+=t*t,e=e.next;return this._magnitude=Math.sqrt(n)},t.Vector.prototype.dot=function(t){for(var e=this.list,n=t.list,i=0;e&&n;)e.idx<n.idx?e=e.next:e.idx>n.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t<arguments.length;t++)e=arguments[t],~this.indexOf(e)||this.elements.splice(this.locationFor(e),0,e);this.length=this.elements.length},t.SortedSet.prototype.toArray=function(){return this.elements.slice()},t.SortedSet.prototype.map=function(t,e){return this.elements.map(t,e)},t.SortedSet.prototype.forEach=function(t,e){return this.elements.forEach(t,e)},t.SortedSet.prototype.indexOf=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;){if(r===t)return o;t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o]}return r===t?o:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;)t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o];return r>t?o:t>r?o+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,o=0,r=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>r-1||o>s-1)break;a[i]!==h[o]?a[i]<h[o]?i++:a[i]>h[o]&&o++:(n.add(a[i]),i++,o++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;return this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone(),i.add.apply(i,n.toArray()),i},t.SortedSet.prototype.toJSON=function(){return this.toArray()},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.Store,this.tokenStore=new t.TokenStore,this.corpusTokens=new t.SortedSet,this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var t=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,t)},t.Index.prototype.off=function(t,e){return this.eventEmitter.removeListener(t,e)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;return n._fields=e.fields,n._ref=e.ref,n.documentStore=t.Store.load(e.documentStore),n.tokenStore=t.TokenStore.load(e.tokenStore),n.corpusTokens=t.SortedSet.load(e.corpusTokens),n.pipeline=t.Pipeline.load(e.pipeline),n},t.Index.prototype.field=function(t,e){var e=e||{},n={name:t,boost:e.boost||1};return this._fields.push(n),this},t.Index.prototype.ref=function(t){return this._ref=t,this},t.Index.prototype.add=function(e,n){var i={},o=new t.SortedSet,r=e[this._ref],n=void 0===n?!0:n;this._fields.forEach(function(n){var r=this.pipeline.run(t.tokenizer(e[n.name]));i[n.name]=r,t.SortedSet.prototype.add.apply(o,r)},this),this.documentStore.set(r,o),t.SortedSet.prototype.add.apply(this.corpusTokens,o.toArray());for(var s=0;s<o.length;s++){var a=o.elements[s],h=this._fields.reduce(function(t,e){var n=i[e.name].length;if(!n)return t;var o=i[e.name].filter(function(t){return t===a}).length;return t+o/n*e.boost},0);this.tokenStore.add(a,{ref:r,tf:h})}n&&this.eventEmitter.emit("add",e,this)},t.Index.prototype.remove=function(t,e){var n=t[this._ref],e=void 0===e?!0:e;if(this.documentStore.has(n)){var i=this.documentStore.get(n);this.documentStore.remove(n),i.forEach(function(t){this.tokenStore.remove(t,n)},this),e&&this.eventEmitter.emit("remove",t,this)}},t.Index.prototype.update=function(t,e){var e=void 0===e?!0:e;this.remove(t,!1),this.add(t,!1),e&&this.eventEmitter.emit("update",t,this)},t.Index.prototype.idf=function(t){var e="@"+t;if(Object.prototype.hasOwnProperty.call(this._idfCache,e))return this._idfCache[e];var n=this.tokenStore.count(t),i=1;return n>0&&(i=1+Math.log(this.tokenStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(t.tokenizer(e)),i=new t.Vector,o=[],r=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*r,h=this,l=this.tokenStore.expand(e).reduce(function(n,o){var r=h.corpusTokens.indexOf(o),s=h.idf(o),l=1,u=new t.SortedSet;if(o!==e){var c=Math.max(3,o.length-e.length);l=1/Math.log(c)}return r>-1&&i.insert(r,a*s*l),Object.keys(h.tokenStore.get(o)).forEach(function(t){u.add(t)}),n.union(u)},new t.SortedSet);o.push(l)},this);var a=o.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,o=new t.Vector,r=0;i>r;r++){var s=n.elements[r],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);o.insert(this.corpusTokens.indexOf(s),a*h)}return o},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",o=n+"[^aeiouy]*",r=i+"[aeiou]*",s="^("+o+")?"+r+o,a="^("+o+")?"+r+o+"("+r+")?$",h="^("+o+")?"+r+o+r+o,l="^("+o+")?"+i,u=new RegExp(s),c=new RegExp(h),p=new RegExp(a),f=new RegExp(l),d=/^(.+?)(ss|i)es$/,v=/^(.+?)([^s])s$/,m=/^(.+?)eed$/,g=/^(.+?)(ed|ing)$/,y=/.$/,S=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),x=new RegExp("^"+o+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,E=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,b=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,_=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,F=/^(.+?)(s|t)(ion)$/,O=/^(.+?)e$/,P=/ll$/,N=new RegExp("^"+o+i+"[^aeiouwxy]$"),T=function(n){var i,o,r,s,a,h,l;if(n.length<3)return n;if(r=n.substr(0,1),"y"==r&&(n=r.toUpperCase()+n.substr(1)),s=d,a=v,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=m,a=g,s.test(n)){var T=s.exec(n);s=u,s.test(T[1])&&(s=y,n=n.replace(s,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=f,a.test(i)&&(n=i,a=S,h=w,l=x,a.test(n)?n+="e":h.test(n)?(s=y,n=n.replace(s,"")):l.test(n)&&(n+="e"))}if(s=k,s.test(n)){var T=s.exec(n);i=T[1],n=i+"i"}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+t[o])}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+e[o])}if(s=_,a=F,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=O,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=p,h=N,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=P,a=c,s.test(n)&&a.test(n)&&(s=y,n=n.replace(s,"")),"y"==r&&(n=r.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.stopWordFilter=function(e){return-1===t.stopWordFilter.stopWords.indexOf(e)?e:void 0},t.stopWordFilter.stopWords=new t.SortedSet,t.stopWordFilter.stopWords.length=119,t.stopWordFilter.stopWords.elements=["","a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"],t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){return t.replace(/^\W+/,"").replace(/\W+$/,"")},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t[0],o=t.slice(1);return i in n||(n[i]={docs:{}}),0===o.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(o,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;n<t.length;n++){if(!e[t[n]])return!1;e=e[t[n]]}return!0},t.TokenStore.prototype.getNode=function(t){if(!t)return{};for(var e=this.root,n=0;n<t.length;n++){if(!e[t[n]])return{};e=e[t[n]]}return e},t.TokenStore.prototype.get=function(t,e){return this.getNode(t,e).docs||{}},t.TokenStore.prototype.count=function(t,e){return Object.keys(this.get(t,e)).length},t.TokenStore.prototype.remove=function(t,e){if(t){for(var n=this.root,i=0;i<t.length;i++){if(!(t[i]in n))return;n=n[t[i]]}delete n.docs[e]}},t.TokenStore.prototype.expand=function(t,e){var n=this.getNode(t),i=n.docs||{},e=e||[];return Object.keys(i).length&&e.push(t),Object.keys(n).forEach(function(n){"docs"!==n&&e.concat(this.expand(t+n,e))},this),e},t.TokenStore.prototype.toJSON=function(){return{root:this.root,length:this.length}},function(t,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():t.lunr=e()}(this,function(){return t})}();
@@ -0,0 +1,5 @@
1
+ # @author Mike Bland (michael.bland@gsa.gov)
2
+
3
+ require 'sass'
4
+
5
+ Sass.load_paths << File.join(File.dirname(__FILE__), 'sass')
@@ -0,0 +1,45 @@
1
+ // https://github.com/mauriciogentile/angular-livesearch/blob/1f4e357ab3b50701eeedcfb45c12cd901d612087/example/styles.css#L31-L65
2
+ ul.searchresultspopup {
3
+ border: #a4bed4 1px solid;
4
+ margin-top: 0px;
5
+ padding: 0px;
6
+ z-index: 99999!important;
7
+ position: fixed;
8
+ background-color: white;
9
+ /*max-height:200px;*/
10
+ border-collapse: separate;
11
+ overflow-y: hidden;
12
+
13
+ li {
14
+ cursor: pointer;
15
+ padding-left: 1px;
16
+ text-align: left;
17
+ list-style: none;
18
+ line-height: 20px;
19
+ list-style-image: none;
20
+ list-style-position: outside;
21
+ list-style-type: none;
22
+ }
23
+
24
+ li.selected,
25
+ li:hover {
26
+ background-color: #ededed;
27
+ }
28
+
29
+ b {
30
+ color: blue;
31
+ }
32
+
33
+ strong {
34
+ color: green;
35
+ }
36
+ }
37
+
38
+ .sr-only { //for screen readers
39
+ position: absolute;
40
+ overflow: hidden;
41
+ width:1px;
42
+ height:1px;
43
+ margin: -1px;
44
+ padding:0;
45
+ }
@@ -0,0 +1,18 @@
1
+ <div ng-controller="SearchController" class="bare-content" ng-strict-di>
2
+ <div class="search-interface skip-nav-anchor" id="anchor" tabindex="-1">
3
+ <label for="search1" class="sr-only">Search - click or press '/'</label>
4
+ <live-search id="search1" type="text"
5
+ live-search-callback="searchCallback"
6
+ live-search-item-template="<a href='{{result.page.url}}'>{{result.page.title || result.page.url}}</a>"
7
+ live-search-select="displayTitle"
8
+ live-search-max-result-size="20"
9
+ ng-model="searchText"
10
+ ng-keydown="searchKeyDown($event)"
11
+ placeholder="Search – click or press '/'"
12
+ aria-autocomplete="list"
13
+ aria-activedescendant="search_result_0"
14
+ aria-haspopup="true"
15
+ ></live-search>
16
+ </div>
17
+ <div ng-hide="searchText"></div>
18
+ </div>
@@ -0,0 +1,22 @@
1
+ // @author Mike Bland (michael.bland@gsa.gov)
2
+
3
+ var index = lunr(function() {
4
+ this.ref('url');
5
+
6
+ for (var field_name in index_fields) {
7
+ var boost = index_fields[field_name];
8
+ this.field(field_name, boost);
9
+ }
10
+ });
11
+
12
+ var url_to_doc = {};
13
+
14
+ corpus.entries.forEach(function(page) {
15
+ index.add(page);
16
+ url_to_doc[page.url] = {url: page.url, title: page.title};
17
+ });
18
+
19
+ var result = JSON.stringify({
20
+ index: index.toJSON(),
21
+ url_to_doc: url_to_doc
22
+ });
@@ -0,0 +1,30 @@
1
+ # @author Mike Bland (michael.bland@gsa.gov)
2
+
3
+ require 'jekyll_pages_api'
4
+ require 'v8'
5
+
6
+ module JekyllPagesApiSearch
7
+ class SearchIndexBuilder
8
+ def self.build_index(site)
9
+ corpus_page = find_corpus_page(site.pages)
10
+ raise 'Pages API corpus not found' if corpus_page == nil
11
+
12
+ dirname = File.dirname(__FILE__)
13
+ search_config = site.config['jekyll_pages_api_search']
14
+ cxt = V8::Context.new
15
+ cxt.load File.join(dirname, 'lunr.min.js')
16
+ cxt[:index_fields] = search_config['index_fields'] || {}
17
+ cxt.eval("var corpus = #{corpus_page.output};")
18
+ cxt.load(File.join(dirname, 'search.js'))
19
+
20
+ index_page = JekyllPagesApi::PageWithoutAFile.new(
21
+ site, site.source, '', 'search-index.json')
22
+ index_page.output = cxt[:result]
23
+ return index_page
24
+ end
25
+
26
+ def self.find_corpus_page(pages)
27
+ pages.each {|page| return page if page.name == 'pages.json'}
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,44 @@
1
+ # @author Mike Bland (michael.bland@gsa.gov)
2
+
3
+ require_relative 'js_copier'
4
+
5
+ require 'jekyll/site'
6
+ require 'jekyll_pages_api'
7
+ require 'zlib'
8
+
9
+ # This Jekyl::Site override creates a hook for generating the search index
10
+ # after the jekyll_pages_api plugin has produced the api/v1/pages.json corpus.
11
+ # In the very near term, we should probably create a proper hook in the
12
+ # jekyll_pages_api plugin itself.
13
+ module Jekyll
14
+ class Site
15
+ alias_method :pages_api_after_render, :after_render
16
+ alias_method :orig_write, :write
17
+
18
+ def skip_index?
19
+ search_config = self.config['jekyll_pages_api_search']
20
+ search_config.nil? || search_config['skip_index']
21
+ end
22
+
23
+ def after_render
24
+ pages_api_after_render
25
+ return if skip_index?
26
+ self.pages << JekyllPagesApiSearch::SearchIndexBuilder.build_index(self)
27
+ JekyllPagesApiSearch::JavascriptCopier.copy_to_site(self)
28
+ end
29
+
30
+ def write
31
+ orig_write
32
+ pages_api_search_after_write unless skip_index?
33
+ end
34
+
35
+ def pages_api_search_after_write
36
+ index = pages.find {|p| p.name == 'search-index.json'}
37
+ raise 'Search index not found' if index.nil?
38
+ compressed = "#{index.destination self.dest}.gz"
39
+ Zlib::GzipWriter.open(compressed, Zlib::BEST_COMPRESSION) do |gz|
40
+ gz.write index.output
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,28 @@
1
+ # @author Mike Bland (michael.bland@gsa.gov)
2
+
3
+ require 'liquid'
4
+
5
+ module JekyllPagesApiSearch
6
+ class SearchInterfaceTag < Liquid::Tag
7
+ NAME = 'jekyll_pages_api_search_interface'
8
+ Liquid::Template.register_tag(NAME, self)
9
+ CODE = File.read(File.join(File.dirname(__FILE__), 'search.html'))
10
+
11
+ def render(context)
12
+ CODE
13
+ end
14
+ end
15
+
16
+ class LoadSearchTag < Liquid::Tag
17
+ NAME = 'jekyll_pages_api_search_load'
18
+ Liquid::Template.register_tag(NAME, self)
19
+
20
+ def render(context)
21
+ return @code if @code
22
+ baseurl = context.registers[:site].config['baseurl']
23
+ @code = ("<script>SEARCH_BASEURL = '#{baseurl}';</script>\n" +
24
+ "<script async src=\"#{baseurl}/assets/js/search-bundle.js\">" +
25
+ "</script>")
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,5 @@
1
+ # @author Mike Bland (michael.bland@gsa.gov)
2
+
3
+ module JekyllPagesApiSearch
4
+ VERSION = '0.1.0'
5
+ end
metadata ADDED
@@ -0,0 +1,202 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jekyll_pages_api_search
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Mike Bland
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-05-31 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: jekyll_pages_api
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.1.3
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.1.3
27
+ - !ruby/object:Gem::Dependency
28
+ name: therubyracer
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.12.2
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.12.2
41
+ - !ruby/object:Gem::Dependency
42
+ name: sass
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.4'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.4'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '10.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '10.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: bundler
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.7'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.7'
83
+ - !ruby/object:Gem::Dependency
84
+ name: jekyll
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: minitest
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: codeclimate-test-reporter
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: coveralls
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: test_temp_file_helper
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ description: Contains a Jekyll plugin and associated files that facilitate adding
154
+ client-side search features to a site using the jekyll_pages_api gem.
155
+ email:
156
+ - michael.bland@gsa.gov
157
+ executables: []
158
+ extensions: []
159
+ extra_rdoc_files: []
160
+ files:
161
+ - CONTRIBUTING.md
162
+ - LICENSE.md
163
+ - README.md
164
+ - assets/js/search-bundle.js
165
+ - assets/js/search-bundle.js.gz
166
+ - assets/js/search.js
167
+ - lib/jekyll_pages_api_search.rb
168
+ - lib/jekyll_pages_api_search/js_copier.rb
169
+ - lib/jekyll_pages_api_search/lunr.min.js
170
+ - lib/jekyll_pages_api_search/sass.rb
171
+ - lib/jekyll_pages_api_search/sass/jekyll_pages_api_search.scss
172
+ - lib/jekyll_pages_api_search/search.html
173
+ - lib/jekyll_pages_api_search/search.js
174
+ - lib/jekyll_pages_api_search/search.rb
175
+ - lib/jekyll_pages_api_search/search_hook.rb
176
+ - lib/jekyll_pages_api_search/tags.rb
177
+ - lib/jekyll_pages_api_search/version.rb
178
+ homepage: https://github.com/18F/jekyll_pages_api_search
179
+ licenses:
180
+ - CC0
181
+ metadata: {}
182
+ post_install_message:
183
+ rdoc_options: []
184
+ require_paths:
185
+ - lib
186
+ required_ruby_version: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - ">="
189
+ - !ruby/object:Gem::Version
190
+ version: '0'
191
+ required_rubygems_version: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ version: '0'
196
+ requirements: []
197
+ rubyforge_project:
198
+ rubygems_version: 2.4.5
199
+ signing_key:
200
+ specification_version: 4
201
+ summary: Adds lunr.js search based on the jekyll_pages_api gem
202
+ test_files: []