tigger 0.0.3 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. data/.DS_Store +0 -0
  2. data/.gitignore +14 -1
  3. data/.rvmrc +1 -0
  4. data/Gemfile +7 -1
  5. data/Rakefile +6 -2
  6. data/lib/generators/tigger/backbone/backbone_generator.rb +33 -0
  7. data/lib/generators/tigger/plugins/plugins_generator.rb +20 -0
  8. data/lib/tigger/engine.rb +7 -0
  9. data/lib/tigger/version.rb +1 -3
  10. data/lib/tigger.rb +6 -10
  11. data/test/dummy/README.rdoc +261 -0
  12. data/test/dummy/Rakefile +7 -0
  13. data/test/dummy/app/assets/javascripts/application.js +15 -0
  14. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  15. data/test/dummy/app/controllers/application_controller.rb +3 -0
  16. data/test/dummy/app/helpers/application_helper.rb +2 -0
  17. data/test/dummy/app/mailers/.gitkeep +0 -0
  18. data/test/dummy/app/models/.gitkeep +0 -0
  19. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  20. data/test/dummy/config/application.rb +59 -0
  21. data/test/dummy/config/boot.rb +10 -0
  22. data/test/dummy/config/database.yml +25 -0
  23. data/test/dummy/config/environment.rb +5 -0
  24. data/test/dummy/config/environments/development.rb +37 -0
  25. data/test/dummy/config/environments/production.rb +67 -0
  26. data/test/dummy/config/environments/test.rb +37 -0
  27. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  28. data/test/dummy/config/initializers/inflections.rb +15 -0
  29. data/test/dummy/config/initializers/mime_types.rb +5 -0
  30. data/test/dummy/config/initializers/secret_token.rb +7 -0
  31. data/test/dummy/config/initializers/session_store.rb +8 -0
  32. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  33. data/test/dummy/config/locales/en.yml +5 -0
  34. data/test/dummy/config/routes.rb +58 -0
  35. data/test/dummy/config.ru +4 -0
  36. data/test/dummy/lib/assets/.gitkeep +0 -0
  37. data/test/dummy/log/.gitkeep +0 -0
  38. data/test/dummy/public/404.html +26 -0
  39. data/test/dummy/public/422.html +26 -0
  40. data/test/dummy/public/500.html +25 -0
  41. data/test/dummy/public/favicon.ico +0 -0
  42. data/test/dummy/script/rails +6 -0
  43. data/test/test_helper.rb +15 -0
  44. data/test/tigger_test.rb +7 -0
  45. data/tigger.gemspec +18 -20
  46. data/vendor/assets/javascripts/.DS_Store +0 -0
  47. data/vendor/assets/javascripts/backbone.js +1290 -0
  48. data/vendor/assets/javascripts/goodies.js +38 -0
  49. data/vendor/assets/javascripts/icanhaz.js +542 -0
  50. data/vendor/assets/javascripts/json2.js +480 -0
  51. data/vendor/assets/javascripts/simple-weather.js +14 -0
  52. data/vendor/assets/javascripts/spin.js +319 -0
  53. data/vendor/assets/javascripts/sugar.js +116 -0
  54. data/vendor/assets/javascripts/underscore.js +999 -0
  55. metadata +144 -67
@@ -0,0 +1,319 @@
1
+ //fgnass.github.com/spin.js#v1.2.6
2
+ !function(window, document, undefined) {
3
+
4
+ /**
5
+ * Copyright (c) 2011 Felix Gnass [fgnass at neteye dot de]
6
+ * Licensed under the MIT license
7
+ */
8
+
9
+ var prefixes = ['webkit', 'Moz', 'ms', 'O'] /* Vendor prefixes */
10
+ , animations = {} /* Animation rules keyed by their name */
11
+ , useCssAnimations
12
+
13
+ /**
14
+ * Utility function to create elements. If no tag name is given,
15
+ * a DIV is created. Optionally properties can be passed.
16
+ */
17
+ function createEl(tag, prop) {
18
+ var el = document.createElement(tag || 'div')
19
+ , n
20
+
21
+ for(n in prop) el[n] = prop[n]
22
+ return el
23
+ }
24
+
25
+ /**
26
+ * Appends children and returns the parent.
27
+ */
28
+ function ins(parent /* child1, child2, ...*/) {
29
+ for (var i=1, n=arguments.length; i<n; i++)
30
+ parent.appendChild(arguments[i])
31
+
32
+ return parent
33
+ }
34
+
35
+ /**
36
+ * Insert a new stylesheet to hold the @keyframe or VML rules.
37
+ */
38
+ var sheet = function() {
39
+ var el = createEl('style', {type : 'text/css'})
40
+ ins(document.getElementsByTagName('head')[0], el)
41
+ return el.sheet || el.styleSheet
42
+ }()
43
+
44
+ /**
45
+ * Creates an opacity keyframe animation rule and returns its name.
46
+ * Since most mobile Webkits have timing issues with animation-delay,
47
+ * we create separate rules for each line/segment.
48
+ */
49
+ function addAnimation(alpha, trail, i, lines) {
50
+ var name = ['opacity', trail, ~~(alpha*100), i, lines].join('-')
51
+ , start = 0.01 + i/lines*100
52
+ , z = Math.max(1 - (1-alpha) / trail * (100-start), alpha)
53
+ , prefix = useCssAnimations.substring(0, useCssAnimations.indexOf('Animation')).toLowerCase()
54
+ , pre = prefix && '-'+prefix+'-' || ''
55
+
56
+ if (!animations[name]) {
57
+ sheet.insertRule(
58
+ '@' + pre + 'keyframes ' + name + '{' +
59
+ '0%{opacity:' + z + '}' +
60
+ start + '%{opacity:' + alpha + '}' +
61
+ (start+0.01) + '%{opacity:1}' +
62
+ (start+trail) % 100 + '%{opacity:' + alpha + '}' +
63
+ '100%{opacity:' + z + '}' +
64
+ '}', sheet.cssRules.length)
65
+
66
+ animations[name] = 1
67
+ }
68
+ return name
69
+ }
70
+
71
+ /**
72
+ * Tries various vendor prefixes and returns the first supported property.
73
+ **/
74
+ function vendor(el, prop) {
75
+ var s = el.style
76
+ , pp
77
+ , i
78
+
79
+ if(s[prop] !== undefined) return prop
80
+ prop = prop.charAt(0).toUpperCase() + prop.slice(1)
81
+ for(i=0; i<prefixes.length; i++) {
82
+ pp = prefixes[i]+prop
83
+ if(s[pp] !== undefined) return pp
84
+ }
85
+ }
86
+
87
+ /**
88
+ * Sets multiple style properties at once.
89
+ */
90
+ function css(el, prop) {
91
+ for (var n in prop)
92
+ el.style[vendor(el, n)||n] = prop[n]
93
+
94
+ return el
95
+ }
96
+
97
+ /**
98
+ * Fills in default values.
99
+ */
100
+ function merge(obj) {
101
+ for (var i=1; i < arguments.length; i++) {
102
+ var def = arguments[i]
103
+ for (var n in def)
104
+ if (obj[n] === undefined) obj[n] = def[n]
105
+ }
106
+ return obj
107
+ }
108
+
109
+ /**
110
+ * Returns the absolute page-offset of the given element.
111
+ */
112
+ function pos(el) {
113
+ var o = { x:el.offsetLeft, y:el.offsetTop }
114
+ while((el = el.offsetParent))
115
+ o.x+=el.offsetLeft, o.y+=el.offsetTop
116
+
117
+ return o
118
+ }
119
+
120
+ var defaults = {
121
+ lines: 12, // The number of lines to draw
122
+ length: 7, // The length of each line
123
+ width: 5, // The line thickness
124
+ radius: 10, // The radius of the inner circle
125
+ rotate: 0, // Rotation offset
126
+ corners: 1, // Roundness (0..1)
127
+ color: '#000', // #rgb or #rrggbb
128
+ speed: 1, // Rounds per second
129
+ trail: 100, // Afterglow percentage
130
+ opacity: 1/4, // Opacity of the lines
131
+ fps: 20, // Frames per second when using setTimeout()
132
+ zIndex: 2e9, // Use a high z-index by default
133
+ className: 'spinner', // CSS class to assign to the element
134
+ top: 'auto', // center vertically
135
+ left: 'auto' // center horizontally
136
+ }
137
+
138
+ /** The constructor */
139
+ var Spinner = function Spinner(o) {
140
+ if (!this.spin) return new Spinner(o)
141
+ this.opts = merge(o || {}, Spinner.defaults, defaults)
142
+ }
143
+
144
+ Spinner.defaults = {}
145
+
146
+ merge(Spinner.prototype, {
147
+ spin: function(target) {
148
+ this.stop()
149
+ var self = this
150
+ , o = self.opts
151
+ , el = self.el = css(createEl(0, {className: o.className}), {position: 'relative', width: 0, zIndex: o.zIndex})
152
+ , mid = o.radius+o.length+o.width
153
+ , ep // element position
154
+ , tp // target position
155
+
156
+ if (target) {
157
+ target.insertBefore(el, target.firstChild||null)
158
+ tp = pos(target)
159
+ ep = pos(el)
160
+ css(el, {
161
+ left: (o.left == 'auto' ? tp.x-ep.x + (target.offsetWidth >> 1) : parseInt(o.left, 10) + mid) + 'px',
162
+ top: (o.top == 'auto' ? tp.y-ep.y + (target.offsetHeight >> 1) : parseInt(o.top, 10) + mid) + 'px'
163
+ })
164
+ }
165
+
166
+ el.setAttribute('aria-role', 'progressbar')
167
+ self.lines(el, self.opts)
168
+
169
+ if (!useCssAnimations) {
170
+ // No CSS animation support, use setTimeout() instead
171
+ var i = 0
172
+ , fps = o.fps
173
+ , f = fps/o.speed
174
+ , ostep = (1-o.opacity) / (f*o.trail / 100)
175
+ , astep = f/o.lines
176
+
177
+ ;(function anim() {
178
+ i++;
179
+ for (var s=o.lines; s; s--) {
180
+ var alpha = Math.max(1-(i+s*astep)%f * ostep, o.opacity)
181
+ self.opacity(el, o.lines-s, alpha, o)
182
+ }
183
+ self.timeout = self.el && setTimeout(anim, ~~(1000/fps))
184
+ })()
185
+ }
186
+ return self
187
+ },
188
+
189
+ stop: function() {
190
+ var el = this.el
191
+ if (el) {
192
+ clearTimeout(this.timeout)
193
+ if (el.parentNode) el.parentNode.removeChild(el)
194
+ this.el = undefined
195
+ }
196
+ return this
197
+ },
198
+
199
+ lines: function(el, o) {
200
+ var i = 0
201
+ , seg
202
+
203
+ function fill(color, shadow) {
204
+ return css(createEl(), {
205
+ position: 'absolute',
206
+ width: (o.length+o.width) + 'px',
207
+ height: o.width + 'px',
208
+ background: color,
209
+ boxShadow: shadow,
210
+ transformOrigin: 'left',
211
+ transform: 'rotate(' + ~~(360/o.lines*i+o.rotate) + 'deg) translate(' + o.radius+'px' +',0)',
212
+ borderRadius: (o.corners * o.width>>1) + 'px'
213
+ })
214
+ }
215
+
216
+ for (; i < o.lines; i++) {
217
+ seg = css(createEl(), {
218
+ position: 'absolute',
219
+ top: 1+~(o.width/2) + 'px',
220
+ transform: o.hwaccel ? 'translate3d(0,0,0)' : '',
221
+ opacity: o.opacity,
222
+ animation: useCssAnimations && addAnimation(o.opacity, o.trail, i, o.lines) + ' ' + 1/o.speed + 's linear infinite'
223
+ })
224
+
225
+ if (o.shadow) ins(seg, css(fill('#000', '0 0 4px ' + '#000'), {top: 2+'px'}))
226
+
227
+ ins(el, ins(seg, fill(o.color, '0 0 1px rgba(0,0,0,.1)')))
228
+ }
229
+ return el
230
+ },
231
+
232
+ opacity: function(el, i, val) {
233
+ if (i < el.childNodes.length) el.childNodes[i].style.opacity = val
234
+ }
235
+
236
+ })
237
+
238
+ /////////////////////////////////////////////////////////////////////////
239
+ // VML rendering for IE
240
+ /////////////////////////////////////////////////////////////////////////
241
+
242
+ /**
243
+ * Check and init VML support
244
+ */
245
+ ;(function() {
246
+
247
+ function vml(tag, attr) {
248
+ return createEl('<' + tag + ' xmlns="urn:schemas-microsoft.com:vml" class="spin-vml">', attr)
249
+ }
250
+
251
+ var s = css(createEl('group'), {behavior: 'url(#default#VML)'})
252
+
253
+ if (!vendor(s, 'transform') && s.adj) {
254
+
255
+ // VML support detected. Insert CSS rule ...
256
+ sheet.addRule('.spin-vml', 'behavior:url(#default#VML)')
257
+
258
+ Spinner.prototype.lines = function(el, o) {
259
+ var r = o.length+o.width
260
+ , s = 2*r
261
+
262
+ function grp() {
263
+ return css(
264
+ vml('group', {
265
+ coordsize: s + ' ' + s,
266
+ coordorigin: -r + ' ' + -r
267
+ }),
268
+ { width: s, height: s }
269
+ )
270
+ }
271
+
272
+ var margin = -(o.width+o.length)*2 + 'px'
273
+ , g = css(grp(), {position: 'absolute', top: margin, left: margin})
274
+ , i
275
+
276
+ function seg(i, dx, filter) {
277
+ ins(g,
278
+ ins(css(grp(), {rotation: 360 / o.lines * i + 'deg', left: ~~dx}),
279
+ ins(css(vml('roundrect', {arcsize: o.corners}), {
280
+ width: r,
281
+ height: o.width,
282
+ left: o.radius,
283
+ top: -o.width>>1,
284
+ filter: filter
285
+ }),
286
+ vml('fill', {color: o.color, opacity: o.opacity}),
287
+ vml('stroke', {opacity: 0}) // transparent stroke to fix color bleeding upon opacity change
288
+ )
289
+ )
290
+ )
291
+ }
292
+
293
+ if (o.shadow)
294
+ for (i = 1; i <= o.lines; i++)
295
+ seg(i, -2, 'progid:DXImageTransform.Microsoft.Blur(pixelradius=2,makeshadow=1,shadowopacity=.3)')
296
+
297
+ for (i = 1; i <= o.lines; i++) seg(i)
298
+ return ins(el, g)
299
+ }
300
+
301
+ Spinner.prototype.opacity = function(el, i, val, o) {
302
+ var c = el.firstChild
303
+ o = o.shadow && o.lines || 0
304
+ if (c && i+o < c.childNodes.length) {
305
+ c = c.childNodes[i+o]; c = c && c.firstChild; c = c && c.firstChild
306
+ if (c) c.opacity = val
307
+ }
308
+ }
309
+ }
310
+ else
311
+ useCssAnimations = vendor(s, 'animation')
312
+ })()
313
+
314
+ if (typeof define == 'function' && define.amd)
315
+ define(function() { return Spinner })
316
+ else
317
+ window.Spinner = Spinner
318
+
319
+ }(window, document)
@@ -0,0 +1,116 @@
1
+ /*
2
+ * Sugar Library v1.3.4
3
+ *
4
+ * Freely distributable and licensed under the MIT-style license.
5
+ * Copyright (c) 2012 Andrew Plummer
6
+ * http://sugarjs.com/
7
+ *
8
+ * ---------------------------- */
9
+ (function(){var k=true,l=null,m=false;function aa(a){return function(){return a}}var o=Object,p=Array,q=RegExp,s=Date,t=String,u=Number,v=Math,ba=typeof global!=="undefined"?global:this,ca=o.defineProperty&&o.defineProperties,w="Array,Boolean,Date,Function,Number,String,RegExp".split(","),fa=x(w[0]),ga=x(w[1]),ha=x(w[2]),A=x(w[3]),B=x(w[4]),D=x(w[5]),E=x(w[6]);function x(a){return function(b){return o.prototype.toString.call(b)==="[object "+a+"]"}}
10
+ function ia(a){if(!a.SugarMethods){ja(a,"SugarMethods",{});F(a,m,m,{restore:function(){var b=arguments.length===0,c=G(arguments);H(a.SugarMethods,function(d,e){if(b||c.indexOf(d)>-1)ja(e.va?a.prototype:a,d,e.method)})},extend:function(b,c,d){F(a,d!==m,c,b)}})}}function F(a,b,c,d){var e=b?a.prototype:a,f;ia(a);H(d,function(g,j){f=e[g];if(typeof c==="function")j=ka(e[g],j,c);if(c!==m||!e[g])ja(e,g,j);a.SugarMethods[g]={va:b,method:j,Da:f}})}
11
+ function I(a,b,c,d,e){var f={};d=D(d)?d.split(","):d;d.forEach(function(g,j){e(f,g,j)});F(a,b,c,f)}function ka(a,b,c){return function(){return a&&(c===k||!c.apply(this,arguments))?a.apply(this,arguments):b.apply(this,arguments)}}function ja(a,b,c){if(ca)o.defineProperty(a,b,{value:c,configurable:k,enumerable:m,writable:k});else a[b]=c}function G(a,b){var c=[],d;for(d=0;d<a.length;d++){c.push(a[d]);b&&b.call(a,a[d],d)}return c}function J(a){return a!==void 0}function K(a){return a===void 0}
12
+ function la(a){return a&&typeof a==="object"}function L(a){return!!a&&o.prototype.toString.call(a)==="[object Object]"&&"hasOwnProperty"in a}function ma(a,b){return o.hasOwnProperty.call(a,b)}function H(a,b){for(var c in a)if(ma(a,c))if(b.call(a,c,a[c])===m)break}function na(a,b){H(b,function(c){a[c]=b[c]});return a}function M(a){na(this,a)}M.prototype.constructor=o;function N(a,b,c,d){var e=[];a=parseInt(a);for(var f=d<0;!f&&a<=b||f&&a>=b;){e.push(a);c&&c.call(this,a);a+=d||1}return e}
13
+ function O(a,b,c){c=v[c||"round"];var d=v.pow(10,v.abs(b||0));if(b<0)d=1/d;return c(a*d)/d}function oa(a,b){return O(a,b,"floor")}function P(a,b,c,d){d=v.abs(a).toString(d||10);d=pa(b-d.replace(/\.\d+/,"").length,"0")+d;if(c||a<0)d=(a<0?"-":"+")+d;return d}function qa(a){if(a>=11&&a<=13)return"th";else switch(a%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}}
14
+ function ra(){return"\t\n\u000b\u000c\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u2028\u2029\u3000\ufeff"}function pa(a,b){return p(v.max(0,J(a)?a:1)+1).join(b||"")}function sa(a,b){var c=a.toString().match(/[^/]*$/)[0];if(b)c=(c+b).split("").sort().join("").replace(/([gimy])\1+/g,"$1");return c}function R(a){D(a)||(a=t(a));return a.replace(/([\\/'*+?|()\[\]{}.^$])/g,"\\$1")}
15
+ function ta(a,b){var c=typeof a,d,e,f,g,j,i;if(c==="string")return a;f=o.prototype.toString.call(a);d=L(a);e=f==="[object Array]";if(a!=l&&d||e){b||(b=[]);if(b.length>1)for(i=b.length;i--;)if(b[i]===a)return"CYC";b.push(a);d=t(a.constructor);g=e?a:o.keys(a).sort();for(i=0;i<g.length;i++){j=e?i:g[i];d+=j+ta(a[j],b)}b.pop()}else d=1/a===-Infinity?"-0":t(a&&a.valueOf?a.valueOf():a);return c+f+d}
16
+ function ua(a){var b=o.prototype.toString.call(a);return b==="[object Date]"||b==="[object Array]"||b==="[object String]"||b==="[object Number]"||b==="[object RegExp]"||b==="[object Boolean]"||b==="[object Arguments]"||L(a)}function va(a,b,c){var d=[],e=a.length,f=b[b.length-1]!==m,g;G(b,function(j){if(ga(j))return m;if(f){j%=e;if(j<0)j=e+j}g=c?a.charAt(j)||"":a[j];d.push(g)});return d.length<2?d[0]:d}
17
+ function wa(a,b){I(b,k,m,a,function(c,d){c[d+(d==="equal"?"s":"")]=function(){return o[d].apply(l,[this].concat(G(arguments)))}})}ia(o);H(w,function(a,b){ia(ba[b])});
18
+ F(o,m,m,{keys:function(a){var b=[];if(!la(a)&&!E(a)&&!A(a))throw new TypeError("Object required");H(a,function(c){b.push(c)});return b}});
19
+ function xa(a,b,c,d){var e=a.length,f=d==-1,g=f?e-1:0;c=isNaN(c)?g:parseInt(c>>0);if(c<0)c=e+c;if(!f&&c<0||f&&c>=e)c=g;for(;f&&c>=0||!f&&c<e;){if(a[c]===b)return c;c+=d}return-1}function ya(a,b,c,d){var e=a.length,f=0,g=J(c);za(b);if(e==0&&!g)throw new TypeError("Reduce called on empty array with no initial value");else if(g)c=c;else{c=a[d?e-1:f];f++}for(;f<e;){g=d?e-f-1:f;if(g in a)c=b(c,a[g],g,a);f++}return c}function za(a){if(!a||!a.call)throw new TypeError("Callback is not callable");}
20
+ function Aa(a){if(a.length===0)throw new TypeError("First argument must be defined");}F(p,m,m,{isArray:function(a){return fa(a)}});
21
+ F(p,k,m,{every:function(a,b){var c=this.length,d=0;for(Aa(arguments);d<c;){if(d in this&&!a.call(b,this[d],d,this))return m;d++}return k},some:function(a,b){var c=this.length,d=0;for(Aa(arguments);d<c;){if(d in this&&a.call(b,this[d],d,this))return k;d++}return m},map:function(a,b){var c=this.length,d=0,e=Array(c);for(Aa(arguments);d<c;){if(d in this)e[d]=a.call(b,this[d],d,this);d++}return e},filter:function(a,b){var c=this.length,d=0,e=[];for(Aa(arguments);d<c;){d in this&&a.call(b,this[d],d,this)&&
22
+ e.push(this[d]);d++}return e},indexOf:function(a,b){if(D(this))return this.indexOf(a,b);return xa(this,a,b,1)},lastIndexOf:function(a,b){if(D(this))return this.lastIndexOf(a,b);return xa(this,a,b,-1)},forEach:function(a,b){var c=this.length,d=0;for(za(a);d<c;){d in this&&a.call(b,this[d],d,this);d++}},reduce:function(a,b){return ya(this,a,b)},reduceRight:function(a,b){return ya(this,a,b,k)}});
23
+ F(Function,k,m,{bind:function(a){var b=this,c=G(arguments).slice(1),d;if(!A(this))throw new TypeError("Function.prototype.bind called on a non-function");d=function(){return b.apply(b.prototype&&this instanceof b?this:a,c.concat(G(arguments)))};d.prototype=this.prototype;return d}});F(s,m,m,{now:function(){return(new s).getTime()}});
24
+ (function(){var a=ra().match(/^\s+$/);try{t.prototype.trim.call([1])}catch(b){a=m}F(t,k,!a,{trim:function(){return this.toString().trimLeft().trimRight()},trimLeft:function(){return this.replace(q("^["+ra()+"]+"),"")},trimRight:function(){return this.replace(q("["+ra()+"]+$"),"")}})})();
25
+ (function(){var a=new s(s.UTC(1999,11,31));a=a.toISOString&&a.toISOString()==="1999-12-31T00:00:00.000Z";I(s,k,!a,"toISOString,toJSON",function(b,c){b[c]=function(){return P(this.getUTCFullYear(),4)+"-"+P(this.getUTCMonth()+1,2)+"-"+P(this.getUTCDate(),2)+"T"+P(this.getUTCHours(),2)+":"+P(this.getUTCMinutes(),2)+":"+P(this.getUTCSeconds(),2)+"."+P(this.getUTCMilliseconds(),3)+"Z"}})})();
26
+ function Ba(a,b,c,d){var e=k;if(a===b)return k;else if(E(b)&&D(a))return q(b).test(a);else if(A(b)&&!A(a))return b.apply(c,d);else if(L(b)&&la(a)){H(b,function(f){Ba(a[f],b[f],c,[a[f],a])||(e=m)});return e}else return ua(a)&&ua(b)?ta(a)===ta(b):a===b}function S(a,b,c,d){return K(b)?a:A(b)?b.apply(c,d||[]):A(a[b])?a[b].call(a):a[b]}
27
+ function T(a,b,c,d){var e,f;if(c<0)c=a.length+c;f=isNaN(c)?0:c;for(c=d===k?a.length+f:a.length;f<c;){e=f%a.length;if(e in a){if(b.call(a,a[e],e,a)===m)break}else return Ca(a,b,f,d);f++}}function Ca(a,b,c){var d=[],e;for(e in a)e in a&&e>>>0==e&&e!=4294967295&&e>=c&&d.push(parseInt(e));d.sort().each(function(f){return b.call(a,a[f],f,a)});return a}function Ea(a,b,c,d,e){var f,g;T(a,function(j,i,h){if(Ba(j,b,h,[j,i,h])){f=j;g=i;return m}},c,d);return e?g:f}
28
+ function Fa(a,b){var c=[],d={},e;T(a,function(f,g){e=b?S(f,b,a,[f,g,a]):f;Ga(d,e)||c.push(f)});return c}function Ha(a,b,c){var d=[],e={};b.each(function(f){Ga(e,f)});a.each(function(f){var g=ta(f),j=!ua(f);if(Ia(e,g,f,j)!=c){var i=0;if(j)for(g=e[g];i<g.length;)if(g[i]===f)g.splice(i,1);else i+=1;else delete e[g];d.push(f)}});return d}function Ja(a,b,c){b=b||Infinity;c=c||0;var d=[];T(a,function(e){if(fa(e)&&c<b)d=d.concat(Ja(e,b,c+1));else d.push(e)});return d}
29
+ function Ka(a){var b=[];G(a,function(c){b=b.concat(c)});return b}function Ia(a,b,c,d){var e=b in a;if(d){a[b]||(a[b]=[]);e=a[b].indexOf(c)!==-1}return e}function Ga(a,b){var c=ta(b),d=!ua(b),e=Ia(a,c,b,d);if(d)a[c].push(b);else a[c]=b;return e}function La(a,b,c,d){var e,f=[],g=c==="max",j=c==="min",i=Array.isArray(a);H(a,function(h){var n=a[h];h=S(n,b,a,i?[n,parseInt(h),a]:[]);if(h===e)f.push(n);else if(K(e)||g&&h>e||j&&h<e){f=[n];e=h}});i||(f=Ja(f,1));return d?f:f[0]}
30
+ function Ma(a){if(p[Na])a=a.toLowerCase();return a.replace(p[Oa],"")}function Pa(a,b){var c=a.charAt(b);return(p[Qa]||{})[c]||c}function Ra(a){var b=p[Sa];return a?b.indexOf(a):l}var Sa="AlphanumericSortOrder",Oa="AlphanumericSortIgnore",Na="AlphanumericSortIgnoreCase",Qa="AlphanumericSortEquivalents";F(p,m,m,{create:function(){var a=[];G(arguments,function(b){if(la(b))a=a.concat(p.prototype.slice.call(b));else a.push(b)});return a}});
31
+ F(p,k,m,{find:function(a,b,c){return Ea(this,a,b,c)},findAll:function(a,b,c){var d=[];T(this,function(e,f,g){Ba(e,a,g,[e,f,g])&&d.push(e)},b,c);return d},findIndex:function(a,b,c){a=Ea(this,a,b,c,k);return K(a)?-1:a},count:function(a){if(K(a))return this.length;return this.findAll(a).length},removeAt:function(a,b){if(K(a))return this;if(K(b))b=a;for(var c=0;c<=b-a;c++)this.splice(a,1);return this},include:function(a,b){return this.clone().add(a,b)},exclude:function(){return p.prototype.remove.apply(this.clone(),
32
+ arguments)},clone:function(){return na([],this)},unique:function(a){return Fa(this,a)},flatten:function(a){return Ja(this,a)},union:function(){return Fa(this.concat(Ka(arguments)))},intersect:function(){return Ha(this,Ka(arguments),m)},subtract:function(){return Ha(this,Ka(arguments),k)},at:function(){return va(this,arguments)},first:function(a){if(K(a))return this[0];if(a<0)a=0;return this.slice(0,a)},last:function(a){if(K(a))return this[this.length-1];return this.slice(this.length-a<0?0:this.length-
33
+ a)},from:function(a){return this.slice(a)},to:function(a){if(K(a))a=this.length;return this.slice(0,a)},min:function(a,b){return La(this,a,"min",b)},max:function(a,b){return La(this,a,"max",b)},least:function(a,b){return La(this.groupBy.apply(this,[a]),"length","min",b)},most:function(a,b){return La(this.groupBy.apply(this,[a]),"length","max",b)},sum:function(a){a=a?this.map(a):this;return a.length>0?a.reduce(function(b,c){return b+c}):0},average:function(a){a=a?this.map(a):this;return a.length>0?
34
+ a.sum()/a.length:0},inGroups:function(a,b){var c=arguments.length>1,d=this,e=[],f=O(this.length/a,void 0,"ceil");N(0,a-1,function(g){g=g*f;var j=d.slice(g,g+f);c&&j.length<f&&N(1,f-j.length,function(){j=j.add(b)});e.push(j)});return e},inGroupsOf:function(a,b){var c=[],d=this.length,e=this,f;if(d===0||a===0)return e;if(K(a))a=1;if(K(b))b=l;N(0,O(d/a,void 0,"ceil")-1,function(g){for(f=e.slice(a*g,a*g+a);f.length<a;)f.push(b);c.push(f)});return c},isEmpty:function(){return this.compact().length==0},
35
+ sortBy:function(a,b){var c=this.clone();c.sort(function(d,e){var f,g;f=S(d,a,c,[d]);g=S(e,a,c,[e]);if(D(f)&&D(g)){f=f;g=g;var j,i,h,n,r=0,y=0;f=Ma(f);g=Ma(g);do{h=Pa(f,r);n=Pa(g,r);j=Ra(h);i=Ra(n);if(j===-1||i===-1){j=f.charCodeAt(r)||l;i=g.charCodeAt(r)||l}h=h!==f.charAt(r);n=n!==g.charAt(r);if(h!==n&&y===0)y=h-n;r+=1}while(j!=l&&i!=l&&j===i);f=j===i?y:j<i?-1:1}else f=f<g?-1:f>g?1:0;return f*(b?-1:1)});return c},randomize:function(){for(var a=this.concat(),b,c,d=a.length;d;b=parseInt(v.random()*
36
+ d),c=a[--d],a[d]=a[b],a[b]=c);return a},zip:function(){var a=G(arguments);return this.map(function(b,c){return[b].concat(a.map(function(d){return c in d?d[c]:l}))})},sample:function(a){var b=[],c=this.clone(),d;if(K(a))a=1;for(;b.length<a;){d=oa(v.random()*(c.length-1));b.push(c[d]);c.removeAt(d);if(c.length==0)break}return arguments.length>0?b:b[0]},each:function(a,b,c){T(this,a,b,c);return this},add:function(a,b){if(!B(u(b))||isNaN(b))b=this.length;p.prototype.splice.apply(this,[b,0].concat(a));
37
+ return this},remove:function(){var a,b=this;G(arguments,function(c){for(a=0;a<b.length;)if(Ba(b[a],c,b,[b[a],a,b]))b.splice(a,1);else a++});return b},compact:function(a){var b=[];T(this,function(c){if(fa(c))b.push(c.compact());else if(a&&c)b.push(c);else!a&&c!=l&&c.valueOf()===c.valueOf()&&b.push(c)});return b},groupBy:function(a,b){var c=this,d={},e;T(c,function(f,g){e=S(f,a,c,[f,g,c]);d[e]||(d[e]=[]);d[e].push(f)});b&&H(d,b);return d},none:function(){return!this.any.apply(this,arguments)}});
38
+ F(p,k,m,{all:p.prototype.every,any:p.prototype.some,insert:p.prototype.add});function Ta(a){if(a&&a.valueOf)a=a.valueOf();return o.keys(a)}function Ua(a,b){I(o,m,m,a,function(c,d){c[d]=function(e,f,g){g=p.prototype[d].call(Ta(e),function(j){return b?S(e[j],f,e,[j,e[j],e]):Ba(e[j],f,e,[j,e[j],e])},g);if(fa(g))g=g.reduce(function(j,i){j[i]=e[i];return j},{});return g}});wa(a,M)}
39
+ F(o,m,m,{map:function(a,b){return Ta(a).reduce(function(c,d){c[d]=S(a[d],b,a,[d,a[d],a]);return c},{})},reduce:function(a){var b=Ta(a).map(function(c){return a[c]});return b.reduce.apply(b,G(arguments).slice(1))},size:function(a){return Ta(a).length}});(function(){I(p,k,function(){var a=arguments;return a.length>0&&!A(a[0])},"map,every,all,some,any,none,filter",function(a,b){a[b]=function(c){return this[b](function(d,e){return b==="map"?S(d,c,this,[d,e,this]):Ba(d,c,this,[d,e,this])})}})})();
40
+ (function(){p[Sa]="A\u00c1\u00c0\u00c2\u00c3\u0104BC\u0106\u010c\u00c7D\u010e\u00d0E\u00c9\u00c8\u011a\u00ca\u00cb\u0118FG\u011eH\u0131I\u00cd\u00cc\u0130\u00ce\u00cfJKL\u0141MN\u0143\u0147\u00d1O\u00d3\u00d2\u00d4PQR\u0158S\u015a\u0160\u015eT\u0164U\u00da\u00d9\u016e\u00db\u00dcVWXY\u00ddZ\u0179\u017b\u017d\u00de\u00c6\u0152\u00d8\u00d5\u00c5\u00c4\u00d6".split("").map(function(b){return b+b.toLowerCase()}).join("");var a={};T("A\u00c1\u00c0\u00c2\u00c3\u00c4,C\u00c7,E\u00c9\u00c8\u00ca\u00cb,I\u00cd\u00cc\u0130\u00ce\u00cf,O\u00d3\u00d2\u00d4\u00d5\u00d6,S\u00df,U\u00da\u00d9\u00db\u00dc".split(","),
41
+ function(b){var c=b.charAt(0);T(b.slice(1).split(""),function(d){a[d]=c;a[d.toLowerCase()]=c.toLowerCase()})});p[Na]=k;p[Qa]=a})();Ua("each,any,all,none,count,find,findAll,isEmpty");Ua("sum,average,min,max,least,most",k);wa("map,reduce,size",M);
42
+ var U,Va,Wa=["ampm","hour","minute","second","ampm","utc","offset_sign","offset_hours","offset_minutes","ampm"],Xa="({t})?\\s*(\\d{1,2}(?:[,.]\\d+)?)(?:{h}(\\d{1,2}(?:[,.]\\d+)?)?{m}(?::?(\\d{1,2}(?:[,.]\\d+)?){s})?\\s*(?:({t})|(Z)|(?:([+-])(\\d{2,2})(?::?(\\d{2,2}))?)?)?|\\s*({t}))",Ya={},Za,$a,ab,bb=[],cb=[{ba:"f{1,4}|ms|milliseconds",format:function(a){return V(a,"Milliseconds")}},{ba:"ss?|seconds",format:function(a){return V(a,"Seconds")}},{ba:"mm?|minutes",format:function(a){return V(a,"Minutes")}},
43
+ {ba:"hh?|hours|12hr",format:function(a){a=V(a,"Hours");return a===0?12:a-oa(a/13)*12}},{ba:"HH?|24hr",format:function(a){return V(a,"Hours")}},{ba:"dd?|date|day",format:function(a){return V(a,"Date")}},{ba:"dow|weekday",la:k,format:function(a,b,c){a=V(a,"Day");return b.weekdays[a+(c-1)*7]}},{ba:"MM?",format:function(a){return V(a,"Month")+1}},{ba:"mon|month",la:k,format:function(a,b,c){a=V(a,"Month");return b.months[a+(c-1)*12]}},{ba:"y{2,4}|year",format:function(a){return V(a,"FullYear")}},{ba:"[Tt]{1,2}",
44
+ format:function(a,b,c,d){a=V(a,"Hours");b=b.ampm[oa(a/12)];if(d.length===1)b=b.slice(0,1);if(d.slice(0,1)==="T")b=b.toUpperCase();return b}},{ba:"z{1,4}|tz|timezone",text:k,format:function(a,b,c,d){a=a.getUTCOffset();if(d=="z"||d=="zz")a=a.replace(/(\d{2})(\d{2})/,function(e,f){return P(f,d.length)});return a}},{ba:"iso(tz|timezone)",format:function(a){return a.getUTCOffset(k)}},{ba:"ord",format:function(a){a=V(a,"Date");return a+qa(a)}}],db=[{$:"year",method:"FullYear",ja:k,da:function(a){return(365+
45
+ (a?a.isLeapYear()?1:0:0.25))*24*60*60*1E3}},{$:"month",method:"Month",ja:k,da:function(a,b){var c=30.4375,d;if(a){d=a.daysInMonth();if(b<=d.days())c=d}return c*24*60*60*1E3}},{$:"week",method:"Week",da:aa(6048E5)},{$:"day",method:"Date",ja:k,da:aa(864E5)},{$:"hour",method:"Hours",da:aa(36E5)},{$:"minute",method:"Minutes",da:aa(6E4)},{$:"second",method:"Seconds",da:aa(1E3)},{$:"millisecond",method:"Milliseconds",da:aa(1)}],eb={};function fb(a){na(this,a);this.ga=bb.concat()}
46
+ fb.prototype={getMonth:function(a){return B(a)?a-1:this.months.indexOf(a)%12},getWeekday:function(a){return this.weekdays.indexOf(a)%7},oa:function(a){var b;return B(a)?a:a&&(b=this.numbers.indexOf(a))!==-1?(b+1)%10:1},ta:function(a){var b=this;return a.replace(q(this.num,"g"),function(c){return b.oa(c)||""})},ra:function(a){return U.units[this.units.indexOf(a)%8]},Aa:function(a){return this.na(a,a[2]>0?"future":"past")},qa:function(a){return this.na(gb(a),"duration")},ua:function(a){a=a||this.code;
47
+ return a==="en"||a==="en-US"?k:this.variant},xa:function(a){return a===this.ampm[0]},ya:function(a){return a===this.ampm[1]},na:function(a,b){var c=a[0],d=a[1],e=a[2],f,g,j;if(this.code=="ru"){j=c.toString().slice(-1);switch(k){case j==1:j=1;break;case j>=2&&j<=4:j=2;break;default:j=3}}else j=this.plural&&c>1?1:0;g=this.units[j*8+d]||this.units[d];if(this.capitalizeUnit)g=hb(g);f=this.modifiers.filter(function(i){return i.name=="sign"&&i.value==(e>0?1:-1)})[0];return this[b].replace(/\{(.*?)\}/g,
48
+ function(i,h){switch(h){case "num":return c;case "unit":return g;case "sign":return f.src}})},sa:function(){return this.ma?[this.ma].concat(this.ga):this.ga},addFormat:function(a,b,c,d,e){var f=c||[],g=this,j;a=a.replace(/\s+/g,"[-,. ]*");a=a.replace(/\{([^,]+?)\}/g,function(i,h){var n=h.match(/\?$/),r=h.match(/(\d)(?:-(\d))?/),y=h.match(/^\d+$/),z=h.replace(/[^a-z]+$/,""),C,da;if(y)C=g.optionals[y[0]];else if(g[z])C=g[z];else if(g[z+"s"]){C=g[z+"s"];if(r){da=[];C.forEach(function(ea,Da){var Q=Da%
49
+ (g.units?8:C.length);if(Q>=r[1]&&Q<=(r[2]||r[1]))da.push(ea)});C=da}C=ib(C)}if(y)return"(?:"+C+")?";else{c||f.push(z);return"("+C+")"+(n?"?":"")}});if(b){b=jb(Xa,g,e);e=["t","[\\s\\u3000]"].concat(g.timeMarker);j=a.match(/\\d\{\d,\d\}\)+\??$/);kb(g,"(?:"+b+")[,\\s\\u3000]+?"+a,Wa.concat(f),d);kb(g,a+"(?:[,\\s]*(?:"+e.join("|")+(j?"+":"*")+")"+b+")?",f.concat(Wa),d)}else kb(g,a,f,d)}};
50
+ function lb(a,b){var c;D(a)||(a="");c=eb[a]||eb[a.slice(0,2)];if(b===m&&!c)throw Error("Invalid locale.");return c||Va}
51
+ function mb(a,b){function c(i){var h=g[i];if(D(h))g[i]=h.split(",");else h||(g[i]=[])}function d(i,h){i=i.split("+").map(function(n){return n.replace(/(.+):(.+)$/,function(r,y,z){return z.split("|").map(function(C){return y+C}).join("|")})}).join("|");return i.split("|").forEach(h)}function e(i,h,n){var r=[];g[i].forEach(function(y,z){if(h)y+="+"+y.slice(0,3);d(y,function(C,da){r[da*n+z]=C.toLowerCase()})});g[i]=r}function f(i,h,n){i="\\d{"+i+","+h+"}";if(n)i+="|(?:"+ib(g.numbers)+")+";return i}var g,
52
+ j;g=new fb(b);c("modifiers");"months,weekdays,units,numbers,articles,optionals,timeMarker,ampm,timeSuffixes,dateParse,timeParse".split(",").forEach(c);j=!g.monthSuffix;e("months",j,12);e("weekdays",j,7);e("units",m,8);e("numbers",m,10);g.code=a;g.date=f(1,2,g.digitDate);g.year=f(4,4);g.num=function(){var i=["\\d+"].concat(g.articles);if(g.numbers)i=i.concat(g.numbers);return ib(i)}();(function(){var i=[];g.ha={};g.modifiers.forEach(function(h){var n=h.name;d(h.src,function(r){var y=g[n];g.ha[r]=h;
53
+ i.push({name:n,src:r,value:h.value});g[n]=y?y+"|"+r:r})});g.day+="|"+ib(g.weekdays);g.modifiers=i})();if(g.monthSuffix){g.month=f(1,2);g.months=N(1,12).map(function(i){return i+g.monthSuffix})}g.full_month=f(1,2)+"|"+ib(g.months);g.timeSuffixes.length>0&&g.addFormat(jb(Xa,g),m,Wa);g.addFormat("{day}",k);g.addFormat("{month}"+(g.monthSuffix||""));g.addFormat("{year}"+(g.yearSuffix||""));g.timeParse.forEach(function(i){g.addFormat(i,k)});g.dateParse.forEach(function(i){g.addFormat(i)});return eb[a]=
54
+ g}function kb(a,b,c,d){a.ga.unshift({Ba:d,wa:a,za:q("^"+b+"$","i"),to:c})}function hb(a){return a.slice(0,1).toUpperCase()+a.slice(1)}function ib(a){return a.filter(function(b){return!!b}).join("|")}function nb(a,b){var c;if(L(a[0]))return a;else if(B(a[0])&&!B(a[1]))return[a[0]];else if(D(a[0])&&b)return[ob(a[0]),a[1]];c={};$a.forEach(function(d,e){c[d.$]=a[e]});return[c]}
55
+ function ob(a,b){var c={};if(match=a.match(/^(\d+)?\s?(\w+?)s?$/i)){if(K(b))b=parseInt(match[1])||1;c[match[2].toLowerCase()]=b}return c}function pb(a,b){var c={},d,e;b.forEach(function(f,g){d=a[g+1];if(!(K(d)||d==="")){if(f==="year")c.Ca=d;e=parseFloat(d.replace(/,/,"."));c[f]=!isNaN(e)?e:d.toLowerCase()}});return c}function qb(a){a=a.trim().replace(/^(just )?now|\.+$/i,"");return rb(a)}
56
+ function rb(a){return a.replace(Za,function(b,c,d){var e=0,f=1,g,j;if(c)return b;d.split("").reverse().forEach(function(i){i=Ya[i];var h=i>9;if(h){if(g)e+=f;f*=i/(j||1);j=i}else{if(g===m)f*=10;e+=f*i}g=h});if(g)e+=f;return e})}
57
+ function sb(a,b,c,d){var e=new s,f=m,g,j,i,h,n,r,y,z,C;e.utc(d);if(ha(a))e=a.clone();else if(B(a))e=new s(a);else if(L(a)){e.set(a,k);h=a}else if(D(a)){g=lb(b);a=qb(a);g&&H(g.sa(),function(da,ea){var Da=a.match(ea.za);if(Da){i=ea;j=i.wa;h=pb(Da,i.to,j);h.utc&&e.utc();j.ma=i;if(h.timestamp){h=h.timestamp;return m}if(i.Ba&&!D(h.month)&&(D(h.date)||g.ua(b))){z=h.month;h.month=h.date;h.date=z}if(h.year&&h.Ca.length===2)h.year=O(V(new s,"FullYear")/100)*100-O(h.year/100)*100+h.year;if(h.month){h.month=
58
+ j.getMonth(h.month);if(h.shift&&!h.unit)h.unit=j.units[7]}if(h.weekday&&h.date)delete h.weekday;else if(h.weekday){h.weekday=j.getWeekday(h.weekday);if(h.shift&&!h.unit)h.unit=j.units[5]}if(h.day&&(z=j.ha[h.day])){h.day=z.value;e.reset();f=k}else if(h.day&&(r=j.getWeekday(h.day))>-1){delete h.day;if(h.num&&h.month){C=function(){var Q=e.getWeekday();e.setWeekday(7*(h.num-1)+(Q>r?r+7:r))};h.day=1}else h.weekday=r}if(h.date&&!B(h.date))h.date=j.ta(h.date);if(j.ya(h.ampm)&&h.hour<12)h.hour+=12;else if(j.xa(h.ampm)&&
59
+ h.hour===12)h.hour=0;if("offset_hours"in h||"offset_minutes"in h){e.utc();h.offset_minutes=h.offset_minutes||0;h.offset_minutes+=h.offset_hours*60;if(h.offset_sign==="-")h.offset_minutes*=-1;h.minute-=h.offset_minutes}if(h.unit){f=k;y=j.oa(h.num);n=j.ra(h.unit);if(h.shift||h.edge){y*=(z=j.ha[h.shift])?z.value:0;if(n==="month"&&J(h.date)){e.set({day:h.date},k);delete h.date}if(n==="year"&&J(h.month)){e.set({month:h.month,day:h.date},k);delete h.month;delete h.date}}if(h.sign&&(z=j.ha[h.sign]))y*=z.value;
60
+ if(J(h.weekday)){e.set({weekday:h.weekday},k);delete h.weekday}h[n]=(h[n]||0)+y}if(h.year_sign==="-")h.year*=-1;ab.slice(1,4).forEach(function(Q,Ub){var zb=h[Q.$],Ab=zb%1;if(Ab){h[ab[Ub].$]=O(Ab*(Q.$==="second"?1E3:60));h[Q.$]=oa(zb)}});return m}});if(i)if(f)e.advance(h);else{e._utc&&e.reset();tb(e,h,k,m,c)}else e=a?new s(a):new s;if(h&&h.edge){z=j.ha[h.edge];H(ab.slice(4),function(da,ea){if(J(h[ea.$])){n=ea.$;return m}});if(n==="year")h.fa="month";else if(n==="month"||n==="week")h.fa="day";e[(z.value<
61
+ 0?"endOf":"beginningOf")+hb(n)]();z.value===-2&&e.reset()}C&&C()}e.utc(m);return{ea:e,set:h}}function gb(a){var b,c=v.abs(a),d=c,e=0;ab.slice(1).forEach(function(f,g){b=oa(O(c/f.da()*10)/10);if(b>=1){d=b;e=g+1}});return[d,e,a]}
62
+ function ub(a,b,c,d){var e,f=lb(d),g=q(/^[A-Z]/);if(a.isValid())if(Date[b])b=Date[b];else{if(A(b)){e=gb(a.millisecondsFromNow());b=b.apply(a,e.concat(f))}}else return"Invalid Date";if(!b&&c){e=e||gb(a.millisecondsFromNow());if(e[1]===0){e[1]=1;e[0]=1}return f.Aa(e)}b=b||"long";b=f[b]||b;cb.forEach(function(j){b=b.replace(q("\\{("+j.ba+")(\\d)?\\}",j.la?"i":""),function(i,h,n){i=j.format(a,f,n||1,h);n=h.length;var r=h.match(/^(.)\1+$/);if(j.la){if(n===3)i=i.slice(0,3);if(r||h.match(g))i=hb(i)}else if(r&&
63
+ !j.text)i=(B(i)?P(i,n):i.toString()).slice(-n);return i})});return b}
64
+ function vb(a,b,c,d){var e=sb(b,l,l,d),f=0;d=b=0;var g;if(c>0){b=d=c;g=k}if(!e.ea.isValid())return m;if(e.set&&e.set.fa){db.forEach(function(i){if(i.$===e.set.fa)f=i.da(e.ea,a-e.ea)-1});c=hb(e.set.fa);if(e.set.edge||e.set.shift)e.ea["beginningOf"+c]();if(e.set.fa==="month")j=e.ea.clone()["endOf"+c]().getTime();if(!g&&e.set.sign&&e.set.fa!="millisecond"){b=50;d=-50}}g=a.getTime();c=e.ea.getTime();var j=j||c+f;return g>=c-b&&g<=j+d}
65
+ function tb(a,b,c,d,e){function f(i){return J(b[i])?b[i]:b[i+"s"]}var g,j;if(B(b)&&d)b={milliseconds:b};else if(B(b)){a.setTime(b);return a}if(b.date)b.day=b.date;H(ab,function(i,h){var n=h.$==="day";if(J(f(h.$))||n&&J(f("weekday"))){b.fa=h.$;j=+i;return m}else if(c&&h.$!=="week"&&(!n||!J(f("week"))))W(a,h.method,n?1:0)});db.forEach(function(i){var h=i.$;i=i.method;var n;n=f(h);if(!K(n)){if(d){if(h==="week"){n=(b.day||0)+n*7;i="Date"}n=n*d+V(a,i)}else h==="month"&&J(f("day"))&&W(a,"Date",15);W(a,
66
+ i,n);if(d&&h==="month"){h=n;if(h<0)h+=12;h%12!=V(a,"Month")&&W(a,"Date",0)}}});if(!d&&!J(f("day"))&&J(f("weekday"))){g=f("weekday");a.setWeekday(g)}(function(){var i=new s;return e===-1&&a>i||e===1&&a<i})()&&H(ab.slice(j+1),function(i,h){if((h.ja||h.$==="week"&&J(f("weekday")))&&!J(f(h.$))){a[h.ia](e);return m}});return a}function V(a,b){return a["get"+(a._utc?"UTC":"")+b]()}function W(a,b,c){return a["set"+(a._utc?"UTC":"")+b](c)}
67
+ function jb(a,b,c){var d={h:0,m:1,s:2},e;b=b||U;return a.replace(/{([a-z])}/g,function(f,g){var j=[],i=g==="h",h=i&&!c;if(g==="t")return b.ampm.join("|");else{i&&j.push(":");if(e=b.timeSuffixes[d[g]])j.push(e+"\\s*");return j.length===0?"":"(?:"+j.join("|")+")"+(h?"":"?")}})}function X(a,b,c){var d,e;if(B(a[1]))d=nb(a)[0];else{d=a[0];e=a[1]}return sb(d,e,b,c).ea}
68
+ s.extend({create:function(){return X(arguments)},past:function(){return X(arguments,-1)},future:function(){return X(arguments,1)},addLocale:function(a,b){return mb(a,b)},setLocale:function(a){var b=lb(a,m);Va=b;if(a&&a!=b.code)b.code=a;return b},getLocale:function(a){return!a?Va:lb(a,m)},addFormat:function(a,b,c){kb(lb(c),a,b)}},m,m);
69
+ s.extend({set:function(){var a=nb(arguments);return tb(this,a[0],a[1])},setWeekday:function(a){if(!K(a))return W(this,"Date",V(this,"Date")+a-V(this,"Day"))},setWeek:function(a){if(!K(a)){V(this,"Date");W(this,"Month",0);W(this,"Date",a*7+1);return this.getTime()}},getWeek:function(){var a=this;a=a.clone();var b=V(a,"Day")||7;a.addDays(4-b).reset();return 1+oa(a.daysSince(a.clone().beginningOfYear())/7)},getUTCOffset:function(a){var b=this._utc?0:this.getTimezoneOffset(),c=a===k?":":"";if(!b&&a)return"Z";
70
+ return P(O(-b/60),2,k)+c+P(b%60,2)},utc:function(a){this._utc=a===k||arguments.length===0;return this},isUTC:function(){return!!this._utc||this.getTimezoneOffset()===0},advance:function(){var a=nb(arguments,k);return tb(this,a[0],a[1],1)},rewind:function(){var a=nb(arguments,k);return tb(this,a[0],a[1],-1)},isValid:function(){return!isNaN(this.getTime())},isAfter:function(a,b){return this.getTime()>s.create(a).getTime()-(b||0)},isBefore:function(a,b){return this.getTime()<s.create(a).getTime()+(b||
71
+ 0)},isBetween:function(a,b,c){var d=this.getTime();a=s.create(a).getTime();var e=s.create(b).getTime();b=v.min(a,e);a=v.max(a,e);c=c||0;return b-c<d&&a+c>d},isLeapYear:function(){var a=V(this,"FullYear");return a%4===0&&a%100!==0||a%400===0},daysInMonth:function(){return 32-V(new s(V(this,"FullYear"),V(this,"Month"),32),"Date")},format:function(a,b){return ub(this,a,m,b)},relative:function(a,b){if(D(a)){b=a;a=l}return ub(this,a,k,b)},is:function(a,b,c){var d,e;if(this.isValid()){if(D(a)){a=a.trim().toLowerCase();
72
+ e=this.clone().utc(c);switch(k){case a==="future":return this.getTime()>(new s).getTime();case a==="past":return this.getTime()<(new s).getTime();case a==="weekday":return V(e,"Day")>0&&V(e,"Day")<6;case a==="weekend":return V(e,"Day")===0||V(e,"Day")===6;case (d=U.weekdays.indexOf(a)%7)>-1:return V(e,"Day")===d;case (d=U.months.indexOf(a)%12)>-1:return V(e,"Month")===d}}return vb(this,a,b,c)}},reset:function(a){var b={},c;a=a||"hours";if(a==="date")a="days";c=db.some(function(d){return a===d.$||
73
+ a===d.$+"s"});b[a]=a.match(/^days?/)?1:0;return c?this.set(b,k):this},clone:function(){var a=new s(this.getTime());a._utc=this._utc;return a}});s.extend({iso:function(){return this.toISOString()},getWeekday:s.prototype.getDay,getUTCWeekday:s.prototype.getUTCDay});
74
+ function wb(a,b){function c(){return O(this*b)}function d(){return X(arguments)[a.ia](this)}function e(){return X(arguments)[a.ia](-this)}var f=a.$,g={};g[f]=c;g[f+"s"]=c;g[f+"Before"]=e;g[f+"sBefore"]=e;g[f+"Ago"]=e;g[f+"sAgo"]=e;g[f+"After"]=d;g[f+"sAfter"]=d;g[f+"FromNow"]=d;g[f+"sFromNow"]=d;u.extend(g)}u.extend({duration:function(a){return lb(a).qa(this)}});
75
+ U=Va=s.addLocale("en",{plural:k,timeMarker:"at",ampm:"am,pm",months:"January,February,March,April,May,June,July,August,September,October,November,December",weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday",units:"millisecond:|s,second:|s,minute:|s,hour:|s,day:|s,week:|s,month:|s,year:|s",numbers:"one,two,three,four,five,six,seven,eight,nine,ten",articles:"a,an,the",optionals:"the,st|nd|rd|th,of","short":"{Month} {d}, {yyyy}","long":"{Month} {d}, {yyyy} {h}:{mm}{tt}",full:"{Weekday} {Month} {d}, {yyyy} {h}:{mm}:{ss}{tt}",
76
+ past:"{num} {unit} {sign}",future:"{num} {unit} {sign}",duration:"{num} {unit}",modifiers:[{name:"day",src:"yesterday",value:-1},{name:"day",src:"today",value:0},{name:"day",src:"tomorrow",value:1},{name:"sign",src:"ago|before",value:-1},{name:"sign",src:"from now|after|from|in",value:1},{name:"edge",src:"last day",value:-2},{name:"edge",src:"end",value:-1},{name:"edge",src:"first day|beginning",value:1},{name:"shift",src:"last",value:-1},{name:"shift",src:"the|this",value:0},{name:"shift",src:"next",
77
+ value:1}],dateParse:["{num} {unit} {sign}","{sign} {num} {unit}","{num} {unit=4-5} {sign} {day}","{month} {year}","{shift} {unit=5-7}","{0} {edge} of {shift?} {unit=4-7?}{month?}{year?}"],timeParse:["{0} {num}{1} {day} of {month} {year?}","{weekday?} {month} {date}{1} {year?}","{date} {month} {year}","{shift} {weekday}","{shift} week {weekday}","{weekday} {2} {shift} week","{0} {date}{1} of {month}","{0}{month?} {date?}{1} of {shift} {unit=6-7}"]});ab=db.concat().reverse();$a=db.concat();
78
+ $a.splice(2,1);
79
+ I(s,k,m,db,function(a,b,c){var d=b.$,e=hb(d),f=b.da(),g,j;b.ia="add"+e+"s";g=function(i,h){return O((this.getTime()-s.create(i,h).getTime())/f)};j=function(i,h){return O((s.create(i,h).getTime()-this.getTime())/f)};a[d+"sAgo"]=j;a[d+"sUntil"]=j;a[d+"sSince"]=g;a[d+"sFromNow"]=g;a[b.ia]=function(i,h){var n={};n[d]=i;return this.advance(n,h)};wb(b,f);c<3&&["Last","This","Next"].forEach(function(i){a["is"+i+e]=function(){return this.is(i+" "+d)}});if(c<4){a["beginningOf"+e]=function(){var i={};switch(d){case "year":i.year=
80
+ V(this,"FullYear");break;case "month":i.month=V(this,"Month");break;case "day":i.day=V(this,"Date");break;case "week":i.weekday=0}return this.set(i,k)};a["endOf"+e]=function(){var i={hours:23,minutes:59,seconds:59,milliseconds:999};switch(d){case "year":i.month=11;i.day=31;break;case "month":i.day=this.daysInMonth();break;case "week":i.weekday=6}return this.set(i,k)}}});U.addFormat("([+-])?(\\d{4,4})[-.]?{full_month}[-.]?(\\d{1,2})?",k,["year_sign","year","month","date"],m,k);
81
+ U.addFormat("(\\d{1,2})[-.\\/]{full_month}(?:[-.\\/](\\d{2,4}))?",k,["date","month","year"],k);U.addFormat("{full_month}[-.](\\d{4,4})",m,["month","year"]);U.addFormat("\\/Date\\((\\d+(?:\\+\\d{4,4})?)\\)\\/",m,["timestamp"]);U.addFormat(jb(Xa,U),m,Wa);bb=U.ga.slice(0,7).reverse();U.ga=U.ga.slice(7).concat(bb);I(s,k,m,"short,long,full",function(a,b){a[b]=function(c){return ub(this,b,m,c)}});
82
+ "\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341\u767e\u5343\u4e07".split("").forEach(function(a,b){if(b>9)b=v.pow(10,b-9);Ya[a]=b});"\uff10\uff11\uff12\uff13\uff14\uff15\uff16\uff17\uff18\uff19".split("").forEach(function(a,b){Ya[a]=b});Za=q("([\u671f\u9031\u5468])?([\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341\u767e\u5343\u4e07\uff10\uff11\uff12\uff13\uff14\uff15\uff16\uff17\uff18\uff19]+)(?!\u6628)","g");
83
+ (function(){var a="today,yesterday,tomorrow,weekday,weekend,future,past".split(","),b=U.weekdays.slice(0,7),c=U.months.slice(0,12);I(s,k,m,a.concat(b).concat(c),function(d,e){d["is"+hb(e)]=function(f){return this.is(e,0,f)}})})();(function(){s.extend({utc:{create:function(){return X(arguments,0,k)},past:function(){return X(arguments,-1,k)},future:function(){return X(arguments,1,k)}}},m,m)})();
84
+ s.extend({RFC1123:"{Dow}, {dd} {Mon} {yyyy} {HH}:{mm}:{ss} {tz}",RFC1036:"{Weekday}, {dd}-{Mon}-{yy} {HH}:{mm}:{ss} {tz}",ISO8601_DATE:"{yyyy}-{MM}-{dd}",ISO8601_DATETIME:"{yyyy}-{MM}-{dd}T{HH}:{mm}:{ss}.{fff}{isotz}"},m,m);
85
+ DateRange=function(a,b){this.start=s.create(a);this.end=s.create(b)};DateRange.prototype.toString=function(){return this.isValid()?this.start.full()+".."+this.end.full():"Invalid DateRange"};
86
+ F(DateRange,k,m,{isValid:function(){return this.start<this.end},duration:function(){return this.isValid()?this.end.getTime()-this.start.getTime():NaN},contains:function(a){var b=this;return(a.start&&a.end?[a.start,a.end]:[a]).every(function(c){return c>=b.start&&c<=b.end})},every:function(a,b){var c=this.start.clone(),d=[],e=0,f,g;if(D(a)){c.advance(ob(a,0),k);f=ob(a);g=a.toLowerCase()==="day"}else f={milliseconds:a};for(;c<=this.end;){d.push(c);b&&b(c,e);if(g&&V(c,"Hours")===23){c=c.clone();W(c,
87
+ "Hours",48)}else c=c.clone().advance(f,k);e++}return d},union:function(a){return new DateRange(this.start<a.start?this.start:a.start,this.end>a.end?this.end:a.end)},intersect:function(a){return new DateRange(this.start>a.start?this.start:a.start,this.end<a.end?this.end:a.end)}});I(DateRange,k,m,"Millisecond,Second,Minute,Hour,Day,Week,Month,Year",function(a,b){a["each"+b]=function(c){return this.every(b,c)}});F(s,m,m,{range:function(a,b){return new DateRange(a,b)}});
88
+ function xb(a,b,c,d,e){var f;if(!a.timers)a.timers=[];B(b)||(b=0);a.timers.push(setTimeout(function(){a.timers.splice(f,1);c.apply(d,e||[])},b));f=a.timers.length}
89
+ F(Function,k,m,{lazy:function(a,b){function c(){if(!(f&&e.length>b-2)){e.push([this,arguments]);g()}}var d=this,e=[],f=m,g,j,i;a=a||1;b=b||Infinity;j=O(a,void 0,"ceil");i=O(j/a);g=function(){if(!(f||e.length==0)){for(var h=v.max(e.length-i,0);e.length>h;)Function.prototype.apply.apply(d,e.shift());xb(c,j,function(){f=m;g()});f=k}};return c},delay:function(a){var b=G(arguments).slice(1);xb(this,a,this,this,b);return this},throttle:function(a){return this.lazy(a,1)},debounce:function(a){function b(){b.cancel();
90
+ xb(b,a,c,this,arguments)}var c=this;return b},cancel:function(){if(fa(this.timers))for(;this.timers.length>0;)clearTimeout(this.timers.shift());return this},after:function(a){var b=this,c=0,d=[];if(B(a)){if(a===0){b.call();return b}}else a=1;return function(){var e;d.push(G(arguments));c++;if(c==a){e=b.call(this,d);c=0;d=[];return e}}},once:function(){var a=this;return function(){return ma(a,"memo")?a.memo:a.memo=a.apply(this,arguments)}},fill:function(){var a=this,b=G(arguments);return function(){var c=
91
+ G(arguments);b.forEach(function(d,e){if(d!=l||e>=c.length)c.splice(e,0,d)});return a.apply(this,c)}}});
92
+ function yb(a,b,c,d,e,f){var g=a.toFixed(20),j=g.search(/\./);g=g.search(/[1-9]/);j=j-g;if(j>0)j-=1;e=v.max(v.min((j/3).floor(),e===m?c.length:e),-d);d=c.charAt(e+d-1);if(j<-9){e=-3;b=j.abs()-9;d=c.slice(0,1)}return(a/(f?(2).pow(10*e):(10).pow(e*3))).round(b||0).format()+d.trim()}
93
+ F(u,m,m,{random:function(a,b){var c,d;if(arguments.length==1){b=a;a=0}c=v.min(a||0,K(b)?1:b);d=v.max(a||0,K(b)?1:b);return O(v.random()*(d-c)+c)}});
94
+ F(u,k,m,{log:function(a){return v.log(this)/(a?v.log(a):1)},abbr:function(a){return yb(this,a,"kmbt",0,4)},metric:function(a,b){return yb(this,a,"n\u03bcm kMGTPE",4,K(b)?1:b)},bytes:function(a,b){return yb(this,a,"kMGTPE",0,K(b)?4:b,k)+"B"},isInteger:function(){return this%1==0},isOdd:function(){return!this.isMultipleOf(2)},isEven:function(){return this.isMultipleOf(2)},isMultipleOf:function(a){return this%a===0},format:function(a,b,c){var d,e,f=/(\d+)(\d{3})/;if(t(b).match(/\d/))throw new TypeError("Thousands separator cannot contain numbers.");
95
+ d=B(a)?O(this,a||0).toFixed(v.max(a,0)):this.toString();b=b||",";c=c||".";e=d.split(".");d=e[0];for(e=e[1]||"";d.match(f);)d=d.replace(f,"$1"+b+"$2");if(e.length>0)d+=c+pa((a||0)-e.length,"0")+e;return d},hex:function(a){return this.pad(a||1,m,16)},upto:function(a,b,c){return N(this,a,b,c||1)},downto:function(a,b,c){return N(this,a,b,-(c||1))},times:function(a){if(a)for(var b=0;b<this;b++)a.call(this,b);return this.toNumber()},chr:function(){return t.fromCharCode(this)},pad:function(a,b,c){return P(this,
96
+ a,b,c)},ordinalize:function(){var a=this.abs();a=parseInt(a.toString().slice(-2));return this+qa(a)},toNumber:function(){return parseFloat(this,10)}});I(u,k,m,"round,floor,ceil",function(a,b){a[b]=function(c){return O(this,c,b)}});I(u,k,m,"abs,pow,sin,asin,cos,acos,tan,atan,exp,pow,sqrt",function(a,b){a[b]=function(c,d){return v[b](this,c,d)}});
97
+ var Bb="isObject,isNaN".split(","),Cb="keys,values,each,merge,clone,equal,watch,tap,has".split(",");
98
+ function Db(a,b,c,d){var e=/^(.+?)(\[.*\])$/,f,g,j;if(d!==m&&(g=b.match(e))){j=g[1];b=g[2].replace(/^\[|\]$/g,"").split("][");b.forEach(function(i){f=!i||i.match(/^\d+$/);if(!j&&fa(a))j=a.length;a[j]||(a[j]=f?[]:{});a=a[j];j=i});if(!j&&f)j=a.length.toString();Db(a,j,c)}else a[b]=c.match(/^[\d.]+$/)?parseFloat(c):c==="true"?k:c==="false"?m:c}F(o,m,k,{watch:function(a,b,c){if(ca){var d=a[b];o.defineProperty(a,b,{enumerable:k,configurable:k,get:function(){return d},set:function(e){d=c.call(a,b,d,e)}})}}});
99
+ F(o,m,function(a,b){return A(b)},{keys:function(a,b){var c=o.keys(a);c.forEach(function(d){b.call(a,d,a[d])});return c}});
100
+ F(o,m,m,{isObject:function(a){return L(a)},isNaN:function(a){return B(a)&&a.valueOf()!==a.valueOf()},equal:function(a,b){return ua(a)&&ua(b)?ta(a)===ta(b):a===b},extended:function(a){return new M(a)},merge:function(a,b,c,d){var e,f;if(a&&typeof b!="string")for(e in b)if(ma(b,e)&&a){f=b[e];if(J(a[e])){if(d===m)continue;if(A(d))f=d.call(b,e,a[e],b[e])}if(c===k&&f&&la(f))if(ha(f))f=new s(f.getTime());else if(E(f))f=new q(f.source,sa(f));else{a[e]||(a[e]=p.isArray(f)?[]:{});o.merge(a[e],b[e],c,d);continue}a[e]=
101
+ f}return a},values:function(a,b){var c=[];H(a,function(d,e){c.push(e);b&&b.call(a,e)});return c},clone:function(a,b){if(!la(a))return a;if(p.isArray(a))return a.concat();var c=a instanceof M?new M:{};return o.merge(c,a,b)},fromQueryString:function(a,b){var c=o.extended();a=a&&a.toString?a.toString():"";decodeURIComponent(a.replace(/^.*?\?/,"")).split("&").forEach(function(d){d=d.split("=");d.length===2&&Db(c,d[0],d[1],b)});return c},tap:function(a,b){var c=b;A(b)||(c=function(){b&&a[b]()});c.call(a,
102
+ a);return a},has:function(a,b){return ma(a,b)}});I(o,m,m,w,function(a,b){var c="is"+b;Bb.push(c);a[c]=function(d){return o.prototype.toString.call(d)==="[object "+b+"]"}});(function(){F(o,m,function(){return arguments.length===0},{extend:function(){wa(Bb.concat(Cb),o)}})})();wa(Cb,M);
103
+ F(q,m,m,{escape:function(a){return R(a)}});
104
+ F(q,k,m,{getFlags:function(){return sa(this)},setFlags:function(a){return q(this.source,a)},addFlag:function(a){return this.setFlags(sa(this,a))},removeFlag:function(a){return this.setFlags(sa(this).replace(a,""))}});
105
+ var Eb,Fb;
106
+ F(t,k,m,{escapeRegExp:function(){return R(this)},escapeURL:function(a){return a?encodeURIComponent(this):encodeURI(this)},unescapeURL:function(a){return a?decodeURI(this):decodeURIComponent(this)},escapeHTML:function(){return this.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},unescapeHTML:function(){return this.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&")},encodeBase64:function(){return Eb(this)},decodeBase64:function(){return Fb(this)},each:function(a,b){var c,
107
+ d;if(A(a)){b=a;a=/[\s\S]/g}else if(a)if(D(a))a=q(R(a),"gi");else{if(E(a))a=q(a.source,sa(a,"g"))}else a=/[\s\S]/g;c=this.match(a)||[];if(b)for(d=0;d<c.length;d++)c[d]=b.call(this,c[d],d,c)||c[d];return c},shift:function(a){var b="";a=a||0;this.codes(function(c){b+=t.fromCharCode(c+a)});return b},codes:function(a){for(var b=[],c=0;c<this.length;c++){var d=this.charCodeAt(c);b.push(d);a&&a.call(this,d,c)}return b},chars:function(a){return this.each(a)},words:function(a){return this.trim().each(/\S+/g,
108
+ a)},lines:function(a){return this.trim().each(/^.*$/gm,a)},paragraphs:function(a){var b=this.trim().split(/[\r\n]{2,}/);return b=b.map(function(c){if(a)var d=a.call(c);return d?d:c})},startsWith:function(a,b){if(K(b))b=k;var c=E(a)?a.source.replace("^",""):R(a);return q("^"+c,b?"":"i").test(this)},endsWith:function(a,b){if(K(b))b=k;var c=E(a)?a.source.replace("$",""):R(a);return q(c+"$",b?"":"i").test(this)},isBlank:function(){return this.trim().length===0},has:function(a){return this.search(E(a)?
109
+ a:R(a))!==-1},add:function(a,b){b=K(b)?this.length:b;return this.slice(0,b)+a+this.slice(b)},remove:function(a){return this.replace(a,"")},reverse:function(){return this.split("").reverse().join("")},compact:function(){return this.trim().replace(/([\r\n\s\u3000])+/g,function(a,b){return b==="\u3000"?b:" "})},at:function(){return va(this,arguments,k)},from:function(a){return this.slice(a)},to:function(a){if(K(a))a=this.length;return this.slice(0,a)},dasherize:function(){return this.underscore().replace(/_/g,
110
+ "-")},underscore:function(){return this.replace(/[-\s]+/g,"_").replace(t.Inflector&&t.Inflector.acronymRegExp,function(a,b){return(b>0?"_":"")+a.toLowerCase()}).replace(/([A-Z\d]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").toLowerCase()},camelize:function(a){return this.underscore().replace(/(^|_)([^_]+)/g,function(b,c,d,e){b=d;b=(c=t.Inflector)&&c.acronyms[b];b=D(b)?b:void 0;e=a!==m||e>0;if(b)return e?b:b.toLowerCase();return e?d.capitalize():d})},spacify:function(){return this.underscore().replace(/_/g,
111
+ " ")},stripTags:function(){var a=this;G(arguments.length>0?arguments:[""],function(b){a=a.replace(q("</?"+R(b)+"[^<>]*>","gi"),"")});return a},removeTags:function(){var a=this;G(arguments.length>0?arguments:["\\S+"],function(b){b=q("<("+b+")[^<>]*(?:\\/>|>.*?<\\/\\1>)","gi");a=a.replace(b,"")});return a},truncate:function(a,b,c,d){var e="",f="",g=this.toString(),j="["+ra()+"]+",i="[^"+ra()+"]*",h=q(j+i+"$");d=K(d)?"...":t(d);if(g.length<=a)return g;switch(c){case "left":a=g.length-a;e=d;g=g.slice(a);
112
+ h=q("^"+i+j);break;case "middle":a=oa(a/2);f=d+g.slice(g.length-a).trimLeft();g=g.slice(0,a);break;default:a=a;f=d;g=g.slice(0,a)}if(b===m&&this.slice(a,a+1).match(/\S/))g=g.remove(h);return e+g+f},pad:function(a,b){return pa(b,a)+this+pa(b,a)},padLeft:function(a,b){return pa(b,a)+this},padRight:function(a,b){return this+pa(b,a)},first:function(a){if(K(a))a=1;return this.substr(0,a)},last:function(a){if(K(a))a=1;return this.substr(this.length-a<0?0:this.length-a)},repeat:function(a){var b="",c=0;
113
+ if(B(a)&&a>0)for(;c<a;){b+=this;c++}return b},toNumber:function(a){var b=this.replace(/,/g,"");return b.match(/\./)?parseFloat(b):parseInt(b,a||10)},capitalize:function(a){var b;return this.toLowerCase().replace(a?/[\s\S]/g:/^\S/,function(c){var d=c.toUpperCase(),e;e=b?c:d;b=d!==c;return e})},assign:function(){var a={};G(arguments,function(b,c){if(L(b))na(a,b);else a[c+1]=b});return this.replace(/\{([^{]+?)\}/g,function(b,c){return ma(a,c)?a[c]:b})},namespace:function(a){a=a||ba;H(this.split("."),
114
+ function(b,c){return!!(a=a[c])});return a}});F(t,k,m,{insert:t.prototype.add});
115
+ (function(a){if(this.btoa){Eb=this.btoa;Fb=this.atob}else{var b=/[^A-Za-z0-9\+\/\=]/g;Eb=function(c){var d="",e,f,g,j,i,h,n=0;do{e=c.charCodeAt(n++);f=c.charCodeAt(n++);g=c.charCodeAt(n++);j=e>>2;e=(e&3)<<4|f>>4;i=(f&15)<<2|g>>6;h=g&63;if(isNaN(f))i=h=64;else if(isNaN(g))h=64;d=d+a.charAt(j)+a.charAt(e)+a.charAt(i)+a.charAt(h)}while(n<c.length);return d};Fb=function(c){var d="",e,f,g,j,i,h=0;if(c.match(b))throw Error("String contains invalid base64 characters");c=c.replace(/[^A-Za-z0-9\+\/\=]/g,"");
116
+ do{e=a.indexOf(c.charAt(h++));f=a.indexOf(c.charAt(h++));j=a.indexOf(c.charAt(h++));i=a.indexOf(c.charAt(h++));e=e<<2|f>>4;f=(f&15)<<4|j>>2;g=(j&3)<<6|i;d+=t.fromCharCode(e);if(j!=64)d+=t.fromCharCode(f);if(i!=64)d+=t.fromCharCode(g)}while(h<c.length);return d}}})("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=");})();