Mini Kabibi Habibi

Current Path : C:/Program Files (x86)/DevExpress/DXperience 13.1/Bin/Framework/
Upload File :
Current File : C:/Program Files (x86)/DevExpress/DXperience 13.1/Bin/Framework/DevExpress.Dashboard.v13.1.Web.dll

MZ����@���	�!�L�!This program cannot be run in DOS mode.

$PELC�Q�!�!��! " @"��"@�h�!S"(�!� "0�!  H.text��! �! `.rsrc("�!@@.reloc "�!@B��!H��!�w	�:�F!P �q�iш�>%�]ɫ�KF���?�IZE���n�ՅT#�g�q��U�`�k#I6�xC
�V��r��g`���C�hpxJIZ�F�)#T�Ƅ'DԀ��h�E�qYN�%_t-��今�c0){
(
t|(+
3�*0){
(!
t|(+
3�*0){
(
t|(+
3�*0){
(!
t|(+
3�*0){
(
t|(+
3�*0){
(!
t|(+
3�*0){
(
t|(+
3�*0){
(!
t|(+
3�*Z{,
{o"
*Z{,
{o#
*Z{,
{o$
*Z{,
{o%
*(&
*2{�*2{�*2{�*2{�E*2{�F*0�

{:�s(
}{rp-
�#s(
s0o)
{rp-
�$s(s0o)
{r+p-
�%s(s0o)
{r?p	-
�&s(
	s0o)
{rWp-�'s(s0o)
{*2(o*
*{*r{.}ryp(*{*r{.}r�p(*{*r{.}r�p(*{*r{.}r�p(*{*r{.}r�p(*0){
(
t|(+
3�*0){
(!
t|(+
3�*b{(
t}*b{(!
t}*�}}"�?}}(+
*n{,{s,
o-
*J(o.
o,*^(o.
o.o)*�r�p{�{�(/
*{*"}*{*"}*V(+
(-(/*rp*rAp*"(3
*2s:(3*0�6s4
s5

(6
*s4*2(7
o8
*(6*�r�po9
rpo9
r�po9
*(:
*{*"}*{ *"} *:(;
(<*{!*"}!*>(<
(E*{"*"}"*B(=
(L*{#*"}#*>(>
(S*2(Zo*
*(\*2{G�Q*2(d�Q*2(f�Q*{E*0�

{I:�s(
}I{Ir�	p-
��s(
s0o)
{Ir�	p-
��s(s0o)
{Ir�	p-
��s(s0o)
{Ir�	p	-
��s(
	s0o)
{Ir�	p-��s(s0o)
{I*~?*�(`(C
-(`*(^(C
-oD
-(^(E
*(^**{F*Fr
p~F
(G
*�(^(H
,r
p~F
(I
oJ
*Fr.
p~F
(G
*�(`(H
,r.
p~F
(I
oJ
*{G*0G{G.=}G{G,(#Y@(K
oL
#Y@(K
oM
oJ
*6rF
p(N
*^(d.
rF
p(O
*6rp
p(N
*^(f.
rp
p(O
*{E*(P
*"(Q
*6r�
p(N
*^(k.
r�
p(O
*^r�
p�(R
�*�(m.r�
p��(S
*(T
*"(U
*J(V
~@oW
*J(V
~@oX
*J(V
~AoW
*J(V
~AoX
*J(V
~BoW
*J(V
~BoX
*J(V
~CoW
*J(V
~CoX
*6oY
(Z
*0
s}E([
�(\
(]
  (^
oL
 X(^
oM
(_

o`
}D(a
,.ob
oc
,�sd
}D{Doe
�&�~?,X~?�~sf
o~?�sg
o~?��sh
o~?��si
o{E	-
��sj

	o
*l�0f~?,X~?�~sf
o~?�sg
o~?��sh
o~?��si
o(k
*J(Zo.
o,*^(Zo.
o.o)*^(C
-
(\(l
**0o	om
(}-*om
(`(l
,:(V
~@on
t
,3om
s?oAo=oo
*om
o�oo
*0O
om
(}-*(V
~Aon
t
,&om
op
sFoHoq
or
*0Uom
(}-*(V
~Bon
t
,,om
os
ot
sMoOou
ov
*0Oom
(}-*(V
~Con
t
,&om
ow
sToVox
oy
*0F
(z
,:s{

s|
jo}
&o~
�,o
�,o
�&�**(+
$5
7?
*
*
*
*
*
*
*r�
p*�(�
rp(�
(/
o�
&*0�(�
(k,�(\
rDp(�
�(\
r�p(�
�(\
rKp(�
�(\
r�p(�
�(\
rN
p(�
�
(\
r�
p(�
�(\
r p(�
*0^o�
�(\
r�p(�
(mE
+r�p
+r@p
+r�p
o�
�(\
(�
*0r�po�
tH
%
9�
r�p(l
-5
r�p(l
-]
r�p(l
:
r�p(l
:=8�r.
po�
tHrpo�
(�
([o�
}F*r po�
tH
rpo�
(�
r4po�
t!s�
rJpo�
tHo�
�m(\
r\po�
tH(�
�mo�
rrpo�
o�
r�po�
tno�
o�
([	o�
}F*r po�
tHrpo�
(�
([o�
}F*r po�
tH	r�po�
t!

(�s�
([	o�
}Fo�
o�
{F(��,o
�}F*�3�J(�
t!(�*0s�

�p(\
r�po�
tH(�
�po�
�$(\
r�po�
tH(�
�$s�
o�
r�po�
t!
r�po�
t!	r�po�
t!"�s"rpo�
(�
(�
"r po�
(�
(�
"o�
	r.po�
,
(�
o�
	rFpo�
tno�
%8�%o�
t!		r\po�
tH
	rpo�
(�
	r po�
(�
	rfpo�
t!

rxpo�
(�

r�po�
(�
	r�po�
,	(�
Y	r�po�
t!9�rxpo�
,rxpo�
(�
r�po�
,r�po�
(�
r�po�
,r�po�
tno�
r�po�
,r�po�
tno�
r�po�
�Qr�po�
�Qr�po�
,r�po�
(�
	rpo�
t!,&r po�
(�
rpo�
(�
s�
s�
  o�
 Xo�
 o�
 o�
 o�
s�
!!o�
!o�
!o�
!o�
!o�
,(�o�
,(�o�
s�
o�
o�
rp�vo�
o�
rRp�wo�

o�
%o�
:����%uf&&,&o
�s�
##o�
#s�
o�
#s�
o�
#s�
$$�(\
rpo�
tH(�
�o�
$rpo�
tHr�p(l
o�
$�{(\
r+po�
tH(�
�{o�
$r?po�
(�
ko�
$rWpo�
(�
o�
$o�
#o�
*A�00s�
o�
o�

,	o�
+ll[o�
*0�,r�p+r�p
,r�p+r�pr�pjo}
&o�
,?jo�
s�

	o�
o�
	o�
o�
	o�
r�p
r�pr�po�
(�
*"(�*"(�*Zrp{F(�
(�
*0�(�

o�
,1o�
,)o�
#"@4o�
(7s�
o�
+coD
,[(\(C
-6(`(H
,>o�(C
,.o�
(7s�
o�
+o�
(7s�
o�
(�
}Ho�
{Ho�
*r{H,
{H(�
(�
*.�(\
*�s
�?s+
�@s+
�As+
�Bs+
�C*(+
**!�*(�
*0o(+
Џ(\
o�
rpo�
&А(\
o�
rpo�
&Б(\
o�
rpo�
&В(\
o�
rpo�
&*�����lSystem.Resources.ResourceReader, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetPADPADP��Қ��j�*�Y��TDashboardWebStringId.DashboardNotSpecifiedZDashboardWebStringId.DashboardXmlFileNotExist�PDashboardWebStringId.IncompatibleBrowserC�The dashboard to be displayed in this viewer is not specified.<br/><br/>To specify it, do one of the following:<br/>-- Assign the path to the dashboard XML file to the ASPxDashboardViewer.DashboardXmlFile property.<br/>-- Provide a dashboard at runtime. To do this, introduce a unique dashboard identifier and assign it to the ASPxDashboardViewer.DashboardId property. Then handle the ASPxDashboardViewer.DashboardLoading event to supply the dashboard XML description.�The file at the path assigned to the ASPxDashboardViewer.DashboardXmlFile property does not exist.<br/><br/>Please verify the file path or provide a dashboard at runtime. To do this, assign a unique identifier to the ASPxDashboardViewer.DashboardId property and provide the dashboard XML description when handling the ASPxDashboardViewer.DashboardLoading event.�Dashboard Viewer: The current browser version is not supported.<br/><br/>Currently, the following browsers are supported: Internet Explorer 9, Chrome, Safari, FireFox, Opera, Android 3+.��/*!
 * Globalize
 *
 * http://github.com/jquery/globalize
 *
 * Copyright Software Freedom Conservancy, Inc.
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 */

(function( window, undefined ) {

var Globalize,
	// private variables
	regexHex,
	regexInfinity,
	regexParseFloat,
	regexTrim,
	// private JavaScript utility functions
	arrayIndexOf,
	endsWith,
	extend,
	isArray,
	isFunction,
	isObject,
	startsWith,
	trim,
	truncate,
	zeroPad,
	// private Globalization utility functions
	appendPreOrPostMatch,
	expandFormat,
	formatDate,
	formatNumber,
	getTokenRegExp,
	getEra,
	getEraYear,
	parseExact,
	parseNegativePattern;

// Global variable (Globalize) or CommonJS module (globalize)
Globalize = function( cultureSelector ) {
	return new Globalize.prototype.init( cultureSelector );
};

if ( typeof require !== "undefined" &&
	typeof exports !== "undefined" &&
	typeof module !== "undefined" ) {
	// Assume CommonJS
	module.exports = Globalize;
} else {
	// Export as global variable
	window.Globalize = Globalize;
}

Globalize.cultures = {};

Globalize.prototype = {
	constructor: Globalize,
	init: function( cultureSelector ) {
		this.cultures = Globalize.cultures;
		this.cultureSelector = cultureSelector;

		return this;
	}
};
Globalize.prototype.init.prototype = Globalize.prototype;

// 1. When defining a culture, all fields are required except the ones stated as optional.
// 2. Each culture should have a ".calendars" object with at least one calendar named "standard"
//    which serves as the default calendar in use by that culture.
// 3. Each culture should have a ".calendar" object which is the current calendar being used,
//    it may be dynamically changed at any time to one of the calendars in ".calendars".
Globalize.cultures[ "default" ] = {
	// A unique name for the culture in the form <language code>-<country/region code>
	name: "en",
	// the name of the culture in the english language
	englishName: "English",
	// the name of the culture in its own language
	nativeName: "English",
	// whether the culture uses right-to-left text
	isRTL: false,
	// "language" is used for so-called "specific" cultures.
	// For example, the culture "es-CL" means "Spanish, in Chili".
	// It represents the Spanish-speaking culture as it is in Chili,
	// which might have different formatting rules or even translations
	// than Spanish in Spain. A "neutral" culture is one that is not
	// specific to a region. For example, the culture "es" is the generic
	// Spanish culture, which may be a more generalized version of the language
	// that may or may not be what a specific culture expects.
	// For a specific culture like "es-CL", the "language" field refers to the
	// neutral, generic culture information for the language it is using.
	// This is not always a simple matter of the string before the dash.
	// For example, the "zh-Hans" culture is netural (Simplified Chinese).
	// And the "zh-SG" culture is Simplified Chinese in Singapore, whose lanugage
	// field is "zh-CHS", not "zh".
	// This field should be used to navigate from a specific culture to it's
	// more general, neutral culture. If a culture is already as general as it
	// can get, the language may refer to itself.
	language: "en",
	// numberFormat defines general number formatting rules, like the digits in
	// each grouping, the group separator, and how negative numbers are displayed.
	numberFormat: {
		// [negativePattern]
		// Note, numberFormat.pattern has no "positivePattern" unlike percent and currency,
		// but is still defined as an array for consistency with them.
		//   negativePattern: one of "(n)|-n|- n|n-|n -"
		pattern: [ "-n" ],
		// number of decimal places normally shown
		decimals: 2,
		// string that separates number groups, as in 1,000,000
		",": ",",
		// string that separates a number from the fractional portion, as in 1.99
		".": ".",
		// array of numbers indicating the size of each number group.
		// TODO: more detailed description and example
		groupSizes: [ 3 ],
		// symbol used for positive numbers
		"+": "+",
		// symbol used for negative numbers
		"-": "-",
		// symbol used for NaN (Not-A-Number)
		"NaN": "NaN",
		// symbol used for Negative Infinity
		negativeInfinity: "-Infinity",
		// symbol used for Positive Infinity
		positiveInfinity: "Infinity",
		percent: {
			// [negativePattern, positivePattern]
			//   negativePattern: one of "-n %|-n%|-%n|%-n|%n-|n-%|n%-|-% n|n %-|% n-|% -n|n- %"
			//   positivePattern: one of "n %|n%|%n|% n"
			pattern: [ "-n %", "n %" ],
			// number of decimal places normally shown
			decimals: 2,
			// array of numbers indicating the size of each number group.
			// TODO: more detailed description and example
			groupSizes: [ 3 ],
			// string that separates number groups, as in 1,000,000
			",": ",",
			// string that separates a number from the fractional portion, as in 1.99
			".": ".",
			// symbol used to represent a percentage
			symbol: "%"
		},
		currency: {
			// [negativePattern, positivePattern]
			//   negativePattern: one of "($n)|-$n|$-n|$n-|(n$)|-n$|n-$|n$-|-n $|-$ n|n $-|$ n-|$ -n|n- $|($ n)|(n $)"
			//   positivePattern: one of "$n|n$|$ n|n $"
			pattern: [ "($n)", "$n" ],
			// number of decimal places normally shown
			decimals: 2,
			// array of numbers indicating the size of each number group.
			// TODO: more detailed description and example
			groupSizes: [ 3 ],
			// string that separates number groups, as in 1,000,000
			",": ",",
			// string that separates a number from the fractional portion, as in 1.99
			".": ".",
			// symbol used to represent currency
			symbol: "$"
		}
	},
	// calendars defines all the possible calendars used by this culture.
	// There should be at least one defined with name "standard", and is the default
	// calendar used by the culture.
	// A calendar contains information about how dates are formatted, information about
	// the calendar's eras, a standard set of the date formats,
	// translations for day and month names, and if the calendar is not based on the Gregorian
	// calendar, conversion functions to and from the Gregorian calendar.
	calendars: {
		standard: {
			// name that identifies the type of calendar this is
			name: "Gregorian_USEnglish",
			// separator of parts of a date (e.g. "/" in 11/05/1955)
			"/": "/",
			// separator of parts of a time (e.g. ":" in 05:44 PM)
			":": ":",
			// the first day of the week (0 = Sunday, 1 = Monday, etc)
			firstDay: 0,
			days: {
				// full day names
				names: [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ],
				// abbreviated day names
				namesAbbr: [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ],
				// shortest day names
				namesShort: [ "Su", "Mo", "Tu", "We", "Th", "Fr", "Sa" ]
			},
			months: {
				// full month names (13 months for lunar calendards -- 13th month should be "" if not lunar)
				names: [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", "" ],
				// abbreviated month names
				namesAbbr: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "" ]
			},
			// AM and PM designators in one of these forms:
			// The usual view, and the upper and lower case versions
			//   [ standard, lowercase, uppercase ]
			// The culture does not use AM or PM (likely all standard date formats use 24 hour time)
			//   null
			AM: [ "AM", "am", "AM" ],
			PM: [ "PM", "pm", "PM" ],
			eras: [
				// eras in reverse chronological order.
				// name: the name of the era in this culture (e.g. A.D., C.E.)
				// start: when the era starts in ticks (gregorian, gmt), null if it is the earliest supported era.
				// offset: offset in years from gregorian calendar
				{
					"name": "A.D.",
					"start": null,
					"offset": 0
				}
			],
			// when a two digit year is given, it will never be parsed as a four digit
			// year greater than this year (in the appropriate era for the culture)
			// Set it as a full year (e.g. 2029) or use an offset format starting from
			// the current year: "+19" would correspond to 2029 if the current year 2010.
			twoDigitYearMax: 2029,
			// set of predefined date and time patterns used by the culture
			// these represent the format someone in this culture would expect
			// to see given the portions of the date that are shown.
			patterns: {
				// short date pattern
				d: "M/d/yyyy",
				// long date pattern
				D: "dddd, MMMM dd, yyyy",
				// short time pattern
				t: "h:mm tt",
				// long time pattern
				T: "h:mm:ss tt",
				// long date, short time pattern
				f: "dddd, MMMM dd, yyyy h:mm tt",
				// long date, long time pattern
				F: "dddd, MMMM dd, yyyy h:mm:ss tt",
				// month/day pattern
				M: "MMMM dd",
				// month/year pattern
				Y: "yyyy MMMM",
				// S is a sortable format that does not vary by culture
				S: "yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss"
			}
			// optional fields for each calendar:
			/*
			monthsGenitive:
				Same as months but used when the day preceeds the month.
				Omit if the culture has no genitive distinction in month names.
				For an explaination of genitive months, see http://blogs.msdn.com/michkap/archive/2004/12/25/332259.aspx
			convert:
				Allows for the support of non-gregorian based calendars. This convert object is used to
				to convert a date to and from a gregorian calendar date to handle parsing and formatting.
				The two functions:
					fromGregorian( date )
						Given the date as a parameter, return an array with parts [ year, month, day ]
						corresponding to the non-gregorian based year, month, and day for the calendar.
					toGregorian( year, month, day )
						Given the non-gregorian year, month, and day, return a new Date() object
						set to the corresponding date in the gregorian calendar.
			*/
		}
	},
	// For localized strings
	messages: {}
};

Globalize.cultures[ "default" ].calendar = Globalize.cultures[ "default" ].calendars.standard;

Globalize.cultures.en = Globalize.cultures[ "default" ];

Globalize.cultureSelector = "en";

//
// private variables
//

regexHex = /^0x[a-f0-9]+$/i;
regexInfinity = /^[+\-]?infinity$/i;
regexParseFloat = /^[+\-]?\d*\.?\d*(e[+\-]?\d+)?$/;
regexTrim = /^\s+|\s+$/g;

//
// private JavaScript utility functions
//

arrayIndexOf = function( array, item ) {
	if ( array.indexOf ) {
		return array.indexOf( item );
	}
	for ( var i = 0, length = array.length; i < length; i++ ) {
		if ( array[i] === item ) {
			return i;
		}
	}
	return -1;
};

endsWith = function( value, pattern ) {
	return value.substr( value.length - pattern.length ) === pattern;
};

extend = function() {
	var options, name, src, copy, copyIsArray, clone,
		target = arguments[0] || {},
		i = 1,
		length = arguments.length,
		deep = false;

	// Handle a deep copy situation
	if ( typeof target === "boolean" ) {
		deep = target;
		target = arguments[1] || {};
		// skip the boolean and the target
		i = 2;
	}

	// Handle case when target is a string or something (possible in deep copy)
	if ( typeof target !== "object" && !isFunction(target) ) {
		target = {};
	}

	for ( ; i < length; i++ ) {
		// Only deal with non-null/undefined values
		if ( (options = arguments[ i ]) != null ) {
			// Extend the base object
			for ( name in options ) {
				src = target[ name ];
				copy = options[ name ];

				// Prevent never-ending loop
				if ( target === copy ) {
					continue;
				}

				// Recurse if we're merging plain objects or arrays
				if ( deep && copy && ( isObject(copy) || (copyIsArray = isArray(copy)) ) ) {
					if ( copyIsArray ) {
						copyIsArray = false;
						clone = src && isArray(src) ? src : [];

					} else {
						clone = src && isObject(src) ? src : {};
					}

					// Never move original objects, clone them
					target[ name ] = extend( deep, clone, copy );

				// Don't bring in undefined values
				} else if ( copy !== undefined ) {
					target[ name ] = copy;
				}
			}
		}
	}

	// Return the modified object
	return target;
};

isArray = Array.isArray || function( obj ) {
	return Object.prototype.toString.call( obj ) === "[object Array]";
};

isFunction = function( obj ) {
	return Object.prototype.toString.call( obj ) === "[object Function]";
};

isObject = function( obj ) {
	return Object.prototype.toString.call( obj ) === "[object Object]";
};

startsWith = function( value, pattern ) {
	return value.indexOf( pattern ) === 0;
};

trim = function( value ) {
	return ( value + "" ).replace( regexTrim, "" );
};

truncate = function( value ) {
	if ( isNaN( value ) ) {
		return NaN;
	}
	return Math[ value < 0 ? "ceil" : "floor" ]( value );
};

zeroPad = function( str, count, left ) {
	var l;
	for ( l = str.length; l < count; l += 1 ) {
		str = ( left ? ("0" + str) : (str + "0") );
	}
	return str;
};

//
// private Globalization utility functions
//

appendPreOrPostMatch = function( preMatch, strings ) {
	// appends pre- and post- token match strings while removing escaped characters.
	// Returns a single quote count which is used to determine if the token occurs
	// in a string literal.
	var quoteCount = 0,
		escaped = false;
	for ( var i = 0, il = preMatch.length; i < il; i++ ) {
		var c = preMatch.charAt( i );
		switch ( c ) {
			case "\'":
				if ( escaped ) {
					strings.push( "\'" );
				}
				else {
					quoteCount++;
				}
				escaped = false;
				break;
			case "\\":
				if ( escaped ) {
					strings.push( "\\" );
				}
				escaped = !escaped;
				break;
			default:
				strings.push( c );
				escaped = false;
				break;
		}
	}
	return quoteCount;
};

expandFormat = function( cal, format ) {
	// expands unspecified or single character date formats into the full pattern.
	format = format || "F";
	var pattern,
		patterns = cal.patterns,
		len = format.length;
	if ( len === 1 ) {
		pattern = patterns[ format ];
		if ( !pattern ) {
			throw "Invalid date format string \'" + format + "\'.";
		}
		format = pattern;
	}
	else if ( len === 2 && format.charAt(0) === "%" ) {
		// %X escape format -- intended as a custom format string that is only one character, not a built-in format.
		format = format.charAt( 1 );
	}
	return format;
};

formatDate = function( value, format, culture ) {
	var cal = culture.calendar,
		convert = cal.convert,
		ret;

	if ( !format || !format.length || format === "i" ) {
		if ( culture && culture.name.length ) {
			if ( convert ) {
				// non-gregorian calendar, so we cannot use built-in toLocaleString()
				ret = formatDate( value, cal.patterns.F, culture );
			}
			else {
				var eraDate = new Date( value.getTime() ),
					era = getEra( value, cal.eras );
				eraDate.setFullYear( getEraYear(value, cal, era) );
				ret = eraDate.toLocaleString();
			}
		}
		else {
			ret = value.toString();
		}
		return ret;
	}

	var eras = cal.eras,
		sortable = format === "s";
	format = expandFormat( cal, format );

	// Start with an empty string
	ret = [];
	var hour,
		zeros = [ "0", "00", "000" ],
		foundDay,
		checkedDay,
		dayPartRegExp = /([^d]|^)(d|dd)([^d]|$)/g,
		quoteCount = 0,
		tokenRegExp = getTokenRegExp(),
		converted;

	function padZeros( num, c ) {
		var r, s = num + "";
		if ( c > 1 && s.length < c ) {
			r = ( zeros[c - 2] + s);
			return r.substr( r.length - c, c );
		}
		else {
			r = s;
		}
		return r;
	}

	function hasDay() {
		if ( foundDay || checkedDay ) {
			return foundDay;
		}
		foundDay = dayPartRegExp.test( format );
		checkedDay = true;
		return foundDay;
	}

	function getPart( date, part ) {
		if ( converted ) {
			return converted[ part ];
		}
		switch ( part ) {
			case 0:
				return date.getFullYear();
			case 1:
				return date.getMonth();
			case 2:
				return date.getDate();
			default:
				throw "Invalid part value " + part;
		}
	}

	if ( !sortable && convert ) {
		converted = convert.fromGregorian( value );
	}

	for ( ; ; ) {
		// Save the current index
		var index = tokenRegExp.lastIndex,
			// Look for the next pattern
			ar = tokenRegExp.exec( format );

		// Append the text before the pattern (or the end of the string if not found)
		var preMatch = format.slice( index, ar ? ar.index : format.length );
		quoteCount += appendPreOrPostMatch( preMatch, ret );

		if ( !ar ) {
			break;
		}

		// do not replace any matches that occur inside a string literal.
		if ( quoteCount % 2 ) {
			ret.push( ar[0] );
			continue;
		}

		var current = ar[ 0 ],
			clength = current.length;

		switch ( current ) {
			case "ddd":
				//Day of the week, as a three-letter abbreviation
			case "dddd":
				// Day of the week, using the full name
				var names = ( clength === 3 ) ? cal.days.namesAbbr : cal.days.names;
				ret.push( names[value.getDay()] );
				break;
			case "d":
				// Day of month, without leading zero for single-digit days
			case "dd":
				// Day of month, with leading zero for single-digit days
				foundDay = true;
				ret.push(
					padZeros( getPart(value, 2), clength )
				);
				break;
			case "MMM":
				// Month, as a three-letter abbreviation
			case "MMMM":
				// Month, using the full name
				var part = getPart( value, 1 );
				ret.push(
					( cal.monthsGenitive && hasDay() ) ?
					( cal.monthsGenitive[ clength === 3 ? "namesAbbr" : "names" ][ part ] ) :
					( cal.months[ clength === 3 ? "namesAbbr" : "names" ][ part ] )
				);
				break;
			case "M":
				// Month, as digits, with no leading zero for single-digit months
			case "MM":
				// Month, as digits, with leading zero for single-digit months
				ret.push(
					padZeros( getPart(value, 1) + 1, clength )
				);
				break;
			case "y":
				// Year, as two digits, but with no leading zero for years less than 10
			case "yy":
				// Year, as two digits, with leading zero for years less than 10
			case "yyyy":
				// Year represented by four full digits
				part = converted ? converted[ 0 ] : getEraYear( value, cal, getEra(value, eras), sortable );
				if ( clength < 4 ) {
					part = part % 100;
				}
				ret.push(
					padZeros( part, clength )
				);
				break;
			case "h":
				// Hours with no leading zero for single-digit hours, using 12-hour clock
			case "hh":
				// Hours with leading zero for single-digit hours, using 12-hour clock
				hour = value.getHours() % 12;
				if ( hour === 0 ) hour = 12;
				ret.push(
					padZeros( hour, clength )
				);
				break;
			case "H":
				// Hours with no leading zero for single-digit hours, using 24-hour clock
			case "HH":
				// Hours with leading zero for single-digit hours, using 24-hour clock
				ret.push(
					padZeros( value.getHours(), clength )
				);
				break;
			case "m":
				// Minutes with no leading zero for single-digit minutes
			case "mm":
				// Minutes with leading zero for single-digit minutes
				ret.push(
					padZeros( value.getMinutes(), clength )
				);
				break;
			case "s":
				// Seconds with no leading zero for single-digit seconds
			case "ss":
				// Seconds with leading zero for single-digit seconds
				ret.push(
					padZeros( value.getSeconds(), clength )
				);
				break;
			case "t":
				// One character am/pm indicator ("a" or "p")
			case "tt":
				// Multicharacter am/pm indicator
				part = value.getHours() < 12 ? ( cal.AM ? cal.AM[0] : " " ) : ( cal.PM ? cal.PM[0] : " " );
				ret.push( clength === 1 ? part.charAt(0) : part );
				break;
			case "f":
				// Deciseconds
			case "ff":
				// Centiseconds
			case "fff":
				// Milliseconds
				ret.push(
					padZeros( value.getMilliseconds(), 3 ).substr( 0, clength )
				);
				break;
			case "z":
				// Time zone offset, no leading zero
			case "zz":
				// Time zone offset with leading zero
				hour = value.getTimezoneOffset() / 60;
				ret.push(
					( hour <= 0 ? "+" : "-" ) + padZeros( Math.floor(Math.abs(hour)), clength )
				);
				break;
			case "zzz":
				// Time zone offset with leading zero
				hour = value.getTimezoneOffset() / 60;
				ret.push(
					( hour <= 0 ? "+" : "-" ) + padZeros( Math.floor(Math.abs(hour)), 2 ) +
					// Hard coded ":" separator, rather than using cal.TimeSeparator
					// Repeated here for consistency, plus ":" was already assumed in date parsing.
					":" + padZeros( Math.abs(value.getTimezoneOffset() % 60), 2 )
				);
				break;
			case "g":
			case "gg":
				if ( cal.eras ) {
					ret.push(
						cal.eras[ getEra(value, eras) ].name
					);
				}
				break;
		case "/":
			ret.push( cal["/"] );
			break;
		default:
			throw "Invalid date format pattern \'" + current + "\'.";
		}
	}
	return ret.join( "" );
};

// formatNumber
(function() {
	var expandNumber;

	expandNumber = function( number, precision, formatInfo ) {
		var groupSizes = formatInfo.groupSizes,
			curSize = groupSizes[ 0 ],
			curGroupIndex = 1,
			factor = Math.pow( 10, precision ),
			rounded = Math.round( number * factor ) / factor;

		if ( !isFinite(rounded) ) {
			rounded = number;
		}
		number = rounded;

		var numberString = number+"",
			right = "",
			split = numberString.split( /e/i ),
			exponent = split.length > 1 ? parseInt( split[1], 10 ) : 0;
		numberString = split[ 0 ];
		split = numberString.split( "." );
		numberString = split[ 0 ];
		right = split.length > 1 ? split[ 1 ] : "";

		var l;
		if ( exponent > 0 ) {
			right = zeroPad( right, exponent, false );
			numberString += right.slice( 0, exponent );
			right = right.substr( exponent );
		}
		else if ( exponent < 0 ) {
			exponent = -exponent;
			numberString = zeroPad( numberString, exponent + 1, true );
			right = numberString.slice( -exponent, numberString.length ) + right;
			numberString = numberString.slice( 0, -exponent );
		}

		if ( precision > 0 ) {
			right = formatInfo[ "." ] +
				( (right.length > precision) ? right.slice(0, precision) : zeroPad(right, precision) );
		}
		else {
			right = "";
		}

		var stringIndex = numberString.length - 1,
			sep = formatInfo[ "," ],
			ret = "";

		while ( stringIndex >= 0 ) {
			if ( curSize === 0 || curSize > stringIndex ) {
				return numberString.slice( 0, stringIndex + 1 ) + ( ret.length ? (sep + ret + right) : right );
			}
			ret = numberString.slice( stringIndex - curSize + 1, stringIndex + 1 ) + ( ret.length ? (sep + ret) : "" );

			stringIndex -= curSize;

			if ( curGroupIndex < groupSizes.length ) {
				curSize = groupSizes[ curGroupIndex ];
				curGroupIndex++;
			}
		}

		return numberString.slice( 0, stringIndex + 1 ) + sep + ret + right;
	};

	formatNumber = function( value, format, culture ) {
		if ( !isFinite(value) ) {
			if ( value === Infinity ) {
				return culture.numberFormat.positiveInfinity;
			}
			if ( value === -Infinity ) {
				return culture.numberFormat.negativeInfinity;
			}
			return culture.numberFormat[ "NaN" ];
		}
		if ( !format || format === "i" ) {
			return culture.name.length ? value.toLocaleString() : value.toString();
		}
		format = format || "D";

		var nf = culture.numberFormat,
			number = Math.abs( value ),
			precision = -1,
			pattern;
		if ( format.length > 1 ) precision = parseInt( format.slice(1), 10 );

		var current = format.charAt( 0 ).toUpperCase(),
			formatInfo;

		switch ( current ) {
			case "D":
				pattern = "n";
				number = truncate( number );
				if ( precision !== -1 ) {
					number = zeroPad( "" + number, precision, true );
				}
				if ( value < 0 ) number = "-" + number;
				break;
			case "N":
				formatInfo = nf;
				/* falls through */
			case "C":
				formatInfo = formatInfo || nf.currency;
				/* falls through */
			case "P":
				formatInfo = formatInfo || nf.percent;
				pattern = value < 0 ? formatInfo.pattern[ 0 ] : ( formatInfo.pattern[1] || "n" );
				if ( precision === -1 ) precision = formatInfo.decimals;
				number = expandNumber( number * (current === "P" ? 100 : 1), precision, formatInfo );
				break;
			default:
				throw "Bad number format specifier: " + current;
		}

		var patternParts = /n|\$|-|%/g,
			ret = "";
		for ( ; ; ) {
			var index = patternParts.lastIndex,
				ar = patternParts.exec( pattern );

			ret += pattern.slice( index, ar ? ar.index : pattern.length );

			if ( !ar ) {
				break;
			}

			switch ( ar[0] ) {
				case "n":
					ret += number;
					break;
				case "$":
					ret += nf.currency.symbol;
					break;
				case "-":
					// don't make 0 negative
					if ( /[1-9]/.test(number) ) {
						ret += nf[ "-" ];
					}
					break;
				case "%":
					ret += nf.percent.symbol;
					break;
			}
		}

		return ret;
	};

}());

getTokenRegExp = function() {
	// regular expression for matching date and time tokens in format strings.
	return (/\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g);
};

getEra = function( date, eras ) {
	if ( !eras ) return 0;
	var start, ticks = date.getTime();
	for ( var i = 0, l = eras.length; i < l; i++ ) {
		start = eras[ i ].start;
		if ( start === null || ticks >= start ) {
			return i;
		}
	}
	return 0;
};

getEraYear = function( date, cal, era, sortable ) {
	var year = date.getFullYear();
	if ( !sortable && cal.eras ) {
		// convert normal gregorian year to era-shifted gregorian
		// year by subtracting the era offset
		year -= cal.eras[ era ].offset;
	}
	return year;
};

// parseExact
(function() {
	var expandYear,
		getDayIndex,
		getMonthIndex,
		getParseRegExp,
		outOfRange,
		toUpper,
		toUpperArray;

	expandYear = function( cal, year ) {
		// expands 2-digit year into 4 digits.
		if ( year < 100 ) {
			var now = new Date(),
				era = getEra( now ),
				curr = getEraYear( now, cal, era ),
				twoDigitYearMax = cal.twoDigitYearMax;
			twoDigitYearMax = typeof twoDigitYearMax === "string" ? new Date().getFullYear() % 100 + parseInt( twoDigitYearMax, 10 ) : twoDigitYearMax;
			year += curr - ( curr % 100 );
			if ( year > twoDigitYearMax ) {
				year -= 100;
			}
		}
		return year;
	};

	getDayIndex = function	( cal, value, abbr ) {
		var ret,
			days = cal.days,
			upperDays = cal._upperDays;
		if ( !upperDays ) {
			cal._upperDays = upperDays = [
				toUpperArray( days.names ),
				toUpperArray( days.namesAbbr ),
				toUpperArray( days.namesShort )
			];
		}
		value = toUpper( value );
		if ( abbr ) {
			ret = arrayIndexOf( upperDays[1], value );
			if ( ret === -1 ) {
				ret = arrayIndexOf( upperDays[2], value );
			}
		}
		else {
			ret = arrayIndexOf( upperDays[0], value );
		}
		return ret;
	};

	getMonthIndex = function( cal, value, abbr ) {
		var months = cal.months,
			monthsGen = cal.monthsGenitive || cal.months,
			upperMonths = cal._upperMonths,
			upperMonthsGen = cal._upperMonthsGen;
		if ( !upperMonths ) {
			cal._upperMonths = upperMonths = [
				toUpperArray( months.names ),
				toUpperArray( months.namesAbbr )
			];
			cal._upperMonthsGen = upperMonthsGen = [
				toUpperArray( monthsGen.names ),
				toUpperArray( monthsGen.namesAbbr )
			];
		}
		value = toUpper( value );
		var i = arrayIndexOf( abbr ? upperMonths[1] : upperMonths[0], value );
		if ( i < 0 ) {
			i = arrayIndexOf( abbr ? upperMonthsGen[1] : upperMonthsGen[0], value );
		}
		return i;
	};

	getParseRegExp = function( cal, format ) {
		// converts a format string into a regular expression with groups that
		// can be used to extract date fields from a date string.
		// check for a cached parse regex.
		var re = cal._parseRegExp;
		if ( !re ) {
			cal._parseRegExp = re = {};
		}
		else {
			var reFormat = re[ format ];
			if ( reFormat ) {
				return reFormat;
			}
		}

		// expand single digit formats, then escape regular expression characters.
		var expFormat = expandFormat( cal, format ).replace( /([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g, "\\\\$1" ),
			regexp = [ "^" ],
			groups = [],
			index = 0,
			quoteCount = 0,
			tokenRegExp = getTokenRegExp(),
			match;

		// iterate through each date token found.
		while ( (match = tokenRegExp.exec(expFormat)) !== null ) {
			var preMatch = expFormat.slice( index, match.index );
			index = tokenRegExp.lastIndex;

			// don't replace any matches that occur inside a string literal.
			quoteCount += appendPreOrPostMatch( preMatch, regexp );
			if ( quoteCount % 2 ) {
				regexp.push( match[0] );
				continue;
			}

			// add a regex group for the token.
			var m = match[ 0 ],
				len = m.length,
				add;
			switch ( m ) {
				case "dddd": case "ddd":
				case "MMMM": case "MMM":
				case "gg": case "g":
					add = "(\\D+)";
					break;
				case "tt": case "t":
					add = "(\\D*)";
					break;
				case "yyyy":
				case "fff":
				case "ff":
				case "f":
					add = "(\\d{" + len + "})";
					break;
				case "dd": case "d":
				case "MM": case "M":
				case "yy": case "y":
				case "HH": case "H":
				case "hh": case "h":
				case "mm": case "m":
				case "ss": case "s":
					add = "(\\d\\d?)";
					break;
				case "zzz":
					add = "([+-]?\\d\\d?:\\d{2})";
					break;
				case "zz": case "z":
					add = "([+-]?\\d\\d?)";
					break;
				case "/":
					add = "(\\/)";
					break;
				default:
					throw "Invalid date format pattern \'" + m + "\'.";
			}
			if ( add ) {
				regexp.push( add );
			}
			groups.push( match[0] );
		}
		appendPreOrPostMatch( expFormat.slice(index), regexp );
		regexp.push( "$" );

		// allow whitespace to differ when matching formats.
		var regexpStr = regexp.join( "" ).replace( /\s+/g, "\\s+" ),
			parseRegExp = { "regExp": regexpStr, "groups": groups };

		// cache the regex for this format.
		return re[ format ] = parseRegExp;
	};

	outOfRange = function( value, low, high ) {
		return value < low || value > high;
	};

	toUpper = function( value ) {
		// "he-IL" has non-breaking space in weekday names.
		return value.split( "\u00A0" ).join( " " ).toUpperCase();
	};

	toUpperArray = function( arr ) {
		var results = [];
		for ( var i = 0, l = arr.length; i < l; i++ ) {
			results[ i ] = toUpper( arr[i] );
		}
		return results;
	};

	parseExact = function( value, format, culture ) {
		// try to parse the date string by matching against the format string
		// while using the specified culture for date field names.
		value = trim( value );
		var cal = culture.calendar,
			// convert date formats into regular expressions with groupings.
			// use the regexp to determine the input format and extract the date fields.
			parseInfo = getParseRegExp( cal, format ),
			match = new RegExp( parseInfo.regExp ).exec( value );
		if ( match === null ) {
			return null;
		}
		// found a date format that matches the input.
		var groups = parseInfo.groups,
			era = null, year = null, month = null, date = null, weekDay = null,
			hour = 0, hourOffset, min = 0, sec = 0, msec = 0, tzMinOffset = null,
			pmHour = false;
		// iterate the format groups to extract and set the date fields.
		for ( var j = 0, jl = groups.length; j < jl; j++ ) {
			var matchGroup = match[ j + 1 ];
			if ( matchGroup ) {
				var current = groups[ j ],
					clength = current.length,
					matchInt = parseInt( matchGroup, 10 );
				switch ( current ) {
					case "dd": case "d":
						// Day of month.
						date = matchInt;
						// check that date is generally in valid range, also checking overflow below.
						if ( outOfRange(date, 1, 31) ) return null;
						break;
					case "MMM": case "MMMM":
						month = getMonthIndex( cal, matchGroup, clength === 3 );
						if ( outOfRange(month, 0, 11) ) return null;
						break;
					case "M": case "MM":
						// Month.
						month = matchInt - 1;
						if ( outOfRange(month, 0, 11) ) return null;
						break;
					case "y": case "yy":
					case "yyyy":
						year = clength < 4 ? expandYear( cal, matchInt ) : matchInt;
						if ( outOfRange(year, 0, 9999) ) return null;
						break;
					case "h": case "hh":
						// Hours (12-hour clock).
						hour = matchInt;
						if ( hour === 12 ) hour = 0;
						if ( outOfRange(hour, 0, 11) ) return null;
						break;
					case "H": case "HH":
						// Hours (24-hour clock).
						hour = matchInt;
						if ( outOfRange(hour, 0, 23) ) return null;
						break;
					case "m": case "mm":
						// Minutes.
						min = matchInt;
						if ( outOfRange(min, 0, 59) ) return null;
						break;
					case "s": case "ss":
						// Seconds.
						sec = matchInt;
						if ( outOfRange(sec, 0, 59) ) return null;
						break;
					case "tt": case "t":
						// AM/PM designator.
						// see if it is standard, upper, or lower case PM. If not, ensure it is at least one of
						// the AM tokens. If not, fail the parse for this format.
						pmHour = cal.PM && ( matchGroup === cal.PM[0] || matchGroup === cal.PM[1] || matchGroup === cal.PM[2] );
						if (
							!pmHour && (
								!cal.AM || ( matchGroup !== cal.AM[0] && matchGroup !== cal.AM[1] && matchGroup !== cal.AM[2] )
							)
						) return null;
						break;
					case "f":
						// Deciseconds.
					case "ff":
						// Centiseconds.
					case "fff":
						// Milliseconds.
						msec = matchInt * Math.pow( 10, 3 - clength );
						if ( outOfRange(msec, 0, 999) ) return null;
						break;
					case "ddd":
						// Day of week.
					case "dddd":
						// Day of week.
						weekDay = getDayIndex( cal, matchGroup, clength === 3 );
						if ( outOfRange(weekDay, 0, 6) ) return null;
						break;
					case "zzz":
						// Time zone offset in +/- hours:min.
						var offsets = matchGroup.split( /:/ );
						if ( offsets.length !== 2 ) return null;
						hourOffset = parseInt( offsets[0], 10 );
						if ( outOfRange(hourOffset, -12, 13) ) return null;
						var minOffset = parseInt( offsets[1], 10 );
						if ( outOfRange(minOffset, 0, 59) ) return null;
						tzMinOffset = ( hourOffset * 60 ) + ( startsWith(matchGroup, "-") ? -minOffset : minOffset );
						break;
					case "z": case "zz":
						// Time zone offset in +/- hours.
						hourOffset = matchInt;
						if ( outOfRange(hourOffset, -12, 13) ) return null;
						tzMinOffset = hourOffset * 60;
						break;
					case "g": case "gg":
						var eraName = matchGroup;
						if ( !eraName || !cal.eras ) return null;
						eraName = trim( eraName.toLowerCase() );
						for ( var i = 0, l = cal.eras.length; i < l; i++ ) {
							if ( eraName === cal.eras[i].name.toLowerCase() ) {
								era = i;
								break;
							}
						}
						// could not find an era with that name
						if ( era === null ) return null;
						break;
				}
			}
		}
		var result = new Date(), defaultYear, convert = cal.convert;
		defaultYear = convert ? convert.fromGregorian( result )[ 0 ] : result.getFullYear();
		if ( year === null ) {
			year = defaultYear;
		}
		else if ( cal.eras ) {
			// year must be shifted to normal gregorian year
			// but not if year was not specified, its already normal gregorian
			// per the main if clause above.
			year += cal.eras[( era || 0 )].offset;
		}
		// set default day and month to 1 and January, so if unspecified, these are the defaults
		// instead of the current day/month.
		if ( month === null ) {
			month = 0;
		}
		if ( date === null ) {
			date = 1;
		}
		// now have year, month, and date, but in the culture's calendar.
		// convert to gregorian if necessary
		if ( convert ) {
			result = convert.toGregorian( year, month, date );
			// conversion failed, must be an invalid match
			if ( result === null ) return null;
		}
		else {
			// have to set year, month and date together to avoid overflow based on current date.
			result.setFullYear( year, month, date );
			// check to see if date overflowed for specified month (only checked 1-31 above).
			if ( result.getDate() !== date ) return null;
			// invalid day of week.
			if ( weekDay !== null && result.getDay() !== weekDay ) {
				return null;
			}
		}
		// if pm designator token was found make sure the hours fit the 24-hour clock.
		if ( pmHour && hour < 12 ) {
			hour += 12;
		}
		result.setHours( hour, min, sec, msec );
		if ( tzMinOffset !== null ) {
			// adjust timezone to utc before applying local offset.
			var adjustedMin = result.getMinutes() - ( tzMinOffset + result.getTimezoneOffset() );
			// Safari limits hours and minutes to the range of -127 to 127.  We need to use setHours
			// to ensure both these fields will not exceed this range.	adjustedMin will range
			// somewhere between -1440 and 1500, so we only need to split this into hours.
			result.setHours( result.getHours() + parseInt(adjustedMin / 60, 10), adjustedMin % 60 );
		}
		return result;
	};
}());

parseNegativePattern = function( value, nf, negativePattern ) {
	var neg = nf[ "-" ],
		pos = nf[ "+" ],
		ret;
	switch ( negativePattern ) {
		case "n -":
			neg = " " + neg;
			pos = " " + pos;
			/* falls through */
		case "n-":
			if ( endsWith(value, neg) ) {
				ret = [ "-", value.substr(0, value.length - neg.length) ];
			}
			else if ( endsWith(value, pos) ) {
				ret = [ "+", value.substr(0, value.length - pos.length) ];
			}
			break;
		case "- n":
			neg += " ";
			pos += " ";
			/* falls through */
		case "-n":
			if ( startsWith(value, neg) ) {
				ret = [ "-", value.substr(neg.length) ];
			}
			else if ( startsWith(value, pos) ) {
				ret = [ "+", value.substr(pos.length) ];
			}
			break;
		case "(n)":
			if ( startsWith(value, "(") && endsWith(value, ")") ) {
				ret = [ "-", value.substr(1, value.length - 2) ];
			}
			break;
	}
	return ret || [ "", value ];
};

//
// public instance functions
//

Globalize.prototype.findClosestCulture = function( cultureSelector ) {
	return Globalize.findClosestCulture.call( this, cultureSelector );
};

Globalize.prototype.format = function( value, format, cultureSelector ) {
	return Globalize.format.call( this, value, format, cultureSelector );
};

Globalize.prototype.localize = function( key, cultureSelector ) {
	return Globalize.localize.call( this, key, cultureSelector );
};

Globalize.prototype.parseInt = function( value, radix, cultureSelector ) {
	return Globalize.parseInt.call( this, value, radix, cultureSelector );
};

Globalize.prototype.parseFloat = function( value, radix, cultureSelector ) {
	return Globalize.parseFloat.call( this, value, radix, cultureSelector );
};

Globalize.prototype.culture = function( cultureSelector ) {
	return Globalize.culture.call( this, cultureSelector );
};

//
// public singleton functions
//

Globalize.addCultureInfo = function( cultureName, baseCultureName, info ) {

	var base = {},
		isNew = false;

	if ( typeof cultureName !== "string" ) {
		// cultureName argument is optional string. If not specified, assume info is first
		// and only argument. Specified info deep-extends current culture.
		info = cultureName;
		cultureName = this.culture().name;
		base = this.cultures[ cultureName ];
	} else if ( typeof baseCultureName !== "string" ) {
		// baseCultureName argument is optional string. If not specified, assume info is second
		// argument. Specified info deep-extends specified culture.
		// If specified culture does not exist, create by deep-extending default
		info = baseCultureName;
		isNew = ( this.cultures[ cultureName ] == null );
		base = this.cultures[ cultureName ] || this.cultures[ "default" ];
	} else {
		// cultureName and baseCultureName specified. Assume a new culture is being created
		// by deep-extending an specified base culture
		isNew = true;
		base = this.cultures[ baseCultureName ];
	}

	this.cultures[ cultureName ] = extend(true, {},
		base,
		info
	);
	// Make the standard calendar the current culture if it's a new culture
	if ( isNew ) {
		this.cultures[ cultureName ].calendar = this.cultures[ cultureName ].calendars.standard;
	}
};

Globalize.findClosestCulture = function( name ) {
	var match;
	if ( !name ) {
		return this.findClosestCulture( this.cultureSelector ) || this.cultures[ "default" ];
	}
	if ( typeof name === "string" ) {
		name = name.split( "," );
	}
	if ( isArray(name) ) {
		var lang,
			cultures = this.cultures,
			list = name,
			i, l = list.length,
			prioritized = [];
		for ( i = 0; i < l; i++ ) {
			name = trim( list[i] );
			var pri, parts = name.split( ";" );
			lang = trim( parts[0] );
			if ( parts.length === 1 ) {
				pri = 1;
			}
			else {
				name = trim( parts[1] );
				if ( name.indexOf("q=") === 0 ) {
					name = name.substr( 2 );
					pri = parseFloat( name );
					pri = isNaN( pri ) ? 0 : pri;
				}
				else {
					pri = 1;
				}
			}
			prioritized.push({ lang: lang, pri: pri });
		}
		prioritized.sort(function( a, b ) {
			if ( a.pri < b.pri ) {
				return 1;
			} else if ( a.pri > b.pri ) {
				return -1;
			}
			return 0;
		});
		// exact match
		for ( i = 0; i < l; i++ ) {
			lang = prioritized[ i ].lang;
			match = cultures[ lang ];
			if ( match ) {
				return match;
			}
		}

		// neutral language match
		for ( i = 0; i < l; i++ ) {
			lang = prioritized[ i ].lang;
			do {
				var index = lang.lastIndexOf( "-" );
				if ( index === -1 ) {
					break;
				}
				// strip off the last part. e.g. en-US => en
				lang = lang.substr( 0, index );
				match = cultures[ lang ];
				if ( match ) {
					return match;
				}
			}
			while ( 1 );
		}

		// last resort: match first culture using that language
		for ( i = 0; i < l; i++ ) {
			lang = prioritized[ i ].lang;
			for ( var cultureKey in cultures ) {
				var culture = cultures[ cultureKey ];
				if ( culture.language == lang ) {
					return culture;
				}
			}
		}
	}
	else if ( typeof name === "object" ) {
		return name;
	}
	return match || null;
};

Globalize.format = function( value, format, cultureSelector ) {
	var culture = this.findClosestCulture( cultureSelector );
	if ( value instanceof Date ) {
		value = formatDate( value, format, culture );
	}
	else if ( typeof value === "number" ) {
		value = formatNumber( value, format, culture );
	}
	return value;
};

Globalize.localize = function( key, cultureSelector ) {
	return this.findClosestCulture( cultureSelector ).messages[ key ] ||
		this.cultures[ "default" ].messages[ key ];
};

Globalize.parseDate = function( value, formats, culture ) {
	culture = this.findClosestCulture( culture );

	var date, prop, patterns;
	if ( formats ) {
		if ( typeof formats === "string" ) {
			formats = [ formats ];
		}
		if ( formats.length ) {
			for ( var i = 0, l = formats.length; i < l; i++ ) {
				var format = formats[ i ];
				if ( format ) {
					date = parseExact( value, format, culture );
					if ( date ) {
						break;
					}
				}
			}
		}
	} else {
		patterns = culture.calendar.patterns;
		for ( prop in patterns ) {
			date = parseExact( value, patterns[prop], culture );
			if ( date ) {
				break;
			}
		}
	}

	return date || null;
};

Globalize.parseInt = function( value, radix, cultureSelector ) {
	return truncate( Globalize.parseFloat(value, radix, cultureSelector) );
};

Globalize.parseFloat = function( value, radix, cultureSelector ) {
	// radix argument is optional
	if ( typeof radix !== "number" ) {
		cultureSelector = radix;
		radix = 10;
	}

	var culture = this.findClosestCulture( cultureSelector );
	var ret = NaN,
		nf = culture.numberFormat;

	if ( value.indexOf(culture.numberFormat.currency.symbol) > -1 ) {
		// remove currency symbol
		value = value.replace( culture.numberFormat.currency.symbol, "" );
		// replace decimal seperator
		value = value.replace( culture.numberFormat.currency["."], culture.numberFormat["."] );
	}

	// trim leading and trailing whitespace
	value = trim( value );

	// allow infinity or hexidecimal
	if ( regexInfinity.test(value) ) {
		ret = parseFloat( value );
	}
	else if ( !radix && regexHex.test(value) ) {
		ret = parseInt( value, 16 );
	}
	else {

		// determine sign and number
		var signInfo = parseNegativePattern( value, nf, nf.pattern[0] ),
			sign = signInfo[ 0 ],
			num = signInfo[ 1 ];

		// #44 - try parsing as "(n)"
		if ( sign === "" && nf.pattern[0] !== "(n)" ) {
			signInfo = parseNegativePattern( value, nf, "(n)" );
			sign = signInfo[ 0 ];
			num = signInfo[ 1 ];
		}

		// try parsing as "-n"
		if ( sign === "" && nf.pattern[0] !== "-n" ) {
			signInfo = parseNegativePattern( value, nf, "-n" );
			sign = signInfo[ 0 ];
			num = signInfo[ 1 ];
		}

		sign = sign || "+";

		// determine exponent and number
		var exponent,
			intAndFraction,
			exponentPos = num.indexOf( "e" );
		if ( exponentPos < 0 ) exponentPos = num.indexOf( "E" );
		if ( exponentPos < 0 ) {
			intAndFraction = num;
			exponent = null;
		}
		else {
			intAndFraction = num.substr( 0, exponentPos );
			exponent = num.substr( exponentPos + 1 );
		}
		// determine decimal position
		var integer,
			fraction,
			decSep = nf[ "." ],
			decimalPos = intAndFraction.indexOf( decSep );
		if ( decimalPos < 0 ) {
			integer = intAndFraction;
			fraction = null;
		}
		else {
			integer = intAndFraction.substr( 0, decimalPos );
			fraction = intAndFraction.substr( decimalPos + decSep.length );
		}
		// handle groups (e.g. 1,000,000)
		var groupSep = nf[ "," ];
		integer = integer.split( groupSep ).join( "" );
		var altGroupSep = groupSep.replace( /\u00A0/g, " " );
		if ( groupSep !== altGroupSep ) {
			integer = integer.split( altGroupSep ).join( "" );
		}
		// build a natively parsable number string
		var p = sign + integer;
		if ( fraction !== null ) {
			p += "." + fraction;
		}
		if ( exponent !== null ) {
			// exponent itself may have a number patternd
			var expSignInfo = parseNegativePattern( exponent, nf, "-n" );
			p += "e" + ( expSignInfo[0] || "+" ) + expSignInfo[ 1 ];
		}
		if ( regexParseFloat.test(p) ) {
			ret = parseFloat( p );
		}
	}
	return ret;
};

Globalize.culture = function( cultureSelector ) {
	// setter
	if ( typeof cultureSelector !== "undefined" ) {
		this.cultureSelector = cultureSelector;
	}
	// getter
	return this.findClosestCulture( cultureSelector ) || this.cultures[ "default" ];
};

}( this ));
	ASPxClientDashboardViewer = _aspxCreateClass(ASPxClientControl, {
 constructor: function (name) {
  this.constructor.prototype.constructor.call(this, name);
  this.$root = $('#' + this.name);
  Globalize.culture(navigator.language || navigator.userLanguage);
 },
 Initialize: function () {
  var self = this,
   options = $.extend(true, {}, self.initOptions, {
    callbackRequested: function (args) {
     var jsonArgs = _aspxToJson(args);
     if (args.Task == "Export")
      self.SendPostBack(jsonArgs);
     else
      self.CreateCallback(jsonArgs);
    }
   });
  self.$root.dxDashboardViewer(options);
  self.dashboardViewer = self.$root.dxDashboardViewer('instance');
 },
 OnCallback: function (result) {
  this.dashboardViewer.processCallback(eval(result));
 }
});
ASPxClientDashboardViewer.Cast = ASPxClientControl.Cast;
ASPxClientDashboardViewer.prototype.ReloadData = function () {
 this.dashboardViewer.reloadData();
};
ASPxClientDashboardViewer.prototype.GetExportOptions = function () {
 return this.dashboardViewer.documentOptions();
};
ASPxClientDashboardViewer.prototype.SetExportOptions = function (options) {
 this.dashboardViewer.documentOptions(options);
};
ASPxClientDashboardViewer.prototype.ExportToPdf = function () {
 this.dashboardViewer.exportTo('PDF');
};
ASPxClientDashboardViewer.prototype.ExportToPdf = function (options) {
 this.dashboardViewer.exportTo('PDF', options);
};
ASPxClientDashboardViewer.prototype.ExportToImage = function () {
 this.dashboardViewer.exportTo('Image');
};
ASPxClientDashboardViewer.prototype.ExportToImage = function (options) {
 this.dashboardViewer.exportTo('Image', options);
};
ASPxClientDashboardViewer.prototype.GetWidth = function () {
 return this.$root.width();
};
ASPxClientDashboardViewer.prototype.GetHeight = function () {
 return this.$root.height();
};
ASPxClientDashboardViewer.prototype.SetWidth = function (width) {
 this.$root.width(width);
 this.dashboardViewer._updateSize();
};
ASPxClientDashboardViewer.prototype.SetHeight = function (height) {
 this.$root.height(height);
 this.dashboardViewer._updateSize();
};
ASPxClientDashboardViewer.prototype.SetSize = function (width, height) {
 this.$root.width(width);
 this.$root.height(height);
 this.dashboardViewer._updateSize();
};
&7
/* 
* DevExpress dashboard
* Version: 13.1.2
* Build date: Jun 5, 2013
*
* Copyright (c) 2012 - 2013 Developer Express Inc. ALL RIGHTS RESERVED
* EULA: For internal use only
*/
"use strict";(function(n,t,i){if(parseFloat(n.fn.jquery)<1.8)throw Error("Your version of jQuery is too old. Please upgrade jQuery to 1.8.0 or later.");var r=function(){var i=function(n,t,i){return function(){var r=this.callBase;this.callBase=n[t];try{return i.apply(this,arguments)}finally{this.callBase=r}}},r=function(n){var t=function(){};return t.prototype=n.prototype,new t},t=function(){},u=function(t){var r=this,u;return t?(u=n.map(t,function(n,t){return t}),n.each(["toString","toLocaleString","valueOf"],function(){t[this]&&u.push(this)}),n.each(u,function(){var u=n.isFunction(r.prototype[this])&&n.isFunction(t[this]);r.prototype[this]=u?i(r.parent.prototype,this,t[this]):t[this]}),r):r},f=function(){var t=this;return n.each(arguments,function(){this.ctor&&t._includedCtors.push(this.ctor);for(var n in this)if(n!=="ctor"){if(n in t.prototype)throw Error("Member name collision: "+n);t.prototype[n]=this[n]}}),t},e=function(n){return this.parent===n?!0:!this.parent||!this.parent.subclassOf?!1:this.parent.subclassOf(n)};return t.inherit=function(t){var i=function(){if(!this||this.constructor!==i)throw Error("A class must be instantiated using the 'new' keyword");var t=this,r=t.ctor;r&&r.apply(t,arguments),n.each(t.constructor._includedCtors,function(){this.call(t)})};return i.prototype=r(this),i.inherit=this.inherit,i.redefine=u,i.include=f,i.subclassOf=e,i.parent=this,i._includedCtors=this._includedCtors?this._includedCtors.slice(0):[],i.prototype.constructor=i,i.redefine(t),i},t}(),u=function(){var t=[],r=!1,u=function(){while(t.length){var e=t.shift(),f=e();if(f!==i){if(f.then){r=!0,n.when(f).always(u);return}throw Error();}}r=!1};return function(n){t.push(n),r||u()}}(),f=function(){var t=document.createElement("a"),i=["protocol","hostname","port","pathname","search","hash"],r=function(n){return n.charAt(0)!=="/"&&(n="/"+n),n};return function(u){t.href=u;var f={};return n.each(i,function(){f[this]=t[this]}),f.pathname=r(f.pathname),f}}();t.DevExpress=t.DevExpress||{};var e=function(t){var i=n.Deferred();return setTimeout(function(){i.resolve(t())},60),i},o=function(){var t=[];return{add:function(n){t.push(n)},remove:function(i){var r=n.inArray(i,t);r!==-1&&t.splice(r,1)},fire:function(){var n=t.pop(),i=!!n;return i&&n(),i}}}(),s=function(){var n=null;return function(t){return arguments.length&&(n=t),n}}();n.extend(t.DevExpress,{abstract:function(){throw Error("Not implemented");},Class:r,enqueue:u,enqueueAsync:e,parseUrl:f,backButtonCallback:o,overlayTargetContainer:s})})(jQuery,this),function(n,t,i){var e=function(n){return n===i||n===null?"":String(n)},r=function(n){return e(n).charAt(0).toUpperCase()+n.substr(1)},u=function(n){return e(n).replace(/([a-z\d])([A-Z])/g,"$1 $2").split(/[\s_-]+/)},f=function(t){return n.map(u(t),function(n){return n.toLowerCase()}).join("-")},o=function(n){return f(n).replace(/-/g,"_")},s=function(t,i){return n.map(u(t),function(n,t){return n=n.toLowerCase(),(i||t>0)&&(n=r(n)),n}).join("")},h=function(n){return r(f(n).replace(/-/g," "))},c=function(t){return n.map(u(t),function(n){return r(n.toLowerCase())}).join(" ")};t.inflector={dasherize:f,camelize:s,humanize:h,titleize:c,underscore:o}}(jQuery,DevExpress),function(n,t,i){var f=["","Webkit","Moz","O","ms"],e=document.createElement("dx").style,o={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",msTransition:"MsTransitionEnd",transition:"transitionend"},u=function(n){var i,u,r;for(n=t.inflector.camelize(n,!0),i=0,u=f.length;i<u;i++)if(r=f[i]+n,r in e)return r},r=function(n){return!!u(n)};t.support={touch:"ontouchstart"in i,transform3d:r("perspective"),transition:r("transition"),transitionEndEventName:o[u("transition")],animation:r("animation"),winJS:"WinJS"in i,styleProp:u,supportProp:r}}(jQuery,DevExpress,this),function(n,t){var f=/(webkit)[ \/]([\w.]+)/,e=/(opera)(?:.*version)?[ \/]([\w.]+)/,o=/(msie) ([\w.]+)/,s=/(mozilla)(?:.*? rv:([\w.]+))?/,u=navigator.userAgent.toLowerCase(),h=function(){var n={},t=f.exec(u)||e.exec(u)||o.exec(u)||u.indexOf("compatible")<0&&s.exec(u)||[],i=t[1],r=t[2];return i&&(n[i]=!0,n.version=r),n}();t.browser=h}(jQuery,DevExpress,this),function(n,t,i){var a=/left|right/,v=/top|bottom/,o=/fit|flip/,f=function(n){switch(typeof n){case"string":return n.split(/\s+/,2);case"object":return[n.x||n.h,n.y||n.v];case"number":return[n];default:return n}},s=function(t){var i={h:"center",v:"center"},r=f(t);return r&&n.each(r,function(){var n=String(this).toLowerCase();a.test(n)?i.h=n:v.test(n)&&(i.v=n)}),i},y=function(n){var t=f(n),i=parseInt(t&&t[0],10),r=parseInt(t&&t[1],10);return isFinite(i)||(i=0),isFinite(r)||(r=i),{h:i,v:r}},p=function(n){var t=f(n),i=String(t&&t[0]).toLowerCase(),r=String(t&&t[1]).toLowerCase();return o.test(i)||(i="none"),o.test(r)||(r=i),{h:i,v:r}},h=function(n){switch(n){case"center":return.5;case"right":case"bottom":return 1;default:return 0}},c=function(n){switch(n){case"left":return"right";case"right":return"left";case"top":return"bottom";case"bottom":return"top";default:return n}},e=function(n){n.myLocation=n.atLocation+h(n.atAlign)*n.atSize-h(n.myAlign)*n.mySize+n.offset},r={fit:function(n,t){n.myLocation>t.max&&(n.myLocation=t.max),n.myLocation<t.min&&(n.myLocation=t.min)},flip:function(t,i){if((t.myAlign!=="center"||t.atAlign!=="center")&&(t.myLocation<i.min||t.myLocation>i.max)){var r=n.extend({},t,{myAlign:c(t.myAlign),atAlign:c(t.atAlign),offset:-t.offset});e(r),(r.myLocation>=i.min&&r.myLocation<=i.max||r.myLocation>t.myLocation)&&(t.myLocation=r.myLocation)}}},u,w=function(f,o){var v=n(f),w,b;if(!o)return v.offset();var k=s(o.my),d=s(o.at),h=o.of||window,g=y(o.offset),nt=p(o.collision),c={mySize:v.outerWidth(),myAlign:k.h,atAlign:d.h,offset:g.h,collision:nt.h},a={mySize:v.outerHeight(),myAlign:k.v,atAlign:d.v,offset:g.v,collision:nt.v};h.preventDefault?(c.atLocation=h.pageX,a.atLocation=h.pageY,c.atSize=0,a.atSize=0):(h=n(h),n.isWindow(h[0])?(c.atLocation=h.scrollLeft(),a.atLocation=h.scrollTop(),c.atSize=h.width(),a.atSize=h.height()):h[0].nodeType===9?(c.atLocation=0,a.atLocation=0,c.atSize=h.width(),a.atSize=h.height()):(w=h.offset(),c.atLocation=w.left,a.atLocation=w.top,c.atSize=h.outerWidth(),a.atSize=h.outerHeight())),e(c),e(a),b=function(){var r=n(window),f=r.scrollLeft(),e=r.scrollTop();u===i&&(u=l());var o=document.width>document.documentElement.clientWidth,s=document.height>document.documentElement.clientHeight,h=t.support.touch?document.documentElement.clientWidth/(s?window.innerWidth-u:window.innerWidth):1,v=t.support.touch?document.documentElement.clientHeight/(o?window.innerHeight-u:window.innerHeight):1;return{h:{min:f,max:f+r.width()/h-c.mySize},v:{min:e,max:e+r.height()/v-a.mySize}}}(),r[c.collision]&&r[c.collision](c,b.h),r[a.collision]&&r[a.collision](a,b.v),v.offset({left:Math.round(c.myLocation),top:Math.round(a.myLocation)})},l;t.position=w,l=function(){var t=n("<div>").css({width:100,height:100,overflow:"scroll",position:"absolute",top:-9999}).appendTo(n("body")),i=t.get(0).offsetWidth-t.get(0).clientWidth;return t.remove(),i}}(jQuery,DevExpress),function(n,t){var r={},u=function(t,i){if(n.isPlainObject(t)){n.each(t,u);return}r[t]=i},e=function(){var i=n.makeArray(arguments);n.each(i,function(){delete r[this]})},f;u({func:{execute:function(t){n.isFunction(t.action)&&(t.result=t.action.apply(t.context,t.args),t.handled=!0)}},url:{execute:function(n){typeof n.action=="string"&&n.action.charAt(0)!=="#"&&(document.location=n.action)}},hash:{execute:function(n){typeof n.action=="string"&&n.action.charAt(0)==="#"&&(document.location.hash=n.action)}}}),f=t.Class.inherit({ctor:function(t,i){i=i||{},this._action=t||n.noop,this._context=i.context||window,this._beforeExecute=i.beforeExecute||n.noop,this._afterExecute=i.afterExecute||n.noop,this._component=i.component},execute:function(){var n={action:this._action,args:Array.prototype.slice.call(arguments),context:this._context,component:this._component,canceled:!1,handled:!1},t;if(this._validateAction(n))return(this._beforeExecute.call(this._context,n),n.canceled)?void 0:(t=this._executeAction(n),this._afterExecute.call(this._context,n),t)},_validateAction:function(t){return n.each(r,function(n,i){return i.validate&&i.validate(t),t.canceled?!1:void 0}),!t.canceled},_executeAction:function(t){var i;return n.each(r,function(n,r){return r.execute&&r.execute(t),t.handled?(i=t.result,!1):void 0}),i}}),n.extend(t,{registerActionExecutor:u,unregisterActionExecutor:e,Action:f})}(jQuery,DevExpress),function(n,t,i){function it(){}var rt=Math.PI,ut=Math.LN10,ft=Math.cos,et=Math.sin,c=Math.abs,ot=Math.log,st=Math.floor,ht=Math.ceil,ct=Math.max,nr=Math.min,l=window.isNaN,p=window.Number,lt=window.NaN,f=["millisecond","second","minute","hour","day","week","month","quarter","year"],at=function(n){return n!==null&&n!==i},e=function(t){return n.type(t)==="string"},o=function(t){return n.isNumeric(t)},a=function(t){return n.type(t)==="object"},vt=function(t){return n.type(t)==="array"},w=function(t){return n.type(t)==="date"},yt=function(t){return n.type(t)==="function"},r=function(n){switch(n){case"millisecond":return 1;case"second":return r("millisecond")*1e3;case"minute":return r("second")*60;case"hour":return r("minute")*60;case"day":return r("hour")*24;case"week":return r("day")*7;case"month":return r("day")*30;case"quarter":return r("month")*3;case"year":return r("day")*365;default:return 0}},s=function(n,t){return r(n)*t},pt=function(n){for(var t,i,f=["millisecond","second","minute","hour","day","month","year"],e={},u=f.length-1;u>=0;u--)i=f[u],t=Math.floor(n/r(i)),t>0&&(e[i+"s"]=t,n-=s(i,t));return e},wt=function(t){var i=0;return a(t)&&n.each(t,function(n,t){i+=s(n.substr(0,n.length-1),t)}),e(t)&&(i=s(t,1)),i},bt=function(t,i){var r,u=0;return r={year:t.getFullYear()!==i.getFullYear(),month:t.getMonth()!==i.getMonth(),day:t.getDate()!==i.getDate(),hour:t.getHours()!==i.getHours(),minute:t.getMinutes()!==i.getMinutes(),second:t.getSeconds()!==i.getSeconds()},n.each(r,function(n,t){t&&u++}),r.count=u,r},v=function(n){var t,i;return o(n)?(t=n.toFixed(20),i=t.indexOf("."),t.substr(i+1,t.length-i+1)):""},kt=function(n){var i=v(n),t;if(i)for(t=0;t<i.length;t++)if(i.charAt(t)!=="0")return t+1;return 0},u=function(n,t,i){return n+(i?-1:1)*t},b=function(n){return o(n)&&n.toString().indexOf("e")!==-1},dt=function(n,t,i){var r=null,f;return w(n)?(f=e(t)?g(t.toLowerCase()):t,r=new Date(n.getTime()),f.years&&r.setFullYear(u(r.getFullYear(),f.years,i)),f.quarters&&r.setMonth(u(r.getMonth(),3*f.quarters,i)),f.months&&r.setMonth(u(r.getMonth(),f.months,i)),f.weeks&&r.setDate(u(r.getDate(),7*f.weeks,i)),f.days&&r.setDate(u(r.getDate(),f.days,i)),f.hours&&r.setHours(u(r.getHours(),f.hours,i)),f.minutes&&r.setMinutes(u(r.getMinutes(),f.minutes,i)),f.seconds&&r.setSeconds(u(r.getSeconds(),f.seconds,i)),f.milliseconds&&r.setMilliseconds(u(n.getMilliseconds(),f.milliseconds,i))):r=u(n,t,i),r},k=function(t){var r=-1,i;return e(t)?t:a(t)?(n.each(t,function(n,t){for(i=0;i<f.length;i++)t&&(n===f[i]+"s"||n===f[i])&&r<i&&(r=i)}),f[r]):""},gt=function(n,i){var r,u,f=k(i);switch(f){case"second":n.setMilliseconds(0);break;case"minute":n.setSeconds(0,0);break;case"hour":n.setMinutes(0,0,0);break;case"year":n.setMonth(0);case"month":n.setDate(1);case"day":n.setHours(0,0,0,0);break;case"week":r=n.getDate(),n.getDay()!==0&&(r+=7-n.getDay()),n.setDate(r),n.setHours(0,0,0,0);break;case"quarter":u=t.formatHelper.getFirstQuarterMonth(n.getMonth()),n.getMonth()!==u&&n.setMonth(u),n.setDate(1),n.setHours(0,0,0,0)}},y=function(n,t){if(o(n))return b(n)?p(n.toExponential(t)):p(n.toFixed(t))},d=function(n){var t,i=n.toString(),r=i.indexOf(".");return r!==-1?(t=i.substring(r+1),t.length):0},ni=function(n,t,i){var r=d(n),u=d(t);return y(i,r<u?u:r)},ti=function(n){var i=v(n),r,t;if(i)for(t=1;t<=i.length;t++)if(r=y(n,t),r!==0&&i[t-2]&&i[t-1]&&i[t-2]===i[t-1])return r;return n},g=function(n){var t={};switch(n){case"year":t.years=1;break;case"month":t.months=1;break;case"quarter":t.months=3;break;case"week":t.days=7;break;case"day":t.days=1;break;case"hour":t.hours=1;break;case"minute":t.minutes=1;break;case"second":t.seconds=1;break;case"millisecond":t.milliseconds=1}return t},ii=function(n){return(n%360+360)%360},ri=function(n){return 90-n},nt=function(n){return rt*n/180},ui=function(n){var t=nt(n);return{cos:ft(t),sin:et(t)}},fi=1e-14,h=function(n){var t=c(n),i;return l(t)?lt:t>0?(t=ot(t)/ut,i=ht(t),i-t<fi?i:st(t)):0},ei=function(n,t,i){var u=ct(h(n),h(t)),r=-h(c(t-n)/i),f;return!l(u)&&!l(r)?(c(u)<=4?(f="fixedPoint",r<0&&(r=0),r>4&&(r=4)):(f="exponential",r+=u-1,r>3&&(r=3)),{format:f,precision:r}):null},oi=function(t){var i=n(window),r,u=function(){var n=i.width(),u=i.height();clearTimeout(r),r=setTimeout(function(){i.width()===n&&i.height()===u&&t()},100)};return u.stop=function(){return clearTimeout(r),this},u},si=function(){var n=function(){window.console&&arguments[0]&&console.info(arguments[0])},t=function(){window.console&&arguments[0]&&console.warn(arguments[0])},i=function(){window.console&&arguments[0]&&console.error(arguments[0])};return{info:n,warn:t,error:i}}(),hi=function(){function n(n,t){if(!n)throw new Error(t);}function t(t,r){n(t!==null&&t!==i,r)}return{assert:n,assertParam:t}}(),ci=function(){var t,r=n.Callbacks(),i=n(window),u=function(){return[i.width(),i.height()].join()},f=function(){var n=u();n!==t&&(t=n,r.fire())};i.on("resize",f);return t=u(),r}(),li=function(t){var i=n("<div />");return window.WinJS?WinJS.Utilities.setInnerHTMLUnsafe(i.get(0),t):i.append(t),i.contents()},ai=1,vi=1,yi=function(){return"DevExpress_"+ai++},pi=function(){return"DevExpressPattern_"+vi++},wi=function(n,i,r){var u,e,h;n=n||{};var o={},s="data-dx-",f=i.get(0).attributes;for(u=0;u<f.length;u++)e=f[u].name,e.indexOf(s)===0&&(h=t.inflector.camelize(e.substr(s.length)),o[h]=f[u].value);return tt(n,o,r)},tt=function(n,t,i){var r,u;n=n||{};for(r in t)t.hasOwnProperty(r)&&(u=t[r],r in n&&!i||(n[r]=u));return n},bi=function(t,i,r){var u=window;n(document).on(t,r,i);while(u.parent&&u.parent!==u){u=u.parent;n(u.document).on(t,r,i)}},ki=function(t){var i=window;for(n(document).off(t);i.parent&&i.parent!==i;)i=i.parent,n(i.document).off(t)},di=function(n){return it.prototype=n,new it},gi=function(t,i){var r=n.Deferred(),u=i||this;return setTimeout(function(){var i=t.call(u);i&&i.done&&n.isFunction(i.done)?i.done(function(){r.resolveWith(u)}):r.resolveWith(u)},0),r.promise()};t.utils={dateUnitIntervals:f,isDefined:at,isString:e,isNumber:o,isObject:a,isArray:vt,isDate:w,isFunction:yt,normalizeAngle:ii,convertAngleToRendererSpace:ri,degreesToRadians:nt,getCosAndSin:ui,getDecimalOrder:h,getAppropriateFormat:ei,getFraction:v,adjustValue:ti,convertMillisecondsToDateUnits:pt,convertDateTickIntervalToMilliseconds:wt,convertDateUnitToMilliseconds:s,getDateUnitInterval:k,getDatesDifferences:bt,correctDateWithUnitBeginning:gt,roundValue:y,isExponential:b,applyPrecisionByMinDelta:ni,getSignificantDigitPosition:kt,addInterval:dt,getDateIntervalByString:g,logger:si,debug:hi,createResizeHandler:oi,windowResizeCallbacks:ci,createMarkupFromString:li,getNextClipId:yi,getNextPatternId:pi,extendFromDataAttributes:wi,extendFromObject:tt,subscribeEventToDocument:bi,unsubscribeEventFromDocument:ki,clone:di,executeAsync:gi}}(jQuery,DevExpress),function(n,t,i){var u=t.support,e=/matrix(3d)?\((.+?)\)/,o=/translate(?:3d)?\((.+?)\)/,s=function(n){var t,i,f;return u.transform3d?(f=r(n),t={left:f.x,top:f.y}):(i=n.position(),t={left:i.left,top:i.top}),t},h=function(n,t){if(!u.transform3d){n.css(t);return}var e=r(n),o=t.left,s=t.top;o!==i&&(e.x=o),s!==i&&(e.y=s),n.css("transform",f(e))},r=function(n){var i=n.css("transform"),t=i.match(e),r=t&&t[1];return t?(t=t[2].split(","),r==="3d"?t=t.slice(12,15):(t.push(0),t=t.slice(4,7))):t=[0,0,0],{x:parseFloat(t[0]),y:parseFloat(t[1]),z:parseFloat(t[2])}},c=function(n){var t=n.match(o);if(t&&t[1])return t=t[1].split(","),t={x:parseFloat(t[0]),y:parseFloat(t[1]),z:parseFloat(t[2])}},f=function(n){return"translate3d("+(n.x||0)+"px, "+(n.y||0)+"px, "+(n.z||0)+"px)"};t.translator={move:h,locate:s,parseTranslate:c,getTranslate:r,getTranslateCss:f}}(jQuery,DevExpress),function(n,t,i){var o={iPhone:"iPhone",iPhone5:"iPhone 5",iPad:"iPad",iPadMini:"iPad Mini",androidPhone:"Android Mobile",androidTablet:"Android",win8:"MSAppHost",win8Phone:"Windows Phone 8",msSurface:"MSIE ARM Tablet PC",desktop:"desktop"},u={phone:!1,tablet:!1,android:!1,ios:!1,win8:!1},s=n.extend(u,{platform:"desktop"}),f=function(t){var e=/ipad/i.test(t),u=/iphone|ipod/i.test(t),i=/android|silk-accelerated/i.test(t),r=/windows phone 8/i.test(t),o=/msie(.*)arm(.*)tablet\spc/i.test(t),f=/msapphost/i.test(t)||r||o;if(!e&&!u&&!i&&!f&&!r&&!o)return n.extend({},s);var h=u||i&&/mobile/i.test(t)||r,l=!h&&!f&&!r,c=i?"android":f?"win8":"ios";return{phone:h,tablet:l,android:i,ios:e||u,win8:c==="win8",platform:c}},e=function(n){var t;if(n){if(t=o[n],!t)throw Error("Unknown device");}else t=navigator.userAgent;return f(t)},h=function(n){n=n||window.navigator.userAgent;var t=/Android (\d\.\d(?:\.\d)?)/.exec(n);if(t&&t.length===2)return t[1]},r,c=function(t){if(t)r=n.isPlainObject(t)?n.extend(u,t):e(t);else{if(!r){var f=i;f=window.top["dx-force-device"]?window.top["dx-force-device"]:window.sessionStorage&&(sessionStorage.getItem("dx-force-device")||sessionStorage.getItem("dx-simulator-device")),r=e(f)}return r}};t.devices={androidVersion:h,current:c,fromUA:function(){return f(navigator.userAgent)}}}(jQuery,DevExpress),function(n,t,i){var f=t.translator,e=t.support,o=e.transitionEndEventName+".dxFX",w=/cubic-bezier\((\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\)/,s="dxSimulatedTransitionTimeoutKey",u="dxAnimData",r="transform",l="backfaceVisibility",b=1e3/60,a={animate:function(t,i){var r=n.Deferred(),u=n.Deferred(),e=n.Deferred();t.one(o,function(){u.reject()});return t.data(s,setTimeout(function(){e.reject()},i.duration+i.delay)),n.when(u,e).fail(n.proxy(function(){this._cleanup(t),r.resolveWith(t,[i,t])},this)),f.getTranslate(t),t.css({transitionProperty:"all",transitionDelay:i.delay+"ms",transitionDuration:i.duration+"ms",transitionTimingFunction:i.easing}),y(t,i.to),i.duration||t.trigger(o),r.promise()},_cleanup:function(n){n.css("transition","none").off(o);var t=n.data(s);clearTimeout(t),n.removeData(s)},stop:function(t,i){var r=t.data(u);r&&(i?t.trigger(o):(n.each(r.to,function(n){t.css(n,t.css(n))}),this._cleanup(t)))}},k=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(n){window.setTimeout(n,b)}}(),h={animate:function(t,e){var h=n.Deferred(),s=t.data(u),o=this;return s?(n.each(e.to,function(n){e.from[n]===i&&(e.from[n]=o._normalizeValue(t.css(n)))}),e.to[r]&&(e.from[r]=o._parseTransform(e.from[r]),e.to[r]=o._parseTransform(e.to[r])),s.frameAnimation={to:e.to,from:e.from,currentValue:e.from,easing:nt(e.easing),duration:e.duration,startTime:(new Date).valueOf(),finish:function(){this.currentValue=this.to,this.draw(),h.resolve()},draw:function(){var i=n.extend({},this.currentValue);i[r]&&(i[r]=n.map(i[r],function(n,t){return t==="translate"?f.getTranslateCss(n):t==="scale"?"scale("+n+")":t.substr(0,t.length-1)==="rotate"?t+"("+n+"deg)":void 0}).join(" ")),t.css(i)}},e.delay?(s.frameAnimation.startTime+=e.delay,s.frameAnimation.delayTimeout=setTimeout(function(){o._animationStep(t)},e.delay)):o._animationStep(t),h.promise()):h.reject().promise()},_parseTransform:function(t){var i={};return n.each(t.match(/(\w|\d)+\([^\)]*\)\s*/g),function(n,t){var e=f.parseTranslate(t),u=t.match(/scale\((.+?)\)/),r=t.match(/(rotate.)\((.+)deg\)/);e&&(i.translate=e),u&&u[1]&&(i.scale=parseFloat(u[1])),r&&r[1]&&(i[r[1]]=parseFloat(r[2]))}),i},stop:function(n,t){var r=n.data(u),i=r&&r.frameAnimation;i&&(clearTimeout(i.delayTimeout),t&&i.finish())},_animationStep:function(t){var f=t.data(u),i=f&&f.frameAnimation,r;if(i){if(r=(new Date).valueOf(),r>=i.startTime+i.duration){i.finish();return}i.currentValue=this._calcStepValue(i,r-i.startTime),i.draw(),k(n.proxy(function(){this._animationStep(t)},this))}},_calcStepValue:function(t,i){var r=function(u,f){var e=n.isArray(f)?[]:{},o=function(r){var e=i/t.duration,o=i,s=1*u[r],h=f[r]-u[r],c=t.duration;return n.easing[t.easing](e,o,s,h,c)};return n.each(f,function(n,t){if(typeof t=="string"&&parseFloat(t,10)===!1)return!0;e[n]=typeof t=="object"?r(u[n],t):o(n)}),e};return r(t.from,t.to)},_normalizeValue:function(n){var t=parseFloat(n,10);return t===!1?n:t}},d={transition:e.transition?a:h,frame:h},c=function(n){return d[n&&n.strategy||"transition"]},g={linear:"cubic-bezier(0, 0, 1, 1)",ease:"cubic-bezier(0.25, 0.1, 0.25, 1)","ease-in":"cubic-bezier(0.42, 0, 1, 1)","ease-out":"cubic-bezier(0, 0, 0.58, 1)","ease-in-out":"cubic-bezier(0.42, 0, 0.58, 1)"},nt=function(t){var i,r,u;return(t=g[t]||t,i=t.match(w),!i)?"linear":(i=i.slice(1,5),n.each(i,function(n,t){i[n]=parseFloat(t)}),r="cubicbezier_"+i.join("_").replace(/\./g,"p"),n.isFunction(n.easing[r])||(u=function(n,t,i,r){var u=3*n,f=3*(i-n)-u,o=1-u-f,e=3*t,s=3*(r-t)-e,h=1-e-s,c=function(n){return n*(u+n*(f+n*o))},l=function(n){return n*(e+n*(s+n*h))},a=function(n){for(var t=n,r=0,i;r<14;){if(i=c(t)-n,Math.abs(i)<.001)break;t=t-i/v(t),r++}return t},v=function(n){return u+n*(2*f+n*3*o)};return function(n){return l(a(n))}},n.easing[r]=function(n,t,r,f,e){return f*u(i[0],i[1],i[2],i[3])(t/e)+r}),r)},tt={setup:function(){}},it={setup:function(n,t){var i=c(t);e.transform3d&&(i===a||i===h)&&(this._setupConfig(n,t.from),this._setupConfig(n,t.to))},_setupConfig:function(n,t){var u=f.getTranslate(n),e=t.left,o=t.top;e!==i&&(u.x=e,delete t.left),o!==i&&(u.y=o,delete t.top),t[r]=f.getTranslateCss(u)}},rt={setup:function(t,i){var r=i.from,u=n.isPlainObject(r)?t.css("opacity"):String(r),f=String(i.to);i.from={opacity:u},i.to={opacity:f}}},ut={setup:function(n,t){if(e.transform3d){var i=t.from,u=t.to,f="opacity"in i?i.opacity:n.css("opacity"),o="opacity"in u?u.opacity:1,s="scale"in i?i.scale:0,h="scale"in u?u.scale:1;t.from={opacity:f},t.from[r]=this._getCssTransform(s),t.to={opacity:o},t.to[r]=this._getCssTransform(h)}},_getCssTransform:function(n){return"scale("+n+")"}},ft={DIRECTIONS:["left","right","top","bottom"],setup:function(n,t){if(e.transform3d){var u=t.from,i=t.to,o=this._normalizeDirection(i.direction),f=this._getDirectionFactor(o),s=this._getAxis(o),h="rotate"in u?u.rotate:-f*180,c="rotate"in i?i.rotate:f*180,a="scale"in u?u.scale:f===1?1:.8,v="scale"in i?i.scale:f===1?.8:1;t.from[r]=this._getCssTransform(s,h,a),t.from[l]="hidden",t.to[r]=this._getCssTransform(s,c,v),t.to[l]="hidden"}},_normalizeDirection:function(t){var i=n.inArray(this.DIRECTIONS);return i!==-1?t:"left"},_getAxis:function(n){return n==="left"||n==="right"?"Y":n==="top"||n==="bottom"?"X":void 0},_getDirectionFactor:function(n){return n==="left"||n==="top"?-1:n==="right"||n==="bottom"?1:void 0},_getCssTransform:function(n,t,i){return"rotate"+n+"("+t+"deg) scale("+i+")"}},v={none:tt,slide:it,fade:rt,pop:ut,flip:ft},et=function(n){var t=v[n];if(!t)throw Error('Unknown animation type "'+n+'"');return t},ot={type:"none",from:{},to:{},duration:400,complete:n.noop,easing:"ease",delay:0},st=function(t,i){var r=n(t);return i=n.extend(!0,{},ot,i),et(i.type).setup(r,i),p(r),y(r,i.from),ht(r,i).done(i.complete)},y=function(t,i){n.each(i,function(n,i){t.css(n,i)})},ht=function(i,r){var f=n.Deferred();return i.data(u,r),t.fx.off&&(r.duration=0),c(r).animate(i,r).done(function(){i.removeData(u),f.resolveWith(this,[i,r])}),f.promise()},ct=function(n){return!!n.data(u)},p=function(t,i){var r=n(t);c(r.data(u)).stop(r,i),r.removeData(u)};t.fx={off:!1,animationTypes:v,animate:st,animating:ct,stop:p}}(jQuery,DevExpress),function(n,t){function e(n){return/^(localhost$|127\.)/i.test(n)}var r=window.location,u="dxproxy.devexpress.com:8000",f=r.protocol==="ms-appx:",o=r.host===u,s=e(r.hostname),h=function(){return r.pathname.split("/")[1]},c=function(n){var i=t.parseUrl(n);return e(i.hostname)?"http://"+u+"/"+h()+"_"+i.port+i.pathname+i.search:n},l=t.EndpointSelector=function(n){this.config=n};l.prototype={urlFor:function(n){var t=this.config[n];if(!t)throw Error("Unknown endpoint key");return o?c(t.local):t.production&&(f&&!Debug.debuggerEnabled||!f&&!s)?t.production:t.local}}}(jQuery,DevExpress),function(n,t,i){var r=t.utils,f,u;t.NumericFormat={currency:"C",fixedpoint:"N",exponential:"",percent:"P",decimal:"D"},t.LargeNumberFormatPostfixes={1:"K",2:"M",3:"B",4:"T"},f=4,u=10,t.LargeNumberFormatPowers={largenumber:"auto",thousands:1,millions:2,billions:3,trillions:4},t.DateTimeFormat={longdate:"D",longtime:"T",monthandday:"M",monthandyear:"Y",quarterandyear:"qq",shortdate:"d",shorttime:"t",millisecond:"fff",second:"T",minute:"t",hour:"t",day:"dd",week:"dd",month:"MMMM",quarter:"qq",year:"yyyy",longdatelongtime:"D",shortdateshorttime:"d"},t.formatHelper={romanDigits:["I","II","III","IV"],_addFormatSeparator:function(n,t){var i=" ";return t?n+i+t:n},_getDateTimeFormatPattern:function(n){return Globalize.findClosestCulture().calendar.patterns[t.DateTimeFormat[n.toLowerCase()]]},_isDateFormatContains:function(i){var r=!1;return n.each(t.DateTimeFormat,function(n){return r=n===i.toLowerCase(),!r}),r},getQuarter:function(n){return Math.floor(n/3)},getQuarterString:function(n,t){var i="",r=this.getQuarter(n.getMonth());switch(t){case"q":i=this.romanDigits[r];break;case"qq":i="Q"+this.romanDigits[r];break;case"Q":i=(r+1).toString();break;case"QQ":i="Q"+(r+1).toString()}return i},getFirstQuarterMonth:function(n){return this.getQuarter(n)*3},_formatCustomString:function(n,t){for(var f=/qq|q|QQ|Q/g,i,u="",r=0;r<t.length;)i=f.exec(t),(!i||i.index>r)&&(u+=Globalize.format(n,t.substring(r,i?i.index:t.length))),i?(u+=this.getQuarterString(n,i[0]),r=i.index+i[0].length):r=t.length;return u},_parseNumberFormatString:function(i){var u,r={};if(i&&typeof i=="string")return u=i.toLowerCase().split(" "),n.each(u,function(n,i){i in t.NumericFormat?r.formatType=i:i in t.LargeNumberFormatPowers&&(r.power=t.LargeNumberFormatPowers[i])}),r.power&&!r.formatType&&(r.formatType="fixedpoint"),r.formatType?r:void 0},_calculateNumberPower:function(n,t,r,u){var f=Math.abs(n),e=0;if(f>1)while(f&&f>=t&&(u===i||e<u))e++,f=f/t;else if(f>0&&f<1)while(f<1&&(r===i||e>r))e--,f=f*t;return e},_getNumberByPower:function(n,t,i){for(var r=n;t>0;)r=r/i,t--;while(t<0)r=r*i,t++;return r},_formatNumber:function(n,i,r){var u;return i.power==="auto"&&(i.power=this._calculateNumberPower(n,1e3,0,f)),i.power&&(n=this._getNumberByPower(n,i.power,1e3)),u=t.LargeNumberFormatPostfixes[i.power]||"",this._formatNumberCore(n,i.formatType,r)+u},_formatNumberExponential:function(n,t){var r=this._calculateNumberPower(n,u),f=this._getNumberByPower(n,r,u),e;return t=t===i?1:t,f.toFixed(t||0)>=u&&(r++,f=f/u),e=(r>=0?"+":"")+r.toString(),this._formatNumberCore(f,"fixedpoint",t)+"E"+e},_formatNumberCore:function(n,i,u){return i==="exponential"?this._formatNumberExponential(n,u):Globalize.format(n,t.NumericFormat[i]+(r.isNumber(u)?u:0))},_formatDate:function(n,i){var u=t.DateTimeFormat[i.toLowerCase()];return(i=i.toLowerCase(),i==="quarterandyear"&&(u=this.getQuarterString(n,u)+" yyyy"),i==="quarter")?this.getQuarterString(n,u):i==="longdatelongtime"?this._formatDate(n,"longdate")+" "+this._formatDate(n,"longtime"):i==="shortdateshorttime"?this._formatDate(n,"shortDate")+" "+this._formatDate(n,"shortTime"):Globalize.format(n,u)},format:function(n,t,i){if(t&&t.format){if(t.dateType)return this._formatDateEx(n,t);if(r.isNumber(n)&&isFinite(n))return this._formatNumberEx(n,t)}return this._format(n,t,i)},_format:function(n,t,i){var u;return!r.isString(t)||t===""||!r.isNumber(n)&&!r.isDate(n)?r.isDefined(n)?n.toString():"":(u=this._parseNumberFormatString(t),r.isNumber(n)&&u)?this._formatNumber(n,u,i):r.isDate(n)&&this._isDateFormatContains(t)?this._formatDate(n,t):!u&&!this._isDateFormatContains(t)?this._formatCustomString(n,t):void 0},_formatNumberEx:function(n,i){var a=this,v=t.NumericFormat[i.format.toLowerCase()],f=Globalize.culture().numberFormat,w=i.currencyCulture&&Globalize.cultures[i.currencyCulture]?Globalize.cultures[i.currencyCulture].numberFormat.currency:f.currency,b=f.percent,c=a._getUnitFormatSettings(n,i),k=c.unit,y=c.precision,nt=c.showTrailingZeros,tt=c.includeGroupSeparator,it=f[","],rt=f["."],r,l,o,u,d=/n|\$|-|%/g,e="",s,p,g,h;n=a._applyUnitToValue(n,k),r=Math.abs(n),l=n<0;switch(v){case"D":if(o="n",r=Math[l?"ceil":"floor"](r),y>0){for(s=""+r,p=s.length;p<y;p+=1)s="0"+s;r=s}l&&(r="-"+r);break;case"N":u=f;case"C":u=u||w;case"P":u=u||b,o=l?u.pattern[0]:u.pattern[1]||"n",r=Globalize.format(r*(v==="P"?100:1),"N"+y),nt||(r=a._excludeTrailingZeros(r,rt)),tt||(r=r.replace(new RegExp("\\"+it,"g"),""));break;default:throw"Illegal numeric format: '"+v+"'";}for(;;)if(g=d.lastIndex,h=d.exec(o),e+=o.slice(g,h?h.index:o.length),h)switch(h[0]){case"-":/[1-9]/.test(r)&&(e+=f["-"]);break;case"$":e+=w.symbol;break;case"%":e+=b.symbol;break;case"n":e+=r+k}else break;return(i.plus&&n>0?"+":"")+e},_excludeTrailingZeros:function(n,t){var u=n.indexOf(t),r,i;if(u<0)return n;for(r=n.length,i=r-1;i>=u&&(n[i]==="0"||i===u);i--)r--;return n.substring(0,r)},_getUnitFormatSettings:function(n,t){var f=t.unit||"",r=t.precision||0,s=t.includeGroupSeparator||!1,o=!0,u=t.significantDigits||1,i,e;if(f.toLowerCase()==="auto")if(o=!1,i=Math.abs(n),u<1&&(u=1),i>=1e9?(f="B",i/=1e9):i>=1e6?(f="M",i/=1e6):i>=1e3?(f="K",i/=1e3):f="",i==0)r=0;else if(i<1)for(r=u,e=Math.pow(10,-u);i<e;)e/=10,r++;else r=i>=100?u-3:i>=10?u-2:u-1;return r<0&&(r=0),{unit:f,precision:r,showTrailingZeros:o,includeGroupSeparator:s}},_applyUnitToValue:function(n,t){return t=="B"?n.toFixed(1)/1e9:t=="M"?n/1e6:t=="K"?n/1e3:n},_formatDateEx:function(t,r){var u=this,l="Q",c=r.format,f=r.dateType,h=Globalize.culture().calendars.standard,o=i,s,e;if(c=c.toLowerCase(),f!=="num"||c==="dayofweek")switch(c){case"monthyear":return u._formatDate(t,"monthandyear");case"quarteryear":return u.getQuarterString(t,"QQ")+" "+t.getFullYear();case"daymonthyear":return u._formatDate(t,f+"Date");case"datehour":return o=new Date(t.getTime()),o.setMinutes(0),e=u._formatDate(t,f+"Date"),e+" "+u._formatDate(o,"shorttime");case"datehourminute":return e=u._formatDate(t,f+"Date"),e+" "+u._formatDate(t,"shorttime");case"datehourminutesecond":return e=u._formatDate(t,f+"Date"),e+" "+u._formatDate(t,"longtime");case"year":return e=t.toString(),f==="abbr"?e.slice(2,4):e;case"quarter":return l+t.toString();case"month":return s=t-1,f==="abbr"?h.months.namesAbbr[s]:h.months.names[s];case"hour":return f==="long"?(o=new Date,o.setHours(t),o.setMinutes(0),u._formatDate(o,"shorttime")):t.toString();case"dayofweek":return s=n.inArray(t,["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]),f!=="num"?f==="abbr"?h.days.namesAbbr[s]:h.days.names[s]:((s-h.firstDay+1+7)%8).toString();default:return t.toString()}else return t.toString()},getTimeFormat:function(n){return n?this._getDateTimeFormatPattern("longtime"):this._getDateTimeFormatPattern("shorttime")},getDateFormatByDifferences:function(n){var i="";return(n.millisecond&&(i=t.DateTimeFormat.millisecond),(n.hour||n.minute||n.second)&&(i=this._addFormatSeparator(this.getTimeFormat(n.second),i)),n.year&&n.month&&n.day)?this._addFormatSeparator(this._getDateTimeFormatPattern("shortdate"),i):n.year&&n.month?t.DateTimeFormat.monthandyear:n.year?t.DateTimeFormat.year:n.month&&n.day?this._addFormatSeparator(this._getDateTimeFormatPattern("monthandday"),i):n.month?t.DateTimeFormat.month:n.day?this._addFormatSeparator("dddd, dd",i):i},getDateFormatByTicks:function(n){var f,t,u,i,e;if(n.length>1)for(t=r.getDatesDifferences(n[0],n[1]),i=1;i<n.length-1;i++)u=r.getDatesDifferences(n[i],n[i+1]),t.count<u.count&&(t=u);else t={year:!0,month:!0,day:!0,hour:n[0].getHours()>0,minute:n[0].getMinutes()>0,second:n[0].getSeconds()>0};return f=this.getDateFormatByDifferences(t)},getDateFormatByTickInterval:function(n,t,i){var e,u,f,s={quarter:"month",week:"day"},o=function(n,t,i){switch(t){case"year":n.month=i;case"quarter":case"month":n.day=i;case"week":case"day":n.hour=i;case"hour":n.minute=i;case"minute":n.second=i;case"second":n.millisecond=i}},h=function(n,t,i){!i.getMilliseconds()&&i.getSeconds()?i.getSeconds()-t.getSeconds()==1&&(n.millisecond=!0,n.second=!1):!i.getSeconds()&&i.getMinutes()?i.getMinutes()-t.getMinutes()==1&&(n.second=!0,n.minute=!1):!i.getMinutes()&&i.getHours()?i.getHours()-t.getHours()==1&&(n.minute=!0,n.hour=!1):!i.getHours()&&i.getDate()>1?i.getDate()-t.getDate()==1&&(n.hour=!0,n.day=!1):i.getDate()===1&&i.getMonth()?i.getMonth()-t.getMonth()==1&&(n.day=!0,n.month=!1):!i.getMonth()&&i.getFullYear()&&i.getFullYear()-t.getFullYear()==1&&(n.month=!0,n.year=!1)};return i=r.isString(i)?i.toLowerCase():i,u=r.getDatesDifferences(n,t),n!==t&&h(u,n>t?t:n,n>t?n:t),f=r.getDateUnitInterval(u),o(u,f,!0),f=r.getDateUnitInterval(i||"second"),o(u,f,!1),u[s[f]||f]=!0,e=this.getDateFormatByDifferences(u)}}}(jQuery,DevExpress),function(n,t,i){var o=!!window.ko,s=function(n){return n.replace(/\[/g,".").replace(/\]/g,"")},u=function(n){return o?ko.utils.unwrapObservable(n):n},h=function(n){return o&&ko.isObservable(n)},c=function(n,t,i){var r=n[t];h(r)?r(i):n[t]=i},f=function(t){if(arguments.length>1&&(t=n.makeArray(arguments)),!t||t==="this")return function(n){return n};if(n.isFunction(t))return t;if(n.isArray(t))return a(t);t=s(t);var i=t.split(".");return function(t,r){r=r||{};var f=u(t);return n.each(i,function(){if(!f)return!1;var t=u(f[this]);n.isFunction(t)&&!r.functionsAsIs&&(t=t.call(f)),f=t}),f}},a=function(t){var r={};return n.each(t,function(){r[this]=f(this)}),function(t){var u={};return n.each(r,function(n){var o=this(t),f,e,s,r;if(o!==i){for(f=u,e=n.split("."),s=e.length-1,r=0;r<s;r++)f=f[e[r]]={};f[e[r]]=o}}),u}},v=function(t){if(!t||t==="this")throw Error("Cannot assign to self");t=s(t);var e=t.lastIndexOf("."),o=f(t.substr(0,e)),r=t.substr(1+e);return function(t,f,e){e=e||{};var l=o(t,{functionsAsIs:e.functionsAsIs}),s=l[r];e.functionsAsIs||!n.isFunction(s)||h(s)?(s=u(s),e.merge&&n.isPlainObject(f)&&(s===i||n.isPlainObject(s))?(s||c(l,r,{}),n.extend(!0,u(l[r]),f)):c(l,r,f)):l[r](f)}},y=function(n){return[n[0],n.length<3?"=":n[1].toLowerCase(),n.length<2?!0:n[n.length-1]]},p=function(t){return n.isArray(t)||(t=[t]),n.map(t,function(t){return{selector:n.isFunction(t)||typeof t=="string"?t:t.field||t.selector,desc:!!(t.desc||String(t.dir).charAt(0).toLowerCase()==="d")}})},l=t.Class.inherit({ctor:function(n){n&&(n=String(n)),this._value=this._normalize(n||this._generate())},_normalize:function(n){for(n=n.replace(/[^a-f0-9]/ig,"").toLowerCase();n.length<32;)n+="0";return[n.substr(0,8),n.substr(8,4),n.substr(12,4),n.substr(16,4),n.substr(20)].join("-")},_generate:function(){for(var t="",n=0;n<32;n++)t+=Math.round(Math.random()*16).toString(16);return t},toString:function(){return this._value},valueOf:function(){return this._value},toJSON:function(){return this._value}}),r=function(n,t){return n instanceof Date?n.getTime():n instanceof l?n.valueOf():!t&&typeof n=="string"?n.toLowerCase():n},w=function(t,i,u){var e,o,f;if(n.isArray(t)){for(e=n.map(i,function(n,t){return t}),f=0;f<e.length;f++)if(o=e[f],r(i[o],!0)!=r(u[o],!0))return!1;return!0}return r(i,!0)==r(u,!0)},b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",k=function(t){var r,i;for(n.isArray(t)||(t=d(String(t))),r="",i=0;i<t.length;i+=3){var e=t[i],u=t[i+1],f=t[i+2];r+=n.map([e>>2,(e&3)<<4|u>>4,isNaN(u)?64:(u&15)<<2|f>>6,isNaN(f)?64:f&63],function(n){return b.charAt(n)}).join("")}return r},d=function(n){for(var i=[],t,r=0;r<n.length;r++)t=n.charCodeAt(r),t<128?i.push(t):t<2048?i.push(192+(t>>6),128+(t&63)):t<65536?i.push(224+(t>>12),128+(t>>6&63),128+(t&63)):t<2097152&&i.push(240+(t>>18),128+(t>>12&63),128+(t>>6&63),128+(t&63));return i},g=function(){var n={timeout:"Network connection timeout",error:"Unspecified network error",parsererror:"Unexpected server response"},t=function(t){var i=n[t];return i?i:t};return function(n,i){return n.status<400?t(i):n.statusText}}(),e=t.data={utils:{compileGetter:f,compileSetter:v,normalizeBinaryCriterion:y,normalizeSortingInfo:p,toComparable:r,keysEqual:w,errorMessageFromXhr:g},Guid:l,base64_encode:k,queryImpl:{},queryAdapters:{},query:function(){var t=n.isArray(arguments[0])?"array":"remote";return e.queryImpl[t].apply(this,arguments)},errorHandler:null,_handleError:function(n){e.errorHandler&&e.errorHandler(n)}}}(jQuery,DevExpress),function(n,t,i){var a=t.Class,u=t.data,c=u.queryImpl,f=u.utils.compileGetter,r=u.utils.toComparable,e=a.inherit({toArray:function(){var n=[];for(this.reset();this.next();)n.push(this.current());return n},countable:function(){return!1}}),o=e.inherit({ctor:function(n){this.array=n,this.index=-1},next:function(){return this.index+1<this.array.length?(this.index++,!0):!1},current:function(){return this.array[this.index]},reset:function(){this.index=-1},toArray:function(){return this.array.slice(0)},countable:function(){return!0},count:function(){return this.array.length}}),s=e.inherit({ctor:function(n){this.iter=n},next:function(){return this.iter.next()},current:function(){return this.iter.current()},reset:function(){return this.iter.reset()}}),h=e.inherit({ctor:function(n,t,i){this.iter=n,this.rules=[{getter:t,desc:i}]},thenBy:function(n,t){var i=new h(this.sortedIter||this.iter,n,t);return this.sortedIter||(i.rules=this.rules.concat(i.rules)),i},next:function(){return this._ensureSorted(),this.sortedIter.next()},current:function(){return this._ensureSorted(),this.sortedIter.current()},reset:function(){delete this.sortedIter},countable:function(){return this.sortedIter||this.iter.countable()},count:function(){return this.sortedIter?this.sortedIter.count():this.iter.count()},_ensureSorted:function(){this.sortedIter||(n.each(this.rules,function(){this.getter=f(this.getter)}),this.sortedIter=new o(this.iter.toArray().sort(n.proxy(this._compare,this))))},_compare:function(n,t){var i,s;if(n===t)return 0;for(i=0,s=this.rules.length;i<s;i++){var e=this.rules[i],u=r(e.getter(n)),o=r(e.getter(t)),f=e.desc?-1:1;if(u<o)return-f;if(u>o)return f;if(u!==o)return u?f:-f}return 0}}),l=function(){var e=function(t){var u=[],i=["return function(d) { return "],f=0,r=!1;return n.each(t,function(){n.isArray(this)||n.isFunction(this)?(r&&i.push(" && "),u.push(l(this)),i.push("op[",f,"](d)"),f++,r=!0):(i.push(/and|&/i.test(this)?" && ":" || "),r=!1)}),i.push(" }"),new Function("op",i.join(""))(u)},i=function(n){return t.utils.isDefined(n)?n.toString():""},o=function(n){n=u.utils.normalizeBinaryCriterion(n);var e=f(n[0]),o=n[1],t=n[2];t=r(t);switch(o.toLowerCase()){case"=":return function(n){return r(e(n))==t};case"<>":return function(n){return r(e(n))!=t};case">":return function(n){return r(e(n))>t};case"<":return function(n){return r(e(n))<t};case">=":return function(n){return r(e(n))>=t};case"<=":return function(n){return r(e(n))<=t};case"startswith":return function(n){return r(i(e(n))).indexOf(t)===0};case"endswith":return function(n){var u=r(i(e(n)));return u.lastIndexOf(t)===u.length-i(t).length};case"contains":return function(n){return r(i(e(n))).indexOf(t)>-1};case"notcontains":return function(n){return r(i(e(n))).indexOf(t)===-1}}};return function(t){return n.isFunction(t)?t:n.isArray(t[0])?e(t):o(t)}}(),v=s.inherit({ctor:function(n,t){this.callBase(n),this.criteria=l(t)},next:function(){while(this.iter.next())if(this.criteria(this.current()))return!0;return!1}}),y=e.inherit({ctor:function(n,t){this.iter=n,this.getter=t},next:function(){return this._ensureGrouped(),this.groupedIter.next()},current:function(){return this._ensureGrouped(),this.groupedIter.current()},reset:function(){delete this.groupedIter},countable:function(){return!!this.groupedIter},count:function(){return this.groupedIter.count()},_ensureGrouped:function(){var r,t;if(!this.groupedIter){var i={},e=[],u=this.iter,s=f(this.getter);for(u.reset();u.next();)r=u.current(),t=s(r),t in i?i[t].push(r):(i[t]=[r],e.push(t));this.groupedIter=new o(n.map(e,function(n){return{key:n,items:i[n]}}))}}}),p=s.inherit({ctor:function(n,t){this.callBase(n),this.getter=f(t)},current:function(){return this.getter(this.callBase())},countable:function(){return this.iter.countable()},count:function(){return this.iter.count()}}),w=s.inherit({ctor:function(n,t,i){this.callBase(n),this.skip=Math.max(0,t),this.take=Math.max(0,i),this.pos=0},next:function(){if(this.pos>=this.skip+this.take)return!1;while(this.pos<this.skip&&this.iter.next())this.pos++;return this.pos++,this.iter.next()},reset:function(){this.callBase(),this.pos=0},countable:function(){return this.iter.countable()},count:function(){return Math.min(this.iter.count()-this.skip,this.take)}});c.array=function(t,r){r=r||{},t instanceof e||(t=new o(t));var b=function(n){var t=r.errorHandler;t&&t(n),u._handleError(n)},s=function(r,u,f){var o=n.Deferred().fail(b),e;try{for(t.reset(),arguments.length<2&&(u=arguments[0],r=t.next()?t.current():i),e=r;t.next();)e=u(e,t.current());o.resolve(f?f(e):e)}catch(s){o.reject(s)}return o.promise()},k=function(i){return n.isFunction(i)||n.isArray(i)||(i=n.makeArray(arguments)),l(new p(t,i))},a=function(n){return k(f(n))},l=function(n){return c.array(n,r)};return{toArray:function(){return t.toArray()},enumerate:function(){var i=n.Deferred().fail(b);try{i.resolve(t.toArray())}catch(r){i.reject(r)}return i.promise()},sortBy:function(n,i){return l(new h(t,n,i))},thenBy:function(n,i){if(t instanceof h)return l(t.thenBy(n,i));throw Error();},filter:function(i){return n.isArray(i)||(i=n.makeArray(arguments)),l(new v(t,i))},slice:function(n,r){return r===i&&(r=Number.MAX_VALUE),l(new w(t,n,r))},select:k,groupBy:function(n,i){return l(new y(t,n,i))},aggregate:s,count:function(){if(t.countable()){var i=n.Deferred().fail(b);try{i.resolve(t.count())}catch(r){i.reject(r)}return i.promise()}return s(0,function(n){return 1+n})},sum:function(n){return n?a(n).sum():s(0,function(n,t){return n+t})},min:function(n){return n?a(n).min():s(function(n,t){return t<n?t:n})},max:function(n){return n?a(n).max():s(function(n,t){return t>n?t:n})},avg:function(n){if(n)return a(n).avg();var t=0;return s(0,function(n,i){return t++,n+i},function(n){return t?n/t:i})}}}}(jQuery,DevExpress),function(n,t){var r=t.data,u=r.queryImpl;u.remote=function(t,i,f){f=f||[],i=i||{};var o=function(n,t){return{name:n,args:t}},s=function(e){var o=n.Deferred(),h,c,s,l,a=function(n){var t=i.errorHandler;t&&t(n),r._handleError(n),o.reject(n)};try{for(h=i.adapter||"odata",n.isFunction(h)||(h=r.queryAdapters[h]),c=h(i),s=[].concat(f).concat(e);s.length;){if(l=s[0],String(l.name)!=="enumerate"&&(!c[l.name]||c[l.name].apply(c,l.args)===!1))break;s.shift()}c.exec(t).done(function(t){if(s.length){var r=u.array(t,{errorHandler:i.errorHandler});n.each(s,function(){r=r[this.name].apply(r,this.args)}),r.done(n.proxy(o.resolve,o)).fail(n.proxy(o.reject,o))}else o.resolve(t)}).fail(a)}catch(v){a(v)}return o.promise()},e={};return n.each(["sortBy","thenBy","filter","slice","select","groupBy"],function(){var n=this;e[n]=function(){return u.remote(t,i,f.concat(o(n,arguments)))}}),n.each(["count","min","max","sum","avg","aggregate","enumerate"],function(){var n=this;e[n]=function(){return s.call(this,o(n,arguments))}}),e}}(jQuery,DevExpress),function(n,t,i){var u=t.data,o=u.Guid,h="application/json;odata=verbose",l="text/plain",a=function(t,i){var u;t=n.extend({method:"get",url:"",params:{},payload:null,headers:{Accept:[h,l].join()}},t),i=i||{},u=i.beforeSend,u&&u(t);var o=(t.method||"get").toLowerCase(),r=o==="get",f=r&&i.jsonp,s=n.extend({},t.params),c=r?s:JSON.stringify(t.payload),a=!r&&n.param(s),e=t.url,v=!r&&h;return a&&(e+=(e.indexOf("?")>-1?"&":"?")+a),f&&(c.$format="json"),{url:e,data:c,dataType:f?"jsonp":"json",jsonp:f&&"$callback",type:o,timeout:3e4,headers:t.headers,contentType:v,xhrFields:{withCredentials:!0}}},s=function(t,i){var r=n.Deferred();return n.ajax(a(t,i)).always(function(t,u){var f=p(t,u),e=f.error,o=f.data,h=f.nextUrl;e?r.reject(e):i.countOnly?r.resolve(f.count):h?s({url:h},i).fail(n.proxy(r.reject,r)).done(function(n){r.resolve(o.concat(n))}):r.resolve(o)}),r.promise()},v=function(n){var t,i=n;for(("message"in n)&&(t=n.message.value?n.message.value:n.message);i=i.innererror||i.internalexception;)if(t=i.message,i.internalexception&&t.indexOf("inner exception")===-1)break;return t},y=function(t,i){var o;if(i==="nocontent")return null;var r=200,f="Unknown error",s,e=t;if(i!=="success"){r=t.status,f=u.utils.errorMessageFromXhr(t,i);try{e=n.parseJSON(t.responseText)}catch(h){}}return(o=e&&e.error,o)?(f=v(o)||f,r===200&&(r=500),e.error.code&&(r=Number(e.error.code)),n.extend(Error(f),{httpStatus:r,errorDetails:o})):r!==200?n.extend(Error(f),{httpStatus:r}):void 0},p=function(t,i){var u=y(t,i),r;return u?{error:u}:n.isPlainObject(t)?(r=t.d,!r)?{error:Error("Malformed or unsupported JSON response received")}:(r=r.results||r,c(r),{data:r,nextUrl:t.d.__next,count:t.d.__count}):{data:t}},f=t.Class.inherit({ctor:function(n){this._value=n},valueOf:function(){return this._value}}),w=function(){var n=function(n){return n=String(n),n.length<2&&(n="0"+n),n};return function(t){var i=["datetime'",t.getUTCFullYear(),"-",n(t.getUTCMonth()+1),"-",n(t.getUTCDate())];return(t.getUTCHours()||t.getUTCMinutes()||t.getUTCSeconds()||t.getUTCMilliseconds())&&(i.push("T",n(t.getUTCHours()),":",n(t.getUTCMinutes()),":",n(t.getUTCSeconds())),t.getUTCMilliseconds()&&i.push(".",t.getUTCMilliseconds())),i.push("'"),i.join("")}}(),r=function(n){return n.replace(/\./g,"/")},e=function(n){return n instanceof Date?w(n):n instanceof o?"guid'"+n+"'":n instanceof f?n.valueOf():typeof n=="string"?"'"+n.replace(/'/g,"''")+"'":String(n)},b=function(t){if(n.isPlainObject(t)){var i=[];return n.each(t,function(n,t){i.push(r(n)+"="+e(t))}),i.join()}return e(t)},c=function(t){n.each(t,function(n,i){if(i!==null&&typeof i=="object")c(i);else if(typeof i=="string"){var r=i.match(/^\/Date\((-?\d+)((\+|-)?(\d+)?)\)\/$/);r&&(t[n]=new Date(Number(r[1])+r[2]*6e4))}})},k={String:function(n){return n+""},Int32:function(n){return~~n},Int64:function(n){return n instanceof f?n:new f(n+"L")},Guid:function(n){return n instanceof o?n:new o(n)}},d=function(){var t=function(n){return function(t,i,r){r.push(t," ",n," ",i)}},i=function(n,t){return function(i,r,u){t?u.push(n,"(",r,",",i,")"):u.push(n,"(",i,",",r,")")}},o={"=":t("eq"),"<>":t("ne"),">":t("gt"),">=":t("ge"),"<":t("lt"),"<=":t("le"),startswith:i("startswith"),endswith:i("endswith"),contains:i("substringof",!0),notcontains:i("not substringof",!0)},s=function(n,t){n=u.utils.normalizeBinaryCriterion(n),o[n[1]](r(n[0]),e(n[2]),t)},h=function(t,i){var r=!1;n.each(t,function(){n.isArray(this)?(r&&i.push(" and "),i.push("("),f(this,i),i.push(")"),r=!0):(i.push(/and|&/i.test(this)?" and ":" or "),r=!1)})},f=function(t,i){n.isArray(t[0])?h(t,i):s(t,i)};return function(n){var t=[];return f(n,t),t.join("")}}(),g=function(t){var e=[],u=[],f,o,h,c,l=function(){return o||h!==i},a=function(n,t,i){if(l()||typeof n!="string")return!1;i&&(e=[]);var u=r(n);t&&(u+=" desc"),e.push(u)},v=function(){var u={};return t.expand&&n.each(n.makeArray(t.expand),function(){u[r(this)]=1}),f&&n.each(f,function(){var n=this.split(".");n.length<2||(n.pop(),u[r(n.join("."))]=1)}),n.map(u,function(n,t){return t}).join()||i},y=function(){var n={};return c||(e.length&&(n.$orderby=e.join(",")),o&&(n.$skip=o),h!==i&&(n.$top=h),f&&(n.$select=r(f.join())),n.$expand=v()),u.length&&(n.$filter=d(u.length<2?u[0]:u)),c&&(n.$inlinecount="allpages",n.$top=0),n};return{exec:function(i){return s({url:i,params:n.extend(y(),t&&t.params)},{beforeSend:t.beforeSend,jsonp:t.jsonp,countOnly:c})},sortBy:function(n,t){return a(n,t,!0)},thenBy:function(n,t){return a(n,t,!1)},slice:function(n,t){if(l())return!1;o=n,h=t},filter:function(t){if(l()||n.isFunction(t))return!1;n.isArray(t)||(t=n.makeArray(arguments)),u.length&&u.push("and"),u.push(t)},select:function(t){if(f||n.isFunction(t))return!1;n.isArray(t)||(t=n.makeArray(arguments)),f=t},count:function(){c=!0}}};n.extend(!0,u,{EdmLiteral:f,utils:{odata:{sendRequest:s,serializePropName:r,serializeValue:e,serializeKey:b,keyConverters:k}},queryAdapters:{odata:g}})}(jQuery,DevExpress),function(n,t){var o=t.Class,r=t.abstract,u=t.data,f=u.utils.normalizeSortingInfo,s=["loading","loaded","modifying","modified","inserting","inserted","updating","updated","removing","removed"],e=function(t,i){return t=t.groupBy(i[0].selector),i.length>1&&(t=t.select(function(t){return n.extend({},t,{items:e(u.query(t.items),i.slice(1)).toArray()})})),t};u.Store=o.inherit({ctor:function(t){var i=this;t=t||{},n.each(s,function(){var r=i[this]=n.Callbacks();this in t&&r.add(t[this])}),this._key=t.key,this._keyGetter=u.utils.compileGetter(this._key),this._errorHandler=t.errorHandler},customLoadOptions:function(){return null},key:function(){return this._key},keyOf:function(n){return this._keyGetter(n)},_requireKey:function(){if(!this._key)throw Error("Key expression is required for this operation");},load:function(n){var t=this;return n=n||{},this.loading.fire(n),this._loadImpl(n).done(function(n){t.loaded.fire(n)})},_loadImpl:function(t){var o=t.filter,u=t.sort,s=t.select,r=t.group,h=t.skip,c=t.take,i=this.createQuery(t);return o&&(i=i.filter(o)),r&&(r=f(r)),u&&(u=f(u),r&&(u=r.concat(u)),n.each(u,function(n){i=i[n?"thenBy":"sortBy"](this.selector,this.desc)})),r&&(i=e(i,r)),(c||h)&&(i=i.slice(h||0,c)),s&&(i=i.select(s)),i.enumerate()},createQuery:r,byKey:function(n,t){return this._addFailHandlers(this._byKeyImpl(n,t))},_byKeyImpl:r,insert:function(n){var t=this;return t.modifying.fire(),t.inserting.fire(n),t._addFailHandlers(t._insertImpl(n).done(function(n,i){t.inserted.fire(n,i),t.modified.fire()}))},_insertImpl:r,update:function(n,t){var i=this;return i.modifying.fire(),i.updating.fire(n,t),i._addFailHandlers(i._updateImpl(n,t).done(function(n,t){i.updated.fire(n,t),i.modified.fire()}))},_updateImpl:r,remove:function(n){var t=this;return t.modifying.fire(),t.removing.fire(n),t._addFailHandlers(t._removeImpl(n).done(function(n){t.removed.fire(n),t.modified.fire()}))},_removeImpl:r,_addFailHandlers:function(n){return n.fail(this._errorHandler,u._handleError)}})}(jQuery,DevExpress),function(n,t,i){var r=t.data,e=r.Guid,u=function(){var i=n.Deferred();return i.resolve.apply(i,arguments).promise()},f=function(){var i=n.Deferred();return i.reject.apply(i,arguments).promise()};r.ArrayStore=r.Store.inherit({ctor:function(t){t=n.isArray(t)?{data:t}:t||{},this.callBase(t),this._array=t.data||[]},createQuery:function(){return r.query(this._array,{errorHandler:this._errorHandler})},_byKeyImpl:function(n){return u(this._array[this._indexByKey(n)])},_insertImpl:function(t){var s=this.key(),r,o={};if(n.extend(o,t),s){if(r=this.keyOf(o),r===i||typeof r=="object"&&n.isEmptyObject(r)){if(n.isArray(s))throw Error("Compound keys cannot be auto-generated");r=o[s]=String(new e)}else if(this._array[this._indexByKey(r)]!==i)return f(Error("Attempt to insert an item with the duplicate key"))}else r=o;return this._array.push(o),u(t,r)},_updateImpl:function(t,i){var r,e;if(this.key()){if(e=this._indexByKey(t),e<0)return f(Error("Data item not found"));r=this._array[e]}else r=t;return n.extend(!0,r,i),u(t,i)},_removeImpl:function(n){var t=this._indexByKey(n);return t>-1&&this._array.splice(t,1),u(n)},_indexByKey:function(n){for(var t=0,i=this._array.length;t<i;t++)if(r.utils.keysEqual(this.key(),this._keyGetter(this._array[t]),n))return t;return-1}})}(jQuery,DevExpress),function(n,t){var f=t.Class,r=t.abstract,u=t.data,e=f.inherit({ctor:function(t,i){var u,f,r;if(this._store=t,this._dirty=!1,u=this._immediate=i.immediate,f=Math.max(100,i.flushInterval||1e4),!u){r=n.proxy(this.save,this),setInterval(r,f);n(window).on("beforeunload",r);window.cordova&&document.addEventListener("pause",r,!1)}},notifyChanged:function(){this._dirty=!0,this._immediate&&this.save()},load:function(){this._store._array=this._loadImpl(),this._dirty=!1},save:function(){this._dirty&&(this._saveImpl(this._store._array),this._dirty=!1)},_loadImpl:r,_saveImpl:r}),o=e.inherit({ctor:function(n,t){this.callBase(n,t);var i=t.name;if(!i)throw Error("Name is required");this._key="dx-data-localStore-"+i},_loadImpl:function(){var n=localStorage.getItem(this._key);return n?JSON.parse(n):[]},_saveImpl:function(n){n.length?localStorage.setItem(this._key,JSON.stringify(n)):localStorage.removeItem(this._key)}}),s={dom:o};u.LocalStore=u.ArrayStore.inherit({ctor:function(n){n=typeof n=="string"?{name:n}:n||{},this.callBase(n),this._backend=new s[n.backend||"dom"](this,n),this._backend.load()},clear:function(){this._array=[],this._backend.notifyChanged()},_insertImpl:function(t){var i=this._backend;return this.callBase(t).done(n.proxy(i.notifyChanged,i))},_updateImpl:function(t,i){var r=this._backend;return this.callBase(t,i).done(n.proxy(r.notifyChanged,r))},_removeImpl:function(t){var i=this._backend;return this.callBase(t).done(n.proxy(i.notifyChanged,i))}})}(jQuery,DevExpress),function(n,t){var h=t.Class,r=t.data,u=r.utils.odata,f=function(t){if(!t)return t;var i={};return n.each(t,function(n,t){i[n]=u.serializeValue(t)}),i},e=function(n,t){var i=u.keyConverters[n];if(!i)throw Error("Unknown key type: "+n);return i(t)},o={_extractServiceOptions:function(n){n=n||{},this._url=String(n.url).replace(/\/+$/,""),this._beforeSend=n.beforeSend,this._jsonp=n.jsonp},_sendRequest:function(n,t,i,r){return u.sendRequest({url:n,method:t,params:i||{},payload:r},{beforeSend:this._beforeSend,jsonp:this._jsonp})}},s=r.Store.inherit({ctor:function(n){this.callBase(n),this._extractServiceOptions(n),this._name=n.name,this._keyType=n.keyType},customLoadOptions:function(){return["expand","customQueryParams"]},_byKeyImpl:function(t,i){var r={};return i&&i.expand&&(r.$expand=n.map(n.makeArray(i.expand),u.serializePropName).join()),this._sendRequest(this._byKeyUrl(t),"GET",r)},createQuery:function(n){return n=n||{},r.query(this._url,{beforeSend:this._beforeSend,errorHandler:this._errorHandler,jsonp:this._jsonp,params:f(n.customQueryParams),expand:n.expand})},_insertImpl:function(t){this._requireKey();var r=this,i=n.Deferred();return n.when(this._sendRequest(this._url,"POST",null,t)).done(function(n){i.resolve(t,r._keyGetter(n))}).fail(n.proxy(i.reject,i)),i.promise()},_updateImpl:function(t,i){var r=n.Deferred();return n.when(this._sendRequest(this._byKeyUrl(t),"MERGE",null,i)).done(function(){r.resolve(t,i)}).fail(n.proxy(r.reject,r)),r.promise()},_removeImpl:function(t){var i=n.Deferred();return n.when(this._sendRequest(this._byKeyUrl(t),"DELETE")).done(function(){i.resolve(t)}).fail(n.proxy(i.reject,i)),i.promise()},_byKeyUrl:function(t){var i=this._keyType;return n.isPlainObject(i)?n.each(i,function(n,i){t[n]=e(i,t[n])}):i&&(t=e(i,t)),this._url+"("+encodeURIComponent(u.serializeKey(t))+")"}}).include(o),c=h.inherit({ctor:function(t){var i=this;i._extractServiceOptions(t),i._errorHandler=t.errorHandler,n.each(t.entities||[],function(r,u){i[r]=new s(n.extend({},t,{url:i._url+"/"+encodeURIComponent(u.name||r)},u))})},get:function(n,t){return this.invoke(n,t,"GET")},invoke:function(t,i,u){u=u||"POST";var e=n.Deferred();return n.when(this._sendRequest(this._url+"/"+encodeURIComponent(t),u,f(i))).done(function(n){n&&t in n&&(n=n[t]),e.resolve(n)}).fail([this._errorHandler,r._handleError,n.proxy(e.reject,e)]),e.promise()},objectLink:function(n,t){var i=this[n];if(!i)throw Error("Unknown entity name or alias: "+n);return{__metadata:{uri:i._byKeyUrl(t)}}}}).include(o);n.extend(r,{ODataStore:s,ODataContext:c})}(jQuery,DevExpress),function(n,t){function r(n){return function(t,i){t&&t.getResponseHeader?n.reject(Error(u.utils.errorMessageFromXhr(t,i))):n.reject.apply(n,arguments)}}function f(n){return"_customize"+t.inflector.camelize(n,!0)}function e(n){return"_"+n+"Path"}var u=t.data;u.RestStore=u.Store.inherit({ctor:function(t){var i=this;i.callBase(t),t=t||{},i._url=String(t.url).replace(/\/+$/,""),i._jsonp=t.jsonp,n.each(["Load","Insert","Update","Remove","ByKey","Operation"],function(){var n=t["customize"+this];n&&(i[f(this)]=n)}),n.each(["load","insert","update","remove","byKey"],function(){var n=t[this+"Path"];n&&(i[e(this)]=n)})},_loadImpl:function(t){var i=n.Deferred(),u={url:this._formatUrlNoKey("load"),type:"GET"};return n.when(this._createAjax(u,"load",t)).done(n.proxy(i.resolve,i)).fail(r(i)),this._addFailHandlers(i.promise())},createQuery:function(){throw Error("Not supported");},_insertImpl:function(t){var i=n.Deferred(),u=this,f={url:this._formatUrlNoKey("insert"),type:"POST",contentType:"application/json",data:JSON.stringify(t)};return n.when(this._createAjax(f,"insert")).done(function(n){i.resolve(t,u.key()&&u._keyGetter(n))}).fail(r(i)),i.promise()},_updateImpl:function(t,i){var u=n.Deferred(),f={url:this._formatUrlWithKey("update",t),type:"PUT",contentType:"application/json",data:JSON.stringify(i)};return n.when(this._createAjax(f,"update")).done(function(){u.resolve(t,i)}).fail(r(u)),u.promise()},_removeImpl:function(t){var i=n.Deferred(),u={url:this._formatUrlWithKey("remove",t),type:"DELETE"};return n.when(this._createAjax(u,"remove")).done(function(){i.resolve(t)}).fail(r(i)),i.promise()},_byKeyImpl:function(t){var i=n.Deferred(),u={url:this._formatUrlWithKey("byKey",t),type:"GET"};return n.when(this._createAjax(u,"byKey")).done(function(n){i.resolve(n)}).fail(r(i)),i.promise()},_createAjax:function(t,i,r){function o(n){return"done"in n&&"fail"in n}var e,u;if(this._jsonp&&t.type==="GET"?t.dataType="jsonp":n.extend(!0,t,{xhrFields:{withCredentials:!0}}),e=this[f("operation")],e&&(u=e(t,i,r),u)){if(o(u))return u;t=u}if(e=this[f(i)],e&&(u=e(t,r),u)){if(o(u))return u;t=u}return n.ajax(t)},_formatUrlNoKey:function(t){var r=this._url,i=this[e(t)];return i?n.isFunction(i)?i(r):r+"/"+i:r},_formatUrlWithKey:function(t,i){var u=this._url,r=this[e(t)];return r?n.isFunction(r)?r(u,i):u+"/"+r+"/"+encodeURIComponent(i):u+"/"+encodeURIComponent(i)}})}(jQuery,DevExpress),function(n,t){var r=t.data;r.SimpleStore=r.Store.inherit({ctor:function(n){var t=this;t.callBase(n),n=n||{},t.changed=n.changed,t.userLoadCallback=n.load,t.userLookupCallback=n.lookup},_loadImpl:function(t){var r,i;if(!this.userLoadCallback)throw new Error("Load callback was not defined");return r={refresh:t.refresh},r.searchString=t.searchString,i=this.userLoadCallback(r),i||(i=(new n.Deferred).resolve([])),n.isArray(i)&&(i=(new n.Deferred).resolve(i)),i},lookup:function(t,i,r){if(!this.userLookupCallback)throw new Error("Lookup callback was not defined");var u=this.userLookupCallback(t,i,r);return n.isArray(u)&&(u=u[0]),u||(u=(new n.Deferred).resolve([])),u.done||(u=(new n.Deferred).resolve(u)),u}})}(jQuery,DevExpress),function(n,t,i){var r=t.data,c=t.Class,s="__key__",l=n.Deferred().resolve([]).promise(),f=c.inherit({ctor:function(t){t=t||{};var u=t.store;n.isArray(u)&&(u=new r.ArrayStore(u)),this._store=u,this._storeLoadOptions=this._extractLoadOptions(t),this._mapFunc=t.map,this._postProcessFunc=t.postProcess,this._pageIndex=0,this._pageSize=t.pageSize!==i?t.pageSize:20,this._items=[],this._updateMode=t.updateMode||"item",this._isLoaded=!1,this._paginate=t.paginate,this._paginate===i&&(this._paginate=!this._isGrouped()),this._isLastPage=!this._paginate,this.changed=n.Callbacks(),this.loadError=n.Callbacks(),u.updated.add(this._storeUpdatedHandler=n.proxy(this._handleStoreUpdated,this)),u.inserted.add(this._storeInsertedHandler=n.proxy(this._handleStoreInserted,this)),u.removed.add(this._storeRemovedHandler=n.proxy(this._handleStoreRemoved,this)),this._customizeFilters=n.Callbacks()},dispose:function(){this.changed.empty(),this.loadError.empty(),this._store.updated.remove(this._storeUpdatedHandler),delete this._storeUpdatedHandler,this._store.inserted.remove(this._storeInsertedHandler),delete this._storeInsertedHandler,this._store.removed.remove(this._storeRemovedHandler),delete this._storeRemovedHandler,delete this._store,this._disposed=!0},_extractLoadOptions:function(t){var r={},i=["sort","filter","select","group"],u=this._store.customLoadOptions();return u&&(i=i.concat(u)),n.each(i,function(){r[this]=t[this]}),r},loadOptions:function(){return this._storeLoadOptions},_accessStoreLoadOption:function(n,t){var i=this._storeLoadOptions;if(arguments.length<2)return i[n];i[n]=t,this.reload()},filter:function(t){if(!arguments.length)return this._accessStoreLoadOption("filter");t&&!n.isArray(t)&&(t=n.makeArray(arguments)),this._accessStoreLoadOption("filter",t)},clearFilter:function(){this.filter(null)},sortBy:function(n){arguments.length>1&&(n={selector:arguments[0],desc:arguments[1]}),this._accessStoreLoadOption("sort",n)},clearSort:function(){this.sortBy(null)},store:function(){return this._store},key:function(){return this._store&&this._store.key()},_isGrouped:function(){return!!this._storeLoadOptions.group},_assignPageIndex:function(n){this._pageIndex!==n&&(this._pageIndex=n,this.load())},reload:function(n){return this._pageIndex=0,this._isLastPage=!this._paginate,this._loadCore(n)},load:function(n){return this._loadCore(n)},isLoaded:function(){return this._isLoaded},lookup:function(t){var r=new n.Deferred,i=this,f=t.key,u;return t.lookupExpression=t.lookupExpression||i.key(),this._store.lookup?this._store.lookup(f).done(function(n){if(!i._disposed){var t=i._transformLoadedData(n);r.resolve(t[0])}}):t.lookupExpression&&t.lookupExpression===i.key()?this._loadSingleByKey(f).done(function(n){r.resolve(n)}):(u=i._store.toDataSource(),u.load({searchString:f,searchMethod:"=",searchField:t.lookupExpression,silent:!0}).done(function(){if(!i._disposed){var n=u.items(),t=i._transformLoadedData(n);r.resolve(t[0])}}).always(function(){u.dispose()})),r},nextPage:function(t){if(t=t===i?!0:t,this._isLastPage)return l;this._pageIndex++;var r={append:t};return n.extend(r,this._searchCondition),this._loadCore(r)},_loadCore:function(r){var h;r=r||{};var f=this,o=n.Deferred(),c=f.loadError,e=n.extend(!0,{},f._storeLoadOptions),s;return!this.userDataSource&&(r.searchField||e.searchFilter)&&(e.filter&&!n.isArray(e.filter[0])&&(e.filter=[e.filter]),e.filter=e.filter||[],s=r.searchField?[r.searchField,r.searchMethod||"contains",r.searchString]:e.searchFilter,e.filter.push(s),f._storeLoadOptions.searchFilter=s),this._paginate&&f._pageSize&&n.extend(e,{skip:f._pageIndex*f._pageSize,take:f._pageSize}),n.extend(e,{refresh:!f._paginate||f._pageIndex===0,searchString:r.searchString}),h=function(){return f._disposed?i:n.when(f._store.load(e)).done(function(n){t.utils.executeAsync(function(){if(!f._disposed){var t=f._items;n=f._transformLoadedData(n),r.append||t.splice(0,t.length),t.push.apply(t,n),(!n.length||!f._paginate||f._pageSize&&n.length<f._pageSize)&&(f._isLastPage=!0),f._isLoaded=!0,r.silent||f.changed.fire(),o.resolve(n)}})}).fail(n.proxy(o.reject,o))},u.locked()?u.addTask(h):h(),o.promise().fail(n.proxy(c.fire,c))},_loadSingleByKey:function(t){var i=this,r=n.Deferred();return i._disposed||n.when(i._store.byKey(t)).done(function(n){if(!i._disposed){var t=i._transformLoadedData(n);r.resolve(t[0])}}),r.promise()},_transformLoadedData:function(t){var i=this,r;return r=n.map(n.makeArray(t),function(t,r){var f=i._store.keyOf(t),u;return u=i._mapFunc?i._mapFunc(t,r):typeof t=="object"?n.extend({},t):t,typeof t=="object"&&(u[s]=f),u}),i._postProcessFunc&&(r=i._postProcessFunc(r)),r},_localIndexByKey:function(n){for(var i=this._items,f=i.length,e=this._store.key(),u,t=0;t<f;t++)if(u=i[t][s],r.utils.keysEqual(e,u,n))return t;return-1},_handleStoreUpdated:function(n){var t=this,i;switch(t._updateMode){case"full":this.reload();break;case"item":if(t._isGrouped())return;if(i=this._localIndexByKey(n),i<0)return;t._loadSingleByKey(n).done(function(n){t._items.splice(i,1,n),t.changed.fire()})}},_handleStoreInserted:function(n,t){var i=this;switch(i._updateMode){case"full":i.reload();break;case"item":if(i._isGrouped())return;i._loadSingleByKey(t).done(function(n){i._items.push(n),i.changed.fire()})}},_handleStoreRemoved:function(n){var t=this,i;switch(t._updateMode){case"full":t.reload();break;case"item":if(t._isGrouped())return;if(i=this._localIndexByKey(n),i<0)return;t._items.splice(i,1),t.changed.fire()}}}),e=f.inherit({items:function(){return this._items},pageIndex:function(n){if(n===i)return this._pageIndex;this._assignPageIndex(n)},isLastPage:function(){return this._isLastPage}}),o=f.inherit({ctor:function(n,t){this.callBase(n,t);var i=ko.observable();this.changed.add(function(){i.notifySubscribers()}),this.items=ko.computed(function(){return i(),this._items},this),this.pageIndex=ko.computed({read:function(){return i(),this._pageIndex},write:function(n){this._assignPageIndex(n)}},this),this.isLastPage=ko.computed(function(){return i(),this._isLastPage},this)},dispose:function(){this.callBase(),this.items.dispose(),this.pageIndex.dispose(),this.isLastPage.dispose()}}),h,u;r.Store.redefine({toDataSource:function(t,i){var r;if(t=n.extend({store:this},t),n.isFunction(i))r=new i(t);else switch(i){case"simple":r=new e(t);break;default:r=new o(t)}return r&&this.changed&&n.isFunction(this.changed.add)&&this.changed.add(function(){r.reload()}),t.userDataSource&&(r.userDataSource=t.userDataSource),r}}),h=function(n){var i=window.ko?o:e;return new t.data.SimpleStore(n).toDataSource({pageSize:null,userDataSource:!0},i)},u=new function(){var r=[],i=0,u=function(){i++},f=function(){i--,i<1&&(n.each(r,function(){t.enqueue(this)}),r=[])};return{obtain:u,release:f,locked:function(){return i>0},addTask:function(n){r.push(n)}}},n.extend(!0,r,{DataSource:f,KoDataSource:o,SimpleDataSource:e,createDataSource:h,utils:{DataSourceLoadLock:u}})}(jQuery,DevExpress),DevExpress.social={},function(n,t,i){var ut=t.social,r=window.location,ft=window.navigator,p=window.encodeURIComponent,et=window.decodeURIComponent,o=ft.standalone,s=!1,y;if(window.cordova)n(document).on("deviceready",function(){s=!0});var w="dx-facebook-access-token",h="dx-facebook-step1",c="dx-facebook-step2",u=null,b=null,k=n.Callbacks(),f,d=function(){return!!u},ot=function(){return{accessToken:u,expiresIn:u?b:0}},l=ut.Facebook={loginRedirectUrl:"FacebookLoginCallback.html",connectionChanged:k,isConnected:d,getAccessTokenObject:ot,jsonp:!1},st=function(n,t){t=t||{},f=s?"https://www.facebook.com/connect/login_success.html":ht();var u=(t.permissions||[]).join(),i="https://www.facebook.com/dialog/oauth?display=popup&client_id="+n+"&redirect_uri="+p(f)+"&scope="+p(u)+"&response_type=token";o&&e(h,r.href),s?lt(i):ct(i)},ht=function(){var n=r.pathname.split(/\//g);return n.pop(),n.push(l.loginRedirectUrl),r.protocol+"//"+r.host+n.join("/")},ct=function(n){var t=512,i=320,r=(screen.width-t)/2,u=(screen.height-i)/2;window.open(n,null,"width="+t+",height="+i+",toolbar=0,scrollbars=0,status=0,resizable=0,menuBar=0,left="+r+",top="+u)},lt=function(n){var t=window.open(n,"_blank");t.addEventListener("exit",function(){f=null}),t.addEventListener("loadstop",function(n){var i=unescape(n.url);i.indexOf(f)===0&&(t.close(),a(i))})},at=function(){var n=window.opener;o?(e(c,r.href),r.href=v(h)):n&&n.DevExpress&&(n.DevExpress.social.Facebook._processLoginRedirectUrl(r.href),window.close())},a=function(n){var t=vt(n);b=t.expires_in,g(t.access_token),f=null},vt=function(t){var r=t.split("#")[1],u,i;return r?(u=r.split(/&/g),i={},n.each(u,function(){var t=this.split("=");i[t[0]]=et(t[1])}),i):{}},yt=function(){g(null)},g=function(n){n!==u&&(u=n,e(w,n),k.fire(!!n))},nt=function(t,r,f){if(!d())throw Error("Not connected");typeof r!="string"&&(f=r,r=i),r=(r||"get").toLowerCase();var e=n.Deferred(),o=arguments;return n.ajax({url:"https://graph.facebook.com/"+t,type:r,data:n.extend({access_token:u},f),dataType:l.jsonp&&r==="get"?"jsonp":"json"}).done(function(n){n=n||tt(),n.error?e.reject(n.error):e.resolve(n)}).fail(function(i){var u,s;try{if(u=n.parseJSON(i.responseText),s=o[3]||0,s++<3&&u.error.code==190&&u.error.error_subcode==466){setTimeout(function(){nt(t,r,f,s).done(function(n){e.resolve(n)}).fail(function(n){e.reject(n)})},500);return}}catch(h){u=tt()}e.reject(u.error)}),e.promise()},tt=function(){return{error:{message:"Unknown error"}}},it=function(){if(!rt())throw Error("HTML5 sessionStorage or jQuery.cookie plugin is required");},rt=function(){return!!(n.cookie||window.sessionStorage)},e=function(t,i){it(),i=JSON.stringify(i),window.sessionStorage?i===null?sess.removeItem(t):sessionStorage.setItem(t,i):n.cookie(t,i)},v=function(t){it();try{return JSON.parse(window.sessionStorage?sessionStorage.getItem(t):n.cookie(t))}catch(i){return null}};rt()&&(u=v(w)),o&&(y=v(c),y&&(a(y),e(h,null),e(c,null))),n.extend(l,{login:st,logout:yt,handleLoginRedirect:at,_processLoginRedirectUrl:a,api:nt})}(jQuery,DevExpress),function(n,t){var r=t.ui={},e=function(i){var e,r;i=n.extend({},i);var u=i.allowZoom,f=i.allowPan,o="meta[name=viewport]";if(n(o).length||n("<meta />").attr("name","viewport").appendTo("head"),e=["width=device-width"],r=[],u?r.push("pinch-zoom"):e.push("initial-scale=1.0","maximum-scale=1.0"),f&&r.push("pan-x","pan-y"),f||u?n("html").css("-ms-overflow-style","-ms-autohiding-scrollbar"):n("html, body").css("overflow","hidden"),n(o).attr("content",e.join()),n("html").css("-ms-touch-action",r.join(" ")||"none"),t.support.touch)n(document).on("touchmove",function(n){var t=n.originalEvent.touches.length;(!f&&t===1||!u&&t>1)&&n.preventDefault()})},o=function(){var i=60,r=/iphone|ipod/i.test(navigator.appVersion),u=!navigator.standalone&&/safari/i.test(navigator.userAgent),f=function(){window.scrollTo(0,1)},t=function(n){return n.is(":input")};return function(e){var o,h=n(e.target),s=n(document.activeElement),c=e.type==="touchstart";if(c){if(t(h))return;t(s)&&s.blur()}else if(t(s))return;r&&u&&(o=n(window).height()+i,n(document.body).height()!==o&&n(document.body).height(o)),setTimeout(f,0)}}(),s=function(){var n=window.pageYOffset},f,u;if(t.devices.current().ios){n(window).on("load resize touchstart",o);n(function(){n(document.body).on("focusout",s)})}f=t.Class.inherit({getTemplateClass:function(){return u},supportDefaultTemplate:function(){return!1},getDefaultTemplate:function(){return null}}),u=t.Class.inherit({ctor:function(t){this._template=this._element=n(t)},render:function(n){return n.append(this._template),this._template}}),t.registerActionExecutor({designMode:{validate:function(n){!t.designMode||n.context instanceof r.dxScrollable||n.context instanceof r.dxScrollView||(n.canceled=!0)}},gesture:{validate:function(n){var i=n.args,t=n.context,u=i.length&&i[0].component;!r.gestureUtils.hasRecent()||t===r.dxSwipeable||t instanceof r.dxScrollable||t instanceof r.dxScrollView||u instanceof r.dxSwipeable||u instanceof r.dxScrollable||(n.canceled=!0)}},disabled:{validate:function(n){if(n.args.length){var t=n.args[0].element;t&&t.is(".dx-state-disabled, .dx-state-disabled *")&&(n.canceled=!0)}}},disabledCollectionContainerWidgetItem:{validate:function(n){if(n.args.length){var t=n.args[0].itemElement;t&&t.is(".dx-state-disabled *")&&(n.canceled=!0)}}}}),n.extend(r,{TemplateProvider:f,Template:u,initViewport:e})}(jQuery,DevExpress),function(n,t,i){var r=window.ko,h,g;if(r){if(parseFloat(r.version)<2.2)throw Error("Your version of KnockoutJS is too old. Please upgrade KnockoutJS to 2.2.0 or later.");var e=t.ui,y=t.inflector,o="data-bind",p="unknown",tt="_",c="dxKoLocks",l="M2O",a="O2M",w="dxKoCreation",s=r.bindingProvider.instance,b=r.jsonExpressionRewriting.parseObjectLiteral,v=n("<div><\/div>"),it=function(n){return n in e&&e[n].subclassOf&&e[n].subclassOf(e.Component)},k=function(n){return n.replace(/^['"]|['"]$/g,"")},d=function(t){var i;if(t=n(t),i=t.attr(o),i){var f=b(i),r=[],u=!1;n.each(f,function(){var n=k(this.key),i="data-"+y.underscore(n);it(n)&&!t.attr(i)?(u=!0,t.attr(i,this.value),r.push({key:n,value:"true"})):r.push(this)}),u&&t.attr(o,n.map(r,function(n){return n.key+": "+n.value}).join(", "))}},rt={_original:s,nodeHasBindings:function(n){return s.nodeHasBindings(n)},getBindings:function(n,t){return d(n),s.getBindings(n,t)}},ut=function(){var n={},t=function(t){return n[t]||0};return{obtain:function(i){n[i]=t(i)+1},release:function(i){var r=t(i);r===1?delete n[i]:n[i]=r-1},locked:function(n){return t(n)>0}}},ft=function(t){var i=function(i){var f=n.trim(i.attr("data-"+y.underscore(t))),r,u;return f.charAt(0)==="{"?(r=b(f),u=r[0],u&&p in u&&(r=n.trim(u[p]))):r=f,r===""&&(r=[]),r};r.bindingHandlers[t]={init:function(u){var f=n(u),y=i(f),h={},p={},b=function(n,t){v.attr(o,n+":"+t);try{return s.getBindings(v[0],r.contextFor(u))[n]}finally{v.removeAttr(o)}},d=function(n,i){var e=f.data(t),u=f.data(c),o=r.utils.unwrapObservable(i);if(e){if(u.locked(a))return;u.obtain(l);try{e.option(n,o)}finally{u.release(l)}}else h[n]=o,r.isWriteableObservable(i)&&(p[n]=i)},g=function(n,t){if(n in p){var r=this._$element,i=r.data(c);if(!i.locked(l)){i.obtain(a);try{p[n](t)}finally{i.release(a)}}}};return r.utils.domNodeDisposal.addDisposeCallback(u,function(){n.each(f.data("dxComponents")||[],function(n,t){f.data(t)._dispose()})}),typeof y=="string"?r.computed(function(){n.each(r.utils.unwrapObservable(b(tt,y)),d)},null,{disposeWhenNodeIsRemoved:u}):n.each(y,function(){var t=k(n.trim(this.key)),i=n.trim(this.value);r.computed(function(){var n=b(t,i);d(t,n)},null,{disposeWhenNodeIsRemoved:u})}),h&&(f.data(w,!0),f[t](h),h=null,f.data(c,new ut),f.data(t).optionChanged.add(g)),{controlsDescendantBindings:e[t].subclassOf(e.Widget)}}}};r.bindingProvider.instance=rt,h=e.Template.inherit({ctor:function(t){this.callBase.apply(this,arguments),this._template=n("<div />").append(t),this._cleanTemplateElement(),this._registerKoTemplate()},_cleanTemplateElement:function(){this._element.each(function(){r.cleanNode(this)})},_registerKoTemplate:function(){var n=this._template.get(0);new r.templateSources.anonymousTemplate(n).nodes(n)},render:function(t,u){var e;u=u!==i?u:r.dataFor(t.get(0))||{};var o=r.contextFor(t[0]),s=o?o.createChildContext(u):u,f=n("<div />").appendTo(t);return r.renderTemplate(this._template.get(0),s,null,f.get(0)),e=f.contents(),t.append(e),f.remove(),e}}),g=e.TemplateProvider.inherit({getTemplateClass:function(n){return this._createdWithKo(n)?h:this.callBase(n)},supportDefaultTemplate:function(n){return this._createdWithKo(n)?!0:this.callBase(n)},getDefaultTemplate:function(n){if(this._createdWithKo(n))return nt(n.NAME)},_createdWithKo:function(n){return!!n._element().data(w)}}),r.bindingHandlers.dxAction={init:function(i,u,f,e){r.bindingHandlers.click.init(i,function(){return function(){n(i).data("action").execute({element:n(i),model:e,evaluate:function(n){var u=e,f;return n.length>0&&n[0]==="$"&&(u=r.contextFor(i)),f=t.data.utils.compileGetter(n),f(u)}})}},f,e)},update:function(i,u){var o=n(i),s=r.utils.unwrapObservable(u());o.data("action",new t.Action(s,{context:o}))}};var nt=function(){var i={};return function(r){if(u[r]||(r="base"),!i[r]){var e=u[r](),f=t.utils.createMarkupFromString(e);f.each(function(){d(n(this))}),i[r]=new h(f)}return i[r]}}(),f=function(t,r,u){u=u===i?!0:u;var f=n.map(r,function(n,t){return t+":"+n}).join(",");return"<"+t+' data-bind="'+f+'">'+(u?"<\/"+t+">":"")},et={visible:"$data.visible === undefined || $data.visible",css:"{ 'dx-state-disabled': $data.disabled }"},u={base:function(){var n=[f("div",et,!1)],t=f("div",{html:"html"}),i=f("div",{text:"text"}),r=f("div",{html:"String($data)"});return n.push("<!-- ko if: $data.html -->",t,"<!-- /ko -->","<!-- ko if: !$data.html && $data.text -->",i,"<!-- /ko -->","<!-- ko ifnot: $.isPlainObject($data) -->",r,"<!-- /ko -->","<\/div>"),n.join("")}};u.dxList=function(){var n=u.base(),t=f("div",{html:"key"});return n=[n.substring(0,n.length-6),"<!-- ko if: $data.key -->"+t+"<!-- /ko -->","<\/div>"],n.join("")},u.dxToolbar=function(){var i=u.base();return i=[i.substring(0,i.length-6),"<!-- ko if: $data.widget -->"],n.each(["button","tabs","dropDownMenu"],function(){var r=t.inflector.camelize(["dx","-",this].join("")),n={};n[r]="$data.options",i.push("<!-- ko if: $data.widget === '",this,"' -->",f("div",n),"<!-- /ko -->")}),i.push("<!-- /ko -->"),i.join("")},u.dxGallery=function(){var n=u.base(),t=f("div",{html:"String($data)"}),i=f("img",{attr:"{ src: String($data) }"},!1);return n=n.replace(t,i)},u.dxTabs=function(){var n=u.base(),t=f("div",{text:"text"}),i=f("span",{attr:"{ 'class': 'dx-icon-' + $data.icon }",css:"{ 'dx-icon': true }"}),r=f("img",{attr:"{ src: $data.iconSrc }",css:"{ 'dx-icon': true }"},!1),e="<!-- ko if: $data.icon -->"+i+"<!-- /ko --><!-- ko if: !$data.icon && $data.iconSrc -->"+r+'<!-- /ko --><span class="dx-tab-text" data-bind="text: $data.text"><\/span>';return n=n.replace("<!-- ko if: !$data.html && $data.text -->","<!-- ko if: !$data.html && ($data.text || $data.icon || $data.iconSrc) -->").replace(t,e)},u.dxActionSheet=function(){return f("div",{dxButton:"{ text: $data.text, clickAction: $data.clickAction, type: $data.type, disabled: !!$data.disabled }"})},u.dxNavBar=u.dxTabs,n.extend(e,{registerComponentKoBinding:ft,TemplateProvider:g,Template:h,defaultTemplate:nt})}}(jQuery,DevExpress),function(n,t){var u=t.ui,f=t.support,r=f.touch,e=400,o=function(){var u=!1,i=null,f=n.Callbacks(),o=function(){clearTimeout(i),i=null,u=!0,f.fire()},s=function(){i||(i=setTimeout(function(){u=!1,i=null},e))},h=function(){return u},c=/^4\.0/.test(t.devices.androidVersion())&&navigator.userAgent.indexOf("Chrome")===-1,l=function(){r&&(c?a():document.activeElement&&document.activeElement.blur())},a=function(){var t=n("<input>").addClass("dx-hidden-input").appendTo("body");setTimeout(function(){t.focus(),setTimeout(function(){t.hide(),t.remove()},100)},100)},v=function(n){r&&n.preventDefault()},y=function(t){return n(t.target).is("input, textarea, select")},p=function(){u=!1,clearTimeout(i),i=null};return{gestureStartCallbacks:f,preventHangingCursor:l,preventNativeElastic:v,needSkipEvent:y,notifyStart:o,notifyEnd:s,hasRecent:h,forget:p}}();u.gestureUtils=o}(jQuery,DevExpress),function(n,t){var r=t.data,u="_dataSourceOptions",e="_handleDataSourceChanged",f="_handleDataSourceLoadError";t.ui.DataHelperMixin={ctor:function(){this.disposing.add(function(){this._disposeDataSource()})},_initDataSource:function(){var i=this,o=i.option("dataSource"),s,h=u in this?this[u]():{},c=i._dataSourceType?i._dataSourceType():r.SimpleDataSource;if(i._disposeDataSource(),o){if(n.isArray(o))s=new r.ArrayStore(o).toDataSource(h,c);else if(n.isPlainObject(o))if("load"in o)s=r.createDataSource(o);else{if(!o.store&&!t.designMode)throw Error("Please specify 'load' function for the dataSource");s=new c(n.extend(!0,{},h,o))}else if(o instanceof r.DataSource)i._sharedDataSource=!0,s=o;else if(o instanceof r.Store)s=o.toDataSource(h,c);else throw Error("Invalid dataSource option");i._dataSource=s,s.changed.add(i._dataSourceChangedHandler=function(){i._dataSourceLoading=!1,i[e](s.items())}),f in i&&s.loadError.add(i._dataSourceLoadErrorHandler=n.proxy(i[f],i))}},_loadDataSource:function(){var n=this._dataSource;n&&(n.isLoaded()?this._dataSourceChangedHandler():(this._dataSourceLoading=!0,n.load()))},_disposeDataSource:function(){this._dataSource&&(this._sharedDataSource?(delete this._sharedDataSource,this._dataSource.changed.remove(this._dataSourceChangedHandler),this._dataSource.loadError.remove(this._dataSourceLoadErrorHandler)):this._dataSource.dispose(),delete this._dataSource,delete this._dataSourceChangedHandler,delete this._dataSourceLoadErrorHandler)}}}(jQuery,DevExpress),function(n,t){var o=t.ui,s=o.gestureUtils,r=t.Class.inherit({EVENT_SOURCES_REGEX:{mouse:/^mouse/i,touch:/^touch/i,keyboard:/^key/i},EVENTS:{click:"click",start:"touchstart mousedown",move:"touchmove mousemove",end:"touchend mouseup",cancel:"touchcancel",wheel:"mousewheel"},ctor:function(n){this._namespace=n},eventSource:function(t){var i="other";return n.each(this.EVENT_SOURCES_REGEX,function(n){if(this.test(t.type))return i=n,!1}),i},isMouseEvent:function(n){return this.eventSource(n)==="mouse"},isTouchEvent:function(n){return this.eventSource(n)==="touch"},isKeyboardEvent:function(){return this.eventSource(e)==="keyboard"},eventName:function(t){var r=this,i=this.EVENTS[t]||t;return i=i.split(/\W+/g),n.each(i,function(n,t){i[n]=t+"."+r._namespace}),i.join(" ")},eventX:function(n){return this.isMouseEvent(n)?n.pageX:this.isTouchEvent(n)?n.originalEvent.touches[0].pageX:void 0},eventY:function(n){return this.isMouseEvent(n)?n.pageY:this.isTouchEvent(n)?n.originalEvent.touches[0].pageY:void 0},eventData:function(n){if(this.isMouseEvent(n))return{x:n.pageX,y:n.pageY,time:n.timeStamp};if(this.isTouchEvent(n)){var t=(n.changedTouches||n.originalEvent.changedTouches)[0];return{x:t.pageX,y:t.pageY,time:n.timeStamp}}},eventDelta:function(n,t){return{x:t.x-n.x,y:t.y-n.y,time:t.time-n.time||1}},hasTouches:function(n){return this.isMouseEvent(n)?0:this.isTouchEvent(n)?n.originalEvent.touches.length:void 0},needSkipEvent:function(n){return this.isMouseEvent(n)?s.needSkipEvent(n)||n.which!==1:this.isTouchEvent(n)?(n.changedTouches||n.originalEvent.changedTouches).length!==1:void 0}}),h=400,u=!1,f=null;t.registerActionExecutor("ignoreMouseAfterTouch",{validate:function(t){var i=t.args[0];(i&&i.jQueryEvent&&(i=i.jQueryEvent),i instanceof n.Event)&&(r.prototype.isTouchEvent(i)?(u=!0,clearTimeout(f),f=setTimeout(function(){u=!1},h)):r.prototype.isMouseEvent(i)&&u&&(t.canceled=!0))}}),t.ui.EventHelper=r}(jQuery,DevExpress),function(n,t,i){function o(t,i){t.each(function(){var t=this.getElementsByTagName?this.getElementsByTagName("*"):[],r,u;for(i&&(t=jQuery.merge([this],t)),r=0;(u=t[r])!=null;r++)n.each(y(u),function(){this._dispose()}),e&&ko.cleanNode(u)})}var f="dxComponents",e=!!window.ko,r=t.ui,u=t.data.utils,l="dx-state-disabled",a=t.Class.inherit({NAME:null,_defaultOptions:function(){return{disabled:!1}},ctor:function(i,u){this._$element=n(i),this._element().data(this.NAME,this),this._element().data(f)||this._element().data(f,[]),this._element().data(f).push(this.NAME),this._options={},this._updateLockCount=0,this._requireRefresh=!1,this._eventHelper=new r.EventHelper(this.NAME),this.optionChanged=n.Callbacks(),this.disposing=n.Callbacks(),this.beginUpdate();try{var e=t.devices.current(),o=r.optionsByDevice(e,this.NAME)||{},s=n.extend(this._defaultOptions(),o);this.option(s),this._initOptions(u||{})}finally{this.endUpdate()}},_initOptions:function(n){this.option(n)},_optionValuesEqual:function(n,t,i){return(t=u.toComparable(t,!0),i=u.toComparable(i,!0),t===null||typeof t!="object")?t===i:!1},_init:n.noop,_render:function(){this._renderDisabledState()},_clean:n.noop,_invalidate:function(){this._requireRefresh=!0},_refresh:function(){this._clean(),this._render()},_dispose:function(){this._clean(),this.optionChanged.empty(),this.disposing.fireWith(this).empty()},_renderDisabledState:function(){this._element().toggleClass(l,this.option("disabled"))},_createAction:function(i,r){var u=this,f,e,o;return r=n.extend({},r),f=r.element||u._element(),e=u._modelByElement(f),r.context=e||u,r.component=u,o=new t.Action(i,r),function(t){return n.isPlainObject(t)||(t={actionValue:t}),o.execute.call(o,n.extend(t,{component:u,element:f,model:e}))}},_createActionByOption:function(n,t){if(typeof n!="string")throw Error("Option name type is unexpected");return this._createAction(this.option(n),t)},_modelByElement:function(n){if(e&&n.length)return ko.dataFor(n.get(0))},_optionChanged:function(n){n==="disabled"?this._renderDisabledState():this._invalidate()},_element:function(){return this._$element},instance:function(){return this},beginUpdate:function(){this._updateLockCount++},endUpdate:function(){if(this._updateLockCount--,!this._updateLockCount)if(this._initializing||this._initialized)this._requireRefresh&&(this._requireRefresh=!1,this._refresh());else{this._initializing=!0;try{this._init()}finally{this._initializing=!1,this._initialized=!0}this._render()}},option:function(t){var i=this,r=t,f=arguments[1];if(arguments.length<2&&n.type(r)!=="object")return u.compileGetter(r)(i._options,{functionsAsIs:!0});typeof r=="string"&&(t={},t[r]=f),i.beginUpdate();try{n.each(t,function(n,t){var r=u.compileGetter(n)(i._options,{functionsAsIs:!0}),f;i._optionValuesEqual(n,r,t)||(u.compileSetter(n)(i._options,t,{functionsAsIs:!0,merge:!0}),f=n.split(/[.\[]/)[0],i._initialized&&(i.optionChanged.fireWith(i,[f,t,r]),i._optionChanged(f,t,r)))})}finally{i.endUpdate()}}}),v=function(t,u){r[t]=u,u.prototype.NAME=t,n.fn[t]=function(r){var s=typeof r=="string",f=this,e,o;return s?(e=r,o=n.makeArray(arguments).slice(1),this.each(function(){var r=n(this).data(t),s,u;if(!r)throw Error("Component "+t+" has not been initialized on this element");return s=r[e],u=s.apply(r,o),u!==i?(f=u,!1):void 0})):this.each(function(){var i=n(this).data(t);i?i.option(r):new u(this,r)}),f},e&&r.registerComponentKoBinding(t)},y=function(t){t=n(t);var i=t.data(f);return i?n.map(i,function(n){return t.data(n)}):[]},p=n.fn.empty,s,h,c;n.fn.empty=function(){return o(this,!1),p.apply(this,arguments)},s=n.fn.remove,n.fn.remove=function(n,t){if(!t){var i=this;n&&(i=i.filter(n)),o(i,!0)}return s.call(this,n,t)},h=n.fn.html,n.fn.html=function(n){return typeof n=="string"&&o(this,!1),h.apply(this,arguments)},c=n.parseHTML,n.parseHTML=function(){return c.apply(this,arguments)||[]},n.extend(r,{registerComponent:v,Component:a})}(jQuery,DevExpress),function(n,t,i){var u=t.ui,l="UIFeedback",f="dx-feedback",h="dx-state-active",a="dx-state-disabled",v="dx-state-invisible",y=30,p=400,r,e=new u.EventHelper(l),o=!1;u.feedback={lock:function(){o=!0},unlock:function(){window.setTimeout(function(){o=!1},0)}},u.Widget=u.Component.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{visible:!0,activeStateEnabled:!0,width:i,height:i,clickAction:null})},_init:function(){this.callBase(),this._feedbackShowTimeout=y},_render:function(){this.callBase(),this._element().addClass("dx-widget"),this._toggleVisibility(this.option("visible")),this._refreshFeedback(),this._renderDimensions(),this._renderClick()},_dispose:function(){this._clearTimers(),r&&r.closest(this._element()).length&&(r=null),this.callBase()},_clean:function(){this.callBase(),this._element().empty()},_clearTimers:function(){clearTimeout(this._feedbackHideTimer),clearTimeout(this._feedbackShowTimer)},_toggleVisibility:function(n){this._element().toggleClass(v,!n)},_renderDimensions:function(){var n=this.option("width"),t=this.option("height");this._element().width(n),this._element().height(t)},_refreshFeedback:function(){this._feedbackDisabled()?(this._feedbackOff(),this._element().removeClass(f)):this._element().addClass(f)},_renderClick:function(){var n=this._eventHelper.eventName("click");this._element().off(n).on(n,this._createActionByOption("clickAction"))},_feedbackDisabled:function(){return!this.option("activeStateEnabled")||this.option("disabled")},_feedbackOn:function(t,i){this._feedbackDisabled()||o||(this._clearTimers(),i?this._feedbackShow(t):this._feedbackShowTimer=window.setTimeout(n.proxy(this._feedbackShow,this,t),this._feedbackShowTimeout),this._saveActiveElement())},_feedbackShow:function(t){var i=this._element();this._activeStateUnit&&(i=n(t).closest(this._activeStateUnit)),i.hasClass(a)||i.addClass(h)},_saveActiveElement:function(){r=this._element()},_feedbackOff:function(t,i){this._clearTimers(),i?this._feedbackHide():this._feedbackHideTimer=window.setTimeout(n.proxy(this._feedbackHide,this),p)},_feedbackHide:function(){var n=this._element();this._activeStateUnit&&(n=n.find(this._activeStateUnit)),n.removeClass(h),this._clearActiveElement()},_clearActiveElement:function(){var i=this._element().get(0),t=r&&r.get(0);t&&(t===i||n.contains(i,t))&&(r=null)},_optionChanged:function(n,t){switch(n){case"disabled":this.callBase.apply(this,arguments);case"activeStateEnabled":this._refreshFeedback();break;case"visible":this._toggleVisibility(t);break;case"width":case"height":this._renderDimensions();break;case"clickAction":this._renderClick();break;default:this.callBase.apply(this,arguments)}}});var w=function(t,i){if(!e.needSkipEvent(t)){r&&s(r)._feedbackOff(!1,!0);var o=n(t.target).closest("."+f),u;o.length&&(u=s(o),u._feedbackOn(t.target,i),i&&u._feedbackOff())}},c=function(n){r&&s(r)._feedbackOff(n)},s=function(t){var i;return n.each(t.data("dxComponents"),function(n,r){if(u[r].subclassOf(u.Widget))return i=t.data(r),!1}),i};n(function(){var i=new t.Action(w);n(document).on(e.eventName("start"),function(n){i.execute(n)}).on(e.eventName("end")+" "+e.eventName("cancel"),function(u){var e=r&&n(u.target).closest("."+f).get(0)===r.get(0);!t.ui.gestureUtils.hasRecent()&&e&&i.execute(u,!0),c()});u.gestureUtils.gestureStartCallbacks.add(function(){c(!0)})})}(jQuery,DevExpress),function(n,t){var r=t.ui,u="template",f=function(t){var i=t.data("options");return n.trim(i).charAt(0)!=="{"&&(i="{"+i+"}"),new Function("return "+i)().dxTemplate},e=r.Widget.inherit({_init:function(){this.callBase(),this._templateProvider=new r.TemplateProvider,this._initTemplates()},_clean:n.noop,_initTemplates:function(){var t={},i=this._templateProvider.getTemplateClass(this),r=this._element().children("[data-options]");r.length?r.each(function(r,u){u=n(u);var e=f(u);if(!e.name)throw Error("Template name was not specified");t[e.name]=new i(u.get(0))}):t[u]=new i(this._element().contents()),this._templates=t},_getTemplate:function(n){var t=this._aquireTemplate.apply(this,arguments);if(!t&&this._templateProvider.supportDefaultTemplate(this)&&(t=this._templateProvider.getDefaultTemplate(this),!t))throw Error('Template "'+n+'" was not found and no default template specified!');return t},_aquireTemplate:function(t){return n.isFunction(t)&&(t=t.apply(this,n.makeArray(arguments).slice(1))),this._templates[t]}});r.ContainerWidget=e}(jQuery,DevExpress),function(n,t,i){var r=t.ui,u=r.ContainerWidget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{items:[],itemTemplate:"item",itemRender:null,itemClickAction:null,itemRenderedAction:null,noDataText:"No data to display",dataSource:null})},_init:function(){this.callBase(),this._initDataSource(),this._loadDataSource()},_optionChanged:function(n,t,i){switch(n){case"dataSource":this._clean(),this._initDataSource(),this._loadDataSource();return;case"noDataText":this._renderEmptyMessage();return;default:this.callBase(n,t,i)}},_clean:function(){this._itemContainer().empty()},_handleDataSourceChanged:function(n){this.option("items",n),this._renderEmptyMessage()},_itemContainer:function(){return this._element()},_itemClass:t.abstract,_itemSelector:function(){return"."+this._itemClass()},_itemDataKey:t.abstract,_items:function(){return this._itemContainer().find(this._itemSelector())},_render:function(){this.callBase(),this._attachClickEvent(),this._renderItems()},_renderEmptyMessage:function(){var i=this.option("noDataText"),t=this._element().find(".dx-empty-message"),r=this.option("items"),u=r&&r.length;!i||u||this._dataSourceLoading?t.remove():(t.length||(t=n("<div />").addClass("dx-empty-message").appendTo(this._itemContainer())),t.text(i))},_attachClickEvent:function(){var t=this,i=t._itemSelector();t._itemContainer().off("."+t.NAME,i).on(t._eventHelper.eventName("click"),i,n.proxy(t._handleItemClick,t))},_handleItemClick:function(n){this._handleItemEvent(n,"itemClickAction")},_renderItems:function(){var t=this.option("items")||[];t.length?n.each(t,n.proxy(this._renderItem,this)):this._renderEmptyMessage()},_renderItem:function(n,t,i){i=i||this._itemContainer();var f=this.option("itemRender"),o=this.option("itemTemplate"),e=this._getTemplate(t.template||o,n,t),r,u={index:n,item:t,container:i};return r=f?this._createItemByRenderer(f,u):e?this._createItemByTemplate(e,u):this._createItemByRenderer(this._itemRenderDefault,u),r.addClass(this._itemClass()).data(this._itemDataKey(),t),this._createActionByOption("itemRenderedAction",{element:this._element()})({itemElement:r,itemData:t}),r},_createItemByRenderer:function(t,i){var r=n("<div />").appendTo(i.container),u=t.call(this,i.item,i.index,r);return u&&r[0]!==u[0]&&r.append(u),r},_createItemByTemplate:function(n,t){return n.render(t.container,t.item)},_itemRenderDefault:function(t,r,u){n.isPlainObject(t)?(t.visible===i||t.visible||u.hide(),t.disabled&&u.addClass("dx-state-disabled"),t.text&&u.text(t.text),t.html&&u.html(t.html)):u.html(String(t))},_handleItemEvent:function(t,i,r){var u=n(t.target).closest(this._itemSelector()),f=this._createActionByOption(i,{element:this._element()}),e=n.extend({itemElement:u,itemData:u.data(this._itemDataKey()),jQueryEvent:t},r);return f(e)}}).include(r.DataHelperMixin);r.CollectionContainerWidget=u}(jQuery,DevExpress),function(n,t){t.ui.optionsByDevice=function(n,t){if(n.platform==="desktop"){switch(t){case"dxScrollable":case"dxScrollView":return{scrollByContent:!1,showScrollbar:!1};case"dxList":return{scrollingEnabled:!1,showScrollbar:!1,autoPagingEnabled:!1,showNextButton:!0}}return{}}if(n.platform==="ios"&&n.phone&&t==="dxLookup")return{fullScreen:!0};if(n.platform==="win8"&&t==="dxPopup")return{width:"60%",height:"auto"};if((n.platform==="win8"||navigator.appName==="Microsoft Internet Explorer")&&(t==="dxScrollable"||t==="dxScrollView"))return{animationStrategy:"transition"};if(t==="dxDialog"){if(n.platform==="ios")return{width:276};if(n.platform==="win8")return{width:"60%"};if(n.platform==="android")return{lWidth:"60%",pWidth:"80%"}}if(t==="dxLookup"&&n.platform==="android")return{hideCancelButton:!0}}}(jQuery,DevExpress);(function(n,t,i){var u=t.ui,e=u.gestureUtils,p=u.feedback,f=t.fx,l=t.translator,a="mousewheel"in n.event.special,o=Math,r=o.abs,g="dxScrollable",nt="cubic-bezier(0.190, 1.000, 0.220, 1.000)",w="cubic-bezier(0.250, 0.460, 0.450, 0.940)",b={normal:{duration:2500,easing:nt},bounceIn:{duration:400,easing:w},bounceOut:{duration:100,easing:w}},k="dx-scrollable-content",tt="dx-scrollable-container",s="dx-scrollable-scrollbar",it="dx-scrollable-scroll",rt=.9,ut=300,ft=1e3,et=15,ot=100,st=200,ht=100,ct=400,yt=2500,lt=.2,pt=400,at=.05,d=.5,h=70,vt=20,v=!1,c=function(n,t,i){return n<t?!1:n<=i},y=function(n,t,i){return n<t?t:n>i?i:n};u.registerComponent("dxScrollbar",u.Widget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{direction:"vertical"})},_init:function(){this.callBase();this._element().on("touchmove",function(n){n.preventDefault()});this._blinkTimeout=null,this._contentSize=0,this._containerSize=0},_render:function(){this.callBase(),this._element().addClass(s),this._scroll=n("<div />").addClass(it).css("opacity",0).appendTo(this._element()),this._setDirection()},_setDirection:function(){this._directionHelper=this.option("direction")==="horizontal"?{offsetProp:"left",sizeMethod:"width"}:{offsetProp:"top",sizeMethod:"height"},this._element().toggleClass(s+"-vertical",this.option("direction")==="vertical"),this._element().toggleClass(s+"-horizontal",this.option("direction")==="horizontal")},_calcScrollOffset:function(n){return-n/this._contentSize*this._containerSize},_dispose:function(){clearTimeout(this._blinkTimeout),this.callBase()},_optionChanged:function(n){n==="direction"&&this._setDirection(),this.callBase.apply(this,arguments)},update:function(n,t){this._contentSize=n,this._containerSize=t,this._element()[this._directionHelper.sizeMethod](t);var i=n>t?t*t/n:t;this._scroll[this._directionHelper.sizeMethod](o.max(i,et))},animate:function(t,i){var r=n.Deferred();return i=n.extend({to:{}},i),i.to[this._directionHelper.offsetProp]=this._calcScrollOffset(t),f.animate(this._scroll,i).done(function(){r.resolveWith(this)}),r.promise()},arrange:function(n){var t={};t[this._directionHelper.offsetProp]=this._calcScrollOffset(n),l.move(this._scroll,t)},toggle:function(t,i){var r=n.Deferred(),u=rt*!!t;return(clearTimeout(this._blinkTimeout),this.stop(),!i||!this.option("visible")||this.option("disabled"))?(this._scroll.css("opacity",u),r.resolveWith(this).promise()):(f.animate(this._scroll,{to:{opacity:u},duration:ut}).done(function(){r.resolveWith(this)}),r.promise())},blink:function(t){var i=this,r=n.Deferred(),u,f=n.Deferred();return u=i.toggle(!0,t),i._blinkTimeout=setTimeout(function(){i.toggle(!1,t).done(function(){f.resolve()})},ft),n.when(u,f).then(function(){r.resolveWith(i)}),r.promise()},scrollElement:function(){return this._scroll},stop:function(n){f.stop(this._scroll,n)}})),u.registerComponent(g,u.Component.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{animationEnabled:!0,inertiaEnabled:!0,scrollByContent:!0,scrollByThumb:!1,showScrollbar:!0,bounceEnabled:!0,direction:"vertical",startAction:null,scrollAction:null,stopAction:null,endAction:null,inertiaAction:null,animationStrategy:"frame"})},_init:function(){this.callBase(),this._allowUpdate=!0,this._lastEventData=null,this._prevEventData=null,this._contentOffset={top:0,left:0},this._contentSize={width:0,height:0},this._containerSize={width:0,height:0},this._nowScrolling=!1,this._movingScrollbar=i,this._lastMoveEvent=i},_render:function(){var i,r,t;this.callBase(),i=n("<div />").dxScrollbar({direction:"horizontal"}),r=n("<div />").dxScrollbar({direction:"vertical"}),this._scrollbars={x:i.data("dxScrollbar"),y:r.data("dxScrollbar")},this._content=n("<div />").addClass(k),this._container=this._content.wrap(n("<div />").addClass(tt)).parent().append(i).append(r),this._directionChanged(),this._scrollbarsEnabling(),this._scrollByChanged(),t=this._element(),t.addClass("dx-scrollable"),navigator.platform.indexOf("Mac")>-1&&DevExpress.browser.webkit||t.addClass("dx-scrollable-customizable-scrollbars"),this._content.append(t.contents()),this._container.appendTo(t),this._afterRender()},_refresh:function(){this._detachStartHandlers(),this._attachStartHandlers()},_directionChanged:function(){n.inArray(this.option("direction"),["vertical","horizontal","both"])<0&&this.option("direction","vertical"),this._content.toggleClass(k+"-horizontal",this.option("direction")!=="vertical")},_scrollbarsEnabling:function(){this._scrollbars.x.option("visible",this.option("showScrollbar")&&!this.option("disabled")&&this.option("direction")!=="vertical"),this._scrollbars.y.option("visible",this.option("showScrollbar")&&!this.option("disabled")&&this.option("direction")!=="horizontal")},_scrollByChanged:function(){var t=n([this._scrollbars.x.scrollElement().get(0),this._scrollbars.y.scrollElement().get(0)]);this._startTarget=this.option("scrollByContent")?this._container:t,t.css("cursor",this.option("scrollByThumb")?"pointer":"auto")},_afterRender:function(){this._afterRenderHandler()},_afterRenderHandler:function(){this._createEventActions(),this._updateIfResized(!1),this._attachStartHandlers(),this._toggleWindowResizeHandler(!0),this._scrollbarInitAction()},_scrollbarInitAction:function(){this.option("scrollByThumb")?(this._scrollbars.x.toggle(!0),this._scrollbars.y.toggle(!0)):(this._scrollbars.x.blink(this.option("animationEnabled")),this._scrollbars.y.blink(this.option("animationEnabled")))},_createEventActions:function(){this._startAction=this._createActionByOption("startAction"),this._inertiaAction=this._createActionByOption("inertiaAction"),this._scrollAction=this._createActionByOption("scrollAction"),this._stopAction=this._createActionByOption("stopAction"),this._endAction=this._createActionByOption("endAction")},_toggleWindowResizeHandler:function(i){var r=n.proxy(this.update,this);t.utils.windowResizeCallbacks[i?"add":"remove"](r)},_attachStartHandlers:function(){var i=this._eventHelper,r=new t.Action(this._handleStart,{context:this}),u=new t.Action(this._handleWheel,{context:this}),f=new t.Action(this._handleNativeScroll,{context:this});this._startTarget.on(i.eventName("start"),n.proxy(r.execute,r));this._container.on(i.eventName("scroll"),n.proxy(f.execute,f));if(a)this._container.on(i.eventName("wheel"),n.proxy(u.execute,u))},_detachStartHandlers:function(){var n=this._eventHelper;this._startTarget.off(n.eventName("start"));this._container.on(n.eventName("scroll"));a&&this._container.off(n.eventName("wheel"))},_handleStart:function(n){var t=this._eventHelper;(this._currentEvent=n,this.option("disabled")||t.needSkipEvent(n))||v||(v=!0,t.isMouseEvent(n)&&n.preventDefault(),this._fixDirection(n.target),this._lastEventData=this._prevEventData=t.eventData(n),this._stopScrolling(),this._updateIfResized(!0),this._attachScrollHandlers())},_updateIfResized:function(n){this._allowUpdate&&!this.option("disabled")&&this._resized()&&this.update(n)},_resized:function(){return this._sizeChanged("width")||this._sizeChanged("height")},_sizeChanged:function(n){var t=this._content[n](),i=this._container[n]();return t?t!==this._contentSize[n]||i!==this._containerSize[n]:!1},_fixDirection:function(t){var r=n(t).parent("."+s).data("dxScrollbar");this._movingScrollbar=this.option("scrollByThumb")&&r?r.option("direction"):i},_stopScrolling:function(n){f.animating(this._content)&&(f.stop(this._content,n),n||(this._contentOffset=l.locate(this._content)),this._fireScrollStop()),this._scrollbars.x.stop(n),this._scrollbars.y.stop(n)},_attachScrollHandlers:function(){var i=this._eventHelper,u=new t.Action(this._handleFirstMove,{context:this}),r=new t.Action(this._handleEnd,{context:this});n(document).on(i.eventName("move")+".dxFirstmove",n.proxy(u.execute,u)).on(i.eventName("end"),n.proxy(r.execute,r));if(i.eventName("cancel"))n(document).on(i.eventName("cancel"),n.proxy(r.execute,r))},_detachScrollHandlers:function(){var t=this._eventHelper;n(document).off(t.eventName("move")).off(t.eventName("end")),t.eventName("cancel")&&n(document).off(t.eventName("cancel"))},_handleFirstMove:function(u){var o;this._currentEvent=u;var e=this._eventHelper,s=e.eventData(u),f=e.eventDelta(this._lastEventData,s);if((this._allowUpdate=!1,r(f.x)+r(f.y)!==0)&&(n(document).off(e.eventName("move")+".dxFirstmove"),!this._skipEventByDirection(f))){f=this._ignoreLockedDirection(f),this._lastMoveEvent=i,this._processMove(),this._nowScrolling=!0,this._startGesture(u),this._prevEventData=this._lastEventData,this._lastEventData=s,this._fireScrollStart(),this._scrollbars.x.toggle(!0),this._scrollbars.y.toggle(!0),this._moveContent(f),o=new t.Action(this._handleMove,{context:this});n(document).on(e.eventName("move"),n.proxy(o.execute,o))}},_skipEventByDirection:function(n){return this._movingScrollbar?!1:this.option("direction")==="vertical"&&r(n.x)>=r(n.y)?!0:this.option("direction")==="horizontal"&&r(n.x)<=r(n.y)},_ignoreLockedDirection:function(n){return(this.option("direction")==="vertical"||this._movingScrollbar==="vertical")&&(n.x=0),(this.option("direction")==="horizontal"||this._movingScrollbar==="horizontal")&&(n.y=0),n},_startGesture:function(n){e.preventHangingCursor(),e.preventNativeElastic(n),e.notifyStart(),p.lock()},_processMove:function(t){this._lastMoveEvent&&this._handleLastMoveEvent(),t?clearTimeout(this._processMoveTimer):this._processMoveTimer=setTimeout(n.proxy(this._processMove,this),vt)},_handleMove:function(n){this._lastMoveEvent=n,e.preventNativeElastic(n)},_handleLastMoveEvent:function(){var n=this._eventHelper,r=n.eventData(this._lastMoveEvent),t=n.eventDelta(this._lastEventData,r),u;this._currentEvent=this._lastMoveEvent,this._lastMoveEvent=i,t=this._ignoreLockedDirection(t),this._moveContent(t),u=n.eventDelta(this._prevEventData,this._lastEventData).time,u>st&&(this._prevEventData=this._lastEventData),this._lastEventData=r},_handleEnd:function(n){if(this._processMove(!0),this._currentEvent=n,this._detachScrollHandlers(),v=!1,!this._nowScrolling){this._bounceContent();return}this._nowScrolling=!1,this._scrollContent(this._inertionOffset(n),!0,!this._inBounds())},_inertionOffset:function(t){var r=this._eventHelper,i=r.eventDelta(this._prevEventData,this._lastEventData),f=r.eventData(t),e=r.eventDelta(this._lastEventData,f).time,u=n.extend({},this._contentOffset);return this.option("inertiaEnabled")&&e<ht&&(i=this._ignoreLockedDirection(i),u.left+=this._inertionDistance(i.x,i.time),u.top+=this._inertionDistance(i.y,i.time)),u},_inertionDistance:function(n,t){var u=this._movingScrollbar?-1:1,n=n*u,i=n/t||0,f=r(i)>lt;return i*(f?ct:0)},_handleWheel:function(t,i){if(this._currentEvent=t,!this.option("disabled")&&this.option("direction")!=="horizontal"){if(a){this._allowUpdate=!1,this._stopScrolling(),this._updateIfResized(!0),this._scrollbars.x.toggle(!0),this._scrollbars.y.toggle(!0);var r=n.extend({},this._contentOffset);r.top=this._contentOffset.top+i*ot,this._scrollContent(r,!1)}t.preventDefault()}},_handleNativeScroll:function(n){var t={top:this._container.get(0).scrollTop,left:this._container.get(0).scrollLeft},i;this._refreshSizes(),i=this._minLimit(),this._scrollAction({jQueryEvent:n,scrollOffset:t,reachedLeft:t.left===0,reachedRight:t.left===-i.left,reachedTop:t.top===0,reachedBottom:t.top===-i.top})},_refreshSizes:function(){this._contentSize={width:this._content.width(),height:this._content.height()},this._containerSize={width:this._container.width(),height:this._container.height()}},_moveContent:function(n){n=this._movingScrollbar?{x:-n.x*this._content.width()/this._container.width(),y:-n.y*this._content.height()/this._container.height()}:{x:n.x*(this._inBounds()||d),y:n.y*(this._inBounds()||d)},this._contentOffset.left+=n.x,this._contentOffset.top+=n.y,this.option("bounceEnabled")||(this._contentOffset=this._limitedOffset()),this._arrangeContent()},_scrollContent:function(n,t,i,r){if(t=this.option("animationEnabled")&&t&&(this._inBounds()||i),n=this._calcOffset(n),this._contentOffset.left===n.left&&this._contentOffset.top===n.top)return this._scrollComplete(r);this._contentOffset=n,this.option("bounceEnabled")||(this._contentOffset=this._limitedOffset()),i||this._fireInertia();var u=this._inBounds()?i?"bounceIn":"normal":"bounceOut";return t?this._animateContent(u,r):(this._arrangeContent(r),this._scrollComplete(r))},_calcOffset:function(n){var i=this._minLimit(),r=this._maxLimit(),t=this._contentOffset,u=n-t;return{left:this._offsetByDirection(t.left,n.left,i.left,r.left),top:this._offsetByDirection(t.top,n.top,i.top,r.top)}},_arrangeContent:function(n){l.move(this._content,this._contentOffset),this._arrangeScrollbars(this._contentOffset),this._fireScroll(n)},_animateContent:function(t,i){var r=this,u=n.Deferred(),e=n.Deferred(),o,s={type:"slide",strategy:r.option("animationStrategy"),duration:b[t].duration,easing:b[t].easing};return f.animate(r._content,n.extend({to:n.extend({},r._contentOffset),complete:function(){r._animationComplete(i).done(function(){e.resolve()})}},s)),o=r._animateScrollbars(r._contentOffset,s),n.when(e,o).then(function(){u.resolveWith(r)}),u.promise()},_animationComplete:function(n){return this._fireScroll(n),this._scrollComplete(n)},_scrollComplete:function(n){return this._fireScrollStop(n),this._inBounds()&&this._fireScrollEnd(n),this._bounceContent(n)},_bounceContent:function(t){return this._inBounds()?(this.option("scrollByThumb")||(this._scrollbars.x.toggle(!1,this.option("animationEnabled")),this._scrollbars.y.toggle(!1,this.option("animationEnabled"))),p.unlock(),e.notifyEnd(),this._allowUpdate=!0,n.Deferred().resolveWith(this).promise()):this._scrollContent(this._limitedOffset(),!0,!0,t)},_arrangeScrollbars:function(n){this._scrollbars.x.arrange(n.left),this._scrollbars.y.arrange(n.top)},_animateScrollbars:function(t,i){return n.when(this._scrollbars.x.animate(t.left,i),this._scrollbars.y.animate(t.top,i))},_inBounds:function(){return(this.option("direction")==="vertical"||c(this._contentOffset.left,this._minLimit().left,this._maxLimit().left))&&(this.option("direction")==="horizontal"||c(this._contentOffset.top,this._minLimit().top,this._maxLimit().top))},_offsetByDirection:function(n,t,i,r){var u=t-n;return c(t,i,r)||(t=n+u*at,c(t,i-h,r+h)&&(t=y(n+u,i-h,r+h))),t},_limitedOffset:function(){return{left:y(this._contentOffset.left,this._minLimit().left,this._maxLimit().left),top:y(this._contentOffset.top,this._minLimit().top,this._maxLimit().top)}},_maxLimit:function(){return{left:0,top:0}},_minLimit:function(){return{left:o.min(this._containerSize.width-this._contentSize.width,0),top:o.min(this._containerSize.height-this._contentSize.height,0)}},_fireScrollStart:function(){this._startAction(this._createEventArgs())},_fireInertia:function(){this._inertiaAction(this._createEventArgs())},_fireScroll:function(t){this._scrollAction(n.extend(this._createEventArgs(),{updating:t}))},_fireScrollStop:function(t){this._stopAction(n.extend(this._createEventArgs(),{updating:t}))},_fireScrollEnd:function(t){this._endAction(n.extend(this._createEventArgs(),{updating:t}))},_createEventArgs:function(){return{jQueryEvent:this._currentEvent,scrollOffset:{top:-this._contentOffset.top,left:-this._contentOffset.left},reachedLeft:this._reachedLeft(),reachedRight:this._reachedRight(),reachedTop:this._reachedTop(),reachedBottom:this._reachedBottom()}},_reachedLeft:function(){return this._contentOffset.left>=this._maxLimit().left},_reachedTop:function(){return this._contentOffset.top>=this._maxLimit().top},_reachedRight:function(){var n=this._minLimit();return n.left&&this._contentOffset.left<=n.left},_reachedBottom:function(){var n=this._minLimit();return n.top&&this._contentOffset.top<=n.top},_dispose:function(){clearTimeout(this._processMoveTimer),this._detachStartHandlers(),this._detachScrollHandlers(),this._toggleWindowResizeHandler(!1),this.callBase()},_optionChanged:function(n){switch(n){case"showScrollbar":this._scrollbarsEnabling();break;case"direction":this._directionChanged();break;case"disabled":this.option("disabled")||(this._stopScrolling(),this.update(!0)),this._scrollbarsEnabling();break;case"scrollByContent":case"scrollByThumb":this._detachStartHandlers(),this._scrollByChanged(),this._scrollbarInitAction();break;case"startAction":case"scrollAction":case"stopAction":case"endAction":case"inertiaAction":this._createEventActions()}this.callBase.apply(this,arguments)},_normalizeDistance:function(t){return n.isPlainObject(t)?t:this.option("direction")==="horizontal"?{x:t}:{y:t}},_positionToOffset:function(n){var t={};return n.x!==i&&(t.left=-n.x),n.y!==i&&(t.top=-n.y),t},_startScroll:function(){this._stopScrolling(),this._updateIfResized(!0),this._allowUpdate=!1,this._fireScrollStart()},_updateScrollbars:function(n,t){this._scrollbars.x.option("disabled",n.width<=t.width),this._scrollbars.x.update(n.width,t.width),this._scrollbars.y.option("disabled",n.height<=t.height),this._scrollbars.y.update(n.height,t.height)},_update:function(t){return this._inBounds()?(this._arrangeScrollbars(this._limitedOffset()),n.Deferred().resolveWith(this).promise()):(this._scrollbars.x.toggle(!0),this._scrollbars.y.toggle(!0),this._scrollContent(this._limitedOffset(),t,t,!0))},update:function(i){return this.option("disabled")?n.Deferred().resolveWith(this).promise():t.utils.executeAsync(function(){return this._refreshSizes(),this._updateScrollbars(this._contentSize,this._containerSize),this._update(i)},this)},content:function(){return this._content},scrollTo:function(t,i){var r;return this._startScroll(),r=n.extend({},this._contentOffset),t=this._normalizeDistance(t),this._scrollContent(this._positionToOffset(t),i)},scrollBy:function(n,t){var i;return this._startScroll(),n=this._normalizeDistance(n),i={left:this._contentOffset.left-~~n.x,top:this._contentOffset.top-~~n.y},this._scrollContent(i,t)},scrollPos:function(t){this._stopScrolling(),t=this._normalizeDistance(t),n.extend(this._contentOffset,this._positionToOffset(t)),this._arrangeContent()},stop:function(n){return this._stopScrolling(n),this._bounceContent()}}))})(jQuery,DevExpress),function(n,t){var e=t.ui,s=e.gestureUtils,p="dxSwipeable",nt="dx-swipeable",h=0,k=1,w=2,tt=300,it=5,r,f=h,c,d,rt,l,a,v,g,y,u=new e.EventHelper(p),o=function(){r=null,f=h},ut=function(t){for(var i=n(t.target),r;i.length;){if(r=n(i).data(p),r)return r;i=i.parent()}},ft=function(t){return n(t).width()},et=function(n){u.needSkipEvent(n)||f>h||(r=ut(n),r)&&(c=u.eventX(n),d=u.eventY(n),rt=n.timeStamp,y=0,f=k,u.isMouseEvent(n)&&n.preventDefault())},ot=function(n){r&&f!==h&&(s.preventNativeElastic(n),f===k&&st(n),f===w&&ht(n))},st=function(n){var i=u.eventX(n)-c,e=u.eventY(n)-d,t;if(i||e){if(Math.abs(e)>=Math.abs(i)||u.needSkipEvent(n)){o();return}if(t=r._fireStart({jQueryEvent:n}),t.cancel){r._fireCancel({jQueryEvent:n}),o();return}l=t.maxLeftOffset,a=t.maxRightOffset,f=w,s.preventHangingCursor(),s.notifyStart()}},ht=function(n){v=u.eventX(n);var i=v-c,t=i/r.itemWidthFunc();t=b(t,r.option("elastic")),n.timeStamp-y>tt&&(y=n.timeStamp,g=u.eventX(n)),r._fireUpdate({offset:t,jQueryEvent:n})},ct=function(n){if((window.tinyHippos||!u.hasTouches(n))&&r){if(f!==w){o();return}var e=(v-c)/r.itemWidthFunc(),h=it*Math.abs(v-g)>=n.timeStamp-y,t=e,i=lt(e,h);t=b(t,r.option("elastic")),i=b(i,!1),r._fireEnd({offset:t,targetOffset:i,jQueryEvent:n}),s.notifyEnd(),o()}},b=function(n,t){return n<-l?t?(-2*l+n)/3:-l:n>a?t?(2*a+n)/3:a:n},lt=function(n,t){var i;return t?(i=Math.ceil(Math.abs(n)),n<0&&(i=-i)):i=Math.round(n),i};e.registerComponent(p,e.Component.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{elastic:!0,itemWidthFunc:ft,startAction:null,updateAction:null,endAction:null,cancelAction:null})},_render:function(){this.callBase(),this._createEventActions(),this._element().addClass(nt)},_createEventActions:function(){this._startAction=this._createActionByOption("startAction"),this._updateAction=this._createActionByOption("updateAction"),this._endAction=this._createActionByOption("endAction"),this._cancelAction=this._createActionByOption("cancelAction")},_dispose:function(){this.callBase(),r===this&&o()},itemWidthFunc:function(){return this.option("itemWidthFunc")(this._element())},_fireStart:function(t){return t=n.extend(t,{element:r._element()[0],maxLeftOffset:Number.POSITIVE_INFINITY,maxRightOffset:Number.POSITIVE_INFINITY,cancel:!1}),this._startAction(t),t},_fireCancel:function(t){this._cancelAction(n.extend(t,{element:r._element()[0]}))},_fireUpdate:function(t){this._updateAction(n.extend(t,{element:r._element()[0]}))},_fireEnd:function(t){this._endAction(n.extend(t,{element:r._element()[0]}))}})),n(function(){var i=new t.Action(et,{context:e.dxSwipeable}),r=new t.Action(ot,{context:e.dxSwipeable}),f=new t.Action(ct,{context:e.dxSwipeable});n(document).on(u.eventName("start"),n.proxy(i.execute,i)).on(u.eventName("move"),n.proxy(r.execute,r)).on(u.eventName("end")+" "+u.eventName("cancel"),n.proxy(f.execute,f))})}(jQuery,DevExpress),function(n,t){var r=t.ui,u="dx-checkbox",f="dx-checkbox-icon",e="dx-checkbox-checked";r.registerComponent("dxCheckBox",r.Widget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{checked:!1})},_render:function(){this.callBase(),this._element().addClass(u),n("<span />").addClass(f).appendTo(this._element()),this._renderValue()},_renderClick:function(){var t=this._eventHelper.eventName("click");this._element().off(t).on(t,n.proxy(this._handleClick,this))},_handleClick:function(){var n=this;this._createActionByOption("clickAction",{beforeExecute:function(){n.option("checked",!n.option("checked"))}})()},_renderValue:function(){this._element().toggleClass(e,this.option("checked"))},_refresh:function(){this._renderValue()}}))}(jQuery,DevExpress);(function(n,t){var r=t.ui,u=t.utils,i=r.dataGrid={};i.DataGridStorage=function(n){return{_getUniqueStorageKey:function(t){return"dx_datagrid_"+(u.isDefined(n)?n:"storage")+"_"+t},saveState:function(n,t){localStorage[this._getUniqueStorageKey(n)]=t},loadState:function(n){return localStorage[this._getUniqueStorageKey(n)]}}},r.registerComponent("dxDataGrid",r.Widget.inherit(function(){var n=function(n){n._columnsController.applyOptions({columns:n.option("columns"),customizeColumns:n.option("customizeColumns"),sortable:n.option("sortable"),selectionMode:n.option("selectionMode")})},t=function(n){n._dataController.applyOptions({saveStateToStorage:n.option("saveStateToStorage"),selectionMode:n.option("selectionMode"),scrollable:n.option("scrollable"),paginate:n.option("paginate"),selectedRowsChanged:n.option("selectedRowsChanged")})},r=function(n){if(n.option("saveStateToStorage")){var t=n._dataGridStorage.loadState("pageSizes",null);t&&n.option("paginate")&&(n.option("paginate").pageSizes=t.split(",").map(function(n){return parseInt(n)})),n._dataController.pagesChanged.add(function(t){n._dataGridStorage.saveState("pageIndex",t.pageIndex()),n._dataGridStorage.saveState("pageSize",t.pageSize()),n._dataGridStorage.saveState("pageSizes",t.getPageSizes().join())})}};return{selectedRows:function(n){return this._dataController.selectedRows(n)},clearSelection:function(){this._dataController.selectedRows([])},selectAll:function(){this._dataController.selectAll(!0)},startSelectionWithCheckboxes:function(){return this._dataController.startSelectionWithCheckboxes()},stopSelectionWithCheckboxes:function(){return this._dataController.stopSelectionWithCheckboxes()},beginCustomLoading:function(){this._dataController.beginCustomLoading()},endCustomLoading:function(){this._dataController.endCustomLoading()},refresh:function(){this._dataController.refresh()},resize:function(){this._gridView.resize()},filter:function(n){this._dataController.filter(n)},clearFilter:function(){this._dataController.clearFilter(expr)},searchByText:function(n){this._dataController.searchByText(n)},hasScroll:function(){return this._gridView.hasScroll()},getScrollRowData:function(){return this._gridView.getScrollRowData()},_defaultOptions:function(){return{width:undefined,height:undefined,dataSource:null,columns:undefined,columnsReordering:!1,selectionMode:"none",showHeaders:!0,saveStateToStorage:!1,storageName:undefined,columnsResizing:!1,filterRow:{visible:!1,showOperationChooser:!0,operationDescriptions:{"=":"equals","<>":"not equals","<":"less","<=":"less or equals",">":"greater",">=":"greater or equals",startswith:"starts with",contains:"contains",notcontains:"not contains",endswith:"ends with"}},searchPanel:{visible:!1,position:"top",width:undefined,placeholder:"",highlightSearchText:!0,margin:5},showCheckboxesOnLongTap:!0,showRowHover:!0,scrollable:{virtual:!1},sortable:!1,paginate:{pageSizes:!0},loadPanel:{visible:!0,message:"Loading...",width:200,height:70},customizeColumns:null,selectedRowsChanged:null,autoColumnWidth:!1}},_init:function(){var u=this,f=i.ColumnsController,e=i.DataController;u._dataGridStorage=i.DataGridStorage(u.option("storageName")),u._columnsController=new f,u._dataController=new e(u._columnsController),n(u),t(u),u._initDataSource(),u._loadDataSource(),r(u),u._dataController.setDataSource(u._dataSource),u._gridView=new i.GridView({columnsController:u._columnsController,dataController:u._dataController})},_optionChanged:function(i,r,u){var f=this;switch(i){case"dataSource":f._columnsController.reset(),f._initDataSource(),f._loadDataSource(),f._dataController.setDataSource(f._dataSource);return;case"selectionMode":case"selectedRowsChanged":t(f);return;case"sortable":case"columns":case"customizeColumns":n(f);return;default:n(f),t(f),f.callBase(i,r,u)}},_handleDataSourceChanged:function(){this._columnsController.applyDataSource(this._dataSource)},_dataSourceType:function(){return i.DataSource},_dataSourceOptions:function(){var n=this,r=n.option("scrollable"),f=!!n.option("paginate"),e=r&&r.virtual,t,i;return n.option("saveStateToStorage")&&(t=n._dataGridStorage.loadState("pageIndex"),i=n._dataGridStorage.loadState("pageSize")),{paginate:f||e,sort:n._columnsController.getSortDataSourceParameters(),asyncLoadEnabled:!0,pageIndex:u.isDefined(t)?parseInt(t):t,pageSize:u.isDefined(i)?parseInt(i):i}},_render:function(){var n=this,t=n._element();n.option("width")&&t.width(n.option("width")),n.option("height")&&t.height(n.option("height")),n._gridView.render(t,{sortable:n.option("sortable"),columnsResizing:n.option("columnsResizing"),columnsReordering:n.option("columnsReordering"),scrollable:n.option("scrollable"),showCheckboxesOnLongTap:n.option("showCheckboxesOnLongTap"),showHeaders:n.option("showHeaders"),filterRow:n.option("filterRow"),searchPanel:n.option("searchPanel"),loadPanel:n.option("loadPanel"),showRowHover:n.option("showRowHover"),rowClick:n.option("rowClick"),autoColumnWidth:n.option("autoColumnWidth")})},_dispose:function(){var n=this;n.callBase(),n._columnsController.dispose(),n._dataController.dispose()}}}()).include(r.DataHelperMixin))})(jQuery,DevExpress),function(n,t){var i=t.data.utils.DataSourceLoadLock,r=t.Class.inherit(function(){var t=function(t,i){t.beginLoading(),n.when(i()).always(function(){t.endLoading()})};return{ctor:function(){this._loadingCount=0,this.nextLoadTask=null,this.loadingChanged=n.Callbacks()},beginLoading:function(){var n=this;n._disposed||(n._loadingCount++,n._loadingCount===1&&n.loadingChanged.fire(!0))},endLoading:function(){var n=this,i;n._disposed||(n._loadingCount===1&&n._nextLoadTask&&(i=n._nextLoadTask,n._nextLoadTask=null,t(n,i)),n._loadingCount>0&&(n._loadingCount--,n._loadingCount===0&&n.loadingChanged.fire(!1)))},addLoadTask:function(n){var i=this;i._disposed||(i._loadingCount?i._nextLoadTask=n:t(i,n))},dispose:function(){this._disposed=!0,this.loadingChanged.empty()}}}());t.ui.dataGrid.DataSource=t.data.DataSource.inherit(function(){var t=100,u=function(n){var i=1,t;return n._cache&&n._pageIndex%1?n._cache[Math.floor(n._pageIndex)]?t=Math.ceil(n._pageIndex):n._cache[Math.ceil(n._pageIndex)]?t=Math.floor(n._pageIndex):(t=Math.floor(n._pageIndex),i=2):t=n._pageIndex,{skip:Math.floor(t*n._pageSize),take:n._pageSize*i}},f=function(n,t,i){var r=i%1,u=function(n,t,i){if(!n||!t)return[];var r=Math.round(n.length*i),u=n.length-r;return n.slice(u).concat(t.slice(0,r-1))};n._paginate&&r?(t.length>n._pageSize?(n._cache[Math.floor(i)]=t.slice(0,n._pageSize),n._cache[Math.ceil(i)]=t.slice(n._pageSize,2*n._pageSize-1)):n._cache[Math.floor(i)]?n._cache[Math.ceil(i)]=t:n._cache[Math.floor(i)]=t,n._cache[i]=u(n._cache[Math.floor(i)],n._cache[Math.ceil(i)],r)):n._cache[i]=t},e=function(n){var t,i,r=n._loadQueue;n._itemsCount<0&&(n._itemsCount=0,t=n.store().createQuery(),i=n.loadOptions().filter,i&&(t=t.filter(i)),r.beginLoading(),t.count().done(function(t){var i=n.pageSize();n._pagesCount=i?Math.max(1,Math.ceil(t/i)):1,n._itemsCount=parseInt(t),n.itemsCountChanged.fire(),r.endLoading()}).fail(function(){n._itemsCount=-1,r.endLoading()}))};return{ctor:function(t){var i=this;i.callBase(t),i._pageIndex=t.pageIndex||0,i._cache=t.cacheEnabled===!1?null:{},i._asyncLoadEnabled=!!t.asyncLoadEnabled,i._loadQueue=new r,i.loadingChanged=i._loadQueue.loadingChanged,i._itemsCount=-1,i._pagesCount=1,i.itemsCountChanged=n.Callbacks()},pageSize:function(n){if(n===undefined)return this._paginate?this._pageSize:0;this._pageSize=n||20,this._pageIndex=0,this.reload()},itemsCount:function(){return this._itemsCount>0?this._itemsCount:0},pagesCount:function(){return this._pagesCount},reload:function(){return this._cache&&(this._cache={}),this._itemsCount=-1,this._loadCore()},items:function(){return this._items},pageIndex:function(n){if(n===undefined)return this._pageIndex;this._assignPageIndex(n)},_loadCore:function(r){r=r||{};var o=this,s=n.Deferred(),c=o.loadError,l=n.extend(!0,{},o._storeLoadOptions),h=o._pageIndex,a=function(n){var t=o._items;r.append||t.splice(0,t.length),t.push.apply(t,n),n.length<o._pageSize&&(o._isLastPage=!0),o._isLoaded=!0,o.changed.fire(),s.resolve(n)},v=function(){var i,r;if(!o._disposed)return r=function(){if(!o._disposed)return e(o),n.when(o._store.load(l)).done(function(n){o._disposed||(n=o._transformLoadedData(n),o._cache&&(f(o,n,h),n=o._cache[o._pageIndex]||o._cache[h]),a(n))}).fail(n.proxy(s.reject,s))},o._asyncLoadEnabled?(i=n.Deferred(),window.setTimeout(function(){n.when(r()).always(function(){i.resolve()})},o._itemsCount<0?t:0),i):r()};return o._cache&&o._cache[h]?a(o._cache[h]):(this._paginate&&n.extend(l,u(o)),i.locked()?i.addTask(v):o._loadQueue.addLoadTask(v)),s.promise().fail(n.proxy(c.fire,c))},dispose:function(){this.callBase(),this._loadQueue.dispose(),this.itemsCountChanged.empty()}}}())}(jQuery,DevExpress),function(n,t){var u=t.ui,r=t.utils,f=t.Class,i=u.dataGrid,o=10,s=100,h=10,c=50,e;i.cssClassNames={dataGrid:"dx-datagrid",headers:"dx-datagrid-headers",headersAction:"dx-action",draggingHeader:"dx-drag-header",rowsView:"dx-datagrid-rowsview",freeSpace:"dx-freespace-row",cellContent:"dx-text-content",columnsSeparator:"dx-columns-separator",columnsSeparatorTransparent:"dx-columns-separator-transparent",rowsHover:"dx-datagrid-rowsview-hover",rowSelection:"dx-selection",sort:"dx-sort",sortUp:"dx-sort-up",sortDown:"dx-sort-down",checkBoxCell:"dx-datagrid-checkbox",pager:"dx-datagrid-pager",page:"dx-page",pages:"dx-datagrid-pages",pagerSelection:"dx-selection",pageSeparator:"dx-separator",pageSizes:"dx-datagrid-page-sizes",pageSize:"dx-page-size",findButton:"find-button",findButtonDisabled:"find-button-disabled",filterRow:"filter-row",searchText:"search-text",filterOperation:"dx-filter-operation",filterOperationSelected:"dx-filter-operation-selected",filterOperationLong:"dx-filter-operation-long",filterOperations:"dx-filter-operations",filterOperationItem:"dx-filter-operation-item",table:"dx-datagrid-table"},e=function(n,t){var r=[],i;if(n&&t&&n.length&&n.length===t.length)for(i=0;i<n.length;i++)r.push(n[i]>t[i]?n[i]:t[i]);return r},i.ColumnsSeparator=f.inherit({ctor:function(t,r){var u=this;u._isTransparent=r,u._element=n("<div/>").addClass(i.cssClassNames.columnsSeparator).appendTo(t),u.hide()},show:function(){var n=this;n._isTransparent?n._element.removeClass(i.cssClassNames.columnsSeparatorTransparent):n._element.show()},hide:function(){var n=this;n._isTransparent?n._element.addClass(i.cssClassNames.columnsSeparatorTransparent):this._element.hide()},setHeight:function(n){this._element.height(n)},width:function(n){if(r.isDefined(n))this._element.width(n);else return this._element.width()},moveByX:function(n){this._element.offset({left:n})},changeCursor:function(n){this._element.css("cursor",r.isDefined(n)?n:"")}}),i.ColumnsResizer=f.inherit({_getTargetPoint:function(n,t,i){for(var r=0;r<n.length;r++)if(n[r].x-i<=t&&t<=n[r].x+i)return n[r];return null},_moveSeparator:function(n){var t=n.data,e=t._options.pointsByColumns,r,o,s,u=t._columnsSeparator.width(),f=u/2,i=t._eventHelper.eventData(n);if(t._isResizing){if(t._rootElement.offset().left<=i.x&&i.x<=t._rootElement.offset().left+t._rootElement.width()){if(t._options.moving&&(r={columnIndex:t._targetPoint.columnIndex,posX:i.x},t._options.moving(r),r.cancel))return;t._columnsSeparator.moveByX(i.x-f),n.preventDefault()}}else t._targetPoint=t._getTargetPoint(e,i.x,u),t._isReadyResizing=!1,t._targetPoint&&(t._columnsSeparator.changeCursor("col-resize"),t._columnsSeparator.moveByX(t._targetPoint.x-f),t._isReadyResizing=!0)},_endResizing:function(n){var t=n.data;t._isResizing&&(t._options.endResizing&&t._targetPoint&&t._options.endResizing(t._targetPoint.columnIndex),t._columnsSeparator.hide(),t._columnsSeparator.changeCursor(),t._isReadyResizing=!1,t._isResizing=!1)},_startResizing:function(n){var t=n.data,i=t._eventHelper.eventData(n);t._eventHelper.isTouchEvent(n)&&(t._targetPoint=t._getTargetPoint(t._options.pointsByColumns,i.x,h),t._columnsSeparator.moveByX(t._targetPoint.x-t._columnsSeparator.width()/2),t._isReadyResizing=!0),t._isReadyResizing&&(t._options.startResizing&&t._targetPoint&&t._options.startResizing(t._targetPoint.columnIndex),t._columnsSeparator.show(),t._isResizing=!0)},_subscribeToEvents:function(){var n=this;n._rootElement.on(n._eventHelper.eventName("move"),n,n._moveSeparator);n._rootElement.on(n._eventHelper.eventName("start"),n,n._startResizing);n._columnsSeparator._element.on(n._eventHelper.eventName("end"),n,n._endResizing);r.subscribeEventToDocument(n._eventHelper.eventName("end"),n._endResizing,n)},ctor:function(n){var t=this;t._options=n,t._eventHelper=new u.EventHelper("dxDataGridColumnsResizer"),t._columnsSeparator=n.columnsSeparator,t._rootElement=n.rootElement,t._subscribeToEvents()},dispose:function(){var n=this;n._rootElement.off(n._eventHelper.eventName("move")),n._rootElement.off(n._eventHelper.eventName("start")),n._columnsSeparator._element.off(n._eventHelper.eventName("end")),r.unsubscribeEventFromDocument(n._eventHelper.eventName("end"))}}),i.createColGroup=function(t){for(var r=n("<colgroup />"),u=t.length,i=0;i<u;i++)n("<col />").width(t[i].width).appendTo(r);return r},i.getPointsByColumns=function(n,t){for(var f=n[0].rows[0].cells,e=f.length,o=!1,u,s=[],i=0,h=n.offset().left,r=0;r<=e;r++)u={index:r,x:h,columnIndex:i},t&&(o=t(u)),o||s.push(u),h+=i<e?f[i].offsetWidth:0,i++;return s},i.GridView=f.inherit({_initializeResizeHandlers:function(){var n=this,t=n._dataController;n._refreshSizesHandler||(n._refreshSizesHandler=function(){n.resize()},t.rowsChanged.add(n._refreshSizesHandler),t.pagesChanged.add(n._refreshSizesHandler),n._columnHeadersView.sizeChanged.add(n._refreshSizesHandler))},_initializeColumnsResizer:function(n){var t=this,o=t._columnsSeparator.width(),f,r,e,u;t._columnsResizer&&(t._columnsResizer.dispose(),t._columnsResizer=null),u=t._columnHeadersView._tableElement.length>0?i.getPointsByColumns(t._columnHeadersView._tableElement,function(n){return t._pointCreated(n,t._columnHeadersView.getHeadersLength())}):[],t._columnsResizer=new i.ColumnsResizer({moving:function(n){e=t._columnHeadersView.getHeaderElement(n.columnIndex),e&&(f=n.posX-e.offset().left,n.cancel=f<=o,n.cancel||t._columnsController.updateColumn(n.columnIndex,"width",f))},startResizing:function(n){var i={"border-left-width":"0px","padding-left":"8px"};t._columnHeadersView.getHeaderElement(n+1).css(i),t._rowsView._tableElement.find("tr td:nth-child("+(n+2)+")").css(i)},endResizing:function(n){var i={"border-left-width":"","padding-left":""};for(t._columnHeadersView.getHeaderElement(n+1).css(i),t._rowsView._tableElement.find("tr td:nth-child("+(n+2)+")").css(i),r=0;r<u.length;r++)u[r].x=t._columnHeadersView.getHeaderElement(r+1).offset().left},pointsByColumns:u,columnsSeparator:t._columnsSeparator,rootElement:n})},_pointCreated:function(n,t){var r=this,i=n.index>0&&n.index<t;return i&&(n.columnIndex-=1),!i},_synchronizeColumns:function(){var t=this,r=t._options,i=function(i){if(!i||!i.changeMode||i.changeMode==="refresh"){var f=t._rowsView.getColumnWidths(),o=t._columnHeadersView.getColumnWidths(),s=[],u=o?e(f,o):f;r.autoColumnWidth&&u.length>0?(n.each(t._columnsController.getVisibleColumns(),function(n){this.width&&(u[n]=parseInt(this.width),s[n]=!0)}),t._processStretch(u,t._groupElement.width()-t._rowsView.getScrollerWidth(),s),t._rowsView.setColumnWidths(u),t._columnHeadersView.setColumnWidths(u)):(t._rowsView.setColumnWidths(),t._columnHeadersView.setColumnWidths())}};i(),t._dataController.rowsChanged.add(i),t._columnsController.columnsChanged.add(i)},_processStretch:function(n,t,i){var s=this,o=n.reduce(function(n,t){return n+t}),u,f,e,r;for(u=t-o,f=Math.floor(u/(n.length-i.length)),e=u-f*(n.length-i.length),r=0;r<n.length;r++)i[r]||(n[r]+=f,r<e&&n[r]++)},resize:function(){var n=this,u=n._dataController,i=n._rootElement.height(),t=n._options.loadPanel,r;n._hasHeight&&i>0&&n._options.scrollable?n._rowsView.height(i-n._columnHeadersView.height()-n._pager.height()):n._hasHeight||u.getRows().length!==0?n._rowsView.height("auto"):n._rowsView.height(t&&t.visible?t.height+c:s),r=n._rowsView.getScrollerWidth(),n._columnHeadersView.setScrollerSpacing(r),n._columnsSeparator&&n._columnsSeparator.setHeight(n._columnHeadersView.height()+n._rowsView.height()+(n._pager.height()>0?1:0))},hasScroll:function(){return this._rowsView.hasScroll()},getScrollRowData:function(){return this._rowsView.getScrollRowData()},ctor:function(n){var t=this;t._dataController=n.dataController,t._columnsController=n.columnsController,t._columnHeadersView=new u.dataGrid.ColumnHeadersView(n.columnsController,n.dataController),t._rowsView=new u.dataGrid.RowsView(n.dataController,n.columnsController),t._pager=new i.Pager(o,n.dataController),t._options={}},render:function(t,u){var f=this,e=f._groupElement||n("<div />").addClass(i.cssClassNames.dataGrid);f._rootElement=t||f._rootElement,f._options=u,(u.columnsReordering||u.columnsResizing)&&(f._columnsSeparator=new i.ColumnsSeparator(e,u.columnsResizing),u.columnsResizing&&f._columnsController.columnsChanged.add(function(n){r.isDefined(n.optionName)||f._initializeColumnsResizer(f._groupElement)})),(u.showHeaders||f._columnHeadersView.isElementVisible(u.filterRow))&&(u.columnsSeparator=f._columnsSeparator,f._columnHeadersView.applyOptions(u),f._columnHeadersView.render(e)),f._rowsView.applyOptions(u),f._rowsView.render(e),f._pager.render(e),f._groupElement||(f._hasHeight=!!f._rootElement.height(),f._groupElement=e,e.appendTo(f._rootElement),f._groupElement.find("table").removeClass(i.cssClassNames.table),f._synchronizeColumns()),f._initializeResizeHandlers(),f.resize(),f._rowsView.setLoading(f._dataController.isLoading())}})}(jQuery,DevExpress),function(n,t){var e=t.ui,r=t.utils,o=t.Class,u=e.dataGrid,i=u.cssClassNames,s=160,f={"=":"=","<>":"≠","<":"<","<=":"≤",">":">",">=":"≥",notcontains:".Ȼ.",contains:".C.",startswith:"A..",endswith:"..Z"};u.DraggingHeader=o.inherit({_isDragging:!1,_dropHeader:function(n){var t=n.data.self;t._element.hide(),t._callbackFunctions.dropped&&t._isDragging&&t._dragOptions.columnIndex!==t._dropColumnIndex&&t._callbackFunctions.dropped({sourceColumnIndex:t._dragOptions.columnIndex,targetColumnIndex:t._dropColumnIndex}),t._isDragging=!1},_moveHeader:function(n){var t=n.data.self,e=n.data.rootElement,i,u,o,f,s=t._eventHelper.eventData(n),r;if(t._isDragging){if(t._element.show(),i=t._dragOptions.pointsByColumns,u=s.x-t._dragOptions.deltaX,o=s.y-t._dragOptions.deltaY,f=e.offset(),u>=f.left&&u<=e.width()+f.left&&t._element.offset({left:u,top:o}),i.length>0)for(r=0;r<i.length;r++)u<=i[r].x&&u+t._element.width()>=i[r].x&&(t._dropColumnIndex=i[r].columnIndex,t._callbackFunctions.docked&&t._callbackFunctions.docked(i[r].x,t._dropColumnIndex!==t._dragOptions.columnIndex));n.preventDefault()}},_subscribeToEvents:function(n){var t=this;r.subscribeEventToDocument(t._eventHelper.eventName("move"),t._moveHeader,{self:t,rootElement:n});t._element.on(t._eventHelper.eventName("end"),{self:t},t._dropHeader);r.subscribeEventToDocument(t._eventHelper.eventName("end"),t._dropHeader,{self:t})},ctor:function(t,r){var u=this;u._callbackFunctions=r,u._eventHelper=new e.EventHelper("dxDataGridHeaderDragging"),u._element=n("<div />").addClass(i.draggingHeader+" "+i.cellContent).css("display","none").appendTo(t),u._subscribeToEvents(t)},dispose:function(){var n=this;n._element.off(n._eventHelper.eventName("end")),r.unsubscribeEventFromDocument(n._eventHelper.eventName("end")),r.unsubscribeEventFromDocument(n._eventHelper.eventName("move"))},drag:function(n){var t=this;t._dragOptions=n,t._isDragging=!0,t._element.css({"text-align":n.alignment,height:n.height,width:n.width}).text(n.text)}}),u.ColumnHeadersView=o.inherit({_renderHeaderContent:function(t,r,u){var f=this,e=n("<div />");r.command==="select"?(t.addClass(i.checkBoxCell),e.dxCheckBox({checked:!1,clickAction:function(n){var t=n.component.option("checked");f._dataController.selectAll(t)}})):(f._isFindButtonVisible()&&u&&f._renderFindButton(t),f._applySorting(t,r),e.addClass(i.cellContent).text(r.title)),e.appendTo(t)},_renderHeader:function(t,i,r){var u=this,f,s,e,o;if(f=n("<td />").css("text-align",i.alignment),u._renderHeaderContent(f,i,r),u._draggingHeader&&i.command!=="select")f.on(u._eventHelper.eventName("start"),function(n){s=u._getPointsByColumns(f[0].cellIndex,u._tableElement),o=u._tableElement.offset(),e=u._eventHelper.eventData(n),u._draggingHeader.drag({deltaX:e.x-(o.left+n.currentTarget.offsetLeft),deltaY:e.y-(o.top+n.currentTarget.offsetTop),width:f.width(),height:f.height(),alignment:i.alignment,text:i.title,columnIndex:f[0].cellIndex,pointsByColumns:s})});f.appendTo(t)},_renderHeaders:function(t,r){var f=this,s=r.length,e,o;if(f._tableElement=n("<table />").attr("style","-webkit-user-select: none").append(u.createColGroup(r)),f._options.showHeaders){for((f._options.sortable||f._options.columnsReordering)&&f._tableElement.addClass(u.cssClassNames.headersAction),f._options.columnsReordering&&f._initDraggingHeader(t),o=n("<tr />").on(f._eventHelper.eventName("click"),"td",function(n){f._columnsController.changeSorting(n.currentTarget.cellIndex)}),e=0;e<s;e++)f._renderHeader(o,r[e],e===s-1);f._tableElement.append(o)}if(f.isElementVisible(f._options.filterRow)){for(o=n("<tr />").addClass(i.filterRow),e=0;e<s;e++)f._renderFilterRowCell(o,r[e],e===s-1);f._tableElement.append(o)}f._tableElement.appendTo(t)},_renderFindButton:function(t){var u=this,f=u._dataController&&u._dataController.getSearchText()||u._columnsController.hasFilter(),e=n("<div />").addClass(i.findButton).toggleClass(i.findButtonDisabled,!u._findButtonPressed&&!f).on("click",function(n){n.stopPropagation(),u._findButtonPressed=!u._findButtonPressed,u.render(),u._headersElement.find("input").first().focus()});t.append(e)},_renderFilterOperationChooser:function(t,r){var e=this,o,u,s;e._options.filterRow&&e._options.filterRow.showOperationChooser&&r.filterOperations&&r.filterOperations.length&&(o=r.filterOperation||r.filterOperations[0],u=n("<div />").addClass(i.filterOperations),s=n("<div />").addClass(i.filterOperation).toggleClass(i.filterOperationLong,f[o].length>1).addClass(i.filterOperationSelected).attr("data-index",r.index).text(f[o]).on("click",function(){var n=u.is(":visible");e._headersElement.find("."+i.filterOperations).hide(),n||u.show(200)}).appendTo(t),e._renderFilterOperationChooserItems(u,r),u.appendTo(s),s[0].updateFilter=function(t){var r,u;t&&t.filterOperation&&(r=f[t.filterOperation],u=n(this).contents().first(),n(this).toggleClass(i.filterOperationLong,r.length>1),u[0].nodeValue=r),n(this).next().dxTextBox("instance").option("value",t.filterText)})},_renderFilterOperationChooserItems:function(t,r){var e=this,u=e._options.filterRow.operationDescriptions;n.each(r.filterOperations,function(o,s){var h,c;c=n("<div />").addClass(i.filterOperation).toggleClass(i.filterOperationLong,f[s].length>1).text(f[s]),u&&u[s]&&(h=n("<div />").addClass(i.filterOperation).text(u[s])),n("<div />").addClass(i.filterOperationItem).on("click",function(t){var i;for(i in f)if(n(t.target).text()===f[i]||n(t.target).prev().text()===f[i]){e._columnsController.updateColumn(r.index,"filterOperation",i);return}}).append(c).append(h).appendTo(t)})},_renderFilterRowCell:function(t,r){var e=this,o=n("<td />").addClass(i.cell),s=n("<div />").addClass(i.cellContent);r.filterable&&(e._renderFilterOperationChooser(o,r),s.dxTextBox({value:r.filterText,valueUpdateAction:function(t){var i,f=t.actionValue,o=e._columnsController;if(e._options.filterRow.showOperationChooser&&r.filterOperations&&(i=u.processFilterExpession(f),i&&i.operation&&n.inArray(i.operation,r.filterOperations)!==-1)){o.updateColumn(r.index,{filterText:i.value,filterOperation:i.operation});return}o.updateColumn(r.index,"filterText",f)},valueUpdateEvent:"search keyup change",mode:"search"})),s.appendTo(o),o.appendTo(t)},_renderSearchPanel:function(t){var u=this,r=u._options.searchPanel,f,h,o,e;if(u._searchPanel=null,u.isElementVisible(r)){t.css("position","relative"),f=n("<div />").css({position:"absolute"}).dxTextBox({value:u._dataController?u._dataController.getSearchText():"",valueUpdateAction:function(n){var t=n.component.option("value");u._dataController.searchByText(t)},width:r.width||s,valueUpdateEvent:"search keyup change",mode:"search",placeholder:r.placeholder}),f.appendTo(t);switch(r.position){case"left":h=t.find("tr").first().children().last(),e=t.find("."+i.findButton).first().width(),o=r.width||h.outerWidth()-e-2*r.margin,f.css({marginLeft:t.width()-r.margin-e-o,marginTop:-t.height(),marginRight:e+r.margin,width:o});break;case"right":f.css({marginTop:-t.height(),marginLeft:r.margin+t.width()+u._scrollerWidth});break;default:f.css({marginLeft:t.width()-f.width(),marginTop:-r.margin-f.height()-t.height()})}u._searchPanel=f.dxTextBox("instance")}},_applySorting:function(t,u){function e(n){return n==="left"?"right":"left"}if(r.isDefined(u.sorting)){var f=n("<span />").addClass(i.sort);f.css("float",e(u.alignment)),f.toggleClass(i.sortUp,u.sorting==="asc"),f.toggleClass(i.sortDown,u.sorting==="desc"),t.append(f)}},_getPointsByColumns:function(t,r){for(var e=r[0].rows[0].cells,s=e.length,o=[],u=0,h=r.offset().left,f=0;f<=s;f++)o.push({x:h,columnIndex:f>t?u-1:u}),h+=u<s?e[u].offsetWidth:0,u++;return n(e[0]).hasClass(i.checkBoxCell)&&o.shift(),o},_processSizeChanged:function(n){var t=this;r.isDefined(t._headersHeight)&&t._headersHeight===n.height()||(t._headersHeight=n.height(),t.sizeChanged.fire())},_isFindButtonVisible:function(){var n=this._options;return n.filterRow&&n.filterRow.visible==="onFindButton"||n.searchPanel&&n.searchPanel.visible==="onFindButton"},_createDraggingHeader:function(n,t){return new u.DraggingHeader(n,t)},_initDraggingHeader:function(n){var t=this,i=t._options.columnsSeparator;t._draggingHeader&&(t._draggingHeader.dispose(),t._draggingHeader=null),t._draggingHeader=t._createDraggingHeader(n,{docked:function(n,t){i&&(t?(i.moveByX(n-i.width()),i.show()):i.hide())},dropped:function(n){i&&i.hide(),t._columnsController.moveColumn(n.sourceColumnIndex,n.targetColumnIndex)}})},getHeaderElement:function(t){var i=this;return i._tableElement.length>0&&i._tableElement[0].rows.length>0&&i._tableElement[0].rows[0].cells.length>0?n(i._tableElement[0].rows[0].cells[t]):null},getHeadersLength:function(){var n=this;return n._tableElement.length>0&&n._tableElement[0].rows.length>0?n._tableElement[0].rows[0].cells.length:0},isElementVisible:function(n){var t=n&&n.visible;return t==="always"||t===!0||t==="onFindButton"&&this._findButtonPressed},ctor:function(t,r){var u=this;u._dataController=r,u._columns=t.getVisibleColumns(),u._columnsController=t,u._columnsController.columnsChanged.add(function(r){if(u._columns=t.getVisibleColumns(),r.optionName==="filterOperation"||r.optionName&&r.optionName.filterOperation){var f=u._headersElement.find("."+i.filterOperation+"[data-index="+r.columnIndex+"]");f.length>0&&f[0].updateFilter(r.column)}else switch(r.optionName){case"filterText":break;case"width":n(u._tableElement.find("col")[r.columnIndex]).attr("width",r.column.width);break;default:u.render()}}),u._eventHelper=new e.EventHelper("dxDataGridHeaders"),u._options={},u._findButtonPressed=!1,u._scrollerWidth=0,u.sizeChanged=n.Callbacks()},applyOptions:function(n){this._options=n},render:function(t){var u=this,f=u._headersElement;r.isDefined(f)?f.empty():u._headersElement=f=n("<div />").addClass(i.headers),u._renderHeaders(f,u._columns),r.isDefined(f[0].parentElement)||f.appendTo(t),u._columnWidths&&u._columnWidths.length!==u._columns.length&&(u._columnWidths=undefined),u.setColumnWidths(u._columnWidths),u._renderSearchPanel(f),u._processSizeChanged(f)},setScrollerSpacing:function(n){this._headersElement&&(this._scrollerWidth=n,this._headersElement.css("margin-right",n))},height:function(){return this._headersElement?this._headersElement.height():0},getColumnWidths:function(){var i,t=[];if(this._headersElement&&(i=this._tableElement.find("tr").first().find("td"),n.each(i,function(i,r){t.push(n(r).outerWidth())}),t.length))return t},setColumnWidths:function(t){var r,i;if(this._tableElement){if(t)for(this._columnWidths=t,r=this._tableElement.find("colgroup").first(),r.empty(),i=0;i<t.length;i++)n("<col />").width(t[i]).appendTo(r);this._tableElement.addClass(u.cssClassNames.table)}}})}(jQuery,DevExpress),function(n,t){var f=t.ui,r=t.utils,e=t.Class,i=f.dataGrid,u=25e4,o=500,s=function(n,i){var r={value:n,valueText:t.formatHelper.format(n,i.format,i.precision)||""};return i.customizeText?i.customizeText.call(r,r):r.valueText};i.RowsView=e.inherit({_isCheckBoxesColumn:function(n){return n.command==="select"},_getDefaultTemplate:function(t){var r=this;return this._isCheckBoxesColumn(t)?function(t,u){t.addClass(i.cssClassNames.checkBoxCell),n("<div />").dxCheckBox({checked:u.value,clickAction:function(){r._dataController.changeRowSelection(u.rowIndex)}}).appendTo(t)}:function(r,u){n("<div />").css("text-align",t.alignment).addClass(i.cssClassNames.cellContent).text(u.text).appendTo(r)}},_changeRowSelection:function(t,u){var e=this,o,f;e._tableElement.length>0&&(o=e._tableElement[0].rows[t],f=n(o),f.toggleClass(i.cssClassNames.rowSelection,r.isDefined(u)?u:!1),f.find(".dx-checkbox").dxCheckBox("option","checked",u))},_createRow:function(t,u){return n("<tr />").attr("index",t).toggleClass(i.cssClassNames.rowSelection,r.isDefined(u)?u:!1)},_highlightSearchText:function(t){var u=this,f,r;u._options.searchPanel&&u._options.searchPanel.highlightSearchText&&(r=u._dataController.getSearchText(),r&&t.text().indexOf(r)!==-1&&(f=n("<div>").text(r).html(),n.each(n(t).find(":contains('"+r+"')"),function(){this.innerHTML=this.innerHTML.replace(f,'<span class="'+i.cssClassNames.searchText+'">'+f+"<\/span>")})))},_createCell:function(t,i,u,f){var h=this,c,o=n("<td />");return c=r.isDefined(f.template)?f.template:h._getDefaultTemplate(f),c(o,{value:t,data:i,text:s(t,f),rowIndex:u,column:f}),h._highlightSearchText(o),o},_renderScrollable:function(t,u){var f=this,e;r.isDefined(f._tableElement)?(f._tableElement.replaceWith(u),f._tableElement=u):(f._tableElement=u,f._rowsViewElement=n("<div />").addClass(i.cssClassNames.rowsView),f._viewport?(f._topRowsElement=n("<div />"),f._bottomRowsElement=n("<div />"),f._rowsViewElement.append(f._topRowsElement).append(u).append(f._bottomRowsElement).appendTo(t)):f._rowsViewElement.append(u).appendTo(t),f._rowsViewElement.dxScrollable({scrollAction:function(n){f._scrollTop=n.scrollOffset.top,f._rowHeight&&f._dataController.setViewportRowIndex(f._scrollTop/f._rowHeight)}}),f._rowsViewElement.dxLoadPanel&&(e=f._options.loadPanel,e&&e.visible&&(f._loadPanel=n("<div />").appendTo(t).dxLoadPanel({shading:!1,message:e.message,width:e.width,height:e.height,targetContainer:f._rowsViewElement}).dxLoadPanel("instance"),f._dataController.loadingChanged.add(function(n){f.setLoading(n)}))),f._updateViewport())},_renderFreeSpaceRow:function(t,r){var u=this,f;for(u._freeSpaceRowElement=n("<tr />").addClass(i.cssClassNames.freeSpace),f=0;f<r;f++)u._freeSpaceRowElement.append(u._createCell("",null,null,{},f===r-1));t.append(u._freeSpaceRowElement)},_updateFreeSpaceRowHeight:function(n){var t=this,i;r.isDefined(t._freeSpaceRowElement)&&r.isDefined(t._tableElement)&&(t._freeSpaceRowElement.hide(),i=n-t._tableElement.outerHeight(),i>0&&(t._freeSpaceRowElement.height(i),t._freeSpaceRowElement.show()))},_updateRowHeight:function(){var n=this,t;n._viewport&&n._viewport.visibleRowsCount&&!n._rowHeight&&(t=n._tableElement.height(),n._freeSpaceRowElement&&n._freeSpaceRowElement.is(":visible")&&(t-=n._freeSpaceRowElement.height()),n._rowHeight=Math.round(t/n._viewport.visibleRowsCount),n._rowHeight&&(n._dataController.setViewportSize(Math.round(n._rowsViewElement.height()/n._rowHeight)),n._updateViewport()))},_updateContainerHeight:function(n,t){for(var i="";t>u;)i+='<div style="height:'+u+'px" />',t-=u;i+='<div style="height:'+t+'px" />',n.html(i)},_updateViewport:function(){var n=this,t=n._viewport,i=n._rowHeight||20;t&&(n._topRowsElement&&n._updateContainerHeight(n._topRowsElement,t.topRowsCount*i),n._bottomRowsElement&&n._updateContainerHeight(n._bottomRowsElement,t.bottomRowsCount*i))},ctor:function(t,i){var r=this;r._eventHelper=new f.EventHelper("dxDataGridRows"),r._dataController=t,r._columnsController=i,r._columnsController.columnsChanged.add(function(t){t.optionName==="width"&&n(r._tableElement.find("col")[t.columnIndex]).attr("width",t.column.width)}),r._rows=r._dataController.getRows(),r._viewport=r._dataController.getViewport(),r._rowHeight=0,r._scrollTop=0,r._options={},r._dataController.rowsChanged.add(function(n){for(var u=n.length,t,i=0;i<u;i++){t=n[i];switch(t.changeMode){case"refresh":r._rows=t.rows,r._viewport=r._dataController.getViewport(),r.render();break;case"update":r._changeRowSelection(t.rowIndex,t.row.selected)}}}),r._dataController.viewportChanged.add(function(){r._viewport=r._dataController.getViewport(),r._updateViewport()})},showColumnsSeparator:function(t,i){var f=this,r,u;if(f._tableElement)for(u=f._tableElement[0].rows,r=0;r<u.length;r++)n(u[r].cells[i]).css("border-left-style","double")},applyOptions:function(n){this._options=n||{}},render:function(t){var u=this,w=u._viewport?u._viewport.visibleRowsCount:u._rows.length,s,h,v,y,f,e,c=!1,l=null,p=u._columnsController.getVisibleColumns(),a=n("<table />").toggleClass(i.cssClassNames.rowsHover,u._options.showRowHover).on(u._eventHelper.eventName("click"),"tr",function(n){var t,i,r,f;c||u._isCheckBoxesColumn(p[0])||(t=n.currentTarget.attributes.index,t&&(i=parseInt(t.value),u._dataController.changeRowSelection(i,{control:n.ctrlKey,shift:n.shiftKey}),f=u._options.rowClick,f&&(r=u._dataController.getRows()[i],r&&f(r.data)))),c=!1}).on(u._eventHelper.eventName("start"),function(){c=!1,!u._dataController.isSelectionWithCheckboxes()&&u._options.showCheckboxesOnLongTap&&(l=window.setTimeout(function(){u._dataController.startSelectionWithCheckboxes(),c=!0},u._options.longTapTime||o))}).on(u._eventHelper.eventName("end"),function(){r.isDefined(l)&&(window.clearTimeout(l),l=null)});for(a.append(i.createColGroup(p)),f=0;f<w;f++){for(s=u._rows[f],y=s.values,h=y.length,v=u._createRow(f,s.selected),e=0;e<h;e++)v.append(u._createCell(y[e],s.data,f,p[e],e===h-1));a.append(v)}u._renderFreeSpaceRow(a,h),u._renderScrollable(t,a)},getScrollerWidth:function(){var n=this,t=n._rowsViewElement.find(".dx-scrollable-content");return n._rowsViewElement.width()-t.width()},height:function(n){var t=this;if(r.isDefined(n))t._rowsViewElement.height(n),t._updateFreeSpaceRowHeight(n),t._updateRowHeight();else return t._rowsViewElement.height()},setLoading:function(n){var t=this._loadPanel;t&&t.option("visible",n)},getColumnWidths:function(){var f=this._rowsViewElement,r,t,i,u=[];if(f)for(i=this._tableElement.find("tr[index]").first().find("td"),r=i.length,t=0;t<r;t++)u.push(n(i[t]).outerWidth());return u},setColumnWidths:function(t){var u,r;if(t)for(u=this._tableElement.find("colgroup").first(),u.empty(),r=0;r<t.length;r++)n("<col />").width(t[r]).appendTo(u);this._tableElement.addClass(i.cssClassNames.table)},hasScroll:function(){return this._tableElement.outerHeight()-this._rowsViewElement.height()>0},getScrollRowData:function(){var t=this,n,u=0,i=0,r=t._scrollTop;for(t._topRowsElement&&(r-=t._topRowsElement.height()),n=0;n<t._rows.length;n++)if(u=i,i=t._tableElement[0].rows[n].offsetTop,i>r){r*2<i+u&&n&&n--;break}if(t._rows[n])return t._rows[n].data}})}(jQuery,DevExpress),function(n,t){var f=t.ui,r=t.utils,e=t.Class,i=f.dataGrid,u=4;i.Page=e.inherit({ctor:function(t,r){var u=this;u.index=r,u.element=n("<div />").text(t).addClass(i.cssClassNames.page)},value:function(n){var t=this;if(r.isDefined(n))t.element.text(n);else return parseInt(t.element.text())},select:function(n){this.element.toggleClass(i.cssClassNames.pagerSelection,n)},render:function(n){this.element.appendTo(n)}}),i.Pager=e.inherit({_selectPageByValue:function(n){var i=this,u,t=i._getPageByValue(n),s=i._pages,f=s.length,e,o;if(r.isDefined(t)){if(e=i._pages[t.index-1],o=i._pages[t.index+1],i.selectedPage&&i.selectedPage.select(!1),t.select(!0),i.selectedPage=t,o&&o.value()-n>1)if(t.index!==0)for(e.value(n+1),i._pages.splice(t.index,1),i._pages.splice(t.index-1,0,t),i._pages[t.index].index=t.index,t.index=t.index-1,u=t.index-1;u>0;u--)i._pages[u].value(i._pages[u+1].value()-1);else for(u=0;u<f-1;u++)i._pages[u].value(u+1);if(e&&n-e.value()>1)if(t.index!==f-1)for(o.value(n-1),i._pages.splice(t.index,1),i._pages.splice(t.index+1,0,t),i._pages[t.index].index=t.index,t.index=t.index+1,u=t.index+1;u<f-1;u++)i._pages[u].value(i._pages[u-1].value()+1);else for(u=1;u<=f-2;u++)i._pages[f-1-u].value(i._pages[f-1].value()-u)}},_getPages:function(n,t,r){var e=[],o,f;if(t>1)if(t<=n)for(f=1;f<=t;f++)e.push(new i.Page(f,f-1));else{for(e.push(new i.Page(1,0)),o=r?r.value()-r.index:1,f=1;f<=u;f++)e.push(new i.Page(o+f,f));e.push(new i.Page(t,u+1))}return e},_getPageByValue:function(n){for(var r=this,i,t=0;t<r._pages.length;t++)if(i=r._pages[t],i.value()===n)return i},_processSelectedPage:function(n,t){var f=this,e;r.isDefined(f.selectedPage)?n===t&&f.selectedPage.index!==u+1&&(f.selectedPage.index=u+1):n>u&&n<t&&(e=t-u<n?u-(t-n)+1:2,f.selectedPage=new i.Page(n,e))},_renderPagesChooser:function(t){var u=this,e,f;if(r.isDefined(u.pagesChooserElement)?u.pagesChooserElement.empty():u.pagesChooserElement=n("<div />").addClass(i.cssClassNames.pages).on(u._eventHelper.eventName("click"),"."+i.cssClassNames.page,function(t){u._dataController.pageIndex(Number(n(t.target).text())-1)}),u._pages.length!==0){for(f=0;f<u._pages.length;f++)e=u._pages[f],e.render(u.pagesChooserElement),u._pages[f+1]&&u._pages[f+1].value()-e.value()>1&&n("<div>. . .<\/div>").addClass(i.cssClassNames.pageSeparator).attr("style","-webkit-user-select: none").appendTo(u.pagesChooserElement);r.isDefined(u.pagesChooserElement[0].parentElement)||u.pagesChooserElement.appendTo(t)}},_renderPagesSizeChooser:function(t){var u=this,f,e,h=u._dataController.pageSize(),o=u._dataController.getPageSizes(),s=o.length;if(r.isDefined(u.pagesSizeChooserElement)?u.pagesSizeChooserElement.empty():u.pagesSizeChooserElement=n("<div />").addClass(i.cssClassNames.pageSizes).on(u._eventHelper.eventName("click"),"."+i.cssClassNames.pageSize,function(t){u._dataController.pageSize(parseInt(n(t.target).text()))}),s!==0){for(f=0;f<s;f++)e=n("<div />").text(o[f]).addClass(i.cssClassNames.pageSize),h===o[f]&&e.addClass(i.cssClassNames.pagerSelection),u.pagesSizeChooserElement.append(e);r.isDefined(u.pagesSizeChooserElement[0].parentElement)||u.pagesSizeChooserElement.appendTo(t)}},ctor:function(n,t){var i=this;i._eventHelper=new f.EventHelper("dxDataGridPager"),i._dataController=t,i._pages=i._getPages(n,i._dataController.getPagesCount()),i._selectPageByValue(i._dataController.pageIndex()+1),i._dataController.pagesChanged.add(function(){var t=Math.round(i._dataController.pageIndex()+1),r=i._dataController.getPagesCount();i._processSelectedPage(t,r),i._pages=i._getPages(n,r,i.selectedPage),i._selectPageByValue(t),i.render()})},render:function(t){var r=this,u;r._rootElement=t||r._rootElement,(r._dataController.isPagerVisible()||r._groupPagerElement)&&(u=r._groupPagerElement||n("<div />").addClass(i.cssClassNames.pager),r._renderPagesSizeChooser(u),r._renderPagesChooser(u),r._groupPagerElement||(r._groupPagerElement=u.appendTo(r._rootElement)))},height:function(){var n=this._groupPagerElement;return n?n.outerHeight():0}})}(jQuery,DevExpress),function(n,t){var r=t.ui,i=t.utils,u=t.Class.inherit(function(){var o={visible:!0},s={number:["=","<>","<",">","<=",">="],string:["contains","notcontains","startswith","endswith","=","<>"],date:["=","<>","<",">","<=",">="]},h=function(n){for(var u=[],t,f=!1,i=!1,r=0;r<n.length;r++)t=n.charAt(r),i=t===t.toUpperCase()||t in["0","1","2","3","4","5","6","7","8","9"],t==="_"?(t=" ",i=!0):r===0?(t=t.toUpperCase(),i=!0):!f&&i&&u.length>0&&u.push(" "),u.push(t),f=i;return u.join("")},u=function(t,r){var u,f={title:""};return r=r||{},t&&(i.isString(t)&&(t={dataField:t}),t.dataField?(f={title:h(t.dataField),valueCalculator:function(n){return n[this.dataField]},searchFilterCalculator:p,filterable:!0},t.displayMap&&n.extend(!0,f,{dataType:"string",customizeText:function(n){var i=n.value,r=i!==undefined?t.displayMap[i]:undefined;return r!==undefined?r:t.displayMap["default"]},searchFilterCalculator:function(n,t){var r,u;for(r in this.displayMap)if(u=this.displayMap[r],r!=="default"&&u&&(t?u===n:u.indexOf&&u.indexOf(n)!==-1))return i.isNumber(r)&&(r=new Number(r)),[this.dataField,t||"=",r];return null}})):n.extend(!0,f,{sortable:!1,filterable:!!t.searchFilterCalculator}),u=n.extend(!0,{},o,r,f,t)),u.valueCalculator||u.command?u:void 0},e=function(t,i){var r=[],f=0;return t&&n.each(t,function(n,t){var e=u(t,i);e&&(e.index=f++,r.push(e))}),r},c=function(t){var r=n.type(t);return r==="string"?i.isNumber(t)?r="number":Globalize.parseDate(t,null,"en")||t.indexOf("/Date(")===0?r="date":(t.indexOf("<\/")>=0||t.indexOf("/>")>=0)&&(r="html"):r!=="boolean"&&r!=="number"&&r!=="date"&&(r="unknown"),r},l=function(n){switch(n){case"number":return"right";case"boolean":return"center";default:return"left"}},a=function(n){if(n==="date")return"shortDate"},v=function(n,t){var r=n.items()[0],i,f,e=[];if(r)for(i in r)typeof r[i]!="function"&&i.indexOf("__")!==0&&(f=u(i,t),e.push(f));return e},y=function(t,i){var r;if(n.isArray(t)&&n.isArray(i)){if(t.length!==i.length)return!1;for(r=0;r<t.length;r++)if(t[r].selector!==i[r].selector||t[r].desc!==i[r].desc)return!1;return!0}return t===i},t=function(t,r){var u=r&&r.items()[0],h=0,o;n.each(t._columns,function(n,t){t.dataField&&u&&(t.dataType=t.dataType||c(u[t.dataField])),t.dataType&&(t.alignment=t.alignment||l(t.dataType),t.format=t.format||a(t.dataType),i.isDefined(t.filterOperations)||(t.filterOperations=s[t.dataType]))}),t._options.customizeColumns&&(o=t.getSortDataSourceParameters(),t._options.customizeColumns(t._columns),t._columns=e(t._columns,f(t))),n.each(t._columns,function(n,t){t.index=h++}),t._options.customizeColumns&&!y(o,t.getSortDataSourceParameters())?t.columnsChanged.fire({changeType:"sorting"}):t.columnsChanged.fire({changeType:"columns"})},r=function(t,i){t._columns=n.grep(t._columns,function(n){return n.command!=="select"}),i==="multipleWithCheckboxes"&&t._columns.splice(0,0,u({sortable:!1,command:"select",dataType:"boolean",width:"70px"}))},f=function(n){return{sortable:n._options.sortable}},p=function(n,t){var r=this,u=null,f=Globalize.parseDate(n);return r.dataType==="number"?i.isNumber(n)&&(u=[r.dataField,t||"=",new Number(n)]):r.dataType==="date"?f&&(u=[r.dataField,t||"=",f]):u=[r.dataField,t||"contains",n],u};return{ctor:function(){this._columns=[],this.columnsChanged=n.Callbacks(),this._options={}},applyOptions:function(n){var i=this,u=n.columns;i._options=n,i._columns=u?e(u,f(i)):[],i._isColumnsFromOptions=!!u,i._dataSourceApplied&&(r(i,n.selectionMode),t(i))},applyDataSource:function(n){var i=this,u=n&&n.isLoaded(),e=i._options.selectionMode;i._dataSourceApplied||(i._isColumnsFromOptions||(i._columns=u?v(n,f(i)):[]),u&&(r(i,e),t(i,n),i._dataSourceApplied=!0))},reset:function(){this._dataSourceApplied=!1},isInitialized:function(){return!!this._columns.length},getColumns:function(){return n.extend(!0,[],this._columns)},getVisibleColumns:function(){var t=[];return n.each(this._columns,function(){var i=this;i.visible&&t.push(n.extend(!0,{},i))}),t},moveColumn:function(n,t){var r=this,u;i.isDefined(n)&&i.isDefined(t)&&r._columns[n]&&r._columns[t]&&(u=r._columns[n],r._columns.splice(n,1),r._columns.splice(t,0,u),r.columnsChanged.fire({changeType:"columns"}))},hasFilter:function(){for(var t=this.getVisibleColumns(),n=0;n<t.length;n++)if(t[n].filterText)return!0;return!1},changeSorting:function(t,i){var u=this,e=u._options.sortable&&u._options.sortable.multiple,r=u._columns[t],o=function(){switch(r.sorting){case"asc":return"desc";case"desc":return null;default:return"asc"}},f=!1;r&&r.sortable&&(e||n.each(u._columns,function(n){n!==t&&this.sorting&&(this.sorting=null,f=!0)}),i==="asc"||i==="desc"?r.sorting!==i&&(r.sorting=i,f=!0):(r.sorting=o(r.sorting),f=!0)),f&&u.columnsChanged.fire({changeType:"sorting"})},getSortDataSourceParameters:function(){var i=this,t=[];return n.each(i._columns,function(){this.dataField&&(this.sorting==="asc"||this.sorting==="desc")&&this.visible&&this.sortable&&t.push({selector:this.dataField,desc:this.sorting==="desc"})}),t.length>0?t:void 0},updateColumn:function(t,r,u){var e=this,f=e._columns[t];f&&(i.isString(r)?f[r]=u:i.isObject(r)&&n.extend(!0,f,r),e.columnsChanged.fire({changeType:"columns",columnIndex:t,optionName:r,column:n.extend({},this._columns[t])}))},startSelectionWithCheckboxes:function(){var n=this;r(n,"multipleWithCheckboxes"),t(n)},stopSelectionWithCheckboxes:function(){var n=this;r(n,n._options.selectionMode),t(n)},dispose:function(){this.columnsChanged.empty()}}}());r.dataGrid.ColumnsController=u}(jQuery,DevExpress),function(n,t){var r=t.ui,i=t.utils;r.dataGrid.SelectionController=t.Class.inherit(function(){var e=function(n){return n==="single"||n==="multiple"||n==="multipleWithCheckboxes"},r=function(r,u){var f,e=r._selectedItemKeys;if(i.isObject(u)){for(f=0;f<e.length;f++)if(t(u,e[f]))return f;return-1}return n.inArray(u,e)},u=function(n,t){r(n,t)===-1&&n._selectedItemKeys.push(t)},o=function(n,t){var u=n._selectedItemKeys,i=r(n,t);i>=0&&u.splice(i,1)},t=function(n,r){var u,f;if(i.isObject(n)&&i.isObject(r)){for(u in n)if(f=n[u],i.isObject(f)){if(!t(f,r[u]))return!1}else if(f!==r[u])return!1;return!0}return n===r},f=function(n){delete n._shiftFocusedItemIndex},s=function(n,t,r){var e=!1,s,f,c=r[n._focusedItemIndex]&&n.isSelectedItem(r[n._focusedItemIndex].__key__),h;if(i.isDefined(n._shiftFocusedItemIndex)||(n._shiftFocusedItemIndex=n._focusedItemIndex),n._shiftFocusedItemIndex!==n._focusedItemIndex)for(s=n._focusedItemIndex<n._shiftFocusedItemIndex?1:-1,f=n._focusedItemIndex;f!==n._shiftFocusedItemIndex;f+=s)r[f]&&(h=r[f].__key__,o(n,h),e=!0);if(t!==n._shiftFocusedItemIndex)for(s=t<n._shiftFocusedItemIndex?1:-1,f=t;f!==n._shiftFocusedItemIndex;f+=s)r[f]&&(h=r[f].__key__,u(n,h),e=!0);return r[n._focusedItemIndex]&&!c&&(u(n,r[n._focusedItemIndex].__key__),e=!0),e},h=function(i){var o,u,f=i._dataSource&&i._dataSource.key(),e=i._isSelectAllMode,s=i._selectedItemKeys,r=[];return i._dataSource&&(f?n.each(s,function(t,i){if(r.length>0&&r.push(e?"and":"or"),n.isArray(f)){for(o=[],u=0;u<f.length;u++)u>0&&o.push(e?"or":"and"),o.push([f[u],e?"<>":"=",i[f[u]]]);r.push(o)}else r.push([f,e?"<>":"=",i])}):r=function(n){for(var i=0;i<s.length;i++)if(t(s[i],n))return!e;return e}),r.length>0||n.isFunction(r)?r:void 0};return{ctor:function(n,t){this._dataSource=n,this._selectionMode=t,this._selectedItemKeys=[],this._isSelectionWithCheckboxes=!1,this._focusedItemIndex=-1,this._isSelectAllMode=!1},isSelectedItem:function(n){var t=r(this,n);return this._isSelectAllMode?t===-1:t!==-1},isMultipleWithCheckboxesMode:function(){return this._selectionMode==="multipleWithCheckboxes"||this._isSelectionWithCheckboxes},selectAll:function(n){var t=this;return t._selectionMode==="multiple"||t._selectionMode==="multipleWithCheckboxes"?(t._isSelectAllMode=n,t._selectedItemKeys=[],!0):!1},selectedItems:function(t){var r=this,f,o,u,c,s;return i.isDefined(t)?(c=e(r._selectionMode),r._dataSource&&c&&(f=n.isArray(t)?n.extend(!0,[],t):[t],r._selectionMode==="single"&&f.length>1&&(f=[f[0]]),r._isSelectAllMode=!1,r._selectedItemKeys=f),c):(o=h(r),s=r._dataSource&&r._dataSource.filter(),s||o?(u=r._dataSource.store().createQuery(),s&&(u=u.filter(s)),o&&(u=u.filter(o)),u.enumerate()):n.Deferred().resolve([]))},changeItemSelection:function(n,i){var r=this,v=r._dataSource?r._dataSource.items():[],y=v[n],l=r._selectionMode,c,a,h;return e(l)&&y&&(h=y.__key__,r.isMultipleWithCheckboxesMode()&&(i={control:!0}),i=i||{},i.control?(f(r),a=r.isSelectedItem(h),l==="single"&&(r._selectedItemKeys=[]),a&&!r._isSelectAllMode||!a&&r._isSelectAllMode?o(r,h):u(r,h),c=!0):i.shift&&l==="multiple"&&r._focusedItemIndex>=0?(r._isSelectAllMode&&(r._isSelectAllMode=!1,r._selectedItemKeys=[]),c=s(r,n,v)):(f(r),(r._isSelectAllMode||r._selectedItemKeys.length!==1||!t(r._selectedItemKeys[0],h))&&(r._isSelectAllMode=!1,r._selectedItemKeys=[h],c=!0)),c)?(r._focusedItemIndex=n,!0):!1},focusedItemIndex:function(n,t){var r=this,u=r._selectionMode;if(i.isDefined(n))n>=0&&u==="single"?r.changeItemSelection(n,{}):n>=0&&u==="multiple"&&t&&t.shift?r.changeItemSelection(n,{shift:!0}):(r._focusedItemIndex=-1,i.isNumber(n)&&n>=0&&(f(r),r._focusedItemIndex=n));else return r._focusedItemIndex},isSelectionWithCheckboxes:function(){return!!this._isSelectionWithCheckboxes},startSelectionWithCheckboxes:function(){var n=this;return n._selectionMode==="multiple"&&!n._isSelectionWithCheckboxes?(n._isSelectionWithCheckboxes=!0,!0):!1},stopSelectionWithCheckboxes:function(){var n=this;return n._isSelectionWithCheckboxes?(n._isSelectionWithCheckboxes=!1,!0):!1}}}())}(jQuery,DevExpress),function(n,t){var r=t.ui,i=t.utils,u=function(n,t){var r,i,u=t?["=","<>"]:[">=","<=","<>","=",">","<"];if(!n)return null;for(i=0;i<u.length;i++)if(n.indexOf(u[i])===0){r=u[i],n=n.substr(r.length);break}return n?{value:n,operation:r}:null};r.dataGrid.processFilterExpession=u,r.dataGrid.DataController=t.Class.inherit(function(){var s=function(n,t){var r;return t.dataType!=="date"||i.isDate(n)||(i.isNumber(n)?n=new Date(n):n&&n.indexOf("/Date(")===0?n=new Date(parseInt(n.substr(6),10)):(r=Date.parse(n),n=r?new Date(r):Globalize.parseDate(n,null,"en")||n)),n},e=function(n){n.rowsChanged.fire([{changeMode:"refresh",rows:n.getRows()}])},o=function(t){var r,i;t._dataSource&&(i=t._dataSource.items(),t._rows=[],i.length>0&&t._columnsController.isInitialized()&&(r=t._columnsController.getVisibleColumns(),n.each(i,function(i,u){var f=[],e={data:u,values:f,selected:t._selectionController.isSelectedItem(u.__key__)};n.each(r,function(){var n=null;this.valueCalculator?n=this.valueCalculator(u):this.dataField?n=u[this.dataField]:this.command==="select"&&(n=e.selected),f.push(s(n,this))}),t._rows.push(e)})),e(t))},t=function(t){var i=[],r=!1,u=t._options.selectedRowsChanged,f=t._selectionController.isMultipleWithCheckboxesMode();n.each(t.getRows(),function(n,u){u.selected!==t._selectionController.isSelectedItem(u.data.__key__)&&(f&&u.values[0]===u.selected&&(u.values[0]=!u.selected),u.selected=!u.selected,r=!0,i.push({changeMode:"update",rowIndex:n,row:u}))}),i.length>0&&t.rowsChanged.fire(i),r&&u&&u()},f=function(t){var r,i=[],f=[],e=t._columnsController.getVisibleColumns();if(t._dataSource)if(t._filter&&i.push(t._filter),t._searchFilter&&i.push(t._searchFilter),n.each(e,function(){var n,t;this.filterable&&this.searchFilterCalculator&&this.filterText&&(this.filterOperation?t=this.searchFilterCalculator(this.filterText,this.filterOperation):(n=u(this.filterText),n&&(t=this.searchFilterCalculator(n.value,n.operation))),t&&i.push(t))}),i.length>0){for(r=0;r<i.length;r++)r>0&&f.push("and"),f.push(i[r]);t._dataSource.filter(f)}else t._dataSource.clearFilter()},h=function(n,t){var i,r,s=n._columnsController.getColumns(),o,f=u(t,!0),e=[];if(!f)return null;for(i=0;i<s.length;i++)r=s[i],r.filterable&&r.searchFilterCalculator&&(o=r.searchFilterCalculator(f.value,f.operation),o&&(e.length>0&&e.push(f.operation==="<>"?"and":"or"),e.push(o)));return e};return{ctor:function(t){var i=this;i._rows=[],i._columnsController=t,i._columnsChangedHandler=function(n){n.changeType==="sorting"?i._dataSource&&i._dataSource.sortBy(t.getSortDataSourceParameters()):n.changeType==="columns"&&n.optionName&&(n.optionName==="filterText"||n.optionName==="filterOperation"&&n.column.filterText||n.optionName.filterOperation)?f(i):n.optionName!=="width"&&o(i)},i._dataSourceChangedHandler=function(){o(i)},i._dataSourceItemsCountChangedHandler=function(){i.getViewport()&&i.viewportChanged.fire(),i.pagesChanged.fire(i)},i._columnsController.columnsChanged.add(i._columnsChangedHandler),i.rowsChanged=n.Callbacks(),i.pagesChanged=n.Callbacks(),i.viewportChanged=n.Callbacks(),i.loadingChanged=n.Callbacks(),i._loadingChangedHandler=function(n){i._isLoading=n,i.loadingChanged.fire(i.isLoading())},i._options={},i._viewportSize=20,i._viewportRowIndex=0,i._pageIndex=0,i._isLoading=!1,i._isCustomLoading=!1},applyOptions:function(n){this._options=n,this._selectionController=new r.dataGrid.SelectionController(this._dataSource,n.selectionMode)},isLoading:function(){return this._isLoading||this._isCustomLoading},filter:function(n){this._filter=n,f(this)},clearFilter:function(){this._filter=null,f(this)},searchByText:function(n){var t=this;t._searchText=n,t._searchFilter=h(t,n),f(t)},getSearchText:function(){return this._searchText||""},setDataSource:function(n){var t=this;t._dataSource&&(t._dataSource.changed.remove(t._dataSourceChangedHandler),t._dataSource.itemsCountChanged.remove(t._dataSourceItemsCountChangedHandler),t._dataSource.loadingChanged.remove(t._loadingChangedHandler)),t._dataSource=n,t._selectionController=new r.dataGrid.SelectionController(n,t._options.selectionMode),n&&(n.isLoaded()&&(t._dataSourceChangedHandler(),t._dataSourceItemsCountChangedHandler()),t._isLoading=!n.isLoaded(),t._filter=n.filter(),t._pageIndex=n.pageIndex(),n.changed.add(t._dataSourceChangedHandler),n.itemsCountChanged.add(t._dataSourceItemsCountChangedHandler),n.loadingChanged.add(t._loadingChangedHandler))},getRows:function(){return this._rows},getViewport:function(){var n=this,u=n._options.scrollable,r,i,t;if(u&&u.virtual)return r=n._pageIndex*n.pageSize(),i=n.getRows().length,t=n.getAllRowsCount()-i-r,t<0&&(i+=t,t=0),{topRowsCount:r,visibleRowsCount:i,bottomRowsCount:t}},setViewportSize:function(n){var t=this;t._viewportSize!==n&&(t._viewportSize=n,e(t))},setViewportRowIndex:function(n){var t=this,u=t.getViewport(),r=t.pageSize(),i;u&&r&&(i=Math.floor(n*2/r)/2,i=Math.min(i,t.getPagesCount()-1),i=Math.max(i,0),t.pageIndex()!==i&&(t._pageIndex=i,window.setTimeout(function(){t._dataSource.pageIndex(t._pageIndex),t.pagesChanged.fire(t)})),t.viewportChanged.fire())},getAllRowsCount:function(){return this._dataSource?this._dataSource.itemsCount():0},getPagesCount:function(){return this._dataSource?this._dataSource.pagesCount():1},pageIndex:function(n){var t=this;return t._dataSource&&i.isDefined(n)&&t._pageIndex!==n&&(t._selectionController.focusedItemIndex(-1),t._pageIndex=n,t._dataSource.pageIndex(n),t.pagesChanged.fire(t)),t._pageIndex},pageSize:function(n){var t=this;if(n===undefined)return t._dataSource?t._dataSource.pageSize():0;t._viewportRowIndex=0,t._pageIndex=0,t._dataSource&&t._dataSource.pageSize(n)},getPageSizes:function(){var t=this,r=t._options.paginate,u=t.pageSize();return i.isDefined(t._pageSizes)||(t._pageSizes=[],r&&(n.isArray(r.pageSizes)?t._pageSizes=r.pageSizes:r.pageSizes&&u>1&&(t._pageSizes=[Math.floor(u/2),u,u*2]))),t._pageSizes},isPagerVisible:function(){var n=this,t=n._options.scrollable;return t&&t.virtual?!1:n.getPagesCount()>1},focusedRowIndex:function(n,r){var u=this,f=u._selectionController;if(i.isDefined(n))f.focusedItemIndex(n,r),t(u);else return f.focusedItemIndex()},selectedRows:function(n){var i=this,r=i._selectionController;if(n===undefined)return r.selectedItems();r.selectedItems(n)&&t(i)},selectAll:function(n){this._selectionController.selectAll(n)&&t(this)},changeRowSelection:function(n,i){var r=this;r._selectionController.changeItemSelection(n,i)&&t(r)},isSelectionWithCheckboxes:function(){return this._selectionController.isSelectionWithCheckboxes()},startSelectionWithCheckboxes:function(){var t=this;t._selectionController.startSelectionWithCheckboxes()&&(n.each(t._rows,function(){this.values.unshift(this.selected)}),t._columnsController.startSelectionWithCheckboxes())},stopSelectionWithCheckboxes:function(){var t=this;t._selectionController.stopSelectionWithCheckboxes()&&(n.each(t._rows,function(){this.values.shift()}),t._columnsController.stopSelectionWithCheckboxes())},beginCustomLoading:function(){var n=this;n._isCustomLoading=!0,n.loadingChanged.fire(n.isLoading())},endCustomLoading:function(){var n=this;n._isCustomLoading=!1,n.loadingChanged.fire(n.isLoading())},refresh:function(){var n=this;n._viewportRowIndex=0,n._pageIndex=0,n._dataSource&&n._dataSource.reload()},dispose:function(){var n=this,t=n._dataSource;n._columnsController.columnsChanged.remove(n._columnsChangedHandler),t&&(t.changed.remove(n._dataSourceChangedHandler),t.itemsCountChanged.remove(n._dataSourceItemsCountChangedHandler),t.loadingChanged.remove(n._loadingChangedHandler))}}}())}(jQuery,DevExpress);(function(n){n.viz={}})(DevExpress),function(n){n.viz.core={}}(DevExpress),function(n,t,i){var r=t.utils,u=t.viz.core,f=2e3;u.outOfScreen={x:-1e3,y:-1e3},u.tickIntervalCalculator={_defaultNumberMultipliers:[1,2,3,5],_defaultGridSpacingFactor:30,_getNumericTickInterval:function(n,t){var u,f=0,o,e=!1,i;if(n>1){for(u=1;!e;u*=10)for(i=0;i<t.length;i++)if(f=t[i]*u,n<=f){e=!0;break}}else if(n>0)for(f=1,u=.1;!e;u/=10)for(i=t.length-1;i>=0;i--){if(o=t[i]*u,n>o){e=!0;break}f=o}return r.adjustValue(f)},_getDatetimeTickInterval:function(n,t){var e={millisecond:[1,2,5,10,25,100,250,300,500],second:[1,2,3,5,10,15,20,30],minute:[1,2,3,5,10,15,20,30],hour:[1,2,3,4,6,8,12],day:[1,2,3,5,7,10,14],month:[1,2,3,6]},h={},o,u,f,s,i;if(n<1)return{milliseconds:1};for(u in e)if(e.hasOwnProperty(u))for(f=e[u],i=0;i<f.length;i++)if(n<=r.convertDateUnitToMilliseconds(u,f[i]))return h[u+"s"]=f[i],h;for(o=1;;o*=10)for(i=0;i<t.length;i++)if(s=o*t[i],n<=r.convertDateUnitToMilliseconds("year",s))return{years:s};return null},getTickInterval:function(n,t,i,r,u){var f=this,r=r||f._defaultGridSpacingFactor,u=u||f._defaultNumberMultipliers,e=i>0?r*t/i:0;switch(n){case"numeric":return f._getNumericTickInterval(e,u);case"dateTime":return f._getDatetimeTickInterval(e,u)}return null}},u.minorTickIntervalCalculator={_defaultNumberMultipliers:[2,4,5,8,10],_defaultGridSpacingFactor:15,_getDatetimeTickInterval:function(n,t,i){for(var f,u=i.length-1;u>=0;u--)if(f=Math.floor(n/i[u]),t<=f)return r.convertMillisecondsToDateUnits(f);return 0},_getNumericTickInterval:function(n,t,i){for(var f,u=i.length-1;u>=0;u--)if(f=n/i[u],t<=f)return r.adjustValue(f);return 0},getTickInterval:function(n,t,i,u,f){var e=this,u=r.isDefined(u)?u:e._defaultGridSpacingFactor,f=f||e._defaultNumberMultipliers,o=u*t/i;switch(n){case"numeric":return e._getNumericTickInterval(t,o,f);case"dateTime":return e._getDatetimeTickInterval(t,o,f)}return 0}},u.tickProvider={_areDisplayValuesValid:function(n,t,i){var r=this,f=r._getTextFunc(i),e=i.renderer.drawText(f(n),u.outOfScreen.x+i.translator.translateX(n),u.outOfScreen.y,i.textOptions),o=i.renderer.drawText(f(t),u.outOfScreen.x+i.translator.translateX(t),u.outOfScreen.y,i.textOptions),s=e.getBBox(),c=o.getBBox(),h;return h=s.x+s.width<c.x,r._removeElement(e.element,i),r._removeElement(o.element,i),h},_removeInvalidDatesWithUnitBegining:function(n,t){var i=this;n.length<1||!t.setTicksAtUnitBeginning||!r.isDate(t.min)||i._areDisplayValuesValid(n[0],n[1],t)||n.splice(1,1)},_getMaxDisplayValue:function(n,t){var e=this,i=null,f=e._getTextFunc(t),u,r;if(n.length>0)for(i=f(n[0]),r=1;r<n.length;r++)u=f(n[r]),i.length<u.length&&(i=u);return i},_removeElement:function(n,t){t.renderer.svgRoot.element.removeChild(n)},_getMaxDisplayValueWidth:function(n,t){var r=this,f=r._getMaxDisplayValue(n,t),i,e;return f!==null?(i=t.renderer.drawText(f,u.outOfScreen.x,u.outOfScreen.y,t.textOptions),e=i.getBBox().width,r._removeElement(i.element,t),Math.ceil(e)):0},_generateStartTick:function(n,t){for(var e=this,s=0,o=t.min-t.max<0,i=t.min,u=r.isDate(t.min),f=u?r.convertDateTickIntervalToMilliseconds(n):n,i=Math.floor(t.min/f)*f,i=u?new Date(i):i;o===i-t.min<0&&i!==t.min;)i=e._nextTick(i,n,t);return i},_nextTick:function(n,t,i){var u=r.addInterval(n,t,i.min>i.max);return r.isNumber(i.min)&&(u=r.isExponential(u)?r.adjustValue(u):r.applyPrecisionByMinDelta(i.min,t,u)),r.isDate(i.min)&&i.setTicksAtUnitBeginning&&r.correctDateWithUnitBeginning(u,t),u},_addMinorTicks:function(t,i,f,e,o){var w=this,l,a=r.isDate(t)?"dateTime":"numeric",h,s=[],y=0,v=e.minorTickCount+1,p,c;for(e.min=t,e.max=i,r.isDefined(e.tickInterval)||(h=Math.abs(e.max-e.min),r.isDefined(e.minorTickCount)?((!f.majorTicks.autoArrangementStep||f.majorTicks.autoArrangementStep<=1)&&(p=e.minorTickCount+1,y=a==="dateTime"?r.convertDateTickIntervalToMilliseconds(f.majorTickInterval):f.majorTickInterval,v=Math.round(h/y*p)||1),c=a==="dateTime"?r.convertMillisecondsToDateUnits(h/v):h/v,n.isNumeric(c)&&(c=r.adjustValue(c))):r.isDate(t)&&(c=u.minorTickIntervalCalculator.getTickInterval(a,h,h*e.deltaCoef,e.gridSpacingFactor,e.numberMultipliers))),e=n.extend(!0,{},e,{tickInterval:c}),s=w.getTicks(e),o&&s.reverse(),s.length>0&&Math.ceil(Math.abs(i-s[s.length-1])*e.deltaCoef)<2&&s.pop(),l=0;l<s.length;l++)f.minorTicks.push(s[l]),f.fullTicks.push(s[l])},_addLeftBoudedTicks:function(n,t,i){r.isDefined(t)&&n.majorTicks[0].valueOf()!==t.valueOf()&&(i.addMinMax.max=!0,this._addMinorTicks(n.majorTicks[0],t,n,i,!0),i.addMinMax.max=!1,i.showCustomBoundaryTicks&&(n.minorTicks.length>0&&n.minorTicks[0].valueOf()===t.valueOf()&&n.minorTicks.shift(t),n.customBoundaryTicks.push(t),n.fullTicks.unshift(t)))},_addRightBoudedTicks:function(n,t,i){var u=n.majorTicks[n.majorTicks.length-1];n.fullTicks.push(u),r.isDefined(t)&&u.valueOf()!==t.valueOf()&&(i.addMinMax.min=!1,i.addMinMax.max=!0,this._addMinorTicks(u,t,n,i),i.showCustomBoundaryTicks&&(n.minorTicks.length>0&&n.minorTicks[n.minorTicks.length-1].valueOf()===t.valueOf()&&n.minorTicks.pop(t),n.customBoundaryTicks.push(t),n.fullTicks.push(t)))},_correctBoundedTicks:function(t,i,r,u){u=n.extend({},{min:!0,max:!0},u),r.length>0&&(u.min||r[0].valueOf()!==t.valueOf()||r.shift(),u.max&&r[r.length-1].valueOf()===i.valueOf()||r.pop())},_initializeMinorTicksOptions:function(t,f,e,o,s,h){var a=this,c,l=r.isDefined(h.minorTickCount);n.extend(!0,h,{addMinMax:{min:!1,max:!1},deltaCoef:a._getDeltaCoef(o,f,e)},h),h.numberMultipliers=l?[h.minorTickCount+1]:h.numberMultipliers,h.gridSpacingFactor=l?0:h.gridSpacingFactor,!l&&s.majorTicks.length>1&&(c=Math.abs(s.majorTicks[0]-s.majorTicks[1]),a.needTickIntervalCalculation(c,s.minorTickInterval,h.incidentOccured)&&(s.minorTickInterval=u.minorTickIntervalCalculator.getTickInterval(t,c,c*h.deltaCoef,h.gridSpacingFactor,h.numberMultipliers),h.tickInterval=r.isNumber(f)?s.minorTickInterval:i))},_getDataType:function(n){return r.isDate(n)?"dateTime":"numeric"},_getDeltaCoef:function(n,t,i){return n/Math.abs(t-i)},_initializeMajorTicksOptions:function(t,i,f,e,o,s){var h;n.extend(!0,s,{min:i,max:f,screenDelta:e,isHorizontal:!0}),r.isDefined(i)&&r.isDefined(f)&&(h=Math.abs(f-i),this.needTickIntervalCalculation(h,o.majorTickInterval,s.incidentOccured)&&(s.isStartTickGenerated=!0,o.majorTickInterval=u.tickIntervalCalculator.getTickInterval(t,h,e,s.gridSpacingFactor,s.numberMultipliers),s.tickInterval=o.majorTickInterval))},_getTextFunc:function(n){return n.getText||function(n){return n.toString()}},needTickIntervalCalculation:function(n,t,i){var u;if(r.isDefined(t)){if(!r.isNumber(t)&&(u=new Date,t=r.addInterval(u,t)-u,!t))return!0;if(r.isNumber(t))if(t>0&&n/t>f)i&&i("Tick count is too big. So, the tick interval is specified automatically.");else return!1}return!0},getAutoArrangementStep:function(n,t){var u=this,i=u._getMaxDisplayValueWidth(n,t),r;return i>0?(r=Math.floor(t.screenDelta/(i+t.textSpacing)),Math.ceil(n.length/r)):1},getAutoArrangementTicks:function(n,t,i){var e=this,u=n,i=r.isNumber(i)?i:e.getAutoArrangementStep(n,t),f;if(i>1)for(u=[],f=0;f<n.length;f+=i)u.push(n[f]);return e._removeInvalidDatesWithUnitBegining(u,t),u.autoArrangementStep=i,u},getTickIntervals:function(n,t,i,u,f){var o=this,c,h,s=o._getDataType(n),e={majorTickInterval:u.tickInterval,minorTickInterval:f.tickInterval,majorTicks:[]};return o._initializeMajorTicksOptions(s,n,t,i,e,u),r.isDefined(n)&&r.isDefined(t)&&(e.majorTicks.push(n),e.majorTicks.push(o._nextTick(n,e.majorTickInterval,{min:n,max:t,setTicksAtUnitBeginning:u.setTicksAtUnitBeginning})),h=Math.abs(e.majorTicks[0]-e.majorTicks[1]),o._initializeMinorTicksOptions(s,n,t,i,e,f)),e},getFullTicks:function(n,t,i,u,f){var o=this,s,h=o._getDataType(n),e={customBoundaryTicks:[],fullTicks:[],majorTickInterval:u.tickInterval,majorTicks:[],minorTickInterval:f.tickInterval,minorTicks:[]};if(o._initializeMajorTicksOptions(h,n,t,i,e,u),e.majorTicks=o.getTicks(u),r.isDefined(n)&&r.isDefined(t)&&e.majorTicks.length>0){for(e.majorTicks.autoArrangementStep&&e.majorTicks.autoArrangementStep>1&&!r.isDefined(f.tickInterval)&&!r.isDefined(f.minorTickCount)&&(f.tickInterval=e.minorTickInterval=u.tickInterval),o._initializeMinorTicksOptions(h,n,t,i,e,f),o._addLeftBoudedTicks(e,n,f),s=0;s<e.majorTicks.length-1;s++)e.fullTicks.push(e.majorTicks[s]),o._addMinorTicks(e.majorTicks[s],e.majorTicks[s+1],e,f);o._addRightBoudedTicks(e,t,f)}return e},getTicks:function(t){var s=this,f=[],e,c=t.max-t.min>0,l,a,o,h=t.isStartTickGenerated,v,y=t.useTicksAutoArrangement;if(!r.isDefined(t.min)||!r.isDefined(t.max)||isNaN(t.min)||isNaN(t.max))f=t.isHorizontal?["canvas_position_left","canvas_position_center","canvas_position_right"]:["canvas_position_bottom","canvas_position_middle","canvas_position_top"],y=!1,f.hideLabels=!0;else if(o=n.isNumeric(t.min)&&n.isNumeric(t.max)&&!n.isNumeric(t.tickInterval)?i:t.tickInterval,v=Math.abs(t.max-t.min),this.needTickIntervalCalculation(v,o,t.incidentOccured)&&(h=r.isDefined(h)?h:!0,o=u.tickIntervalCalculator.getTickInterval(r.isDate(t.min)?"dateTime":"numeric",Math.abs(t.max-t.min),t.screenDelta,t.gridSpacingFactor,t.numberMultipliers)),o.valueOf()!==0&&t.min.valueOf()!==t.max.valueOf()){e=h?s._generateStartTick(o,t):t.min;do f.push(e),e=s._nextTick(e,o,t),l=e-t.min>0,a=t.max-e>0;while(c===l&&c===a);f.push(e),s._correctBoundedTicks(t.min,t.max,f,t.addMinMax)}return t.beforeTicksAutoArrangement&&t.beforeTicksAutoArrangement(f),y?s.getAutoArrangementTicks(f,t):f}}}(jQuery,DevExpress),function(n,t,i){var f=t.Class,r=t.utils,u=Math;t.viz.core.LinearTranslator=f.inherit(function(){var f=function(n,t){var i=this;i.canvas=t,i.updateBusinessRange(n)},e=function(){var n=this,i=n.canvas,u=n.businessRange,f=n.businessRange.categoriesX,e=n.businessRange.categoriesY,o,s;n.width=i.width-i.left-i.right,n.height=i.height-i.top-i.bottom,f?(n.categoriesXNumber=f.length,n.horizontalInterval=u.stickX?n.width/(n.categoriesXNumber-1):n.width/n.categoriesXNumber,n.categoriesXToPoints=t(f,n.businessRange.invertX),n.translateX=b,n.getIntervalX=k):(n.translateX=l,n.getIntervalX=nt,r.isNumber(u.minX)?n.untranslateX=a:r.isDate(u.minX)&&(n.untranslateX=v)),e?(n.categoriesYNumber=e.length,n.verticalInterval=u.stickY?n.height/(n.categoriesYNumber-1):n.height/n.categoriesYNumber,n.categoriesYToPoints=t(e,n.businessRange.invertY),n.translateY=d,n.getIntervalY=g):(n.translateY=y,n.getIntervalY=tt,r.isNumber(u.minY)?n.untranslateY=p:r.isDate(u.minY)&&(n.untranslateY=w))},o=function(n){var t=this;t.businessRange=n,n.minVisibleX===i&&(n.minVisibleX=n.minX),n.maxVisibleX===i&&(n.maxVisibleX=n.maxX),n.minVisibleY===i&&(n.minVisibleY=n.minY),n.maxVisibleY===i&&(n.maxVisibleY=n.maxY),t.init()},s=function(){return this.businessRange},h=function(n,t){var r=this,i=r.businessRange;i.minVisibleX=n,i.maxVisibleX=t,i.applyEqualLimitsMargins(),r.init()},c=function(n,t){var r=this,i=r.businessRange;i.minVisibleY=n,i.maxVisibleY=t,i.applyEqualLimitsMargins(),r.init()},n=function(n,t,i){var f=(t+"").match(/canvas_position_(.*)/),r=n.canvas,e,u=n.businessRange;if(f){if(t=f[1],t==="default")return u["minVisible"+i]<=0&&0<=u["maxVisible"+i]?n["translate"+i](0):i==="X"?u.invertX?r.left+n.width:r.left:u.invertY?r.top:r.top+n.height;if(i==="X"){if(t==="left")return r.left;if(t==="center")return r.left+n.width/2;if(t==="right")return r.left+n.width}else{if(t==="bottom")return r.top+n.height;if(t==="middle")return r.top+n.height/2;if(t==="top")return r.top}}return null},l=function(t){var f=this,i=f.businessRange,o=f.canvas,e,s=n(f,t,"X");return r.isDefined(s)?s:t<i.minX?null:t>i.maxX?null:(e=i.invertX?o.left+(1-(t-i.minVisibleX)/(i.maxVisibleX-i.minVisibleX))*f.width:o.left+(t-i.minVisibleX)/(i.maxVisibleX-i.minVisibleX)*f.width,u.round(e))},a=function(n){var i=this,t=i.businessRange,r=i.canvas;return n<r.left?null:n>r.left+i.width?null:t.invertX?t.minVisibleX+(i.width-(n-r.left))*(t.maxVisibleX-t.minVisibleX)/i.width:t.minVisibleX+(n-r.left)*(t.maxVisibleX-t.minVisibleX)/i.width},v=function(n){var i=this,t=i.businessRange,r=i.canvas;return n<r.left?null:n>r.left+i.width?null:t.invertX?new Date(t.minVisibleX.valueOf()+(i.width-(n-r.left))*(t.maxVisibleX-t.minVisibleX)/i.width):new Date(t.minVisibleX.valueOf()+(n-r.left)*(t.maxVisibleX-t.minVisibleX)/i.width)},y=function(t){var f=this,i=f.businessRange,e=f.canvas,o,s=n(f,t,"Y");return r.isDefined(s)?s:t<i.minY?null:t>i.maxY?null:(o=i.invertY?e.height-e.bottom-(1-(t-i.minVisibleY)/(i.maxVisibleY-i.minVisibleY))*f.height:e.height-e.bottom-(t-i.minVisibleY)/(i.maxVisibleY-i.minVisibleY)*f.height,u.round(o))},p=function(n){var i=this,t=i.businessRange,r=i.canvas;return n<r.top?null:n>r.top+i.height?null:t.invertY?t.maxVisibleY-(i.height-(n-r.top))*(t.maxVisibleY-t.minVisibleY)/i.height:t.maxVisibleY-(n-r.top)*(t.maxVisibleY-t.minVisibleY)/i.height},w=function(n){var i=this,t=i.businessRange,r=i.canvas;return n<r.top?null:n>r.top+i.height?null:t.invertY?new Date(t.maxVisibleY.valueOf()-(i.height-(n-r.top))*(t.maxVisibleY-t.minVisibleY)/i.height):new Date(t.maxVisibleY.valueOf()-(n-r.top)*(t.maxVisibleY-t.minVisibleY)/i.height)},b=function(t){var i=this,o=i.canvas,f,h=i.businessRange.stickX,e=0,s=n(i,t,"X");return r.isDefined(s)?s:(f=i.categoriesXToPoints[t],f&&(e=h?o.left+i.horizontalInterval*f.index:o.left+i.horizontalInterval*(f.index+.5)),u.round(e))},k=function(){var n=this;return n.horizontalInterval},d=function(t){var i=this,o=i.canvas,f,h=i.businessRange.stickY,e=0,s=n(i,t,"Y");return r.isDefined(s)?s:(f=i.categoriesYToPoints[t],f&&(e=h?o.top+i.verticalInterval*f.index:o.top+i.verticalInterval*(f.index+.5)),u.round(e))},g=function(){var n=this;return n.verticalInterval},nt=function(){var n=this,t=0;return n.businessRange.intervalX!==i&&(t=n.width*n.businessRange.intervalX/(n.businessRange.maxX-n.businessRange.minX)),Math.round(t)},tt=function(){var n=this,t=0;return n.businessRange.intervalY!==i&&(t=n.height*n.businessRange.intervalY/(n.businessRange.maxY-n.businessRange.minY)),Math.round(t)},it=function(){var i=this,t=i.businessRange,n={};return n.minX=t.minVisibleX,n.maxX=t.maxVisibleX,n.minY=t.minVisibleY,n.maxY=t.maxVisibleY,t.categoriesX&&(n.categoriesX=t.categoriesX,n.minCategoryXPos=0,n.maxCategoryXPos=n.minCategoryXPos+n.categoriesX.length-1),t.categoriesY&&(n.categoriesY=t.categoriesY,n.minCategoryYPos=0,n.maxCategoryYPos=n.minCategoryYPos+n.categoriesY.length-1),n},rt=function(){var i=this,r=i.businessRange,n=i.canvas,t={};return t.minX=n.left,t.maxX=n.width-n.right,t.minY=n.top,t.maxY=n.height-n.bottom,t},t=function(n,t){var u={},r,i;if(t)for(i=n.length-1;i>=0;i--)r=n[n.length-1-i],u[r]={name:r,index:i};else for(i=0;i<n.length;i++)r=n[i],u[r]={name:r,index:i};return u};return{ctor:f,init:e,getCanvasVisibleArea:rt,getBusinessVisibleArea:it,updateBusinessRange:o,getBusinessRange:s,zoomX:h,zoomY:c}}())}(jQuery,DevExpress),function(n){var r=window.NaN,i=window.Number;n.viz.core.Translator1D=n.Class.inherit({ctor:function(n,t,r,u){var f=this;f._domainStart=i(n),f._domainEnd=i(t),f._codomainStart=i(r),f._codomainEnd=i(u),f._domainDelta=f._domainEnd-f._domainStart,f._codomainDelta=f._codomainEnd-f._codomainStart},getDomainStart:function(){return this._domainStart},getDomainEnd:function(){return this._domainEnd},getCodomainStart:function(){return this._codomainStart},getCodomainEnd:function(){return this._codomainEnd},getDomainRange:function(){return this._domainDelta},getCodomainRange:function(){return this._codomainDelta},translate:function(n){var t=this,i=(n-t._domainStart)/t._domainDelta;return 0<=i&&i<=1?t._codomainStart+i*t._codomainDelta:r},adjust:function(n){var t=this,u=(n-t._domainStart)/t._domainDelta,f=r;return u<0?f=t._domainStart:u>1?f=t._domainEnd:0<=u&&u<=1&&(f=i(n)),f}})}(DevExpress),function(n){var i=window.isFinite;n.viz.core.Rectangle=n.Class.inherit({ctor:function(n){var t=this;n=n||{},t.left=Number(n.left)||0,t.right=Number(n.right)||0,t.top=Number(n.top)||0,t.bottom=Number(n.bottom)||0},width:function(){return this.right-this.left},height:function(){return this.bottom-this.top},horizontalMiddle:function(){return(this.left+this.right)/2},verticalMiddle:function(){return(this.top+this.bottom)/2},raw:function(){var n=this;return{left:n.left,top:n.top,right:n.right,bottom:n.bottom}},clone:function(){return new this.constructor(this.raw())},move:function(n,t){var r=this.clone();return i(n)&&i(t)&&(r.left+=Number(n),r.right+=Number(n),r.top+=Number(t),r.bottom+=Number(t)),r},inflate:function(n,t){var r=this.clone();return i(n)&&i(t)&&(r.left-=Number(n),r.right+=Number(n),r.top-=Number(t),r.bottom+=Number(t)),r},scale:function(n){var t=this;return n>0?t.inflate(t.width()*(n-1)/2,t.height()*(n-1)/2):t.clone()}})}(DevExpress),function(n,t){var r=t.viz.core,u=t.viz;r.findTheme=function(n){for(var r=u.themes,i,t=0;t<r.length;t++)if(i=r[t],i.name===n)return i},r.registerTheme=function(t,i){var f,e;t&&t.name&&!r.findTheme(t.name)&&(i?(f=r.findTheme(i),f&&(e=n.extend(!0,{},f,t),u.themes.push(e))):u.themes.push(t))}}(jQuery,DevExpress),function(n,t){function f(n){var t=0;this.next=function(){var i=n[t++];return t==n.length&&this.reset(),i},this.reset=function(){t=0}}var r=t.viz.core,u=t.Class,e=t.utils;r.palettes={"default":["#5F8B95","#BA4D51","#AF8A53","#955F71","#859666","#7E688C"],"Harmony Light":["#FCB65E","#679EC5","#AD79CE","#A6C567","#E18E92","#DDED6E","#B7ABEA","#A8E7E3"],"Soft Pastel":["#7CBAB4","#92C7E2","#75B5D6","#B78C9B","#F2CA84","#A7CA74"]},r.findPalette=function(n){return r.palettes[n]},r.registerPalette=function(n,t){return r.palettes[n]=t},r.Palette=u.inherit({ctor:function(t,i){var u=this;u.currentColor=0,u.stepHighlight=i||0,n.isArray(t)?u.originalPalette=t:(u.originalPalette=r.findPalette(t),u.originalPalette||(u.originalPalette=r.palettes["default"])),u.palette=[],u.palette=u.originalPalette.slice(0),u.paletteActions=new f(["highlight","highlight","darken","darken"])},getNextColor:function(){var n=this,t=n.palette,u=t[n.currentColor],r,i;if(n.currentColor++,n.currentColor>=t.length&&(n.currentColor=0,n.stepHighlight))for(r=n.paletteActions.next(),i=0;i<t.length;i++)t[i]=new DevExpress.viz.charts.Color(t[i])[r](n.stepHighlight);return u},reset:function(){this.currentColor=0,this.palette=this.originalPalette.slice(0),this.paletteActions.reset()}})}(jQuery,DevExpress),function(n,t){var r=t.viz,u=r.core,f=t.Class,e=function(n){var t=u.findTheme(n);return t||(t=r.themes[0]),t};u.BaseThemeManager=f.inherit({ctor:function(t,i){var u=this,f,r,o;t=t||{},f=typeof t=="string"?t:t.name,r=e(f),u.font=n.extend(!0,{},r.font,t.font||{}),i&&r&&(o=i.split("."),n.each(o,function(){r=r[this]})),r=r||{},u.theme=n.extend(!0,{},r,typeof t=="string"?{}:t)},initializeFont:function(t){var i=this,r=n.extend({},t);n.extend(t,i.font,r)},applyTheme:function(t,i){return i=i||{},n.extend(!0,{},t,i)},getTheme:function(){return this.theme}})}(jQuery,DevExpress),function(n){var i=Math.min;n.viz.core.TextCloud=n.Class.inherit(function(){var t={horMargin:8,verMargin:4,tailLength:10},n={};return n["right-bottom"]=n.rb=[0,-1,-1,0,0,1,1,0],n["bottom-right"]=n.br=[-1,0,0,-1,1,0,0,1],n["left-bottom"]=n.lb=[0,-1,1,0,0,1,-1,0],n["bottom-left"]=n.bl=[1,0,0,-1,-1,0,0,1],n["left-top"]=n.lt=[0,1,1,0,0,-1,-1,0],n["top-left"]=n.tl=[1,0,0,1,-1,0,0,-1],n["right-top"]=n.rt=[0,1,-1,0,0,-1,1,0],n["top-right"]=n.tr=[-1,0,0,1,1,0,0,-1],{setup:function(r){var e=this,f=$.extend({},t,r),h=f.x,c=f.y,u=n[f.type],o=f.textWidth+2*f.horMargin,s=f.textHeight+2*f.verMargin,l=f.tailLength,a=l,v=h,y=c;return u[0]&1?a=i(a,s/3):l=i(l,o/3),e._points=[h,c,h+=u[0]*(o+l),c+=u[1]*(s+a),h+=u[2]*o,c+=u[3]*s,h+=u[4]*o,c+=u[5]*s,h+=u[6]*(o-l),c+=u[7]*(s-a)],e._cx=v+u[0]*l+(u[0]+u[2])*o/2,e._cy=y+u[1]*a+(u[1]+u[3])*s/2,e._cloudWidth=o,e._cloudHeight=s,e._tailLength=f.tailLength,e},points:function(){return this._points.slice(0)},cx:function(){return this._cx},cy:function(){return this._cy},width:function(){return this._cloudWidth},height:function(){return this._cloudHeight},tailLength:function(){return this._tailLength}}}())}(DevExpress),function(n,t){var r=t.viz,u=r.core,f=t.Class,i=t.utils.isDefined,e=f.inherit({ctor:function(t){t=t||{},this._incidentOccured=n.isFunction(t.incidentOccured)?t.incidentOccured:n.noop},correctValueType:function(n){return n==="numeric"||n==="datetime"||n==="string"?n:""},_parsers:{string:function(n){return i(n)?""+n:n},numeric:function(n){if(!i(n))return n;var t=Number(n);return isNaN(t)&&(t=undefined),t},datetime:function(n){if(!i(n))return n;var t,r=Number(n);return t=isNaN(r)?new Date(n):new Date(r),isNaN(Number(t))&&(t=undefined),t}},getParser:function(t,i){var u=this,r,f="valueType is unknown.";return i&&(f="The type specified as the valueType property of the "+i+" configuration object is unknown."),t=u.correctValueType(t),r=u._parsers[t],r||this._incidentOccured.call(null,f),r||n.noop}});u.ParseUtils=e}(jQuery,DevExpress),function(n,t,i){t.viz.themes=t.viz.themes||[],t.viz.themes.push({name:"default",font:{color:"#808080",opacity:.75,family:"'SegoeUI', 'Segoe UI', 'HelveticaNeue', 'Helvetica Neue', 'Trebuchet MS', Verdana",weight:400,size:12,cursor:"default"},chart:{containerBackgroundColor:"#FFFFFF",defaultPalette:"default",commonSeriesSettings:{border:{visible:!1,width:2},hoverMode:"excludePoints",selectionMode:"includePoints",hoverStyle:{hatching:"none",border:{visible:!1,width:3}},selectionStyle:{hatching:"right",border:{visible:!1,width:3}},point:{visible:!0,symbol:"circle",size:6,border:{visible:!1,width:1},hoverMode:"onlyPoint",selectionMode:"onlyPoint",hoverStyle:{border:{visible:!0,width:4},size:6},selectionStyle:{border:{visible:!0,width:4},size:6}},label:{font:{color:"#FFFFFF"},border:{visible:!1,width:1,color:"#808080",dashStyle:"solid"},connector:{visible:!1,width:1}},scatter:{},line:{width:2,dashStyle:"solid",hoverStyle:{width:3},selectionStyle:{width:3}},stackedline:{width:2,dashStyle:"solid",hoverStyle:{width:3},selectionStyle:{width:3}},fullstackedline:{width:2,dashStyle:"solid",hoverStyle:{width:3},selectionStyle:{width:3}},stepline:{width:2,dashStyle:"solid",hoverStyle:{width:3},selectionStyle:{width:3}},area:{point:{visible:!1}},stackedarea:{point:{visible:!1}},fullstackedarea:{point:{visible:!1}},steparea:{border:{visible:!0,width:2},point:{visible:!1},hoverStyle:{border:{visible:!0,width:3}},selectionStyle:{border:{visible:!0,width:3}}},spline:{width:2,hoverStyle:{width:3},selectionStyle:{width:3}},splinearea:{point:{visible:!1}},bar:{cornerRadius:0},stackedbar:{cornerRadius:0},fullstackedbar:{cornerRadius:0},rangebar:{cornerRadius:0},rangearea:{point:{visible:!1}},rangesplinearea:{point:{visible:!1}},pie:{border:{visible:!1,width:2,color:"#FFFFFF"},hoverStyle:{border:{visible:!0,width:3,color:"#FFFFFF"}},selectionStyle:{border:{visible:!0,width:3,color:"#FFFFFF"}}},doughnut:{innerRadius:.5},candlestick:{width:2,innerColor:"#ffffff",reduction:{color:"#000000"},hoverStyle:{width:3},selectionStyle:{width:3}},stock:{width:2,reduction:{color:"#000000"},hoverStyle:{width:3},selectionStyle:{width:3}}},legend:{verticalAlignment:"top",horizontalAlignment:"right",position:"outside",font:{color:"#808080"},visible:!0,customizeText:i,itemTextPosition:i,margin:20,equalColumnWidth:!1,markerSize:12,backgroundColor:i,border:{visible:!1,width:1,color:"#808080",cornerRadius:0,opacity:.35,dashStyle:"solid"},paddingLeftRight:20,paddingTopBottom:15,columnCount:0,rowCount:0,columnItemSpacing:20,rowItemSpacing:8},tooltip:{enabled:!1,font:{family:"'SegoeUI-Light', 'Segoe UI Light', 'HelveticaNeue-Light', 'Helvetica Neue Light', 'SegoeUI', 'Segoe UI', 'HelveticaNeue', 'Helvetica Neue', 'Trebuchet MS', Verdana",weight:200,size:26,color:"#ffffff"},arrowLength:10,paddingLeftRight:22,paddingTopBottom:6,format:"",argumentFormat:"",precision:0,argumentPrecision:0,percentPrecision:0,customizeText:i},title:{font:{family:"'SegoeUI-Light', 'Segoe UI Light', 'HelveticaNeue-Light', 'Helvetica Neue Light', 'SegoeUI', 'Segoe UI', 'HelveticaNeue', 'Helvetica Neue', 'Trebuchet MS', Verdana",weight:200,color:"#232323",size:28,opacity:1}},commonAxisSettings:{discreteAxisDivisionMode:"betweenLabels",visible:!1,color:"#808080",opacity:.35,width:1,multipleAxesSpacing:5,label:{visible:!0,staggered:!1,staggeringSpacing:5,overlappingBehavior:{mode:"enlargeTickInterval",rotationAngle:90,staggeringSpacing:5},precision:0,format:"",customizeText:i,indentFromAxis:10},grid:{visible:!1,color:"#808080",opacity:.35,width:1},tick:{visible:!1,color:"#808080",opacity:.35},title:{font:{size:16},margin:10},stripStyle:{paddingLeftRight:10,paddingTopBottom:5}},horizontalAxis:{isHorizontal:!0,position:"bottom",axisDivisionFactor:50,label:{alignment:"center"},stripStyle:{label:{horizontalAlignment:"center",verticalAlignment:"top"}}},verticalAxis:{isHorizontal:!1,position:"left",axisDivisionFactor:30,label:{alignment:"right"},stripStyle:{label:{horizontalAlignment:"left",verticalAlignment:"center"}}},argumentAxisStyle:{},valueAxisStyle:{grid:{visible:!0}},commonPaneSettings:{border:{color:"#808080",opacity:.35,width:1}}},gauge:{area:{radius:120,fromAngle:225,toAngle:315,formatText:i},range:{type:"multicolor",sizes:{length:5},colors:["#00FF00","#FFFF00","#FF0000"]},scale:{type:"TODO",tick:{sizes:{length:5,width:2},color:"#BFBFBF"},text:{indent:10,color:"#7F7F7F",font:{family:"'SegoeUI', 'Segoe UI', 'HelveticaNeue', 'Helvetica Neue', 'Trebuchet MS', Verdana",weight:400,size:12}}},needle:{type:"line",sizes:{width:3},color:"#BFBFBF"},marker:{type:"triangle",sizes:{length:12,width:10},color:"#679EC5"}},rangeSelector:{containerBackgroundColor:"white",scale:{label:{topIndent:7,font:{size:11}},tick:{width:1,color:"black",opacity:.1},marker:{separatorHeight:33,topIndent:10,textLeftIndent:7,textTopIndent:11}},sliderMarker:{padding:7,pointerSize:6,color:"#9B9B9B",invalidRangeColor:"red",font:{color:"white",size:11}},sliderHandles:{width:1,color:"black",opacity:.1},shutter:{color:i,opacity:.75},background:{color:"#C0BAE1"},chart:{containerBackgroundColor:i,defaultPalette:"default",commonSeriesSettings:{border:{visible:!1,width:1},hoverStyle:{border:{}},selectionStyle:{border:{}},point:{visible:!1,symbol:"circle",border:{visible:!1,width:1},size:6,hoverStyle:{border:{}},selectionStyle:{border:{}}},line:{width:2},stackedline:{width:2},fullstackedline:{width:2},area:{},stackedarea:{},fullstackedarea:{},spline:{width:2},splinearea:{},bar:{cornerRadius:0},stackedbar:{cornerRadius:0},fullstackedbar:{cornerRadius:0},rangebar:{cornerRadius:0},rangearea:{},rangesplinearea:{},pie:{},candlestick:{width:2,innerColor:"#ffffff",reduction:{color:"#000000"}},stock:{width:2,reduction:{color:"#000000"}}}}}})}(jQuery,DevExpress),function(n){n.viz.renderers={}}(DevExpress),function(n,t){var c=t.viz.renderers,i=t.utils,l=t.Class,o=document,s,u=1e10;(function(){var i=n.fx.step,f=n.fx.prototype,c=f.cur,e=i.d,o=i.rotate,h=i.translate,u;u=function(n,t,i,r,u){var f=n.renderer.animOptions.easing;return s[f||"easeOutCubic"](t,i,r)+(u=="%"?"%":"")},f.cur=function(){var i=this,t=i.prop;return i.elem instanceof r?((t==="svgheight"||t==="svgwidth")&&(t=t.substr(3)),n(i.elem.element).attr(t)):c.apply(i,arguments)},n.each(["x","y","cx","cy","r","rx","ry","strokeWidth"],function(n,f){var e=t.inflector.camelize(f),s,o=i[e];i[e]=function(n){var t=n.elem,i;if(!(t instanceof r)){o?o.apply(this,arguments):0;return}i={sharpEdges:!1},i[n.prop]=u(t,n.pos,n.start,n.end,n.unit),t.applySettings(i)}}),n.each(["width","height"],function(n,t){var r="svg"+t,f;i[r]=function(n){var i=n.elem,r=n.prop.substr(3),t;t={sharpEdges:!1},t[r]=u(i,n.pos,n.start||0,n.end||0,n.unit),i.applySettings(t)}}),i.d=function(t){var s=t.elem,i,f,o,h,c;if(!(s instanceof r)){e?e.apply(this,arguments):0;return}t.initialized||(i=s.fromSegments||[],f=s.segments||[],i.length==0&&(i=[].concat(f)),o=f.length-i.length,o>0?(h=[].concat(i).splice(i.length-o,o),i=i.concat(h)):o<0&&(h=[].concat(f).splice(f.length+o,-o),f=f.concat(h)),t.start=i,t.end=f,t.initialized=!0),c=t.pos===1?t.end:n.map(t.start,function(i,r){var e=t.end[r],f;return f=n.map(i,function(i,r){var f;return n.isNumeric(i)?(f=e[r],u(s,t.pos,i,f)):i}),[f]}),s.applySettings({d:n.map(c,function(n){return n.join(" ")}).join(" ")})},i.rotate=function(n){var t=n.elem,i,f,e;if(!(t instanceof r)){o?o.apply(this,arguments):0;return}n.initialized||(i=n.end,f=t.transformation||{},n.start=f.rotateAngle||0,n.end=i.angle||0,n.x=i.x||0,n.y=i.y||0,n.initialized=!0),e=u(t,n.pos,n.start,n.end),t.applySettings({rotate:[e,n.x,n.y]})},i.translate=function(n){var t=n.elem,i,f,e,o;if(!(t instanceof r)){h?h.apply(this,arguments):0;return}n.initialized||(i=n.end,f=t.transformation||{},n.startX=f.translateX||0,n.startY=f.translateY||0,n.endX=i.x||0,n.endY=i.y||0,n.initialized=!0),e=u(t,n.pos,n.startX,n.endX),o=u(t,n.pos,n.startY,n.endY),t.applySettings({translateX:e,translateY:o})}})(),s={easeOutCubic:function(n,t,i){return n===1?i:(1-Math.pow(1-n,3))*(i-t)+ +t},linear:function(n,t,i){return n===1?i:n*(i-t)+ +t}};var r=l.inherit({ctor:function(t,i,r){var u;this.renderer=t,this.element=this.createElement(i),this.$element=n(this.element),u=n.extend({},this.defaultSettings?this.defaultSettings():{},r),this.applySettings(u)},createElement:function(n){return this._nodeName=n,o.createElementNS("http://www.w3.org/2000/svg",n)},append:function(n){var t=n||this.renderer.getRoot();return t.element.appendChild(this.element),this},toBackground:function(){return this.element.parentNode&&this.element.parentNode.insertBefore(this.element,this.element.parentNode.firstChild),this},toForeground:function(){return this.element.parentNode&&this.element.parentNode.appendChild(this.element),this},addClass:function(t){var i=this.$element.attr("class"),r,u;return t&&(i?(u=i.split(" "),r=n.inArray(t,u),r===-1&&(i+=" "+t)):i=t,this.$element.attr("class",i)),this.$element},removeClass:function(t){var f=this.$element.attr("class"),r,u,e="",i;if(f&&t&&(r=f.split(" "),u=n.inArray(t,r),u!==-1)){for(i=0;i<r.length;i++)i!==u&&(e+=r[i]+" ");this.$element.attr("class",e.replace(/ $/,""))}return this.$element},applySettings:function(t){var i;return this.settings=n.extend(this.settings||{},t||{}),this.adjustSettings(),i=this._normalizeSettings(this.settings),this.applyStyle(this._style),this._applyAttributes(i),this},_applyAttributes:function(n){this.$element.attr(n)},adjustSettings:function(){},applyStyle:function(n){return this.$element.css(n||{}),this},on:function(n,t){this.$element.on(n,t);return this},off:function(n){return this.$element.off(n),this},getBBox:function(){function t(t){var i={};try{if(n.isFunction(t.getBBox))i=t.getBBox();else throw{};}catch(r){i={x:0,y:0,width:t.offsetWidth||0,height:t.offsetHeight||0}}return i}var h=this,t,it=this.element,s=h.transformation,c=s.rotateAngle||0,f=s.rotateX||0,e=s.rotateY||0,o=Math.abs,l=Math.min;if(t=n.extend({},t(it)),c){var a=i.getCosAndSin(c),r=a.sin.toFixed(3),u=a.cos.toFixed(3),v=t.x-f,y=t.y-e,p=t.x+t.width-f,w=t.y-e,b=t.x-f,k=t.y+t.height-e,d=t.x+t.width-f,g=t.y+t.height-e,nt,tt;nt=o(t.height*r)+o(t.width*u),tt=o(t.height*u)+o(t.width*r),t.x=l(v*u-y*r+f,p*u-w*r+f,b*u-k*r+f,d*u-g*r+f),t.y=l(v*r+y*u+e,p*r+w*u+e,b*r+k*u+e,d*r+g*u+e),t.width=nt,t.height=tt}return h._normalizeBBox(t)},_normalizeBBox:function(t){var s=Math.ceil,h=Math.floor,o=n.isNumeric,i=h(t.x),r=h(t.y),c=s(t.width+t.x),l=s(t.height+t.y),f,e;return t.x=o(i)&&i<u&&i>-u?i:0,t.y=o(r)&&r<u&&r>-u?r:0,f=c-i,e=l-r,t.width=o(f)&&f<u&&f>-u?f:0,t.height=o(e)&&e<u&&e>-u?e:0,t.isEmpty=!t.x&&!t.y&&!t.width&&!t.height,t},clear:function(){this.$element.empty()},detach:function(){this.$element.detach()},animate:function(t,i,r){this.renderer.animOptions.enabled?(n.each(["height","width"],function(n,i){i in t&&(t["svg"+i]=t[i],delete t[i])}),n(this).stop(),r&&n.extend(i,{complete:r}),n(this).animate(t,n.extend({duration:this.renderer.animOptions.duration},i))):(t.translate&&("x"in t.translate&&(t.translateX=t.translate.x),"y"in t.translate&&(t.translateY=t.translate.y),delete t.translate),i&&i.step?(i.step.call(this,undefined,{pos:1}),i.complete&&i.complete.call(this)):this.applySettings(t))},show:function(n){n&&this.renderer.animOptions.enabled?this.$element.show(this.renderer.animOptions.duration):this.$element.show()},hide:function(n){n&&this.renderer.animOptions.enabled?this.$element.hide(this.renderer.animOptions.duration):this.$element.hide()},move:function(n,t,i,r){n=n||0,t=t||0,i?this.animate({translate:{x:n,y:t}},r):this.applySettings({translateX:n,translateY:t})},rotate:function(n,t,i,r,u){n=n||0,t=t||0,i=i||0,r?this.animate({rotate:{angle:n,x:t,y:i}},u):this.applySettings({rotate:[n,t,i]})},remove:function(){this.$element.remove()},_normalizeSettings:function(i){var o,s,e,f,r,u,h={},c;for(o in i){if(r=o,u=i[r],r==="align")r="text-anchor",u={left:"start",center:"middle",right:"end"}[u];else if(r==="font"){if(s=this._style=this._style||{},!n.isPlainObject(u))continue;n.each(u,function(n){switch(n){case"color":f="fill";break;case"opacity":f="fillOpacity";break;case"cursor":f=n;break;default:e=n.charAt(0),f="font"+n.replace(e,e.toUpperCase())}s[f]=u[n]});continue}else if(r==="dashStyle")r="stroke-dasharray",u=u.toLowerCase(),u=u==="solid"?"none":u.replace(/longdash/g,"8,3,").replace(/dash/g,"4,3,").replace(/dot/g,"1,3,").replace(/,$/,"").split(","),u!=="none"&&(u=n.map(u,function(n){return+n*(i.strokeWidth||1)}).join(","));else if(/^(linecap|linejoin)$/i.test(r))r="stroke-"+r;else if(/^(translateX|translateY|rotate)$/i.test(r)){this["_"+r]=u;continue}else if(r==="clipId")r="clip-path",u="url(#"+u+")";else if(r==="style"){this._style=this._style||{},n.extend(!0,this._style,u);continue}else if(r==="text")continue;else if(r==="segments")continue;else r=t.inflector.dasherize(r);h[r]=u}return this._applyTransformation(h)},_applyTransformation:function(t){this.transformation={translateX:this._translateX,translateY:this._translateY,rotateAngle:0,rotateX:0,rotateY:0};var r=this.transformation,u=this._rotate,f=[];return(i.isDefined(r.translateX)||i.isDefined(r.translateY))&&f.push("translate("+(r.translateX||0)+","+(r.translateY||0)+")"),i.isDefined(u)&&(i.isNumber(u)?(r.rotateAngle=u,r.rotateX=t.x||0,r.rotateY=t.y||0):n.isArray(u)?(r.rotateAngle=u[0]||0,r.rotateX=u[1]||0,r.rotateY=u[2]||0):i.isObject(u)&&(r.rotateAngle=u.angle||0,r.rotateX=u.x||0,r.rotateY=u.y||0),f.push("rotate("+r.rotateAngle+","+r.rotateX+","+r.rotateY+")")),f.length&&(t.transform=f.join(" ")),t}}),a=r.inherit({defaultSettings:function(){return{width:0,height:0,style:{"-webkit-tap-highlight-color":"rgba(0, 0, 0, 0)"},xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"}},ctor:function(n,t){this.callBase(n,"svg",t)}}),e={defaultSettings:function(){return{x:0,y:0,width:0,height:0}},adjustSettings:function(){(!i.isDefined(this.settings.sharpEdges)||this.settings.sharpEdges)&&(this.sharpEdges(),delete this.settings.sharpEdges)},prepareSettings:function(n){var r,t=!1,f,u=this.settings&&this.settings.strokeWidth;i.isDefined(n.width)&&(this._realWidth=Number(n.width)),i.isDefined(n.height)&&(this._realHeight=Number(n.height)),i.isDefined(n.x)&&(this._realX=Number(n.x)),i.isDefined(n.y)&&(this._realY=Number(n.y)),i.isDefined(n.strokeWidth)&&(this._realStrokeWidth=Number(n.strokeWidth)),this._realStrokeWidth=this._realStrokeWidth||this.defaultSettings().strokeWidth||0,r=this._realWidth<this._realHeight?~~(this._realWidth/2):~~(this._realHeight/2),n.strokeWidth=Math.min(this._realStrokeWidth,r),n.strokeWidth!==u&&(t=!0,n.sharpEdges=!0),(i.isDefined(n.x)||t)&&(n.x=this._realX+n.strokeWidth/2),(i.isDefined(n.y)||t)&&(n.y=this._realY+n.strokeWidth/2),(i.isDefined(n.width)||t)&&(n.width=this._realWidth-n.strokeWidth),(i.isDefined(n.height)||t)&&(n.height=this._realHeight-n.strokeWidth)},applySettings:function(t){var t=n.extend(!0,{},t);this.prepareSettings(t),this.callBase(t)},sharpEdges:function(){var t=Math.round(this.settings.strokeWidth||0),n=t%2/2;this.settings.x=Math.floor(this.settings.x-n||0)+n,this.settings.y=Math.floor(this.settings.y-n||0)+n,this.settings.width=Math.floor(this.settings.width||0),this.settings.height=Math.floor(this.settings.height||0),this.settings.strokeWidth=t}},v=r.inherit(e).inherit({ctor:function(n,t,r,u){var f={full:"none",lefttop:"xMinYMin",leftcenter:"xMinYMid",leftbottom:"xMinYMax",centertop:"xMidYMin",center:"xMidYMid",centerbottom:"xMidYMax",righttop:"xMaxYMin",rightcenter:"xMaxYMid",rightbottom:"xMaxYMax"};this.href=i.isDefined(r)?r:"",this.preserveAspectRatio=f[(u||"").toLowerCase()],this.preserveAspectRatio=this.preserveAspectRatio||"none",this.callBase(n,"image",t)},adjustSettings:function(){this.callBase(),this.element.setAttributeNS("http://www.w3.org/1999/xlink","href",this.href),this.preserveAspectRatio&&this.element.setAttribute("preserveAspectRatio",this.preserveAspectRatio)}}),y=r.inherit(e).inherit({defaultSettings:function(){return{x:0,y:0,width:0,height:0,rx:0,ry:0}},ctor:function(n,t){this.callBase(n,"rect",t)}}),f=r.inherit({defaultSettings:function(){return{points:{x:0,y:0},fill:"none",stroke:"black"}},getNodeName:function(){return"path"},getPathAttributeName:function(){return"d"},ctor:function(n,t){this.callBase(n,this.getNodeName(),t)},adjustSettings:function(){this.prepareSegments(this.settings)},applySettings:function(n){var n=n||{};this.settings&&n.strokeWidth&&this.settings.strokeWidth!=n.strokeWidth&&(n.sharpEdges=!0),this.callBase(n)},prepareSegments:function(t){if("points"in t){var u=t.points,e=u[0],o=this.closePath||t.closePath,f=[],r;if(i.isObject(e))f=n.map(u,function(n,t){return t?[["L",n.x,n.y]]:[["M",n.x,n.y]]});else if(i.isNumber(e))for(r=0;r<u.length;r+=2){if(!r){f=[["M",u[r]||0,u[r+1]||0]];continue}f.push(["L",u[r]||0,u[r+1]||0])}else f=[["M",0,0]];o&&f.push(["Z"]),this.segments=f,delete t.points,delete t.closePath,t.sharpEdges=!0}t.sharpEdges&&(this.sharpEdges(),this.combinePathParams(t),delete t.sharpEdges)},customizeSegments:function(n){return n},combinePathParams:function(t){var i;this.segments=this.customizeSegments(this.segments),this.segments&&(i=n.map(this.segments,function(n){return n.join(" ")}),i=i.join(" "),t[this.getPathAttributeName()]=i)},animate:function(t,i){var r=this.callBase;if(!("points"in t))return this.callBase(t,i);this.fromSegments=this.segments,this.prepareSegments(t),this.renderer.animOptions.enabled&&n.extend(t,{d:1}),this.callBase=r,this.callBase(t,i)},sharpEdges:function(){var o=this,v=o.segments.length,i=0,n,t,s,h,l,a,r,u,f,e,y=Math.round(o.settings.strokeWidth||0),c=y%2/2;for(i;i<v-1;i++){n=o.segments[i],t=o.segments[i+1],t[0]==="Z"&&i&&(t=o.segments[0]);switch(n[0]){case"M":case"L":r=1,u=2;break;case"C":r=5,u=6;break;case"A":r=6,u=7;break;case"Z":continue}switch(t[0]){case"M":case"L":f=1,e=2;break;case"C":f=5,e=6;break;case"A":f=6,e=7;break;case"Z":continue}s=Math.floor(n[r]),h=Math.floor(n[u]),l=t[f]=Math.floor(t[f]),a=t[e]=Math.floor(t[e]),n[r]=i==0?s:n[r],n[u]=i==0?h:n[u],s==l&&(n[r]=s+c,t[f]=l+c),h==a&&(n[u]=h+c,t[e]=a+c)}}}),p=f.inherit(e).inherit({defaultSettings:function(){return n.extend(!0,{},this.callBase(),{segments:{top:!0,bottom:!0,left:!0,right:!0}})},prepareSegments:function(){var h=this,t=h.settings,i=t.x,u=i+t.width,r=t.y,f=r+t.height,e=[],o,s=0,c=0,l={top:[["M",i,r],["L",u,r]],right:[["M",u,r],["L",u,f]],bottom:[["M",u,f],["L",i,f]],left:[["M",i,f],["L",i,r]]};n.each(l,function(n){var i=!!h.settings.segments[n];s=s*2+~~i});switch(s){case 13:case 9:o=["left","top","right","bottom"];break;case 11:o=["bottom","left","top","right"];break;default:o=["top","right","bottom","left"]}n.each(o,function(t,i){var r=!!h.settings.segments[i];r&&n.each(l[i].slice(c),function(n,t){e.push(t)}),c=~~r}),s==15&&e.push(["Z"]),this.segments=e.length?e:[["M",0,0],["Z"]],this.combinePathParams(t)},adjustSettings:function(){this.callBase(),this.prepareSegments()},applySettings:function(t){var i=this.settings&&this.settings.segments||this.defaultSettings().segments;t.segments=n.extend(!0,{},i||{},t.segments),this.callBase(t)}}),w=f.inherit({defaultSettings:function(){return{points:{x:0,y:0},fill:"black",stroke:"none"}},ctor:function(n,t){this.closePath=!0,this.callBase(n,t)}}),h=f.inherit({defaultSettings:function(){return{points:{x:0,y:0},fill:"none",stroke:"black"}},prepareSegments:function(n){if("points"in n){var o=n.points,s=o[0],h=this.closePath||n.closePath,u=[],t=[],r,f,e,c=0;if(i.isObject(s)){for(r=0;r<o.length;r++){if(f=o[r].x,e=o[r].y,!r){u=[["M",f,e]];continue}if((r-1)%3==0){t.length>0&&u.push(t),t=["C",f,e];continue}t.push(f),t.push(e)}t.length>0&&u.push(t)}else if(i.isNumber(s)){for(r=0;r<o.length;r+=2){if(f=o[r],e=o[r+1],!r){u=[["M",f,e||0]];continue}if((r-2)%6==0){t.length>0&&u.push(t),t=["C",f,e||0];continue}t.push(f),t.push(e||0)}t.length>0&&u.push(t)}else u=[["M",0,0]];h&&u.push(["Z"]),this.segments=u,delete n.points,delete n.closePath,this.combinePathParams(n)}}}),b=h.inherit({defaultSettings:function(){return{points:{x:0,y:0},fill:"black",stroke:"none"}},ctor:function(n,t){this.closePath=!0,this.callBase(n,t)}}),k=f.inherit({defaultSettings:function(){return{x:0,y:0,fill:"none",stroke:"black",linejoin:"round"}},createArcSegments:function(n,t,i,r,u,f){var e=Math.abs(f-u)>Math.PI?"1":"0",o=n+r*Math.cos(u),s=t-r*Math.sin(u),h=n+r*Math.cos(f),c=t-r*Math.sin(f),l=n+i*Math.cos(f),a=t-i*Math.sin(f),v=n+i*Math.cos(u),y=t-i*Math.sin(u);return[["M",o,s],["A",r,r,0,e,0,h,c],["L",l,a],["A",i,i,0,e,1,v,y],["Z"]]},prepareSegments:function(n){var e;if("x"in n||"y"in n||"outerRadius"in n||"innerRadius"in n||"startAngle"in n||"endAngle"in n){var o=i.isNumber(n.x)?Number(n.x):0,s=i.isNumber(n.y)?Number(n.y):0,u=i.isNumber(n.outerRadius)?Number(n.outerRadius):0,f=i.isNumber(n.innerRadius)?Number(n.innerRadius):0,t=i.isNumber(n.startAngle)?Number(n.startAngle):0,r=i.isNumber(n.endAngle)?Number(n.endAngle):360;this.segments=[["M",0,0],["Z"]],(u||f)&&(e=Math.min(u,f),u=Math.max(u,f),f=e,Math.round(t)!=Math.round(r)&&(Math.abs(r-t)%360==0&&(r-=.0001),t>360&&(t=t%360),r>360&&(r=r%360),t>r&&(t-=360),t=t*Math.PI/180,r=r*Math.PI/180,this.segments=this.createArcSegments(o,s,f,u,t,r))),delete n.x,delete n.y,delete n.outerRadius,delete n.innerRadius,delete n.startAngle,delete n.endAngle,this.combinePathParams(n)}}}),d=r.inherit({defaultSettings:function(){return{cx:0,cy:0,r:0}},ctor:function(n,t){this.callBase(n,"circle",t)}}),g=r.inherit({defaultSettings:function(){return{x:0,y:0}},ctor:function(n,t){this.tspans=[],this.callBase(n,"text",t)},updateText:function(n){i.isDefined(n)||(n=""),this.applySettings({text:n})},adjustSettings:function(){if(!("text"in this.settings)){this.changeX();return}this._createElementWithText(this.settings.text)},changeX:function(){for(var n=0;n<this.tspans.length;n++)this.tspans[n].settings.x!=undefined&&this.tspans[n].applySettings({x:this.settings.x})},_createElementWithText:function(n){var t,i;this.clear(),n=n.toString().replace(/\r/g,""),n=n.replace(/\n/g,"<br/>"),t=o.createElement("div"),t.innerHTML=n,t.params={style:{}},this._orderText(t)},clear:function(){this.callBase(),this.tspans=[]},_orderText:function(n){var i=[],f=(this.settings.font?this.settings.font.size:12)||12,u=function(n,t,i){var r={style:{}},i=i||[],f,o,e;if(t.params=t.params||{},t.parentNode&&t.nodeName!="#text"&&t.parentNode.params)for(f in t.parentNode.params)t.params[f]=t.parentNode.params[f];switch(t.tagName){case"B":t.params.fontWeight="bold";break;case"I":t.params.fontStyle="italic";break;case"U":t.params.textDecoration="underline";break;case"BR":n++}for(t.style&&(t.style.fontSize&&(t.params.fontSize=t.style.fontSize.split("p")[0]||t.params.fontSize),t.params.fill=t.style.color||t.params.fill,t.params.fontStyle=t.style.fontStyle||t.params.fontStyle,t.params.fontWeight=t.style.fontWeight||t.params.fontWeight,t.params.textDecoration=t.style.textDecoration||t.params.textDecoration),o=t.childNodes.length,e=0;e!=o;)n=u(n,t.childNodes[e++],i);return t.wholeText!=undefined&&(r.fill=t.parentNode.params.fill,r.text=t.wholeText,t.parentNode.params.fontSize&&(r.style.fontSize=t.parentNode.params.fontSize),t.parentNode.params.fontStyle&&(r.style.fontStyle=t.parentNode.params.fontStyle),t.parentNode.params.fontWeight&&(r.style.fontWeight=t.parentNode.params.fontWeight),t.parentNode.params.textDecoration&&(r.style.textDecoration=t.parentNode.params.textDecoration),i.push({params:r,line:n})),n},t,r;for(u(0,n,i),t=0;t<i.length;t++)t!=0?i[t].line!=i[t-1].line?(i[t].params.dy=i[t].params.fontSize||f,i[t].params.x=this.settings.x):(i[t].params.dy=0,i[t].params.dx=0):(i[t].params.x=this.settings.x,i[t].params.dy=0),r=new nt(this.renderer,i[t].params),r.append(this),this.tspans.push(r)}}),nt=r.inherit({ctor:function(n,t){var i=t.text||"";delete t.text,this.callBase(n,"tspan",t),this.element.appendChild(o.createTextNode(i))}}),tt=r.inherit({ctor:function(n,t){this.callBase(n,"g",t)}}),it=l.inherit({ctor:function(n){n=n||{};var t=n.width,i=n.height;this._setAnimationOptions(n.animation||{}),this.recreateCanvas(t,i)},_setAnimationOptions:function(n){this.animOptions={enabled:!0,duration:1e3,easing:"easeOutCubic"},"enabled"in n&&(this.animOptions.enabled=n.enabled),"duration"in n&&(this.animOptions.duration=n.duration),"easing"in n&&s[n.easing]&&(this.animOptions.easing=n.easing)},killContainer:function(){var t=this,i=t.container&&t.getRoot()&&t.getRoot().element;i&&(n(i).remove(),delete t.svgRoot),t.defsSvg&&delete t.defsSvg},recreateCanvas:function(n,t){var i=this,r;i.killContainer(),n>0&&t>0&&(r=new a(i,{width:n,height:t}),i.svgRoot=r)},resize:function(n,t){var i=this.getRoot();i&&n>0&&t>0&&i.applySettings({width:n,height:t})},getRoot:function(){return this.svgRoot},isInitialized:function(){return!!this.svgRoot},draw:function(n){if(n){var t=this;t.container=n,n.appendChild(t.getRoot().element)}},createRect:function(t,i,r,u,f,e){var o=n.extend({},e||{},{x:t,y:i,width:r,height:u,rx:f,ry:f});return new y(this,o)},createSegmentRect:function(t,i,r,u,f,e,o){var s=n.extend({},o||{},{x:t,y:i,width:r,height:u,rx:f,ry:f,segments:e});return new p(this,s)},drawRect:function(n,t,i,r,u,f){return this.createRect(n,t,i,r,u,f).append()},createClipRect:function(n,t,u,f){var h={fill:"none",stroke:"none",strokeWidth:0},o,e,s;return this.defsSvg||(this.defsSvg=new r(this,"defs"),this.defsSvg.append()),s=i.getNextClipId(),o=new r(this,"clipPath",{id:s}),o.append(this.defsSvg),e=this.createRect(n,t,u,f,0,h),e.id=s,e.append(o),e},createPattern:function(n,t){var u,f,e;if(t==="none")return n;if(this.defsSvg||(this.defsSvg=new r(this,"defs"),this.defsSvg.append()),e=i.getNextPatternId(),u=new r(this,"pattern",{id:e,width:6,height:6}),u.element.setAttribute("patternUnits","userSpaceOnUse"),u.lines=[],u.append(this.defsSvg),t==="right")f=this.createLine(0,0,1,1,{strokeWidth:1,stroke:n,opacity:.8}),f.append(u),u.lines.push(f),f=this.createLine(5,5,6,6,{strokeWidth:1,stroke:n,opacity:.8}),f.append(u),u.lines.push(f),f=this.createLine(0,6,6,0,{strokeWidth:2,stroke:n}),f.append(u),u.lines.push(f);else if(t==="left")f=this.createLine(5,1,6,0,{strokeWidth:1,stroke:n,opacity:.8}),f.append(u),u.lines.push(f),f=this.createLine(0,6,1,5,{strokeWidth:1,stroke:n,opacity:.8}),f.append(u),u.lines.push(f),f=this.createLine(0,0,6,6,{strokeWidth:2,stroke:n}),f.append(u),u.lines.push(f);else return n;return u.id="url(#"+e+")",u},createImage:function(t,i,r,u,f,e){var o=n.extend({},e||{},{x:t,y:i,width:r,height:u});return new v(this,o,f,e.location)},drawImage:function(n,t,i,r,u,f){return this.createImage(n,t,i,r,u,f).append()},createLine:function(t,i,r,u,e){var o=n.extend({},e||{},{points:[t,i,r,u]});return new f(this,o)},drawLine:function(n,t,i,r,u){return this.createLine(n,t,i,r,u).append()},createPath:function(t,i){var r=n.extend({},i||{},{points:t});return new f(this,r)},drawPath:function(n,t){return this.createPath(n,t).append()},createBezierPath:function(t,i){var r=n.extend({},i||{},{points:t});return new h(this,r)},drawBezierPath:function(n,t){return this.createBezierPath(n,t).append()},createArea:function(t,i){var r=n.extend({},i||{},{points:t});return new w(this,r)},drawArea:function(n,t){return this.createArea(n,t).append()},createBezierArea:function(t,i){var r=n.extend({},i||{},{points:t});return new b(this,r)},drawBezierArea:function(n,t){return this.createBezierArea(n,t).append()},createCircle:function(t,i,r,u){var f=n.extend({},u||{},{cx:t,cy:i,r:r});return new d(this,f)},drawCircle:function(n,t,i,r){return this.createCircle(n,t,i,r).append()},createArc:function(t,i,r,u,f,e,o){var s=n.extend({},o||{},{x:t,y:i,outerRadius:r,innerRadius:u,startAngle:f,endAngle:e});return new k(this,s)},drawArc:function(n,t,i,r,u,f,e){return this.createArc(n,t,i,r,u,f,e).append()},createText:function(t,i,r,u){var f=n.extend({},u||{},{x:i,y:r,text:t});return new g(this,f)},drawText:function(n,t,i,r){return this.createText(n,t,i,r).append()},createGroup:function(n){return new tt(this,n)},drawGroup:function(n){return this.createGroup(n).append()}});c.SvgRenderer=it,c._svgRendererInternals={BaseSvgElement:r,RootSvgElement:a,RectSvgElement:y,ImageSvgElement:v,PathSvgElement:f,AreaSvgElement:w,BezierSvgElement:h,BezierAreaSvgElement:b,CircleSvgElement:d,TextSvgElement:g,TspanSvgElement:nt,GroupSvgElement:tt,ArcSvgElement:k,RectSvgBaseElement:e,SegmentRectSvgElement:p}}(jQuery,DevExpress),function(n,t){var s=t.viz.renderers,u=t.utils,f=document,i=s._svgRendererInternals,y={x:0,y:0,width:1,height:1,position:"absolute"},e=function(t,i){return n.extend(!0,i||{},y,t)},h=function(t,i,r){var f;return u.isDefined(t)&&(u.isNumber(t)?f={angle:t,x:i||0,y:r||0}:n.isArray(t)?f={angle:t[0]||0,x:t[1]||0,y:t[2]||0}:u.isObject(t)&&(f={angle:t.angle||0,x:t.x||0,y:t.y||0})),f},p=function(n,t,i){var e=n.element,r,u=t[i];(i==="opacity"||i==="fillOpacity")&&(e.fill?e.fill.opacity=u>=.01?u:.01:(r=f.createElement("vml:fill"),e.appendChild(r),r.opacity=u>=.01?u:.01,r.className="vml",t.fillcolor&&(r.color=t.fillcolor))),i==="joinStyle"&&(e.stroke?e.stroke.joinStyle=u:(r=f.createElement("vml:stroke"),n.element.appendChild(r),r.className="vml",r.joinStyle=u)),(i==="opacity"||i==="strokeOpacity")&&(e.stroke?e.stroke.opacity=u>=.01?u:.01:(r=f.createElement("vml:stroke"),n.element.appendChild(r),r.className="vml",r.opacity=u>=.01?u:.01,t.strokecolor&&(r.color=t.strokecolor))),i==="dashstyle"&&(e.stroke?e.stroke.dashstyle=u:(r=f.createElement("vml:stroke"),n.element.appendChild(r),r.className="vml",r.dashstyle=u))},l=function(n){var r,t,i,e=n.tagName.toLowerCase(),o,u,f;if(e==="div"){if(n.childNodes.length>0)for(t={},r=0;r<n.childNodes.length;r++)(i=l(n.childNodes[r]),i)&&(t.left=t.left===undefined||i.left<t.left?i.left:t.left,t.top=t.top===undefined||i.top<t.top?i.top:t.top,t.right=t.right===undefined||i.right>t.right?i.right:t.right,t.bottom=t.bottom===undefined||i.bottom>t.bottom?i.bottom:t.bottom)}else if(e==="shape"||e==="vml:shape"){for(o=(n.path.value||n.path).match(/[-0-9]+/g),t={},i=n.getBoundingClientRect(),r=0;r<o.length;r++)u=parseInt(o[r]),r%2?(t.top=t.top===undefined||u<t.top?u:t.top,t.bottom=t.bottom===undefined||u>t.bottom?u:t.bottom):(t.left=t.left===undefined||u<t.left?u:t.left,t.right=t.right===undefined||u>t.right?u:t.right);t.left=t.left||0,t.top=t.top||0,t.right=t.right||0,t.bottom=t.bottom||0,i.right-i.left<=1&&i.top-i.bottom<=1?(t.right=t.right+i.left,t.bottom=t.bottom+i.top,t.left=t.left+i.left,t.top=t.top+i.top):(t.right=t.right-t.left+i.left,t.bottom=t.bottom-t.top+i.top,t.left=i.left,t.top=i.top),f=Math.ceil(parseFloat(n.strokeweight)/2),f&&f>1&&(t.left-=f,t.top-=f,t.right+=f,t.bottom+=f)}else t=n.getBoundingClientRect();return t},r={isVml:function(){return!0},defaultSettings:function(n){var t=this.callBase?this.callBase():{};return e(n,t)},createElement:function(n){if(this._nodeName=n,this.childElements=[],this.isVml()){var t=f.createElement("vml:"+n);return t.className="vml",t}return f.createElement(n)},clear:function(){this.callBase(),this.childElements=[]},_fillAttributesFromCurrentStyle:function(n){var t=this.element,i,r=this.renderer.getRoot(),u=r&&r.element.currentStyle.color;this.isVml()&&t.style&&t.currentStyle&&(t.style.backgroundColor==="transparent"&&(t.style.backgroundColor=""),t.currentStyle.backgroundColor!=="transparent"&&(i=t.currentStyle.backgroundColor,this instanceof a||(t.style.backgroundColor="transparent"),n.filled="t",n.fillcolor=i,t.currentStyle.opacity&&(t.style.filter="alpha(opacity="+t.currentStyle.opacity*100+")",delete n.opacity,delete n.fillOpacity)),u&&t.currentStyle.color!==u&&(n.stroked="t",n.strokecolor=this.element.currentStyle.color,t.currentStyle.opacity&&(n.strokeOpacity=t.currentStyle.opacity)))},_applyAttributes:function(n){var t,i;if(n&&n.arcsize!==undefined){try{this.element.setAttribute("arcsize",n.arcsize)}catch(r){}delete n.arcsize}if(this._isAppended){if(n=n||this._delayedAttributes,n){this._fillAttributesFromCurrentStyle(n);for(t in n)i=n[t],t==="opacity"||t==="fillOpacity"||t==="strokeOpacity"||t==="dashstyle"||t==="joinStyle"?p(this,n,t):t==="class"?this.element.className=this.isVml()?"vml "+i:i:this.element[t]=i;delete this._delayedAttributes}}else this._delayedAttributes=n},appendComplete:function(){var t=this;t._isAppended=!0,t._applyAttributes(),n.each(t.childElements,function(){this.appendComplete()})},append:function(n){var i=this,r=i.renderer.getRoot(),t=n||r;return t&&(t.element.appendChild(i.element),t.childElements.push(i)),(t===r||t._isAppended)&&this.appendComplete(),i},_normalizeSettings:function(t){var c,u={},f={},e,o,r,i,s,h,v=["position","display","visibility","filter","margin","marginTop","marginLeft","marginRight","marginBottom","whiteSpace","clip"];for(c in t)if(r=c,i=t[r],r==="x"||r==="translateX")o=t.x||0,t.translateX&&(o+=t.translateX),u.left=o+"px";else if(r==="y"||r==="translateY")o=t.y||0,t.translateY&&(o+=t.translateY),u.top=o+"px";else if(r==="width")u.width=i+"px";else if(r==="height")u.height=i+"px";else if(r==="align")u.textAlign=i;else if(n.inArray(r,v)!=-1)u[r]=i;else if(r==="fill")this.isVml()?(f.filled=i==="none"?"f":"t",f.fillcolor=i):u.color=i;else if(r==="opacity")f.opacity=i<.01?"99f":i;else if(r==="stroke")f.stroked=i==="none"?"f":"t",f.strokecolor=i;else if(r==="strokeWidth")f.strokeweight=i+"px";else if(r==="lineJoin")f.joinStyle=i;else if(r==="font"){if(!n.isPlainObject(i))continue;n.each(i,function(n){switch(n){case"color":case"cursor":s=n;break;case"opacity":s="opacity";break;default:h=n.charAt(0),s="font"+n.replace(h,h.toUpperCase())}u[s]=i[n]})}else if(r==="style")n.extend(!0,u,i);else if(r==="rotate")this._rotate=i;else if(r==="dashStyle")i=i.toLowerCase(),i!=="solid"&&(f.dashstyle=i);else if(r==="clipId"){if(e=this.renderer.getClipRect(i,this),e){var y=e.width,p=e.height,l=e.x,a=e.y,w=y+l,b=p+a;u.width=e.cSize.width,u.height=e.cSize.height,u.clip="rect("+a+"px, "+w+"px, "+b+"px, "+l+"px)"}}else if(r==="segments")continue;else f[r]=i;return this._style=u,f},_getBBox:function(){var u,f,n,e,i=0,r=0,t=this.element;try{n=l(t),u=n.right-n.left,f=n.bottom-n.top,e=this.renderer.getRoot().element.getBoundingClientRect(),i=n.left-e.left,r=n.top-e.top,t.tagName.toLowerCase()==="div"&&(i=i-parseInt(t.style.left,10),r=r-parseInt(t.style.top,10))}catch(o){u=t.offsetWidth||0,f=t.offsetHeight||0}return{x:i,y:r,width:u,height:f}},getBBox:function(){return this._getBBox()},sharpEdges:function(){}},w=function(n){switch(n){case"M":return"m";case"L":return"l";case"Z":return"x e"}return n},o={defaultSettings:function(){var n=this.callBase();return n.coordsize="1,1",n},getNodeName:function(){return"shape"},getPathAttributeName:function(){return"path"},customizeSegments:function(t){var i=t;return t&&(i=n.map(t,function(n){var i,r=[],u=w(n[0]);for(r.push(u),i=1;i<n.length;i++)r.push(Math.floor(n[i]));return[r]})),i}},b=i.BaseSvgElement.inherit(r).inherit({isVml:function(){return!1},defaultSettings:function(){return{width:0,height:0,position:"relative",display:"inline-block",overflow:"hidden"}},ctor:function(n,t){this.callBase(n,"div",t)}}),k=i.BaseSvgElement.inherit(i.RectSvgBaseElement).inherit(r).inherit({ctor:function(n,t){this.callBase(n,"image",t)},adjustSettings:function(){this.callBase(),this.settings.href&&(this.settings.src=this.settings.href,delete this.settings.href)}}),a=i.BaseSvgElement.inherit(i.RectSvgBaseElement).inherit(r).inherit({defaultSettings:function(){return e({stroked:"f",rx:0,ry:0})},recreateElement:function(t){this._nodeName=t;var i=n(this.$element.parent());i?(this.$element.remove(),this.element=this.createElement(t),this.$element=n(this.element),i.append(this.$element)):(this.element=this.createElement(t),this.$element=n(this.element)),this.applySettings()},_adjustArcSize:function(){var t=this.settings,f=t.rx||0,e=t.ry||0,o=t.width,s=t.height,r,u,i;(t.rx!==undefined||t.ry!==undefined)&&(r=Math.max(f,e),u=Math.max(o,s)/2,i=r/u,t.arcsize=i,n.isNumeric(i)&&i!=0?this._nodeName!=="roundrect"&&this.recreateElement("roundrect"):this._nodeName==="roundrect"&&this.recreateElement("rect"),delete t.rx,delete t.ry)},_adjustRotation:function(){var n=this.settings,v=this.settings.rotate,e,o,s,c,i,r,l,a,u,f,t;t=h(v,n.x,n.y),t&&(e=t.angle,i=t.x,r=t.y,o=e*Math.PI/180,s=Math.cos(o),c=Math.sin(o),u=n.x+(n.translateX||0)+n.width/2,f=n.y+(n.translateY||0)+n.height/2,a=(u-i)*s-(f-r)*c+i-u,l=(u-i)*c+(f-r)*s+r-f,this.settings.marginLeft=Math.round(a)+"px",this.settings.marginTop=Math.round(l)+"px",this.settings.rotation=e)},adjustSettings:function(){this.callBase(),this._adjustArcSize(),this._adjustRotation()},getBBox:function(){return this.callBase()},ctor:function(n,t){this.callBase(n,"rect",t)}}),c=i.PathSvgElement.inherit(r).inherit(o).inherit({prepareSegments:function(t){var i=this,w=t.rotate,a,u,f,v,e,o,s,c,l,y,p,r;this.callBase(t),v=i.segments,r=h(w,t.x,t.y),r&&(a=r.angle,u=r.x,f=r.y,i.segments&&(e=a*Math.PI/180,o=Math.cos(e),s=Math.sin(e),i.segments=n.map(i.segments,function(n){return n.length===3?(c=n[1],l=n[2],y=(c-u)*o-(l-f)*s+u,p=(c-u)*s+(l-f)*o+f,[[n[0],Math.floor(y),Math.floor(p)]]):[n]}),i.combinePathParams(t),i.segments=v))}}),d=c.inherit({defaultSettings:function(){var n=this.callBase();return e({points:{x:0,y:0},fill:"black",stroke:"none"},n)},ctor:function(n,t){this.closePath=!0,this.callBase(n,t)}}),g=i.SegmentRectSvgElement.inherit(r).inherit(o).inherit({defaultSettings:function(){var n=this.callBase();return n.lineJoin="miter",n},prepareSegments:function(){this.callBase(),this.segments=this.customizeSegments(this.segments),this.settings.x=0,this.settings.y=0,this.settings.width=1,this.settings.height=1},applySettings:function(n){var t=n.x,i=n.y,r=n.width,u=n.height;this.callBase(n),this.settings.x=t,this.settings.y=i,this.settings.width=r,this.settings.height=u}}),v=i.BezierSvgElement.inherit(r).inherit(o),nt=v.inherit({defaultSettings:function(){var n=this.callBase();return e({points:{x:0,y:0},fill:"black",stroke:"none"},n)},ctor:function(n,t){this.closePath=!0,this.callBase(n,t)}}),tt=i.ArcSvgElement.inherit(r).inherit(o).inherit({createArcSegments:function(n,t,i,r,u,f){var e=n+r*Math.cos(u),o=t-r*Math.sin(u),s=n+r*Math.cos(f),h=t-r*Math.sin(f),c=n+i*Math.cos(f),l=t-i*Math.sin(f),a=n+i*Math.cos(u),v=t-i*Math.sin(u);return[["wr",n-i,t-i,n+i,t+i,c,l,a,v],["at",n-r,t-r,n+r,t+r,e,o,s,h],["x e"]]}}),it=i.BaseSvgElement.inherit(r).inherit({defaultSettings:function(){return e({cx:0,cy:0,r:0})},applySettings:function(n){return n.cx=n.cx||n.x,n.cy=n.cy||n.y,this.callBase(n)},adjustSettings:function(){var n,t,i;(this.settings.cx!==undefined||this.settings.cy!==undefined||this.settings.r!==undefined)&&(n="r"in this.settings?this.settings.r:this.settings.width/2,t="cx"in this.settings?this.settings.cx:this.settings.x+this.settings.width/2,i="cy"in this.settings?this.settings.cy:this.settings.y+this.settings.width/2,this.settings.x=t-n,this.settings.y=i-n,this.settings.width=this.settings.height=n*2,delete this.settings.cx,delete this.settings.cy,delete this.settings.r)},ctor:function(n,t){this.callBase(n,"oval",t)}}),rt=i.BaseSvgElement.inherit(r).inherit({isVml:function(){return!1},defaultSettings:function(){return{x:0,y:0,position:"absolute",whiteSpace:"nowrap"}},ctor:function(n,t){this.callBase(n,"span",t)},adjustSettings:function(){var t;"text"in this.settings&&(t=u.isDefined(this.settings.text)?this.settings.text:"",t=t.toString().replace(/\r/g,""),t=t.replace(/\n/g,"<br/>"),n(this.element).html(t),delete this.settings.text)},updateText:function(n){n=u.isDefined(n)?n:"",this.applySettings({text:n})},_applyAttributes:function(n){this.callBase(n);var n=this.settings,d=this.settings.rotate,t=0,v,y,i=1,r=0,p,w=this.settings.y+(this.settings.translateY||0),b=this.settings.x+(this.settings.translateX||0),g=this.settings.align,k=this.getBBox(),c=this._style||{},f=0,e=0,u,a,l,o=k.width,s=k.height;l=h(d,b,w),l&&(t=l.angle,v=l.x,y=l.y,Math.abs(t)>360&&(t=t%360),t<0&&(t=t+360),t?(p=t*Math.PI/180,i=Math.cos(p),r=Math.sin(p),c.filter='progid:DXImageTransform.Microsoft.Matrix(sizingMethod="auto expand", M11 = '+i.toFixed(5)+", M12 = "+(-r).toFixed(5)+", M21 = "+r.toFixed(5)+", M22 = "+i.toFixed(5)+")"):c.filter="",f=(b-v)*(i-1)-(w-y)*r,e=(b-v)*r+(w-y)*(i-1)),(s||o)&&(u=s*(.55+.45/2),t<90?(e-=u*i,f-=(s-u)*r):t<180?(e+=(s-u)*i,f+=o*i-(s-u)*r):t<270?(e+=(s-u)*i+o*r,f+=o*i+u*r):(e+=o*r-u*i,f+=u*r),a={center:.5,right:1}[g],a&&(f-=o*a*i,e-=o*a*r),c.marginLeft=Math.round(f)+"px",c.marginTop=Math.round(e)+"px"),this.applyStyle(c)}}),ut=i.BaseSvgElement.inherit(r).inherit({isVml:function(){return!1},defaultSettings:e,ctor:function(n,t){this.callBase(n,"div",t)},applySettings:function(t){var r=this,f=this.callBase,i;return t=t||{},i=t.rotate,i&&(u.isNumber(i)&&(i=[i,t.x||0,t.y||0]),n.each(r.childElements,function(){this.applySettings({rotate:i})})),delete t.rotate,t.x=0,t.y=0,r.callBase=f,r.callBase(t)},getBBox:function(){return this._getBBox()}}),ft=s.SvgRenderer.inherit({ctor:function(n){n=n||{},n.animation={enabled:!1},document.namespaces&&!document.namespaces.vml&&(document.namespaces.add("vml","urn:schemas-microsoft-com:vml"),document.createStyleSheet().addRule(".vml","behavior: url(#default#VML); display: inline-block;")),this._clipRects={},this.callBase(n)},recreateCanvas:function(n,t){var i=this,r;i.killContainer(),n>0&&t>0&&(i._size={width:n,height:t},r=new b(i,{width:n,height:t}),i.svgRoot=r)},_getSize:function(){return this._size||{}},createRect:function(t,i,r,u,f,e){var o=n.extend(!0,{},e||{},{x:t,y:i,width:r,height:u,rx:f,ry:f});return new a(this,o)},createSegmentRect:function(t,i,r,u,f,e,o){var s=n.extend({},o||{},{x:t,y:i,width:r,height:u,rx:f,ry:f,segments:e});return new g(this,s)},createClipRect:function(t,i,r,f){var h=this,e=u.getNextClipId(),o=[],s={id:e,x:t,y:i,width:r,height:f,cSize:h._getSize(),addElement:function(t){var i=!1;n.each(o,function(){if(this===t)return i=!0,!1}),i||o.push(t)},applySettings:function(t){return"x"in t&&(this.x=t.x),"y"in t&&(this.y=t.y),"width"in t&&(this.width=t.width),"height"in t&&(this.height=t.height),n.each(o,function(){this.applySettings({clipId:e})}),this}};return this._clipRects[e]=s,s},getClipRect:function(n,t){var i=this._clipRects[n];return i&&t&&i.addElement(t),this._clipRects[n]},createImage:function(t,i,r,u,f,e){var o=n.extend(!0,{},e||{},{x:t,y:i,width:r,height:u,href:f});return new k(this,o)},createLine:function(t,i,r,u,f){var e=n.extend(!0,{},f||{},{points:[t,i,r,u]});return new c(this,e)},createPath:function(t,i){var r=n.extend(!0,{},i||{},{points:t});return new c(this,r)},createBezierPath:function(t,i){var r=n.extend(!0,{},i||{},{points:t});return new v(this,r)},createArea:function(t,i){var r=n.extend(!0,{},i||{},{points:t});return new d(this,r)},createBezierArea:function(t,i){var r=n.extend(!0,{},i||{},{points:t});return new nt(this,r)},createCircle:function(t,i,r,u){var f=n.extend(!0,{},u||{},{cx:t,cy:i,r:r});return new it(this,f)},createArc:function(t,i,r,u,f,e,o){var s=n.extend(!0,{},o||{},{x:t,y:i,outerRadius:r,innerRadius:u,startAngle:f,endAngle:e});return new tt(this,s)},createText:function(t,i,r,u){var f=n.extend(!0,{},u||{},{x:i,y:r,text:t});return new rt(this,f)},createGroup:function(n){return new ut(this,n)},createPattern:function(n){return{id:n}}});s.VmlRenderer=ft}(jQuery,DevExpress),function(n,t){function r(){return!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect}function u(){var t=document.createElement("div"),n;return t.innerHTML='<v:shape adj="1" />',n=t.firstChild,n?(n.style.behavior="url(#default#VML)",typeof n.adj=="object"):!1}var i=t.viz.renderers;i.Renderer=u()&&!r()?i.VmlRenderer:i.SvgRenderer}(jQuery,DevExpress),function(n){n.viz.charts={series:{}}}(DevExpress),function(n,t){var r=t.Class,u=t.viz.charts;u.Color=r.inherit(function(){var f=function(n){this.baseColor=n,this.decode()},t={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"},i=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,process:function(n){return[parseInt(n[1],10),parseInt(n[2],10),parseInt(n[3],10)]}},{re:/^(\w{2})(\w{2})(\w{2})$/,process:function(n){return[parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16)]}},{re:/^(\w{1})(\w{1})(\w{1})$/,process:function(n){return[parseInt(n[1]+n[1],16),parseInt(n[2]+n[2],16),parseInt(n[3]+n[3],16)]}}],e=function(){var r=this.baseColor,f,u,s,o,e;r.charAt(0)==="#"&&(r=r.substr(1,6)),r=r.toLowerCase(),r=r.replace(/ /g,"");for(f in t)t.hasOwnProperty(f)&&r===f&&(r=t[f]);for(u=0;u<i.length;u++)if(s=i[u].re,o=s.exec(r),o){e=i[u].process(o),this.r=e[0],this.g=e[1],this.b=e[2],this.ok=!0;break}this.r=n(this.r),this.g=n(this.g),this.b=n(this.b)},n=function(n){return n<0||isNaN(n)?0:n>255?255:n},r=function(n){var t=n.toString(16);return t.length===1?"0"+t:t},u=function(n,t,i){return"#"+r(n)+r(t)+r(i)},o=function(){return u(this.r,this.g,this.b)},s=function(t){return t=t||10,u(n(this.r+t),n(this.g+t),n(this.b+t))},h=function(t){return t=t||10,u(n(this.r-t),n(this.g-t),n(this.b-t))};return{ctor:f,highlight:s,darken:h,decode:e,toHex:o}}())}(jQuery,DevExpress),function(n,t,i){var e=t.viz.charts,o=t.Class,r=t.utils,f=1,u=6e4;e.Range=o.inherit(function(){var y=function(t){t&&n.extend(this,t)},e=function(n,t){return t<n},o=function(n,t){return t>n},t=function(n,t,r,u){var e=n!==i,f=t!==i;e?f&&u(n,t)&&r(t):f&&r(t)},p=function(n){var t=this;return h.call(t,n),s.call(t,n),t},s=function(r){var u=this,h=u.categoriesY,f=r.categoriesY,s,c=function(n){var t=(u[n+"Priority"]||0)-(r[n+"Priority"]||0);((u[n]||0)<r[n]&&t===0||t<0)&&(u[n]=r[n],u[n+"Priority"]=r[n+"Priority"])};if(u.invertY=u.invertY||r.invertY,u.stickY=u.stickY||r.stickY,u.keepValueMarginsY=u.keepValueMarginsY||r.keepValueMarginsY,t(u.minY,r.minY,function(n){u.minY=n},e),t(u.intervalY,r.intervalY,function(n){u.intervalY=n},e),t(u.maxY,r.maxY,function(n){u.maxY=n},o),t(u.minVisibleY,r.minVisibleY,function(n){u.minVisibleY=n},e),t(u.maxVisibleY,r.maxVisibleY,function(n){u.maxVisibleY=n},o),c("minValueMarginY"),c("maxValueMarginY"),h===i)u.categoriesY=f;else if(f&&f.length)for(s=0;s<f.length;s++)n.inArray(f[s],h)===-1&&h.push(f[s]);return this},h=function(r){var u=this,h=u.categoriesX,f=r.categoriesX,s,c=function(n){var t=(u[n+"Priority"]||0)-(r[n+"Priority"]||0);((u[n]||0)<r[n]&&t===0||t<0)&&(u[n]=r[n],u[n+"Priority"]=r[n+"Priority"])};if(u.invertX=u.invertX||r.invertX,u.stickX=u.stickX||r.stickX,u.keepValueMarginsX=u.keepValueMarginsX||r.keepValueMarginsX,t(u.minX,r.minX,function(n){u.minX=n},e),t(u.intervalX,r.intervalX,function(n){u.intervalX=n},e),t(u.maxX,r.maxX,function(n){u.maxX=n},o),t(u.minVisibleX,r.minVisibleX,function(n){u.minVisibleX=n},e),t(u.maxVisibleX,r.maxVisibleX,function(n){u.maxVisibleX=n},o),c("minValueMarginX"),c("maxValueMarginX"),h===i)u.categoriesX=f;else if(f&&f.length)for(s=0;s<f.length;s++)n.inArray(f[s],h)===-1&&h.push(f[s]);return this},w=function(){return c.call(this)||l.call(this)},c=function(){return r.isDefined(this.minX)&&r.isDefined(this.maxX)||r.isDefined(this.categoriesX)},l=function(){return r.isDefined(this.minY)&&r.isDefined(this.maxY)||r.isDefined(this.categoriesY)},b=function(n){a.call(this,n),v.call(this,n)},a=function(t){var i=(new Date).getYear()-1,r=t==="datetime"?new Date(i,0,1):0,u=t==="datetime"?new Date(i,11,31):10;n.extend(this,{minX:r,maxX:u,stubDataX:!0})},v=function(t){var i=(new Date).getYear()-1,r=t==="datetime"?new Date(i,0,1):0,u=t==="datetime"?new Date(i,11,31):10;n.extend(this,{minY:r,maxY:u,stubDataY:!0})},k=function(n){var t,i,u=r.isDate(n.maxX)||r.isDate(n.minX),f=r.isDate(n.maxY)||r.isDate(n.minY);r.isDefined(n.maxX)&&r.isDefined(n.minX)&&(t=n.maxX-n.minX),r.isDefined(n.maxY)&&r.isDefined(n.minY)&&(i=n.maxY-n.minY),!i||f||n.keepValueMarginsY||(n.minY<=0&&n.maxY<=0&&n.maxValueMarginY&&n.maxValueMarginY>n.maxY/(n.minY-n.maxY)&&(n.maxValueMarginY=0,n.maxY=0),n.minY>=0&&n.maxY>=0&&n.minValueMarginY&&n.minValueMarginY>n.minY/(n.maxY-n.minY)&&(n.minValueMarginY=0,n.minY=0)),!t||u||n.keepValueMarginsX||(n.minX<=0&&n.maxX<=0&&n.maxValueMarginX&&n.maxValueMarginX>n.maxX/(n.minX-n.maxX)&&(n.maxValueMarginX=0,n.maxX=0),n.minX>=0&&n.maxX>=0&&n.minValueMarginX&&n.minValueMarginX>n.minX/(n.maxX-n.minX)&&(n.minValueMarginX=0,n.minX=0))},d=function(){var n=this,t,i,u,f,e=r.isDate(n.maxX)||r.isDate(n.minX),o=r.isDate(n.maxY)||r.isDate(n.minY);k(n),r.isDefined(n.maxX)&&r.isDefined(n.minX)&&(t=n.maxX-n.minX),r.isDefined(n.maxY)&&r.isDefined(n.minY)&&(i=n.maxY-n.minY),r.isDefined(n.minVisibleX)||(n.minVisibleX=n.minX),r.isDefined(n.maxVisibleX)||(n.maxVisibleX=n.maxX),r.isDefined(n.minVisibleY)||(n.minVisibleY=n.minY),r.isDefined(n.maxVisibleY)||(n.maxVisibleY=n.maxY),u=n.maxVisibleX-n.minVisibleX,f=n.maxVisibleY-n.minVisibleY,r.isDefined(n.minX)&&n.minValueMarginX&&(e?n.minX=new Date(n.minX.valueOf()-t*n.minValueMarginX):n.minX-=t*n.minValueMarginX),r.isDefined(n.minVisibleX)&&n.minValueMarginX&&(e?n.minVisibleX=new Date(n.minVisibleX.valueOf()-u*n.minValueMarginX):n.minVisibleX-=u*n.minValueMarginX),r.isDefined(n.maxX)&&n.maxValueMarginX&&(e?n.maxX=new Date(n.maxX.valueOf()+t*n.maxValueMarginX):n.maxX+=t*n.maxValueMarginX),r.isDefined(n.maxVisibleX)&&n.maxValueMarginX&&(e?n.maxVisibleX=new Date(n.maxVisibleX.valueOf()+u*n.maxValueMarginX):n.maxVisibleX+=u*n.maxValueMarginX),r.isDefined(n.minY)&&n.minValueMarginY&&(o?n.minY=new Date(n.minY.valueOf()-i*n.minValueMarginY):n.minY-=i*n.minValueMarginY),r.isDefined(n.minVisibleY)&&n.minValueMarginY&&(o?n.minVisibleY=new Date(n.minVisibleY.valueOf()-f*n.minValueMarginY):n.minVisibleY-=f*n.minValueMarginY),r.isDefined(n.maxY)&&n.maxValueMarginY&&(o?n.maxY=new Date(n.maxY.valueOf()+i*n.maxValueMarginY):n.maxY+=i*n.maxValueMarginY),r.isDefined(n.maxVisibleY)&&n.maxValueMarginY&&(o?n.maxVisibleY=new Date(n.maxVisibleY.valueOf()+f*n.maxValueMarginY):n.maxVisibleY+=f*n.maxValueMarginY),n.applyEqualLimitsMargins()},g=function(){var n=this,t=r.isDate(n.maxX)||r.isDate(n.minX),i=r.isDate(n.maxY)||r.isDate(n.minY);r.isDefined(n.minX)&&r.isDefined(n.maxX)&&n.minX.valueOf()===n.maxX.valueOf()&&(t?(n.minX=new Date(n.minX.valueOf()-u),n.maxX=new Date(n.maxX.valueOf()+u)):(n.minX=n.minX-f,n.maxX=n.maxX+f)),r.isDefined(n.minVisibleX)&&r.isDefined(n.maxVisibleX)&&n.minVisibleX.valueOf()===n.maxVisibleX.valueOf()&&(t?(n.minVisibleX=new Date(n.minVisibleX.valueOf()-u),n.maxVisibleX=new Date(n.maxVisibleX.valueOf()+u)):(n.minVisibleX=n.minVisibleX-1,n.maxVisibleX=n.maxVisibleX+1)),r.isDefined(n.minY)&&r.isDefined(n.maxY)&&n.minY.valueOf()===n.maxY.valueOf()&&(i?(n.minY=new Date(n.minY.valueOf()-u),n.maxY=new Date(n.maxY.valueOf()+u)):(n.minY=n.minY-f,n.maxY=n.maxY+f)),r.isDefined(n.minVisibleY)&&r.isDefined(n.maxVisibleY)&&n.minVisibleY.valueOf()===n.maxVisibleY.valueOf()&&(i?(n.minVisibleY=new Date(n.minVisibleY.valueOf()-u),n.maxVisibleY=new Date(n.maxVisibleY.valueOf()+u)):(n.minVisibleY=n.minVisibleY-f,n.maxVisibleY=n.maxVisibleY+f))};return{ctor:y,getBoundRange:p,getBoundRangeX:h,getBoundRangeY:s,isDefined:w,isDefinedX:c,isDefinedY:l,setStubData:b,setStubDataX:a,setStubDataY:v,applyValueMargins:d,applyEqualLimitsMargins:g}}())}(jQuery,DevExpress),function(n,t,i){var r=t.viz.charts,u=t.Class;r.Legend=u.inherit(function(){var t=function(t){var r=t,u,f=[];if(this.renderer=r.renderer,r.horizontalAlignment!=="center"&&r.horizontalAlignment!=="right"&&r.horizontalAlignment!=="left"&&(r.horizontalAlignment="right"),r.verticalAlignment||(r.horizontalAlignment==="center"&&(r.verticalAlignment="bottom"),(r.horizontalAlignment==="right"||r.horizontalAlignment==="left")&&(r.verticalAlignment="top")),r.verticalAlignment!=="top"&&r.verticalAlignment!=="bottom"&&(r.verticalAlignment="top"),r.layout||(r.horizontalAlignment==="center"&&(r.layout="horizontal"),(r.horizontalAlignment==="right"||r.horizontalAlignment==="left")&&(r.layout="vertical")),r.position!=="outside"&&r.position!=="inside"&&(r.position="outside"),r.hoverMode=(r.hoverMode||"").toLowerCase(),r.customizeText=n.isFunction(r.customizeText)?r.customizeText:i,r.series){for(u=0;u<r.series.length;u++)r.series[u].options.showInLegend&&f.push(r.series[u]);this.series=f}this.options=r},r=function(n){return n.customizeText?n.customizeText.call(this,this):this.seriesName},u=function(){var r=this,l=r.renderer,n=r.options,u=r.series||{},nt=0,tt=0,c=[],e,st,k,rt,a,ut=n.markerSize,d=n.layout==="horizontal",s,v,t=n.columnCount,i=n.rowCount,h,b=r.legendGroup,ft={"class":"dxLegend"},f,g,ht=n.equalColumnWidth,y=[],et,p,o,it=!1,w=r.canvas,ot=n.border.visible&&n.border.width&&n.border.color&&n.border.color!=="none";if(n.visible&&u&&u.length){for(b?b.clear():(r.clipRectID&&(ft.clipId=r.clipRectID),b=r.legendGroup=l.createGroup(ft)),b.append(),f=l.createGroup().append(b),(n.position==="inside"||n.backgroundColor||ot)&&(g=l.createRect(0,0,0,0,0,{fill:n.backgroundColor||(n.position==="inside"?n.containerBackgroundColor:"none")}).append(f)),e=0;e<u.length;e++)a=l.createGroup({"class":"dxLegendSeries"}),a.append(f),y.push(l.createRect(0,0,0,0,0,{stroke:"none",fill:"grey",opacity:.0001})),rt=l.createRect(nt,tt,ut,ut,0,{fill:u[e].styles.themeColor,"class":u[e].className}).append(a),s=rt.getBBox(),h=n.itemTextPosition?n.itemTextPosition==="right":!d,r.labelFormatObject={seriesName:u[e].name,seriesNumber:u[e].index,seriesColor:u[e].styles.themeColor},et=r.formatLabel.call(r.labelFormatObject,n),k=l.createText(et,h?nt+s.width+7:nt,h?tt:tt+s.height+2,{font:n.font,align:h?"left":"center"}).append(a),v=k.getBBox(),h?k.move(0,~~(s.y+s.height/2-(v.y+v.height/2))):k.move(~~(s.x+s.width/2-(v.x+v.width/2)),s.y+s.height+2-v.y),u[e].initEventTriggering(y[e],n.hoverMode),y[e].append(a),c.push(a);if(t&&!i?i=Math.ceil(u.length/t):!t&&i?t=Math.ceil(u.length/i):t&&i?d&&t<Math.ceil(u.length/i)?t=Math.ceil(u.length/i):!d&&i<Math.ceil(u.length/t)&&(i=Math.ceil(u.length/t)):(it=!0,d?(i=1,t=u.length):(t=1,i=u.length)),p=r.getDataRowsColumns(c,t,i),r.moveItems(p,c,f,h,y),it&&i===1)for(o=f.getBBox();o.width>w.width-w.right-w.left&&t>1;)t=Math.ceil(t/2),i=Math.ceil(u.length/t),p=r.getDataRowsColumns(c,t,i),r.moveItems(p,c,f,h,y),o=f.getBBox();else if(it&&t===1)for(o=f.getBBox();o.height>w.height-w.top-w.bottom&&i>1;)i=Math.ceil(i/2),t=Math.ceil(u.length/i),p=r.getDataRowsColumns(c,t,i),r.moveItems(p,c,f,h,y),o=f.getBBox();g&&(o=f.getBBox(),g.applySettings({x:Math.round(o.x)-n.paddingLeftRight,y:Math.round(o.y)-n.paddingTopBottom,width:Math.round(o.width)+2*n.paddingLeftRight,height:Math.round(o.height)+2*n.paddingTopBottom}),ot&&g.applySettings({strokeWidth:n.border.width,stroke:n.border.color,strokeOpacity:n.border.opacity,dashStyle:n.border.dashStyle,rx:n.border.cornerRadius||0,ry:n.border.cornerRadius||0})),r.seriesGroups=c,r.insideLegendGroup=f}},f=function(n,t,i){for(var c=this,u,l=c.options,a=l.equalColumnWidth,v=c.series||{},e=[],s=0,h=0,o,f,r=0;r<t;r++)e[r]=0;for(r=0;r<i;r++)for(u=0;u<t;u++){if(o=i<t?n[r*t+u]:n[r+u*i],!o)break;f=o.getBBox(),h<f.height&&(h=f.height),a?s<f.width&&(s=f.width):e[u]<f.width&&(e[u]=f.width)}return{rows:i,cols:t,maxWidthPerColumn:e,maxWidthColumn:s,maxHeightRow:h}},e=function(n,t,i,r,u){var d=this,s,e,y,p,h,c,f,l=0,w=0,o,k=d.options,a=k.columnItemSpacing,v=k.rowItemSpacing,tt=k.equalColumnWidth,it=d.renderer,g=[],nt=0,b=0;for(y=n.rows,p=n.cols,b=n.maxHeightRow,nt=n.maxWidthColumn,g=n.maxWidthPerColumn,s=0;s<y;s++){for(e=0;e<p;e++){if(h=y<p?s*p+e:s+e*y,c=t[h],!c)break;f=c.getBBox(),o=tt?nt:g[e],r?(c.move(l-f.x,w),u[h].applySettings({x:f.x-a/2,y:f.y-v/2,height:b+v,width:o+a})):(c.move(l-f.x-f.width/2+o/2,w),u[h].applySettings({x:f.x+f.width/2-o/2-a/2,y:f.y-v/2,height:b+v,width:o+a})),l=l+o+a}w=w+b+v,l=0}},o=function(){return this.insideLegendGroup?this.insideLegendGroup.getBBox():{}},s=function(){this.legendGroup&&this.legendGroup.toForeground()},h=function(n,t){var r=this,i={};n&&(i.translateX=n),t&&(i.translateY=t),r.insideLegendGroup.applySettings(i)};return{ctor:t,draw:u,getBoundingRect:o,shift:h,toForeground:s,formatLabel:r,getDataRowsColumns:f,moveItems:e}}())}(jQuery,DevExpress),function(n,t,i){var u=t.viz.charts,o=t.utils,f=t.Class,s=t.viz.core,r=t.formatHelper,e=f.inherit({ctor:function(n){this.renderer=n.renderer,this.options=n,this.style={visibility:"hidden"},this.customColor=n.color,this.textStyle={font:n.font,align:"center",visibility:"hidden"},this.canvasWidth=n.canvasWidth},formatValueTooltip:function(n){return r.format(this.value,n.format,n.precision)},formatTooltip:function(n){return this.argumentText=r.format(this.argument,n.argumentFormat,n.argumentPrecision),this.percent!==i&&(this.percentText=r.format(this.percent,"percent",n.percentPrecision)),n.customizeText?n.customizeText.call(this,this):this.valueText},_getData:function(t,i,r){var y=4,l=t,a=i,h,v="center",u=[],c=[],s=this.options,f=s.arrowLength>0?s.arrowLength:0,o=r.width+s.paddingLeftRight*2,e=r.height+s.paddingTopBottom*2;for(o/2>t?(c=this._setArrowLeft(o,e,r,f,t,i),v="left",l+=s.paddingLeftRight):t+o/2>this.canvasWidth?(c=this._setArrowRight(o,e,r,f,t,i),v="right",l-=s.paddingLeftRight):c=this._setArrowCenter(o,e,r,f,t,i),e+f<i?a-=f+e/2-r.height/2+this.tooltipOffset:a+=f+e/2+r.height/2+this.tooltipOffset,n.extend(u,c),h=1;h<u.length;h+=2)e+f<i?u[h]+=y:u[h]-=y;return f>0&&(e+f<i?u[1]+=2:u[1]-=2,o/2>t?u[2]+=2:t+o/2>this.canvasWidth?u[u.length-2]-=2:(u[2]+=2,u[u.length-2]-=2)),{points:c,text:{x:l,y:a,align:v},pointsOfShadow:u}},_update:function(){var t,n;this.text.updateText(this.tooltipText),t=this.text.getBBox(),n=this._getData(this.x,this.y,t),this.shadow.applySettings({points:n.pointsOfShadow}),this.cloud.applySettings({points:n.points,fill:this.style.fill,"class":this.className}),this.text.applySettings({y:n.text.y}),t=this.text.getBBox(),this.text.applySettings({x:n.text.x,y:n.text.y-(t.y+t.height-n.text.y),align:n.text.align})},draw:function(){var n,t,i;this.tooltipGroup=this.renderer.createGroup({"class":"dxTooltip"}),n=this.renderer.createPath({},{fill:"#000000",stroke:"none",visibility:"hidden",opacity:.1}),n.append(this.tooltipGroup),this.shadow=n,t=this.renderer.createArea({},this.style),t.append(this.tooltipGroup),this.cloud=t,i=this.renderer.createText("0",0,0,this.textStyle),i.append(this.tooltipGroup),this.text=i,this.tooltipGroup.append()},show:function(){this.cloud.applySettings({visibility:"visible"}),this.text.applySettings({visibility:"visible"}),this.shadow.applySettings({visibility:"visible"})},hide:function(){this.cloud.applySettings({visibility:"hidden"}),this.text.applySettings({visibility:"hidden"}),this.shadow.applySettings({visibility:"hidden"})},move:function(n,t,i,r,u,f){this.x=n,this.y=t,this.tooltipOffset=i,this.tooltipText=r,this.style.fill=this.customColor||u,this.className=f,this._update()},_setArrowCenter:function(n,t,i,r,u,f){var h=!1,s=[],o=u,e=f,c=20;return t+r<f?e-=this.tooltipOffset:(e+=this.tooltipOffset,h=!0),s=[o,e],h?e+=r:e-=r,o+=c/2,s.push(o,e),o+=n/2-c/2,s.push(o,e),h?e+=t:e-=t,s.push(o,e),o-=n,s.push(o,e),h?e-=t:e+=t,s.push(o,e),o+=n/2-c/2,s.push(o,e),s},_setArrowLeft:function(n,t,i,r,u,f){var h=!1,s=[],o=u,e=f,c=20;return t+r<f?e-=this.tooltipOffset:(e+=this.tooltipOffset,h=!0),s=[o,e],h?e+=r:e-=r,o+=c,s.push(o,e),o+=n-c,s.push(o,e),h?e+=t:e-=t,s.push(o,e),o-=n,s.push(o,e),h?e-=t+r:e+=t+r,s.push(o,e),s},_setArrowRight:function(n,t,i,r,u,f){var h=!1,s=[],o=u,e=f,c=20;return t+r<f?e-=this.tooltipOffset:(e+=this.tooltipOffset,h=!0),s=[o,e],h?e+=r+t:e-=r+t,s.push(o,e),o-=n,s.push(o,e),h?e-=t:e+=t,s.push(o,e),o+=n-c,s.push(o,e),h?e-=r:e+=r,o+=c,s.push(o,e),s}});u.Tooltip=e}(jQuery,DevExpress),function(n,t,i){var f=t.viz.charts,e=t.Class,r=t.utils.isDefined,o=function(n,t){return n.substr(n.length-t.length)===t},u=function(n,t){return n.indexOf(t)===0};f.ChartTitle=e.inherit({ctor:function(n,t,i){var r=this;r._parseAlignments(i),r.horizontalAlignment=i.horizontalAlignment,r.verticalAlignment=i.verticalAlignment,r.renderer=n,r.canvas=t,r.options=i,r.clipRect=r.createClipRect()},_parseAlignments:function(n){if(r(n.position)&&!(r(n.verticalAlignment)&&r(n.horizontalAlignment))){n.position=n.position.toLowerCase(),n.verticalAlignment=o(n.position,"top")?"top":"bottom",n.horizontalAlignment=u(n.position,"left")?"left":u(n.position,"center")&&"center"||"right";return}n.verticalAlignment=(n.verticalAlignment||"").toLowerCase(),n.horizontalAlignment=(n.horizontalAlignment||"").toLowerCase(),n.verticalAlignment!=="top"&&n.verticalAlignment!=="bottom"&&(n.verticalAlignment="top"),n.horizontalAlignment!=="left"&&n.horizontalAlignment!=="center"&&n.horizontalAlignment!=="right"&&(n.horizontalAlignment="center")},render:function(){var n=this,t=n.options,r=n.renderer,o=n.horizontalAlignment,u,f,s=n.clipRect?n.clipRect.id:i,h=r.createGroup({"class":"dxChartTitle",clipId:s}).append(),e=r.createGroup().append(h);t.text&&(u={font:t.font,align:o,style:t.fontStyle},f=r.createText(t.text,n.canvas.left,n.canvas.top,u),f.append(e),n.innerTitleGroup=e)},getBoundingRect:function(){var t=this.options,n;return this.innerTitleGroup?(n=this.innerTitleGroup.getBBox(),r(t.placeholderSize)&&(n.height=t.placeholderSize),n):{width:0,height:0,x:0,y:0}},shift:function(n,t){this.innerTitleGroup.move(n,t)},createClipRect:function(){var n=this,i=n.renderer,t;if(r(n.options.placeholderSize))return t=i.createClipRect(0,0,0,0)},setClipRectSettings:function(){var t=this,n=t.canvas,r=t.verticalAlignment,i=t.clipRect;i&&(r==="top"?i.applySettings({x:0,y:0,height:n.top,width:n.width}):r==="bottom"&&i.applySettings({x:0,y:n.height-n.bottom,height:n.bottom,width:n.width}))}})}(jQuery,DevExpress),function(n,t,i){var v=t.viz.charts,w=t.viz.core,y=t.Class,r=t.utils,s=Math,c=100,l=5,p=2,h=4,a="canvas_position_",u="canvas_position_bottom",f="canvas_position_top",e="canvas_position_left",o="canvas_position_right";v.Axis=y.inherit(function(){var k=function(n,t){this.renderer=n,this.init(t)},d=function(n){var i=n.categories,t=n.label;n.hoverMode=n.hoverMode?n.hoverMode.toLowerCase():"none",this.hasLabelFormat=t.format!==""&&r.isDefined(t.format),this.options=n,this.staggered=t.staggered,ft(n),i&&(this.labelsNumber=i.length,this.ticksNumber=this.labelsNumber),n.range={min:n.min,max:n.max,categories:n.categories&&n.categories.slice(0)},this.pane=n.pane,this.textOptions={align:t.alignment,font:t.font,opacity:t.opacity,style:t.style}},g=function(n){var t,i,f=n.options,r=n.translator.getBusinessRange(),u;if(r&&r.getBoundRange&&!f.categories)for(i=n.getTickValues(),t=0;t<i.length-1;t++)u=Math.abs(i[t]-i[t+1]),f.isHorizontal?r.getBoundRange({intervalX:u}):r.getBoundRange({intervalY:u})},nt=function(n){var u=n.options,i,t=u.label;if(u.isHorizontal&&t&&r.isDefined(t.overlappingBehavior)){switch(t.overlappingBehavior.mode){case"enlargeTickInterval":case"stagger":i=null;break;case"rotate":i=t.overlappingBehavior.rotationAngle;break;default:i=t.rotationAngle}t.userAlignment||(n.textOptions.align=i?"left":"center"),n.textOptions.rotate=i}},tt=function(n){var n=this,t=n.options.label;return t?!n.staggered&&n.isStaggerOverlapping?t.overlappingBehavior.staggeringSpacing:t.staggeringSpacing:0},it=function(n){this.translator=n,this.needsLabelAdjustment=!1,this.resetTicks(),g(this)},rt=function(){this._tickValues=this._tickPositions=null},ut=function(n){var i=this,t=i.options;t.isHorizontal?(t.min=n.minVisibleX,t.max=n.maxVisibleX,t.categories=n.categoriesX,t.stubData=n.stubDataX):(t.min=n.minVisibleY,t.max=n.maxVisibleY,t.categories=n.categoriesY,t.stubData=n.stubDataY),i.needsLabelAdjustment=!1,this.resetTicks()},ft=function(n){var t=n.label,i="left",r="right",u="top",f="bottom";n.isHorizontal?n.position===f||n.position===u||(n.position=f):n.position===i||n.position===r||(n.position=i),n.position===r&&(t.indentFromAxis*=-1,t.userAlignment||(t.alignment=i)),n.position===u&&(t.indentFromAxis*=-1),t.rotationAngle&&n.isHorizontal&&(t.userAlignment||(t.alignment=i))},et=function(n){var t=0;return n.delta&&(t=n.delta[n.options.position]||0),n.translator.translateX(a+n.options.position)+t},ot=function(n){var t=0;return n.delta&&(t=n.delta[n.options.position]||0),n.translator.translateY(a+n.options.position)+t},st=function(n,t){var i=n.translator,r=n.options,c=r,v={strokeWidth:c.width,stroke:c.color,strokeOpacity:c.opacity},a,l=n.axisPosition,s,h;c.visible&&(n.options.isHorizontal?(r.categories?(s=i.translateX(e),h=i.translateX(o)):(s=i.translateX(r.min),h=i.translateX(r.max)),a=n.renderer.createLine(s,l,h,l,v)):(r.categories?(s=i.translateY(f),h=i.translateY(u)):(s=i.translateY(r.min),h=i.translateY(r.max)),a=n.renderer.createLine(l,s,l,h,v)),a.append(t))},ht=function(){var i=this,u=i.options,o=u.tickProvider,a=i.translator,e=u.label,s=u.categories,h,f,c=u.isHorizontal?e.overlappingBehavior:null,l=u.isHorizontal?i.translator.translateX:i.translator.translateY;return(f=lt(i,u,l,s),i._tickValues||(i.textOptions.rotate=e.rotationAngle,i.textOptions.align=e.alignment,i._tickValues=n.isArray(s)?s:o.getTicks(f),this._needProcessOverlapping=!0),i.options.stubData)?i._tickValues:((r.isDate(u.min)||r.isDate(s&&s[0]))&&!this.hasLabelFormat&&(e.format=t.formatHelper.getDateFormatByTicks(i._tickValues)),this._needProcessOverlapping&&c&&c.mode!=="ignore"&&(c.mode==="stagger"&&(f.screenDelta*=p),h=o.getAutoArrangementStep(i._tickValues,f),h>1?(i.staggered=!1,nt(i),h=o.getAutoArrangementStep(i._tickValues,f),i._tickValues=h>1?o.getAutoArrangementTicks(i._tickValues,f,h):i._tickValues):(i.staggered=e.staggered,i.staggeringSpacing=e.staggeringSpacing),this._needProcessOverlapping=!1,o._removeInvalidDatesWithUnitBegining(i._tickValues,f)),i._tickValues)},ct=function(n){this.resetTicks(),this._tickValues=n,n&&(this._needProcessOverlapping=!0)},lt=function(n,t,i,s){var v=t.isHorizontal?[e,o]:[u,f],y=Math.abs(i.call(n.translator,v[1])-i.call(n.translator,v[0])),p=r.getSignificantDigitPosition(Math.abs(t.max-t.min)/y),c,h=t.min,a=t.max;return r.isNumber(h)&&(h=r.roundValue(t.min,p),h<t.min&&(c=Math.pow(10,-p),h=r.applyPrecisionByMinDelta(h,c,h+c)),h>a&&(h=t.min)),s&&s.length>0&&(h=s[0],a=s[s.length-1]),{min:h,max:a,textOptions:n.textOptions,getText:function(n){return w(n,t.label)},renderer:n.renderer,textSpacing:l,translator:n.translator,tickInterval:n.options.stubData?null:t.tickInterval,screenDelta:y,gridSpacingFactor:t.axisDivisionFactor,isHorizontal:t.isHorizontal,setTicksAtUnitBeginning:t.setTicksAtUnitBeginning,incidentOccured:t.incidentOccured}},v=function(n){var f=n.options,t,r=[],u,i;for(u=f.isHorizontal?n.translator.translateX:n.translator.translateY,t=n.getTickValues(),(t.hideLabels||f.stubData)&&(r.hideLabels=!0),i=0;i<t.length;i++)r.push({text:t[i],pos:u.call(n.translator,t[i])});return r},y=function(n){var t,i=n.options,f=n.translator,u,r;if(!n._tickPositions){if(t=v(n),i.categories&&(i.discreteAxisDivisionMode!=="crossLabels"||!i.discreteAxisDivisionMode))for(i.isHorizontal?(u=f.getIntervalX()/2,i.valueMarginsEnabled||(t=t.slice(0,t.length-1))):(u=-f.getIntervalY()/2,i.valueMarginsEnabled||(t=t.slice(1,t.length))),r=0;r<t.length;r++)t[r].pos=t[r].pos+u;n._tickPositions=t}return n._tickPositions},at=function(n,t){var h=n.renderer,o=n.options,s=o.tick,l=o.categories,a=o.discreteAxisDivisionMode==="crossLabels"?0:.5,i,f=8,c={strokeWidth:1,stroke:s.color,strokeOpacity:s.opacity},v,e=n.axisPosition,p,w,r,u;if(s.visible)if(u=y(n),n.options.isHorizontal)for(i=0;i<u.length;i++)r=u[i],h.createLine(r.pos,e-f/2,r.pos,e+f/2,c).append(t);else for(i=0;i<u.length;i++)r=u[i],h.createLine(e-f/2,r.pos,e+f/2,r.pos,c).append(t)},w=function(n,i){var r={value:n,valueText:t.formatHelper.format(n,i.format,i.precision)||""};return i.customizeText?i.customizeText.call(r,r):r.valueText},vt=function(){var n=this.options.label;n.format||(n.format="percent")},yt=function(n,t,i,r){return this.createText(n,i,t,r)},pt=function(n,t){var u,f=n.options,k=f.categories,c=n.renderer,l=n.axisPosition,h=f.label,a=h.indentFromAxis,i,e,o,y=[],p=f.isHorizontal?c.createText:yt,b=f.isHorizontal?l+a:l-a,s;if(h.visible){if(i=v(n),i.length===0||i.hideLabels)return!0;for(u=0;u<i.length;u++)e=i[u],s=w(e.text,h),r.isDefined(s)&&s!==""&&(o=p.call(c,s,e.pos,b,n.textOptions),y.push(o),o.append(t),wt(n,o,e.text));n.labels=y}},wt=function(t,i,r){var u=t.options.hoverMode;i.on({click:function(i){n(t).trigger(i,[t,r])}});if(u&&u!=="none")i.on({mouseover:function(i){n(t).trigger(i,[t,r,u])},mouseout:function(i){n(t).trigger(i,[t,r,u])},mousemove:function(i){n(t).trigger(i,[t,r,u])},touchstart:function(i){n(t).trigger(i,[t,r,u])},touchmove:function(i){n(t).trigger(i,[t,r,u])},touchend:function(i){n(t).trigger(i,[t,r,u])},MSPointerDown:function(i){n(t).trigger(i,[t,r,u])},MSPointerMove:function(i){n(t).trigger(i,[t,r,u])},MSPointerUp:function(i){n(t).trigger(i,[t,r,u])},MSPointerOver:function(i){n(t).trigger(i,[t,r,u])},MSPointerOut:function(i){n(t).trigger(i,[t,r,u])}})},bt=function(){return this.options.multipleAxesSpacing||0},kt=function(n,t){var s,o=n.options,f=n.renderer,e=n.axisPosition,i=o.title,h=i.margin,r,u={font:i.font,opacity:i.opacity,align:"center","class":"dx-chart-axis-title"};i.text&&(n.options.isHorizontal?r=n.options.position==="bottom"?f.createText(i.text,n.translator.canvas.left+n.translator.width/2,e,u):f.createText(i.text,n.translator.canvas.left+n.translator.width/2,e,u):n.options.position==="left"?(u.rotate=270,r=f.createText(i.text,e,n.translator.canvas.top+n.translator.height/2,u)):(u.rotate=90,r=f.createText(i.text,e,n.translator.canvas.top+n.translator.height/2,u)),r.append(t),n.title=r)},dt=function(n,t,r){var nt=n.renderer,g=n.options,p=g.grid,it=g.categories,l=n.translator,rt=g.discreteAxisDivisionMode==="crossLabels"?0:.5,v,a,tt={strokeWidth:p.width,stroke:p.color,strokeOpacity:p.opacity},ut,ft=n.axisPosition,w,b,c,k,d,r=r||{visible:!1};if(p.visible)if(v=y(n),n.options.isHorizontal)for(w=l.translateY(u),b=l.translateY(f),k=r.visible&&r.left?l.translateX(e):i,d=r.visible&&r.right?l.translateX(o):i,a=0;a<v.length;a++)(c=v[a],s.abs(c.pos-k)<h||s.abs(c.pos-d)<h)||nt.createLine(c.pos,w,c.pos,b,tt).append(t);else for(w=l.translateX(e),b=l.translateX(o),k=r.visible&&r.top?l.translateY(f):i,d=r.visible&&r.bottom?l.translateY(u):i,a=0;a<v.length;a++)(c=v[a],s.abs(c.pos-k)<h||s.abs(c.pos-d)<h)||nt.createLine(w,c.pos,b,c.pos,tt).append(t)},gt=function(t,s){var nt=t.renderer,tt=t.options,k=tt.strips,l=t.translator,a,y=[],d=[],v,h,p,w,c,g;if(!tt.stubData){if(g=function(t,i,s,h){var p=s?!!(h.minVisibleX||h.maxVisibleX):!!(h.minVisibleY||h.maxVisibleY),w=(s?h.categoriesX:h.categoriesY)||[],c=s?function(n){return l.translateX(n)}:function(n){return l.translateY(n)},k=s?!!h.invertX:h.invertY,a=s?[e,o]:[u,f],d,v=c(t),y=c(i),b=s?h.minVisibleX:h.maxVisibleY,g=s?h.maxVisibleX:h.maxVisibleY;return(k&&a.reverse(),!p&&(n.inArray(t,w)===-1||n.inArray(i,w)===-1))?{stripFrom:0,stripTo:0}:(!r.isDefined(v)&&p&&(v=t<b?c(a[0]):c(a[1])),!r.isDefined(y)&&p&&(y=i<b?c(a[0]):c(a[1])),v<y?{stripFrom:v,stripTo:y}:{stripFrom:y,stripTo:v})},t.options.isHorizontal){for(p=l.translateY(u),w=l.translateY(f),a=0;a<k.length;a++)if(h=k[a],h.startValue!==i&&h.endValue!==i&&h.color!==i){if(c=g(h.startValue,h.endValue,!0,l.businessRange),c.stripTo-c.stripFrom==0)continue;v=nt.createRect(c.stripFrom,w,c.stripTo-c.stripFrom,p-w,0,{fill:h.color}),v.append(s),d.push(v),h.label&&h.label.text?y.push(b(t,h.label,c.stripFrom,c.stripTo,s)):y.push(null)}}else for(p=l.translateX(e),w=l.translateX(o),a=0;a<k.length;a++)if(h=k[a],h.startValue!==i&&h.endValue!==i&&h.color!==i){if(c=g(h.startValue,h.endValue,!1,l.businessRange),c.stripTo-c.stripFrom==0)continue;v=nt.createRect(p,c.stripFrom,w-p,c.stripTo-c.stripFrom,0,{fill:h.color}),v.append(s),d.push(v),h.label&&h.label.text?y.push(b(t,h.label,c.stripFrom,c.stripTo,s)):y.push(null)}t.stripLabels=y,t.stripRects=d}},b=function(n,t,i,r,u){var c=n.renderer,l=t.text,f=n.translator.canvas,e={align:n.options.isHorizontal?"center":"left",font:t.font||n.options.label.font},h,o,s;return n.options.isHorizontal?(t.horizontalAlignment==="center"?(o=i+(r-i)/2,e.align="center"):t.horizontalAlignment==="left"?(o=i,e.align="left"):t.horizontalAlignment==="right"&&(o=r,e.align="right"),t.verticalAlignment==="top"?s=f.top:t.verticalAlignment==="center"?s=(f.height-f.top-f.bottom)/2+f.top:t.verticalAlignment==="bottom"&&(s=f.height-f.bottom)):(t.horizontalAlignment==="center"?(o=(f.width-f.left-f.right)/2+f.left,e.align="center"):t.horizontalAlignment==="left"?(o=f.left,e.align="left"):t.horizontalAlignment==="right"&&(o=f.width-f.right,e.align="right"),t.verticalAlignment==="top"?s=i:t.verticalAlignment==="center"?s=r+(i-r)/2:t.verticalAlignment==="bottom"&&(s=r)),h=c.createText(l,o,s,e),h.append(u),h},ni=function(n){n.axisPosition=n.options.isHorizontal?ot(n):et(n)},ti=function(n,t){var i,f=n.options.label,r,e,o,s,u=!!n.staggered;if(t=n.options.inverted?t.slice(0).reverse():t,n.options.isHorizontal){if(f.overlappingBehavior&&f.overlappingBehavior.mode==="stagger")for(i=1;i<t.length;i++)o=t[i-1],s=t[i],r=o.getBBox(),e=s.getBBox(),e.x<r.x+r.width+l&&(n.isStaggerOverlapping=!0,u=!0)}else u=!1;return n.needsLabelAdjustment=n.needsLabelAdjustment||u},ii=function(n){var r=n.options,u=n.labels,c=r.label,i,e,o,h,t,f;if(r.label.visible&&u&&u.length){for(t=0;t<u.length;t++)i=u[t],f=i.getBBox(),r.isHorizontal&&r.position==="bottom"?i.applySettings({y:2*i.settings.y-f.y}):r.isHorizontal||r.position!=="left"&&r.position!=="right"?r.isHorizontal&&r.position==="top"&&i.applySettings({y:2*i.settings.y-f.y-f.height}):i.applySettings({y:i.settings.y+~~(i.settings.y-f.y-f.height/2)});if(o=ti(n,u),o){for(e=0,t=0;t<u.length;t=t+2)i=u[t],f=i.getBBox(),f.height>e&&(e=f.height);for(h=n.getStaggeringSpacing(n),e=s.round(e)+h,t=1;t<u.length;t=t+2)i=u[t],r.position==="bottom"?i.move(0,e):r.position==="top"&&i.move(0,-e);for(t=0;t<u.length;t++)u[t].rotate(0)}}},ri=function(n){var v=n.options,t,c=n.stripLabels,l=n.stripRects,a,e,r,o,s,u,h,f;if(c!==i||l!==i)for(r=0;r<c.length;r++)h=f=0,u=v.strips[r],t=u.label,e=c[r],e!==null&&(a=l[r],o=e.getBBox(),s=a.getBBox(),t.horizontalAlignment==="left"?h+=u.paddingLeftRight:t.horizontalAlignment==="right"&&(h-=u.paddingLeftRight),t.verticalAlignment==="top"?f+=s.y-o.y+u.paddingTopBottom:t.verticalAlignment==="center"?f+=s.y+s.height/2-o.y-o.height/2:t.verticalAlignment==="bottom"&&(f-=u.paddingTopBottom),e.move(h,f))},ui=function(n,t){var f=n.options,e=n.axisPosition,i,r,u=n.title;u&&(r=u.getBBox(),i=t.getBBox(),n.options.isHorizontal?n.options.position==="bottom"?u.move(0,i.y+i.height-r.y+f.title.margin):u.move(0,i.y-r.y-r.height-f.title.margin):n.options.position==="left"?u.move(i.x-r.x-r.width-f.title.margin,0):u.move(i.x+i.width-r.x+f.title.margin,0))},fi=function(n){var t=this,s=t.options.isHorizontal?"h-axis":"v-axis",h=t.options.isHorizontal?"h-strips":"v-strips",c=t.clipRectID&&t.options.placeholderSize?t.clipRectID:i,r=t.axisGroup=t.axisGroup||t.renderer.createGroup({"class":s,clipId:c}),u=t.axisStripGroup=t.axisStripGroup||t.renderer.createGroup({"class":h}),o=t.renderer.createGroup({"class":"axis-grid"}),f=t.renderer.createGroup({"class":"axis-elements"}),e=t.renderer.createGroup({"class":"axis-line"});n=n||{},r.clear(),u.clear(),r.detach(),u.detach(),ni(t),t._virtual||(st(t,e),at(t,e),pt(t,f),t.options.title.text&&kt(t,f)),t.options.strips&&gt(t,u),dt(t,o,n.borderOptions),f.append(r),o.append(r),e.append(r),u.append(t.stripsGroup),r.append(),ii(t),ri(t),ui(t,f),t.axisElementsGroup=f,t.axisGroup=r,t.axisLineGroup=e,t.axisStripGroup=u},ei=function(){var n=this.axisElementsGroup.getBBox(),f=this.axisLineGroup.getBBox(),e=this.options.placeholderSize,t,u=this.options.isHorizontal,i=u&&"y"||"x",r=u&&"height"||"width",o=this.options.position===(u&&"bottom"||"right");return n.x||n.y||n.width||n.height?(t=f[i]||this.axisPosition,o?(n[r]=e||n[r]-(t-n[i]),n[i]=t):n[r]=e||f[r]+t-n[i],n):n},oi=function(n,t){var r=this,i={};n&&(i.translateX=n),t&&(i.translateY=t),r.axisGroup.applySettings(i)},si=function(){var u=this,t=u.options,n={},i=function(i,u){t.valueMarginsEnabled?r.isDefined(t[i])&&(n[i+u]=t[i],n[i+u+"Priority"]=c):(n[i+u]=0,n[i+u+"Priority"]=c)};return t.isHorizontal?(n.minX=t.range.min,n.maxX=t.range.max,n.minVisibleX=t.range.min,n.maxVisibleX=t.range.max,i("minValueMargin","X"),i("maxValueMargin","X"),n.invertX=t.inverted,n.stickX=!t.valueMarginsEnabled,n.categoriesX=t.range.categories):(n.minY=t.range.min,n.maxY=t.range.max,n.minVisibleY=t.range.min,n.maxVisibleY=t.range.max,n.invertY=t.inverted,n.stickY=!t.valueMarginsEnabled,i("minValueMargin","Y"),i("maxValueMargin","Y"),n.categoriesY=t.range.categories),n},hi=function(t,i,r){n(this).on(t,i,r);return this},ci=function(t){return n(this).off(t),this};return{ctor:k,init:d,resetTicks:rt,getStaggeringSpacing:tt,setTranslator:it,getTickValues:ht,setTickValues:ct,getRangeData:si,getMultipleAxesSpacing:bt,setRange:ut,setPercentLabelFormat:vt,draw:fi,getBoundingRect:ei,shift:oi,on:hi,off:ci}}())}(jQuery,DevExpress),function(n,t,i){var f=t.ui,e=f.Component,u=t.viz.charts,r=t.utils,s=100,o={animate:!1};u.BaseChart=e.inherit({_defaultOptions:function(){return{done:n.noop,redrawOnResize:!0,incidentOccured:n.noop,margin:{left:0,top:0,right:0,bottom:0},size:{width:i,height:i},title:{text:null},legend:{hoverMode:"includePoints"},animation:{enabled:!0,duration:1e3,easing:"easeOutCubic",maxPointCountSupported:1e3,asyncSeriesRendering:!1},seriesSelectionMode:"single",pointSelectionMode:"single",seriesClick:n.noop,pointClick:n.noop,argumentAxisClick:n.noop,seriesHover:n.noop,pointHover:n.noop,seriesSelected:n.noop,pointSelected:n.noop}},_init:function(){this._saveUserCanvas(),this._initRenderer(),this._reinit(),this._needHandleRenderComplete=!0},_reinit:function(){var t=this;t.tooltip={},t.layoutManager=t._createLayoutManager(),t.option("redrawOnResize")&&window&&r.windowResizeCallbacks.add(t._resizeHandler()),n.isFunction(t.option("incidentOccured"))||t.option("incidentOccured",n.noop),t._reinitDataSource()},destroy:function(){var t=this,i=t._element();t.destroyed||(t._dispose(),t._render=n.noop,i.data(t.NAME)&&i.data(t.NAME,null),t.destroyed=!0)},_clean:function(){var n=this._element();n.empty(),this._saveDirtyCanvas()},dispose:function(){this._dispose()},_initRenderer:function(){this.renderer=this.renderer||this.createRenderer()},_initSeries:function(){this.series=this.series||this._populateSeries()},_reinitDataSource:function(){this._initDataSource(),this._loadDataSource()},_initOptions:function(n){var t=this,i;n.commonSeriesSettings&&n.commonSeriesSettings.type&&!r.isString(n.commonSeriesSettings.type)&&(n.commonSeriesSettings.type=""),n.userCommonSeriesSettings=n.commonSeriesSettings,i=this._processTitleOption(n.title,this.option("title")),i&&(n.title=i),this._processAxesOption(n),t.themeManager=t._createThemeManager(n),t.option(t.themeManager.applyChartTheme(n))},_processTitleOption:function(n,t){if(r.isString(n)){var i=n;return n=t,n.text=i,n}},_processAxesOption:function(t){var u=n.isArray(t.argumentAxis)?t.argumentAxis:[t.argumentAxis],f=n.isArray(t.valueAxis)?t.valueAxis:[t.valueAxis],i=function(n){for(var t,u,i=0,i=0;i<n.length;i++)t=n[i],t&&t.title&&r.isString(t.title)&&(u=t.title,t.title={},t.title.text=u),t&&t.label&&(t.label.alignment&&(t.label.userAlignment=!0),r.isString(t.label.overlappingBehavior)&&(t.label.overlappingBehavior={mode:t.label.overlappingBehavior}),t.label.overlappingBehavior&&t.label.overlappingBehavior.mode||(t.label.overlappingBehavior=t.label.overlappingBehavior||{},t.label.rotationAngle&&(t.label.overlappingBehavior.mode="rotate",t.label.overlappingBehavior.rotationAngle||(t.label.overlappingBehavior.rotationAngle=t.label.rotationAngle)),t.label.staggered&&(t.label.overlappingBehavior.mode="stagger",t.label.overlappingBehavior.staggeringSpacing||(t.label.overlappingBehavior.staggeringSpacing=t.label.staggeringSpacing))))};t.userCommonAxisSettings=t.commonAxisSettings,i([t.commonAxisSettings]),i(u),i(f)},_saveUserCanvas:function(){var n=this.option("size");n.width&&(n.userWidth=n.width),n.height&&(n.userHeight=n.height)},_saveDirtyCanvas:function(){this.dirtyCanvas=this._calculateCanvas()},_resizeHandler:function(){var n=this;return t.utils.createResizeHandler(function(){n._render(o)})},createRenderer:function(){var n=this.option("animation");return u.factory.createRenderer({animation:n})},_createThemeManager:function(n){return n=n||{},u.factory.createThemeManager({theme:n.theme,palette:n.palette})},_calculateCanvas:function(){var t=this.option("size"),i=this._element();return r.isDefined(t.userWidth)||(t.width=i.width()),r.isDefined(t.userHeight)||(t.height=i.height()),n.extend({},t,this.option("margin"))},_createLayoutManager:function(){return new u.factory.createChartLayoutManager(this)},_processTracker:function(){var t=this._element(),i=this.option("events"),n=this.option("rotated");this.tracker=new u.Tracker({container:t,series:this.series,valueAxis:n?this.horizontalAxes:this.verticalAxes,argumentAxis:n?this.verticalAxes:this.horizontalAxes,seriesSelectionMode:this.option("seriesSelectionMode"),pointSelectionMode:this.option("pointSelectionMode"),events:{seriesClick:this.option("seriesClick"),pointClick:this.option("pointClick"),argumentAxisClick:this.option("argumentAxisClick"),seriesHover:this.option("seriesHover"),seriesSelected:this.option("seriesSelected"),pointHover:this.option("pointHover"),pointSelected:this.option("pointSelected")}})},_render:function(n){var t=this,r=t.renderer,f=t.translators,o=t.layoutManager,i=t.canvas,s=t._element(),e=t._calculateCanvas(),u=t.dirtyCanvas;if(n=n||{recreateCanvas:!0},n.recreateCanvas=n.recreateCanvas||!r.isInitialized(),!n.force&&u&&u.width===e.width&&u.height===e.height){t.stopRedraw=!0;return}if(n.recreateCanvas&&(r.killContainer(),i=t._calculateCanvas()),i.width&&i.height&&s.is(":visible"))t.hiddenContainer=!1;else{t.option("incidentOccured")("Chart can not be drawn as container is not visible"),t.hiddenContainer=!0,t.stopRedraw=!0;return}n.recreateCanvas&&(t.canvas=i,r.recreateCanvas(t.canvas.width,t.canvas.height),t.renderer.draw(t._element()[0]),t._createCanvasClipRect(),f&&(f.length=0)),o.init(),t.seriesGroup.clear(),t.seriesTrackerGroup.clear(),t.markerTrackerGroup.clear(),t.trackerGroup.clear(),t.seriesLabelsGroup.clear(),t._saveDirtyCanvas()},_drawTitle:function(){var n=this,t=n.option("title"),i=n.renderer;n.chartTitle=new u.ChartTitle(i,n.canvas,t),n.chartTitle.render()},_createTooltip:function(){var t=this,f=t.option("tooltip")||{};f.enabled&&(f=n.extend(!0,{renderer:t.renderer,canvasWidth:t.canvas.width},f),!n.isFunction(f.customizeText)&&r.isDefined(f.customizeText)&&(t.option("incidentOccured").call(null,"customizeText can not be applied as it is not a function"),f.customizeText=i),t.tooltip=u.factory.createTooltip(f),t.tooltip.draw(),t.tracker.tooltip=t.tooltip)},_prepareDrawOptions:function(t){var u=this.option("animation"),i=n.extend({},{force:!1,adjustAxes:!0,drawLegend:!0,drawTitle:!0,adjustSeriesLabels:!0,animate:u.enabled,animationPointsLimit:u.maxPointCountSupported,asyncSeriesRendering:u.asyncSeriesRendering},t);return r.isDefined(i.recreateCanvas)||(i.recreateCanvas=!(!i.adjustAxes||!i.drawLegend||!i.drawTitle)),i},_optionChanged:function(n,t,i){var r;if(n==="dataSource")this._reinitDataSource(),this._needHandleRenderComplete=!0;else if(n==="series")this.series=this._populateSeries(),this._handleDataSourceChanged(),this._needHandleRenderComplete=!0;else if(n==="commonSeriesSettings")this.option("userCommonSeriesSettings",t),this.series=this._populateSeries();else if(n==="commonAxisSettings")this.option("userCommonAxisSettings",t);else if(n==="panes"||n==="valueAxis"||n==="argumentAxis")this._panesChanged=!0,this._needReinit=!0,this._needHandleRenderComplete=!0,this.callBase.apply(this,arguments);else if(n==="title"){if(r=this._processTitleOption(t,i),r){this.option("title",i);return}this.callBase.apply(this,arguments)}else n==="size"?(this._saveUserCanvas(),this._needReinit=!0,this.callBase.apply(this,arguments)):(this._needReinit=!0,this.callBase.apply(this,arguments))},_refresh:function(){this._needReinit&&this._reinit(),this._needReinit=!1,this._clean(),this._render({force:!0})},_dataSourceOptions:function(){return{paginate:!1}},_createCanvasClipRect:function(){var t=this,r=t.renderer,i,n=t.canvas;i=r.createClipRect(n.left,n.top,n.width-n.left-n.right,n.height-n.top-n.bottom),t.canvasClipRectID=i.id},_getCanvasClipRectID:function(){return this.canvasClipRectID},_handleDataSourceChanged:function(){this._dataSpecificInit(!0)},_dataSpecificInit:function(n){this._seriesInitializing=!0,this._initSeries(),this._repopulateSeries(n)},_processSeriesTemplate:function(t){var i=this,u=this.option("seriesTemplate"),e=r.isFunction(u.customizeSeries)?u.customizeSeries:n.noop,o=u.nameField||"series",f=this._dataSource.store().toDataSource({group:o});f&&f.load().done(function(){i._templatedSeries=n.map(f.items(),function(t){var i=e.call(null,t.key);return n.extend({name:t.key,data:t.items},i)}),i._populateSeries(),delete i._templatedSeries,i._handleSeriesPopulated(t)})},getAllSeries:function(){var t=[];return n.each(this.series,function(n,i){t.push(i)}),t},getSeriesByName:function(t){var i=null;return n.each(this.series,function(n,r){if(r.name===t)return i=r,!1}),i},getSeriesByPos:function(n){return this.series[n]},_handleRenderComplete:function(){var t=this,r=t.option("done"),i=!0;t._needHandleRenderComplete&&(n.each(t.series,function(n,t){i=i&&t.canRenderCompleteHandle()}),i&&(n.isFunction(r)&&r.call(t),t._needHandleRenderComplete=!1))},getSelectedSeries:function(){return null},clearSelection:function(){this.tracker.clearSelection()}}).include(f.DataHelperMixin)}(jQuery,DevExpress),function(n,t,i){var r=t.viz.charts,o=t.utils,s=5,f="default",h="defaultAxisName",u=.1,e=12;r.Chart=r.BaseChart.inherit({_defaultOptions:function(){return n.extend(!0,this.callBase(),{commonSeriesSettings:{type:"line",maxLabelCount:i,pane:f,stack:"default",label:{visible:!1,alignment:"center",rotationAngle:0,horizontalOffset:0,verticalOffset:0,radialOffset:0,format:"",argumentFormat:"",precision:0,argumentPrecision:0,percentPrecision:0,customizeText:i,position:"outside",connector:{visible:!1,width:0}}},defaultPane:f,adjustOnZoom:!0,rotated:!1,synchronizeMultiAxes:!0,equalBarWidth:!0,commonPaneSettings:{backgroundColor:"none",border:{visible:!1,top:!0,bottom:!0,left:!0,right:!0,dashStyle:"solid"}},panes:[{name:f,border:{}}],commonAxisSettings:{tickInterval:i,setTicksAtUnitBeginning:!0,valueMarginsEnabled:!0,placeholderSize:null}})},_init:function(){this.paneAxis={},this._initRenderer(),this.callBase()},_reinit:function(){this._panesChanged&&(delete this.series,this.paneAxis={}),delete this._panesChanges,this.translators=[],this.panes=this._createPanes(),this._populateAxes(),this.callBase(),delete this._seriesInitializing,this.series?this._correctValueAxes():this._dataSpecificInit()},_populateBusinessRange:function(t){var f=this,d=f.panes,a=[],it,e,l=f.option("rotated"),v,h=l?f.horizontalAxes:f.verticalAxes,p=l?f.verticalAxes:f.horizontalAxes,y=l&&"X"||"Y",c=l&&"Y"||"X",w="getBoundRange"+y,b="getBoundRange"+c,rt,g=n.map(d,function(n){return n.name}),k=f.series,nt=function(t){var i=[],r;if(n.each(h,function(n,r){r.pane===t&&i.push(r)}),i.length>1)for(e=1;e<i.length;e++)r=i[e].options.grid,r&&r.visible&&(r.visible=!1)},s=f.paneAxis,o=new r.Range,tt=function(n,t){for(var r,i=0;i<n.length;i++)if(n[i].pane===t){r=n[i].name;break}return r||(r=h[0].name),r};n.each(k,function(n,t){t.axis=t.axis||tt(h,t.pane),t.axis&&(s[t.pane]=s[t.pane]||{},s[t.pane][t.axis]=!0)}),n.each(h,function(t,i){i.name&&i.pane&&n.inArray(i.pane,g)!=-1&&(s[i.pane]=s[i.pane]||{},s[i.pane][i.name]=!0)}),f._correctValueAxes(),n.each(s,function(f,s){nt(f),n.each(s,function(s){var d=[],nt=[],tt=[],l=new r.Range({pane:f,axis:s,minValueMarginX:u,maxValueMarginX:u,minValueMarginY:u,maxValueMarginY:u}),g;for(n.each(k,function(n,t){t.pane===f&&t.axis===s&&d.push(t)}),n.each(p,function(n,t){tt.push(t)}),n.each(h,function(n,t){t.pane===f&&t.name===s&&nt.push(t)}),n.each(tt,function(n,t){o=o[b](t.getRangeData())}),n.each(nt,function(n,t){var u=new r.Range(t.getRangeData());u.applyEqualLimitsMargins(),g=g||t.options.valueType==="datetime"?"datetime":i,l=l[w](u)}),e=0;e<d.length;e++)v=d[e].getRangeData(t),l=l[w](v),o=o[b](v);l["isDefined"+y]()||l["setStubData"+y](g),a.push(l)})}),o["isDefined"+c]()||o["setStubData"+c](p[0].options.argumentType),n.each(a,function(n,t){t=t.getBoundRange(o),t.applyValueMargins(),t["stubData"+c]=o["stubData"+c],t.isDefined()||t.setStubData()}),f.businessRanges=a},_createPanes:function(){var n=this,t=n.option("panes"),i;return n.defaultPane=n.option("defaultPane"),!n._doesPaneExists(t,n.defaultPane)&&t.length>0&&(i=t[t.length-1].name,n.option("incidentOccured")('Pane "'+n.defaultPane+'" does not exist. Use pane "'+i+'" instead'),n.defaultPane=i),n.option("rotated")&&(t=t.reverse()),t},_doesPaneExists:function(t,i){var r=!1;return n.each(t,function(n,t){if(t.name===i)return r=!0,!1}),r},_populateSeries:function(){var t=this,tt=!!t.option("seriesTemplate"),e=tt?t._templatedSeries:t.option("series"),v=n.isArray(e)?e:e?[e]:[],s=t.option("argumentAxis"),h=t.option("valueAxis"),y=t.themeManager,l,i,p=t.option("commonSeriesSettings"),it=t.option("userCommonSeriesSettings"),u,w=t.renderer.createGroup({"class":"series-container"}),b=t.renderer.createGroup({"class":"labels-container"}),k=t.renderer.createGroup({"class":"tracker"}),d=t.renderer.createGroup({"class":"seriesTracker"}),g=t.renderer.createGroup({"class":"markerTracker"}),rt=t.option("rotated"),nt=t.option("incidentOccured"),f,ut=n.map(t.panes,function(n){return n.name}),a,c;for(this.series=[],y.resetPalette(),p.containerBackgroundColor=t.option("containerBackgroundColor"),f=0;f<v.length;f++)(i=v[f],i.type&&!o.isString(i.type)&&(i.type=""),a=i.pane||t.defaultPane,n.inArray(a,ut)!==-1)&&(l=i.data,i.data=null,i.seriesGroup=w,i.seriesLabelsGroup=b,i.trackerGroup=k,i.seriesTrackerGroup=d,i.markerTrackerGroup=g,s&&(i.argumentCategories=s.categories,i.argumentAxisType=s.type,i.argumentType=s.argumentType),h&&(i.valueCategories=h.categories,i.valueAxisType=h.type,i.valueType=h.valueType),i.rotated=rt,i.incidentOccured=nt,i.name||(i.name="Series "+(f+1).toString()),c=y.applyNextSeriesTheme(i,p,it),u=r.factory.createSeries(c.type,this.renderer,l,c),u?(u.axis=i.axis,u.pane=a,u.index=f,t.series.push(u)):nt.call(null,"Unknown series type requested: "+c.type),i.data=l);return t.seriesGroup=w,t.seriesLabelsGroup=b,t.trackerGroup=k,t.seriesTrackerGroup=d,t.markerTrackerGroup=g,t.series},_createValueAxis:function(t,i,u){var f=this,e;return t=n.extend({isHorizontal:i,tickProvider:u,incidentOccured:f.option("incidentOccured")},t),t=n.extend(!0,{},f.option("commonAxisSettings"),f.option(i?"horizontalAxis":"verticalAxis"),f.option("valueAxisStyle"),f.option("userCommonAxisSettings"),f.option("valueAxis"),t),t.strips&&n.each(t.strips,function(i){t.strips[i]=n.extend(!0,{},t.stripStyle,t.strips[i])}),e=r.factory.createAxis(f.renderer,t),e.name=t.name,e.pane=e.pane||t.pane,e.priority=t.priority,e},_populateAxes:function(){var t=this,o=[],s=[],u=t.panes,f=t.option("rotated"),tt=t.themeManager,c=t.option("valueAxis")||{},l=t.option("argumentAxis")||{},a=n.isArray(l)?l:[l],w=n.isArray(c)?c:[c],it,e,y=[],rt,p=r.factory.getAxisTickProvider(),v,b=function(i,u){i=n.extend(!0,{isHorizontal:!f,tickProvider:p,pane:t.defaultPane,incidentOccured:t.option("incidentOccured")},i),i=n.extend(!0,{},t.option("commonAxisSettings"),t.option(f?"verticalAxis":"horizontalAxis"),t.option("argumentAxisStyle"),t.option("userCommonAxisSettings"),t.option("argumentAxis"),i),i.strips&&n.each(i.strips,function(t){i.strips[t]=n.extend(!0,{},i.stripStyle,i.strips[t])}),e=r.factory.createAxis(t.renderer,i),e._virtual=u,i.isHorizontal?o.push(e):s.push(e)};v=f?a[0].position==="right"?u[u.length-1].name:u[0].name:a[0].position==="top"?u[0].name:u[u.length-1].name,n.each(u,function(t,i){var r=i.name,u=r!=v,f=n.extend(!0,{},{pane:r},a[0]);b(f,u)});var k=function(n){var i=t._createValueAxis(n,f,p);f?o.push(i):s.push(i)},d=0,g=function(){return h+d++},nt=function(t){for(var r={},u=t.length,i=0;i<u;i++)r[t[i]]=!0;return n.map(r,function(n,t){return t})};n.each(w,function(r,u){var f=[],e=u.name;if(e&&n.inArray(e,y)!=-1){t.option("incidentOccured").call(null,"The valueAxis configuration array contains axes with the same name.");return}e&&y.push(e),u.pane&&f.push(u.pane),u.panes&&u.panes.length&&(f=f.concat(u.panes.slice(0))),f=nt(f),f.length||f.push(i),n.each(f,function(t,i){k(n.extend(!0,{},u,{name:e||g(),pane:i,priority:r}))})}),t.horizontalAxes=o,t.verticalAxes=s},_correctValueAxes:function(){var i=this,s=i.option("rotated"),b=i.themeManager,e=i.option("valueAxis")||{},h=n.isArray(e)?e:[e],v=r.factory.getAxisTickProvider(),t=(s?i.horizontalAxes:i.verticalAxes)||[],y=t[0].name,f=i.paneAxis||{},o=i.panes,u,c={},p=function(t){var r;return n.each(i.paneAxis,function(i,u){n.each(u,function(n){if(t==n)return r=i,!1})}),r},w=n.map(t,function(n){return n.pane?null:n}),l,a;for(n.each(w,function(n,t){t.pane=p(t.name),t.pane||(t.pane=i.defaultPane,f[t.pane]=f[t.pane]||{},f[t.pane][t.name]=!0),t.options.pane=t.pane}),u=0;u<o.length;u++)f[o[u].name]||(f[o[u].name]={},f[o[u].name][y]=!0);l=function(n){for(var u,r=0;r<h.length;r++)if(h[r].name==n){u=e[r],u.priority=r;break}if(!u)for(r=0;r<t.length;r++)if(t[r].name==n){u=t[r].options,u.priority=t[r].priority;break}return u||(i.option("incidentOccured").call(null,'Value axis with name "'+n+'" does not exist. It was created.'),u={name:n,priority:t.length}),u},a=function(n,i){var r;for(u=0;u<t.length;u++)if(r=t[u],r.name===i&&r.pane===n)return r},n.each(i.paneAxis,function(r,u){n.each(u,function(u){var o,e;c[u+"-"+r]=!0,o=a(r,u),o||(e=l(u),e&&t.push(i._createValueAxis(n.extend(!0,{},e,{pane:r,name:u}),s,v)))})}),t=n.grep(t,function(n){return!!c[n.name+"-"+n.pane]}),t.sort(function(n,t){return n.priority-t.priority}),s?i.horizontalAxes=t:i.verticalAxes=t},_processSeriesFamilies:function(){var t=this,i=[],f=[],u,e=t.option("rotated");n.each(t.series,function(t,r){n.inArray(r.type,i)===-1&&i.push(r.type)}),n.each(t.panes,function(o,s){u=[],n.each(t.series,function(n,t){t.pane===s.name&&u.push(t)}),n.each(i,function(n,i){var o=new r.factory.createSeriesFamily({type:i,pane:s.name,rotated:e,equalBarWidth:t.option("equalBarWidth")});o.add(u),o.adjustSeriesValues(),f.push(o)})}),t.seriesFamilies=f},_createLegend:function(){var i=this.themeManager,t=n.extend(!0,{renderer:this.renderer,series:this.series,containerBackgroundColor:this.option("commonSeriesSettings").containerBackgroundColor},this.option("legend"));this.legend=r.factory.createLegend(t)},_createTranslator:function(n,i){return new t.viz.core.LinearTranslator(n,i)},_createPanesBorderOptions:function(){var t=this,r=t.option("commonPaneSettings").border,i={};return n.each(t.panes,function(t,u){var f=n.extend(!0,{},r,u.border);i[u.name]=f}),i},_render:function(t){if(this._seriesInitializing!==!0){var i=this,b=i.renderer,e=i.translators,h=i.option("rotated"),u,f=i.layoutManager,p=i.option("title"),c=0,l,k,d=i.option("done"),w=new r.MultiAxesSynchronizer,o=i._createPanesBorderOptions(),a=i.stripsGroup=i.stripsGroup||i.renderer.createGroup({"class":"axis-strips"}),v=function(n,t){var r,f,i,e;for(u=0;u<t.length;u++)i=t[u],l=i.pane,e=i.name,r=n._getTranslator(l,e),f=n._getBusinessRange(l,e),r&&f&&(r.init(),i.setRange(f),i.setTranslator(r))},y=function(){var r;for(n.each(i.seriesFamilies||[],function(n,t){t.adjustSeriesDimensions(i._getTranslator(t.pane))}),i.seriesGroup.append(),i.seriesLabelsGroup.append(),u=0;u<i.series.length;u++)r=i.series[u],r.clipRectID=i._getClipRectID(i.series[u].pane),r.adjustSeriesLabels=t.adjustSeriesLabels,r.draw(i._getTranslator(i.series[u].pane,i.series[u].axis)),t.animate&&r.getPoints().length<=t.animationPointsLimit&&i.series[u].animate();i._createTooltip(),i.trackerGroup.append(),i.seriesTrackerGroup.append(i.trackerGroup),i.markerTrackerGroup.append(i.trackerGroup),t.drawLegend&&i.legend&&i.legend.options.position==="inside"?(i.legend.clipRectID=i._getCanvasClipRectID(),i.legend.canvas=i.canvas,i.legend.draw(),f.applyLegendLayout()):i.legend.options.position=="inside"&&i.legend.toForeground(),i._handleRenderComplete()};if(t=i._prepareDrawOptions(t),i.callBase(t),i.stopRedraw){i.stopRedraw=!1;return}if(i._createPanesBackground(),p.text&&t.drawTitle&&(i._drawTitle(),f.applyTitleLayout()),t.drawLegend&&i.legend&&i.legend.options.position==="outside"&&(i.legend.canvas=i.canvas,i.legend.clipRectID=i._getCanvasClipRectID(),i.legend.draw(),f.applyLegendLayout(),f.isCanvasExceeded(!1))){i.option("incidentOccured")("Container is too small to draw chart with current settings"),i._clean();return}i._setPanesClipRectPadding(o,h),t.recreateCanvas?(f.createPanesCanvases(),n.each(i.paneAxis,function(t,r){n.each(r,function(n){var u=i._createTranslator(i._getBusinessRange(t,n),i._getCanvasForPane(t));u.pane=t,u.axis=n,e.push(u)})})):n.each(e,function(n,t){t.updateBusinessRange(i._getBusinessRange(t.pane,t.axis)),t.init()}),v(i,i.horizontalAxes),v(i,i.verticalAxes),a.append();do{for(u=0;u<i.horizontalAxes.length;u++)i.horizontalAxes[u].resetTicks();for(u=0;u<i.verticalAxes.length;u++)i.verticalAxes[u].resetTicks();for(i.option("synchronizeMultiAxes")&&w.synchronize(h?i.horizontalAxes:i.verticalAxes,h),u=0;u<i.horizontalAxes.length;u++)i.horizontalAxes[u].clipRectID=i._getCanvasClipRectID(),i.horizontalAxes[u].stripsGroup=a,i.horizontalAxes[u].draw({borderOptions:o[i.horizontalAxes[u].pane]});for(f.requireAxesRedraw=!1,t.adjustAxes&&(f.applyHorizontalAxesLayout(),n.each(e,function(n,t){t.init()})),u=0;u<i.verticalAxes.length;u++)i.verticalAxes[u].clipRectID=i._getCanvasClipRectID(),i.verticalAxes[u].stripsGroup=a,i.verticalAxes[u].draw({borderOptions:o[i.verticalAxes[u].pane]});if(t.adjustAxes&&(f.applyVerticalAxesLayout(),n.each(e,function(n,t){t.init()})),c=c+1,f.isCanvasExceeded(!0)){i.option("incidentOccured")("Container is too small to draw chart with current settings"),i._clean();return}}while(f.requireAxesRedraw&&c<s);i.chartTitle&&i.chartTitle.setClipRectSettings(),i._drawPanesBorders(o),i._createClipRectsForPanes(),i._fillPanesBackground(),t.asyncSeriesRendering?setTimeout(y,25):y()}},_setPanesClipRectPadding:function(t,i){var r=this,u=!0,s=t[r.panes[0].name].visible,h=t[r.panes[r.panes.length-1].name].visible,f="",o;n.each(r.panes,function(n,i){u=u&&!!t[i.name].visible}),n.each(r.horizontalAxes,function(n,t){f+=t.options.position}),n.each(r.verticalAxes,function(n,t){f+=t.options.position}),o=function(n,t,i){var f="original"+t,u;(t=t.toLowerCase(),i)||n.indexOf(t)===-1&&(u=e-r.canvas[t],u>0&&(r.canvas[f]+=u,r.canvas[t]+=u))},o(f,"Bottom",i?u:h),o(f,"Top",i?u:s),o(f,"Left",i?s:u),o(f,"Right",i?h:u)},_createPanesBackground:function(){for(var n=this,e=n.option("commonPaneSettings").backgroundColor,t,u,o=n.renderer,f,r=[],i=0;i<n.panes.length;i++){if(t=n.panes[i].backgroundColor||e,!t||t==="none"){r.push(null);continue}u={fill:t,strokeWidth:0},f=o.createRect(0,0,0,0,0,u).append(),r.push(f)}n.panesBackground=r},_fillPanesBackground:function(){var i=this,t;n.each(i.panes,function(n,r){t=r.borderCoords,i.panesBackground[n]!=null&&i.panesBackground[n].applySettings({x:t.left,y:t.top,width:t.width,height:t.height})})},_calcPaneBorderCoords:function(n){var r=n.canvas,i=n.borderCoords=n.borderCoords||{};i.left=r.left,i.top=r.top,i.right=r.width-r.right,i.bottom=r.height-r.bottom,i.width=i.right-i.left,i.height=i.bottom-i.top},_drawPanesBorders:function(t){var i=this,f=i.option("rotated"),u=i.renderer,r=i.borderGroup=i.borderGroup||u.createGroup({"class":"dxBorder"});r.clear(),n.each(i.panes,function(n,e){var s,o=t[e.name],h={fill:"none",stroke:o.color,strokeOpacity:o.opacity,strokeWidth:o.width,dashStyle:o.dashStyle};(i._calcPaneBorderCoords(e,f),o.visible)&&(s=e.borderCoords,u.createSegmentRect(s.left,s.top,s.width,s.height,0,o,h).append(r))}),r.append()},_createClipRectsForPanes:function(){var t=this,i=t.renderer,r=t.option("commonPaneSettings").border;t.clipRectID=[],n.each(t.panes,function(u,f){var h,c=n.extend({},r,f.border),o=f.borderCoords,s=!c.visible&&e||0;h=i.createClipRect(o.left-s,o.top-s,o.width+2*s,o.height+2*s),t.clipRectID.push(h.id)})},_getClipRectID:function(n){for(var i=this,r=i.panes,u=r.length,t=0;t<u;t++)if(r[t].name===n)return i.clipRectID[t]},_getTranslator:function(n,t){for(var e=this,r=e.translators,f=r.length,u=null,i=0;i<f;i++)if(r[i].pane===n&&r[i].axis===t){u=r[i];break}if(!u)for(i=0;i<f;i++)if(r[i].pane===n){u=r[i];break}return u},_getCanvasForPane:function(n){for(var i=this.panes,r=i.length,t=0;t<r;t++)if(i[t].name===n)return i[t].canvas},_getBusinessRange:function(n,t){for(var r=this.businessRanges||[],f=r.length,u,i=0;i<f;i++)if(r[i].pane===n&&r[i].axis===t){u=r[i];break}if(!u)for(i=0;i<f;i++)if(r[i].pane===n){u=r[i];break}return u},_handleSeriesPopulated:function(n){this._processSeriesFamilies(),this._createLegend(),this._populateBusinessRange(),this._processValueAxisFormat(),this._processTracker(),delete this._seriesInitializing,n&&this._render({force:!0})},_processValueAxisFormat:function(){var t=this,r=t.option("rotated"),u=t.series,f=r?t.horizontalAxes:t.verticalAxes,i=[];n.each(u,function(){this.isFullStackedSeries()&&n.inArray(this.axis,i)===-1&&i.push(this.axis)}),n.each(f,function(){var t=this.name;n.inArray(t,i)!==-1&&this.setPercentLabelFormat()})},_repopulateSeries:function(t){var i=this._dataSource&&this._dataSource.items(),r=this.option("seriesTemplate");if(this._dataSource&&r){this._processSeriesTemplate(t);return}i&&n.each(this.series,function(n,t){t.reinitData(i)}),this._handleSeriesPopulated(t)},zoomArgument:function(t,i){var r=this;r.minArg=t,r.maxArg=i,r.option("adjustOnZoom")&&r._populateBusinessRange({minArg:t,maxArg:i}),n.each(r.paneAxis,function(t,i){n.each(i,function(n){var u=r._getTranslator(t,n),f=r._getBusinessRange(t,n);u.updateBusinessRange(f),(r.minArg||r.maxArg)&&(r._options.rotated?u.zoomY(r.minArg,r.maxArg):u.zoomX(r.minArg,r.maxArg),u.init())})}),this._render({force:!0,drawTitle:!1,drawLegend:!1,adjustAxes:!1,animate:!1,adjustSeriesLabels:!1})}})}(jQuery,DevExpress),function(n,t,i){var r=t.viz.charts,e=t.Class,u=t.utils,f=12;r.PieChart=r.BaseChart.inherit({_defaultOptions:function(){return n.extend(!0,this.callBase(),{commonSeriesSettings:{type:"pie",pie:{label:{percentPrecision:0}}},legend:{hoverMode:"markPoint"}})},_reinit:function(){this.callBase(),delete this._seriesInitializing,this.series||this._dataSpecificInit()},_populateBusinessRange:function(){var i=this,u=[],e=i.series,t=e[0],n,f;t&&(n=new r.Range({series:t}),f=t.getRangeData(),n=n.getBoundRange(f),n.isDefined()||n.setStubData(),u.push(n)),i.businessRanges=u},_createTranslator:function(n){return new DevExpress.viz.core.Translator1D(n.minY,n.maxY,360-.0001,0)},_populateSeries:function(){var t=this,d=!!t.option("seriesTemplate"),o=d?t._templatedSeries:t.option("series"),l=n.isArray(o)?o:o?[o]:[],a=t.themeManager,h,f,e,s,c,g=t.option("commonSeriesSettings"),nt=t.option("userCommonSeriesSettings"),v=t.renderer.createGroup({"class":"series"}),y=t.renderer.createGroup({"class":"tracker"}),p=t.renderer.createGroup({"class":"seriesTracker"}),w=t.renderer.createGroup({"class":"markerTracker"}),b=t.renderer.createGroup({"class":"labels"}),k=t.option("incidentOccured");return t.series=[],a.resetPalette(),l.length&&(f=l[0],f.type&&!u.isString(f.type)&&(f.type=""),h=f.data,f.data=null,f.incidentOccured=k,f.seriesGroup=v,f.trackerGroup=y,f.seriesTrackerGroup=p,f.markerTrackerGroup=w,f.seriesLabelsGroup=b,s=a.applyPieSeriesTheme(f,g,nt),c=s.type!==i?s.type:t.option("commonSeriesSettings").type,e=r.factory.createSeries(c,t.renderer,h,s),e?(t._processSingleSeries(e,e.userOptions),t.series.push(e)):k.call(null,"Unknown series type requested: "+c),f.data=h),t.seriesGroup=v,t.trackerGroup=y,t.seriesTrackerGroup=p,t.markerTrackerGroup=w,t.seriesLabelsGroup=b,t.series},_processSingleSeries:function(n,t){var u=this,o=u.option("commonSeriesSettings"),r,i,f,e;for(n.arrangePoints(),r=n&&n.getPoints()||[],i=0;i<r.length;i++)f=u.themeManager.applyNextPieSegmentTheme(t,o),e=n.parseStyleOptions(f),r[i].setOptions(e.point),r[i].index=i},_handleSeriesPopulated:function(n){this._populateBusinessRange(),this._processTracker(),this._createLegend(),delete this._seriesInitializing,n&&this._render({force:!0,recreateCanvas:!0})},_repopulateSeries:function(t){var i=this,r=i._dataSource&&i._dataSource.items(),u=this.option("seriesTemplate");if(i.themeManager.resetPalette(),this._dataSource&&u){this._processSeriesTemplate(t);return}r&&n.each(i.series,function(n,t){t.reinitData(r),i._processSingleSeries(t,t.userOptions)}),this._handleSeriesPopulated(t)},_createLegend:function(){var t=this,i=n.extend(!0,{renderer:t.renderer,series:n.map(t.series[0]?t.series[0].getPoints():[],function(n){return n.name=n.argument,n.options.showInLegend=!0,n.styles={themeColor:n.options.attributes.fill},n})},t.option("legend"));i.position!=="outside"&&(i.position="outside"),this.legend=r.factory.createLegend(i)},_setPaddings:function(n){var t=this,u="original"+n,r=n.toLowerCase(),i=f-t.canvas[r];i>0&&(t.canvas[u]+=i,t.canvas[r]+=i)},_render:function(n){if(this._seriesInitializing!==!0){var t=this,r=t.option("title"),i=t.layoutManager;if(n=t._prepareDrawOptions(n),this.callBase(n),t.stopRedraw){t.stopRedraw=!1;return}if(r.text&&n.drawTitle&&(t._drawTitle(),i.applyTitleLayout()),n.drawLegend&&t.legend&&(t.legend.clipRectID=t._getCanvasClipRectID(),t.legend.canvas=t.canvas,t.legend.draw(),i.applyLegendLayout()),i.isCanvasExceeded(!1)){t.option("incidentOccured")("Container is too small to draw chart with current settings"),t._clean();return}if(t.chartTitle&&t.chartTitle.setClipRectSettings(),t._setPaddings("Bottom"),t._setPaddings("Top"),t._setPaddings("Left"),t._setPaddings("Right"),t.series&&t.series[0]){if(!i.applyPieChartSeriesLayout()){t.option("incidentOccured")("Container is too small to draw chart with current settings"),t._clean();return}t.seriesGroup.append(),t.seriesLabelsGroup.append(),t.series[0].canvas=t.canvas,t.series[0].draw(t._createTranslator(t.businessRanges[0],t.canvas)),t.series[0].redraw&&(t.seriesGroup.clear(),t.seriesTrackerGroup.clear(),t.markerTrackerGroup.clear(),t.trackerGroup.clear(),t.seriesLabelsGroup.clear(),i.applyPieChartSeriesLayout(),t.series[0].draw(t._createTranslator(t.businessRanges[0],t.canvas))),t.series[0].animate(),t._createTooltip(),t.trackerGroup.append(),t.seriesTrackerGroup.append(t.trackerGroup),t.markerTrackerGroup.append(t.trackerGroup)}t._handleRenderComplete()}},getSeries:function(){return this.series&&this.series[0]}})}(jQuery,DevExpress),function(n,t){var e=t.viz,u=e.core,r=t.viz.charts,o=t.Class,s=t.utils,h=120,f=20,c=20,l=20,a=30,v=20;r.ThemeManager=u.BaseThemeManager.inherit(function(){var t=function(n,t){n=n||{},this.callBase(n.theme,t||"chart"),this.palette=new u.Palette(n.palette||this.theme.defaultPalette,50),this.init()},i=function(){var n=this;n.theme.legend=n.theme.legend||{},n.theme.legend.font=n.theme.legend.font||{},n.initializeFont(n.theme.legend.font),e(n),o(n),n.theme.title=n.theme.title||{},n.theme.title.font=n.theme.title.font||{},n.initializeFont(n.theme.title.font),n.theme.tooltip=n.theme.tooltip||{},n.theme.tooltip.font=n.theme.tooltip.font||{},n.initializeFont(n.theme.tooltip.font)},e=function(n){var i=n.theme,t=i.commonSeriesSettings,r=i.font,u;t.point=t.point||{},t.containerBackgroundColor=t.containerBackgroundColor||i.containerBackgroundColor,t.label=t.label||{},n.initializeFont(t.label.font)},o=function(n){var i=n.theme,t=i.commonAxisSettings,r=i.font,u,f;t&&(t.label=t.label||{},t.grid=t.grid||{},t.ticks=t.ticks||{},t.line=t.line||{},t.title=t.title||{},t.label.font=t.label.font||{},n.initializeFont(t.label.font),t.title.font=t.title.font||{},n.initializeFont(t.title.font))},s=function(n){var r=this,i={dataSource:n.dataSource,series:n.series},t;return delete n.dataSource,delete n.series,t=r.applyTheme(r.theme,n),t.dataSource=i.dataSource,t.series=i.series,n.series=i.series,t},h=function(t,i,u){var c=this,e=n.extend(!0,{},i||c.theme.commonSeriesSettings),s=n.extend(!0,{},u||{}),h=(t.type||e.type||"").toLowerCase(),l=~h.indexOf("area")||~h.indexOf("bar"),o;return s=n.extend(!0,s,s[h]),e=n.extend(!0,e,e[h],s),t=t||{},o=new r.Color(t.color||s.color||c.palette.getNextColor()),e.color=o.toHex(),e.border.color=e.border.color||o.toHex(),e.hoverStyle.color=e.hoverStyle.color||l&&o.highlight(f)||o.toHex(),e.hoverStyle.border.color=e.hoverStyle.border.color||o.toHex(),e.selectionStyle.color=e.selectionStyle.color||l&&o.highlight(f)||o.toHex(),e.selectionStyle.border.color=e.selectionStyle.border.color||o.toHex(),e.point.color=e.point.color||o.toHex(),e.point.border.color=e.point.border.color||o.toHex(),e.point.hoverStyle.color=e.point.hoverStyle.color||e.containerBackgroundColor,e.point.hoverStyle.border.color=e.point.hoverStyle.border.color||o.toHex(),e.point.selectionStyle.color=e.point.selectionStyle.color||e.containerBackgroundColor,e.point.selectionStyle.border.color=e.point.selectionStyle.border.color||o.toHex(),c.applyTheme(e,t)},c=function(t,i,r){var e=this,u=i||e.theme.commonSeriesSettings||{},f=(t.type||u.type||"").toLowerCase();return f&&f!=="pie"&&(u[f]=n.extend(!0,{},u[f],u.pie)),t=t||{},t=n.extend(!0,{},u,u[f],r,t)},l=function(t,i){var e=this,o=i||e.theme.commonSeriesSettings||{},u=n.extend(!0,{},o.pie),s=t.type||u.type||"",f;return t=t||{},f=new r.Color(t.color||e.palette.getNextColor()),u.color=f.toHex(),u.border.color=u.border.color||f.toHex(),u.hoverStyle.color=u.hoverStyle.color||f.highlight(20),u.hoverStyle.border.color=u.hoverStyle.border.color||f.toHex(),u.selectionStyle.color=u.selectionStyle.color||f.highlight(20),u.selectionStyle.border.color=u.selectionStyle.border.color||f.toHex(),e.applyTheme(u,t)},a=function(){this.palette.reset()};return{ctor:t,init:i,applyChartTheme:s,applyNextSeriesTheme:h,applyPieSeriesTheme:c,applyNextPieSegmentTheme:l,resetPalette:a}}())}(jQuery,DevExpress),function(n,t){var e=t.viz.charts,o=t.Class,u=t.utils,f=Math,r=f.round;e.LayoutManager=o.inherit(function(){var v=function(n){var t=this,i=n.canvas;t.chart=n,t.init()},t=function(n){var t=n.canvas;t&&(t.originalTop=t.top,t.originalBottom=t.bottom,t.originalLeft=t.left,t.originalRight=t.right)},y=function(){var n=this,i=n.chart;n.legend=i.legend,n.canvas=i.canvas,t(n)},p=function(){for(var l=this,i=l.canvas,f=l.chart.panes,w=l.chart.option("rotated"),t,e=f.length,a=i.height-i.top-i.bottom,v=i.width-i.left-i.right,o=0,y,p,s=f.padding||10,h=0,c=0,u=0;u<e;u++)t=f[u],t.weight=t.weight||1,o=o+t.weight;if(y=(a-s*(e-1))/o,p=(v-s*(e-1))/o,w)for(u=0;u<e;u++)t=f[u],t.calcWidth=r(t.weight*p),t.canvas=n.extend({},i),t.canvas.left=t.canvas.originalLeft=i.left+c,t.canvas.right=t.canvas.originalRight=i.right+(v-t.calcWidth-c),c=c+t.calcWidth+s;else for(u=0;u<e;u++)t=f[u],t.calcHeight=r(t.weight*y),t.canvas=n.extend({},i),t.canvas.top=t.canvas.originalTop=i.top+h,t.canvas.bottom=t.canvas.originalBottom=i.bottom+(a-t.calcHeight-h),h=h+t.calcHeight+s},w=function(){var e=this,n=e.canvas,u=e.chart.chartTitle,i,s=15,h=10,f,o;if(u){i=u.getBoundingRect();switch(u.horizontalAlignment){case"left":f=r(s+n.left);break;case"center":f=r((n.width-n.left-n.right-i.width)/2+n.left)-i.x;break;case"right":f=r(n.width-n.right-i.x-i.width-s)}u.verticalAlignment==="top"?(o=r(n.top-i.y),n.top=n.top+i.height+h):(o=r(n.height-n.bottom-i.height-i.y),n.bottom=n.bottom+i.height+h),u.shift(f,o),t(e)}},b=function(){var f=this,n=f.canvas,e=15,i=f.chart.chartTitle,t,u,o=i.innerTitleGroup.settings.translateY||0;t=i.getBoundingRect();switch(i.horizontalAlignment){case"left":u=r(e+n.left);break;case"center":u=r((n.width-n.right-n.left-t.width)/2+n.left-t.x);break;case"right":u=r(n.width-n.right-t.x-t.width-e)}i.shift(u,o)},k=function(){var o=this,i=o.canvas,a=o.legend,e=o.legend.options,f=a.getBoundingRect(),c=10,l=10,s,h,v=o.chart.chartTitle;if(e.visible&&u.isNumber(f.width)&&u.isNumber(f.height))if(e.position==="outside"){switch(e.horizontalAlignment){case"left":s=r(i.left-f.x+l),i.left=i.left+f.width+e.margin+l,v&&o.adjustTitleLayout();break;case"center":s=r((i.width-i.left-i.right-f.width)/2+i.left-f.x);break;case"right":s=r(i.width-i.right-f.width-f.x-l),i.right=i.right+f.width+e.margin+l,v&&o.adjustTitleLayout()}switch(e.verticalAlignment){case"top":h=r(c+i.top-f.y),e.horizontalAlignment==="center"&&(i.top=i.top+f.height+e.margin+c);break;case"bottom":h=r(i.height-f.height-i.bottom-c-f.y),e.horizontalAlignment==="center"&&(i.bottom=i.bottom+f.height+e.margin+c)}a.shift(s,h),t(o)}else{i=n.extend(!0,{},o.chart.panes[0].canvas),i.bottom=o.chart.panes[o.chart.panes.length-1].canvas.bottom,i.right=o.chart.panes[o.chart.panes.length-1].canvas.right;switch(e.horizontalAlignment){case"left":s=r(i.left-f.x+e.margin);break;case"center":s=r((i.width-i.left-i.right-f.width)/2+i.left-f.x);break;case"right":s=r(i.width-i.right-f.width-f.x-e.margin)}switch(e.verticalAlignment){case"top":h=r(i.top-f.y+e.margin);break;case"bottom":h=r(i.height-f.height-i.bottom-e.margin-f.y)}a.shift(s,h)}},d=function(){var s=this,i=s.canvas,c=s.chart.series,n=c[0]||{},f=i.height-i.top-i.bottom,e=i.width-i.left-i.right,h=e<f?e:f,o,l=n.outerRadius,t=n.type==="pie"?0:n.innerRadius||0;if(n&&n.correctPosition)return(n.type!=="pie"&&(u.isNumber(t)?(t=Number(t),t<.2&&(t=.2),t>.8&&(t=.8)):t=.5),h<n.labelSpace)?!1:(o=l||(h-n.labelSpace-n.hoverSpace)/2,n.correctPosition({centerX:r(e/2+i.left),centerY:r(f/2+i.top),radiusInner:r(o*t),radiusOuter:r(o)}),!0)},e=function(n){return!!(n.x||n.y||n.width||n.height)},o=function(t,r,u){var s,e,h,o,c;return n.each(t,function(t,l){s=i(r,l.name),e=r[s.row][s.col],h=e.canvas,n.each(u,function(n,t){o="delta"+t,e[o]=f.max(e[o]-(h[t.toLowerCase()]-h["original"+t]),0),e[o]>0&&(c=!0)})}),c},g=function(){for(var t=this,u=t.chart.verticalAxes,p,w,f,r,h,c,v,k,d=0,a,b,y=s(t,t.chart.panes),n=0;n<u.length;n++)(v=u[n],f=v.options.position||"left",v.delta={},h=v.getBoundingRect(),e(h))&&(w=i(y,u[n].pane),r=y[w.row][w.col],p=r.canvas,f=="right"?(a="deltaRight",b=1):(a="deltaLeft",b=-1),k=h.width,!v.delta[f]&&r[a]>0&&(r[a]+=u[n].getMultipleAxesSpacing()),u[n].delta[f]=u[n].delta[f]||0,u[n].delta[f]+=r[a]*b,r[a]+=k,c=h.y+h.height-(p.height-p.originalBottom),c>0&&(t.requireAxesRedraw=!0,r.deltaBottom+=c),c=p.originalTop-h.y,c>0&&(t.requireAxesRedraw=!0,r.deltaTop+=c));t.requireAxesRedraw=o(t.chart.panes,y,["Left","Right"])||t.requireAxesRedraw,l(y)},nt=function(){for(var r=this,t=r.chart.horizontalAxes,y,p,u,f,h,w,k,c,b,a,v=s(r,r.chart.panes),n=t.length-1;n>=0;n--)(w=t[n],a=w.options.position||"bottom",t[n].delta={},f=t[n].getBoundingRect(),e(f))&&(p=i(v,t[n].pane),u=v[p.row][p.col],y=u.canvas,a=="top"?(c="deltaTop",b=-1):(c="deltaBottom",b=1),k=f.height,!w.delta[a]&&u[c]>0&&(u[c]+=t[n].getMultipleAxesSpacing()),t[n].delta[a]=t[n].delta[a]||0,t[n].delta[a]+=u[c]*b,u[c]+=k,h=y.originalLeft-f.x,h>0&&(r.requireAxesRedraw=!0,u.deltaLeft+=h),h=f.x+f.width-(y.width-y.originalRight),h>0&&(r.requireAxesRedraw=!0,u.deltaRight=h));r.requireAxesRedraw=o(r.chart.panes,v,["Bottom","Top"])||r.requireAxesRedraw,l(v)},s=function(n,t){for(var e=t.length,o,u=[],r=[],f=n.chart.option("rotated"),i=0;i<e;i++)f||(r=[]),r.push({canvas:t[i].canvas,pane:t[i].name,deltaLeft:0,deltaRight:0,deltaTop:0,deltaBottom:0}),f||u.push(r);return f&&u.push(r),u},i=function(n,t){for(var u,r=0;r<n.length;r++)for(u=0;u<n[r].length;u++)if(n[r][u].pane===t)return{row:r,col:u}},h=function(n,t,i){for(var r=0;r<n[t].length;r++)i(n[t][r].canvas)},c=function h(n,t,i){for(var r=0;r<n.length;r++)i(n[r][t].canvas)},l=function(n){for(var t,i,u=0,f=0,e=0,o=0,s=0,r=0;r<n.length;r++){for(e=0,o=0,i=n[r],i.length>s&&(s=i.length),t=0;t<i.length;t++)i[t]&&i[t].deltaTop>e&&(e=i[t].deltaTop),i[t]&&i[t].deltaBottom>o&&(o=i[t].deltaBottom);e&&h(n,r,function(n){n.top+=e}),o&&h(n,r,function(n){n.bottom+=o})}for(t=0;t<s;t++){for(u=0,f=0,r=0;r<n.length;r++)i=n[r],i[t]&&i[t].deltaLeft>u&&(u=i[t].deltaLeft),i[t]&&i[t].deltaRight>f&&(f=i[t].deltaRight);u&&c(n,t,function(n){n.left+=u}),f&&c(n,t,function(n){n.right+=f})}},a=function(n){if(n.left>n.width-n.right||n.right>n.width-n.left||n.top>n.height-n.bottom||n.bottom>n.height-n.top)return!0},tt=function(t){var i=this,u=i.canvas,f=i.chart&&i.chart.panes,r=!1;return a(u)?!0:(t&&n.each(f||{},function(n,t){if(t.canvas&&a(t.canvas))return r=!0,!1}),r)};return{ctor:v,createPanesCanvases:p,applyLegendLayout:k,applyTitleLayout:w,adjustTitleLayout:b,applyVerticalAxesLayout:g,applyHorizontalAxesLayout:nt,applyPieChartSeriesLayout:d,init:y,isCanvasExceeded:tt}}())}(jQuery,DevExpress),function(n,t){var u=t.viz.charts,r=t.utils;u.MultiAxesSynchronizer=t.Class.inherit(function(){var f=function(t){var i={};return n.each(t,function(){i[this.pane]||(i[this.pane]=[]),i[this.pane].push(this)}),i},e=function(n,t){var i,r="minVisible"+t,f="maxVisible"+t,e,o;n.translator._originalBusinessRange?(e=n.translator.businessRange[r],o=n.translator.businessRange[f],i=new u.Range(n.translator._originalBusinessRange),i[r]=e,i[f]=o,n.translator.updateBusinessRange(i),n.setRange(i)):n.translator._originalBusinessRange=new u.Range(n.translator.getBusinessRange())},o=function(t,i){var u=[];return n.each(t,function(){var n,o,s,h,f,t,c=i&&"stubDataX"||"stubDataY";e(this,i?"Y":"X"),n=this.getTickValues(),n&&n.length>0&&r.isNumber(n[0])&&(t=this.translator.getBusinessRange(),o=i?t.minVisibleX:t.minVisibleY,s=i?t.maxVisibleX:t.maxVisibleY,h=i?t.invertX:t.invertY,f={axis:this,tickValues:n,minValue:o,oldMinValue:o,maxValue:s,oldMaxValue:s,inverted:h,synchronizedValue:this.options.synchronizedValue},t[c]&&(f.stubData=!0,f.tickInterval=f.axis.options.tickInterval),!f.tickInterval&&n.length>1&&(f.tickInterval=n[1]-n[0]),u.push(f))}),u},s=function(t){var i=0,u,f,e=0;n.each(t,function(){i=Math.max(i,this.tickValues.length)}),n.each(t,function(){if(r.isDefined(this.synchronizedValue))this.baseTickValue=this.synchronizedValue,this.invertedBaseTickValue=this.synchronizedValue,this.tickValues=[this.baseTickValue];else{if(this.tickValues.length>1&&this.tickInterval){for(u=Math.floor((i+1)/this.tickValues.length),f=u>1?Math.floor((i+1)/u):i,e=Math.floor((f-this.tickValues.length)/2);e>0&&this.tickValues[0]!==0;)this.tickValues.unshift(r.adjustValue(this.tickValues[0]-this.tickInterval)),e--;while(this.tickValues.length<f)this.tickValues.push(r.adjustValue(this.tickValues[this.tickValues.length-1]+this.tickInterval));this.tickInterval=this.tickInterval/u}this.baseTickValue=this.tickValues[0],this.invertedBaseTickValue=this.tickValues[this.tickValues.length-1]}})},t=function(n){return n.maxValue-n.minValue},i=function(n){for(var t=0;t<n.length;t++)if(!n[t].stubData)return n[t];return null},h=function(u){var f=i(u);n.each(u,function(){var u,n,i;this!==f&&(f.tickInterval&&this.tickInterval&&(this.stubData&&r.isDefined(this.synchronizedValue)&&(this.oldMinValue=this.minValue=this.baseTickValue-(f.baseTickValue-f.minValue)/f.tickInterval*this.tickInterval,this.oldMaxValue=this.maxValue=this.baseTickValue-(f.baseTickValue-f.maxValue)/f.tickInterval*this.tickInterval,this.stubData=!1),u=f.tickInterval/t(f)/this.tickInterval*t(this),this.maxValue=this.minValue+t(this)/u),i=f.inverted&&!this.inverted||!f.inverted&&this.inverted?f.maxValue-f.invertedBaseTickValue:f.baseTickValue-f.minValue,n=(i/t(f)-(this.baseTickValue-this.minValue)/t(this))*t(this),this.minValue-=n,this.maxValue-=n)})},c=function(i){var f,e,r=0,u=0;return n.each(i,function(){f=this.minValue>this.oldMinValue?(this.minValue-this.oldMinValue)/t(this):0,e=this.maxValue<this.oldMaxValue?(this.oldMaxValue-this.maxValue)/t(this):0,this.inverted?(r=Math.max(r,e),u=Math.max(u,f)):(r=Math.max(r,f),u=Math.max(u,e))}),{start:r,end:u}},l=function(i,u){var f;n.each(i,function(){f=t(this),this.inverted?(this.minValue-=u.end*f,this.maxValue+=u.start*f):(this.minValue-=u.start*f,this.maxValue+=u.end*f),this.minValue=Math.min(this.minValue,r.adjustValue(this.minValue)),this.maxValue=Math.max(this.maxValue,r.adjustValue(this.maxValue))})},a=function(t){var i=!1;n.each(t,function(){i=i||r.isDefined(this.synchronizedValue)}),n.each(t,function(){var n;if(i&&this.tickInterval){while(this.tickValues[0]-this.tickInterval>=this.minValue)this.tickValues.unshift(r.adjustValue(this.tickValues[0]-this.tickInterval));for(n=this.tickValues[this.tickValues.length-1];(n=n+this.tickInterval)<=this.maxValue;)this.tickValues.push(r.adjustValue(n))}while(this.tickValues[0]<this.minValue)this.tickValues.shift();while(this.tickValues[this.tickValues.length-1]>this.maxValue)this.tickValues.pop()})},v=function(t,i){var f,u,e=i&&"stubDataX"||"stubDataY";n.each(t,function(){f=this.axis,u=f.translator.getBusinessRange(),i?(u.minX===u.minVisibleX&&(u.minX=this.minValue),u.maxX===u.maxVisibleX&&(u.maxX=this.maxValue),u.minVisibleX=this.minValue,u.maxVisibleX=this.maxValue):(u.minY===u.minVisibleY&&(u.minY=this.minValue),u.maxY===u.maxVisibleY&&(u.maxY=this.maxValue),u.minVisibleY=this.minValue,u.maxVisibleY=this.maxValue),r.isDefined(this.stubData)&&(u[e]=this.stubData),f.translator.updateBusinessRange(u),f.setRange(u),f.setTickValues(this.tickValues)})};return{synchronize:function(t,r){var u;u=f(t),n.each(u,function(n,t){var u,f;if(t.length>1){if(u=o(t,r),u.length===0||!i(u))return;s(u),h(u),f=c(u),l(u,f),a(u),v(u,r)}})}}}())}(jQuery,DevExpress),function(n){n.viz.charts.series.consts={events:{mouseover:"mouseover",mouseout:"mouseout",mousemove:"mousemove",touchstart:"touchstart",touchmove:"touchmove",touchend:"touchend",MSPointerDown:"MSPointerDown",MSPointerMove:"MSPointerMove",MSPointerUp:"MSPointerUp",MSPointerOver:"MSPointerOver",MSPointerOut:"MSPointerOut",click:"click",selectSeries:"selectseries",deselectSeries:"deselectseries",selectPoint:"selectpoint",deselectPoint:"deselectpoint"},states:{hover:"hover",normal:"normal",selected:"selected",normalMark:0,hoverMark:1,selectedMark:2}}}(DevExpress),function(n,t){var u=t.viz.charts.series,h=u.consts.events,i=u.consts.states,r=t.utils,o=t.Class,c=t.viz.core,f=t.formatHelper,e="canvas_position_default",s=o.inherit({ctor:function(n){this.LABEL_BACKGROUND_PADDING_X=8,this.LABEL_BACKGROUND_PADDING_Y=4,this.LABEL_OFFSET=10,this.rotated=!!n.rotated,n.options.label&&n.options.label.position&&n.options.label.position!=="outside"&&n.options.label.position!=="inside"&&(n.options.label.position="outside"),this.options=n.options,this.series=n.series,this.value=this.originalValue=n.value,this.argument=this.originalArgument=n.argument,this.minValue=e,this.labelFormatObject={argument:this.originalArgument,value:this.originalValue,seriesName:this.options.seriesName},this.tag=n.tag,this.pointClassName=n.pointClassName||""},formatLabel:function(n){return this.valueText=f.format(this.value,n.format,n.precision),this.argumentText=f.format(this.argument,n.argumentFormat,n.argumentPrecision),this.percent!==undefined&&(this.percentText=f.format(this.percent,"percent",n.percentPrecision)),n.customizeText?n.customizeText.call(this,this):this.valueText},setOptions:function(n){this.options=n},translate:function(n){(this.translator=n=n||this.translator,this.translator&&this.hasValue())&&(this.rotated?(this.y=n.translateY(this.argument),this.x=n.translateX(this.value),this.minX=n.translateX(this.minValue),this.defaultX=n.translateX(e)):(this.y=n.translateY(this.value),this.minY=n.translateY(this.minValue),this.x=n.translateX(this.argument),this.defaultY=n.translateY(e)),this.prepareStatesOptions())},correctValue:function(n){this.value+=n,r.isNumber(this.minValue)?this.minValue+=n:this.minValue=n,this.translate()},normalizeValue:function(n){this.value=this.value/n||0,r.isNumber(this.minValue)?(this.minValue=this.minValue/n,this.labelFormatObject.percent=this.value-this.minValue):this.labelFormatObject.percent=this.value,this.translate()},getCoords:function(n){return n?this.rotated?{x:this.minX,y:this.y}:{x:this.x,y:this.minY}:{x:this.x,y:this.y}},getDefaultCoords:function(){return this.rotated?{x:this.defaultX,y:this.y}:{x:this.x,y:this.defaultY}},getTooltipCoords:function(){return this.graphic?{x:this.x,y:this.y,offset:this.graphic.getBBox().height/2}:{x:this.x,y:this.y,offset:0}},drawMarker:function(n,t){var h,c,r,u,f,e,o,s;if(this.hasValue()){h=this.options.attributes.r,c=this.options.states.normal,this.options.symbol==="circle"&&(u=n.createCircle(this.x,this.y,h,this.options.attributes),u.append(t),this.graphic=u),this.options.symbol==="square"&&(f=n.createArea(this.points,this.options.attributes),f.append(t),this.graphic=f),this.options.symbol==="polygon"&&(e=n.createArea(this.points,this.options.attributes),e.append(t),this.graphic=e),this.options.symbol==="triangle"&&(o=n.createArea(this.points,this.options.attributes),o.append(t),this.graphic=o),this.options.symbol==="cross"&&(s=n.createArea(this.points,this.options.attributes),s.append(t),this.graphic=s,r=this.graphic.getBBox(),this.graphic.applySettings({x:r.x+r.width/2,y:r.y+r.height/2,rotate:45}));switch(this.state){case i.selected:this.series.setPointSelectedState(this);break;case i.hover:this.series.setPointHoverState(this);break;default:this.state=i.normal,this.fullState=i.normalMark}}},_trackerAttrs:{stroke:"none",fill:"grey",opacity:.0001},storeTrackerR:function(){return this.options.trackerR=this.options.attributes.r<10?10:this.options.attributes.r},drawTrackerMarker:function(n,t){if(this.hasValue()){var i=this,u=i.options,r=n.createCircle(i.x,i.y,u.trackerR||i.storeTrackerR(),i._trackerAttrs);r.append(t),this.initEventTriggering(r)}},initEventTriggering:function(t,i){var r=this,u=[r,i];t.on({mouseover:function(t){n(r).trigger(t,u)},mouseout:function(t){n(r).trigger(t,r)},mousemove:function(t){n(r).trigger(t,r)},touchstart:function(t){n(r).trigger(t,u)},touchmove:function(t){n(r).trigger(t,r)},touchend:function(t){n(r).trigger(t,r)},MSPointerDown:function(t){n(r).trigger(t,u)},MSPointerMove:function(t){n(r).trigger(t,r)},MSPointerUp:function(t){n(r).trigger(t,r)},MSPointerOver:function(t){n(r).trigger(t,u)},MSPointerOut:function(t){n(r).trigger(t,r)},click:function(t){n(r).trigger(t,r)}})},select:function(){this.series.selectPoint(this)},clearSelection:function(){this.series.deselectPoint(this)},_populatePointShape:function(n,t){var i=this,r=Math.round(t/2);i.options.symbol==="square"&&(n.points=[{x:i.x-t,y:i.y-t},{x:i.x+t,y:i.y-t},{x:i.x+t,y:i.y+t},{x:i.x-t,y:i.y+t},{x:i.x-t,y:i.y-t}]),i.options.symbol==="polygon"&&(n.points=[{x:i.x-t,y:i.y},{x:i.x,y:i.y-t},{x:i.x+t,y:i.y},{x:i.x,y:i.y+t},{x:i.x-t,y:i.y}]),i.options.symbol==="triangle"&&(n.points=[{x:i.x-t,y:i.y-t},{x:i.x+t,y:i.y-t},{x:i.x,y:i.y+t},{x:i.x-t,y:i.y-t}]),i.options.symbol==="cross"&&(n.points=[{x:i.x-t,y:i.y-r},{x:i.x-r,y:i.y-r},{x:i.x-r,y:i.y-t},{x:i.x+r,y:i.y-t},{x:i.x+r,y:i.y-r},{x:i.x+t,y:i.y-r},{x:i.x+t,y:i.y+r},{x:i.x+r,y:i.y+r},{x:i.x+r,y:i.y+t},{x:i.x-r,y:i.y+t},{x:i.x-r,y:i.y+r},{x:i.x-t,y:i.y+r},{x:i.x-t,y:i.y-r}])},prepareStatesOptions:function(){var n=this;n.options.states&&n.options.states.normal&&n._populatePointShape(n,n.options.states.normal.r)},applyNormalStyle:function(){return this.graphic&&(this._populatePointShape(this.options.states.normal,this.options.states.normal.r),this.graphic.applySettings(this.options.states.normal)),this},applyHoverStyle:function(){return this.graphic&&(this._populatePointShape(this.options.states.hover,this.options.states.hover.r),this.graphic.applySettings(this.options.states.hover),this.graphic.toForeground(),this.graphic.addClass("dx-chart-hovered-point")),this},applySelectionStyle:function(){return this.graphic&&(this._populatePointShape(this.options.states.selected,this.options.states.selected.r),this.graphic.applySettings(this.options.states.selected)),this},setHoverState:function(){this.series.setPointHoverState(this)},releaseHoverState:function(){this.series.releasePointHoverState(this),this.graphic&&(this.graphic.removeClass("dx-chart-hovered-point"),this.state!=="selected"&&this.graphic.toBackground())},setSelectedState:function(){this.series.setPointSelectedState(this)},releaseSelectedState:function(){this.series.releasePointSelectedState(this)},on:function(t,i,r){n(this).on(t,i,r);return this},off:function(t){return n(this).off(t),this},correctLabel:function(){this.correctBackgroundPosition(),this.rotateLabel(),this.correctLabelPosition()},drawLabel:function(n,t){if(this.hasValue()&&r.isDefined(this.labelFormatObject.value)){var i=this.options.label,u=this.formatLabel.call(this.labelFormatObject,i);r.isDefined(u)&&(this.labelGroup=n.createGroup().append(t),this.options.label.connector&&this.options.label.connector.strokeWidth&&(this.connector=n.createPath([],i.connector).append(this.labelGroup)),this.insideLabelGroup=n.createGroup().append(this.labelGroup),i.background["class"]=this.pointClassName,(i.background.fill&&i.background.fill!=="none"||i.background.strokeWidth&&i.background.stroke&&i.background.stroke!=="none")&&(this.labelBackground=n.createRect(this.x,this.y,0,0,0,i.background).append(this.insideLabelGroup)),this.label=n.createText(u,this.x,this.y,i.attributes).append(this.insideLabelGroup),this.correctLabel(),this.correctConnectorPosition())}},rotateLabel:function(){var n=this.insideLabelGroup.getBBox(),t=this.options.label;this.insideLabelGroup.applySettings({x:n.x+n.width/2,y:n.y+n.height/2,rotate:t.rotationAngle})},_hideLabel:function(n){return},_showLabel:function(n){return},getGraphicSettings:function(){return{x:this.graphic.settings.x||0,y:this.graphic.settings.y||0,height:this.graphic.settings.height||0,width:this.graphic.settings.width||0}},correctLabelPosition:function(){var n=this.insideLabelGroup.getBBox(),t=this.graphic?this.graphic.getBBox():{x:this.x,y:this.y,height:0,width:0},r=0,i=0;t.isEmpty&&(t={x:this.x,y:this.y,height:0,width:0}),this.rotated?(i+=t.y-n.y-n.height/2+t.height/2,r+=this.originalValue>0||this.series.isFullStackedSeries()?t.x+t.width-n.x+this.LABEL_OFFSET:t.x-n.x-n.width-this.LABEL_OFFSET):i+=this.originalValue>0||this.series.isFullStackedSeries()?t.y-n.y-n.height-this.LABEL_OFFSET:t.y+t.height-n.y+this.LABEL_OFFSET,r+=this.options.label.horizontalOffset,i+=this.options.label.verticalOffset,this.checkLabelPosition({x:n.x+r,y:n.y+i,height:n.height,width:n.width},r,i)},checkLabelPosition:function(n,t,i){var u=this.graphic?this.graphic.getBBox():{x:this.x,y:this.y,height:0,width:0},r=this.translator.getCanvasVisibleArea();u.isEmpty&&(u={x:this.x,y:this.y,height:0,width:0}),this.rotated||r.minX<u.x+u.width&&r.maxX>u.x&&(r.minX>n.x&&this.adjustSeriesLabels&&(t+=r.minX-n.x),r.maxX<n.x+n.width&&this.adjustSeriesLabels&&(t-=n.x+n.width-r.maxX),r.minY>n.y&&(i+=u.y+u.height-n.y+this.LABEL_OFFSET),r.maxY<n.y+n.height&&(i-=n.y+n.height-u.y+this.LABEL_OFFSET)),this.rotated&&r.minY<u.y+u.height&&r.maxY>u.y&&(r.minX>n.x&&(t+=u.x+u.width-n.x+this.LABEL_OFFSET),r.maxX<n.x+n.width&&(t-=n.x+n.width-u.x+this.LABEL_OFFSET),r.minY>n.y&&this.adjustSeriesLabels&&(i+=r.minY-n.y),r.maxY<n.y+n.height&&this.adjustSeriesLabels&&(i-=n.y+n.height-r.maxY)),this.insideLabelGroup.move(~~t,~~i)},correctBackgroundPosition:function(){if(this.labelBackground){var n=this.label.getBBox(),t=n.x-this.LABEL_BACKGROUND_PADDING_X,i=n.y-this.LABEL_BACKGROUND_PADDING_Y,r=n.width+2*this.LABEL_BACKGROUND_PADDING_X,u=n.height+2*this.LABEL_BACKGROUND_PADDING_Y;this.labelBackground.applySettings({x:t,y:i,width:r,height:u})}},correctConnectorPosition:function(n){var t=this.insideLabelGroup.getBBox(),n=n||(this.graphic?this.graphic.getBBox():{x:this.x,y:this.y,height:0,width:0}),i,u,r,f,e,o;if(this.connector){if(n.isEmpty&&(n={x:this.x,y:this.y,height:0,width:0}),t.x=t.x+(this.insideLabelGroup.settings.translateX||0),t.y=t.y+(this.insideLabelGroup.settings.translateY||0),e=this.labelBackground?t.y+t.height/2:null,o=this.labelBackground?t.x+t.width/2:null,this.rotated){if((o||t.x)>n.x+n.width)i=o||t.x,u=n.x+n.width;else if((o||t.x+t.width)<n.x)i=o||t.x+t.width,u=n.x;else return;r=Math.round(t.y+t.height/2),f=r>n.y+n.height?n.y+n.height:r<n.y?n.y:r}else{if((e||t.y+t.height)<n.y)r=e||t.y+t.height,f=n.y;else if((e||t.y)>n.y+n.height)r=e||t.y,f=n.y+n.height;else return;i=Math.round(t.x+t.width/2),u=i>n.x+n.width?n.x+n.width:i<n.x?n.x:i}this.connector.applySettings({points:[i,r,u,f]})}},getColor:function(){return this.options.attributes.fill},getTooltipFormatObject:function(t){var i=t.formatValueTooltip.call({value:this.originalValue},t.options);return n.extend({},this.labelFormatObject,{point:this,valueText:i})},animate:function(){var n=this,i=n.translator,t=n.graphic;t&&i&&(n._hideLabel(),n.rotated?t.move(n.defaultX-n.x,0):t.move(0,n.defaultY-n.y),t.move(0,0,!0,{complete:function(){n._showLabel(!0)}}))},hasValue:function(){return this.originalValue!==null},getClassName:function(){return this.pointClassName}});u.BasePoint=s}(jQuery,DevExpress),function(n,t){var r=t.viz.charts.series,i=r.consts.states,f=r.BasePoint,u="canvas_position_default",e=f.inherit({translate:function(n){if(this.translator=n=n||this.translator,this.translator&&this.hasValue())if(this.rotated){var i=n.translateX(this.minValue),r=n.translateY(this.argument),f=n.translateX(this.value);this.width=Math.abs(f-i),this.y=r+(this.yCorrection||0),this.x=Math.min(i,f)+(this.xCorrection||0),this.minX=i+(this.minXCorrection||0),this.defaultX=n.translateX(u)}else{var t=n.translateY(this.minValue),r=n.translateY(this.value),f=n.translateX(this.argument);this.height=Math.abs(t-r),this.x=f+(this.xCorrection||0),this.y=Math.min(r,t)+(this.yCorrection||0),this.minY=t+(this.yCorrection||0),this.defaultY=n.translateY(u)}},getTooltipCoords:function(){var n=this.translator.getCanvasVisibleArea(),r,u,t,i;return this.rotated?(t=n.minX>this.x?n.minX:this.x,i=n.maxX<this.x+this.width?n.maxX:this.x+this.width,u=this.y+this.height/2,r=t+(i-t)/2):(t=n.minY>this.y?n.minY:this.y,i=n.maxY<this.y+this.height?n.maxY:this.y+this.height,r=this.x+this.width/2,u=t+(i-t)/2),{x:r,y:u,offset:0}},correctCoordinates:function(n){var t=n.offset-Math.round(n.width/2);this.rotated?(this.height=n.width,this.yCorrection=t,this.minYCorrection=t):(this.width=n.width,this.xCorrection=t,this.minXCorrection=t)},drawMarker:function(n,t){var r,u;if(this.hasValue()){switch(this.state){case i.hover:r=this.options.states.hover;break;case i.selected:r=this.options.states.selected;break;default:r=this.options.attributes,this.state=i.normal,this.fullState=i.normalMark}u=n.createRect(this.x,this.y,this.width,this.height,r.r,r),u.append(t),this.graphic=u}},drawTrackerMarker:function(n,t){var s,f;if(this.hasValue()){var i=this,e=i.y,r=i.height,o=i.x,u=i.width;i.rotated?u===1&&(u=9,o-=4):r===1&&(r=9,e-=4),s=i.options,f=n.createRect(o,e,u,r,s.attributes.r,{stroke:"none",fill:"grey",opacity:.0001}),f.append(t),this.initEventTriggering(f)}},correctConnectorPosition:function(){this.callBase(this.getBboxGraphic())},drawLabel:function(n,t){if(this.hasValue()&&(this.options.label.showForZeroValues||this.labelFormatObject.value))this.callBase(n,t);else return},getBboxGraphic:function(){var n=this.graphic&&this.graphic.getBBox(),t,i;return n.isEmpty&&(n=this.getGraphicSettings()),t=n.x-this.x,i=n.y-this.y,n.x-=t,n.y-=i,n.width+=2*t,n.height+=2*i,n},correctLabelPosition:function(){var n=this.insideLabelGroup.getBBox(),t=this.getBboxGraphic(),u=this.translator.getBusinessRange(),f=this.series.options.valueAxisType==="discrete",e=!f&&(this.originalValue>0&&!u.invertY||this.originalValue<0&&u.invertY)||f&&!u.invertY||this.series.isFullStackedSeries(),o=!f&&(this.originalValue>0&&!u.invertX||this.originalValue<0&&u.invertX)||f&&!u.invertX||this.series.isFullStackedSeries(),i=0,r=0;this.options.label.position==="outside"?this.rotated?(r+=t.y-n.y-n.height/2+t.height/2,i+=o?t.x+t.width-n.x+this.LABEL_OFFSET:t.x-n.x-n.width-this.LABEL_OFFSET):(i+=t.width/2,r+=e?t.y-n.y-n.height-this.LABEL_OFFSET:t.y+t.height-n.y+this.LABEL_OFFSET):this.options.label.position==="inside"&&(this.rotated?(r+=t.y-n.y-n.height/2+t.height/2,i+=o?t.x+t.width-n.x-n.width-this.LABEL_OFFSET:t.x-n.x+this.LABEL_OFFSET):(i+=t.width/2,r+=e?t.y-n.y-n.height+this.LABEL_OFFSET+n.height:t.y+t.height-n.y-this.LABEL_OFFSET-n.height)),i+=this.options.label.horizontalOffset,r+=this.options.label.verticalOffset,this.checkLabelPosition({x:n.x+i,y:n.y+r,height:n.height,width:n.width},i,r,t)},checkLabelPosition:function(n,t,i,r){var r=r||this.graphic.getBBox(),u=this.translator.getCanvasVisibleArea();r.isEmpty&&(r=this.getGraphicSettings()),this.rotated||u.minX<r.x+r.width&&u.maxX>r.x&&u.minY<r.y+r.height&&u.maxY>r.y&&(u.minX>n.x&&this.adjustSeriesLabels&&(t+=u.minX-n.x),u.maxX<n.x+n.width&&this.adjustSeriesLabels&&(t-=n.x+n.width-u.maxX),u.minY>n.y&&(i+=u.minY-n.y),u.maxY<n.y+n.height&&(i-=n.y+n.height-u.maxY)),this.rotated&&u.minY<r.y+r.height&&u.maxY>r.y&&u.minX<r.x+r.width&&u.maxX>r.x&&(u.minX>n.x&&(t+=u.minX-n.x),u.maxX<n.x+n.width&&(t-=n.x+n.width-u.maxX),u.minY>n.y&&this.adjustSeriesLabels&&(i+=u.minY-n.y),u.maxY<n.y+n.height&&this.adjustSeriesLabels&&(i-=n.y+n.height-u.maxY)),this.insideLabelGroup.move(~~t,~~i)},animate:function(){var n=this,i=n.translator,t=n.graphic;if(t&&i)if(n._hideLabel(),n.rotated){var o=n.defaultX,s=0,h=n.width,c=n.x;t.applySettings({width:s,x:o,sharpEdges:!1}),t.animate({width:h,x:c},{complete:function(){n._showLabel(!0)}})}else{var r=n.defaultY,u=0,f=n.height,e=n.y;t.applySettings({height:u,y:r,sharpEdges:!1}),t.animate({height:f,y:e},{complete:function(){n._showLabel(!0)}})}}});r.BarPoint=e}(jQuery,DevExpress),function(n,t){var u=t.viz.charts.series,f=t.utils,s=t.viz.core,e=u.BasePoint,r=u.consts.states,i=t.formatHelper,o=e.inherit({ctor:function(n){this.LABEL_BACKGROUND_PADDING_X=8,this.LABEL_BACKGROUND_PADDING_Y=4,this.LABEL_OFFSET=10,this.argument=this.originalArgument=n.argument,this.openValue=n.openValue,this.highValue=n.highValue,this.lowValue=n.lowValue,this.closeValue=n.closeValue,this.originalValue=n.reductionValue,this.tag=n.tag,this.options=n.options,this.series=n.series,this.rotated=!!(this.series&&this.series.options&&this.series.options.rotated||!1),this.labelFormatObject={openValue:this.openValue,highValue:this.highValue,lowValue:this.lowValue,closeValue:this.closeValue,reductionValue:this.originalValue,argument:this.originalArgument,value:this.originalValue,seriesName:this.options.seriesName},this.pointClassName=n.pointClassName||""},formatLabel:function(n){return this.openValueText=i.format(this.openValue,n.format,n.precision),this.highValueText=i.format(this.highValue,n.format,n.precision),this.lowValueText=i.format(this.lowValue,n.format,n.precision),this.closeValueText=i.format(this.closeValue,n.format,n.precision),this.reductionValueText=i.format(this.reductionValue,n.format,n.precision),this.valueText=i.format(this.value,n.format,n.precision),this.argumentText=i.format(this.argument,n.argumentFormat,n.argumentPrecision),n.customizeText?n.customizeText.call(this,this):this.valueText},translate:function(n){var i=this.rotated,r=i?"translateY":"translateX",t=i?"translateX":"translateY";if(this.translator=n=n||this.translator,this.translator&&this.hasValue()){var u=n[t](this.openValue),f=n[t](this.highValue),e=n[t](this.lowValue),o=n[t](this.closeValue),s=n[r](this.argument);this.width=10,this.x=s,this.openY=u,this.highY=f,this.lowY=e,this.closeY=o}},drawMarker:function(n,t){if(this.hasValue()){var i=this,e,f,o=this.rotated,u=o?function(n,t){return{x:t,y:n}}:function(n,t){return{x:n,y:t}};switch(this.state){case r.selected:f=this.options.states.selected;break;case r.hover:f=this.options.states.hover;break;default:f=this.options.attributes,this.state=r.normal,this.fullState=r.normalMark}i.openValue>i.closeValue?e=n.createPath([u(i.x,i.highY),u(i.x,i.openY),u(i.x+i.width/2,i.openY),u(i.x+i.width/2,i.closeY),u(i.x,i.closeY),u(i.x,i.lowY),u(i.x,i.closeY),u(i.x-i.width/2,i.closeY),u(i.x-i.width/2,i.openY),u(i.x,i.openY)],f).append(t):i.openValue<i.closeValue?e=n.createPath([u(i.x,i.highY),u(i.x,i.closeY),u(i.x+i.width/2,i.closeY),u(i.x+i.width/2,i.openY),u(i.x,i.openY),u(i.x,i.lowY),u(i.x,i.openY),u(i.x-i.width/2,i.openY),u(i.x-i.width/2,i.closeY),u(i.x,i.closeY)],f).append(t):i.openValue===i.closeValue&&(e=n.createPath([u(i.x,i.highY),u(i.x,i.lowY),u(i.x,i.closeY),u(i.x-i.width/2,i.closeY),u(i.x+i.width/2,i.closeY),u(i.x,i.closeY)],f).append(t)),this.graphic=e}},drawTrackerMarker:function(n,t){var f;if(this.hasValue()){var i=this,r=i.highY,u=i.lowY;r===u&&(r=this.rotated?r+2:r-2,u=this.rotated?u-2:u+2),f=this.rotated?n.createRect(u,i.x-i.width/2,r-u,i.width,0,{stroke:"none",fill:"grey",opacity:.0001}):n.createRect(i.x-i.width/2,r,i.width,u-r,0,{stroke:"none",fill:"grey",opacity:.0001}),f.append(t),this.initEventTriggering(f)}},animate:function(){},drawLabel:function(n,t){if(this.hasValue()&&f.isDefined(this.labelFormatObject.value)){var i=this.options.label,r=this.formatLabel.call(this.labelFormatObject,i),u=this.rotated;f.isDefined(r)&&(this.labelGroup=n.createGroup().append(t),this.insideLabelGroup=n.createGroup().append(this.labelGroup),i.background["class"]=this.pointClassName,(i.background.fill&&i.background.fill!=="none"||i.background.strokeWidth&&i.background.stroke&&i.background.stroke!=="none")&&(i.background.fill=this.options.attributes.stroke,this.labelBackground=u?n.createRect(this.highY,this.x,0,0,0,i.background).append(this.insideLabelGroup):n.createRect(this.x,this.highY,0,0,0,i.background).append(this.insideLabelGroup)),this.label=u?n.createText(r,this.highY,this.x,i.attributes).append(this.insideLabelGroup):n.createText(r,this.x,this.highY,i.attributes).append(this.insideLabelGroup),this.correctBackgroundPosition(),this.rotateLabel(),this.correctLabelPosition())}},correctLabelPosition:function(){var n=this.insideLabelGroup.getBBox(),r=this.graphic.getBBox(),u=this.rotated,t=0,i=0;u?t+=r.x-n.x+r.width+this.LABEL_OFFSET:i+=r.y-n.y-n.height-this.LABEL_OFFSET,t+=this.options.label.horizontalOffset,i+=this.options.label.verticalOffset,this.checkLabelPosition({x:n.x+t,y:n.y+i,height:n.height,width:n.width},t,i)},checkLabelPosition:function(n,t,i){var r=this.translator.getCanvasVisibleArea(),u=this.graphic.getBBox();r.minX<u.x+u.width&&r.maxX>u.x&&(r.minX>n.x&&this.adjustSeriesLabels&&(t+=r.minX-n.x),r.maxX<n.x+n.width&&this.adjustSeriesLabels&&(t-=n.x+n.width-r.maxX),r.minY>n.y&&(i+=r.minY-n.y),r.maxY<n.y+n.height&&(i-=n.y+n.height-r.maxY)),this.insideLabelGroup.move(~~t,~~i)},getTooltipCoords:function(){var r,u,t,i,f,n=this.translator.getCanvasVisibleArea();if(this.graphic)return this.rotated?(t=n.minX>this.lowY?n.minX:this.lowY,i=n.maxX<this.highY?n.maxX:this.highY,u=this.x,r=t+(i-t)/2):(t=n.minY>this.highY?n.minY:this.highY,i=n.maxY<this.lowY?n.maxY:this.lowY,r=this.x,u=t+(i-t)/2),{x:r,y:u,offset:0}},getTooltipFormatObject:function(n){var t=n.formatValueTooltip.call({value:this.highValue},n.options),i=n.formatValueTooltip.call({value:this.openValue},n.options),r=n.formatValueTooltip.call({value:this.closeValue},n.options),u=n.formatValueTooltip.call({value:this.lowValue},n.options);return{argument:this.originalArgument,valueText:"h: "+t+" o: "+i+" c: "+r+" l: "+u,highValueText:t,openValueText:i,closeValueText:r,lowValueText:u,highValue:this.highValue,openValue:this.openValue,closeValue:this.closeValue,lowValue:this.lowValue,seriesName:this.options.seriesName,point:this}},getColor:function(){return this.options.attributes.stroke},hasValue:function(){return this.openValue!==null&&this.closeValue!==null&&this.highValue!==null&&this.lowValue!==null}});u.OhlcPoint=o}(jQuery,DevExpress),function(n,t){var r=t.viz.charts.series,i=r.consts.states,u=r.OhlcPoint,f=u.inherit({ctor:function(n){this.callBase(n)},drawMarker:function(n,t){var r=this,e,f,o=this.rotated,u=o?function(n,t){return{x:t,y:n}}:function(n,t){return{x:n,y:t}};if(r.hasValue()){switch(this.state){case i.selected:f=this.options.states.selected;break;case i.hover:f=this.options.states.hover;break;default:f=this.options.attributes,this.state=i.normal,this.fullState=i.normalMark}e=n.createPath([u(r.x,r.highY),u(r.x,r.openY),u(r.x-r.width/2,r.openY),u(r.x,r.openY),u(r.x,r.closeY),u(r.x+r.width/2,r.closeY),u(r.x,r.closeY),u(r.x,r.lowY)],f).append(t),this.graphic=e}}});r.StockPoint=f}(jQuery,DevExpress),function(n,t){var i=t.viz.charts.series,r=t.utils,o=i.consts.events,u=i.consts.states,f=i.BasePoint,e=f.inherit({ctor:function(n){this.callBase(n),this.minValue=this.originalMinValue=n.minValue!==undefined?n.minValue:"default",this.minLabelFormatObject={argument:this.originalArgument,value:this.originalMinValue,seriesName:this.options.seriesName}},getTooltipCoords:function(){var u,f,i,r,n,t=this.translator.getCanvasVisibleArea();return this.rotated?(n=Math.min(this.x,this.minX),f=this.y,i=t.minX>n?t.minX:n,r=t.maxX<n+this.width?t.maxX:n+this.width,u=i+(r-i)/2):(n=Math.min(this.y,this.minY),u=this.x,i=t.minY>n?t.minY:n,r=t.maxY<n+this.height?t.maxY:n+this.height,f=i+(r-i)/2),{x:u,y:f,offset:0}},translate:function(n){this.hasValue()&&(this.callBase(n),this.rotated?(this.width=Math.abs(this.x-this.minX),this.height=0):(this.height=Math.abs(this.minY-this.y),this.width=0))},drawMarker:function(n,t){if(this.hasValue()){var o=this.options.attributes.r,i,f,e,r;this.markerGroup=n.createGroup().append(t),this.options.symbol==="circle"&&(this.rotated?(f=Math.min(this.x,this.minX),e=this.y):(f=this.x,e=Math.min(this.y,this.minY)),i=n.createCircle(f+this.width,e,o,this.options.attributes).append(this.markerGroup),r=n.createCircle(f,e+this.height,o,this.options.attributes).append(this.markerGroup)),this.options.symbol==="square"&&(i=n.createArea(this.topPoints,this.options.attributes).append(this.markerGroup),r=n.createArea(this.bottomPoints,this.options.attributes).append(this.markerGroup)),this.options.symbol==="polygon"&&(i=n.createArea(this.topPoints,this.options.attributes).append(this.markerGroup),r=n.createArea(this.bottomPoints,this.options.attributes).append(this.markerGroup)),this.options.symbol==="triangle"&&(i=n.createArea(this.topPoints,this.options.attributes).append(this.markerGroup),r=n.createArea(this.bottomPoints,this.options.attributes).append(this.markerGroup)),this.options.symbol==="cross"&&(i=n.createArea(this.topPoints,this.options.attributes).append(this.markerGroup),r=n.createArea(this.bottomPoints,this.options.attributes).append(this.markerGroup)),this.graphic=this.markerGroup,this.graphic.topMarker=i,this.graphic.bottomMarker=r;switch(this.state){case u.selected:this.series.setPointSelectedState(this);break;case u.hover:this.series.setPointHoverState(this);break;default:this.state=u.normal,this.fullState=u.normalMark}}},_populatePointShape:function(n,t){var e=this,i,r,u,f;this.rotated?(i=Math.max(e.x,e.minX),u=Math.min(e.x,e.minX),r=f=e.y):(i=u=e.x,r=Math.min(e.y,e.minY),f=Math.max(e.y,e.minY)),e.options.symbol==="square"&&(n.topPoints=[{x:i-t,y:r-t},{x:i+t,y:r-t},{x:i+t,y:r+t},{x:i-t,y:r+t},{x:i-t,y:r-t}],n.bottomPoints=[{x:u-t,y:f-t},{x:u+t,y:f-t},{x:u+t,y:f+t},{x:u-t,y:f+t},{x:u-t,y:f-t}]),e.options.symbol==="polygon"&&(n.topPoints=[{x:i-t,y:r},{x:i,y:r-t},{x:i+t,y:r},{x:i,y:r+t},{x:i-t,y:r}],n.bottomPoints=[{x:u-t,y:f},{x:u,y:f-t},{x:u+t,y:f},{x:u,y:f+t},{x:u-t,y:f}]),e.options.symbol==="triangle"&&(n.topPoints=[{x:i-t,y:r-t},{x:i+t,y:r-t},{x:i,y:r+t},{x:i-t,y:r-t}],n.bottomPoints=[{x:u-t,y:f-t},{x:u+t,y:f-t},{x:u,y:f+t},{x:u-t,y:f-t}]),e.options.symbol==="cross"&&(n.topPoints=[{x:i-t,y:r-t/2},{x:i-t/2,y:r-t},{x:i,y:r-t/2},{x:i+t/2,y:r-t},{x:i+t,y:r-t/2},{x:i+t/2,y:r},{x:i+t,y:r+t/2},{x:i+t/2,y:r+t},{x:i,y:r+t/2},{x:i-t/2,y:r+t},{x:i-t,y:r+t/2},{x:i-t/2,y:r},{x:i-t,y:r-t/2}],n.bottomPoints=[{x:u-t,y:f-t/2},{x:u-t/2,y:f-t},{x:u,y:f-t/2},{x:u+t/2,y:f-t},{x:u+t,y:f-t/2},{x:u+t/2,y:f},{x:u+t,y:f+t/2},{x:u+t/2,y:f+t},{x:u,y:f+t/2},{x:u-t/2,y:f+t},{x:u-t,y:f+t/2},{x:u-t/2,y:f},{x:u-t,y:f-t/2}])},drawTrackerMarker:function(n,t){var e;if(this.hasValue()){var r=this,o=r.options,i=o.trackerR||r.storeTrackerR(),u,f;this.rotated?(u=Math.min(this.x,this.minX)-i,f=this.y-i):(u=this.x-i,f=Math.min(this.y,this.minY)-i),e=n.createRect(u,f,r.width+2*i,r.height+2*i,0,r._trackerAttrs),e.append(t),this.initEventTriggering(e)}},applyNormalStyle:function(){var n=this.options.states.normal;return this.graphic&&(this._populatePointShape(n,n.r),this.graphic.topMarker.applySettings(n.topPoints?{points:n.topPoints,style:n}:n),this.graphic.bottomMarker.applySettings(n.bottomPoints?{points:n.bottomPoints,style:n}:n)),this.callBase()},applyHoverStyle:function(){var n=this.options.states.hover;return this.graphic&&(this._populatePointShape(n,n.r),this.graphic.topMarker.applySettings(n.topPoints?{points:n.topPoints,style:n}:n),this.graphic.bottomMarker.applySettings(n.bottomPoints?{points:n.bottomPoints,style:n}:n)),this.callBase()},applySelectionStyle:function(){var n=this.options.states.selected;return this.graphic&&(this._populatePointShape(n,n.r),this.graphic.topMarker.applySettings(n.topPoints?{points:n.topPoints,style:n}:n),this.graphic.bottomMarker.applySettings(n.bottomPoints?{points:n.bottomPoints,style:n}:n)),this.callBase()},drawLabel:function(n,t){if(this.hasValue()&&r.isDefined(this.labelFormatObject.value)&&r.isDefined(this.minLabelFormatObject.value)){var i=this.options.label,f=this.formatLabel.call(this.labelFormatObject,i),e=this.formatLabel.call(this.minLabelFormatObject,i),u=this.translator.getBusinessRange(),o=this.series.options.valueAxisType==="discrete",s=o&&(!u.invertY&&!this.rotated||u.invertX&&this.rotated)||!o&&this.value>this.minValue&&(!u.invertY&&!this.rotated||!u.invertX&&this.rotated);r.isDefined(f)&&r.isDefined(e)&&(this.labelGroup=n.createGroup().append(t),this.options.label.connector&&this.options.label.connector.strokeWidth&&(this.maxConnector=n.createLine(0,0,0,0,this.options.label.connector).append(this.labelGroup),this.minConnector=n.createLine(0,0,0,0,this.options.label.connector).append(this.labelGroup)),this.maxLabelGroup=n.createGroup().append(this.labelGroup),this.insideMaxLabelGroup=n.createGroup().append(this.maxLabelGroup),this.minLabelGroup=n.createGroup().append(this.labelGroup),this.insideMinLabelGroup=n.createGroup().append(this.minLabelGroup),(i.background.fill&&i.background.fill!=="none"||i.background.strokeWidth&&i.background.stroke&&i.background.stroke!=="none")&&(this.maxLabelBackground=n.createRect(this.x,this.y,0,0,0,i.background).append(this.insideMaxLabelGroup),this.minLabelBackground=n.createRect(this.x,this.y,0,0,0,i.background).append(this.insideMinLabelGroup)),this.maxLabel=n.createText(s?f:e,this.x,this.y,i.attributes).append(this.insideMaxLabelGroup),this.minLabel=n.createText(s?e:f,this.x,this.y,i.attributes).append(this.insideMinLabelGroup),this.correctLabel(),this.correctConnectorPosition(this.maxLabelGroup.getBBox(),this.maxConnector),this.correctConnectorPosition(this.minLabelGroup.getBBox(),this.minConnector))}},rotateLabel:function(){var n=this.insideMaxLabelGroup.getBBox(),t=this.insideMinLabelGroup.getBBox(),i=this.options.label;this.insideMaxLabelGroup.applySettings({x:n.x+n.width/2,y:n.y+n.height/2,rotate:i.rotationAngle}),this.insideMinLabelGroup.applySettings({x:t.x+t.width/2,y:t.y+t.height/2,rotate:i.rotationAngle})},correctLabelPosition:function(){var n=this.insideMaxLabelGroup.getBBox(),i=this.insideMinLabelGroup.getBBox(),t=this.graphic&&this.graphic.topMarker?this.graphic.topMarker.getBBox():{x:this.rotated?Math.max(this.x,this.minX):this.x,y:this.rotated?this.y:Math.min(this.y,this.minY),height:0,width:0},r=this.graphic&&this.graphic.bottomMarker?this.graphic.bottomMarker.getBBox():{x:this.rotated?Math.min(this.x,this.minX):this.x,y:this.rotated?this.y:Math.max(this.y,this.minY),height:0,width:0},e=0,u=0,o=0,f=0;this.options.label.position==="outside"?this.rotated?(u=f+=t.y-n.y-n.height/2+t.height/2,e+=t.x+t.width-n.x+this.LABEL_OFFSET,o+=r.x-i.x-i.width-this.LABEL_OFFSET):(u+=t.y-n.y-n.height-this.LABEL_OFFSET,f+=r.y+r.height-i.y+this.LABEL_OFFSET):this.options.label.position==="inside"&&(this.rotated?(u=f+=t.y-n.y-n.height/2+t.height/2,e+=t.x-n.x-n.width-this.LABEL_OFFSET,o+=r.x+r.width-i.x+this.LABEL_OFFSET):(u+=t.y+t.height-n.y+this.LABEL_OFFSET,f+=r.y-i.y-i.height-this.LABEL_OFFSET)),e+=this.options.label.horizontalOffset,u+=this.options.label.verticalOffset,o+=this.options.label.horizontalOffset,f+=this.options.label.verticalOffset,this.checkLabelPosition(e,u,o,f)},checkLabelPosition:function(n,t,i,r){var f=this.insideMaxLabelGroup.getBBox(),e=this.insideMinLabelGroup.getBBox(),o={},s={},h=this.graphic&&this.graphic.topMarker?this.graphic.topMarker.getBBox():{x:this.rotated?Math.max(this.x,this.minX):this.x,y:this.rotated?this.y:Math.min(this.y,this.minY),height:0,width:0},y=this.graphic&&this.graphic.bottomMarker?this.graphic.bottomMarker.getBBox():{x:this.rotated?Math.min(this.x,this.minX):this.x,y:this.rotated?this.y:Math.max(this.y,this.minY),height:0,width:0},c=f.x+n,l=f.y+t,a=e.x+i,v=e.y+r,u=this.translator.getCanvasVisibleArea();this.rotated||u.minX<h.x+h.width&&u.maxX>h.x&&u.minY<y.y+y.height&&u.maxY>h.y&&(u.minX>c&&this.adjustSeriesLabels&&(n+=u.minX-c),u.minX>a&&this.adjustSeriesLabels&&(i+=u.minX-a),u.maxX<c+f.width&&this.adjustSeriesLabels&&(n-=c+f.width-u.maxX),u.maxX<a+e.width&&this.adjustSeriesLabels&&(i-=a+e.width-u.maxX),u.minY>l&&(t+=u.minY-l),u.maxY<v+e.height&&(r-=v+e.height-u.maxY),o.y=f.y+t,s.y=e.y+r,o.y+f.height>s.y&&(t-=(o.y+f.height-s.y)/2,r+=(o.y+f.height-s.y)/2,o.y=f.y+t,s.y=e.y+r,u.minY>o.y?(r+=u.minY-o.y,t+=u.minY-o.y):u.maxY<s.y+e.height&&(t-=s.y+e.height-u.maxY,r-=s.y+e.height-u.maxY))),this.rotated&&u.minY<h.y+h.height&&u.maxY>h.y&&u.minX<h.x+h.width&&u.maxX>y.x&&(u.minX>a&&(i+=u.minX-a),u.maxX<c+f.width&&(n-=c+f.width-u.maxX),u.minY>v&&this.adjustSeriesLabels&&(r+=u.minY-v),u.minY>l&&this.adjustSeriesLabels&&(t+=u.minY-l),u.maxY<v+e.height&&this.adjustSeriesLabels&&(r-=v+e.height-u.maxY),u.maxY<l+f.height&&this.adjustSeriesLabels&&(t-=l+f.height-u.maxY),o.x=f.x+n,s.x=e.x+i,o.x<s.x+e.width&&(n+=(s.x+e.width-o.x)/2,i-=(s.x+e.width-o.x)/2,o.x=f.x+n,s.x=e.x+i,u.minX>s.x?(i+=u.minX-s.x,n+=u.minX-s.x):u.maxX<o.x+f.width&&(n-=o.x+f.width-u.maxX,i-=o.x+f.width-u.maxX))),this.insideMaxLabelGroup.move(~~n,~~t),this.insideMinLabelGroup.move(~~i,~~r)},correctBackgroundPosition:function(){if(this.maxLabelBackground&&this.minLabelBackground){var n=this.maxLabel.getBBox(),t=this.minLabel.getBBox(),i=n.x-this.LABEL_BACKGROUND_PADDING_X,r=t.x-this.LABEL_BACKGROUND_PADDING_X,u=n.y-this.LABEL_BACKGROUND_PADDING_Y,f=t.y-this.LABEL_BACKGROUND_PADDING_Y,e=n.width+2*this.LABEL_BACKGROUND_PADDING_X,o=t.width+2*this.LABEL_BACKGROUND_PADDING_X,s=n.height+2*this.LABEL_BACKGROUND_PADDING_Y,h=t.height+2*this.LABEL_BACKGROUND_PADDING_Y;this.maxLabelBackground.applySettings({x:i,y:u,width:e,height:s}),this.minLabelBackground.applySettings({x:r,y:f,width:o,height:h})}},correctConnectorPosition:function(n,t){if(t){var i=this.graphic?this.graphic.getBBox():{x:this.rotated?Math.min(this.x,this.minX):this.x,y:this.rotated?this.y:Math.min(this.y,this.minY),height:this.height,width:this.width},o=this.maxLabelBackground||this.minLabelBackground?n.y+n.height/2:null,s=this.maxLabelBackground||this.minLabelBackground?n.x+n.width/2:null,r,f,u,e;if(this.rotated){if((s||n.x)>i.x+i.width)r=s||n.x,f=i.x+i.width;else if((s||n.x+n.width)<i.x)r=s||n.x+n.width,f=i.x;else return!1;u=Math.round(n.y+n.height/2),e=u>i.y+i.height?i.y+i.height:u<i.y?i.y:u}else{if((o||n.y+n.height)<i.y)u=o||n.y+n.height,e=i.y;else if((o||n.y)>i.y+i.height)u=o||n.y,e=i.y+i.height;else return!1;r=Math.round(n.x+n.width/2),f=r>i.x+i.width?i.x+i.width:r<i.x?i.x:r}t.applySettings({points:[r,u,f,e]})}},getTooltipFormatObject:function(n){var t=n.formatValueTooltip.call({value:this.originalMinValue},n.options),i=n.formatValueTooltip.call({value:this.originalValue},n.options);return{argument:this.originalArgument,valueText:t+" - "+i,rangeValue1Text:t,rangeValue2Text:i,rangeValue1:this.originalMinValue,rangeValue2:this.originalValue,seriesName:this.options.seriesName,point:this}},animate:function(){var n=this,i=n.translator,t=n.graphic;t&&i&&(n._hideLabel(),n.rotated?(t.topMarker.move(n.defaultX-Math.max(n.minX,n.x),0),t.bottomMarker.move(n.defaultX-Math.min(n.minX,n.x),0)):(t.topMarker.move(0,n.defaultY-Math.min(n.minY,n.y)),t.bottomMarker.move(0,n.defaultY-Math.max(n.minY,n.y))),t.topMarker.move(0,0,!0,{complete:function(){n._showLabel(!0)}}),t.bottomMarker.move(0,0,!0,{complete:function(){n._showLabel(!0)}}))},hasValue:function(){return this.originalValue!==null&&this.originalMinValue!==null}});i.RangePoint=e}(jQuery,DevExpress),function(n,t){var r=t.viz.charts.series,u=r.BarPoint,i=t.utils,e=r.BasePoint,f=u.inherit({ctor:function(n){this.callBase(n),this.minValue=this.originalMinValue=n.minValue!==undefined?n.minValue:"default",this.minLabelFormatObject={argument:this.originalArgument,value:this.originalMinValue,seriesName:this.options.seriesName}},translate:function(n){this.hasValue()&&(this.callBase(n),this.rotated?this.width=this.width||1:this.height=this.height||1)},drawLabel:function(n,t){if(this.hasValue()||i.isDefined(this.labelFormatObject.value)&&i.isDefined(this.minLabelFormatObject.value)){var r=this.options.label,f=this.formatLabel.call(this.labelFormatObject,r),e=this.formatLabel.call(this.minLabelFormatObject,r),u=this.translator.getBusinessRange(),o=this.series.options.valueAxisType==="discrete",s=o&&(!u.invertY&&!this.rotated||u.invertX&&this.rotated)||!o&&this.value>this.minValue&&(!u.invertY&&!this.rotated||!u.invertX&&this.rotated);i.isDefined(f)&&i.isDefined(e)&&(this.labelGroup=n.createGroup().append(t),this.options.label.connector&&this.options.label.connector.strokeWidth&&(this.maxConnector=n.createLine(0,0,0,0,this.options.label.connector).append(this.labelGroup),this.minConnector=n.createLine(0,0,0,0,this.options.label.connector).append(this.labelGroup)),this.maxLabelGroup=n.createGroup().append(this.labelGroup),this.insideMaxLabelGroup=n.createGroup().append(this.maxLabelGroup),this.minLabelGroup=n.createGroup().append(this.labelGroup),this.insideMinLabelGroup=n.createGroup().append(this.minLabelGroup),(r.background.fill&&r.background.fill!=="none"||r.background.strokeWidth&&r.background.stroke&&r.background.stroke!=="none")&&(this.maxLabelBackground=n.createRect(this.x,this.y,0,0,0,r.background).append(this.insideMaxLabelGroup),this.minLabelBackground=n.createRect(this.x,this.y,0,0,0,r.background).append(this.insideMinLabelGroup)),this.maxLabel=n.createText(s?f:e,this.x,this.y,r.attributes).append(this.insideMaxLabelGroup),this.minLabel=n.createText(s?e:f,this.x,this.y,r.attributes).append(this.insideMinLabelGroup),this.correctLabel(),this.correctConnectorPosition(this.maxLabelGroup.getBBox(),this.maxConnector),this.correctConnectorPosition(this.minLabelGroup.getBBox(),this.minConnector))}},rotateLabel:function(){var n=this.insideMaxLabelGroup.getBBox(),t=this.insideMinLabelGroup.getBBox(),i=this.options.label;this.insideMaxLabelGroup.applySettings({x:n.x+n.width/2,y:n.y+n.height/2,rotate:i.rotationAngle}),this.insideMinLabelGroup.applySettings({x:t.x+t.width/2,y:t.y+t.height/2,rotate:i.rotationAngle})},_hideLabel:function(n){return},_showLabel:function(n){return},correctLabelPosition:function(){var t=this.insideMaxLabelGroup.getBBox(),i=this.insideMinLabelGroup.getBBox(),n=this.graphic.getBBox(),r=0,u=0,f=0,e=0;n.isEmpty&&(n=this.getGraphicSettings()),this.options.label.position==="outside"?this.rotated?(u=e+=n.y-t.y-t.height/2+n.height/2,r+=n.x+n.width-t.x+this.LABEL_OFFSET,f+=n.x-i.x-i.width-this.LABEL_OFFSET):(r=f+=n.width/2,u+=n.y-t.y-t.height-this.LABEL_OFFSET,e+=n.y+n.height-i.y+this.LABEL_OFFSET):this.options.label.position==="inside"&&(this.rotated?(u=e+=n.y-t.y-t.height/2+n.height/2,r+=n.x+n.width-t.x-t.width-this.LABEL_OFFSET,f+=n.x-i.x+this.LABEL_OFFSET):(r=f+=n.width/2,u+=n.y-t.y+this.LABEL_OFFSET,e+=n.y+n.height-i.y-i.height-this.LABEL_OFFSET)),r+=this.options.label.horizontalOffset,u+=this.options.label.verticalOffset,f+=this.options.label.horizontalOffset,e+=this.options.label.verticalOffset,this.checkLabelPosition(r,u,f,e)},checkLabelPosition:function(n,t,i,r){var f=this.insideMaxLabelGroup.getBBox(),e=this.insideMinLabelGroup.getBBox(),o={},s={},h=this.graphic.getBBox(),c=f.x+n,l=f.y+t,a=e.x+i,v=e.y+r,u=this.translator.getCanvasVisibleArea();this.rotated||u.minX<h.x+h.width&&u.maxX>h.x&&u.minY<h.y+h.height&&u.maxY>h.y&&(u.minX>c&&this.adjustSeriesLabels&&(n+=u.minX-c),u.minX>a&&this.adjustSeriesLabels&&(i+=u.minX-a),u.maxX<c+f.width&&this.adjustSeriesLabels&&(n-=c+f.width-u.maxX),u.maxX<a+e.width&&this.adjustSeriesLabels&&(i-=a+e.width-u.maxX),u.minY>l&&(t+=u.minY-l),u.maxY<v+e.height&&(r-=v+e.height-u.maxY),o.y=f.y+t,s.y=e.y+r,o.y+f.height>s.y&&(t-=(o.y+f.height-s.y)/2,r+=(o.y+f.height-s.y)/2,o.y=f.y+t,s.y=e.y+r,u.minY>o.y?(r+=u.minY-o.y,t+=u.minY-o.y):u.maxY<s.y+e.height&&(t-=s.y+e.height-u.maxY,r-=s.y+e.height-u.maxY))),this.rotated&&u.minY<h.y+h.height&&u.maxY>h.y&&u.minX<h.x+h.width&&u.maxX>h.x&&(u.minX>a&&(i+=u.minX-a),u.maxX<c+f.width&&(n-=c+f.width-u.maxX),u.minY>v&&this.adjustSeriesLabels&&(r+=u.minY-v),u.minY>l&&this.adjustSeriesLabels&&(t+=u.minY-l),u.maxY<v+e.height&&this.adjustSeriesLabels&&(r-=v+e.height-u.maxY),u.maxY<l+f.height&&this.adjustSeriesLabels&&(t-=l+f.height-u.maxY),o.x=f.x+n,s.x=e.x+i,o.x<s.x+e.width&&(n+=(s.x+e.width-o.x)/2,i-=(s.x+e.width-o.x)/2,o.x=f.x+n,s.x=e.x+i,u.minX>s.x?(i+=u.minX-s.x,n+=u.minX-s.x):u.maxX<o.x+f.width&&(n-=o.x+f.width-u.maxX,i-=o.x+f.width-u.maxX))),this.insideMaxLabelGroup.move(~~n,~~t),this.insideMinLabelGroup.move(~~i,~~r)},correctBackgroundPosition:function(){if(this.maxLabelBackground&&this.minLabelBackground){var n=this.maxLabel.getBBox(),t=this.minLabel.getBBox(),i=n.x-this.LABEL_BACKGROUND_PADDING_X,r=t.x-this.LABEL_BACKGROUND_PADDING_X,u=n.y-this.LABEL_BACKGROUND_PADDING_Y,f=t.y-this.LABEL_BACKGROUND_PADDING_Y,e=n.width+2*this.LABEL_BACKGROUND_PADDING_X,o=t.width+2*this.LABEL_BACKGROUND_PADDING_X,s=n.height+2*this.LABEL_BACKGROUND_PADDING_Y,h=t.height+2*this.LABEL_BACKGROUND_PADDING_Y;this.maxLabelBackground.applySettings({x:i,y:u,width:e,height:s}),this.minLabelBackground.applySettings({x:r,y:f,width:o,height:h})}},correctConnectorPosition:function(n,t){if(t){var i=this.graphic.getBBox(),r,f,u,e,o=this.maxLabelBackground||this.minLabelBackground?n.y+n.height/2:null,s=this.maxLabelBackground||this.minLabelBackground?n.x+n.width/2:null;if(i.isEmpty&&(i=this.getGraphicSettings()),this.rotated){if((s||n.x)>i.x+i.width)r=s||n.x,f=i.x+i.width;else if((s||n.x+n.width)<i.x)r=s||n.x+n.width,f=i.x;else return!1;u=Math.round(n.y+n.height/2),e=u>i.y+i.height?i.y+i.height:u<i.y?i.y:u}else{if((o||n.y+n.height)<i.y)u=o||n.y+n.height,e=i.y;else if((o||n.y)>i.y+i.height)u=o||n.y,e=i.y+i.height;else return!1;r=Math.round(n.x+n.width/2),f=r>i.x+i.width?i.x+i.width:r<i.x?i.x:r}t.applySettings({points:[r,u,f,e]})}},getTooltipFormatObject:function(n){var t=n.formatValueTooltip.call({value:this.originalMinValue},n.options),i=n.formatValueTooltip.call({value:this.originalValue},n.options);return{argument:this.originalArgument,valueText:t+" - "+i,rangeValue1Text:t,rangeValue2Text:i,rangeValue1:this.originalMinValue,rangeValue2:this.originalValue,seriesName:this.options.seriesName,point:this}},hasValue:function(){return this.originalValue!==null&&this.originalMinValue!==null}});r.RangeBarPoint=f}(jQuery,DevExpress),function(n,t){var i=t.viz.charts.series;i.pointFactory={createPoint:function(n,t){n=(n||"").toLowerCase();switch(n){case"line":return new i.BasePoint(t);case"stackedline":return new i.BasePoint(t);case"fullstackedline":return new i.BasePoint(t);case"area":return new i.BasePoint(t);case"stackedarea":return new i.BasePoint(t);case"fullstackedarea":return new i.BasePoint(t);case"bar":return new i.BarPoint(t);case"stackedbar":return new i.BarPoint(t);case"fullstackedbar":return new i.BarPoint(t);case"spline":return new i.BasePoint(t);case"splinearea":return new i.BasePoint(t);case"scatter":return new i.BasePoint(t);case"candlestick":return new i.OhlcPoint(t);case"stock":return new i.StockPoint(t);case"rangearea":return new i.RangePoint(t);case"rangesplinearea":return new i.RangePoint(t);case"rangebar":return new i.RangeBarPoint(t);case"pie":return new i.PiePoint(t);case"doughnut":return new i.PiePoint(t);case"stepline":return new i.BasePoint(t);case"steparea":return new i.BasePoint(t);default:return null}}}}(jQuery,DevExpress),function(n,t){var e=t.viz.charts.series,o=e.consts.events,i=e.consts.states,r=t.utils,v=t.Class,y=t.viz.core.ParseUtils,s=20,h=15,c=.3,f="allseriespoints",u="includepoints",l=0,a=1,p=v.inherit({ctor:function(t,i,r,u){this.type=r.specificType||"unknown",this.isRangeSeries=u,this.renderer=t,this._rawData=i||[],this._parseOptions(r),this._parsedUserOptions=n.extend(!0,{},r),this._parseInputData(this._rawData),this.userOptions=r,this.tag=r.tag},_checkValue:function(n){if(!r.isDefined(n.value))return this._validationResult.error=this._errorMessages.missingFieldMessage(n.field),this.options.incidentOccured.call(null,this._errorMessages.missingFieldMessage(n.field)),!1;if(r.isString(n.value))n.axisType="discrete",n.type="string";else if(r.isDate(n.value))n.axisType=n.axisType||"continuous",n.type="datetime";else if(r.isNumber(n.value))n.axisType=n.axisType||"continuous",n.type="numeric";else return this._validationResult.error=this._errorMessages.unsupportedFieldMessage(n.field),this.options.incidentOccured.call(null,this._errorMessages.unsupportedFieldMessage(n.field)),!1;return!0},_correctAxisType:function(n,t){return n&&(n==="discrete"||n==="continuous")?n:t&&t.length?"discrete":""},reinitData:function(n){this._parseInputData(n)},_errorMessages:{missingFieldMessage:function(n){return"Data source does not contain the '"+n+"' field."},unsupportedFieldMessage:function(n){return"The '"+n+"' field contains data of unsupported type."},incorrectDataMessage:function(){return"Data source contains unsupported data."},incompatibleTypesDataMessage:function(n){return n==="argument"?"The agrument type and argument axis type are incompatible.":"The value type and value axis type are incompatible."},dataItemMissingMessage:function(n){return n==="argument"?"An argument is missed in the specified data.":"A value is missed in the specified data."},numericParsingMessage:function(n){return"A point's "+n+" cannot be parsed to a correct numeric value."},dateParsingMessage:function(n){return"A point's "+n+" cannot be parsed to a correct date."}},getRangeData:function(t){function s(t){a?n.inArray(t,i.visibleValCategories)===-1&&i.visibleValCategories.push(t):((t<i.minVisibleVal||!r.isDefined(i.minVisibleVal))&&(i.minVisibleVal=t),(t>i.maxVisibleVal||!r.isDefined(i.maxVisibleVal))&&(i.maxVisibleVal=t))}function y(t,i){var r={};return n.map(t,function(n){var t=n[i],u=r[t]?null:t;return r[t]=!0,u})}var h,c;if(this._validationResult.error)return{};var f=this,e=f.options,p=e.argumentCategories,l=e.argumentAxisType==="discrete",w=e.argumentType,b=e.valueCategories,a=e.valueAxisType==="discrete",k=e.valueType,i={visibleValCategories:[],categoriesVal:[],categoriesArg:[]},u=f.points,v=u&&u.length,o,d,g;return h=function(n,t){var u;(n<i.minArg||!r.isDefined(i.minArg))&&(i.minArg=n),(n>i.maxArg||!r.isDefined(i.maxArg))&&(i.maxArg=n),r.isDefined(t)&&(u=Math.abs(n-t)),r.isDefined(u)&&(u<i.minIntervalArg||!r.isDefined(i.minIntervalArg))&&(i.minIntervalArg=u)},c=function(n,t,u,e){var o;(n<i.minVal||!r.isDefined(i.minVal))&&(i.minVal=n),(n>i.maxVal||!r.isDefined(i.maxVal))&&(i.maxVal=n),f.isRangeSeries&&((t<i.minVal||!r.isDefined(i.minVal))&&(i.minVal=t),(t>i.maxVal||!r.isDefined(i.maxVal))&&(i.maxVal=t)),r.isDefined(u)&&(o=Math.abs(n-u)),f.isRangeSeries&&r.isDefined(e)&&(o=Math.min(o,Math.abs(t-e))),r.isDefined(o)&&(o<i.minIntervalVal||!r.isDefined(i.minIntervalVal))&&(i.minIntervalVal=o)},l&&(i.categoriesArg=y(u,"argument"),h=n.noop),a&&(i.categoriesVal=y(u,"value"),c=n.noop),v&&(n.each(u,function(n,e){var a,w=e.value,b=e.minValue,v=e.argument,y,p,k;(n!==0&&(a=u[n-1],y=a.value,p=a.minValue,k=a.argument),e.hasValue()&&c(w,b,y,p),h(v,k),l||!t||v<t.minArg||v>t.maxArg)||(!r.isDefined(i.minVisibleVal)&&n&&a.hasValue()&&(s(y),f.isRangeSeries&&s(p)),e.hasValue()&&(o=n,s(w),f.isRangeSeries&&s(b)))}),r.isDefined(o)&&o<v-1&&u[o+1].hasValue()&&(s(u[o+1].value),f.isRangeSeries&&s(u[o+1].minValue)),f.options.rotated?(r.isDefined(i.minVal)&&(i.minX=i.minVal,i.maxX=i.maxVal,i.intervalX=undefined),r.isDefined(i.minArg)&&(i.minY=i.minArg,i.maxY=i.maxArg,i.intervalY=i.minIntervalArg),i.categoriesArg.length&&(i.categoriesY=i.categoriesArg.slice(0)),i.categoriesVal.length&&(i.categoriesX=i.categoriesVal.slice(0)),i.visibleValCategories.length&&(i.visibleCategoriesX=i.visibleValCategories.slice(0)),i.minVisibleX=i.minVisibleVal,i.maxVisibleX=i.maxVisibleVal):(r.isDefined(i.minVal)&&(i.minY=i.minVal,i.maxY=i.maxVal,i.intervalY=undefined),r.isDefined(i.minArg)&&(i.minX=i.minArg,i.maxX=i.maxArg,i.intervalX=i.minIntervalArg),i.categoriesArg.length&&(i.categoriesX=i.categoriesArg.slice(0)),i.categoriesVal.length&&(i.categoriesY=i.categoriesVal.slice(0)),i.visibleValCategories.length&&(i.visibleCategoriesY=i.visibleValCategories.slice(0)),i.minVisibleY=i.minVisibleVal,i.maxVisibleY=i.maxVisibleVal)),delete i.minArg,delete i.maxArg,delete i.minVal,delete i.maxVal,delete i.minIntervalArg,delete i.minIntervalVal,delete i.minVisibleVal,delete i.maxVisibleVal,delete i.visibleValCategories,delete i.categoriesArg,delete i.categoriesVal,i=this.addLabelPaddingsToRange(i),i=this.processRangeForFullStackedSeries(i),this.rangeData=i,i},setPadding:function(n,t,i,r){n[t]=i,n[t+"Priority"]=r},addLabelPaddingsToRange:function(n){var t=this;return t.areLabelsVisible()&&t.styles.point.label.position!=="inside"&&(t.options.rotated?(this.setPadding(n,"maxValueMarginX",c,s),t.isRangeSeries&&this.setPadding(n,"minValueMarginX",c,s)):(this.setPadding(n,"maxValueMarginY",c,s),t.isRangeSeries&&this.setPadding(n,"minValueMarginY",c,s))),n},isFullStackedSeries:function(){return this.type.indexOf("fullstacked")===0},isStackedSeries:function(){return this.type.indexOf("stacked")===0},processRangeForFullStackedSeries:function(t){var i=this,u,r=n.isEmptyObject(t);return i.isFullStackedSeries()&&(i.options.rotated?(i.setPadding(t,"minValueMarginX",0,h),i.setPadding(t,"maxValueMarginX",0,h),r||(t.minX=0)):(i.setPadding(t,"minValueMarginY",0,h),i.setPadding(t,"maxValueMarginY",0,h),r||(t.minY=0))),t},draw:function(n){var h={"class":"series"},r={"class":"series-elements"},u={"class":"series-markers"},f={"class":"labels"},t,e,o,s;if(n){this.translator=n,this._translateCoors(),this.clipRectID&&(r.clipId=this.clipRectID,u.clipId=this.clipRectID,f.clipId=this.clipRectID),t=this.renderer.createGroup(h).append(this.options.seriesGroup),e=this.renderer.createGroup(r).append(t),o=this.renderer.createGroup(u).append(t),s=this.renderer.createGroup(f).append(this.options.seriesLabelsGroup),this.hoverPatternColor||(this.hoverPatternColor=this.styles.states.hover.fill,this.selectedPatternColor=this.styles.states.selected.fill),this.hoverPatternId=this.createPattern(this.hoverPatternColor,this.styles.states.hover.hatching),this.selectedPatternId=this.createPattern(this.selectedPatternColor,this.styles.states.selected.hatching),this.drawSeriesData(e,o,s);switch(this.state){case i.selected:this.setSelectedState(this.lastSelectionMode);break;case i.hover:this.setHoverState(this.lastHoverdMode);break;default:this.state=i.normal,this.fullState=i.normalMark}return this}},createPattern:function(n,t){var i=this.renderer.createPattern(n,t);return i.id?i.id:i},drawSeriesData:function(n,t,i){return this.hoverPatternId&&(this.styles.states.hover.fill=this.hoverPatternId,this.styles.states.selected.fill=this.selectedPatternId),this.drawPoints(t,i),this},drawPoints:function(t,i){var r=this,u=r.styles.point.visible,f=r.areLabelsVisible(),e=!r._suppressTrackers;n.each(r.points,function(n,o){o.adjustSeriesLabels=r.adjustSeriesLabels,u&&o.drawMarker(r.renderer,t),e&&o.drawTrackerMarker(r.renderer,r.options.markerTrackerGroup),f&&o.drawLabel(r.renderer,i)})},areLabelsVisible:function(){var n=this;return n.styles.point.label.visible&&(!r.isDefined(n.styles.maxLabelCount)||n.points.length<=n.styles.maxLabelCount)},getPoints:function(){return this.points},initEventTriggering:function(t,i){var u=this,r=n(u),f=[u,i];t.on({mouseover:function(n){r.trigger(n,f)},mouseout:function(n){r.trigger(n,u)},mousemove:function(n){r.trigger(n,u)},touchstart:function(n){r.trigger(n,f)},touchmove:function(n){r.trigger(n,u)},touchend:function(n){r.trigger(n,u)},MSPointerDown:function(n){r.trigger(n,f)},MSPointerMove:function(n){r.trigger(n,u)},MSPointerUp:function(n){r.trigger(n,u)},MSPointerOver:function(n){r.trigger(n,f)},MSPointerOut:function(n){r.trigger(n,u)},click:function(n){r.trigger(n,u)}})},select:function(){n(this).trigger(new n.Event(o.selectSeries),this.options.selectionMode)},clearSelection:function(){n(this).trigger(new n.Event(o.deselectSeries),this.options.selectionMode)},selectPoint:function(t){n(this).trigger(new n.Event(o.selectPoint),t)},deselectPoint:function(t){n(this).trigger(new n.Event(o.deselectPoint),t)},getAllPoints:function(){return this.points.slice()},getPointByPos:function(n){return this.points&&this.points[n]},getPointByArg:function(n){return this.pointsByArgument[n]||null},animate:function(){this.styles.point.visible&&this.segments&&n.each(this.segments,function(t,i){n.each(i,function(n,t){t.animate()})})},on:function(t,i,r){n(this).on(t,i,r);return this},off:function(t){return n(this).off(t),this},applyNormalStyle:function(t){(t===f||t===u)&&n.each(this.segments,function(t,r){n.each(r,function(n,t){t.fullState&i.selectedMark||t.applyNormalStyle()})})},applyHoverStyle:function(t){(t===f||t===u)&&n.each(this.segments,function(t,r){n.each(r,function(n,t){t.fullState&i.selectedMark||t.applyHoverStyle()})})},applySelectionStyle:function(t){(t===f||t===u)&&n.each(this.segments,function(t,r){n.each(r,function(n,t){t.fullState&i.selectedMark||t.applySelectionStyle()})})},setHoverState:function(n){(this.fullState=this.fullState|i.hoverMark,n=n||this.options.hoverMode,this.lastHoverMode=n,this._checkBehavior(n,l))&&(this.state=i.hover,this.applyHoverStyle(n))},releaseHoverState:function(){var n=this.lastHoverMode||this.options.hoverMode;(this.fullState=this.fullState&~i.hoverMark,delete this.lastHoverMode,this._checkBehavior(n,l))&&(this.state=i.normal,this.applyNormalStyle(n))},setSelectedState:function(n){(this.state=i.selected,this.fullState=this.fullState|i.selectedMark,this.lastSelectionMode=n,this._checkBehavior(n,a))&&((this.lastHoverMode===f||this.lastHoverMode===u)&&this.applyNormalStyle(u),n=n||this.options.selectionMode,this.applySelectionStyle(n))},releaseSelectedState:function(){var n=this.lastSelectionMode||this.options.selectionMode;(this.fullState=this.fullState&~i.selectedMark,this._checkBehavior(n,a))&&(this.fullState&i.hoverMark?(this.state=i.hover,(n===u||n===f)&&(this.lastHoverMode!==u||this.lastHoverMode===f)&&this.applyNormalStyle(n),this.applyHoverStyle(this.lastHoverMode)):(this.state=i.normal,this.applyNormalStyle(n)),delete this.lastSelectionMode)},_checkBehavior:function(n,t){if(n==="none")return!1;switch(t){case l:return!(this.fullState&i.selectedMark)||this.options.selectionMode==="none"?!0:!1;case a:return!0}return!1},setPointHoverState:function(n){n.fullState=n.fullState|i.hoverMark,this.fullState&i.selectedMark&&(this.lastSelectionMode===f||this.lastSelectionMode===u)||n.fullState&i.selectedMark||(n.state=i.hover,n.applyHoverStyle())},releasePointHoverState:function(n){n.fullState=n.fullState&~i.hoverMark,this.fullState&i.selectedMark&&(this.lastSelectionMode===f||this.lastSelectionMode===u)||n.fullState&i.selectedMark||(n.state=i.normal,this.fullState&i.hoverMark&&(this.lastSelectionMode===f||this.lastSelectionMode===u)||n.applyNormalStyle())},setPointSelectedState:function(n){n.state=i.selected,n.fullState=n.fullState|i.selectedMark,n.applySelectionStyle()},releasePointSelectedState:function(n){n.state=i.normal,n.fullState=n.fullState&~i.selectedMark,this.fullState&i.hoverMark&&(this.lastHoverMode===f||this.lastHoverMode===u)||n.fullState&i.hoverMark?(n.applyHoverStyle(),n.fullState&i.hoverMark&&(n.state=i.hover)):this.fullState&i.selectedMark&&(this.lastSelectionMode===f||this.lastSelectionMode===u)?n.applySelectionStyle():n.applyNormalStyle()},_translateCoors:function(){var t=this,i=t.translator;n.each(t.points,function(n,t){t.translate(i)})},_checkAndPrepareInputData:function(n,t,i){return this._checkInputData(n,t,i),this._validationResult.error?null:this._prepareInputData(n,t,i)},_checkInputData:function(t,i,r){this._validationResult={error:null},this._parseUtils=new y({incidentOccured:this.options.incidentOccured});var u=this,f=t.length,o,s,h,c,l,a,e=t[0],v={};if(f){if(n.type(e)!=="object"){u._validationResult.error=u._errorMessages.incorrectDataMessage(),u.options.incidentOccured.call(null,u._errorMessages.incorrectDataMessage());return}(u._checkArgumentAxisParams(t,i),u._validationResult.error)||u._checkValueAxisParams(t,r)}},_checkArgumentAxisParams:function(n,t){var i=this,u=i.options,s=i._parsedUserOptions,a=s.argumentCategories,f=i._correctAxisType(s.argumentAxisType,s.argumentCategories),o=i._parseUtils.correctValueType(s.argumentType),h,l,c,e={};t=t||u.argumentField||"arg";switch(o.toLowerCase()){case"numeric":case"datetime":f?(u.argumentAxisType=f,u.argumentType=o):(u.argumentAxisType=f="continuous",u.argumentType=o);return;case"string":f&&f!=="discrete"&&(i._validationResult.error=i._errorMessages.incompatibleTypesDataMessage("argument"),i.options.incidentOccured.call(null,i._errorMessages.incompatibleTypesDataMessage("argument"))),u.argumentAxisType=f="discrete",u.argumentType=o;return}for(h=0;h<n.length;h++)if(c=n[h],r.isDefined(c[t])){l=c[t];break}if(e.value=l,e.field=t,e.axisType=f,e.type=o,i._checkValue(e))u.argumentAxisType=e.axisType,u.argumentType=e.type;else return},_checkValueAxisParams:function(t,i){var f=this,u=f.options,l=f._parsedUserOptions,p=u.valueField||"val",w=u.rangeValue1Field||"val1",b=u.rangeValue2Field||"val2",k=l.valueCategories,o=f._correctAxisType(l.valueAxisType,l.valueCategories),c=f._parseUtils.correctValueType(l.valueType),e,h,a={},d,g,v,s={},nt,y;i=i||[],i.length||(i=f.isRangeSeries?[w,b]:[p]);switch(c.toLowerCase()){case"numeric":case"datetime":o?(u.valueAxisType=o,u.valueType=c):(u.valueAxisType=o="continuous",u.valueType=c);return;case"string":o&&o!=="discrete"&&(f._validationResult.error=f._errorMessages.incompatibleTypesDataMessage("value"),f.options.incidentOccured.call(null,f._errorMessages.incompatibleTypesDataMessage("value"))),u.valueAxisType=o="discrete",u.valueType=c;return}for(s.axisType=o,s.type=c,e=0;e<t.length;e++){for(y=!0,v=t[e],h=0;h<i.length;h++)r.isDefined(v[i[h]])&&(a[i[h]]=v[i[h]]);if(n.each(i,function(n,t){return y=t in a}),y)break}for(e=0;e<i.length;e++)if(s.value=a[i[e]],s.field=i[e],!f._checkValue(s))return;u.valueAxisType=s.axisType,u.valueType=s.type},_prepareInputData:function(i,u,f){function g(){for(var i=h.length,f=i,t={},n=0;n<i;n++)t[h[n]]=n;return function(n,i){var s=n[u],h=i[u],e=t[s],o=t[h];return r.isDefined(e)||(e=f),r.isDefined(o)||(o=f),e-o}}function nt(n,t){return n[u]-t[u]}var o=this,e=o.options,h=e.argumentCategories,l=e.argumentAxisType,y=e.argumentType,c=o._errorMessages,a=o.options.incidentOccured,p=e.valueField||"val",w=e.rangeValue1Field||"val1",b=e.rangeValue2Field||"val2",rt=e.valueCategories,ut=e.valueAxisType,k=e.valueType,d=e.tagField||"tag",ft=t.data.query,et=n.noop,ot=n.noop,s=[];if(u=u||e.argumentField||"arg",f=f||[],f.length||(f=o.isRangeSeries?[w,b]:[p]),!i.length)return s;var v=function(t,i,u){var e=o._parseUtils.getParser(i.toLowerCase(),t+"Axis"),f;switch(i.toLowerCase()){case"numeric":f=c.numericParsingMessage;break;case"datetime":f=c.dateParsingMessage;break;default:f=n.noop}return function(n){var i;return u&&!r.isDefined(n)||n===undefined?(a.call(null,c.dataItemMissingMessage(t)),undefined):n===null?null:(i=e(n),r.isDefined(i)||a.call(null,f(t)),i)}},tt=v("argument",y,!0),it=v("value",k);return s=n.map(i,function(n){var o=tt(n[u]),i={tag:n[d]},e,t;if(!r.isDefined(o))return null;for(i[u]=o,t=0;t<f.length;t++){if(e=it(n[f[t]]),e===undefined)return null;i[f[t]]=e}return i}),l==="discrete"&&h&&h.length?s.sort(g()):l!=="discrete"&&s.sort(nt),s},_parseInputData:function(n){var t=this,h=e.pointFactory.createPoint,c=t.options.rotated,l=t.styles.point,u,f=0,r,i,a,v,y,o=t.options,s=s||o.argumentField||"arg",p=o.tagField||"tag";if(n&&n.length&&(this._canRenderCompleteHandle=!0),t.points=[],t.pointsByArgument={},t.segments=[],u=t._checkAndPrepareInputData(n),u&&!t._validationResult.error){if(t.isRangeSeries)for(v=o.rangeValue1Field||"val1",y=o.rangeValue2Field||"val2";f<u.length;f++)r=u[f],i=h(t.type,{minValue:r[v],value:r[y],argument:r[s],rotated:c,options:l,tag:r.tag,series:t}),t.pointsByArgument[i.argument]=t.pointsByArgument[i.argument]||i,t.points.push(i);else for(a=o.valueField||"val";f<u.length;f++)r=u[f],i=h(t.type,{value:r[a],argument:r[s],rotated:c,options:l,tag:r.tag,series:t}),t.points.push(i),t.pointsByArgument[i.argument]=t.pointsByArgument[i.argument]||i;this._segmenting()}},_segmenting:function(){var i=this,t=[];n.each(this.points,function(n,r){r.hasValue()?t.push(r):t.length!==0&&(i.segments.push(t),t=[])}),t.length&&this.segments.push(t)},_parseOptions:function(t){this.options={incidentOccured:t.incidentOccured,rotated:!!t.rotated,seriesGroup:t.seriesGroup,seriesLabelsGroup:t.seriesLabelsGroup,seriesTrackerGroup:t.seriesTrackerGroup,markerTrackerGroup:t.markerTrackerGroup,argumentCategories:t.argumentCategories,argumentAxisType:t.argumentAxisType,argumentType:t.argumentType,argumentField:t.argumentField,valueCategories:t.valueCategories,valueAxisType:t.valueAxisType,valueType:t.valueType,valueField:t.valueField,rangeValue1Field:t.rangeValue1Field,rangeValue2Field:t.rangeValue2Field,tagField:t.tagField,selectionMode:(t.selectionMode||"").toLowerCase(),hoverMode:(t.hoverMode||"").toLowerCase(),showInLegend:t.showInLegend!==undefined?t.showInLegend:!0},n.isFunction(this.options.incidentOccured)||(this.options.incidentOccured=n.noop),this.name=t.name,this.styles=this.parseStyleOptions(t),this.adjustOptions&&this.adjustOptions()},parseStyleOptions:function(t){var i=n.extend(!0,{},this.getDefaultStyleOptions(),t),r={strokeWidth:i.border.visible?i.border.width||0:0,stroke:i.border.visible&&i.border.width?i.border.color:"none",fill:i.color,dashStyle:i.dashStyle,lineWidth:i.width,r:i.cornerRadius},o={strokeWidth:i.hoverStyle.border.visible?i.hoverStyle.border.width||0:0,stroke:i.hoverStyle.border.visible&&i.hoverStyle.border.width?i.hoverStyle.border.color:"none",fill:i.hoverStyle.color,dashStyle:i.hoverStyle.dashStyle||i.dashStyle,lineWidth:i.hoverStyle.width,hatching:i.hoverStyle.hatching},s={strokeWidth:i.selectionStyle.border.visible?i.selectionStyle.border.width||0:0,stroke:i.selectionStyle.border.visible&&i.selectionStyle.border.width?i.selectionStyle.border.color:"none",fill:i.selectionStyle.color,dashStyle:i.selectionStyle.dashStyle||i.dashStyle,lineWidth:i.selectionStyle.width,hatching:i.selectionStyle.hatching},u={};n.each(["align","translateX","translateY","rotate","linejoin","linecap","opacity","style"],function(n,t){i[t]&&(u[t]=i[t])});var h=n.extend(!0,{},r,u),f={strokeWidth:i.point.border.visible?i.point.border.width||0:0,stroke:i.point.border.visible&&i.point.border.width?i.point.border.color:"none",fill:i.point.color,r:i.point.size+(i.point.border.visible&&i.point.size!==0?~~(i.point.border.width/2)||0:0)},c={strokeWidth:i.point.hoverStyle.border.visible?i.point.hoverStyle.border.width||0:0,stroke:i.point.hoverStyle.border.visible&&i.point.hoverStyle.border.width?i.point.hoverStyle.border.color:"none",fill:i.point.hoverStyle.color,r:i.point.hoverStyle.size+(i.point.hoverStyle.border.visible&&i.point.hoverStyle.size!==0?~~(i.point.hoverStyle.border.width/2)||0:0)},l={strokeWidth:i.point.selectionStyle.border.visible?i.point.selectionStyle.border.width||0:0,stroke:i.point.selectionStyle.border.visible&&i.point.selectionStyle.border.width?i.point.selectionStyle.border.color:"none",fill:i.point.selectionStyle.color,r:i.point.selectionStyle.size+(i.point.selectionStyle.border.visible&&i.point.selectionStyle.size!==0?~~(i.point.selectionStyle.border.width/2)||0:0)},e={};n.each(["align","translateX","translateY","rotate","linejoin","linecap","style"],function(n,t){t in i.point&&(e[t]=i.point[t])});var a=n.extend(!0,{},f,e),v={align:i.label.alignment,font:{color:i.label.backgroundColor==="none"&&i.label.font.color.toLowerCase()==="#ffffff"&&i.label.position!=="inside"?i.color:i.label.font.color,family:i.label.font.family,weight:i.label.font.weight,size:i.label.font.size},style:i.label.style},y={fill:i.label.backgroundColor||i.color,strokeWidth:i.label.border.visible?i.label.border.width||0:0,stroke:i.label.border.visible&&i.label.border.width?i.label.border.color:"none",dashStyle:i.label.border.dashStyle},p={stroke:i.label.connector.visible&&i.label.connector.width?i.label.connector.color||i.color:"none",strokeWidth:i.label.connector.visible?i.label.connector.width||0:0};return{themeColor:i.color,attributes:h,maxLabelCount:i.maxLabelCount,reduction:{color:i.reduction.color,level:i.reduction.level,innerColor:i.innerColor},states:{normal:r,hover:o,selected:s},point:{visible:i.point.visible,symbol:i.point.symbol,attributes:a,seriesName:i.point.seriesName,selectionMode:(i.point.selectionMode||"").toLowerCase(),hoverMode:(i.point.hoverMode||"").toLowerCase(),states:{normal:f,hover:c,selected:l},label:{format:i.label.format,argumentFormat:i.label.argumentFormat,precision:i.label.precision,argumentPrecision:i.label.argumentPrecision,percentPrecision:i.label.percentPrecision,customizeText:n.isFunction(i.label.customizeText)?i.label.customizeText:undefined,attributes:v,visible:i.label.font.size!==0?i.label.visible:!1,showForZeroValues:i.label.showForZeroValues,horizontalOffset:i.label.horizontalOffset,verticalOffset:i.label.verticalOffset,radialOffset:i.label.radialOffset,background:y,position:i.label.position,connector:p,rotationAngle:i.label.rotationAngle}}}},canRenderCompleteHandle:function(){var n=this._canRenderCompleteHandle;return delete this._canRenderCompleteHandle,!!n},getDefaultStyleOptions:function(){return{color:"#000000",border:{visible:!1,width:1,color:"#000000"},width:2,dashStyle:"solid",cornerRadius:0,innerColor:"#ffffff",reduction:{color:"#000000"},maxLabelCount:undefined,point:{visible:!0,symbol:"circle",color:"#000000",size:6,seriesName:this.name,border:{visible:!1,width:1,color:"#000000"},hoverStyle:{color:"#000000",border:{visible:!0,width:2,color:"#ffffff"},size:6},selectionStyle:{color:"#000000",border:{visible:!0,width:2,color:"#ffffff"},size:6}},label:{visible:!1,showForZeroValues:!0,alignment:"center",font:{family:"'SegoeUI', 'Segoe UI', 'HelveticaNeue', 'Helvetica Neue', 'Trebuchet MS', Verdana",weight:400,color:"#ffffff",size:14},rotationAngle:0,horizontalOffset:0,verticalOffset:0,radialOffset:0,format:"",argumentFormat:"",precision:0,argumentPrecision:0,position:"outside",connector:{visible:!1,width:1},border:{visible:!1,width:1,color:"#808080",dashStyle:"solid"}},hoverStyle:{hatching:"none",color:"#000000",border:{visible:!1,width:1,color:"#000000"},width:3},selectionStyle:{hatching:"right",color:"#000000",border:{visible:!1,width:1,color:"#000000"},width:3}}}});e.BaseSeries=p}(jQuery,DevExpress),function(n,t){var i=t.viz.charts.series,f=i.consts.events,r=i.BaseSeries,u=r.inherit({ctor:function(n,t,i,r){i.specificType=i.specificType||"line",this.callBase(n,t,i,r),this.paths=this.paths||[]},drawSegment:function(n,t){return this.renderer.createPath(n,t)},drawSeriesData:function(t,i,r){var u=this;(u.preparedSegments=[],u.paths=[],u.points.length)&&(n.each(this.segments,function(n){u.prepareSegments(n)}),u.styles.attributes.strokeWidth>0&&(n.each(u.preparedSegments,function(n,i){u.paths.push(u.drawSegment(i,u.styles.attributes).append(t))}),u.drawPathTracker()),u.callBase(t,i,r))},prepareSegments:function(n){this.preparedSegments=this.preparedSegments||[],this.preparedSegments[n]=this.segments[n]},drawPathTracker:function(){var t=this,i=this.styles,r;if(t.preparedSegments||(t.preparedSegments=[],n.each(t.segments,function(n){t.prepareSegments(n)})),!this._suppressTrackers)return r=i.attributes.strokeWidth<20?20:i.attributes.strokeWidth,n.each(this.preparedSegments,function(n,i){var u=t.drawSegment(i,{strokeWidth:r,stroke:"grey",opacity:.0001}).append(t.options.seriesTrackerGroup);t.initEventTriggering(u)}),this},applyNormalStyle:function(t){var i=this;if(this.paths)return n.each(this.paths,function(n,t){t.applySettings(i.styles.states.normal)}),i.callBase(t)},applyHoverStyle:function(t){var i=this;if(this.paths)return n.each(this.paths,function(n,t){t.applySettings(i.styles.states.hover)}),i.callBase(t)},applySelectionStyle:function(t){var i=this;if(this.paths)return n.each(this.paths,function(n,t){t&&t.applySettings(i.styles.states.selected)}),i.callBase(t)},animate:function(){this.callBase(),this.animatePath()},animatePath:function(){var t=this,i=t.preparedSegments;i&&i.length&&t.paths&&n.each(t.paths,function(n,r){var u=t.getZeroPathPoints(n);r.applySettings({points:u}),r.animate({points:i[n]})})},getZeroPathPoints:function(t){return n.map(this.preparedSegments[t],function(n){return n.getDefaultCoords()})},adjustOptions:function(){var u=this.styles,n=u.attributes,t=u.states.hover,i=u.states.selected,r=u.states.normal;n.stroke=n.fill,n.fill="none",n.strokeWidth=n.lineWidth,r.stroke=r.fill,r.fill="none",r.strokeWidth=r.lineWidth,t.stroke=t.fill,t.fill="none",t.strokeWidth=t.lineWidth,i.stroke=i.fill,i.fill="none",i.strokeWidth=i.lineWidth}});i.LineSeries=u}(jQuery,DevExpress),function(n,t){var i=t.viz.charts.series,r=i.LineSeries,u=r.inherit({ctor:function(n,t,i,r){this.type=i.specificType=i.specificType||"area",this.callBase(n,t,i,r),this.areas=this.areas||[],this.areaSegments=this.areaSegments||[]},drawSeriesData:function(t,i,r){var u=this;if(u.resetLineColors(),(u.isStackedSeries()||u.isFullStackedSeries())&&t.toBackground(),u.areas=[],u.points.length)return u.paths=[],n.each(this.segments,function(n){u.prepareSegments(n)}),n.each(u.preparedSegments,function(n){u.prepareAreaPoints(n),u.areas.push(u.renderer.createArea(u.areaSegments[n],u.styles.area).append(t))}),u.drawAreaTracker(),(u.styles.attributes.strokeWidth>0||u.styles.states.hover.strokeWidth>0||u.styles.states.selected.strokeWidth>0)&&n.each(u.preparedSegments,function(n,i){u.paths.push(u.drawSegment(i,u.styles.attributes).append(t))}),u.drawPoints(i,r),u.hoverPatternId&&(u.styles.area.states.hover.fill=u.hoverPatternId,u.styles.area.states.selected.fill=u.selectedPatternId,u.styles.states.hover.fill="none",u.styles.states.selected.fill="none"),u},resetLineColors:function(){var t=this.styles,i=t.attributes,n=t.states,r=n.hover,u=n.selected,f=n.normal;i.fill="none",delete i.lineWidth,f.fill="none",delete f.lineWidth,r.fill="none",delete r.lineWidth,u.fill="none",delete u.lineWidth},drawAreaTracker:function(){var t=this;if(!this._suppressTrackers)return n.each(this.areaSegments,function(n,i){var r=t.renderer.createArea(i,{strokeWidth:0,fill:"grey",opacity:.0001}).append(t.options.seriesTrackerGroup);t.initEventTriggering(r)}),i},prepareAreaPoints:function(t){var i=this.preparedSegments,r=n.map(i[t],function(n){return n.getCoords()}),u=n.map(i[t].slice().reverse(),function(n){return n.getCoords(!0)});this.areaSegments[t]=r.concat(u)},applyNormalStyle:function(t){var i=this;return this.areas&&n.each(this.areas,function(n,t){t.applySettings(i.styles.area.states.normal)}),this.callBase(t)},applyHoverStyle:function(t){var i=this;return this.areas&&n.each(this.areas,function(n,t){t.applySettings(i.styles.area.states.hover)}),this.callBase(t)},applySelectionStyle:function(t){var i=this;return this.areas&&n.each(this.areas,function(n,t){t.applySettings(i.styles.area.states.selected)}),this.callBase(t)},animate:function(){var t=this;this.callBase(),this.preparedSegments&&this.preparedSegments.length&&this.areas&&n.each(this.areas,function(n,i){var r=t.getZeroAreaPoints(n);i.applySettings({points:r}),i.animate({points:t.areaSegments[n]})})},getZeroAreaPoints:function(t){var i,r,u=this.preparedSegments;return i=n.map(u[t],function(n){return n.getDefaultCoords()}),r=n.map(u[t].slice().reverse(),function(n){return n.getDefaultCoords()}),i.concat(r)},adjustOptions:function(){var t=this.styles,i=t.attributes,r=t.states,o=r.hover,s=r.selected,h=r.normal,u={},f={},e={},n;n="opacity"in i?i.opacity:.5,u={fill:h.fill,stroke:"none",strokeWidth:0,opacity:n},f={fill:o.fill,stroke:"none",strokeWidth:0,opacity:n},e={fill:s.fill,stroke:"none",strokeWidth:0,opacity:n},t.area={fill:i.fill,stroke:"none",strokeWidth:0,opacity:n,states:{normal:u,hover:f,selected:e}}}});i.AreaSeries=u}(jQuery,DevExpress),function(n,t){var i=t.viz.charts.series,r=i.BaseSeries,u=20,f=r.inherit({ctor:function(n,t,i,r){i.specificType=i.specificType||"bar",this.callBase(n,t,i,r),this.stackName=i.stack||"default",this.rects=[]},getStackName:function(){return this.type==="stackedbar"||this.type==="fullstackedbar"?this.stackName:null},setBarZeroPadding:function(n,t,i){t===0&&this.setPadding(n,i,0,u)},getRangeData:function(){var n=this.callBase();return n?this.isRangeSeries?n:(this.options.rotated?n.keepValueMarginsY=!0:n.keepValueMarginsX=!0,n.minY===undefined||this.options.rotated?n.minX!==undefined&&this.options.rotated&&(n.minX=n.minX>0?0:n.minX,this.setBarZeroPadding(n,n.minX,"minValueMarginX"),n.maxX=n.maxX<0?0:n.maxX,(n.maxX===0||n.maxX>0&&n.minX<0)&&(n.minValueMarginX=n.maxValueMarginX,n.minValueMarginXPriority=n.maxValueMarginXPriority),this.setBarZeroPadding(n,n.maxX,"maxValueMarginX")):(n.minY=n.minY>0?0:n.minY,this.setBarZeroPadding(n,n.minY,"minValueMarginY"),n.maxY=n.maxY<0?0:n.maxY,(n.maxY===0||n.maxY>0&&n.minY<0)&&(n.minValueMarginY=n.maxValueMarginY,n.minValueMarginYPriority=n.maxValueMarginYPriority),this.setBarZeroPadding(n,n.maxY,"maxValueMarginY")),n):n},drawSeriesData:function(n,t,i){var r=this;return r.points.length&&r.hoverPatternId&&(r.styles.point.states.hover.fill=r.hoverPatternId,r.styles.point.states.selected.fill=r.selectedPatternId),this.callBase(n,t,i)},adjustOptions:function(){var t=this.styles,i=this.options,c=t.attributes,l=t.states.hover,a=t.states.selected,v=t.states.normal,r=t.point.attributes,u=t.point.states.hover,f=t.point.states.selected,e=t.point.states.normal,o=i.hoverMode,s=i.selectionMode,h=function(n){if(!n)return!1;switch(n.toLowerCase()){case"allseriespoints":case"allargumentpoints":case"none":return!0}};n.extend(!0,r,c),n.extend(!0,u,l),n.extend(!0,f,a),n.extend(!0,e,v),u.r=f.r=e.r=r.r,t.point.hoverMode=h(o)&&o,t.point.selectionMode=h(s)&&s,t.point.visible=!0}});i.BarSeries=f}(jQuery,DevExpress),function(n,t){var i=t.viz.charts.series,r=t.utils.isDefined,u=i.BaseSeries,f=u.inherit({ctor:function(n,t,i){i.specificType=i.specificType||"candlestick",this.callBase(n,t,i)},getRangeData:function(){var t=this,e=t.options,o=e.rotated,s=o?"X":"Y",f=o?"Y":"X",i=[],u=[],h=function(n,t){return n-t};return n.each(this.points,function(n,t){r(t.argument)&&u.push(t.argument),t.hasValue()&&(i.push(t.highValue),i.push(t.lowValue))}),t.rangeData={},i.length&&(i.sort(h),t.rangeData["max"+s]=i[i.length-1],t.rangeData["min"+s]=i[0]),!u.length||e.argumentAxisType==="discrete"?t.rangeData["categories"+f]=u:(u.sort(h),t.rangeData["min"+f]=u[0],t.rangeData["max"+f]=u[u.length-1]),this.rangeData},_parseInputData:function(t){var f=this,r,y=i.pointFactory,l=this.options.argumentField||"date",e=this.options.openValueField||"open",s=this.options.highValueField||"high",h=this.options.lowValueField||"low",o=this.options.closeValueField||"close",b=this.options.tagField||"tag",p=this.styles.point,a=this.styles.reduction.color,w=this.styles.reduction.innerColor,v,c,u;if(this.points=[],this.segments=[],t.length){v=f._checkAndPrepareInputData(t,l,[e,s,h,o]),f._validationResult={inputNotations:0,error:null};switch((this.styles.reduction.level||"").toLowerCase()){case"open":r=e;break;case"high":r=s;break;case"low":r=h;break;default:r=o}this.points=n.map(v,function(t,i){var v=n.extend(!0,{},p||{});return u="dx-candle-default",t[e]!==null&&t[s]!==null&&t[h]!==null&t[o]!==null&&(i!=0&&c!=null&&t[r]<c&&(v.attributes.fill=v.states.normal.fill=v.states.hover.fill=v.states.selected.fill=a,v.attributes.stroke=v.states.normal.stroke=v.states.hover.stroke=v.states.selected.stroke=a,u="dx-candle-reduction"),c=t[r],t[e]<t[o]&&(v.attributes.fill=v.states.normal.fill=v.states.hover.fill=v.states.selected.fill=w,u=(u?u:"")+" dx-candle-positive")),v.attributes["class"]=u,f.className="dx-candle-default",y.createPoint(f.type,{openValue:t[e],pointClassName:u,highValue:t[s],lowValue:t[h],closeValue:t[o],argument:t[l],options:v,tag:t.tag,reductionValue:t[r],series:f})}),this._segmenting()}},_parseOptions:function(t){this.callBase(t),n.extend(!0,this.options,{openValueField:t.openValueField,closeValueField:t.closeValueField,highValueField:t.highValueField,lowValueField:t.lowValueField})},drawSeriesData:function(t,i,r){var u=this;return n.each(u.points,function(n,t){var i=u.getPointSpecificPatternId(u.hoverPatternColor,u.styles.states.hover.hatching);i&&(t.options.states.hover.fill=i),i=u.getPointSpecificPatternId(u.selectedPatternColor,u.styles.states.selected.hatching),i&&(t.options.states.selected.fill=i)}),this.callBase(t,i,r),this},createPattern:function(){},getPointSpecificPatternId:function(n,t){var i=this.renderer.createPattern(n,t);return i.id},adjustOptions:function(){var t=this.styles,e=this.options,i=t.attributes,r=t.states.hover,u=t.states.selected,f=t.states.normal,o=t.point.attributes,s=t.point.states.hover,h=t.point.states.selected,c=t.point.states.normal,l=e.hoverMode,a=e.selectionMode,v=function(n){if(!n)return!1;switch(n.toLowerCase()){case"allseriespoints":case"allargumentpoints":case"none":return!0}};i.stroke=i.fill,i.strokeWidth=i.lineWidth,f.stroke=f.fill,f.strokeWidth=f.lineWidth,r.stroke=r.fill,r.strokeWidth=r.lineWidth,u.stroke=u.fill,u.strokeWidth=u.lineWidth,n.extend(!0,o,i),n.extend(!0,s,r),n.extend(!0,h,u),n.extend(!0,c,f),s.r=h.r=c.r=o.r=0,t.point.hoverMode=v(l)&&l,t.point.selectionMode=v(a)&&a,t.point.visible=!0}});i.CandleStickSeries=f}(jQuery,DevExpress),function(n,t){var i=t.viz.charts.series,r=i.CandleStickSeries,u=r.inherit({ctor:function(n,t,i){i.specificType=i.specificType||"stock",this.callBase(n,t,i)}});i.StockSeries=u}(jQuery,DevExpress),function(n,t){var i=t.viz.charts.series,r=t.utils,u=i.LineSeries,f=u.inherit({ctor:function(n,t,i,r){i.specificType=i.specificType||"spline",this.callBase(n,t,i,r)},drawSegment:function(n,t){return this.renderer.createBezierPath(n,t)},prepareSegments:function(t){var i=this,u=[],f=i.segments[t],e,o;i.preparedSegments=i.preparedSegments||[],e=function(n,t,i){return n>t&&i>n||n<t&&i<n?n:i},o=function(n,t,i){var u=r.clone(n);return u.x=t,u.y=i,u},f.length!==1?n.each(f,function(n,t){var a,v,y,p,h,c,r,s,b,k,d,g,st,l=.5,ft,et,ot,it,rt,ut,nt,tt,w;if(!n){u.push(t),u.push(t);return}if(h=f[n-1],n<f.length-1)c=f[n+1],r=t.x,s=t.y,b=h.x,k=c.x,d=h.y,g=c.y,ft=!!(!i.options.rotated&&(s<=h.y&&s<=c.y||s>=h.y&&s>=c.y)||i.options.rotated&&(r<=h.x&&r<=c.x||r>=h.x&&r>=c.x)),ft?i.options.rotated?(y=a=r,p=(s+c.y)/2,v=(s+h.y)/2):(p=v=s,y=(r+c.x)/2,a=(r+h.x)/2):(it=g-d,rt=b-k,ut=d*k-b*g,i.options.rotated?(tt=s,nt=-1*(rt*tt+ut)/it,w=nt-r||0,b-=w,k-=w):(nt=r,tt=-1*(it*nt+ut)/rt,w=tt-s||0,d-=w,g-=w),y=(r+l*k)/(1+l),p=(s+l*g)/(1+l),a=(r+l*b)/(1+l),v=(s+l*d)/(1+l)),i.options.rotated?(a=e(h.x,r,a),y=e(c.x,r,y)):(v=e(h.y,s,v),p=e(c.y,s,p)),et=o(t,a,v),ot=o(t,y,p),u.push(et,t,ot);else{u.push(t,t);return}}):u.push(f[0]),i.preparedSegments[t]=u}});i.SplineSeries=f}(jQuery,DevExpress),function(n,t){var i=t.viz.charts.series,r=i.SplineSeries,u=r.inherit({ctor:function(n,t,i,r){i.specificType=i.specificType||"splinearea",this.callBase(n,t,i,r),this.areas=this.areas||[],this.areaSegments=this.areaSegments||[]},drawSeriesData:function(t,i,r){if(this.points.length){var u=this;if(this.points.length)return this.resetLineColors(),n.each(this.segments,function(n){u.prepareSegments(n)}),this.areas=[],n.each(u.preparedSegments,function(n){u.prepareBezierAreaPoints(n),u.areas.push(u.renderer.createBezierArea(u.areaSegments[n],u.styles.area).append(t))}),u.drawAreaTracker(),(u.styles.attributes.strokeWidth>0||u.styles.states.hover.strokeWidth>0||u.styles.states.selected.strokeWidth>0)&&n.each(u.preparedSegments,function(n,i){u.paths.push(u.drawSegment(i,u.styles.attributes).append(t))}),u.drawPoints(i,r),u.hoverPatternId&&(u.styles.area.states.hover.fill=u.hoverPatternId,u.styles.area.states.selected.fill=u.selectedPatternId,u.styles.states.hover.fill="none",u.styles.states.selected.fill="none"),u}},resetLineColors:function(){var t=this.styles,i=t.attributes,n=t.states,r=n.hover,u=n.selected,f=n.normal;i.fill="none",delete i.lineWidth,f.fill="none",delete f.lineWidth,r.fill="none",delete r.lineWidth,u.fill="none",delete u.lineWidth},drawAreaTracker:function(){var t=this;if(!this._suppressTrackers)return n.each(this.areaSegments,function(n,i){var r=t.renderer.createBezierArea(i,{strokeWidth:0,fill:"grey",opacity:.0001}).append(t.options.seriesTrackerGroup);t.initEventTriggering(r)}),i},prepareBezierAreaPoints:function(t){var r=this.preparedSegments,i=n.map(r[t],function(n){return n.getCoords()}),u=n.map(r[t].slice().reverse(),function(n){return n.getCoords(!0)}),f=i[i.length-1],e=u[0];this.areaSegments[t]=i.concat({x:f.x,y:f.y},{x:e.x,y:e.y},u)},applyNormalStyle:function(t){var i=this;return this.areas&&n.each(this.areas,function(n,t){t.applySettings(i.styles.area.states.normal)}),this.callBase(t)},applyHoverStyle:function(t){var i=this;return this.areas&&n.each(this.areas,function(n,t){t.applySettings(i.styles.area.states.hover)}),this.callBase(t)},applySelectionStyle:function(t){var i=this;return this.areas&&n.each(this.areas,function(n,t){t.applySettings(i.styles.area.states.selected)}),this.callBase(t)},animate:function(){var t=this;this.callBase(),this.preparedSegments&&this.preparedSegments.length&&this.areas&&n.each(this.areas,function(n,i){var r=t.getZeroAreaPoints(n);i.applySettings({points:r}),i.animate({points:t.areaSegments[n]})})},getZeroAreaPoints:function(t){var i=n.map(this.preparedSegments[t],function(n){return n.getDefaultCoords()}),r=n.map(this.preparedSegments[t].slice().reverse(),function(n){return n.getDefaultCoords()}),u=i[i.length-1],f=r[0];return i.concat({x:u.x,y:u.y},{x:f.x,y:f.y},r)},adjustOptions:function(){var t=this.styles,i=t.attributes,r=t.states,o=r.hover,s=r.selected,h=r.normal,u={},f={},e={},n;n="opacity"in i?i.opacity:.5,u={fill:h.fill,stroke:"none",strokeWidth:0,opacity:n},f={fill:o.fill,stroke:"none",strokeWidth:0,opacity:n},e={fill:s.fill,stroke:"none",strokeWidth:0,opacity:n},t.area={fill:i.fill,stroke:"none",strokeWidth:0,opacity:n,states:{normal:u,hover:f,selected:e}}}});i.SplineAreaSeries=u}(jQuery,DevExpress),function(n,t){var i=t.viz.charts.series,r=i.BaseSeries,u=r.inherit({ctor:function(n,t,i){i.specificType=i.specificType||"scatter",this.callBase(n,t,i)}});i.ScatterSeries=u}(jQuery,DevExpress),function(n,t){var i=t.viz.charts.series,r=i.AreaSeries,u=r.inherit({ctor:function(n,t,i){i.specificType=i.specificType||"rangearea",this.callBase(n,t,i,!0)}});i.RangeAreaSeries=u}(jQuery,DevExpress),function(n,t){var i=t.viz.charts.series,r=i.SplineAreaSeries,u=r.inherit({ctor:function(n,t,i){i.specificType=i.specificType||"rangesplinearea",this.callBase(n,t,i,!0)}});i.RangeSplineAreaSeries=u}(jQuery,DevExpress),function(n,t){var i=t.viz.charts.series,r=i.BarSeries,u=r.inherit({ctor:function(n,t,i){i.specificType=i.specificType||"rangebar",this.callBase(n,t,i,!0)}});i.RangeBarSeries=u}(jQuery,DevExpress),function(n,t){var u=t.viz.charts.series,o=t.viz.core,r=u.consts.states,f=u.BasePoint,i=Math.round,e=f.inherit({ctor:function(n){this.centerX=300,this.centerY=150,this.radiusOuter=120,this.radiusInner=0,this.INDENT_FROM_PIE=30,this.CONNECTOR_LENGTH=20,this.setLabelEllipsis=!1,this.callBase(n),this.minValue=0,this.tag=n.tag},translate:function(n){var t=this;(t.translator=n=n||t.translator,t.translator)&&(t.fromAngle=n.translate(t.minValue),t.toAngle=n.translate(t.value),t.middleAngle=n.translate((t.value-t.minValue)/2+t.minValue))},correctValue:function(n,t){var i=this;i.value+=n,i.minValue+=n,i.percent=t,i.labelFormatObject.percent=t},getTooltipCoords:function(){var n=t.utils.getCosAndSin(this.middleAngle);return{x:this.centerX+(this.radiusInner+(this.radiusOuter-this.radiusInner)/2)*n.cos,y:this.centerY-(this.radiusInner+(this.radiusOuter-this.radiusInner)/2)*n.sin,offset:0}},correctPosition:function(n){var t=this;t.radiusInner=n.radiusInner,t.radiusOuter=n.radiusOuter,t.centerX=n.centerX,t.centerY=n.centerY},drawMarker:function(n,t){var i=n.createArc(this.centerX,this.centerY,this.radiusOuter,this.radiusInner,this.toAngle,this.fromAngle,this.options.attributes);i.append(t),this.graphic=i;switch(this.state){case r.selected:this.series.setPointSelectedState(this);break;case r.hover:this.series.setPointHoverState(this);break;default:this.state=r.normal,this.fullState=r.normalMark}},drawTrackerMarker:function(n,t){var r=this,u=r.options,i=n.createArc(this.centerX,this.centerY,this.radiusOuter,this.radiusInner,this.toAngle,this.fromAngle,{stroke:"none",fill:"grey",opacity:.0001});i.append(t),this.initEventTriggering(i)},correctLabel:function(){this.correctLabelPosition(),this.checkEllipsis(),this.correctBackgroundPosition(),this.rotateLabel(),this.checkLabelPosition()},correctLabelPosition:function(){var e=this.label.getBBox(),o=this.options.label,n=t.utils.getCosAndSin(this.middleAngle),u="center",r=this.radiusOuter+o.radialOffset,f,s;switch(o.position){case"outside":r+=this.INDENT_FROM_PIE,n.cos>.1?u="left":n.cos<-.1&&(u="right"),f=this.centerX+r*n.cos;break;case"inside":r-=this.INDENT_FROM_PIE,f=this.centerX+r*n.cos;break;case"columns":r+=this.CONNECTOR_LENGTH,n.cos>0?(u="right",f=this.series.canvas.width-this.series.canvas.right):n.cos<0&&(u="left",f=this.series.canvas.left)}s=i(this.label.settings.y+this.centerY-r*n.sin-e.y-e.height/2),this.label.applySettings({x:f,y:s,align:u})},correctConnectorPosition:function(){if(this.options.label.position!=="inside"&&this.connector){var r=t.utils.getCosAndSin(i(this.middleAngle)),s=this.series.styles.attributes,c=this.series.userOptions.containerBackgroundColor===s.stroke?~~(s.strokeWidth/2):~~(-s.strokeWidth/2),f=this.radiusOuter,l=i(this.centerX+(f-c)*r.cos),a=i(this.centerY-(f-c)*r.sin),h,u,e,v,n,o=this.options.label,y;h=i(this.centerX+(f+o.radialOffset+this.CONNECTOR_LENGTH)*r.cos),o.position==="outside"&&(u=i(this.centerY-(f+o.radialOffset+this.CONNECTOR_LENGTH)*r.sin),this.connector.applySettings({points:[l,a,h,u]})),o.position==="columns"&&(n=this.insideLabelGroup.getBBox(),n.x=n.x+(this.insideLabelGroup.settings.translateX||0),n.y=n.y+(this.insideLabelGroup.settings.translateY||0),u=n.y+n.height/2,this.labelBackground?e=n.x+n.width/2:r.cos<0?e=n.x+n.width:r.cos>0&&(e=n.x),v=u,this.connector.applySettings({points:[{x:l,y:a},{x:h,y:u},{x:e,y:v}]}))}},rotateLabel:function(){var i=this.options.label,f=this.radiusOuter+i.radialOffset,e=t.utils.getCosAndSin(this.middleAngle),r,u,n=this.insideLabelGroup.getBBox();switch(i.position){case"outside":r=this.centerX+(f+i.radialOffset+this.CONNECTOR_LENGTH)*e.cos,u=this.centerY-(f+i.radialOffset+this.CONNECTOR_LENGTH)*e.sin;break;case"inside":r=n.x+n.width/2,u=n.y+n.height/2;break;case"columns":r=n.x+n.width/2,u=n.y+n.height/2}this.insideLabelGroup.applySettings({x:r,y:u,rotate:i.rotationAngle})},checkEllipsis:function(){var r=this,c,s=10,i,a,b=0,v=[],k=[],d,o,y,f,l,e,h=t.utils.getCosAndSin(r.options.label.rotationAngle),u=r.series.canvas,g=this.options.label,p=t.utils.getCosAndSin(this.middleAngle),w=this.centerX+(this.radiusOuter+this.CONNECTOR_LENGTH)*p.cos;if(r.label.tspans&&r.setLabelEllipsis){if(i=r.label.getBBox(),f=i.x+i.width<r.centerX?i.x+i.width:i.x,l=i.y+i.height/2,e=i.x+i.width<r.centerX?-i.width:i.width,l+e*h.sin>u.height-u.bottom+s||l+e*h.sin<u.top-s||f+e*h.cos<u.left-s||f+e*h.cos>u.width-u.right+s||g.position==="columns"&&(p.cos<0&&w<f||p.cos>0&&w>f))for(c=0;c<r.label.tspans.length;c++)b+=r.label.tspans[c].element.getNumberOfChars(),(!r.label.tspans[c+1]||r.label.tspans[c+1].settings.dy>0)&&(v.push(b),k.push(c),b=0);while(l+e*h.sin>u.height-u.bottom+s||l+e*h.sin<u.top-s||f+e*h.cos<u.left-s||f+e*h.cos>u.width-u.right+s||g.position==="columns"&&(p.cos<0&&w<f||p.cos>0&&w>f)){if(d=Math.max.apply(null,v),d===0)break;y=n.inArray(d,v),o=k[y],r.label.tspans[o].element.textContent==="..."?r.label.tspans[o].settings.dy>0||!r.label.tspans[o-1]?v[y]=0:r.label.tspans[o-1]&&(r.label.tspans[o].element.textContent="",k[y]-=1,r.label.tspans[o-1].element.textContent+="..."):(a=r.label.tspans[o].element.textContent,a=a.substr(0,a.length-4)+"...",r.label.tspans[o].element.textContent=a,v[y]-=1),i=r.label.getBBox(),f=i.x+i.width<r.centerX?i.x+i.width:i.x,l=i.y+i.height/2,e=i.x+i.width<r.centerX?-i.width:i.width}}},checkLabelPosition:function(){var i=this,n=i.insideLabelGroup.getBBox(),t=i.series.canvas;n.y+n.height>t.height-t.bottom?i.insideLabelGroup.move(0,t.height-n.y-n.height-t.bottom):n.y<t.top&&i.insideLabelGroup.move(0,t.top-n.y),n.x+n.width>t.width-t.right?i.insideLabelGroup.move(t.width-t.right-n.x-n.width,0):n.x<t.left&&i.insideLabelGroup.move(t.left-n.x,0)},animate:function(){var n=this;n._hideLabel(),n._showLabel(!0)}});u.PiePoint=e}(jQuery,DevExpress),function(n,t){var i=t.viz.charts.series,r=i.BaseSeries,u=20,f=80,e=r.inherit({ctor:function(n,t,i){i.specificType=i.specificType||"pie",this.callBase(n,t,i),this.labelSpace=this.styles.point.label.visible?f:0,this.hoverSpace=0&&this.styles.point.states.enableHover?u:0,this.innerRadius=this.type==="pie"?0:i.innerRadius,this.outerRadius=i.radius,this.redraw=!1},arrangePoints:function(){var i=this,t,f,u=0,h=this.translator,e=0,o,r,s=i.options.segmentsDirection!=="anticlockwise";for(i.points=n.map(i.points,function(n){return n.value===null||n.value===0||n.value<0?null:n}),t=i.points,f=t.length,r=0;r<f;r++)e+=t[r].value;n.each(s?t:t.concat([]).reverse(),function(n,t){var i=t.value;o=i/e,t.correctValue(u,o),u=u+i})},drawSeriesData:function(t,i,r){var u=this,f,h,e,o,s;return n.each(u.points,function(n,t){var i;t.hoverPatternColor||(t.hoverPatternColor=t.options.states.hover.fill,t.selectedPatternColor=t.options.states.selected.fill),i=u.getPointSpecificPatternId(t.hoverPatternColor,t.options.states.hover.hatching),i&&(t.options.states.hover.fill=i),i=u.getPointSpecificPatternId(t.selectedPatternColor,t.options.states.selected.hatching),i&&(t.options.states.selected.fill=i)}),this.callBase(t,i,r),u.styles.point.label.visible&&(f=0,u.styles.point.label.position==="columns"?(n.each(u.points,function(n,t){t.setLabelEllipsis=!0,h=t.insideLabelGroup.getBBox(),f=Math.max(h.width+t.INDENT_FROM_PIE+t.options.label.radialOffset,f)}),u.redraw=!0,e=u.canvas.height-u.canvas.top-u.canvas.bottom,o=u.canvas.width-u.canvas.left-u.canvas.right,s=o<e?o:e,u.labelSpace=f>s/2-f?s/2:2*f):n.each(u.points,function(n,t){t.setLabelEllipsis=!0,t.correctLabel()})),this},createPattern:function(){},getPointSpecificPatternId:function(n,t){var i=this.renderer.createPattern(n,t);return i.id},correctPosition:function(t){n.each(this.points,function(n,i){i.correctPosition(t)})},getRangeData:function(){var n=this.callBase();return n?(n.minY!==undefined&&(n.minY=n.minY>0?0:n.minY,n.maxY=n.maxY<0?0:n.maxY),n):n},parseStyleOptions:function(n){return n.label&&n.label.position&&n.label.position!=="outside"&&n.label.position!=="inside"&&n.label.position!=="columns"&&(n.label.position="outside"),n.label.position&&n.label.position==="columns"&&(n.label.connector.visible=!0),this.options.segmentsDirection=n.segmentsDirection||"clockwise",this.styles=this.callBase(n),this.adjustOptions(),this.styles},adjustOptions:function(){var t=this.styles,i=this.options,c=t.attributes,l=t.states.hover,a=t.states.selected,v=t.states.normal,r=t.point.attributes,u=t.point.states.hover,f=t.point.states.selected,e=t.point.states.normal,o=i.hoverMode,s=i.selectionMode,h=function(n){if(!n)return!1;switch(n.toLowerCase()){case"none":return!0}};n.extend(!0,r,c),n.extend(!0,u,l),n.extend(!0,f,a),n.extend(!0,e,v),u.r=f.r=e.r=r.r,t.point.hoverMode=h(o)&&o,t.point.selectionMode=h(s)&&s,t.point.visible=!0}});i.PieSeries=e}(jQuery,DevExpress),function(n,t){var i=t.viz.charts.series,r=t.utils,u=i.LineSeries,f=u.inherit({ctor:function(n,t,i,r){this.type=i.specificType=i.specificType||"stepline",this.callBase(n,t,i,r)},prepareSegments:function(t){var u=this,i=[];u.preparedSegments=u.preparedSegments||[],n.each(u.segments[t],function(n,t){var u,f;if(!n){i.push(t);return}u=i[i.length-1].y,u!==t.y&&(f=r.clone(t),f.y=u,i.push(f)),i.push(t)}),u.preparedSegments[t]=i}});i.StepLineSeries=f}(jQuery,DevExpress),function(n,t){var i=t.viz.charts.series,r=t.utils,u=i.AreaSeries,f=u.inherit({ctor:function(n,t,i,r){this.type=i.specificType=i.specificType||"steparea",this.callBase(n,t,i,r)},prepareSegments:function(t){var u=this,i=[];u.preparedSegments=u.preparedSegments||[],n.each(u.segments[t],function(n,t){var u,f;if(!n){i.push(t);return}u=i[i.length-1].y,u!==t.y&&(f=r.clone(t),f.y=u,i.push(f)),i.push(t)}),u.preparedSegments[t]=i}});i.StepAreaSeries=f}(jQuery,DevExpress),function(n,t){var r=t.Class,u=t.viz.charts.series,f=t.utils;u.SeriesFamily=r.inherit(function(){var f=function(i){var u=this,f=function(){};n.extend(u,i),u.type=u.type.toLowerCase(),u.series=[];switch(u.type){case"bar":case"rangebar":u.adjustSeriesDimensions=o,u.adjustSeriesValues=f;break;case"fullstackedbar":u.fullStacked=!0,u.adjustSeriesDimensions=r,u.adjustSeriesValues=t;break;case"stackedbar":u.adjustSeriesDimensions=r,u.adjustSeriesValues=t;break;case"fullstackedarea":case"fullstackedline":u.fullStacked=!0,u.adjustSeriesDimensions=f,u.adjustSeriesValues=t;break;case"stackedarea":case"stackedline":u.adjustSeriesDimensions=f,u.adjustSeriesValues=t;break;default:u.adjustSeriesDimensions=f,u.adjustSeriesValues=f}},e=function(t){var u=this,r,i;for(n.isArray(t)||(t=[t]),i=0;i<t.length;i++)r=t[i],r.type.toLowerCase()===u.type&&u.series.push(r)},i=function(t,i,r,u,f){var e,o,g,c,h,a,d,nt,p,l,w={},v={},b,y,s=Math.round,k;if(u)for(o=u.width&&u.width<0?0:u.width,e=u.spacing&&u.spacing<0?0:u.spacing,o&&!e?r>1?(e=s((i*.7-o*r)/(r-1)),e<1&&(e=1)):e=0:e&&!o?(o=s((i*.7-e*(r-1))/r),o<2&&(o=2)):e||o||(r>1?(e=s(i*.7/r*.2),e<1&&(e=1)):e=0,o=s((i*.7-e*(r-1))/r),o<2&&(o=2)),o*r+e*(r-1)>i&&(e=s((i*.7-o*r)/(r-1)),e<1&&(e=1,g=s((i*.7-e*(r-1))/r))),c=r/2,a=0;a<t.length;a++)h=f(a),nt=t[a].getPoints(),p=(h-c+.5)*(g||o)-(c-h-.5)*e,n.each(nt,function(n,t){t.correctCoordinates({width:o,offset:p})});else{n.each(t,function(n,t){l=t.getStackName&&t.getStackName(),l=l||n.toString(),v[l]||(v[l]=[]),v[l].push(t)}),n.each(t,function(t,i){n.each(i.getPoints(),function(n,t){var i=t.argument;w.hasOwnProperty(i)||(w[i]=1)})});for(k in w)w.hasOwnProperty(k)&&(b=[],n.each(v,function(t,i){n.each(i,function(n,i){return d=i.getPointByArg(k),d&&d.value?(b.push(t),!1):void 0})}),y=b.length,e=s(i*.7/y*.2),e<1&&(e=1),o=s((i*.7-e*(y-1))/y),o<2&&(o=2),c=y/2,n.each(v,function(t,i){(h=n.inArray(t,b),h!==-1)&&(p=(h-c+.5)*o-(c-h-.5)*e,n.each(i,function(n,t){var i=t.getPointByArg(k);i&&i.value&&i.correctCoordinates({width:o,offset:p})}))}))}},o=function(n){var t=this,r=t.series,e=t.equalBarWidth,f;t.translator=n,f=u(t),i(r,f,r.length,e,function(n){return n})},r=function(t){var r=this,o,f=r.series,e={},s=0,h=r.equalBarWidth;n.each(f,function(){var n=this.getStackName();e.hasOwnProperty(n)||(e[n]=s++)}),r.translator=t,o=u(r),i(f,o,s,h,function(n){return e[f[n].getStackName()]})},t=function(){var i=this,r=i.series,t={positive:{},negative:{}};n.each(r,function(i,r){var u=r.getPoints();n.each(u,function(n,i){var o=i.value,e=i.argument,s=r.getStackName?r.getStackName():"default",h=o>=0?"positive":"negative",f;t[h][s]=t[h][s]||{},f=t[h][s],f[e]?(u[n].correctValue(f[e]),f[e]+=o):f[e]=o})}),i.fullStacked&&s(r,t)},s=function(t,i){n.each(t,function(t,r){var u=r.getPoints();n.each(u,function(n,t){var s=t.value,f=r.getStackName?r.getStackName():"default",e=s>=0?"positive":"negative",o;i[e][f]=i[e][f]||{},o=i[e][f],u[n].normalizeValue(o[t.argument])})})},u=function(n){return n.interval=n.rotated?n.translator.getIntervalY():n.translator.getIntervalX()};return{ctor:f,add:e}}())}(jQuery,DevExpress),function(n,t){var r=t.viz.charts,i=r.series,u=t.viz.renderers;r.factory=function(){var n=function(n,t,r,u){u=u||{},u.specificType=null,n=(n||"").toLowerCase();switch(n.toLowerCase()){case"line":return new i.LineSeries(t,r,u);case"fullstackedline":return u.specificType="fullstackedline",new i.LineSeries(t,r,u);case"stackedline":return u.specificType="stackedline",new i.LineSeries(t,r,u);case"area":return new i.AreaSeries(t,r,u);case"fullstackedarea":return u.specificType="fullstackedarea",new i.AreaSeries(t,r,u);case"stackedarea":return u.specificType="stackedarea",new i.AreaSeries(t,r,u);case"bar":return new i.BarSeries(t,r,u);case"fullstackedbar":return u.specificType="fullstackedbar",new i.BarSeries(t,r,u);case"stackedbar":return u.specificType="stackedbar",new i.BarSeries(t,r,u);case"spline":return new i.SplineSeries(t,r,u);case"splinearea":return new i.SplineAreaSeries(t,r,u);case"scatter":return new i.ScatterSeries(t,r,u);case"candlestick":return new i.CandleStickSeries(t,r,u);case"stock":return new i.StockSeries(t,r,u);case"rangearea":return new i.RangeAreaSeries(t,r,u);case"rangebar":return new i.RangeBarSeries(t,r,u);case"pie":return new i.PieSeries(t,r,u);case"doughnut":case"donut":return u.specificType="doughnut",new i.PieSeries(t,r,u);case"stepline":return new i.StepLineSeries(t,r,u);case"steparea":return new i.StepAreaSeries(t,r,u);default:return null}},f=function(n){return new i.SeriesFamily(n)},e=function(n,t){return new r.Axis(n,t)},o=function(n){return new u.Renderer(n)},s=function(n,t){return new r.ThemeManager(n,t)},h=function(n){return new r.Legend(n)},c=function(n){return new r.Tooltip(n)},l=function(n){return new r.LayoutManager(n)},a=function(){return t.viz.core.tickProvider};return{createSeries:n,createSeriesFamily:f,createAxis:e,getAxisTickProvider:a,createRenderer:o,createThemeManager:s,createLegend:h,createTooltip:c,createChartLayoutManager:l}}()}(jQuery,DevExpress),function(n,t){var h=t.viz.charts,i=h.series.consts.events,c=t.utils,l=t.Class,e="multiple",o="single",u="allargumentpoints",s="allseriespoints",r=window.navigator.msPointerEnabled&&window.navigator.msMaxTouchPoints,a=1e3,v=600,f="none",y=l.inherit({ctor:function(n){n.events=n.events||{},this.container=n.container,this.storedSeries=n.series||[],this.argumentAxis=n.argumentAxis||[],this.pointSelectionMode=this._prepareMode(n.pointSelectionMode),this.seriesSelectionMode=this._prepareMode(n.seriesSelectionMode),this.hoverStartDelay=100,this.hoverHoldDelay=200,this.sensitivity=7,this.pointSelectionMode===e?(this._releaseSelectedPoint=this._releaseSelectedPointMultiMode,this.selectedPoint=[]):this._releaseSelectedPoint=this._releaseSelectedPointSingleMode,this.seriesSelectionMode===e?(this._releaseSelectedSeries=this._releaseSelectedSeriesMultiMode,this.selectedSeries=[]):this._releaseSelectedSeries=this._releaseSelectedSeriesSingleMode,this.seriesClick=n.events.seriesClick,this.pointClick=n.events.pointClick,this.argumentAxisClick=n.events.argumentAxisClick,this.seriesHover=n.events.seriesHover,this.seriesSelected=n.events.seriesSelected,this.pointHover=n.events.pointHover,this.pointSelected=n.events.pointSelected,this._prepareHandlers()},_setHover:function(n,t,r,u,e){if((t!==n.hoveredObject||(n.hoverHoldTimeOut=clearTimeout(n.hoverHoldTimeOut),u!==t.lastHoverMode))&&!n.mouseLocked&&u!==f){t.on(i.mousemove,{tracker:n},n._getCurCoords);n.hoverStartTimeOut=setTimeout(function(){n._compareCoords(e,t,n,r)},n.hoverStartDelay)}},_releaseHover:function(n,t,r){n.hoverStartTimeOut=clearTimeout(n.hoverStartTimeOut),t===n.hoveredObject&&(n.hoverHoldTimeOut=setTimeout(function(){t.off(i.mousemove),n.hoveredObject=null,r()},n.hoverHoldDelay))},_prepareMode:function(n){return n=(n||"").toLowerCase(),n=n!==o&&n!==e?o:n},_prepareHandlers:function(){this._prepareSeriesHandlers(),this._prepareArgumentAxisHandlers()},_prepareSeriesHandlers:function(){var t=this;n.each(t.storedSeries,function(n,u){if(u.getPoints().length){t._preparePointsHandlers(u);u.on(r?i.MSPointerOver:i.mouseover,{tracker:t},t._seriesMouseOver);u.on(r?i.MSPointerOut:i.mouseout,{tracker:t},t._seriesMouseOut);u.on(r?i.MSPointerDown:i.touchstart,{tracker:t},t._seriesTouchStart);u.on(i.touchmove,{tracker:t},t._seriesTouchEnd);u.on(r?i.MSPointerUp:i.touchend,{tracker:t},t._seriesTouchEnd);u.on(i.click,{tracker:t},t._seriesClick);u.on(i.selectSeries,{tracker:t},t._selectSeries);u.on(i.deselectSeries,{tracker:t},t._deselectSeries);u.on(i.selectPoint,{tracker:t},t._selectPoint);u.on(i.deselectPoint,{tracker:t},t._deselectPoint);t.seriesHavePoints=!0}})},_preparePointsHandlers:function(t){var u=this,f=t.getPoints();n.each(f,function(n,f){f.on(r?i.MSPointerOver:i.mouseover,{tracker:u,series:t},u._pointMouseOver);f.on(r?i.MSPointerOut:i.mouseout,{tracker:u,series:t},u._pointMouseOut);f.on(r?i.MSPointerDown:i.touchstart,{tracker:u},u._pointTouchStart);f.on(i.touchmove,{tracker:u},u._pointTouchEnd);f.on(r?i.MSPointerUp:i.touchend,{tracker:u},u._pointTouchEnd);f.on(i.click,{tracker:u},u._pointClick)})},_prepareArgumentAxisHandlers:function(){var t=this;t.seriesHavePoints&&n.each(t.argumentAxis,function(n,u){u.on(r?i.MSPointerOver:i.mouseover,{tracker:t},t._argumentAxisMouseOver);u.on(r?i.MSPointerOut:i.mouseout,{tracker:t},t._argumentAxisMouseOut);u.on(r?i.MSPointerDown:i.touchstart,{tracker:t},t._argumentAxisTouchStart);u.on(i.touchmove,{tracker:t},t._argumentAxisTouchEnd);u.on(r?i.MSPointerUp:i.touchend,{tracker:t},t._argumentAxisTouchEnd);u.on(i.click,{tracker:t},t._argumentAxisClick)})},_seriesClick:function(n,t){var i=n.data.tracker;i.lockClick||i.seriesClick&&i.seriesClick.call&&i.seriesClick.call(t,t)},_pointClick:function(t,i){var r=t.data.tracker,u=i.series;if(!r.lockClick){if(r.pointClick&&r.pointClick.call&&r.pointClick!=n.noop){r.pointClick.call(i,i);return}r.seriesClick&&r.seriesClick.call&&r.seriesClick.call(u,u);return}},_argumentAxisClick:function(n,t,i){var r=n.data.tracker;r.lockClick||r.argumentAxisClick&&r.argumentAxisClick.call&&r.argumentAxisClick.call(t,t,i)},_argumentAxisMouseOver:function(t,i,r,e){var o=t.data.tracker,s=e===u?e:f,h=function(){o.mouseLocked||(o._clearHover(o),n.each(o.storedSeries,function(n,t){var i=t.getPointByArg(r);i&&t.setPointHoverState(i)}),o.hoveredArgument=r,n(i).trigger("testmousehoveraxis"))};o.hoveredArgument!==r&&o._setHover(o,i,h,s,t)},_argumentAxisMouseOut:function(t,r,f,e){var o=t.data.tracker;(o.hoverStartTimeOut=clearTimeout(o.hoverStartTimeOut),e===u&&o.hoveredObject===r)&&(n.each(o.storedSeries,function(n,t){var i=t.getPointByArg(f);i&&t.releasePointHoverState(i)}),o.hoveredObject=null,o.hoveredArgument=null,r.off(i.mousemove))},_argumentAxisTouchStart:function(t,i,r,u){var e=t.data.tracker;u!==f&&(e._clearHover(e),n.each(e.storedSeries,function(n,t){var i=t.getPointByArg(r);i&&t.setPointHoverState(i)}),e._mouseAndClickLock(e))},_argumentAxisTouchEnd:function(t,i,r,f){var e=t.data.tracker;f=i.options.hoverMode,f===u&&n.each(e.storedSeries,function(n,t){var i=t.getPointByArg(r);i&&t.releasePointHoverState(i)})},_seriesMouseOver:function(n,t,i){var r=n.data.tracker,u;i=i||t.options.hoverMode,u=function(){r.mouseLocked||r._setHoveredSeries(t,i)},r._setHover(r,t,u,i,n)},_seriesMouseOut:function(n,t,i){var r=n.data.tracker,u;i=i||t.options.hoverMode,u=function(){r._clearHover(r)},r._releaseHover(r,t,u)},_seriesTouchStart:function(n,t,i){if(i!==f){var r=n.data.tracker;i=i||t.options.hoverMode,r._mouseAndClickLock(r),r._setHoveredSeries(t,i)}},_seriesTouchEnd:function(n,t,i){if(i!==f){var r=n.data.tracker;i=i||t.options.hoverMode,r._clearHover(r)}},_selectSeries:function(n,t){var i=n.data.tracker,r=n.target;i._setSelectedSeries(r,t)},_deselectSeries:function(n,t){var i=n.data.tracker,r=n.target;i._releaseSelectedSeries(r,t)},_selectPoint:function(n,t){var i=n.data.tracker,r=n.target;i._setSelectedPoint(t)},_deselectPoint:function(n,t){var i=n.data.tracker,r=n.target;i._releaseSelectedPoint(t)},_pointMouseOver:function(n,t,i){var r=n.data.tracker,f=r&&r.tooltip,e;if(i=i||t.options.hoverMode,i===u&&r.hoveredPoint&&r.hoveredPoint.argument===t.argument){r.hoverHoldTimeOut=clearTimeout(r.hoverHoldTimeOut),r._setHoveredPoint(t),r.hoveredObject=t,f&&f.hide(),r.tooltip&&r._showTooltip(n,t);return}e=function(n,t){r.mouseLocked||(i!=="none"&&r._setHoveredPoint(t),r.tooltip&&r._showTooltip(n,t))},(r.tooltip||i!=="none")&&r._setHover(r,t,e,i,n)},_pointMouseOut:function(n,t){var i=n.data.tracker,u=i&&i.tooltip,f=n.data.series,e=t.options.hoverMode,r=function(){i.hoveredPoint&&i._clearHover(i)};i._releaseHover(i,t,r)},_pointTouchStart:function(n,t,i){if(i!==f){var r=n.data.tracker;i=i||t.options.hoverMode,r._mouseAndClickLock(r),r._setHoveredPoint(t),r.tooltip&&r._showTooltip(n,t)}},_pointTouchEnd:function(n,t){var i=n.data.tracker,r=i&&i.tooltip,u=n.data.series,f=t.options.hoverMode;r&&r.hide(),i.hoveredPoint&&i._clearHover(i)},_showTooltip:function(n,t){var i=n.data.tracker.tooltip,f=t.getTooltipFormatObject(i),r,u;c.isDefined(f.valueText)&&(r=t.getTooltipCoords(),u=i.formatTooltip.call(f,i.options),c.isDefined(u))&&(i.show(),i.move(~~r.x,~~r.y,r.offset,u,t.getColor(),t.getClassName()))},_setHoveredSeries:function(n,t){var i=this;(i.hoveredSeries!==n||n.lastHoverMode!==t)&&(i._clearHover(i),i.hoveredSeries=n,n.setHoverState(t),i.seriesHover&&i.seriesHover.call&&i.seriesHover.call(n,n))},_setSelectedSeries:function(t,i){var r=this,u=!1;this.seriesSelectionMode===e?n.each(r.selectedSeries,function(n,i){if(i==t)return u=!0,!1}):r.selectedSeries==t&&(u=!0),u&&t.lastSelectionMode===i||(r.seriesSelectionMode===o?(this._releaseSelectedSeries(),r.selectedSeries=t):r.selectedSeries.push(t),t.setSelectedState(i),r.seriesSelected&&r.seriesSelected.call&&r.seriesSelected.call(t,t))},_setHoveredPoint:function(t){var i=this;i.hoveredPoint!==t&&(i._clearHover(i),i.hoveredPoint=t,t.series&&t.options.hoverMode===s?n.each(t.series.points,function(n,t){t.series.setPointHoverState(t)}):t.options.hoverMode===u?n.each(i.storedSeries,function(n,i){var r=i.getPointByArg(t.argument);r&&i.setPointHoverState(r)}):t.setHoverState(),i.pointHover&&i.pointHover.call&&i.pointHover.call(t,t))},_setSelectedPoint:function(t){var i=this,r=!1;if(this.pointSelectionMode===e?(n.each(i.selectedPoint,function(n,i){if(i==t)return r=!0,!1}),r||i.selectedPoint.push(t)):i.selectedPoint!==t?(this._releaseSelectedPoint(),i.selectedPoint=t):r=!0,!r){switch(t.options.selectionMode){case u:n.each(i.storedSeries,function(n,i){var r=i.getPointByArg(t.argument);r&&i.setPointSelectedState(r)});break;case s:n.each(t.series.points,function(n,t){t.series.setPointSelectedState(t)});break;case f:break;default:t.setSelectedState()}i.pointSelected&&i.pointSelected.call&&i.pointSelected.call(t,t)}},_releaseHoveredSeries:function(){this.hoveredSeries&&(this.hoveredSeries.releaseHoverState(),this.hoveredSeries=null)},_releaseSelectedSeriesMultiMode:function(t){this.selectedSeries&&(t.releaseSelectedState(),this.selectedSeries=n.map(this.selectedSeries,function(n){if(n!==t)return n}))},_releaseSelectedSeriesSingleMode:function(){this.selectedSeries&&(this.selectedSeries.releaseSelectedState(),this.selectedSeries=null)},_releaseHoveredPoint:function(){var i=this,r=i&&i.tooltip,t=i.hoveredPoint;t&&(r&&r.hide(),t.options.hoverMode===s?n.each(t.series.points,function(n,t){t.series.releasePointHoverState(t)}):t.options.hoverMode===u?n.each(i.storedSeries,function(n,i){var r=i.getPointByArg(t.argument);r&&i.releasePointHoverState(r)}):t.releaseHoverState(),i.hoveredPoint=null)},_releaseSelectedPointMultiMode:function(t){var i=this,r=i.selectedPoint;if(r){switch(t.options.selectionMode){case u:n.each(i.storedSeries,function(n,i){var r=i.getPointByArg(t.argument);r&&i.releasePointSelectedState(r)});break;case s:n.each(t.series.points,function(n,t){t.series.releasePointSelectedState(t)});break;case f:break;default:t.releaseSelectedState()}this.selectedPoint=n.map(this.selectedPoint,function(n){if(n!==t)return n})}},_releaseSelectedPointSingleMode:function(){var i=this,t=i.selectedPoint;if(t){switch(t.options.selectionMode){case u:n.each(i.storedSeries,function(n,i){var r=i.getPointByArg(t.argument);r&&i.releasePointSelectedState(r)});break;case s:n.each(t.series.points,function(n,t){t.series.releasePointSelectedState(t)});break;case f:break;default:t.releaseSelectedState()}this.selectedPoint=null}},clearSelection:function(){var t=this;this.pointSelectionMode===o?this._releaseSelectedPoint():n.each(this.selectedPoint,function(n,i){t._releaseSelectedPoint(i)}),this.seriesSelectionMode===o?this._releaseSelectedSeries():n.each(this.selectedSeries,function(n,i){t._releaseSelectedSeries(i)})},_compareCoords:function(n,t,r,u){r.hoverStartTimeOut=clearTimeout(r.hoverStartTimeOut),Math.abs(r.pX-r.cX)+Math.abs(r.pY-r.cY)<r.sensitivity?(t.off(i.mousemove),r.hoverHoldTimeOut=clearTimeout(r.hoverHoldTimeOut),r.hoveredObject=t,u(n,t)):(r.pX=r.cX,r.pY=r.cY,r.hoverStartTimeOut=setTimeout(function(){r._compareCoords(n,t,r,u)},r.hoverStartDelay))},_mouseAndClickLock:function(n){n.unlockMouseTimer&&clearTimeout(n.unlockMouseTimer),n.mouseLocked=!0,n.unlockMouseTimer=setTimeout(function(){n.mouseLocked=!1},a),n.lockClick=!1,n.lockClickTimer&&clearTimeout(n.lockClickTimer),n.lockClickTimer=setTimeout(function(){n.lockClick=!0},v)},_getCurCoords:function(n){var t=n.data.tracker;t.cX=n.pageX,t.cY=n.pageY},_clearHover:function(n){n._releaseHoveredSeries(),n._releaseHoveredPoint()}});h.Tracker=y}(jQuery,DevExpress),function(n){n.viz.gauges={__internals:{circularNeedles:{},circularMarkers:{},linearNeedles:{},linearMarkers:{}}}}(DevExpress),function(n,t){var e=n.viz.gauges,h=n.viz.renderers,i=e.__internals,u=i.circularNeedles,o=i.circularMarkers,f=i.linearNeedles,s=i.linearMarkers,r=n.utils.isString;e.__factory={createTranslator:function(t,i,r,u){return new n.viz.core.Translator1D(r,u,t,i)},createRenderer:function(n){return new h.Renderer(n)},createCircularNeedle:function(n){if(r(n))switch(n.toLowerCase()){case"rectangle":return new u.RectangleNeedle;case"twocolorrectangle":return new u.TwoColorRectangleNeedle;case"triangle":return new u.TriangleNeedle}return t},createLinearNeedle:function(n){if(r(n))switch(n.toLowerCase()){case"rectangle":return new f.RectangleNeedle;case"rhombus":return new f.RhombusNeedle;case"circle":return new f.CircleNeedle}return t},createCircularMarker:function(n){if(r(n))switch(n.toLowerCase()){case"triangle":return new o.TriangleMarker;case"textcloud":return new o.TextCloudMarker}return t},createLinearMarker:function(n){if(r(n))switch(n.toLowerCase()){case"triangle":return new s.TriangleMarker;case"textcloud":return new s.TextCloudMarker}return t},createCircularRangeBar:function(){return new i.CircularRangeBar},createLinearRangeBar:function(){return new i.LinearRangeBar},createCircularScale:function(){return new i.CircularScale},createLinearScale:function(){return new i.LinearScale},createCircularRangeContainer:function(){return new i.CircularRangeContainer},createLinearRangeContainer:function(){return new i.LinearRangeContainer},createCircularSpindle:function(){return new i.CircularSpindle},createTitle:function(){return new i.Title},createIndicator:function(){return i.Indicator&&new i.Indicator||null},createTooltip:function(){return new i.Tooltip},createLayoutManager:function(){return new i.LayoutManager},createThemeManager:function(n){return new i.ThemeManager(n)},createPresetManager:function(){return new i.PresetManager},createTracker:function(){return new i.Tracker}}}(DevExpress),function(n,t){var r=t.extend;n.viz.gauges.__internals.BaseGaugeItem=n.Class.inherit({ctor:function(){this._options={}},_getDefaultOptions:function(){return{}},create:function(n){var t=this;return t._renderer=n.renderer,t._rootElement=t._renderer.createGroup().append(n.ownerElement),r(!0,t._options,t._getDefaultOptions(),n),t._create(n),t},update:function(n){var t=this;return r(!0,t._options,n),t._update(n),t},showTooltip:function(n,t,i){n&&n.$element&&n.$element.trigger("showToolTip",[t,i])},hideTooltip:function(n){n&&n.$element&&n.$element.trigger("hideToolTip")},destroy:function(){return this._rootElement.remove(),this}})}(DevExpress,jQuery),function(n,t,i){function h(n,t){var i=0,r=t.length-1,e=t[i]-t[r]<0,u,f=-1;for(t[i]===n&&(f=i),t[r]===n&&(f=r);f<0&&i<=r;)u=~~((i+r)/2),t[u]===n?f=u:t[u]-n<0===e?i=u+1:r=u-1;return f}function rt(n,t){var i,r,f;return n>t&&(f=t,t=n,n=f),i=0<=n&&n<=180?u(90-n):u(270-n),i=n<90&&90<t||n<270&&270<t?0:i,r=0<t&&t<180?u(90-t):u(270-t),i<r?i:r}var p=n.formatHelper,c=n.utils.getCosAndSin,l=n.utils.normalizeAngle,w=n.utils.convertAngleToRendererSpace,a=n.utils.isDefined,v=n.utils.isString,b=n.utils.isFunction,e=n.utils.isArray,k=window.isNaN,r=window.Number,d=window.String,o=Math.max,ut=Math.min,u=Math.abs,g=Math.atan,nt=Math.acos,y=Math.ceil,tt=t.extend,f=t.map,s=Math.PI,it=n.viz.core.tickProvider;n.viz.gauges.__internals.BaseScale=n.Class.inherit({setup:function(n){var t=this;return t._renderer=n.renderer,t._owner=n.owner,t._incidentOccured=n.incidentOccured,t},init:function(n){var t=this;return t._options=tt(!0,t._options||{},n),t._options.majorTick||(t._options.majorTick={}),t._options.minorTick||(t._options.minorTick={}),n&&n.majorTick&&a(n.majorTick.customTickValues)&&(t._options.majorTick.customTickValues=e(n.majorTick.customTickValues)?n.majorTick.customTickValues.slice(0):null),n&&n.minorTick&&a(n.minorTick.customTickValues)&&(t._options.minorTick.customTickValues=e(n.minorTick.customTickValues)?n.minorTick.customTickValues.slice(0):null),delete t._processed,t},_getCustomValues:function(n,t){var u=this._options.translator,i=[];return e(n)&&(i=f(n,function(n){return k(u.translate(n))?null:r(n)}).sort(t),i=f(i,function(n,t){return n!==i[t-1]?n:null})),i},_getTicks:function(){var u=this,n=u._options,s=n.translator,y=s.getDomainStart(),p=s.getDomainEnd(),l=y<p?function(n,t){return n-t}:function(n,t){return t-n},w=u._getGridSpacingFactor(),a,t,e,o,c,b,v={};return a=it.getFullTicks(y,p,u._getScreenDelta(),{tickInterval:n.majorTick.tickInterval>0?r(n.majorTick.tickInterval):i,gridSpacingFactor:w.majorTicks,numberMultipliers:[1,2,5]},{tickInterval:n.minorTick.tickInterval>0?r(n.minorTick.tickInterval):i,gridSpacingFactor:w.minorTicks,numberMultipliers:[1,2,5]}),n.majorTick.showCalculatedTicks?(t=a.majorTicks,n.majorTick.useTicksAutoArrangement&&(t=u._cutTicks(t))):t=[],o=u._getCustomValues(n.majorTick.customTickValues,l),o=f(o,function(n){return h(n,t)===-1?n:null}),e=n.minorTick.showCalculatedTicks?a.minorTicks:[],e=f(e,function(n){return h(n,o)===-1?n:null}),c=u._getCustomValues(n.minorTick.customTickValues,l),b=t.concat(e,o).sort(l),c=f(c,function(n){return h(n,b)===-1?n:null}),v.major=f(t.concat(o),function(n){return{value:n,position:s.translate(n)}}),v.minor=f(e.concat(c),function(n){return{value:n,position:s.translate(n)}}),v},_cutTicks:function(n){for(var t=this,u=t._getCuttingFactor(n.length,{width:t._textWidth,height:t._textHeight}),r=[],i=0,f=n.length;i<f;i+=u)r.push(n[i]);return r},_renderContent:function(n){var t=this,r=t._options,i,u,e,f,o,h,c,l,s;if(t._majorTickLength&&t._majorTickWidth)for(h=v(r.majorTick.color)?r.majorTick.color:"none",f=t._getTickPoints(t._majorTickLength,t._majorTickWidth),i=0,u=n.major.length,r.hideFirstTick===!0&&++i,r.hideLastTick===!0&&--u;i<u;++i)e=n.major[i],o=t._renderer.createArea(f,{"class":"dx-major-tick",fill:h,stroke:"none",strokeWidth:0}),t._moveTick(o,e),o.append(t._majorTicks);if(t._minorTickLength&&t._minorTickWidth)for(c=v(r.minorTick.color)?r.minorTick.color:"none",f=t._getTickPoints(t._minorTickLength,t._minorTickWidth),i=0,u=n.minor.length;i<u;++i)e=n.minor[i],o=t._renderer.createArea(f,{"class":"dx-minor-tick",fill:c,stroke:"none",strokeWidth:0}),t._moveTick(o,e),o.append(t._minorTicks);if(t._textIndent)for(l=t._getLabelPosition(t._majorTickLength||0,t._textIndent),i=0,u=n.major.length,r.hideFirstLabel===!0&&++i,r.hideLastLabel===!0&&--u;i<u;++i)e=n.major[i],s=t._formatValue(e.value),f=t._getLabelOptions(s,l,t._textIndent,e),t._renderer.createText(s,f.x,f.y+t._textVerticalOffset,{"class":"dx-gauge-scale-label",align:f.align,font:r.label.font}).append(t._labels)},_processOptions:function(){var n=this,t=n._options;n._processed||(n._processed=!0,n._setupOrientation(),t.majorTick.visible&&(t.majorTick.length>0?n._majorTickLength=r(t.majorTick.length):n._incidentOccured('Major ticks are not rendered because the value of "majorTick.length" option is not valid'),t.majorTick.width>0?n._majorTickWidth=r(t.majorTick.width):n._incidentOccured('Major ticks are not rendered because the value of "majorTick.width" option is not valid')),t.minorTick.visible&&(t.minorTick.length>0?n._minorTickLength=r(t.minorTick.length):n._incidentOccured('Minor ticks are not rendered because the value of "minorTick.length" option is not valid'),t.minorTick.width>0?n._minorTickWidth=r(t.minorTick.width):n._incidentOccured('Minor ticks are not rendered because the value of "minorTick.width" option is not valid')),t.label.visible&&(r(t.label.indentFromTick)!==0?(n._textIndent=r(t.label.indentFromTick),n._measureText()):n._incidentOccured('Labels are not rendered because the value of the "label.indentFromTick" option is not valid')))},render:function(){var n=this,t;return n._rootElement||(n._rootElement=n._renderer.createGroup({"class":"scale"}),n._majorTicks=n._renderer.createGroup({"class":"dx-major-ticks"}).append(n._rootElement),n._minorTicks=n._renderer.createGroup({"class":"dx-minor-ticks"}).append(n._rootElement),n._labels=n._renderer.createGroup({"class":"labels"}).append(n._rootElement)),n._rootElement.append(n._owner),n._majorTicks.clear(),n._minorTicks.clear(),n._labels.clear(),n._processOptions(),n._isVisible()?(t=n._getTicks(),n._renderContent(t)):n._rootElement&&(n._rootElement.remove(),delete n._rootElement,delete n._majorTicks,delete n._minorTicks,delete n._labels),n},_formatValue:function(n){var i=this._options.label,t=p.format(n,i.format,i.precision);return b(i.customizeText)&&(t={value:n,valueText:t},t=d(i.customizeText.call(t,t))),t},_getSampleText:function(){var n=this,t=n._formatValue(n._options.translator.getDomainStart()),i=n._formatValue(n._options.translator.getDomainEnd());return t.length>=i.length?t:i},_measureText:function(){var n=this,i=n._renderer.createGroup({"class":"scale"}).append(n._rootElement),u=n._renderer.createGroup({"class":"labels"}).append(i),r=n._getSampleText(),f=n._renderer.createText(r,0,0,{"class":"dx-gauge-scale-label",align:"center",font:n._options.label.font}).append(u),t=f.getBBox();i.remove(),n._textVerticalOffset=-t.y-t.height/2,n._textWidth=t.width,n._textHeight=t.height,n._textLength=r.length}}),n.viz.gauges.__internals.CircularScale=n.viz.gauges.__internals.BaseScale.inherit({_getGridSpacingFactor:function(){return{majorTicks:17,minorTicks:5}},_getScreenDelta:function(){var n=this._options;return(n.translator.getCodomainStart()-n.translator.getCodomainEnd())*n.radius*s/180},_getCuttingFactor:function(n,t){var i=this,w=i._options,b=w.translator.getCodomainStart(),k=w.translator.getCodomainEnd(),f=i._getLabelPosition(i._majorTickLength||0,i._textIndent),e=rt(l(b),l(k)),h=c(e),d=(b-k)/n,a,v,tt,p,r,it=1;return tt=(h.sin*f+t.width)/(h.cos*f),v=u(e-g(tt)*180/s),r=h.cos-t.height/f,p=-1>r||r>1?90:u(e-nt(r)*180/s),a=v<p?v:p,d<a&&(it=y(a/d)),o(1,it)},_setupOrientation:function(){var n=this,t=0,i=0;switch(n._options.orientation){case"inside":t=1;break;case"center":t=i=.5;break;default:n._options.orientation!=="outside"&&n._incidentOccured('The value of the "orientation" option is not valid'),i=1}n._inner=t,n._outer=i},_getTickPoints:function(n,t){var i=this._options,r=i.x-t/2,u=i.x+t/2,f=i.y-i.radius-n*this._outer,e=i.y-i.radius+n*this._inner;return[r,f,u,f,u,e,r,e]},_moveTick:function(n,t){n.rotate(w(t.position),this._options.x,this._options.y)},_getLabelPosition:function(n,t){return this._options.radius+n*(t>=0?this._outer:-this._inner)+t},_getLabelOptions:function(n,t,i,r){var u=this,s=u._options,f=c(r.position),e=s.x+f.cos*t,o=s.y-f.sin*t,h=f.cos*(n.length/u._textLength)*u._textWidth/2,l=f.sin*u._textHeight/2;return i>0?(e+=h,o-=l):(e-=h,o+=l),{x:e,y:o,align:"center"}},_isVisible:function(){var n=this,t=n._majorTickLength||0,i=n._options.radius,r=i-n._inner*t,u=i+n._outer*t;return r>0&&u>r},measure:function(){var n=this,i=n._options,t={min:i.radius,max:i.radius};return n._processOptions(),n._majorTickLength&&(t.min-=n._inner*n._majorTickLength,t.max+=n._outer*n._majorTickLength),n._textIndent&&(n._textIndent>=0?(t.horizontalOffset=n._textIndent+n._textWidth,t.verticalOffset=n._textIndent+n._textHeight):(t.horizontalOffset=0,t.verticalOffset=0,t.min+=n._textIndent-o(n._textWidth,n._textHeight)),t.inverseHorizontalOffset=n._textWidth/2,t.inverseVerticalOffset=n._textHeight/2),t}}),n.viz.gauges.__internals.LinearScale=n.viz.gauges.__internals.BaseScale.inherit({_getGridSpacingFactor:function(){return{majorTicks:25,minorTicks:5}},_getScreenDelta:function(){return u(this._options.translator.getCodomainEnd()-this._options.translator.getCodomainStart())},_getCuttingFactor:function(n,t){var i=this._options,r=this._vertical?t.height:t.width,f=u(i.translator.getCodomainEnd()-i.translator.getCodomainStart());return o(1,y(n*r/(f+r)))},_setupOrientation:function(){var n=this,t=0,i=0;if(n._vertical=n._options.orientation==="vertical",n._vertical)switch(n._options.horizontalOrientation){case"left":t=1;break;case"center":t=i=.5;break;default:n._options.horizontalOrientation!=="right"&&n._incidentOccured('The value of the "horizontalOrientation" option is not valid'),i=1}else switch(n._options.verticalOrientation){case"top":t=1;break;case"middle":t=i=.5;break;default:n._options.verticalOrientation!=="bottom"&&n._incidentOccured('The value of the "verticalOrientation" option is not valid'),i=1}n._inner=t,n._outer=i},_getTickPoints:function(n,t){var i=this._options,r,u,f,e;return this._vertical?(r=i.x-n*this._inner,u=i.x+n*this._outer,f=-t/2,e=t/2):(r=-t/2,u=t/2,f=i.y-n*this._inner,e=i.y+n*this._outer),[r,f,u,f,u,e,r,e]},_moveTick:function(n,t){var u=this._options,i=0,r=0;this._vertical?r=t.position:i=t.position,n.move(i,r)},_getLabelPosition:function(n,t){var r=this._options,i=n*(t>=0?this._outer:-this._inner)+t;return i+=this._vertical?r.x:r.y+(t>=0?1:-1)*this._textVerticalOffset},_getLabelOptions:function(n,t,i,r){var u,f,e;return this._vertical?(u=t,f=r.position,e=i>0?"left":"right"):(u=r.position,f=t,e="center"),{x:u,y:f,align:e}},_isVisible:function(){return!0},measure:function(){var n=this,i=n._options,t;return n._processOptions(),n._vertical?(t={min:i.x,max:i.x},n._majorTickLength&&(t.min-=n._inner*n._majorTickLength,t.max+=n._outer*n._majorTickLength),n._textIndent&&(n._textIndent>=0?t.max+=n._textIndent+n._textWidth:t.min+=n._textIndent-n._textWidth,t.indent=n._textHeight/2)):(t={min:i.y,max:i.y},n._majorTickLength&&(t.min-=n._inner*n._majorTickLength,t.max+=n._outer*n._majorTickLength),n._textIndent&&(n._textIndent>=0?t.max+=n._textIndent+n._textHeight:t.min+=n._textIndent-n._textHeight,t.indent=n._textWidth/2)),t}})}(DevExpress,jQuery),function(n,t,i){var u=n.formatHelper,f=n.utils.isFunction,e=window.isFinite,r=window.Number,o=window.String,s=t.extend;n.viz.gauges.__internals.BaseIndicator=n.viz.gauges.__internals.BaseGaugeItem.inherit({setup:function(n){var t=this;return t._renderer=n.renderer,t._owner=n.owner,t._trackerOwner=n.tracker,t._options={},t},init:function(n){return s(!0,this._options,n||{}),this},render:function(){var n=this;return n._actualValue=n._currentValue=r(n._options.currentValue),n._isCurrentValueLocked=!1,delete n._setCurrentValueNext,delete n._setCurrentValueHas,n._animateStep=n._animateStep||function(t,i){var r=n;r._updateActualValue(r._animateStart+r._animateDelta*i.pos)},n._animateComplete=n._animateComplete||function(){var t=n;t._setCurrentValueHas?(t._runAnimation(t._actualValue,t._setCurrentValueNext),t._setCurrentValueHas=!1):(t._isCurrentValueLocked=!1,delete t._animateStart,delete t._animateDelta),t._setCurrentValueNext=i},n},_formatValue:function(n){var t=this._options.text,i=u.format(n,t.format,t.precision),r={value:n,valueText:i};return f(t.customizeText)?o(t.customizeText.call(r,r)):i},_getActualPosition:function(){return this._options.translator.translate(this._actualValue)},_getSampleText:function(){var n=this,t=n._options,i,r,u;return t.text&&(i=n._formatValue(t.translator.getDomainStart()),r=n._formatValue(t.translator.getDomainEnd()),u=i.length>=r.length?i:r),u},_updateActualValue:function(n){this._actualValue=n,this._updateActiveElements()},_runAnimation:function(n,t){var i=this;i._isCurrentValueLocked=!0,i._animateStart=n,i._animateDelta=t-n,i._rootElement.animate({fake:!0},{duration:i._options.animationDuration,step:i._animateStep,complete:i._animateComplete})},getCurrentValue:function(){return this._currentValue},setCurrentValue:function(n){var t=this,i=t._currentValue,u=r(n),f;return i!==u&&e(t._options.translator.translate(u))&&(i=t._currentValue=u,t._rootElement&&(t._options.animationEnabled?t._isCurrentValueLocked?(t._setCurrentValueNext=u,t._setCurrentValueHas=!0):t._runAnimation(t._actualValue,i):t._updateActualValue(i))),i}})}(DevExpress,jQuery),function(n,t){var u=t.extend,r=n.viz.core.TextCloud;n.viz.gauges.__internals.BaseTextCloudMarker=n.viz.gauges.__internals.BaseIndicator.inherit({_updateActiveElements:function(){var n=this,i,t=new r,u=n._getTextCloudOptions();n._text.applySettings({text:n._formatValue(n._actualValue)}),i=n._text.getBBox(),t.setup({x:u.x,y:u.y,textWidth:i.width,textHeight:i.height,horMargin:n._options.horizontalOffset,verMargin:n._options.verticalOffset,tailLength:n._options.arrowLength,type:u.type}),n._text.applySettings({x:t.cx(),y:t.cy()+n._textVerticalOffset}),n._cloud.applySettings({points:t.points()})},_measureText:function(){var n=this,t;n._rootElement=n._rootElement||n._renderer.createGroup({"class":"marker"}),n._rootElement.append(n._owner),n._cloud=n._cloud||n._renderer.createArea().append(n._rootElement),n._text=n._text||n._renderer.createText().append(n._rootElement),n._text.applySettings({x:0,y:0,align:"center",font:n._options.text.font,text:n._getSampleText()}),t=n._text.getBBox(),n._textVerticalOffset=-t.y-t.height/2,n._textWidth=t.width,n._textHeight=t.height,n._textFullWidth=n._textWidth+2*n._options.horizontalOffset,n._textFullHeight=n._textHeight+2*n._options.verticalOffset},render:function(){var n=this;return n.callBase(),n._isVisible()?(n._measureText(),n._cloud.applySettings({stroke:"none",strokeWidth:0,fill:n._options.color}),n._updateActiveElements()):n.clear(),n},clear:function(){var n=this;n._rootElement&&(n._rootElement.remove(),delete n._rootElement,delete n._cloud,delete n._text)}})}(DevExpress,jQuery),function(n,t,i){var r=t.extend;n.viz.gauges.__internals.BaseRangeBar=n.viz.gauges.__internals.BaseIndicator.inherit({_prepare:function(){var n=this,t;n._hasText=n._isTextVisible(),n._hasText&&(n._rootElement=n._rootElement||n._renderer.createGroup({"class":"rangebar"}).append(n._owner),n._text=n._text||n._renderer.createText().append(n._rootElement),n._text.applySettings({x:0,y:0,align:n._getTextAlign(),font:n._getFontOptions(),text:n._getSampleText()}),t=n._text.getBBox(),n._textVerticalOffset=-t.y-t.height/2,n._textWidth=t.width,n._textHeight=t.height)},_updateActiveElements:function(){var n=this;n._updateBarItemsPositions(),n._hasText&&(n._text.applySettings({text:n._formatValue(n._actualValue)}),n._updateTextPosition(),n._updateLinePosition())},_updateBarItems:function(){var n=this,t=n._options,i,r;n._setBarSides(),n._startPosition=t.translator.translate(t.translator.getDomainStart()),n._endPosition=t.translator.translate(t.translator.getDomainEnd()),n._basePosition=t.translator.translate(t.baseValue),n._space=n._getSpace(),i=t.backgroundColor||"none",i!=="none"&&n._space>0?r=t.containerBackgroundColor||"none":(n._space=0,r="none"),n._backItem1.applySettings({fill:i,stroke:"none",strokeWidth:0}),n._backItem2.applySettings({fill:i,stroke:"none",strokeWidth:0}),n._spaceItem1.applySettings({fill:r,stroke:"none",strokeWidth:0}),n._spaceItem2.applySettings({fill:r,stroke:"none",strokeWidth:0}),n._mainItem.applySettings({fill:t.color,stroke:"none",strokeWidth:0})},_getSpace:function(){return 0},_updateTextItems:function(){var n=this,t=n._options;n._isTextVisible()?(n._hasText=!0,n._createTextItems(),n._updateText(),n._updateLine(),n._setTextItemsSides()):(delete n._hasText,n._destroyTextItems())},_isTextVisible:function(){return!1},_createTextItems:function(){var n=this;n._line||(n._line=n._renderer.createPath().append(n._rootElement)),n._text||(n._text=n._renderer.createText().append(n._rootElement))},_destroyTextItems:function(){var n=this;n._line&&n._line.remove()&&delete n._line,n._text&&n._text.remove()&&delete n._text},_updateText:function(){var n=this,t;n._text.applySettings({x:0,y:0,align:n._getTextAlign(),font:n._getFontOptions(),text:n._getSampleText()}),t=n._text.getBBox(),n._textVerticalOffset=-t.y-t.height/2,n._textWidth=t.width,n._textHeight=t.height},_getTextAlign:function(){return i},_getFontOptions:function(){var t=this._options,n=t.text.font;return n&&n.color||(n=r({},n,{color:t.color})),n},_updateLine:function(){var n=this;n._line.applySettings({fill:n._options.color,stroke:"none",strokeWidth:0})},_updateBarItemsPositions:function(){var n=this,t=n._getPositions();n._backItem1.applySettings(n._buildItemSettings(t.start,t.back1)),n._backItem2.applySettings(n._buildItemSettings(t.back2,t.end)),n._spaceItem1.applySettings(n._buildItemSettings(t.back1,t.main1)),n._spaceItem2.applySettings(n._buildItemSettings(t.main2,t.back2)),n._mainItem.applySettings(n._buildItemSettings(t.main1,t.main2))},render:function(){var n=this;return n.callBase(),n._isVisible()?(n._prepare(),n._rootElement=n._rootElement||n._renderer.createGroup({"class":"rangebar"}),n._rootElement.append(n._owner),n._backItem1=n._backItem1||n._createBarItem(),n._backItem2=n._backItem2||n._createBarItem(),n._spaceItem1=n._spaceItem1||n._createBarItem(),n._spaceItem2=n._spaceItem2||n._createBarItem(),n._mainItem=n._mainItem||n._createBarItem(),n._updateBarItems(),n._updateTextItems(),n._updateActiveElements()):n.clear(),n},clear:function(){var n=this;n._rootElement&&(n._rootElement.remove(),delete n._rootElement,delete n._backItem1,delete n._backItem2,delete n._spaceItem1,delete n._spaceItem2,delete n._mainItem,delete n._hasText,n._destroyTextItems())}})}(DevExpress,jQuery),function(n,t){var r=n.viz.gauges.__internals.circularNeedles,u=n.utils.convertAngleToRendererSpace,f=t.extend;r.SimpleIndicator=n.viz.gauges.__internals.BaseIndicator.inherit({_updateActiveElements:function(){var n=this,t=n._options,r=n._getActualPosition(),i=u(r);n._rootElement.rotate(i,t.x,t.y),n._tracker.rotate(i,t.x,t.y)},_isVisible:function(){var n=this._options;return n.width>0&&n.indentFromCenter>=0&&n.radius-n.indentFromCenter>0},_getClassName:function(){return"needle"},_getTrackerPoints:function(){var n=this._options,i=n.y-n.radius,r=n.y-n.indentFromCenter||n.y,t=n.x-n.width/2||n.x,u=t+n.width||n.x;return[t,r,t,i,u,i,u,r]},_destroy:function(){delete this._element},render:function(){var n=this;return n.callBase(),n._isVisible()?(n._rootElement=n._rootElement||n._renderer.createGroup({"class":n._getClassName()}),n._rootElement.append(n._owner),n._create(),n._tracker=n._tracker||n._renderer.createArea().append(n._trackerOwner),n._tracker.applySettings({points:n._getTrackerPoints(),stroke:"none",strokeWidth:0,fill:"#000000",opacity:.0001}),n._updateActiveElements()):n._rootElement&&(n._rootElement.remove(),delete n._rootElement,n._destroy(),delete n._tracker),n},measure:function(){var n=this._options,t={max:n.radius};return n.indentFromCenter<0&&(t.inverseHorizontalOffset=t.inverseVerticalOffset=-n.indentFromCenter),t},getTrackingElement:function(){return this._tracker},getTooltipParameters:function(){var t=this._options,i=n.utils.getCosAndSin(this._getActualPosition()),r=(t.radius+t.indentFromCenter)/2;return{x:t.x+i.cos*r,y:t.y-i.sin*r,value:this._currentValue,color:t.color,offset:t.width/2}}}),r.RectangleNeedle=r.SimpleIndicator.inherit({_create:function(){var t=this,n=t._options,r=n.y-n.radius,u=n.y-n.indentFromCenter||n.y,i=n.x-n.width/2||n.x,f=i+n.width||n.x;t._element=t._element||t._renderer.createArea().append(t._rootElement),t._element.applySettings({points:[i,u,i,r,f,r,f,u],stroke:"none",strokeWidth:0,fill:n.color})}}),r.TriangleNeedle=r.SimpleIndicator.inherit({_create:function(){var t=this,n=t._options,r=n.y-n.radius,i=n.y-n.indentFromCenter||n.y,u=n.x-n.width/2||n.x,f=n.x+n.width/2||n.x;t._element=t._element||t._renderer.createArea().append(t._rootElement),t._element.applySettings({points:[u,i,n.x,r,f,i],stroke:"none",strokeWidth:0,fill:n.color})}}),r.TwoColorRectangleNeedle=r.SimpleIndicator.inherit({_create:function(){var n=this,t=n._options,i=t.x-t.width/2||t.x,r=t.x+t.width/2||t.x,f=t.y-t.radius,o=t.y-t.indentFromCenter||t.y,u=f+(o-f)*t.secondFraction||f,e=u+t.space||u;n._firstElement=n._firstElement||n._renderer.createArea().append(n._rootElement),n._spaceElement=n._spaceElement||n._renderer.createArea().append(n._rootElement),n._secondElement=n._secondElement||n._renderer.createArea().append(n._rootElement),n._firstElement.applySettings({points:[i,o,i,e,r,e,r,o],"class":"dx-needle-part1",fill:t.color,stroke:"none",strokeWidth:0}),n._spaceElement.applySettings({points:[i,e,i,u,r,u,r,e],"class":"dx-needle-hole",fill:t.containerBackgroundColor,stroke:"none",strokeWidth:0}),n._secondElement.applySettings({points:[i,u,i,f,r,f,r,u],"class":"dx-needle-part2",fill:t.secondColor,stroke:"none",strokeWidth:0})},_destroy:function(){delete this._firstElement,delete this._secondElement,delete this._spaceElement}})}(DevExpress,jQuery),function(n,t){var r=n.viz.gauges.__internals.linearNeedles,u=t.extend;r.SimpleIndicator=n.viz.gauges.__internals.BaseIndicator.inherit({_updateActiveElements:function(){var n=this,t=n._getActualPosition()-n._zeroPosition;n._rootElement.move(n._vertical?0:t,n._vertical?t:0),n._tracker.move(n._vertical?0:t,n._vertical?t:0)},_isVisible:function(){var n=this._options;return n.length>0&&n.width>0},_getClassName:function(){return"needle"},_getTrackerPoints:function(){var n=this._options,i,r,u,f,t=this._zeroPosition;return this._vertical?(i=n.x-n.length/2||n.x,r=n.x+n.length/2||n.x,u=t+n.width/2||t,f=t-n.width/2||t):(i=t-n.width/2||t,r=t+n.width/2||t,u=n.y+n.length/2||n.y,f=n.y-n.length/2||n.y),[i,u,i,f,r,f,r,u]},_destroy:function(){delete this._element},init:function(n){var t=this;return t.callBase(n),t._vertical=t._options.orientation==="vertical",t},render:function(){var n=this;return n.callBase(),n._isVisible()?(n._zeroPosition=n._options.translator.getCodomainStart(),n._rootElement=n._rootElement||n._renderer.createGroup({"class":n._getClassName()}),n._rootElement.append(n._owner),n._create(),n._tracker=n._tracker||n._renderer.createArea().append(n._trackerOwner),n._tracker.applySettings({points:n._getTrackerPoints(),stroke:"none",strokeWidth:0,fill:"#000000",opacity:.0001}),n._updateActiveElements()):n._rootElement&&(n._rootElement.remove(),delete n._rootElement,n._destroy(),delete n._tracker),n},measure:function(){var n=this._options,t=this._vertical?n.x:n.y;return{min:t-n.length/2,max:t+n.length/2}},getTrackingElement:function(){return this._tracker},getTooltipParameters:function(){var n=this,t=n._options,r=n._getActualPosition(),i={x:r,y:r,value:n._currentValue,color:t.color,offset:t.width/2};return n._vertical?i.x=t.x:i.y=t.y,i}}),r.RectangleNeedle=r.SimpleIndicator.inherit({_create:function(){var t=this,n=t._options,i=t._zeroPosition,r,u,f,e;t._vertical?(r=n.x-n.length/2||n.x,u=n.x+n.length/2||n.x,f=i+n.width/2||i,e=i-n.width/2||i):(r=i-n.width/2||i,u=i+n.width/2||i,f=n.y+n.length/2||n.y,e=n.y-n.length/2||n.y),t._element=t._element||t._renderer.createArea().append(t._rootElement),t._element.applySettings({points:[r,f,r,e,u,e,u,f],stroke:"none",strokeWidth:0,fill:n.color})}}),r.RhombusNeedle=r.SimpleIndicator.inherit({_create:function(){var n=this,t=n._options,i,r,u,f;n._vertical?(i=t.x,r=n._zeroPosition,u=t.length/2||0,f=t.width/2||0):(i=n._zeroPosition,r=t.y,u=t.width/2||0,f=t.length/2||0),n._element=n._element||n._renderer.createArea().append(n._rootElement),n._element.applySettings({points:[i-u,r,i,r-f,i+u,r,i,r+f],stroke:"none",strokeWidth:0,fill:t.color})}}),r.CircleNeedle=r.SimpleIndicator.inherit({_create:function(){var n=this,t=n._options,i,r,u;n._vertical?(i=t.x,r=n._zeroPosition):(i=n._zeroPosition,r=t.y),u=t.length/2||0,n._element=n._element||n._renderer.createCircle().append(n._rootElement),n._element.applySettings({cx:i,cy:r,r:u,stroke:"none",strokeWidth:0,fill:t.color})}})}(DevExpress,jQuery),function(n){var i=n.viz.gauges.__internals.circularMarkers,r=n.utils.normalizeAngle,e=n.utils.convertAngleToRendererSpace,u=n.utils.getCosAndSin,f=Math.min;i.TriangleMarker=n.viz.gauges.__internals.circularNeedles.SimpleIndicator.inherit({_isVisible:function(){var n=this._options;return n.length>0&&n.width>0&&n.radius>0},_getClassName:function(){return"marker"},_create:function(){var t=this,n=t._options,r=n.x,u=n.y-n.radius,e=n.width/2||0,o=u-n.length||u,i;t._element=t._element||t._renderer.createArea([],{"class":"dx-marker-element"}).append(t._rootElement),i={points:[r,u,r-e,o,r+e,o],stroke:"none",strokeWidth:0,fill:n.color},n.space>0&&(i.strokeWidth=f(n.space,n.width/4)||0,i.stroke=i.strokeWidth>0?n.containerBackgroundColor||"none":"none"),t._element.applySettings(i)},_getTrackerPoints:function(){var n=this._options,i=n.x-n.width/2,r=n.x+n.width/2,t=n.y-n.radius,u=t-n.length||t;return[i,t,i,u,r,u,r,t]},measure:function(){var n=this._options;return{min:n.radius,max:n.radius+n.length||n.radius}},getTooltipParameters:function(){var t=this._options,r=n.utils.getCosAndSin(this._getActualPosition()),u=t.radius+t.length/2,i=this.callBase();return i.x=t.x+r.cos*u,i.y=t.y-r.sin*u,i.offset=t.length/2,i}}),i.TextCloudMarker=n.viz.gauges.__internals.BaseTextCloudMarker.inherit({_isVisible:function(){return this._options.radius>0},_getTextCloudOptions:function(){var n=this,i=n._getActualPosition(),f=u(i),t=r(i);return{x:n._options.x+f.cos*n._options.radius,y:n._options.y-f.sin*n._options.radius,type:t>270?"left-top":t>180?"top-right":t>90?"right-bottom":"bottom-left"}},measure:function(){var n=this;return n._measureText(),{min:n._options.radius,max:n._options.radius,horizontalOffset:n._textFullWidth+n._options.arrowLength,verticalOffset:n._textFullHeight+n._options.arrowLength}}})}(DevExpress),function(n,t){var r=n.viz.gauges.__internals.linearMarkers,u=Math.min,f=t.extend;r.TriangleMarker=n.viz.gauges.__internals.linearNeedles.SimpleIndicator.inherit({_getClassName:function(){return"marker"},_create:function(){var t=this,n=t._options,i,e,r,o,f={stroke:"none",strokeWidth:0,fill:n.color};t._vertical?(i=n.x,r=t._zeroPosition,e=i+(t._inverted?n.length:-n.length),f.points=[i,r,e,r-n.width/2,e,r+n.width/2]):(r=n.y,i=t._zeroPosition,o=r+(t._inverted?n.length:-n.length),f.points=[i,r,i-n.width/2,o,i+n.width/2,o]),n.space>0&&(f.strokeWidth=u(n.space,n.width/4)||0,f.stroke=f.strokeWidth>0?n.containerBackgroundColor||"none":"none"),t._element=t._element||t._renderer.createArea().append(t._rootElement),t._element.applySettings(f)},_getTrackerPoints:function(){var t=this,n=t._options,o=Number(n.length)||0,s=n.width/2||0,i,r,u,f,e;return t._vertical?(i=r=n.x,r=i+(t._inverted?n.length:-n.length),u=t._zeroPosition+n.width/2,f=t._zeroPosition-n.width/2,e=[i,u,r,u,r,f,i,f]):(u=n.y,f=u+(t._inverted?n.length:-n.length),i=t._zeroPosition-n.width/2,r=t._zeroPosition+n.width/2,e=[i,u,i,f,r,f,r,u]),e},init:function(n){var t=this;return t.callBase(n),t._inverted=t._vertical?t._options.horizontalOrientation==="right":t._options.verticalOrientation==="bottom",t},measure:function(){var r=this,i=r._options,n,t,u=i.width/2||0;return r._vertical?(n=t=i.x,r._inverted?t=n+i.length||n:n=t-i.length||t):(n=t=i.y,r._inverted?t=n+i.length||n:n=t-i.length||t),{min:n,max:t,indent:u}},getTooltipParameters:function(){var n=this,i=n._options,r=(n._inverted?i.length:-i.length)/2,t=n.callBase();return n._vertical?t.x+=r:t.y+=r,t.offset=i.length/2,t}}),r.TextCloudMarker=n.viz.gauges.__internals.BaseTextCloudMarker.inherit({_isVisible:function(){return!0},_getTextCloudOptions:function(){var n=this,i=n._getActualPosition(),r=i,u=i,t;return n._vertical?(r=n._options.x,t=n._inverted?"top-left":"top-right"):(u=n._options.y,t=n._inverted?"right-top":"right-bottom"),{x:r,y:u,type:t}},init:function(n){var t=this;return t.callBase(n),t._vertical=t._options.orientation==="vertical",t._inverted=t._vertical?t._options.horizontalOrientation==="right":t._options.verticalOrientation==="bottom",t},measure:function(){var t=this,n=t._options,i,r,u;return t._measureText(),t._vertical?(u=t._textFullHeight,t._inverted?(i=n.x,r=n.x+n.arrowLength+t._textFullWidth):(i=n.x-n.arrowLength-t._textFullWidth,r=n.x)):(u=t._textFullWidth,t._inverted?(i=n.y,r=n.y+n.arrowLength+t._textFullHeight):(i=n.y-n.arrowLength-t._textFullHeight,r=n.y)),{min:i,max:r,indent:u}}})}(DevExpress,jQuery),function(n){var i=n.utils.getCosAndSin,r=n.utils.convertAngleToRendererSpace,u=Math.max,f=Math.min;n.viz.gauges.__internals.CircularRangeBar=n.viz.gauges.__internals.BaseRangeBar.inherit({_isVisible:function(){var n=this._options;return n.size>0&&n.radius-n.size>0},_createBarItem:function(){return this._renderer.createArc().append(this._rootElement)},_setBarSides:function(){var n=this,t=n._options;n._minSide=t.radius-t.size,n._maxSide=t.radius},_getSpace:function(){var n=this._options;return n.space>0?n.space*180/n.radius/Math.PI:0},_isTextVisible:function(){var n=this._options.text||{};return n.indent>0},_getTextAlign:function(){return"center"},_setTextItemsSides:function(){var n=this,t=n._options;n._lineFrom=t.y-t.radius,n._lineTo=n._lineFrom-t.text.indent,n._textRadius=t.radius+t.text.indent},_getPositions:function(){var n=this,r=n._basePosition,e=n._getActualPosition(),t,i,o=n._space;return r>=e?(t=r,i=e):(t=e,i=r),{start:n._startPosition,end:n._endPosition,main1:t,main2:i,back1:f(t+o,n._startPosition),back2:u(i-o,n._endPosition)}},_buildItemSettings:function(n,t){var i=this;return{x:i._options.x,y:i._options.y,innerRadius:i._minSide,outerRadius:i._maxSide,startAngle:t,endAngle:n}},_updateTextPosition:function(){var n=this,t=i(n._getActualPosition()),r=n._options.x+n._textRadius*t.cos,u=n._options.y-n._textRadius*t.sin;r+=t.cos*n._textWidth/2,u-=t.sin*n._textHeight/2,n._text.applySettings({x:r,y:u+n._textVerticalOffset})},_updateLinePosition:function(){var n=this,e=r(n._getActualPosition()),f=n._getActualPosition(),t=n._options.x,i,u;n._basePosition>f?(i=t-2,u=t):n._basePosition<f?(i=t,u=t+2):(i=t-1,u=t+1),n._line.applySettings({points:[i,n._lineFrom,i,n._lineTo,u,n._lineTo,u,n._lineFrom]}),n._line.rotate(e,t,n._options.y)},measure:function(){var n=this,t=n._options,i={min:t.radius-t.size||t.radius,max:t.radius};return n._prepare(),n._hasText&&(i.max+=t.text.indent,i.horizontalOffset=n._textWidth,i.verticalOffset=n._textHeight),i}})}(DevExpress),function(n){n.viz.gauges.__internals.LinearRangeBar=n.viz.gauges.__internals.BaseRangeBar.inherit({_isVisible:function(){var n=this._options;return n.size>0},_prepare:function(){var n=this;n.callBase(),n._vertical=n._options.orientation==="vertical",n._inverted=n._vertical?n._options.horizontalOrientation==="right":n._options.verticalOrientation==="bottom"},_createBarItem:function(){return this._renderer.createArea().append(this._rootElement)},_setBarSides:function(){var t=this,n=t._options,i,r;t._vertical?t._inverted?(i=n.x,r=n.x+n.size):(i=n.x-n.size,r=n.x):t._inverted?(i=n.y,r=n.y+n.size):(i=n.y-n.size,r=n.y),t._minSide=i,t._maxSide=r,t._minBound=i,t._maxBound=r},_getSpace:function(){var n=this._options;return n.space>0?Number(n.space):0},_isTextVisible:function(){var n=this._options.text||{};return n.indent>0||n.indent<0},_getTextAlign:function(){return this._vertical?this._options.text.indent>0?"left":"right":"center"},_setTextItemsSides:function(){var n=this,t=Number(n._options.text.indent);t>0?(n._lineStart=n._maxSide,n._lineEnd=n._maxSide+t,n._textPosition=n._lineEnd+(n._vertical?2:n._textHeight/2),n._maxBound=n._textPosition+(n._vertical?n._textWidth:n._textHeight/2)):t<0&&(n._lineStart=n._minSide,n._lineEnd=n._minSide+t,n._textPosition=n._lineEnd-(n._vertical?2:n._textHeight/2),n._minBound=n._textPosition-(n._vertical?n._textWidth:n._textHeight/2))},_getPositions:function(){var i=this,c=i._options,s=i._startPosition,h=i._endPosition,f=i._space,r=i._basePosition,u=i._getActualPosition(),n,t,e,o;return s<h?(r<u?(n=r,t=u):(n=u,t=r),e=n-f,o=t+f):(r>u?(n=r,t=u):(n=u,t=r),e=n+f,o=t-f),{start:s,end:h,main1:n,main2:t,back1:e,back2:o}},_buildItemSettings:function(n,t){var u=this,i=u._minSide,r=u._maxSide,f=u._vertical?[i,n,i,t,r,t,r,n]:[n,i,n,r,t,r,t,i];return{points:f}},_updateTextPosition:function(){var n=this,i=n._options,t=n._getActualPosition();n._text.applySettings(n._vertical?{x:n._textPosition,y:t+n._textVerticalOffset}:{x:t,y:n._textPosition+n._textVerticalOffset})},_updateLinePosition:function(){var n=this,t=n._getActualPosition(),i,r,u;n._vertical?(n._basePosition>=t?(i=t,r=t+2):(i=t-2,r=t),u=[n._lineStart,i,n._lineStart,r,n._lineEnd,r,n._lineEnd,i]):(n._basePosition<=t?(i=t-2,r=t):(i=t,r=t+2),u=[i,n._lineStart,i,n._lineEnd,r,n._lineEnd,r,n._lineStart]),n._line.applySettings({points:u})},measure:function(){var t=this,n=t._options,i,r,u;return t._prepare(),t._vertical?(i=r=n.x,t._inverted?r=r+n.size||r:i=i-n.size||i,t._hasText&&(u=t._textHeight/2,n.text.indent>0&&(r+=n.text.indent+t._textWidth),n.text.indent<0&&(i+=n.text.indent-t._textWidth))):(i=r=n.y,t._inverted?r=r+n.size||r:i=i-n.size||i,t._hasText&&(u=t._textWidth/2,n.text.indent>0&&(r+=n.text.indent+t._textHeight),n.text.indent<0&&(i+=n.text.indent-t._textHeight))),{min:i,max:r,indent:u}}})}(DevExpress),function(n,t){var r=Math.min,u=t.extend;n.viz.gauges.__internals.CircularSpindle=n.Class.inherit({setup:function(n){return this._renderer=n.renderer,this._owner=n.owner,this},init:function(n){return this._options=u(!0,this._options||{},n),this},render:function(){var n=this,t=n._options;return t.visible!==!1&&t.size>0?(n._rootElement=n._rootElement||n._renderer.createGroup({"class":"spindle"}),n._rootElement.append(n._owner),n._element=n._element||n._renderer.createCircle().append(n._rootElement),n._element.applySettings({"class":"dx-spindle-border",cx:t.x,cy:t.y,r:t.size/2,fill:t.color||"none",stroke:"none",strokeWidth:0}),t.gapSize>0?(n._gapElement=n._gapElement||n._renderer.createCircle().append(n._rootElement),n._gapElement.applySettings({cx:t.x,cy:t.y,r:r(t.size,t.gapSize)/2,"class":"dx-spindle-hole",fill:t.containerBackgroundColor||"none",stroke:"none",strokeWidth:0})):(n._gapElement&&n._gapElement.remove(),delete n._gapElement)):(n._rootElement&&n._rootElement.remove(),delete n._rootElement,n._element&&n._element.remove(),delete n._element,n._gapElement&&n._gapElement.remove(),delete n._gapElement),n},measure:function(){var n=this._options.size/2||0;return{inverseHorizontalOffset:n,inverseVerticalOffset:n}}})}(DevExpress,jQuery),function(n,t){function v(n,t,i,r){var u;return i>n&&r<t?u=[{start:n,end:i},{start:r,end:t}]:i>=t||r<=n?u=[{start:n,end:t}]:i<=n&&r>=t?u=[]:i>n?u=[{start:n,end:i}]:r<t&&(u=[{start:r,end:t}]),u}function y(n,t,i,r){var u;return i<n&&r>t?u=[{start:n,end:i},{start:r,end:t}]:i<=t||r>=n?u=[{start:n,end:t}]:i>=n&&r<=t?u=[]:i<n?u=[{start:n,end:i}]:r>t&&(u=[{start:r,end:t}]),u}function p(n,t,i){return t-n>=i}function w(n,t,i){return n-t>=i}var h=n.utils.isDefined,e=n.utils.isString,o=n.utils.isArray,u=window.Number,s=window.isFinite,f=Math.max,c=Math.abs,r=t.each,l=t.map,a=t.extend;n.viz.gauges.__internals.BaseRangeContainer=n.Class.inherit({setup:function(n){var t=this;return t._renderer=n.renderer,t._owner=n.owner,t._incidentOccured=n.incidentOccured,t},init:function(n){var t=this;return t._options=a(!0,t._options||{},n),n&&h(n.ranges)&&(t._options.ranges=o(n.ranges)?n.ranges.slice(0):null),t},_getRanges:function(){var n=this._options,t=n.translator,k=t.getDomainStart(),tt=t.getDomainEnd(),a=tt-k,et=a>=0?p:w,it=a>=0?v:y,d=[],i=[],g=[{start:k,end:tt}],ot=c(a)/1e4,rt=o(n.palette)?n.palette:[],ut,st=e(n.backgroundColor)?n.backgroundColor:"none",h=n.width||{},b=u(h>0?h:h.start),nt=u(h>0?h:h.end),ft=nt-b;return n.ranges?b>=0&&nt>=0&&b+nt>0?(d=l(n.ranges,function(n){n=n||{};var i=t.adjust(n.startValue),r=t.adjust(n.endValue);return s(i)&&s(r)&&et(i,r,ot)?{start:i,end:r,color:n.color}:null}),ut=f(0,rt.length-d.length),r(d,function(n,t){var i=t.color;e(i)||(i=rt[n+ut]),e(i)||(i="none"),t.color=i}),r(d,function(n,t){for(var r,e,u,o=[],h=[],f=0,s=i.length;f<s;++f)u=i[f],e=it(u.start,u.end,t.start,t.end),(r=e[0])&&(r.color=u.color)&&o.push(r),(r=e[1])&&(r.color=u.color)&&o.push(r);for(o.push(t),i=o,f=0,s=g.length;f<s;++f)u=g[f],e=it(u.start,u.end,t.start,t.end),(r=e[0])&&h.push(r),(r=e[1])&&h.push(r);g=h}),r(g,function(n,t){t.color=st,t["class"]="dx-background-range",i.push(t)}),r(i,function(n,i){i.startPosition=t.translate(i.start),i.endPosition=t.translate(i.end),i.startWidth=(i.start-k)/a*ft+b,i.endWidth=(i.end-k)/a*ft+b}),i):(this._incidentOccured('The range container is not rendered because the value of the "width" option is not valid'),null):(this._incidentOccured('The range container is not rendered because the value of the "ranges" option is not valid'),null)},render:function(){var n=this,t;return n._rootElement=n._rootElement||n._renderer.createGroup({"class":"range-container"}),n._rootElement.append(n._owner).clear(),t=n._getRanges(),t&&n._renderRanges(t)||(n._rootElement.remove(),delete n._rootElement),n}}),n.viz.gauges.__internals.CircularRangeContainer=n.viz.gauges.__internals.BaseRangeContainer.inherit({_renderRanges:function(n){var e=this,t=e._options,h=t.x,c=t.y,o=t.radius,l=e._renderer,a=e._rootElement,i=0,u=0,s=t.width>0?t.width:f(t.width.start,t.width.end);switch(t.orientation){case"inside":i=1;break;case"outside":u=1;break;case"center":i=u=.5;break;default:e._incidentOccured('The range container is not rendered because the value of the "orientation" option is not valid')}return(i||u)&&o+u*s>0&&o-i*s>0?(r(n,function(n,t){var r=(t.startWidth+t.endWidth)/2,f=l.createArc(h,c,o+u*r,o-i*r,t.endPosition,t.startPosition,{stroke:"none",strokeWidth:0,fill:t.color}).append(a);"class"in t&&f.applySettings({"class":t["class"]})}),!0):!1},measure:function(){var r=this._options,t=r.radius,n=r.width||{},i=null;n=u(n)||f(n.start,n.end,0)||0;switch(r.orientation){case"inside":i={min:t-n,max:t};break;case"outside":i={min:t,max:t+n};break;case"center":i={min:t-n/2,max:t+n/2}}return i}}),n.viz.gauges.__internals.LinearRangeContainer=n.viz.gauges.__internals.BaseRangeContainer.inherit({_renderRanges:function(n){var f=this,e=f._options,o=f._renderer,s=f._rootElement,t=0,i=0,u;if(e.orientation==="vertical"){u=e.x;switch(e.horizontalOrientation){case"left":t=1;break;case"right":i=1;break;case"center":t=i=.5;break;default:f._incidentOccured('The range container is not rendered because the value of the "horizontalOrientation" option is not valid')}if(t||i)return r(n,function(n,r){var f=o.createArea([u-r.startWidth*t,r.startPosition,u-r.endWidth*t,r.endPosition,u+r.endWidth*i,r.endPosition,u+r.startWidth*i,r.startPosition],{stroke:"none",strokeWidth:0,fill:r.color}).append(s);"class"in r&&f.applySettings({"class":r["class"]})}),!0}else{u=e.y;switch(e.verticalOrientation){case"top":t=1;break;case"bottom":i=1;break;case"middle":t=i=.5;break;default:f._incidentOccured('The range container is not rendered because the value of the "verticalOrientation" option is not valid')}if(t||i)return r(n,function(n,r){var f=o.createArea([r.startPosition,u+r.startWidth*i,r.startPosition,u-r.startWidth*t,r.endPosition,u-r.endWidth*t,r.endPosition,u+r.endWidth*i],{stroke:"none",strokeWidth:0,fill:r.color}).append(s);"class"in r&&f.applySettings({"class":r["class"]})}),!0}return!1},measure:function(){var i=this._options,n=i.width||{},t=null;if(n=u(n)||f(n.start,n.end,0)||0,i.orientation==="vertical"){t={min:i.x,max:i.x};switch(i.horizontalOrientation){case"left":t.min-=n;break;case"right":t.max+=n;break;case"center":t.min-=n/2,t.max+=n/2}}else{t={min:i.y,max:i.y};switch(i.verticalOrientation){case"top":t.min-=n;break;case"bottom":t.max+=n;break;case"middle":t.min-=n/2,t.max+=n/2}}return t}})}(DevExpress,jQuery),function(n,t){var o=n.viz.core.Rectangle,u=n.utils.isString,s=n.utils.isDefined,h=Math.min,c=Math.max,f=Math.floor,r=Math.ceil,e=t.extend;n.viz.gauges.__internals.Title=n.Class.inherit({ctor:function(){this._options={title:{},subtitle:{}}},_measureTexts:function(){var t=this,n=t._mainText?t._mainText.getBBox():null,i=t._subText?t._subText.getBBox():null,u;t._location={x:0,y:0},n&&i?(t._subText.applySettings({y:r(-i.y)}),t._rect=new o({left:f(h(n.x,i.x)),right:r(c(n.x+n.width,i.x+i.width)),top:f(n.y),bottom:r(i.height)})):(n||i)&&(n=n||i,t._rect=new o({left:f(n.x),right:r(n.x+n.width),top:f(n.y),bottom:r(n.y+n.height)}))},render:function(n){var t=this;return e(!0,t._options,n),t._root=t._root||t._renderer.createGroup().applySettings({"class":"dx-gauge-title"}).append(t._owner),u(t._options.title.text)?(t._mainText=t._mainText||t._renderer.createText().append(t._root),t._mainText.applySettings({x:0,y:0,align:"center",font:t._options.title.font,text:t._options.title.text})):(t._mainText&&t._mainText.remove(),delete t._mainText),u(t._options.subtitle.text)?(t._subText=t._subText||t._renderer.createText().append(t._root),t._subText.applySettings({x:0,y:0,align:"center",font:t._options.subtitle.font,text:t._options.subtitle.text})):(t._subText&&t._subText.remove(),delete t._subText),t._mainText||t._subText?t._measureTexts():(t._root&&t._root.remove(),delete t._root),t},processTitleOptions:function(n){return u(n)?{text:n}:s(n)?(n=e({},n),n.layout=e({},n.layout,{position:n.position}),n):{text:null}},processSubtitleOptions:function(n){return u(n)?{text:n}:s(n)?e({},n):{text:null}},isVisible:function(){return!!(this._mainText||this._subText)},getBoundingRect:function(){return this._rect.clone()},getLayoutOptions:function(){return this._options.title.layout||{}},move:function(n,t){var i=this;return i._root.move(i._location.x+=n,i._location.y+=t),i._rect=i._rect.move(n,t),i}})}(DevExpress,jQuery),function(n){function f(n){n=n||{};var t=(i(n)?n:n.position||"").split("-");return{primary:i(t[0])?t[0].toLowerCase():"",secondary:i(t[1])?t[1].toLowerCase():"",overlay:n.overlay>0?Number(n.overlay):0}}var r=Math.min,u=Math.max,i=n.utils.isString,e=n.viz.core.Rectangle;n.viz.gauges.__internals.LayoutManager=n.Class.inherit({setRect:function(n){return this._rect=n.clone(),this},getRect:function(){return this._rect.clone()},applyLayout:function(n,t){var h=0,o=0,i=this._rect,e=n.clone(),c=f(t),s=e.height()-c.overlay;switch(c.primary){case"top":s>=0?(o=i.top-e.top,i.top=r(i.top+s,i.bottom)):o=i.top-e.top-s;break;case"bottom":s>=0?(o=i.bottom-e.bottom,i.bottom=u(i.bottom-s,i.top)):o=i.bottom-e.bottom+s}switch(c.secondary){case"":case"center":h=i.horizontalMiddle()-e.horizontalMiddle();break;case"left":h=i.left-e.left;break;case"right":h=i.right-e.right}return e=e.move(h,o),{rect:e,dx:h,dy:o}},selectRectByAspectRatio:function(n,t){var i=this._rect.clone(),f,r=0,u=0;return t=t||{},n>0&&(i.left+=t.left||0,i.right-=t.right||0,i.top+=t.top||0,i.bottom-=t.bottom||0,i.width()>0&&i.height()>0?(f=i.height()/i.width(),f>1?n<f?r=i.width():u=i.height():n>f?u=i.height():r=i.width(),r>0||(r=u/n),u>0||(u=r*n),r=(i.width()-r)/2,u=(i.height()-u)/2,i.left+=r,i.right-=r,i.top+=u,i.bottom-=u):(i.left=i.right=i.horizontalMiddle(),i.top=i.bottom=i.verticalMiddle())),i},selectRectBySizes:function(n,t){var i=this._rect.clone(),r;return t=t||{},n&&(i.left+=t.left||0,i.right-=t.right||0,i.top+=t.top||0,i.bottom-=t.bottom||0,n.width>0&&(r=(i.width()-n.width)/2,r>0&&(i.left+=r,i.right-=r)),n.height>0&&(r=(i.height()-n.height)/2,r>0&&(i.top+=r,i.bottom-=r))),i}})}(DevExpress,jQuery),function(n,t){var r=function(n){return isString(n)?n:isNumber(n)?n.toString():"N/A"};t.viz.gauges.__internals.ThemeManager=t.viz.core.BaseThemeManager.inherit(function(){var n=function(n){this.callBase(n,"gauge"),this.theme.area.defaultFormatText=r},t=function(){return this.theme.range||{}},i=function(){return this.theme.scale||{}},u=function(){return this.theme.needle||{}},f=function(){return this.theme.marker||{}};return{ctor:n,getRangeTheme:t,getScaleTheme:i,getNeedleTheme:u,getMarkerTheme:f}}())}(jQuery,DevExpress),function(n,t){var f=n.viz.gauges.__internals,r={preset1:{commonNeedleSettings:{type:"rectangle"},commonMarkerSettings:{type:"textcloud"}},preset2:{commonNeedleSettings:{type:"twocolorrectangle"},commonMarkerSettings:{offset:6,type:"triangle"}},preset3:{commonMarkerSettings:{offset:6,type:"triangle"},commonRangeBarSettings:{text:{indent:70}}}},u={preset1:{commonNeedleSettings:{type:"rhombus"},commonMarkerSettings:{type:"textcloud"}},preset2:{commonNeedleSettings:{type:"circle"},commonMarkerSettings:{type:"triangle"}}};n.viz.gauges.__internals.PresetManager=n.Class.inherit({setup:function(n,t){var i=this;return i._activePreset={},i._setPresetsCollection(i._selectPresets(n),"preset1"),i._setActivePreset(t)},_selectPresets:function(n){var t={};switch(n){case"circular":t=r;break;case"linear":t=u}return t},_setActivePreset:function(n){var i={},t=!n||typeof n=="string";return this._presetName=t?n:n.name,this._presetName!=="none"?(t||this._updatePreset(n),this._activePreset=this._getCollectionElement(this._presetName)):this._activePreset=t?i:n,this._activePreset},getNeedlePreset:function(){return this._activePreset.commonNeedleSettings||{}},getMarkerPreset:function(){return this._activePreset.commonMarkerSettings||{}},getRangeBarPreset:function(){return this._activePreset.commonRangeBarSettings||{}},getScalePreset:function(){return this._activePreset.commonScaleSettings||{}},getRangePreset:function(){return this._activePreset.commonRangeSettings||{}},getTitlePreset:function(){return this._activePreset.title||{}},getSubtitlePreset:function(){return this._activePreset.subtitle||{}},getIndicatorPreset:function(){return this._activePreset.indicator||{}},getSpindlePreset:function(){return this._activePreset.spindle||{}},_updatePreset:function(n){this._presetsCollection.hasOwnProperty(n.name)?t.extend(!0,this._presetsCollection[n.name],n):t.extend(!0,this._presetsCollection.defaultPreset,n)},_getCollectionElement:function(n){var t={};return t=this._presetsCollection.hasOwnProperty(n)?this._presetsCollection[n]:this._presetsCollection.defaultPreset},_setPresetsCollection:function(n,i){this._presetsCollection=t.extend(!0,{},n||{}),this._presetsCollection.defaultPreset=i&&this._presetsCollection.hasOwnProperty(i)?t.extend({},this._presetsCollection[i]):{}}})}(DevExpress,jQuery),function(n,t,i){var u=n.viz.gauges.__factory,h=n.viz.core.Rectangle,o=n.utils.isNumber,c=n.utils.isString,l=n.utils.isFunction,s=window.isFinite,v=window.setTimeout,f=n.utils.windowResizeCallbacks,r=t.extend,e=t.each,y=500,a={size:{width:i,height:i},margin:{left:0,top:0,right:0,bottom:0},geometry:{},preset:"preset1",containerBackgroundColor:"#FFFFFF",animationEnabled:!0,animationDuration:1e3,redrawOnResize:!0,incidentOccured:t.noop,needles:[],markers:[],rangeBars:[],scale:{startValue:0,endValue:100,majorTick:{visible:!0,type:"rectangle",tickInterval:i,customTickValues:[],length:5,width:2,showCalculatedTicks:!0,useTicksAutoArrangement:!0,color:"#FFFFFF"},minorTick:{visible:!1,type:"rectangle",tickInterval:i,customTickValues:[],length:3,width:1,showCalculatedTicks:!0,color:"#FFFFFF"},label:{visible:!0,format:"",precision:2,customizeText:i,font:{color:"#7F7F7F",size:12,family:"'SegoeUI', 'Segoe UI', 'HelveticaNeue', 'Helvetica Neue', 'Trebuchet MS', Verdana",weight:400}}},rangeContainer:{offset:0,width:5,backgroundColor:"#808080",palette:["#AD79CE","#639EC6","#A5C763","#FFB65A","#E78E94"],ranges:[]},commonNeedleSettings:{__info:"needle",color:"#C2C2C2"},commonMarkerSettings:{__info:"marker",color:"#679EC5",space:2,length:14,width:13,arrowLength:5,horizontalOffset:6,verticalOffset:3,text:{customizeText:i,font:{color:"#FFFFFF",size:18,family:"'SegoeUI', 'Segoe UI', 'HelveticaNeue', 'Helvetica Neue', 'Trebuchet MS', Verdana",weight:400}}},commonRangeBarSettings:{baseValue:i,color:"#AD79CE",backgroundColor:"none",space:2,size:10,text:{indent:0,customizeText:i,font:{size:14,family:"'SegoeUI', 'Segoe UI', 'HelveticaNeue', 'Helvetica Neue', 'Trebuchet MS', Verdana",weight:400}}},title:{layout:{position:"top-center",overlay:0},font:{size:18,color:"#232323",family:"'SegoeUI-Light', 'Segoe UI Light', 'HelveticaNeue-Light', 'Helvetica Neue Light', 'SegoeUI', 'Segoe UI', 'HelveticaNeue', 'Helvetica Neue', 'Trebuchet MS', Verdana",weight:200}},subtitle:{font:{size:14,color:"#232323",family:"'SegoeUI-Light', 'Segoe UI Light', 'HelveticaNeue-Light', 'Helvetica Neue Light', 'SegoeUI', 'Segoe UI', 'HelveticaNeue', 'Helvetica Neue', 'Trebuchet MS', Verdana",weight:200}},indicator:{hasPositiveMeaning:!0,text:{format:"fixedPoint",precision:0,customizeText:t.none,useDefaultColor:!1,font:{color:"#7F7F7F",size:18,family:"'SegoeUI', 'Segoe UI', 'HelveticaNeue', 'Helvetica Neue', 'Trebuchet MS', Verdana",weight:400}},layout:{position:"bottom-center",overlay:0}},tooltip:{enabled:!1,format:i,precision:i,customizeText:i,font:{color:"#FFFFFF",size:26,family:"'SegoeUI-Light', 'Segoe UI Light', 'HelveticaNeue-Light', 'Helvetica Neue Light', 'SegoeUI', 'Segoe UI', 'HelveticaNeue', 'Helvetica Neue', 'Trebuchet MS', Verdana",weight:200},horizontalPadding:22,verticalPadding:6,arrowLength:10},tracker:{tooltipDelay:500}};n.viz.gauges.Gauge=n.ui.Component.inherit({_defaultOptions:function(){return r(!0,{},a)},_initOptions:function(n){var t=this,i;t._presetManager=u.createPresetManager(),i=t._presetManager.setup(t._gaugeType(),n?n.preset:{}),t.option(i),t.callBase(n)},_getPresetName:function(n){return n&&c(n.preset)?n.preset:this.option("preset")},_init:function(){var n=this;n._initRenderer(),n._tracker=u.createTracker(),n._tracker.setup(n),n._layoutManager=u.createLayoutManager(),n._defaultOpts=n._defaultOptions(),n._creationOptions=n._getCreationOptions(),n._mainElements=[],n._externalElements=[],n._needles=[],n._markers=[],n._rangeBars=[],n._initResizeHandler()},_dispose:function(){var n=this;n._disposeRenderer(),delete n._tracker,delete n._layoutManager,delete n._defaultOpts,delete n._creationOptions,delete n._mainElements,delete n._externalElements,delete n._needles,delete n._markers,delete n._rangeBars,n._disposeResizeHandler(),n.callBase()},_initRenderer:function(){var n=this;n._canvas={width:1,height:1,marginLeft:0,marginRight:0,marginTop:0,marginBottom:0},n._renderer=u.createRenderer({width:1,height:1}),n._renderer.draw(n._element().get(0)),n._rootElement=n._renderer.getRoot(),n._trackerGroup=n._renderer.createGroup({"class":"tracker"}).append(n._rootElement)},_disposeRenderer:function(){var n=this;delete n._canvas,delete n._renderer,delete n._rootElement,delete n._trackerGroup},_initResizeHandler:function(){var t=this;t._resizeHandler=n.utils.createResizeHandler(function(){t._renderCore()}),t._resizeHandler.dispose=function(){return t=null,this}},_disposeResizeHandler:function(){f.remove(this._resizeHandler.stop().dispose()),delete this._resizeHandler},_trackWindowResize:function(){var n=this;n.option("redrawOnResize")===!0?f.has(n._resizeHandler)||f.add(n._resizeHandler):f.remove(n._resizeHandler)},_getIncidentOccured:function(){var n=this.option("incidentOccured");return l(n)||(n=this._defaultOpts.incidentOccured),function(){n.apply(null,arguments)}},_getCreationOptions:function(){return{renderer:this._renderer,ownerElement:this._rootElement,owner:this._rootElement}},_getCommonOptions:function(){var n=this,t=n._getDefaultFormatOptions();return{translator:n._area.translator,animationEnabled:n.option("animationEnabled"),animationDuration:n.option("animationDuration"),containerBackgroundColor:n.option("containerBackgroundColor"),defaultTextFormat:t.format,defaultTextPrecision:t.precision}},_getDefaultFormatOptions:function(){var t=this._area;return n.utils.getAppropriateFormat(t.startValue,t.endValue,this._getApproximateScreenRange())},_getCommonNeedleSettings:function(){var n=this;return r(!0,{},n._defaultOpts.commonNeedleSettings,n._presetManager.getNeedlePreset(),n.option("commonNeedleSettings"))},_getCommonMarkerSettings:function(){var n=this;return r(!0,{},n._defaultOpts.commonMarkerSettings,n._presetManager.getMarkerPreset(),n.option("commonMarkerSettings"))},_getCommonRangeBarSettings:function(){var n=this;return r(!0,n._defaultOpts.commonRangeBarSettings,n._presetManager.getRangeBarPreset(),n.option("commonRangeBarSettings"))},_hide:function(){!this._isHidden&&(this._isHidden=!0)&&this._renderer.getRoot().hide()},_show:function(){this._isHidden&&delete this._isHidden&&this._renderer.getRoot().show()},_getCanvas:function(){var i=this,t=i.option("size")||{},n=i.option("margin")||{},r=i._element();return{width:t.width>0?Number(t.width):r.width(),height:t.height>0?Number(t.height):r.height(),marginLeft:n.left>0?Number(n.left):0,marginTop:n.top>0?Number(n.top):0,marginRight:n.right>0?Number(n.right):0,marginBottom:n.bottom>0?Number(n.bottom):0}},_updateVisibility:function(n){var t=this;return n.width-n.marginLeft-n.marginRight>=2&&n.height-n.marginTop-n.marginBottom>=2&&t._element().is(":visible")?(t._show(),!0):(t._hide(),t._incidentOccured("Gauge cannot be rendered since container is too small or not visible"),!1)},_getArea:function(){var i=this,t=i.option("scale")||{},n={};return n.startValue=o(t.startValue)?Number(t.startValue):0,n.endValue=o(t.endValue)?Number(t.endValue):100,n.baseValue=Math.min(n.startValue,n.endValue),i._setupArea(n),n.translator=u.createTranslator(n.startCoord,n.endCoord,n.startValue,n.endValue),n},_renderTitle:function(){var n=this,t=n.option("title"),i=n.option("subtitle");n._title||(n._title=u.createTitle(),n._title._renderer=n._renderer,n._title._owner=n._rootElement),t=r(!0,{},n._defaultOpts.title,n._presetManager.getTitlePreset(),n._title.processTitleOptions(t)),i=r(!0,{},n._defaultOpts.subtitle,n._presetManager.getSubtitlePreset(),n._title.processSubtitleOptions(i)),n._title.render({title:t,subtitle:i}),n._title.isVisible()&&n._externalElements.push(n._title)},_renderDeltaIndicator:function(){var n=this,t=n.option("indicator");n._indicator||(n._indicator=u.createIndicator(),n._indicator&&(n._indicator._renderer=n._renderer,n._indicator._owner=n._rootElement)),n._indicator&&(t=r(!0,{},n._defaultOpts.indicator,n._presetManager.getIndicatorPreset(),t),n._indicator.render(t),n._indicator.isVisible()&&n._externalElements.push(n._indicator))},_renderTooltip:function(){var n=this,t=r({},n._defaultOpts.tooltip,n.option("tooltip"));n._tooltip||(n._tooltip=u.createTooltip(),n._tooltip.setup(n)),n._tooltip.init(r(!0,{},n._defaultOpts.tooltip,n.option("tooltip"))),n._tooltip.render()},_renderCore:function(n){var t=this,r=t._canvas,i=t._getCanvas();t._updateVisibility(i)&&(i.width!==r.width||i.height!==r.height||n)&&(t._renderer.resize(i.width,i.height),t._canvas=i,t._rootRect=new h({left:i.marginLeft,top:i.marginTop,right:i.width-i.marginRight,bottom:i.height-i.marginBottom}),t._layoutManager.setRect(t._rootRect),t._mainRect=t._rootRect.clone(),t._area=t._getArea(),t._commonOptions=t._getCommonOptions(),t._mainElements.length=0,t._externalElements.length=0,t._renderTitle(),t._renderDeltaIndicator(),e(t._externalElements,function(n,i){var r=t._layoutManager.applyLayout(i.getBoundingRect(),i.getLayoutOptions());i.move(r.dx,r.dy)}),t._mainRect=t._layoutManager.getRect(),t._prepareMainElements(),t._applyMainLayout(t._measureMainElements()),t._renderMainElements(),t._renderTooltip(),t._tracker.init(t.option("tracker")).activate())},_render:function(){var n=this;n._incidentOccured=n._getIncidentOccured(),n._renderCore(!0),n._updateActiveElements(),n._trackWindowResize()},_prepareMainElements:function(){var n=this;n._renderRangeContainer(),n._renderScale(),n._renderIndicators("_rangeBars","rangeBars",n._getCommonRangeBarSettings(),n._createRangeBar),n._renderIndicators("_needles","needles",n._getCommonNeedleSettings(),n._createNeedle),n._renderIndicators("_markers","markers",n._getCommonMarkerSettings(),n._createMarker)},_updateActiveElements:function(){var n=this;e(n._mainElements,function(n,t){t.setCurrentValue&&t.setCurrentValue(t._options.value)})},_renderScale:function(){var n=this,i=n._scale,r=n.option("scale"),t;i||(i=n._scale=n._createScale(),i.setup({renderer:n._renderer,owner:n._rootElement,incidentOccured:n._incidentOccured})),t=n._combineOptions(n._commonOptions,n._defaultOpts.commonScaleSettings,n._presetManager.getScalePreset(),r,{offset:0}),t.majorTick.customTickValues=t.majorTick.customTickValues||[],t.minorTick.customTickValues=t.minorTick.customTickValues||[],i.init(t),n._mainElements.push(i)},_renderRangeContainer:function(){var n=this,t=n._rangeContainer,r=n.option("rangeContainer"),i;t||(t=n._rangeContainer=n._createRangeContainer(),t.setup({renderer:n._renderer,owner:n._rootElement,incidentOccured:n._incidentOccured})),i=n._combineOptions(n._commonOptions,n._defaultOpts.commonRangeSettings,n._presetManager.getRangePreset(),r),i.ranges=i.ranges||[],t.init(i),n._mainElements.push(t)},_renderIndicators:function(n,t,r,u){for(var s=this,v=s[n],l=[],a=s.option(t)||[],o,h,e,f=0,c=v.length;f<c;++f)h=v[f],o=a[f],o?(e=s._renderIndicator(h,r,o,u),h!==e&&h.destroy(),e&&l.push(e)):h.destroy();for(f=c,c=a.length;f<c;++f)o=a[f],o&&(e=s._renderIndicator(i,r,o,u),e&&l.push(e));s[n]=l},_renderIndicator:function(n,t,r,u){var e=this,o=e._combineOptions(e._commonOptions,t,r),f=n;return e._updateIndicatorOptions(f,o),o.value!==i?(f&&f._options.type===o.type||(f=u.call(e,o.type),f?f.setup({renderer:e._renderer,owner:e._rootElement,tracker:e._trackerGroup}):e._incidentOccured("Cannot create "+o.__info+': type "'+o.type+'" is unknown')),f&&(f.init(o),e._mainElements.push(f))):f=i,f},_updateIndicatorOptions:function(n,t){t.baseValue=s(t.translator.translate(t.baseValue))?t.baseValue:this._area.baseValue,n&&(t.currentValue=n.getCurrentValue()),s(t.currentValue)||(t.currentValue=t.baseValue),t.value=t.translator.adjust(t.value),!t.text||t.text.format||t.text.precision||(t.text.format=this._commonOptions.defaultTextFormat,t.text.precision=this._commonOptions.defaultTextPrecision)},_getTrackedElements:function(){var n=[];return e(this._needles,function(t,i){n.push({target:i,info:{type:"needle",index:t}})}),e(this._markers,function(t,i){n.push({target:i,info:{type:"marker",index:t}})}),n},_accessIndicatorValue:function(n,t){return t===i?n?n.getCurrentValue():i:(n&&n.setCurrentValue(t),this)},needleValue:function(n,t){return this._accessIndicatorValue(this._needles[n],t)},markerValue:function(n,t){return this._accessIndicatorValue(this._markers[n],t)},rangeBarValue:function(n,t){return this._accessIndicatorValue(this._rangeBars[n],t)},indicatorValue:function(n){var t=this;n!==i&&t._indicator&&t._indicator.update(n)},_optionValuesEqual:function(n,t,i){n==="rangeContainer"&&t&&i&&i.ranges&&(t.ranges=null),n==="scale"&&(t&&t.majorTick&&i.majorTick&&i.majorTick.customTickValues&&(t.majorTick.customTickValues=null),t&&t.minorTick&&i.minorTick&&i.minorTick.customTickValues&&(t.minorTick.customTickValues=null)),this.callBase.apply(this,arguments)}})}(DevExpress,jQuery),function(n,t,i){function w(n,t){var s=l(n),h=l(t),i=s.cos,u=s.sin,e=h.cos,o=h.sin;return{left:u<=0&&o>=0||u<=0&&o<=0&&i<=e||u>=0&&o>=0&&i>=e?-1:f(i,e,0),right:u>=0&&o<=0||u>=0&&o>=0&&i>=e||u<=0&&o<=0&&i<=e?1:r(i,e,0),up:i<=0&&e>=0||i<=0&&e<=0&&u>=o||i>=0&&e>=0&&u<=o?-1:-r(u,o,0),down:i>=0&&e<=0||i>=0&&e>=0&&u<=o||i<=0&&e<=0&&u>=o?1:-f(u,o,0)}}var u=n.viz.gauges.__factory,h=n.utils.isNumber,o=window.Number,c=n.utils.normalizeAngle,l=n.utils.getCosAndSin,r=Math.max,f=Math.min,e=Math.round,v=Array.prototype.slice,s=t.extend,a=t.each,y=Math.PI,p={geometry:{startAngle:225,endAngle:315,totalRadius:i},scale:{orientation:"outside",label:{indentFromTick:10}},rangeContainer:{orientation:"outside"},spindle:{visible:!0,size:14,gapSize:10,color:"#C2C2C2"},commonNeedleSettings:{offset:20,type:"rectangle",indentFromCenter:0,width:2,space:2,secondColor:"#E18E92",secondFraction:.4},commonMarkerSettings:{offset:-6,type:"textcloud"},commonRangeBarSettings:{offset:30}};n.viz.gauges.CircularGauge=n.viz.gauges.Gauge.inherit({_gaugeType:function(){return"circular"},_defaultOptions:function(){return s(!0,{},this.callBase(),p)},_setupArea:function(n){var r=this,u=r.option("geometry"),i=u.startAngle,t=u.endAngle;i=h(i)?c(i):r._defaultOpts.geometry.startAngle,t=h(t)?c(t):r._defaultOpts.geometry.endAngle,i<=t&&(t-=360),n.x=0,n.y=0,n.radius=100,n.startCoord=i,n.endCoord=t,n.totalRadius=u.totalRadius>0?o(u.totalRadius):r._defaultOpts.geometry.totalRadius,n.sides=w(i,t)},_getCreationOptions:function(){var n=this.callBase();return n.type="circular",n},_getCommonOptions:function(){var n=this._area;return s(!0,this.callBase(),{x:n.x,y:n.y,areaRadius:n.radius,type:"circular"})},_combineOptions:function(){var i=[!0,{}].concat(v.apply(arguments)),n=s.apply(t,i);return n.radius=e(n.areaRadius-o(n.offset)||n.areaRadius),n},_measureMainElements:function(){var s=this,n=0,u=Infinity,t=0,i=0,e=0,o=0;return a(s._mainElements,function(s,h){var c=h.measure();c.min>0&&(u=f(u,c.min)),c.max>0&&(n=r(n,c.max)),c.horizontalOffset>0&&(t=r(t,c.max+c.horizontalOffset)),c.verticalOffset>0&&(i=r(i,c.max+c.verticalOffset)),c.inverseHorizontalOffset>0&&(e=r(e,c.inverseHorizontalOffset)),c.inverseVerticalOffset>0&&(o=r(o,c.inverseVerticalOffset))}),t=r(t-n,0),i=r(i-n,0),{minRadius:u,maxRadius:n,horizontalMargin:t,verticalMargin:i,inverseHorizontalMargin:e,inverseVerticalMargin:o}},_applyMainLayout:function(n){var s=this,r=s._area,t=r.sides,o={left:(t.left<-.1?n.horizontalMargin:n.inverseHorizontalMargin)||0,right:(t.right>.1?n.horizontalMargin:n.inverseHorizontalMargin)||0,top:(t.up<-.1?n.verticalMargin:n.inverseVerticalMargin)||0,bottom:(t.down>.1?n.verticalMargin:n.inverseVerticalMargin)||0},i=s._layoutManager.selectRectByAspectRatio((t.down-t.up)/(t.right-t.left),o),u=f(i.width()/(t.right-t.left),i.height()/(t.down-t.up)),h,c;u>r.totalRadius&&(i=i.scale(r.totalRadius/u),u=r.totalRadius),u=u-n.maxRadius+r.radius,h=i.left-i.width()*t.left/(t.right-t.left),c=i.top-i.height()*t.up/(t.down-t.up),r.x=e(h),r.y=e(c),r.radius=u,i.left-=o.left,i.right+=o.right,i.top-=o.top,i.bottom+=o.bottom,s._layoutManager.setRect(i)},_renderMainElements:function(){var n=this,i=n._area.x,r=n._area.y,t=n._area.radius;a(n._mainElements,function(n,u){u.init({x:i,y:r,radius:e(t-o(u._options.offset)||t)}).render()})},_createScale:function(){return u.createCircularScale()},_createRangeContainer:function(){return u.createCircularRangeContainer()},_createNeedle:function(n){return u.createCircularNeedle(n)},_createMarker:function(n){return u.createCircularMarker(n)},_createRangeBar:function(){return u.createCircularRangeBar()},_createSpindle:function(){return u.createCircularSpindle()},_prepareMainElements:function(){this.callBase(),this._renderSpindle()},_renderSpindle:function(){var n=this;n._spindle||(n._spindle=n._createSpindle(),n._spindle.setup({renderer:n._renderer,owner:n._rootElement})),n._spindle.init(n._combineOptions(n._commonOptions,n._defaultOpts.spindle,n._presetManager.getSpindlePreset(),n.option("spindle"))),n._mainElements.push(n._spindle)},_getApproximateScreenRange:function(){var i=this,n=i._area,t=f(i._mainRect.width()/(n.sides.right-n.sides.left),i._mainRect.height()/(n.sides.down-n.sides.up));return t>n.totalRadius&&(t=n.totalRadius),t=.8*t,-n.translator.getCodomainRange()*t*y/180}})}(DevExpress,jQuery),function(n,t,i){var r=n.viz.gauges.__factory,e=Math.max,s=Math.min,u=Math.round,h=Array.prototype.slice,f=t.extend,o=t.each,c={geometry:{orientation:"horizontal",totalSize:i},scale:{horizontalOrientation:"right",verticalOrientation:"bottom",label:{indentFromTick:-10}},rangeContainer:{horizontalOrientation:"right",verticalOrientation:"bottom"},commonNeedleSettings:{offset:2.5,type:"rhombus",length:15,width:15},commonMarkerSettings:{offset:-1,type:"textcloud",horizontalOrientation:"left",verticalOrientation:"top"},commonRangeBarSettings:{offset:10,horizontalOrientation:"right",verticalOrientation:"bottom"}};n.viz.gauges.LinearGauge=n.viz.gauges.Gauge.inherit({_gaugeType:function(){return"linear"},_defaultOptions:function(){return f(!0,this.callBase(),c)},_setupArea:function(n){var t=this.option("geometry");n.vertical=t.orientation==="vertical",n.x=0,n.y=0,n.startCoord=-100,n.endCoord=100,n.totalSize=t.totalSize>0?Number(t.totalSize):i},_getCreationOptions:function(){var n=this.callBase();return n.type="linear",n},_getCommonOptions:function(){var n=this._area;return f(!0,this.callBase(),{baseX:n.x,baseY:n.y,orientation:n.vertical?"vertical":"horizontal"})},_combineOptions:function(){var i=[!0,{}].concat(h.apply(arguments)),n=f.apply(t,i);return n.x=u(n.baseX+Number(n.offset)||n.baseX),n.y=u(n.baseY+Number(n.offset)||n.baseY),n},_measureMainElements:function(){var r=this,n=1e3,t=0,i=0;return o(r._mainElements,function(r,u){var f=u.measure();t=e(t,f.max),n=s(n,f.min),f.indent>0&&(i=e(i,f.indent))}),{minBound:n,maxBound:t,indent:i}},_applyMainLayout:function(n){var f=this,t=f._area,i,e;t.vertical?(i=f._layoutManager.selectRectBySizes({width:n.maxBound-n.minBound,height:t.totalSize}),e=i.horizontalMiddle()-(n.minBound+n.maxBound)/2,t.startCoord=i.bottom-n.indent,t.endCoord=i.top+n.indent,t.x=u(t.x+e)):(i=f._layoutManager.selectRectBySizes({height:n.maxBound-n.minBound,width:t.totalSize}),e=i.verticalMiddle()-(n.minBound+n.maxBound)/2,t.startCoord=i.left+n.indent,t.endCoord=i.right-n.indent,t.y=u(t.y+e)),t.translator=r.createTranslator(t.startCoord,t.endCoord,t.startValue,t.endValue),f._layoutManager.setRect(i)},_renderMainElements:function(){var n=this,t=n._area.x,i=n._area.y,r=n._area.translator;o(n._mainElements,function(n,f){f.init({x:u(t+Number(f._options.offset)||t),y:u(i+Number(f._options.offset)||i),translator:r}).render()})},_createScale:function(){return r.createLinearScale()},_createRangeContainer:function(){return r.createLinearRangeContainer()},_createNeedle:function(n){return r.createLinearNeedle(n)},_createMarker:function(n){return r.createLinearMarker(n)},_createRangeBar:function(){return r.createLinearRangeBar()},_getApproximateScreenRange:function(){var t=this,i=t._area,n=i.vertical?t._mainRect.height():t._mainRect.width();return n>i.totalSize&&(n=i.totalSize),n=n*.8}})}(DevExpress,jQuery),function(n,t){var s=n.formatHelper,f=window.Number,h=window.String,c=n.utils.isFunction,r=Math.round,e=t.extend,o=4,u={up:[-.5,-1,-1,0,0,-1,1,0,0,1,-1,0,0,1],down:[.5,1,1,0,0,1,-1,0,0,-1,1,0,0,-1],left:[-1,.5,0,1,-1,0,0,-1,1,0,0,1,1,0],right:[1,-.5,0,-1,1,0,0,1,-1,0,0,-1,-1,0]};n.viz.gauges.__internals.Tooltip=n.Class.inherit({setup:function(n){var t=this;return t._gauge=n,t._renderer=n._renderer,t._options={},t},init:function(n){var t=this;return e(!0,t._options,n),t},render:function(){var n=this;return n._options.enabled?(n._rootElement=n._rootElement||n._renderer.createGroup({"class":"tooltip"}),n._rootElement.append(n._gauge._rootElement),n._shadow=n._shadow||n._renderer.createArea().append(n._rootElement),n._cloud=n._cloud||n._renderer.createArea().append(n._rootElement),n._text=n._text||n._renderer.createText().append(n._rootElement),n._shadow.applySettings({stroke:"none",strokeWidth:0,fill:"#000000",opacity:.1}),n._cloud.applySettings({stroke:"none",strokeWidth:0}),n._text.applySettings({align:"center",font:n._options.font}),n._rootElement.applySettings({visibility:"hidden"}),n._visible=!1):n.clear(),n},clear:function(){var n=this;return n._rootElement&&(n._rootElement.remove(),delete n._rootElement,delete n._shadow,delete n._cloud,delete n._text),n},_formatValue:function(n,t){var i=this._options,r=s.format(n,i.format,i.precision);return c(i.customizeText)?h(i.customizeText.call(e(!0,t||{},{value:n,valueText:r}),r)):r},_selectMask:function(n,t,i,r,f){var o=this._gauge._rootRect,e;return e=n+i/2>o.right?u.left:n-i/2<o.left?u.right:t-f-r<o.top?u.down:u.up},_getSettings:function(n,t,i,u,e){var w=this._options,a=i+2*f(w.horizontalPadding),v=u+2*f(w.verticalPadding),l=f(w.arrowLength),s=this._selectMask(n,t,a,v,l),y,b,p,h,c;for(b=[h=r(n-s[12]*e),c=r(t-s[13]*e),h+=r(s[0]*l),c+=r(s[1]*l),h+=r(s[2]*(a-l)/2),c+=r(s[3]*(v-l)/2),h+=r(s[4]*a),c+=r(s[5]*v),h+=r(s[6]*a),c+=r(s[7]*v),h+=r(s[8]*a),c+=r(s[9]*v),h+=r(s[10]*(a-l)/2),c+=r(s[11]*(v-l)/2)],p=b.slice(0),h=r(s[12]*o),c=r(s[13]*o),y=0;y<14;y+=2)p[y]+=h,p[y+1]+=c;return h=r(n-s[12]*(l+a/2+e)),c=r(t-s[13]*(l+v/2+e))-2,{x:h,y:c,cloudPoints:b,shadowPoints:p}},show:function(n){n=n||{};var t=this,f=t._formatValue(n.value,n.context),i,u;return t._text.applySettings({text:f,x:0,y:0}),i=t._text.getBBox(),u=t._getSettings(n.x,n.y,i.width,i.height,n.offset||0),t._shadow.applySettings({points:u.shadowPoints}),t._cloud.applySettings({points:u.cloudPoints,fill:n.color}),t._text.applySettings({x:u.x,y:r(u.y-i.y-i.height/2+2)}),!t._visible&&t._rootElement.applySettings({visibility:"visible"})&&(t._visible=!0),t},hide:function(){var n=this;return n._visible&&n._rootElement.applySettings({visibility:"hidden"})&&(n._visible=!1),n},enabled:function(){return!!this._rootElement}})}(DevExpress,jQuery),function(n,t){function a(n){var t=n.data.tracker;t._context!==null&&t._processLeave(),t._context=n.data,t._processEnter(n)}function v(n){var t=n.data.tracker;t._context!==null&&(t._processLeave(),t._context=null)}function y(n){n.data.tracker._processMove(n)}var u=window.setTimeout,f=window.clearTimeout,l=window.Number,e=t.extend,o=t.each,s=Math.abs,h=200,c=3,p={mouseover:a,mouseout:v},r={mousemove:y};n.viz.gauges.__internals.Tracker=n.Class.inherit({setup:function(n){var t=this;return t._gauge=n,t._listeners=[],t._context=null,t._options={},t._waitHoverCallback=function(){t._context.element.off(r),t._context.hover=!0,t._processHoverOn()},t},init:function(n){return e(!0,this._options,n),this},activate:function(){var n=this;return n._detachListeners(),n._gauge._tooltip.enabled()&&n._attachListeners(),n._gauge._trackerGroup.toForeground(),n._tooltipDelay=n._options.tooltipDelay>=0?l(n._options.tooltipDelay):0,n},_attachListeners:function(){var n=this;o(n._gauge._getTrackedElements(),function(t,i){var r;if(i.target.getTrackingElement&&(r=i.target.getTrackingElement(),r)){n._listeners.push(r);r.on(p,{tracker:n,element:r,target:i.target,info:i.info})}})},_detachListeners:function(){var n=this;o(n._listeners,function(n,t){t.off()}),n._listeners.length=0},_processEnter:function(n){var i=this,t=i._context;t.x=n.pageX,t.y=n.pageY;t.element.on(r,t);t.hoverTimeout=u(i._waitHoverCallback,h)},_processLeave:function(){var n=this;n._context.element.off(r),f(n._context.hoverTimeout),n._context.hover&&n._processHoverOff(),delete n._context.hover},_processMove:function(n){var i=this,t=i._context;(s(n.pageX-t.x)>c||s(n.pageY-t.y)>c)&&(t.x=n.pageX,t.y=n.pageY,f(t.hoverTimeout),t.hoverTimeout=u(i._waitHoverCallback,h))},_processHoverOn:function(){this._gauge._tooltip.show(e(!0,this._context.target.getTooltipParameters(),{context:this._context.info}))},_processHoverOff:function(){this._gauge._tooltip.hide()}})}(DevExpress,jQuery),function(n){n.viz.rangeSelector={utils:{}}}(DevExpress),function(n){DevExpress.viz.rangeSelector.BaseVisualElement=n.Class.inherit({ctor:function(n){this._renderer=n,this._isDrawn=!1},applyOptions:function(n){this._options=n||{},this._applyOptions(this._options)},_applyOptions:function(){},redraw:function(n){var t=this;t._isDrawn?t._update(n||t._group):(t._isDrawn=!(t._draw(n||t._group)===!1),n&&(t._group=n))},isDrawn:function(){return!!this._isDrawn},isInitialized:function(){return!!this._options},_draw:function(){},_update:function(n){n.clear(),this._draw(n)}})}(DevExpress),function(n,t,i){var u=t.viz.rangeSelector,s=t.viz.core,r=t.utils,f=u.utils,o=t.viz.core.ParseUtils,e=t.formatHelper,h=100;u.consts={fontHeightRatio:.55,emptySliderMarkerText:". . ."},u.formatValue=function(n,t){var i={value:n,valueText:e.format(n,t.format,t.precision)};return String(t.customizeText?t.customizeText.call(i,i):i.valueText)},u.RangeSelector=t.ui.Component.inherit(function(){var v=5,y={size:i,margin:{left:0,top:0,right:0,bottom:0},scale:{showCustomBoundaryTicks:!0,showMinorTicks:!0,startValue:i,endValue:i,minorTickCount:i,minorTickInterval:i,majorTickInterval:i,useTicksAutoArrangement:!0,setTicksAtUnitBeginning:!0,minRange:i,maxRange:i,placeholderHeight:i,valueType:i,label:{visible:!0,format:i,precision:i,customizeText:i},marker:{visible:!0,label:{format:i,precision:i,customizeText:i}}},selectedRange:i,sliderMarker:{visible:!0,format:i,precision:i,customizeText:i,placeholderSize:i},behavior:{snapToTicks:!0,animationEnabled:!0,moveSelectedRangeByClick:!0,manualRangeSelectionEnabled:!0,allowSlidersSwap:!0,callSelectedRangeChanged:"onMovingComplete"},background:{color:"#C0BAE1",visible:!0,image:{url:i,location:"full"}},chart:{commonSeriesSettings:{type:"area",label:{visible:!1},hoverMode:"none"},equalBarWidth:!0,topIndent:.1,bottomIndent:0,valueAxis:{min:i,max:i,inverted:!1},series:i},dataSource:i,dataSourceField:"arg",redrawOnResize:!0,theme:i,selectedRangeChanged:null,incidentOccured:n.noop},s=function(n,t,r){var o=t===i?u.consts.emptySliderMarkerText:u.formatValue(t,r),e=f.getTextBBox(n,o,r.font);return{width:Math.ceil(e.width)+2*r.padding,height:Math.ceil(e.height*u.consts.fontHeightRatio)+2*r.padding+r.pointerSize}},h=function(n,t,i){var r=u.formatValue(t,i.label),e=f.getTextBBox(n,r,i.label.font);return Math.ceil(e.width/2)},p=function(n,t,i){var r={left:t.left+i.left,top:t.top+i.top,width:n.width-t.left-t.right-i.left-i.right,height:n.height-t.top-t.bottom-i.top-i.bottom};return r.width<=0&&(r.width=1),r},w=function(n){var t,i,u;return r.isNumber(n)?t=i=u=n:n&&(r.isNumber(n.height)&&(u=n.height),r.isNumber(n.width)?t=i=n.width:n.width&&(r.isNumber(n.width.left)&&(t=n.width.left),r.isNumber(n.width.right)&&(i=n.width.right))),{widthLeft:t,widthRight:i,height:u}},b=function(n,t,i,r){var c,a,v,l,y,u=0,f=0,e=0,o;return o=w(r.placeholderSize),u=o.widthLeft||0,f=o.widthRight||0,e=o.height||0,r.visible&&(c=s(n,i.startValue,r),u||(u=c.width),l=s(n,i.endValue,r),f||(f=l.width),e||(e=Math.max(c.height,l.height))),a=h(n,i.startValue,i),v=h(n,i.endValue,i),u=Math.max(u,a),f=Math.max(f,v),{left:u,right:f,top:e,bottom:0}},k=function(n){n&&n.empty()},d=function(n){return n._element()},g=function(n){return u.rangeSelectorFactory.createRangeContainer(n)},nt=function(n,t){return u.rangeSelectorFactory.createTranslator(n,t)},tt=function(n,t,i){return{left:t.left,top:t.top,right:n.width-t.width-t.left,bottom:n.height-t.height-t.top+i,width:n.width,height:n.height}},it=function(n){var t=n.option("renderer");return t?t:t=u.rangeSelectorFactory.createRenderer()},rt=function(n){return u.rangeSelectorFactory.createThemeManager(n)},c=function(t,i){var r=[n.type(t),n.type(i)];return n.inArray(),n.inArray("date",r)!=-1?"datetime":n.inArray("number",r)!=-1?"numeric":""},ut=function(n){var r,f=n._dataSource&&n._dataSource.items(),t=n.option("scale"),i=t.valueType;return i||(i=c(t.startValue,t.endValue)),(f||n.option("chart").series)&&(r=new u.SeriesDataSource({renderer:n.renderer,dataSource:f,valueType:(i||"").toLowerCase(),chart:n.option("chart"),dataSourceField:n.option("dataSourceField"),backgroundColor:n._userBackgroundColor,incidentOccured:n.option("incidentOccured")})),r},ft=function(n,i,u){var f,e,o,s=!1;return r.isDefined(u.startValue)&&r.isDefined(u.endValue)?(s=u.inverted=u.startValue>u.endValue,e=s?u.endValue:u.startValue,o=s?u.startValue:u.endValue):(r.isDefined(u.startValue)||r.isDefined(u.endValue))&&(e=u.startValue,o=u.endValue),f=i?i.getBoundRange():new t.viz.charts.Range,e!==o&&(f.invertX=s,f.getBoundRange({minX:e,maxX:o,minVisibleX:e,maxVisibleX:o})),f.isDefinedX()||f.setStubDataX(u.valueType),f},et=function(n,t,i){var r,u=t.label.visible;return t.placeholderHeight?t.placeholderHeight:(r=f.getTextBBox(n,"0",t.label.font),(u?t.label.topIndent+r.height:0)+(i?t.marker.topIndent+t.marker.separatorHeight:0))},ot=function(n,t,i,f){var e=t.isEmpty,a=u.rangeSelectorFactory.getTickProvider(),o,s,h,c,l=i.getBusinessRange();return o={tickInterval:e?0:n.option("scale").minorTickInterval,showCustomBoundaryTicks:t.showCustomBoundaryTicks,minorTickCount:t.minorTickCount},s={textOptions:{align:"center",font:t.label.font},renderer:n.renderer,getText:function(n){return u.formatValue(n,t.label)},translator:i,isStartTickGenerated:!r.isDefined(n.option("scale").majorTickInterval),tickInterval:t.majorTickInterval,textSpacing:v,setTicksAtUnitBeginning:t.setTicksAtUnitBeginning,useTicksAutoArrangement:t.useTicksAutoArrangement,hideLabels:e},h=e?l.minX:t.startValue,c=e?l.maxX:t.endValue,a.getFullTicks(h,c,f,s,o)},st=function(n,t,i){var f=u.rangeSelectorFactory.getTickProvider(),r=f.getTickIntervals(n.startValue,n.endValue,t,{tickInterval:n.majorTickInterval,incidentOccured:i},{tickInterval:n.minorTickInterval,incidentOccured:i});n.minorTickInterval=r.minorTickInterval,n.majorTickInterval=r.majorTickInterval},ht=function(n,t,u,f,o){var s=r.isDefined(u.minVisibleX)?u.minVisibleX:u.minX,h=r.isDefined(u.maxVisibleX)?u.maxVisibleX:u.maxX;t&&!t.isEmpty()&&(o.startValue=o.inverted?h:s,o.endValue=o.inverted?s:h),o.isEmpty=!r.isDefined(o.startValue)||!r.isDefined(o.endValue)||o.startValue===o.endValue||o.valueType==="string",o.isEmpty?o.startValue=o.endValue=i:(st(o,f,n.option("incidentOccured")),o.valueType!=="datetime"||r.isDefined(o.label.format)||(o.label.format=o.marker.visible?r.getDateUnitInterval(o.majorTickInterval):e.getDateFormatByTickInterval(o.startValue,o.endValue,o.majorTickInterval)))},ct=function(t,i,u){var f=n.extend(!0,{},t.option("sliderMarker")),o;return f.format||(!t.option("behavior").snapToTicks&&r.isNumber(i.startValue)&&(o=Math.abs(i.endValue-i.startValue),f.format="fixedPoint",f.precision=r.getSignificantDigitPosition(o/u)),i.valueType==="datetime"&&(f.format=i.marker.visible?r.getDateUnitInterval(r.isDefined(i.minorTickInterval)&&i.minorTickInterval!==0?i.minorTickInterval:i.majorTickInterval):e.getDateFormatByTickInterval(i.startValue,i.endValue,i.minorTickInterval!==0?i.minorTickInterval:i.majorTickInterval))),f},lt=function(n){return n.valueType=="datetime"&&n.marker.visible},at=function(n,t){var i=t.minorTickInterval||t.majorTickInterval;n=n.getBoundRange({intervalX:i})},vt=function(t,u){var f=n.extend(!0,{},t.option("scale")),h=t.option("incidentOccured"),e=0,a=new o({incidentOccured:h}),s=a.correctValueType((f.valueType||"").toLowerCase()),l;return(u&&(s=u.getCalculatedValueType()||s),s||(s=c(f.startValue,f.endValue)||"string"),f.valueType=s,f.valueType==="string")?(h("The type of the argument values specified in the data source is unsupported."),f):(l=a.getParser(s,"scale"),r.isDefined(f.startValue)&&(e=l(f.startValue),r.isDefined(e)?f.startValue=e:(f.startValue=i,h.call(null,"Cannot parse the value specified as the startValue property of the scale configuration object."))),r.isDefined(f.endValue)&&(e=l(f.endValue),r.isDefined(e)?f.endValue=e:(f.endValue=i,h.call(null,"Cannot parse the value specified as the endValue property of the scale configuration object."))),f.parser=l,f)},yt=function(n){var u,r,f,e,i,o,t,s,h,c;if(n._isUpdating=!0,i=a(n),n._actualSize=i,i.width&&i.height)n.stopRedraw=!1;else{n.stopRedraw=!0,n.option("incidentOccured")("RangeSelector can not be drawn as container is not visible");return}pt(n,i),r=ut(n),t=vt(n,r),f=ft(n,r,t),ht(n,r,f,i.width,t),at(f,t),s=ct(n,t,i.width),h=bt(n,t),o=b(n.renderer,i,t,s),u=p(i,n.option("margin"),o),e=et(n.renderer,t,lt(t)),n.translator=nt(f,tt(i,u,e)),t.ticksInfo=ot(n,t,n.translator,u.width),r&&r.adjustSeriesDimensions(n.translator),n.rangeContainer.applyOptions({canvas:u,scaleLabelsAreaHeight:e,sliderMarkerSpacing:o,translator:n.translator,selectedRange:h,scale:t,behavior:n.option("behavior"),background:n.option("background"),chart:n.option("chart"),seriesDataSource:r,sliderMarker:s,sliderHandles:n.option("sliderHandles"),shutter:n.option("shutter"),selectedRangeChanged:l(n),setSelectedRange:function(t){n.setSelectedRange(t)}}),n._isUpdating=!1},l=function(n){return function(t){var i=n.option("selectedRangeChanged");n.option("selectedRange",t),i&&i(t)}},a=function(n){var i=n.container,r=n.option("size")||{},t={width:r.width,height:r.height};return i&&(t.width||(t.width=i.width()),t.height||(t.height=i.height())),t},pt=function(n,t){var i=n.renderer;i.isInitialized()?i.getRoot().applySettings({width:t.width,height:t.height}):(i.recreateCanvas(t.width,t.height),i.draw(n.container[0]))},wt=function(n,t){var i;!n.option("chart").theme&&t&&t.theme&&(i=t.theme,i&&(typeof i=="object"&&(i=i.chart||{},i.name=t.theme.name),n.option("chart").theme=i))},bt=function(n,t){var i=n.option("selectedRange"),f=t.parser||function(){return null},u=function(i,u){var e,o=t[u];return r.isDefined(i)&&(e=f(i)),r.isDefined(e)?o=e:n.option("incidentOccured").call(null,"Cannot parse the value specified as the "+u+" property of the selectedRange configuration object."),o};return i?{startValue:u(i.startValue,"startValue"),endValue:u(i.endValue,"endValue")}:{startValue:t.startValue,endValue:t.endValue}},kt=function(n){var t=n._actualSize,i=a(n);return t&&(t.width!==i.width||t.height!==i.height)},dt=function(n){return t.utils.createResizeHandler(function(){kt(n)&&n._render(!0)})};return{_defaultOptions:function(){return y},_dataSourceOptions:function(){return{paginate:!1}},_init:function(){var t=this;t.container=d(t),k(t.container),t.renderer=it(t),t.rangeContainer=g(t.renderer),t.option("redrawOnResize")===!0&&r.windowResizeCallbacks.add(dt(t)),n.isFunction(t.option("incidentOccured"))||t.option("incidentOccured",n.noop),t._reinitDataSource()},_reinitDataSource:function(){this._initDataSource(),this._loadDataSource()},_initOptions:function(n){var t=this,i;n=n||{},i=rt(n.theme),i.setBackgroundColor(n.containerBackgroundColor),t.option(i.applyRangeSelectorTheme(n)),wt(t,n),n.background&&(t._userBackgroundColor=n.background.color)},_render:function(n){var t=this,r,i;yt(t),t.stopRedraw||(n?(i=t.option("behavior"),r=i.animationEnabled,i.animationEnabled=!1,t.rangeContainer.redraw(),i.animationEnabled=r):t.rangeContainer.redraw())},_optionChanged:function(n){var t=this;n==="dataSource"?(t._reinitDataSource(),t._invalidate()):n==="selectedRange"?t.setSelectedRange(t.option("selectedRange")):n==="selectedRangeChanged"?t.rangeContainer.slidersContainer.selectedRangeChanged=l(t):t._invalidate()},_handleDataSourceChanged:function(){var n=this;n.renderer.isInitialized()&&n._render()},getSelectedRange:function(){var t=this,n=t.rangeContainer.slidersContainer.getSelectedRange();return{startValue:n.startValue,endValue:n.endValue}},setSelectedRange:function(n){var i=this,t;!i._isUpdating&&n&&((t=i.rangeContainer.slidersContainer.getSelectedRange(),t&&t.startValue===n.startValue&&t.endValue===n.endValue)||i.rangeContainer.slidersContainer.setSelectedRange(n))}}}()).include(t.ui.DataHelperMixin)}(jQuery,DevExpress),function(n,t){var r=t.viz.rangeSelector;r.RangeContainer=r.BaseVisualElement.inherit(function(){var t=function(n){this.callBase(n),this.slidersContainer=u(n),this.rangeView=e(n),this.scale=f(n)},i=function(n){var t=this,i=n.scale.isEmpty,r={left:n.canvas.left,top:n.canvas.top,width:n.canvas.width,height:n.canvas.height>=n.scaleLabelsAreaHeight?n.canvas.height-n.scaleLabelsAreaHeight:0};t._viewCanvas=r,t.slidersContainer.applyOptions({canvas:r,translator:n.translator,scale:n.scale,selectedRange:n.selectedRange,sliderMarker:n.sliderMarker,sliderHandles:n.sliderHandles,shutter:n.shutter,behavior:n.behavior,selectedRangeChanged:n.selectedRangeChanged,isEmpty:i}),t.rangeView.applyOptions({canvas:r,translator:n.translator,background:n.background,chart:n.chart,seriesDataSource:n.seriesDataSource,behavior:n.behavior,isEmpty:i}),t.scale.applyOptions({canvas:n.canvas,translator:n.translator,scale:n.scale,hideLabels:i,scaleLabelsAreaHeight:n.scaleLabelsAreaHeight,setSelectedRange:n.setSelectedRange})},u=function(n){return r.rangeSelectorFactory.createSlidersContainer(n)},f=function(n){return r.rangeSelectorFactory.createScale(n)},e=function(n){return r.rangeSelectorFactory.createRangeView(n)},n=function(n,t){return{left:n.left-t.left,top:n.top-t.top,width:n.width+t.right+t.left,height:n.height+t.bottom+t.top}},o=function(){var t=this,i,e,o,s,r,h=t._options.size,u=n(t._options.canvas,t._options.sliderMarkerSpacing),f=t._viewCanvas;t._clipRect=t._renderer.createClipRect(u.left,u.top,u.width,u.height),i=t._renderer.drawGroup({"class":"rangeContainer",clipId:t._clipRect.id}),t._viewClipRect=t._renderer.createClipRect(f.left,f.top,f.width,f.height),e=t._renderer.createGroup({"class":"view",clipId:t._viewClipRect.id}),e.append(i),t.rangeView.redraw(e),o=t._renderer.createGroup({"class":"slidersContainer"}),o.append(i),t.slidersContainer.redraw(o),s=t._renderer.createGroup({"class":"scale"}),s.append(i),t.scale.redraw(s),r=t._renderer.createGroup({"class":"trackers"}),r.append(i),t._trackersGroup=r,t.slidersContainer.appendTrackers(r)},s=function(){var t=this,i=n(t._options.canvas,t._options.sliderMarkerSpacing),r=t._viewCanvas;t._clipRect.applySettings({x:i.left,y:i.top,width:i.width,height:i.height}),t._viewClipRect.applySettings({x:r.left,y:r.top,width:r.width,height:r.height}),t.rangeView.redraw(),t.slidersContainer.redraw(),t.slidersContainer.appendTrackers(t._trackersGroup),t.scale.redraw()};return{ctor:t,_applyOptions:i,_draw:o,_update:s}}())}(jQuery,DevExpress),function(n,t,i){var r=t.viz.rangeSelector,f=t.formatHelper,u=t.utils,e=5;r.Scale=r.BaseVisualElement.inherit({_setupDateTickInterval:function(n){this.dateUnitInterval=u.getDateUnitInterval(n),this._prepareTickIntervalObject(n,this.dateUnitInterval)},_prepareTickIntervalObject:function(n,t){if(u.isObject(n)&&u.isString(t))for(var i in n)i!==t+"s"&&delete n[i]},_prepareDatesDifferences:function(n,t){var i=t;i==="week"&&(i="day"),i==="quarter"&&(i="month"),n[i]&&(n[i]=!1,n.count--)},_getMarkerDate:function(n,t){var i=new Date(n.getTime()),r=0;switch(t){case"quarter":r=f.getFirstQuarterMonth(n.getMonth());case"month":i.setMonth(r);case"week":case"day":i.setDate(1);case"hour":i.setHours(0,0,0,0);break;case"millisecond":i.setMilliseconds(0);break;case"second":i.setSeconds(0,0);break;case"minute":i.setMinutes(0,0,0)}return i},_drawDateMarker:function(n,t){var r,u,f,i;t.x!==null&&(i=this._options.scale,this.lineOptions["class"]="dx-range-selector-date-marker",this._renderer.createLine(t.x,t.y,t.x,t.y+i.marker.separatorHeight,this.lineOptions).append(t.group),f=this._getLabel(n,t.label),r=t.x+i.tick.width+i.marker.textLeftIndent,u=t.y+i.marker.textTopIndent+i.label.font.size,this.textOptions.align="left",this._renderer.createText(f,r,u,this.textOptions).append(t.group))},_drawDateMarkers:function(n,t){var h,i,r,e,o,s;if(this._options.scale.valueType==="datetime"&&this.visibleMarkers&&(s=[],n.length>1)){for(i=1;i<n.length;i++)r=u.getDatesDifferences(n[i-1],n[i]),this._prepareDatesDifferences(r,this.dateUnitInterval),r.count>0&&(e=this._getMarkerDate(n[i],this.dateUnitInterval),o=this.translator.translateX(e),o!==null&&s.push({date:e,posX:o}),this._drawDateMarker(e,{group:t,y:this._options.canvas.top+this._options.canvas.height-this.markersAreaHeight+this._options.scale.marker.topIndent,x:o,label:this._getLabelFormatOptions(f.getDateFormatByDifferences(r))}));this._initializeMarkersEvents(s,t)}},_getLabelFormatOptions:function(t){return u.isDefined(this._options.scale.marker.label.format)?this._options.scale.marker.label:n.extend({},this._options.scale.marker.label,{format:t})},_calculateRangeByMarkerPosition:function(n,t,i){var r={},f,u;for(f in t)u=t[f],i.inverted?n<u.posX?r.endValue=u.date:r.startValue||(r.startValue=u.date):n>=u.posX?r.startValue=u.date:r.endValue||(r.endValue=u.date);return r.startValue=r.startValue||i.startValue,r.endValue=r.endValue||i.endValue,r},_initializeMarkersEvents:function(n,t){var i=this,s=this._options.canvas.top+this._options.canvas.height-this.markersAreaHeight+this._options.scale.marker.topIndent,u,f,h,e,o;if(n.length>0){u=i._renderer.createRect(i._options.canvas.left,s,i._options.canvas.width,i._options.scale.marker.separatorHeight,0,{fill:"grey",stroke:"grey",opacity:.0001}),u.append(t);u.on(r.events.start,function(t){f=r.utils.getRootOffsetLeft(i._renderer),e=r.utils.getEventPageX(t)-f,o=i._calculateRangeByMarkerPosition(e,n,i._options.scale),i._options.setSelectedRange(o)});i._markersTracker=u}},_getLabel:function(n,t){var i={value:n,valueText:f.format(n,t.format,t.precision)};return String(t.customizeText?t.customizeText.call(i,i):i.valueText)},_drawLabel:function(n,t){var i=this._options.canvas.top+this._options.canvas.height-this.markersAreaHeight,r=this._renderer.createText(this._getLabel(n,this._options.scale.label),this.translator.translateX(n),i,this.textOptions);r.append(t)},_drawTick:function(n,t){this.lineOptions["class"]="dx-range-selector-tick";var r=this._options.canvas.top+this._options.canvas.height-this.scaleLabelsAreaHeight,i=this.translator.translateX(n),u=this._renderer.createLine(i,this._options.canvas.top,i,r,this.lineOptions).append(t)},_redraw:function(n){for(var r=this,u=r._options.scale,f=u.ticksInfo.majorTicks,e=u.ticksInfo.minorTicks,o=u.ticksInfo.customBoundaryTicks,s=r._options.hideLabels||f.hideLabels||!u.label.visible,i=0;i<f.length;i++)s||r._drawLabel(f[i],n),r._drawTick(f[i],n);if(u.showMinorTicks)for(i=0;i<e.length;i++)r._drawTick(e[i],n);for(i=0;i<o.length;i++)r._drawTick(o[i],n);r._drawDateMarkers(f,n)},_applyOptions:function(n){var t=n.scale,r;this.textOptions={align:"center","class":"dx-range-selector-scale",font:t.label.font,style:{"-webkit-user-select":"none"}},this.lineOptions={strokeWidth:t.tick.width,stroke:t.tick.color,strokeOpacity:t.tick.opacity},this._setupDateTickInterval(t.ticksInfo.majorTickInterval),this.visibleMarkers=t.marker.visible===i?!0:t.marker.visible,r=t.label.visible?t.label.topIndent+t.label.font.size:0,this.scaleLabelsAreaHeight=n.scaleLabelsAreaHeight,this.markersAreaHeight=this.scaleLabelsAreaHeight-r,this.translator=n.translator},_draw:function(n){var t=this._renderer.createGroup();this._redraw(t,!1),t.append(n)},_update:function(n){var t=this.callBase;this._markersTracker&&this._markersTracker.off(r.events.start,"**"),this.callBase=t,this.callBase(n)}})}(jQuery,DevExpress),function(n,t){var r=t.viz.rangeSelector,u=t.viz.renderers;r.rangeSelectorFactory=function(){return{createRenderer:function(n){return new u.Renderer(n)},createTranslator:function(n,i){return new t.viz.core.LinearTranslator(n,i)},getTickProvider:function(){return t.viz.core.tickProvider},createRangeContainer:function(n){return new r.RangeContainer(n)},createSlidersContainer:function(n){return new r.SlidersContainer(n)},createScale:function(n){return new r.Scale(n)},createSliderMarker:function(n){return new r.SliderMarker(n)},createRangeView:function(n){return new r.RangeView(n)},createThemeManager:function(n){return new r.ThemeManager(n)},createSlider:function(n,t){return new r.Slider(n,t)},createSlidersEventsManager:function(n,t,i){return new r.SlidersEventsManager(n,t,i)},createSlidersController:function(n){return new r.SlidersController(n)}}}()}(jQuery,DevExpress),function(n,t){var r=t.viz.rangeSelector,h=t.utils,e=window.navigator.msPointerEnabled,u=t.utils.isNumber,f=t.utils.isDate,o=0,s=1;r.SlidersContainer=r.BaseVisualElement.inherit(function(){return{_drawAreaTracker:function(n){var t=this,i,r;i=t._renderer.createRect(t._options.canvas.left,t._options.canvas.top,t._options.canvas.width,t._options.canvas.height,0,{fill:"grey",stroke:"grey",opacity:.0001}),i.append(n),r=t._renderer.createRect(t._options.canvas.left,t._options.canvas.top,t._options.canvas.width,t._options.canvas.height,0,{fill:"grey",stroke:"grey",opacity:.0001,style:{cursor:"pointer"}}),r.append(n),t._controller.setAreaTrackers(i,r)},_processSelectionChanged:function(n){var t=this,r=function(n){return n&&t._lastSelectedRange.startValue===n.startValue&&t._lastSelectedRange.endValue===n.endValue},i=t.getSelectedRange();n&&(t._options.behavior.callSelectedRangeChanged||"").toLowerCase()!=="onmoving"||!t._options.selectedRangeChanged||r(i)||(t._updateLastSelectedRange(i),typeof t._options.selectedRangeChanged=="function"&&t._options.selectedRangeChanged.call(null,i),n||r(i)||t.setSelectedRange(i))},_updateLastSelectedRange:function(n){n=n||this._options.selectedRange,this._lastSelectedRange={startValue:n.startValue,endValue:n.endValue}},_createSlider:function(n){return r.rangeSelectorFactory.createSlider(this._renderer,n)},_createSlidersController:function(n){return r.rangeSelectorFactory.createSlidersController(n)},_createSlidersEventsManager:function(n){var t=this;return r.rangeSelectorFactory.createSlidersEventsManager(t._renderer,n,function(n){t._processSelectionChanged(n)})},ctor:function(n){var t=this,i;t.callBase(n),i=[t._createSlider(o),t._createSlider(s)],t._controller=t._createSlidersController(i),t._eventsManager=t._createSlidersEventsManager(t._controller),t._lastSelectedRange={}},getSelectedRange:function(){return this._controller.getSelectedRange()},setSelectedRange:function(n){var t=this,i=t._options.scale,r,e,o=t._options.selectedRange;n&&(r=n.startValue,e=n.endValue),(u(i.startValue)&&u(r)||f(i.startValue)&&f(r))&&(o.startValue=r),(u(i.endValue)&&u(e)||f(i.endValue)&&f(e))&&(o.endValue=e),t._controller.applySelectedRange(o),t._controller.applyPosition(),t._processSelectionChanged(!1)},appendTrackers:function(n){this._controller.appendTrackers(n)},_applyOptions:function(n){var t=this;t._controller.applyOptions({translator:n.translator,canvas:n.canvas,sliderMarker:n.sliderMarker,sliderHandles:n.sliderHandles,shutter:n.shutter,scale:n.scale,behavior:n.behavior}),t._eventsManager.applyOptions({behavior:n.behavior})},_draw:function(n){var t=this;e&&(t._renderer.getRoot().element.style.msTouchAction="none"),t._controller.redraw(n),t._drawAreaTracker(n),t._eventsManager.initialize(),t._update()},_update:function(){var n=this,t=n._options.isEmpty;n._eventsManager.setEnabled(!t),n._controller.applySelectedRange(t?{}:n._options.selectedRange),n._controller.applyPosition(),n._updateLastSelectedRange(),n._controller.redraw()}}}())}(jQuery,DevExpress),function(n,t,i){var f=t.viz.rangeSelector,e=t.utils,r=0,u=1;f.SlidersController=t.Class.inherit(function(){return{ctor:function(n){this._sliders=n,n[r].setAnotherSlider(n[u]),n[u].setAnotherSlider(n[r])},setAreaTrackers:function(n,t){this._areaTracker=n,this._selectedAreaTracker=t},applyOptions:function(n){var i=this,t;i._options=n,i.getSlider(r).applyOptions(n),i.getSlider(u).applyOptions(n),n.behavior.snapToTicks&&(t=n.scale.ticksInfo.fullTicks,t.length>1&&t[0]>t[t.length-1]&&(t=t.reverse()),i.getSlider(r).setAvailableValues(t),i.getSlider(u).setAvailableValues(t))},processDocking:function(n){var t=this;n!==i?t.getSlider(n).processDocking():(t.getSlider(r).processDocking(),t.getSlider(u).processDocking()),t.setTrackersCursorStyle("default"),t.applyAreaTrackersPosition()},getSelectedRangeInterval:function(){var n=this;return f.utils.getInterval(n.getSlider(r).getValue(),n.getSlider(u).getValue())},moveSliders:function(n,t){var i=this;i.getSlider(r).setPosition(i.getSlider(r).getPosition()+n,!1,t),i.applyPosition(!0)},moveSlider:function(n,t,i,u,f,e){var o=this,s=o.getSlider(n),h=s.getAnotherSlider(),l=h.getIndex(),c;s.canSwap()&&(n===r?i>h.getPosition():i<h.getPosition())&&(c=t,t||Math.abs(u)>=Math.abs(f)&&u*f<0&&(c=!0,i+=2*f,e(-f)),c&&(o.swapSliders(),h.applyPosition(!0))),s.setPosition(i,!0),s.applyPosition(!0),o.applyAreaTrackersPosition(),o.setTrackersCursorStyle("w-resize")},applySelectedAreaCenterPosition:function(n){var t=this,i=(t.getSlider(u).getPosition()-t.getSlider(r).getPosition())/2,f=t.getSelectedRangeInterval();t.getSlider(r).setPosition(n-i,!1,f),t.applyPosition(),t.processDocking()},processManualSelection:function(n,t,i){var e=this,o,f,s=[Math.min(n,t),Math.max(n,t)];o=n<t?r:u,f=n<t?u:r,e.getSlider(f).setPosition(s[f]),e.getSlider(o).setPosition(s[o]),e.getSlider(f).setPosition(s[f],!0),e.getSlider(f).startEventHandler(i),e.getSlider(o).processDocking(),e.getSlider(f).applyPosition(!0)},applySelectedRange:function(n){var t=this,i=t._options.scale.inverted;!i&&n.startValue>n.endValue||i&&n.startValue<n.endValue?(t.getSlider(r).setValue(n.endValue),t.getSlider(u).setValue(n.startValue)):(t.getSlider(r).setValue(n.startValue),t.getSlider(u).setValue(n.endValue))},getSelectedRange:function(){var n=this;return{startValue:n.getSlider(r).getValue(),endValue:n.getSlider(u).getValue()}},swapSliders:function(){var n=this;n._sliders.reverse(),n.getSlider(r).changeLocation(),n.getSlider(u).changeLocation()},applyAreaTrackersPosition:function(){var n=this,t=n.getSelectedRange(),i=n._options.scale,f=n.getSlider(u).getPosition()-n.getSlider(r).getPosition(),e={x:n.getSlider(r).getPosition(),width:f<0?0:f,y:n._options.canvas.top,height:n._options.canvas.height,style:{cursor:i.endValue-i.startValue==t.endValue-t.startValue?"default":"pointer"}};n._selectedAreaTracker.applySettings(e),n._areaTracker.applySettings({x:n._options.canvas.left,width:n._options.canvas.width,y:n._options.canvas.top,height:n._options.canvas.height})},applyPosition:function(n){var t=this;t.getSlider(r).applyPosition(n),t.getSlider(u).applyPosition(n),t.applyAreaTrackersPosition()},redraw:function(n){var t=this;t.getSlider(r).redraw(n),t.getSlider(u).redraw(n)},appendTrackers:function(n){var t=this;t._areaTracker&&t._selectedAreaTracker&&(t._areaTracker.append(n),t._selectedAreaTracker.append(n)),t.getSlider(r).appendTrackers(n),t.getSlider(u).appendTrackers(n)},getSlider:function(n){return this._sliders[n]},getAreaTracker:function(){return this._areaTracker},getSelectedAreaTracker:function(){return this._selectedAreaTracker},setTrackersCursorStyle:function(n){var t=this;t._selectedAreaTracker.applySettings({style:{cursor:n}}),t._areaTracker.applySettings({style:{cursor:n}})}}}())}(jQuery,DevExpress),function(n,t,i){var r=t.viz.rangeSelector,u=t.utils,f="ontouchstart"in window,e=window.navigator.msPointerEnabled;r.events={start:e?"MSPointerDown":f?"touchstart mousedown":"mousedown",move:e?"MSPointerMove":f?"touchmove mousemove":"mousemove",end:e?"MSPointerUp MSPointerCancel":f?"touchend mouseup":"mouseup"};var s=10,o=0,h=1;r.SlidersEventsManager=t.Class.inherit(function(){var e=function(n){return r.utils.getRootOffsetLeft(n._renderer)},n=function(n){return r.utils.getEventPageX(n)},t=function(n){var r=n||window.event,t=r.originalEvent,f=r.touches,u=t?t.pointerType:!1,e=t?t.touches:!1,o=r.which===i&&r.button===1,s=o||r.which===1,h=t&&u!==i&&(u===t.MSPOINTER_TYPE_TOUCH||u===t.MSPOINTER_TYPE_MOUSE),c=f&&f.length>0||e&&e.length>0;return s||h||c},f=function(n){return n&&n.type&&n.type.indexOf("touch")===0},c=function(i,o){var p=i._renderer,v,c=i._slidersController,a=i._processSelectionChanged,s=c.getSlider(o),w=s.getAnotherSlider(),y,l,h;s.startEventHandler=function(r){i._enabled&&t(r)&&!h&&(y=this===s.getSliderTracker().element,h=!0,v=f(r),l=n(r)-s.getPosition()-e(i),r.stopPropagation(),r.preventDefault())};s.on(r.events.start,s.startEventHandler);u.subscribeEventToDocument(r.events.end,function(){h&&(h=!1,c.processDocking(),a(!1))});p.getRoot().on(r.events.move,function(r){var k,u,o,p=e(i),w,b=s.getIndex();v===f(r)&&(!t(r,!0)&&h?(h=!1,c.processDocking(),a(!1)):h&&(r.preventDefault(),u=n(r),w=u-l-p,o=u-s.getPosition()-p,c.moveSlider(b,y,w,o,l,function(n){l=n}),a(!0)))})},l=function(i){var v=i._renderer,c,e=i._slidersController,h=i._processSelectionChanged,y=e.getSelectedAreaTracker(),s=!1,l,a;y.on(r.events.start,function(r){i._enabled&&t(r)&&!s&&(s=!0,c=f(r),l=n(r)-e.getSlider(o).getPosition(),a=e.getSelectedRangeInterval(),r.stopPropagation(),r.preventDefault())});u.subscribeEventToDocument(r.events.end,function(){s&&(s=!1,e.processDocking(),h(!1))});v.getRoot().on(r.events.move,function(i){var r,u;c===f(i)&&(s&&!t(i)&&(s=!1,e.processDocking(),h(!1)),s&&(i.preventDefault(),u=n(i),r=u-e.getSlider(o).getPosition()-l,e.moveSliders(r,a),h(!0)))})},a=function(i){var v=i._renderer,a,c=i._slidersController,l=i._processSelectionChanged,y=c.getAreaTracker(),o=!1,p=!1,h;y.on(r.events.start,function(r){i._enabled&&t(r)&&!o&&(o=!0,a=f(r),h=n(r))});u.subscribeEventToDocument(r.events.end,function(t){var r;o&&(r=n(t),i._options.behavior.moveSelectedRangeByClick&&Math.abs(h-r)<s&&c.applySelectedAreaCenterPosition(r-e(i)),o=!1,l(!1))});v.getRoot().on(r.events.move,function(r){var u,v,y,p=e(i);a===f(r)&&(o&&!t(r)&&(o=!1,l(!1)),o&&(u=n(r),i._options.behavior.manualRangeSelectionEnabled&&Math.abs(h-u)>=s&&(v=h-p,y=u-p,c.processManualSelection(v,y,r),o=!1,l(!0))))})};return{ctor:function(n,t,i){this._renderer=n,this._slidersController=t,this._processSelectionChanged=i,this._enabled=!0},applyOptions:function(n){this._options=n},initialize:function(){var n=this;n._renderer.isInitialized()&&(l(n),a(n),c(n,o),c(n,h))},setEnabled:function(n){this._enabled=n}}}())}(jQuery,DevExpress),function(n,t,i){var f=t.viz.rangeSelector,r=t.utils,s="ontouchstart"in window,h=window.navigator.msPointerEnabled,o={duration:250},c=8,l=20,u=0,e=1;f.Slider=f.BaseVisualElement.inherit(function(){return{_createSlider:function(){var n=this,i,t;return t=n._renderer.createGroup({"class":"slider"}),t.applySettings({translateX:n._options.canvas.left,translateY:n._options.canvas.top}),i=n._renderer.createLine(0,0,0,n._options.canvas.height,{"class":"dx-range-selector-slider",strokeWidth:n._options.sliderHandles.width,stroke:n._options.sliderHandles.color,strokeOpacity:n._options.sliderHandles.opacity}),i.append(t),t.setValid=function(t){i.applySettings({stroke:t?n._options.sliderHandles.color:n._options.sliderMarker.invalidRangeColor})},t.updateHeight=function(){i.applySettings({points:[0,0,0,n._options.canvas.height]})},t.applyOptions=function(n){i.applySettings(n)},t},_createSliderTracker:function(){var n=this,r=s||h?l:c,i,t;return i=n._renderer.createRect(-r/2,0,r,n._options.canvas.height,0,{fill:"grey",stroke:"grey",opacity:.0001,style:{cursor:"w-resize"}}),t=n._renderer.createGroup({"class":"sliderTracker"}),t.applySettings({translateX:0,translateY:n._options.canvas.top}),i.append(t),t.updateHeight=function(){i.applySettings({height:n._options.canvas.height})},t},_drawSliderTracker:function(n){var i=this,t=i._createSliderTracker();t&&(t.append(n),i._sliderTracker=t)},_createSliderMarker:function(n){return f.rangeSelectorFactory.createSliderMarker(n)},_setPosition:function(n,t){var i=this,r=i._correctPosition(n),u=i._options.translator.untranslateX(r);i.setValue(u,t),i._position=r},_setPositionForBothSliders:function(n,t){var i=this,e,u,f,o,s=i._options.scale.inverted;e=i.getAnotherSlider(),n=i._correctBounds(n),u=i._options.translator.untranslateX(n),f=r.addInterval(u,t),!s&&f>i._options.scale.endValue||s&&f<i._options.scale.endValue?(f=i._options.scale.endValue,o=i._options.canvas.left+i._options.canvas.width,u=r.addInterval(f,t,!0),n=i._options.translator.translateX(u)):o=i._options.translator.translateX(f),i._values&&((s?u>i._values[i._values.length-1]:u<i._values[0])?(u=i._correctBusinessValueByAvailableValues(u),f=r.addInterval(u,t)):(f=i._correctBusinessValueByAvailableValues(f),u=r.addInterval(f,t,!0))),e.setValue(f),i.setValue(u),i._position=n,e._position=o},_correctPosition:function(n){var i=this,t=i._correctInversion(n);return t=i._correctBounds(t)},_correctInversion:function(n){var i=this,r=n,t=i.getAnotherSlider().getPosition(),f=i.getIndex()===u?n>t:n<t;return f&&(r=t),r},_correctBounds:function(n){var r=this,i=n,t=r._options.canvas;return n<t.left&&(i=t.left),n>t.left+t.width&&(i=t.left+t.width),i},_correctBusinessValue:function(n,t){var r=this,i=r._correctBusinessValueByAvailableValues(n);return t&&(i=r._correctBusinessValueByMinMaxRangeFromAnotherSlider(i)),i=r._correctBusinessValueByMinRangeFromStartEndValues(i)},_correctBusinessValueByAvailableValues:function(n){var t=this._values;return t?f.utils.findNearValue(t,n):n},_correctBusinessValueByMinMaxRangeFromAnotherSlider:function(n){var h=this,c=n,t=h._options.scale,l=h._values,y=h.getIndex(),a=h.getAnotherSlider().getValue(),v=!0,o,s;return!t.inverted&&y===u||t.inverted&&y===e?(t.maxRange&&(o=r.addInterval(a,t.maxRange,!0)),t.minRange&&(s=r.addInterval(a,t.minRange,!0))):(t.maxRange&&(s=r.addInterval(a,t.maxRange)),t.minRange&&(o=r.addInterval(a,t.minRange))),s!==i&&c>s?(c=l?f.utils.findLessOrEqualValue(l,s):s,v=!1):o!==i&&c<o&&(c=l?f.utils.findGreaterOrEqualValue(l,o):o,v=!1),h._setValid(v),c},_correctBusinessValueByMinRangeFromStartEndValues:function(n){var f=this,h=f._values,o,s,c=!0,t=f._options.scale,i=n;return t.minRange&&(f.getIndex()===e?(o=r.addInterval(t.startValue,t.minRange,t.inverted),(!t.inverted&&i<o||t.inverted&&i>o)&&(i=o)):f.getIndex()===u&&(s=r.addInterval(t.endValue,t.minRange,!t.inverted),(!t.inverted&&i>s||t.inverted&&i<s)&&(i=s))),i},_applySliderPosition:function(t,i){var r=this,f=r._options.behavior.animationEnabled&&!i,u=r._options.canvas.top;f?(r._slider.animate({translate:{x:t,y:u}},o),r._sliderTracker.animate({translate:{x:t,y:u}},o)):n(r._slider).is(":animated")||(r._slider.applySettings({translateX:t,translateY:u}),r._sliderTracker.applySettings({translateX:t,translateY:u})),r._sliderTracker.updateHeight(),r._slider.updateHeight()},_applyShutterPosition:function(t,i){var r=this,f,h=r._options.behavior.animationEnabled&&!i,s=r.getIndex();s==u?f={x:r._options.canvas.left,y:r._options.canvas.top,width:t-r._options.canvas.left,height:r._options.canvas.height}:s==e&&(f={x:t+1,y:r._options.canvas.top,width:r._options.canvas.left+r._options.canvas.width-t,height:r._options.canvas.height}),f&&(h?r._shutter.animate(f,o):n(r._shutter).is(":animated")||r._shutter.applySettings(f))},_setValid:function(n){var t=this;t._marker&&t._marker.setValid(n),t._slider.setValid(n)},_setText:function(n){var t=this;t._marker&&t._marker.setText(n)},ctor:function(n,t){var i=this;i.callBase(n),i._index=t},getIndex:function(){return this._index},setAvailableValues:function(n){this._values=n},setAnotherSlider:function(n){this._anotherSlider=n},getAnotherSlider:function(){return this._anotherSlider},appendTrackers:function(n){var t=this;t._sliderTracker&&t._sliderTracker.append(n)},getSliderTracker:function(){return this._sliderTracker},changeLocation:function(){var n=this;n._marker&&n._marker.changeLocation(),n._index=this._index===u?e:u},setPosition:function(n,t,i){var r=this,f;i?(f=r.getIndex()===u?r:r.getAnotherSlider(),f._setPositionForBothSliders(n,i)):r._setPosition(n,t)},getPosition:function(){return this._position},setValue:function(n,t){var r=this;n===i?(r._value=i,r._valuePosition=r._position=r.getIndex()===u?r._options.canvas.left:r._options.canvas.left+r._options.canvas.width,r._setText(f.consts.emptySliderMarkerText)):(r._value=r._correctBusinessValue(n,t),r._valuePosition=r._position=r._options.translator.translateX(r._value),r._setText(f.formatValue(r._value,r._options.sliderMarker)))},getValue:function(){return this._value},canSwap:function(){var i=this,n=i._options.scale,f,e,t;if(i._options.behavior.allowSlidersSwap){if(n.minRange)if(t=i.getAnotherSlider().getValue(),i.getIndex()===u){if(e=r.addInterval(n.endValue,n.minRange,!n.inverted),!n.inverted&&t>e||n.inverted&&t<e)return!1}else if(f=r.addInterval(n.startValue,n.minRange,n.inverted),!n.inverted&&t<f||n.inverted&&t>f)return!1;return!0}return!1},processDocking:function(){var n=this;n._position=n._valuePosition,n.applyPosition(!1),n._setValid(!0)},applyPosition:function(n){var t=this,i=t.getPosition();t._applySliderPosition(i,n),t._applyShutterPosition(i,n)},on:function(n,t){var i=this;i._sliderTracker.on(n,t);if(i._marker)i._marker.getTracker().on(n,t)},_update:function(){var n=this;n._marker&&n._marker.applyOptions(n._options.sliderMarker),n._shutter&&n._shutter.applySettings({fill:n._options.shutter.color,fillOpacity:n._options.shutter.opacity}),n._slider&&n._slider.applyOptions({strokeWidth:n._options.sliderHandles.width,stroke:n._options.sliderHandles.color,strokeOpacity:n._options.sliderHandles.opacity})},_draw:function(n){var t=this,i,o,f,r,h,c,s=t.getIndex();f=t._renderer.createGroup({"class":"sliderArea"}),f.append(n),s===u?r=t._renderer.createRect(t._options.canvas.left,t._options.canvas.top,0,t._options.canvas.height,0):s===e&&(r=t._renderer.createRect(t._options.canvas.left,t._options.canvas.top,t._options.canvas.width,t._options.canvas.height,0)),r&&(r.append(f),i=t._createSlider(),i&&i.append(f),t._options.sliderMarker.visible&&(o=t._createSliderMarker({renderer:t._renderer,isLeftPointer:s===e,sliderMarkerOptions:t._options.sliderMarker}),o.draw(i)),t._shutter=r,t._slider=i,t._marker=o),t._drawSliderTracker(n)}}}())}(jQuery,DevExpress),function(n,t){var r=t.viz.rangeSelector;r.SliderMarker=t.Class.inherit(function(){var u=function(n){this._renderer=n.renderer,this._text=n.text,this._isLeftPointer=n.isLeftPointer,this._options=n.sliderMarkerOptions,this._isValid=!0,t(this,{width:10,height:10})},f=function(n){this._options=n,this.update()},n=function(n,t){return{width:Math.round(2*n._options.padding+t.width),height:Math.round(2*n._options.padding+t.height*r.consts.fontHeightRatio)}},t=function(t,i){var r=n(t,i);t._points=[],t._isLeftPointer?(t._points.push({x:0,y:0}),t._points.push({x:r.width,y:0}),t._points.push({x:r.width,y:r.height}),t._points.push({x:t._options.pointerSize,y:r.height}),t._points.push({x:0,y:r.height+t._options.pointerSize})):(t._points.push({x:0,y:0}),t._points.push({x:r.width,y:0}),t._points.push({x:r.width,y:r.height+t._options.pointerSize}),t._points.push({x:r.width-t._options.pointerSize,y:r.height}),t._points.push({x:0,y:r.height}))},e=function(t,i){var r=n(t,i);return t._isLeftPointer?{x:0,y:r.height+t._options.pointerSize}:{x:r.width-1,y:r.height+t._options.pointerSize}},o=function(n){var t=this,i=t._options.padding;t._sliderMarkerGroup=t._renderer.createGroup({"class":"sliderMarker"}),t._sliderMarkerGroup.append(n),t._area=t._renderer.createArea(t.points,{fill:t._options.color}),t._area.append(t._sliderMarkerGroup),t._label=t._renderer.createText(t._text,i,i,{font:t._options.font,style:{"-webkit-user-select":"none"}}),t._label.append(t._sliderMarkerGroup),t._tracker=t._renderer.createRect(0,0,2*i,2*i+t._options.pointerSize,0,{fill:"grey",stroke:"grey",opacity:.0001,style:{cursor:"pointer"}}),t._tracker.append(t._sliderMarkerGroup),t._drawn=!0,t.update()},s=function(n){var t=n._label.getBBox();return!n._textHeight&&isFinite(t.height)&&(n._textHeight=t.height),{width:t.width,height:n._textHeight}},i=function(r){var u=this,f,o,h;(u._interval&&clearInterval(u._interval),delete u._interval,u._drawn)&&(u._label.updateText(u._text),f=s(u),r?delete u._textSize:(u._textSize=u._textSize||f,u._textSize=f.width>u._textSize.width||f.height>u._textSize.height?f:u._textSize,f=u._textSize,u._interval=setInterval(function(){i.call(u,[!0])},75)),o=n(u,f),h=e(u,f),u._sliderMarkerGroup.applySettings({translateX:-h.x,translateY:-h.y}),t(u,f),u._area.applySettings({points:u._points,fill:u._isValid?u._options.color:u._options.invalidRangeColor}),u._tracker.applySettings({width:o.width,height:o.height+u._options.pointerSize}),u._label.applySettings({x:u._options.padding,y:o.height-u._options.padding}))},h=function(){var n=this;return n._text},c=function(n){var t=this;t._text!==n&&(t._text=n,t.update())},l=function(n){var t=this;t._isValid=n,t.update()},a=function(){var n=this;n._isLeftPointer=!n._isLeftPointer,n.update()},v=function(){var n=this;return n._tracker};return{ctor:u,draw:o,update:i,getText:h,setText:c,changeLocation:a,applyOptions:f,getTracker:v,setValid:l}}())}(jQuery,DevExpress),function(n,t){var r=t.viz.rangeSelector;r.RangeView=r.BaseVisualElement.inherit(function(){var n=function(n){return t.viz.charts.factory.createThemeManager(n.chart.theme)};return{_draw:function(n){var t=this,o,s,f,u,r,e,i,h=t._options.isEmpty;if(e=t._options.seriesDataSource&&t._options.seriesDataSource.isShowChart()&&!h,i=t._options.canvas,e?f=t._options.seriesDataSource.getBackgroundColor():!h&&t._options.background.visible&&(f=t._options.background.color),t._options.background.visible&&f&&(o=t._renderer.createRect(i.left,i.top,i.width+1,i.height,0,{fill:f,"class":"dx-range-selector-background"}),o.append(n)),t._options.background.visible&&t._options.background.image&&t._options.background.image.url&&(s=t._renderer.createImage(i.left,i.top,i.width+1,i.height,t._options.background.image.url,{location:t._options.background.image.location}),s.append(n)),e)for(u=t._options.seriesDataSource.getSeries(),r=0;r<u.length;r++)u[r].options.seriesGroup=n,u[r].options.seriesLabelsGroup=n,u[r].options.trackerGroup=n,u[r].draw(t._options.translator),t._options.behavior&&t._options.behavior.animationEnabled&&u[r].animate()}}}())}(jQuery,DevExpress),function(n,t,i){var u=t.viz.rangeSelector,r=t.viz.charts;u.SeriesDataSource=t.Class.inherit(function(){var u=function(n){return r.factory.createThemeManager(n,"rangeSelector.chart")},f=function(i){return n.isArray(i)&&i.length>0&&(t.utils.isNumber(i[0])||t.utils.isDate(i[0]))},e=function(t){return n.map(t,function(n,t){return{arg:n,val:t}})},o=function(t,o){var w=[],c,b,l,v=u(o.chart),s=o.chart.series,k=o.chart.valueAxis&&o.chart.valueAxis.valueType,y,h,a,p;for(o.dataSource&&!s&&(f(o.dataSource)&&(o.dataSource=e(o.dataSource)),y=o.dataSourceField||"arg",s={argumentField:y,valueField:y},t._hideChart=!0),s=n.isArray(s)?s:s?[s]:[],h=v.applyTheme(v.getTheme(),o.chart),n.extend(h.commonSeriesSettings,{argumentType:o.valueType,valueType:k,rotated:!1,incidentOccured:o.incidentOccured}),t._backgroundColor=o.backgroundColor!==i?o.backgroundColor:h.backgroundColor,a=0;a<s.length;a++)c=s[a],l=c.data||o.dataSource,b=v.applyNextSeriesTheme(c,h.commonSeriesSettings),l&&l.length>0&&(p=r.factory.createSeries(c.type||h.commonSeriesSettings.type,o.renderer,l,b),p._suppressTrackers=!0,w.push(p));return w},s=function(t,i){var f=[],u=[];return n.each(t,function(t,i){n.inArray(i.type,u)===-1&&u.push(i.type)}),n.each(u,function(n,u){var e=new r.factory.createSeriesFamily({type:u,equalBarWidth:i});e.add(t),e.adjustSeriesValues(),f.push(e)}),f};return{ctor:function(n){var t=this;t._indent={top:n.chart.topIndent||0,bottom:n.chart.bottomIndent||0},t._valueAxis=n.chart.valueAxis||{},t._hideChart=!1,t._series=o(t,n),t._seriesFamilies=s(t._series,n.chart.equalBarWidth)},adjustSeriesDimensions:function(t){var i=this;n.each(i._seriesFamilies,function(){this.adjustSeriesDimensions(t)})},getBoundRange:function(){for(var u=this,l,c,r=new t.viz.charts.Range({minY:u._valueAxis.min,minVisibleY:u._valueAxis.min,maxY:u._valueAxis.max,maxVisibleY:u._valueAxis.max}),o,f,s,h,e=0;e<u._series.length;e++)c=u._series[e].getRangeData(),r=r.getBoundRange(c);return r.isDefined()&&(s=u._valueAxis.inverted?u._indent.top:u._indent.bottom,h=u._valueAxis.inverted?u._indent.bottom:u._indent.top,o=r.maxY-r.minY,f=(n.isNumeric(r.maxVisibleY)?r.maxVisibleY:r.maxY)-(n.isNumeric(r.minVisibleY)?r.minVisibleY:r.minY),r.minY-=o*s,r.maxY+=o*h,n.isNumeric(f)&&(r.maxVisibleY=r.maxVisibleY?r.maxVisibleY+f*h:i,r.minVisibleY=r.minVisibleY?r.minVisibleY-f*s:i),r.invertY=u._valueAxis.inverted),r},getSeries:function(){var n=this;return n._series},getBackgroundColor:function(){var n=this;return n._backgroundColor},isEmpty:function(){var n=this;return n.getSeries().length===0},isShowChart:function(){var n=this;return!n.isEmpty()&&!n._hideChart},getCalculatedValueType:function(){var n=this,t;return n._series.length&&(t=n._series[0].options.argumentType),t}}}())}(jQuery,DevExpress),function(n,t,i){var o=t.viz.rangeSelector,r=o.utils,f=t.utils,e=-1e3,u=function(n,t){var u;if(!n||n.length===0)return-1;for(var r=0,i=n.length-1,u=0;i-r>1;)u=r+i>>1,n[u]>t?i=u:r=u;return n[i]<=t?i:r},s=function(n,t){var i=u(n,t);return n&&i>=0&&i<n.length?n[i]:t},h=function(n,t){var i=u(n,t);return n&&i>=0&&i<n.length?(i+1<n.length&&(f.isDate(t)?n[i+1].getTime()-t.getTime()<t.getTime()-n[i].getTime()&&i++:n[i+1]-t<t-n[i]&&i++),n[i]):t},c=function(n,t){var i=u(n,t);return n&&i>=0&&i<n.length?(n[i]<t&&i+1<n.length&&i++,n[i]):t},l=function(n,t,i){var r,u,e,o,s;return f.isDate(n)?i==="year"||i==="quarter"||i==="month"?{months:t.getFullYear()*12+t.getMonth()-n.getFullYear()*12-n.getMonth()}:{milliseconds:t.valueOf()-n.valueOf()}:t-n},a=function(n){var t,r=0,u=n.getRoot();if(u)for(t=u.element.parentNode;t&&t.offsetLeft!==i;t=t.offsetParent)r+=t.offsetLeft;return r},v=function(n){var t=0;return n.pageX?t=n.pageX:n.originalEvent&&n.originalEvent.pageX&&(t=n.originalEvent.pageX),n.originalEvent&&n.originalEvent.touches&&(n.originalEvent.touches.length>0?t=n.originalEvent.touches[0].pageX:n.originalEvent.changedTouches.length>0&&(t=n.originalEvent.changedTouches[0].pageX)),t},y=function(n,t,i){var r=n.drawText(t,e,e,{font:i}),u=r.getBBox();return r.remove(),u};r.findLessOrEqualValue=s,r.findNearValue=h,r.findGreaterOrEqualValue=c,r.getInterval=l,r.getRootOffsetLeft=a,r.getEventPageX=v,r.getTextBBox=y}(jQuery,DevExpress),function(n,t){t.viz.rangeSelector=t.viz.rangeSelector,t.viz.rangeSelector.ThemeManager=t.viz.core.BaseThemeManager.inherit({ctor:function(n){var t=this;t.callBase(n,"rangeSelector"),t.initializeFont(t.theme.scale.label.font),t.initializeFont(t.theme.sliderMarker.font)},applyRangeSelectorTheme:function(n){var i=this,r={dataSource:n.dataSource},t;return delete n.dataSource,t=i.applyTheme(i.theme,n),t.dataSource=r.dataSource,t},setBackgroundColor:function(n){var t=this.theme;n&&(t.containerBackgroundColor=n),t.shutter.color=t.shutter.color||t.containerBackgroundColor}})}(jQuery,DevExpress),function(n){var t=n.viz;t.Chart=t.charts.Chart,t.PieChart=t.charts.PieChart,t.RangeSelector=t.rangeSelector.RangeSelector,t.CircularGauge=t.gauges.CircularGauge,t.LinearGauge=t.gauges.LinearGauge}(DevExpress),function(n,t){var r=t.ui,u=t.viz;r.registerComponent("dxChart",u.Chart)}(jQuery,DevExpress),function(n,t){var r=t.ui,u=t.viz;r.registerComponent("dxPieChart",u.PieChart)}(jQuery,DevExpress),function(n){n.ui.registerComponent("dxCircularGauge",n.viz.CircularGauge)}(DevExpress),function(n){n.ui.registerComponent("dxLinearGauge",n.viz.LinearGauge)}(DevExpress),function(n,t){var r=t.ui,u=t.viz;r.registerComponent("dxRangeSelector",u.RangeSelector)}(jQuery,DevExpress);(function(n){n.dashboard={viewerItems:{},data:{}}})(DevExpress),function(n){n.viz.indicators={}}(DevExpress),function(n){n.viz.indicators.consts={deltaIndicator:{indicatorType:{none:"none",up:"up",down:"down",warning:"warning"}}}}(DevExpress),function(n){var t=n.viz;t.indicators.factory={createRenderer:function(n){return new t.renderers.Renderer(n)}}}(DevExpress),function(n,t){var r=t.viz.indicators,i=r.consts.deltaIndicator,u=t.viz.core.Rectangle,f=t.Class,e=f.inherit({ctor:function(t){t=t||{},this._container=n(t.container),this._renderer=t.renderer,this._shape=null,this._init(),this._container.length&&this.draw(t)},_init:function(){var n=this._container,t=0,i=0;n.length&&(t=n.width(),i=n.height(),t>0&&i>0)&&(this._renderer=r.factory.createRenderer({width:t,height:i}))},draw:function(n){var t=this._prepareDrawParams(n);return t.readyToDraw&&this._render(t),this._shape},_prepareDrawParams:function(n){var f=this._container,t={readyToDraw:!1},r={left:0,top:0,right:0,bottom:0};return f.length?(r.right=f.width()||0,r.bottom=f.height()||0,t.rectangle=new u(r)):t.rectangle=n.rect instanceof u?n.rect.clone():new u(r),t.type=n.type||i.indicatorType.none,t.hasPositiveMeaning=!!n.hasPositiveMeaning,t.readyToDraw=!!(this._renderer&&t.rectangle.width()>0&&t.rectangle.height()>0),t.drawToContainer=!!this._container.length,t},_render:function(n){var i=n.rectangle,t;this._shape=null,n.drawToContainer?(this._renderer.recreateCanvas(i.width,i.height),t=this._drawShape(n),t&&t.append(),this._renderer.draw(this._container[0])):t=this._drawShape(n),this._shape=t},_drawShape:function(n){var f=null,t=n.rectangle,e=~~t.horizontalMiddle(),s=~~t.verticalMiddle(),h=~~(Math.min(t.width(),t.height())/2),u=[],o=r.DeltaIndicator.getIndicatorColorType(n.type,n.hasPositiveMeaning);switch(n.type){case i.indicatorType.up:u.push(t.left),u.push(t.bottom),u.push(e),u.push(t.top),u.push(t.right),u.push(t.bottom),f=this._renderer.createArea(u,{"class":o});break;case i.indicatorType.down:u.push(t.left),u.push(t.top),u.push(e),u.push(t.bottom),u.push(t.right),u.push(t.top),f=this._renderer.createArea(u,{"class":o});break;case i.indicatorType.warning:f=this._renderer.createCircle(e,s,h,{"class":o})}return f}});r.DeltaIndicator=e,r.DeltaIndicator.getIndicatorColorType=function(n,t,r){var u;if(r)u="defaultColor";else switch(n){case i.indicatorType.up:case i.indicatorType.down:u=t?"positiveColor":"negativeColor";break;case i.indicatorType.warning:u="warningColor";break;default:u="noneColor"}return u}}(jQuery,DevExpress),function(n,t){function p(n){return n=r({},n),n.text=r({},n.text),n.layout=r({},n.layout,{position:n.position}),n}function w(n){var t;return l(n.value)?(t={value:n.value,valueText:h.format(n.value,n.format,n.precision)},a(n.customizeText)?n.customizeText.call(t,t):t.valueText):null}var h=n.formatHelper,e=n.viz.core.Rectangle,o=n.viz.indicators.DeltaIndicator,r=t.extend,u=Math.floor,f=Math.ceil,c=n.utils.isString,l=n.utils.isDefined,a=n.utils.isFunction,s=10,v=.5,y=3/4;n.viz.gauges.__internals.Indicator=n.Class.inherit({ctor:function(){this._options={text:{}}},render:function(n){var t=this,h,i,l,a;return r(!0,t._options,p(n)),t._root=t._root||t._renderer.createGroup().applySettings({"class":"delta-indicator"}).append(t._owner),t._root.clear(),h=w(t._options.text),c(h)?(t._text=t._renderer.createText().applySettings({"class":o.getIndicatorColorType(t._options.type,t._options.hasPositiveMeaning,t._options.text&&t._options.text.useDefaultColor),x:0,y:0,align:"center",text:h,font:t._options.text.font}).append(t._root),i=t._text.getBBox(),l=i.height*v,a=new e({left:u(i.x-s-l/y),right:f(i.x-s),top:u(-l),bottom:0}),t._delta=new o({renderer:t._renderer}).draw({type:t._options.type,hasPositiveMeaning:t._options.hasPositiveMeaning,rect:a}),t._delta&&t._delta.append(t._root),t._rect=new e({left:t._delta?a.left:u(i.x),right:f(i.x+i.width),top:u(i.y),bottom:f(i.y+i.height)}),t._location={x:0,y:0}):(t._root.remove(),delete t._root),t},isVisible:function(){return!!this._text},getBoundingRect:function(){return this._rect.clone()},getLayoutOptions:function(){return this._options.layout||{}},move:function(n,t){var i=this;return i._root.move(i._location.x+=n,i._location.y+=t),i._rect=i._rect.move(n,t),i}})}(DevExpress,jQuery),function(n){n.viz.widgetsViewer={}}(DevExpress),function(n,t){function e(){return null}var r=t.viz,u=r.charts,f=r.gauges,o={circulargauge:e},s={createWidget:function(n,t,i){switch((n||"").toLowerCase()){case"chart":return new u.Chart(t,i);case"piechart":return new u.PieChart(t,i);case"circulargauge":return new f.CircularGauge(t,i);case"lineargauge":return new f.LinearGauge(t,i);default:return null}},getAdditionalOptions:function(n,t,i){var r=o[(n||"").toLowerCase()];return r?r(t,i):null}};r.widgetsViewer.widgetItemFactory=s}(jQuery,DevExpress),function(n,t){var r=t.Class,i={Vertical:"Vertical",Horizontal:"Horizontal"},u=r.inherit({ctor:function(n,t,i,r,u,f,e){var o=this;o.totalItemCount=n,o.itemsOnRowCount=t,o.itemWidth=i,o.itemHeight=r,o.direction=f,o.itemMargin=u,o.options=e,o.itemsOnColumnCount=Math.ceil(o.totalItemCount/o.itemsOnRowCount)},getHeight:function(n){var t=this,r=n?2*t.itemMargin.Height:0;switch(t.direction){case i.Horizontal:return t.itemHeight-r;case i.Vertical:return t.itemWidth-r;default:return-1}},getWidth:function(n){var t=this,r=n?2*t.itemMargin.Width:0;switch(t.direction){case i.Horizontal:return t.itemWidth-r;case i.Vertical:return t.itemHeight-r;default:return 0}}});t.viz.widgetsViewer.ArrangementInfo=u,t.viz.widgetsViewer.positioningDirection=i}(jQuery,DevExpress),function(n,t){var f=t.Class,u=t.viz.widgetsViewer,r=f.inherit({ctor:function(t){this._options=n.extend(!0,{},this._getDefaultOptions(),t),this._type=this._options.type||"unknown",this._isSelected=!!this._options.isSelected,this.tag=this._options.tag,this._patchStyles(),this._hoverEnabled=!!this._options.hoverEnabled,this._parentRootElement=this._options.parentRootElement,r.addCommonItemsClassesNames(u.WidgetsViewer.viewerID,this._options,this._type)},_getDefaultOptions:function(){return{cursor:null,isSelected:!1,paddings:{top:0,left:0,right:0,bottom:0},hoverEnabled:!1,style:{backgroundColor:"#ffffff",borderStyle:"solid",borderColor:"#C8C8CC"},selectionStyle:{backgroundColor:"rgba(95,139,149,0.35)",borderStyle:"solid",borderColor:"#5F8B95"},hoverStyle:{backgroundColor:"rgba(95,139,149,0.25)",borderStyle:"solid",borderColor:"#5F8B95"}}},_patchStyles:function(){var n=this._options;n.style.borderWidth=n.borderWidth||0,n.selectionStyle.borderWidth=n.borderWidth||0,n.hoverStyle.borderWidth=n.borderWidth||0},_getStyle:function(n){return n?this._options.selectionStyle:this._options.style},select:function(){var n=this;n._isSelected=!0,n._itemDiv&&n._itemDiv.addClass("selected")},_hover:function(n){var t=this;t._hoverEnabled&&(n?t._itemDiv.addClass("dx-widgetsviewer-item-hovered"):t._itemDiv.removeClass("dx-widgetsviewer-item-hovered"))},clearSelection:function(){var n=this;n._isSelected=!1,n._itemDiv&&n._itemDiv.removeClass("selected")},setClickHandler:function(t){var i=this;if(n.isFunction(t)&&i._itemDiv){i._itemDiv.off("click.cardItem");i._itemDiv.on("click.cardItem",function(){t.call(null,{item:i})});i._options.cursor||i._itemDiv.css({cursor:"pointer"})}},rerender:function(){},draw:function(n,t,i){return this._itemDiv?this._itemDiv[0]:this.initDraw(n,t,i)},initDraw:function(i,r,u){var e=this,s=e._options,f=e._options.paddings,o;return i=i||0,r=r||0,u=u||0,e._index=u,o=n("<div>",{"class":e._type,css:{cursor:s.cursor,height:r-f.top-f.bottom,width:s.ignoreProportions?null:i-f.left-f.right,paddingTop:f.top,paddingLeft:f.left,paddingRight:f.right,paddingBottom:f.bottom}}),o.data("viewerItemIndex",u),t.support.touch||o.mouseenter(function(){e._hover(!0)}).mouseleave(function(){e._hover(!1)}),e._itemDiv=o,o[0]},_applyExtraStyles:function(){this._isSelected?this.select():this.clearSelection()},toggleSelection:function(){this._isSelected?this.clearSelection():this.select()},getWidget:function(){return null},finishRender:function(t){t=t||{};var i=this,r=t.clickHandler,u=t.drawOptions;i._parentRootElement&&n(i._parentRootElement).find("."+i._type).each(function(t,r){var u=n(r);if(u.data("viewerItemIndex")===i._index)return i._itemDiv=u,!1}),i.setClickHandler(r),i.rerender(u),i._applyExtraStyles()},resize:function(n,t){var r=this,u=r._itemDiv,f,i;f=u.width(),i=u.height(),n!=i&&t!=i&&r.initResize(n,t)},initResize:function(n,t){var r=this,u=r._options,f=u.paddings,i=r._itemDiv;if(i)return i.css("width",u.ignoreProportions?null:n-f.left-f.right),i.css("height",t),i[0]}});r.getCommonItemsClassesNames=function(n,t){var i="dx-viewer-item_"+n+" dx-viewer-item-selected_"+n;return t&&(i+=" dx-viewer-item_"+n+":hover"),i},r.addCommonItemsClassesNames=function(n,t,i){if(t){this.itemsOptions||(this.itemsOptions=[]),this.itemsOptions[n]=t,this.type=i;return}if(this.itemsOptions){var r=this.itemsOptions[n],u="";if(r)return r.hoverEnabled&&(u+=".dx-viewer-item_"+n+" ."+this.type+":hover{background-color:"+r.hoverStyle.backgroundColor+";border-color:"+r.hoverStyle.borderColor+";border-style:"+r.hoverStyle.borderStyle+";border-width:"+r.hoverStyle.borderWidth+"px;}"),u+=".dx-viewer-item_"+n+" ."+this.type+"{background-color:"+r.style.backgroundColor+";border-color:"+r.style.borderColor+";border-style:"+r.style.borderStyle+";border-width:"+r.style.borderWidth+"px;}.dx-viewer-item_"+n+" ."+this.type+".selected{background-color:"+r.selectionStyle.backgroundColor+";border-color:"+r.selectionStyle.borderColor+";border-style:"+r.selectionStyle.borderStyle+";border-width:"+r.selectionStyle.borderWidth+"px;}"}},u.BaseItem=r}(jQuery,DevExpress),function(n,t){var r=t.viz.widgetsViewer,u=r.BaseItem,f=u.inherit({ctor:function(n,t){t=t||{},this._widgetType=t.widgetType||"",this._itemData=n||{},t.type="widgetItem",this.callBase(t)},_getDefaultOptions:function(){return n.extend(!0,{},this.callBase(),{style:{borderStyle:"solid",borderColor:"#ffffff"}})},draw:function(n,t,i){var f=this,u;return f.callBase(n,t,i),u=f._itemDiv,u.css("margin","auto"),this._widget=r.widgetItemFactory.createWidget(this._widgetType,u,this._itemData),u[0]},resize:function(n,t,i){if(this.callBase(n,t,i),!this._itemDiv.children().length)return this.draw(n,t,i);this.rerender({animate:!1})},rerender:function(t){var i=this,u;i._widget&&(u=r.widgetItemFactory.getAdditionalOptions(i._widgetType,i._itemDiv,i._itemData),u&&n.extend(!0,i._widget._options,u),i._widget._render(t))},getWidget:function(){return this._widget}});r.WidgetItem=f}(jQuery,DevExpress),function(n,t){var u=t.formatHelper,r=t.viz.widgetsViewer,f=r.BaseItem,i=t.viz.indicators.DeltaIndicator,e=f.inherit({ctor:function(t,i){i=i||{};var r=this,u={type:"none",hasPositiveMeaning:!1,text:{value:"",useDefaultColor:!1}};i.type="cardItem",i.ignoreProportions=!1,this.callBase(i),t=t||{},r.data=t.data||{},r.title=t.title||"",r.subTitle=t.subTitle||"",r.variableValue1=n.extend(!0,{},u,t.variableValue1),r.variableValue2=n.extend(!0,{},u,t.variableValue2),u.text.useDefaultColor=!0,r.mainValue=n.extend(!0,{},u,t.mainValue),r.indicator={hasPositiveMeaning:r.mainValue.hasPositiveMeaning,type:r.mainValue.type}},_getDefaultOptions:function(){var t=this.callBase(),i={padding:{top:3,left:12,right:12,bottom:10},font:{family:"Segoe UI, HelveticaNeue, Trebuchet MS, Verdana",weight:"normal"},title:{color:"black"},subTitle:{color:"#B6B6B6"}};return n.extend(!0,{},t,i)},_calcFonts:function(n){return{title:~~(n*.22)+"px",subTitle:~~(n*.14)+"px",mainValue:~~(n*.3)+"px",variableValue1:~~(n*.14)+"px",variableValue2:~~(n*.14)+"px"}},_getText:function(n){var f=this,t=f[n].text,i=t.value,r=t.format;return r?u.format(parseFloat(i),r):i.toString()},_getClassFromIndicator:function(n,t,r){return i.getIndicatorColorType(n,t,r)},_getCardStyle:function(n){return n?this._options.selectionStyle:this._options.style},_getValueClassName:function(n){var i=this,t=i[n],r=t.text.useDefaultColor,u=t.hasPositiveMeaning,f=t.type;return i._getClassFromIndicator(f,u,r)},draw:function(t,r,u){var e=this,l=e._options,o=n.extend({},{top:0,left:0,right:0,bottom:0},l.padding),f=e._calcFonts(r),h,a,c,s;return s=n(e.callBase(t,r,u)),s.align=l.titlesAlign,c=n("<div>",{css:{left:o.left,right:o.right,position:"absolute",top:parseFloat(o.top)+"px",overflow:"hidden",lineHeight:parseFloat(f.title)+"px"}}).appendTo(s),n("<div>",{"class":"title",css:{fontSize:f.title,minHeight:Math.ceil(parseFloat(f.title)*1.3)+"px"},text:e.title}).appendTo(c),n("<div>",{"class":"subTitle",css:{minHeight:Math.ceil(parseFloat(f.subTitle)*1.3)+"px",fontSize:f.subTitle},text:e.subTitle}).appendTo(c),a=n("<div>",{"class":"indicator",css:{position:"absolute",bottom:o.bottom+3,left:o.left,height:.18*r,width:.24*r}}).appendTo(s),new i({container:a,type:e.indicator.type,hasPositiveMeaning:e.indicator.hasPositiveMeaning}),h=n("<div>",{css:{position:"absolute",bottom:o.bottom,left:o.left,right:o.right,textAlign:"right"}}).appendTo(s),n("<span>",{"class":"variableValue1 "+e._getValueClassName("variableValue1"),css:{fontSize:f.variableValue1,lineHeight:f.variableValue1,bottom:parseFloat(f.variableValue2)+parseFloat(f.mainValue)+"px"},text:e._getText("variableValue1")}).appendTo(h),n("<span>",{"class":"variableValue2 "+e._getValueClassName("variableValue2"),css:{fontSize:f.variableValue2,lineHeight:f.variableValue2,bottom:f.mainValue},text:e._getText("variableValue2")}).appendTo(h),n("<span>",{"class":"mainValue "+e._getValueClassName("mainValue"),css:{fontSize:f.mainValue,lineHeight:f.mainValue},text:e._getText("mainValue")}).appendTo(h),s[0]},resize:function(n,t,r){var e=this,u=e._calcFonts(t),f=e._itemDiv,s=f.find(".title"),h=f.find(".subTitle"),c=f.find(".variableValue1"),l=f.find(".variableValue2"),a=f.find(".mainValue"),o=f.find(".indicator");return(e.callBase(n,t,r),!f.children().length)?(e.draw(n,t,r),e._itemDiv):(o.html(""),o.css({height:.18*t,width:.24*t}),new i({container:o,type:e.indicator.type,hasPositiveMeaning:e.indicator.hasPositiveMeaning}),s.css({fontSize:u.title,minHeight:Math.ceil(parseFloat(u.title)*1.3)+"px"}),h.css({fontSize:u.subTitle,minHeight:Math.ceil(parseFloat(u.subTitle)*1.3)+"px"}),l.css({fontSize:u.variableValue2,lineHeight:u.variableValue2,bottom:u.mainValue}),c.css({fontSize:u.variableValue1,lineHeight:u.variableValue1,bottom:parseFloat(u.variableValue2)+parseFloat(u.mainValue)+"px"}),a.css({fontSize:u.mainValue,lineHeight:u.mainValue}),s.parent().css("lineHeight",u.title),f)}});r.CardItem=e}(jQuery,DevExpress),function(n,t){var o=t.ui.Component,r=t.viz.widgetsViewer,f=r.ArrangementInfo,i=r.positioningDirection,s=r.CardItem,h=r.WidgetItem,e=t.utils,u=o.inherit({_defaultOptions:function(){return{dataSource:[],viewer:{hoverEnabled:!1,overflow:"auto",method:"auto",count:1,onclick:null,widgetType:"card",redrawOnResize:!0,onRenderComplete:null,onAllItemsRenderComplete:null,bulkTimesRenderingTimeInterval:15,useDynamicCSS:!1,ignorePadding:!1},itemOptions:{minSize:{width:0,height:0},ignoreProportions:!1,itemMargin:{width:5,height:5},borderWidth:1}}},_init:function(){var t=this,i=t.option("viewer");u.viewerID++,this._content=this._wrapScrollable(t._element(),i.overflow),t._scrollBarWidth=t._getScrollBarWidth(),t._widgetType=i.widgetType.toLowerCase(),t._setWidgetTypeSpecificOptions(),i.useDynamicCSS&&(t.tagStyle=n("<style>",{type:"text/css"}),t.tagStyle.appendTo(n("head"))),t._createItems(),i.redrawOnResize&&e.windowResizeCallbacks.add(t._getResizeHandler()),t._firstDraw=!0,t.totalMarginsAndBorders=t._calcTotalMarginsAndBorders()},_wrapScrollable:function(n,t){var i=undefined;return n&&n.dxScrollable?(n.dxScrollable(),i=n.data("dxScrollable")._content):(i=n,i.css("overflow",t)),i},_rootContainer:function(){return this._element()},_rootContent:function(){return this._content},_parentHeight:function(){var n=0;return this._rootContainer().height()-n},_parentWidth:function(){var n=0;return this._rootContainer().width()-n},_parentWidthWithoutScroll:function(){var n=this;return n._parentWidth()-n._scrollBarWidth*n._hasVerticalScroll},_parentHeightWithoutScroll:function(){var n=this;return n._parentHeight()-n._scrollBarWidth*n._hasHorizontalScroll},_getResizeHandler:function(){var n=this;return function(){n.redraw()}},_setWidgetTypeSpecificOptions:function(){var t=this.option("viewer").align,n=this.option("itemOptions"),i=n.minSize.width||0,r=n.minSize.height||0;this._widgetType==="card"?(this.align=t||"left",this._itemProportions=n.proportions||.5,this.minItemWidth=this.curItemWidth=i||180,this.minItemHeight=this.curItemHeight=r||90):(this.align=t||"center",this._itemProportions=n.proportions||1,this.minItemWidth=this.curItemWidth=i||200,this.minItemHeight=this.curItemHeight=r||200,this._needVerticalCentering=!0)},getSizeParams:function(){var n=this,t=n._rootContainer().data("dxScrollable")._container,i=t.find(".widget-viewer-table");return{virtualSize:{width:i.outerWidth(),height:i.outerHeight()},scroll:{top:t.scrollTop(),left:t.scrollLeft(),size:n._scrollBarWidth,horizontal:n._hasHorizontalScroll===1,vertical:n._hasVerticalScroll===1}}},getSelectedItems:function(){return n.map(this.itemsList,function(n){return n._isSelected?n:null})},clearSelections:function(){n.each(this.itemsList,function(n,t){t.clearSelection()})},_createItems:function(){var t=this,o=t.option("dataSource"),i=t.option("itemOptions"),f=t.option("viewer"),c=t._widgetType=="card"?s:h,l=t._rootContent(),e=f.useDynamicCSS;e&&this._rootContainer().addClass(r.BaseItem.getCommonItemsClassesNames(u.viewerID,f.hoverEnabled)),t.itemsList=[],n.each(o,function(n,r){i.widgetType=t._widgetType,i.hoverEnabled=f.hoverEnabled,i.isSelected=r.isSelected,i.tag=r.tag,i.parentRootElement=l,t.itemsList.push(new c(r,i))}),e&&(t.tagStyle.html()&&t.tagStyle.html(""),t.tagStyle.append(r.BaseItem.addCommonItemsClassesNames(u.viewerID))),t._firstDraw=!0,delete t._viewerParams},_optionChanged:function(n){var t=this;n==="dataSource"?(t.curItemWidth=t.minItemWidth,t.curItemHeight=t.minItemHeight,t._createItems(),t._render(),t._rootContent().scrollTop(0)):t.callBase()},_calcTotalMarginsAndBorders:function(){var n=this.option("itemOptions"),t=n.borderWidth||0;return{width:2*n.itemMargin.width+2*t,height:2*n.itemMargin.height+2*t}},_refresh:function(){},_render:function(t){var i=this,f=i.option("viewer"),o=f.onRenderComplete,s=f.method.toLowerCase(),h=f.count,c=f.onclick,u,r=i._rootContent(),l=n(r.find(".widget-viewer-table")[0]),a=i.itemsList,v=r.css("overflow"),e=r.parent(),y=e.css("overflow");clearTimeout(i._drawTimer),r.css("overflow","hidden"),e.css("overflow","hidden"),u=i._drawItems(s,h),u&&(r.children().length>0&&r.html(""),i.innerContainer=n("<div>",{"class":"widget-viewer-container",css:{textAlign:i.align,padding:0,margin:0}}).append(u),r.append(i.innerContainer),n.each(a,function(n,i){i.finishRender({clickHandler:c,drawOptions:t})})),u=u||n(l),i._needVerticalCentering&&i.innerContainer&&i._viewerParams.direction==="Horizontal"&&i._verticalCentering(u),r.css("overflow",v),e.css("overflow",y),o&&o.call(null)},_verticalCentering:function(){var t=this,i=t._parentHeight()-t._rootContainer().find(".widget-viewer-container").height();i>0?t.innerContainer.css({paddingTop:~~(i/2)+"px"}):t.innerContainer.css({paddingTop:"0px"})},redraw:function(){this._render({animate:!1})},_calcItemIndex:function(n,t,r,u,f){return r==i.Horizontal?n*f+t:t*u+n},_calcVisibleRow:function(n){var t=this._parentHeight();return Math.ceil(t/n)},_calcVisibleColumn:function(n){var t=this._parentWidth();return Math.ceil(t/n)},_getPartArray:function(n,t,i){for(var u=[],r=0,f=t*i,r=f;r<f+t;r++)u.push(n[r]);return u},_createTable:function(t){var r=this,l,f,s,h,b,k,a,d=t.direction==i.Horizontal,u=r.option("itemOptions.itemMargin"),c=r.option("viewer.ignorePadding"),o=d?t.itemsOnRowCount:t.itemsOnColumnCount,e=d?t.itemsOnColumnCount:t.itemsOnRowCount,g,ot=r.itemsList.length,ft,nt=r.totalMarginsAndBorders.width,tt=r.totalMarginsAndBorders.height,st=r._parentWidthWithoutScroll(),ht=r._parentHeightWithoutScroll(),v,y,it,p,rt=r.curItemWidth,w=r.curItemHeight,et=rt-2*u.width,ut=w-2*u.height;if(e<=0)return undefined;for(l=n("<div>",{"class":"widget-viewer-table",css:{overflow:"hidden",marginLeft:"0px",marginRight:"0px"}}),r._widgetType!=="card"?(p=~~Math.max((st-o*nt)/o,et),it=d?ut:~~Math.max((ht-e*tt)/e,ut)):(p=et,it=ut),y=(p+2*u.width)*o,c&&(y-=2*u.width),ft=y,l.css({height:"100%",width:ft+"px"}),f=0;f<e;f++){for(v=w,c&&(f===0&&e===1?v-=2*u.height:(f===0||f===e-1)&&(v-=u.height)),k=n("<div>",{"class":"widget-viewer-row",css:{clear:"both",padding:"0px",margin:"0px",height:v,width:y}}),s=0;s<o;s++)a=null,b=n("<div >",{"class":"widget-viewer-cell",css:{paddingLeft:c&&s===0?0:u.width,paddingRight:c&&s===o-1?0:u.width,paddingTop:c&&f===0?0:u.height,paddingBottom:c&&f===e-1?0:u.height,margin:"0px",width:p+"px",height:it,float:"left"}}),h=r._calcItemIndex(f,s,t.direction,e,o),h<ot&&(r._firstDraw?(a=r.itemsList[h].initDraw(rt-nt,w-tt,h),g="draw"):(a=r.itemsList[h].initResize(rt-nt,w-tt,h),g="resize"),a&&b.append(a)),k.append(b);l.append(k)}return r._processBatchItems(g,0,o,l),r._firstDraw=!1,l},_getItemProportions:function(){return this._itemProportions},_calcViewerParams:function(n,t,r,u){var e=this,o,s,h,c,f=e._calculateArrangementInfo(n,t,r,u);return h=f.getWidth(),c=f.getHeight(),e._hasHorizontalScroll=0,e._hasVerticalScroll=0,f.direction===i.Vertical&&(s=f.itemsOnRowCount,o=f.itemsOnColumnCount),f.direction===i.Horizontal&&(o=f.itemsOnRowCount,s=f.itemsOnColumnCount),o*h>n?(f=e._calculateArrangementInfo(n,t-e._scrollBarWidth,r,u),e._hasHorizontalScroll=1):s*c>t&&(f=e._calculateArrangementInfo(n-e._scrollBarWidth,t,r,u),e._hasVerticalScroll=1),f},_createArrangementInfo:function(n,t,i,r,u){var o=this,e,s,h={};return t<1&&(t=1),o.itemsList.length<t&&(t=o.itemsList.length),e=n/t,s=~~(e*r),e<i&&(e=i,s=~~(e*r)),new f(o.itemsList.length,t,e,s,o.option("itemOptions").itemMargin,u,h)},_calculateArrangementInfo:function(n,t,r,u){var e=this,o,v,p,s,c,l,a,y,w=e.option("itemOptions").itemMargin,h=e._getItemProportions(),b={};switch(u){case"column":return e._createArrangementInfo(n,r,e.minItemWidth,h,i.Horizontal);case"row":return e._createArrangementInfo(t,r,e.minItemHeight,1/h,i.Vertical);case"auto":for(o=e._createArrangementInfo(n,~~(n/e.minItemWidth),e.minItemWidth,h,i.Horizontal),y=o.itemsOnRowCount-1;y>=1;y--)if(v=e._createArrangementInfo(n,y,e.minItemWidth,h,i.Horizontal),t>=v.itemsOnColumnCount*v.getHeight(!1))o=v;else break;return p=e._createArrangementInfo(n,o.itemsOnRowCount-1,e.minItemWidth,h,i.Horizontal),s=e._createArrangementInfo(t,p.itemsOnColumnCount,e.minItemHeight,1/h,i.Vertical),c=s.getHeight(!1),l=s.getWidth(!1),a=p.itemsOnRowCount,o.getHeight(!1)<c&&n>=a*l&&(o=new f(e.itemsList.length,a,l,c,w,i.Horizontal,b)),t<o.itemsOnColumnCount*o.getHeight(!1)&&(s=e._createArrangementInfo(t,o.itemsOnColumnCount,e.minItemHeight,1/h,i.Vertical),c=s.getHeight(!1),l=s.getWidth(!1),a=s.itemsOnColumnCount,t>=s.itemsOnRowCount*c&&n>=a*l&&(o=new f(e.itemsList.length,a,l,c,w,i.Horizontal,b))),o;default:return null}},_drawItems:function(t,r){t=t||"auto",r=r||1;var u=this,v=u._parentWidth(),y=u._parentHeight(),s,h,o,c,e,f=u._viewerParams,p=u.itemsList,l=u.option("viewer.ignorePadding"),a=u.option("itemOptions.itemMargin"),w=l?2*a.width:0,b=l?2*a.height:0;if(!u.itemsList.length)return"";if(f&&(e=f.direction==i.Horizontal,s=e?f.itemsOnRowCount:f.itemsOnColumnCount,h=e?f.itemsOnColumnCount:f.itemsOnRowCount),f=u._viewerParams=u._calcViewerParams(v+w,y+b,r,t),e=f.direction==i.Horizontal,o=e?f.itemsOnRowCount:f.itemsOnColumnCount,c=e?f.itemsOnColumnCount:f.itemsOnRowCount,u.curItemHeight=~~u._viewerParams.getHeight(),u.curItemWidth=~~u._viewerParams.getWidth(),o===s&&c===h){n.each(p,function(n,t){t.initResize(u.curItemWidth-u.totalMarginsAndBorders.width,u.curItemHeight-u.totalMarginsAndBorders.height)}),u._processBatchItems("resize",0,o);return}return u._createTable(u._viewerParams)},getItemByIndex:function(n){var i,t;return e.isNumber(n)&&(i=Number(n),t=this.itemsList[i]),e.isDefined(t)?t:null},_getScrollBarWidth:function(){var f=this,t=0,i=n("<div>",{css:{position:"absolute",top:0,left:0,visiblity:"hidden",width:200,height:150,overflow:"hidden"}}).appendTo(n("body")),r=n("<p>",{css:{width:"100%",height:300}}).appendTo(i),e=r.width(),u;return i.css("overflow",f.option("viewer").overflow),u=r.width(),t=e-u,t>0&&t++,i.remove(),t},_processBatchItems:function(t,r,u,f){var b;f||(f=n(this.innerContainer).find(".widget-viewer-table"));var e=this,ft=new Date,s=e.itemsList,et=s.length,k=e.totalMarginsAndBorders,d=k.width,g=k.height,nt=e.option("viewer"),o=e.option("itemOptions.itemMargin"),tt=e.option("viewer.ignorePadding"),it=nt.onAllItemsRenderComplete,ot=nt.bulkTimesRenderingTimeInterval,st=e._scrollBarWidth,h,a,v,c,ht=e._parentWidthWithoutScroll(),ct=e._parentHeightWithoutScroll(),rt,ut=e.curItemWidth-2*o.width,y=e.curItemHeight-2*o.height,l,p,w=f.find(".widget-viewer-row"),lt=f.find(".widget-viewer-cell");s[r]&&(t==="resize"&&(h=e._viewerParams,a=h.direction==i.Horizontal,v=a?h.itemsOnColumnCount:h.itemsOnRowCount,e._widgetType!=="card"?(l=~~Math.max((ht-u*d)/u,ut),p=a?y-st*e._hasHorizontalScroll:~~Math.max((ct-v*g)/v,y)):(l=ut,p=y),c=(l+2*o.width)*u,tt&&(c-=2*o.width),rt=c,f.css({height:"100%",width:rt}),n.each(w,function(t,i){var r=e.curItemHeight;tt&&(t===0&&w.length===1?r-=2*o.height:(t===0||t===w.length-1)&&(r-=o.height)),n(i).height(r),n(i).width(c)}),n.each(lt,function(t,i){n(i).height(p),n(i).width(l)})),b=function(){if(n.isFunction(s[r][t])){do if(r<et&&(s[r][t](e.curItemWidth-d,e.curItemHeight-g,r),++r),!s[r]){n.isFunction(it)&&it.call(null);return}while(new Date-ft<ot);e._drawTimer=setTimeout(function(){b()},0)}},b())}});u.viewerID=0,r.WidgetsViewer=u}(jQuery,DevExpress),function(n){n.dashboard.pivotGrid={}}(DevExpress),function(n,t){var r=t.dashboard,i=t.utils;r.pivotGrid.DataSource=t.Class.inherit(function(){var e=function(n,i){var r={value:n,valueText:t.formatHelper.format(n,i.format,i.precision)||""};return i.customizeText?i.customizeText.call(r,r):r.valueText},r=function(n,t,i){var u,f;if(n)for(u=0;u<n.length;u++)if(f=n[u],f){if((i&&i.push(f.value),r(f.children,t,i)===!1)||t(f,i,u,n)===!1)return!1;i&&i.pop()}},o=function(){var t=function(n){var t=0;return r(n,function(n,i){t=Math.max(t,i.length)},[]),t},u=function(n,t){var r=n.displayText||n.caption;return i.isDefined(r)?r:n.type==="GT"?"Grand Total":(r=e(n.value,t||{}),n.isAdditionalTotal&&(r+=" Total"),r)},f=function(n,t,r){var u={type:n.type,text:n.text};return n.isLast&&(u.isLast=!0),i.isDefined(n.expanded)&&(u.expanded=n.expanded,n.path&&(u.path=n.path)),t>1&&(u[r?"colspan":"rowspan"]=t),n.depthSize&&n.depthSize>1&&(u[r?"rowspan":"colspan"]=n.depthSize),u},o=function(n,t){var i,r=t.lastIndex-t.index||1,u=function(n,t,i,r,u){for(var f=u?r:i;!n[f];)n.push([]);u?n[f].push(t):n[f].unshift(t)};return(i=f(t.headerItem,r,t.isHorizontal),u(n,i,t.index,t.depth,t.isHorizontal),!t.headerItem.children||t.headerItem.children.length===0)?t.lastIndex+1:t.lastIndex},s=function(t,i,f,e){var s=f.length,o=n.extend(!0,[],t);return h(o,i),l(o),o.push({type:"GT"}),r(o,function(n,t){n.children&&n.children.length!==0||(n.depthSize=e-t.length+1)},[]),s>1&&c(o,f),r(o,function(n,t){n.text=u(n,i[t.length-1])},[]),o},h=function(n,t){var i=t&&t.length||0;r(n,function(n){n.type="D"}),r(n,function(n,t){t.length===i?n.isLast=!0:n.children&&n.children.length===0||(n.path=t.slice(0),n.expanded=!!n.children)},[])},c=function(n,t){r(n,function(n){var i;if(!n.children||n.children.length===0)for(delete n.isLast,n.children=[],i=0;i<t.length;i++)n.children.push({isLast:!0,caption:t[i].caption,type:n.type,isMetric:!0})})},l=function(t){r(t,function(t,i,r,u){t.type==="D"&&t.expanded&&u.splice(r+1,0,n.extend(!0,{},t,{children:null,type:"T",expanded:null,isAdditionalTotal:!0}))},[])},a=function(n,t,i,u){var s=0,h,e,f=[0];r(t,function(t,r){for(e=t.isMetric?i:r.length-1;f.length-1<e;)f.push(f[f.length-1]);h=f[e]||0,s=o(n,{headerItem:t,index:h,lastIndex:s,depth:e,isHorizontal:u}),f.length=e,f.push(s)},[])};return function(n,i,r,u){var f=[],e,h,c,l=0,v,y=[],o=t(n)||1;return e=s(n,i,r,o),a(f,e,o,u),f}}(),l=function(t,i,r,u){var f,o,s,a,v,y=t.cells,p=i?i.length:0,h,w,c,l,b=function(n){return n?n.children&&n.children.length>0?"T":"D":"GT"},k=[];if(y&&p>0)for(f=0;f<y.length;f++)if(l=r[f],l||f===t.grandTotalRowIndex){for(a=y[f],v=[],o=0;o<a.length;o++)if(c=u[o],c||o===t.grandTotalColumnIndex)for(h=a[o],n.isArray(h)||(h=[h]),s=0;s<p;s++)w={text:e(h[s],i[s]),columnType:b(c),rowType:b(l)},v[(c?c.visibleIndex:u.visibleCount)*p+s]=w;k[l?l.visibleIndex:r.visibleCount]=v}return k},s=function(t,u){var e=0,f=[];return r(t,function(t,r){var o=n.extend(!0,{},t,{visibleIndex:e++});i.isDefined(u)&&(o.isLast=r.length-1===u),i.isDefined(o.index)?f[o.index]=o:f.push(o)},[]),f.visibleCount=e,f},u=function(t,i){var r,e,f,u=null;if(n.isArray(i))for(r=0;r<i.length&&t;r++){if(f=n.grep(t||[],function(n){return n.value===i[r]}),f.length===0){u=null;break}u=f[0],t=u.children}return u},f=function(n,t){var e,r=-1,u;if(n)for(e=0;e<n.length;e++)u=n[e],r=Math.max(r,u.index),u.children?r=Math.max(r,f(u.children)):u.collapsedChildren&&(r=Math.max(r,f(u.collapsedChildren)));return i.isDefined(t)&&(r=Math.max(r,t)),r},h=function(t,i,u,e){for(var h=f(u)+1,c=f(t,e)+1,s=[],o=0;o<h;o++)s[o]=c++;return i.children=[],n.extend(!0,i.children,u),r(i.children,function(n){n.index=s[n.index]}),s},c=function(n,t){var f=[];return r(n,function(n){delete n.collapsedChildren}),r(t,function(t,i){var r=u(n,i);r&&(f[t.index]=r.index)},[]),f},a=function(n,t,r,u){var e,o,h,c,f,s,l=n.cells;if(t)for(e=0;e<=t.length;e++)if(h=t[e],f=r[e],i.isDefined(f)||(f=n.grandTotalRowIndex),h&&i.isDefined(f))for(l[f]||(l[f]=[]),o=0;o<=h.length;o++)c=h[o],s=u[o],i.isDefined(s)||(s=n.grandTotalColumnIndex),i.isDefined(c)&&i.isDefined(s)&&(l[f][s]=c)};return{ctor:function(t){this._descriptions=n.extend(!0,{rows:[],columns:[],cells:[]},t.descriptions),this._dataSource=n.extend(!0,{rows:[],columns:[],cells:[]},t.dataSource),this.expandValueChanged=n.Callbacks(),this.changed=n.Callbacks(),this._columnsInfo=[],this._rowsInfo=[],this._cellsInfo=[],this._update()},_update:function(){var n=this._descriptions,t=this._dataSource,i=s(t.rows,n.rows.length-1),r=s(t.columns,n.columns.length-1);t.grandTotalRowIndex=t.grandTotalRowIndex||i.length,t.grandTotalColumnIndex=t.grandTotalColumnIndex||r.length,(n.cells.length>0||n.rows.length>0||n.rows.length>0)&&(this._columnsInfo=o(t.columns,n.columns,n.cells,!0),this._rowsInfo=o(t.rows,n.rows,[],!1),this._cellsInfo=l(t,n.cells,i,r)),this.changed.fire()},getRowsInfo:function(){return this._rowsInfo},getHeaderItemPath:function(n,t){var i=this,u=0,f,e=n==="columns"?i._dataSource.columns:i._dataSource.rows;return n==="columns"&&i._descriptions.cells.length>1&&(t=Math.floor(t/i._descriptions.cells.length)),r(e,function(n,i){if(u===t)return f=i,!1;u++},[]),f},getColumnsInfo:function(){return this._columnsInfo},getCellsInfo:function(){return this._cellsInfo},collapseHeaderItem:function(n,t){var r=this,f=n==="columns"?r._dataSource.columns:r._dataSource.rows,i=u(f,t);return i&&i.children?(i.collapsedChildren=i.children,delete i.children,r._update(),r.expandValueChanged.fire({headerName:n,path:t,expanded:!1}),!0):!1},expandHeaderItem:function(n,t){var f=this,r,e=n==="columns"?f._dataSource.columns:f._dataSource.rows,i=u(e,t);return i&&!i.children?(r=!!i.collapsedChildren,r&&(i.children=i.collapsedChildren,delete i.collapsedChildren,f._update()),this.expandValueChanged.fire({headerName:n,path:t,expanded:!0,needExpandData:!r}),r):!1},applyPartialDataSource:function(n,t,i){var r=this,l,e=n==="columns"?r._dataSource.columns:r._dataSource.rows,f,o,s;i&&i.cells&&(i.rows=i.rows||[],i.columns=i.columns||[],f=u(e,t),f&&(n==="rows"?(o=h(e,f,i.rows,r._dataSource.grandTotalRowIndex),s=c(r._dataSource.columns,i.columns,r._dataSource.grandTotalColumnIndex)):(s=h(e,f,i.columns,r._dataSource.grandTotalColumnIndex),o=c(r._dataSource.rows,i.rows,r._dataSource.grandTotalRowIndex)),a(r._dataSource,i.cells,o,s),r._update()))}}}())}(jQuery,DevExpress),function(n,t){function e(n,t){for(var r=[],i=0;i<n.length;i++)r.push(n[i]>t[i]?n[i]:t[i]);return r}var u=t.ui,f=t.dashboard,i=f.pivotGrid,r=t.utils,o;Array.prototype.reduce||(Array.prototype.reduce=function(t,i){var e,r,u,f;if(!n.isFunction(t))throw new TypeError("Argument is not a function");if(e=this.length,r=i!==undefined,e===0&&!r)throw new TypeError("Reduce of empty array with no initial value");for(u=r?i:this[0],f=r?0:1;f<e;f++)u=t.call(this,u,this[f]);return u}),i.cssClassNames={pivotGrid:"dx-pivotgrid",emptySpace:"dx-pivotgrid-emptyspace",area:"dx-pivotgrid-area",areaData:"dx-pivotgrid-area-data",splitter:"dx-pivotgrid-splitter",splitterButton:"button",splitterButtonDisable:"buttonDisable",splitterExpand:"expand",splitterCollapse:"collapse",headersVertical:"dx-pivotgrid-vertical-headers",headersHorizontal:"dx-pivotgrid-horizontal-headers",headersVerticalLastCell:"lastCell",headersVerticalExpandBorder:"expandBorder",verticalScrollbarSpacing:"vertical-scrollbar-spacing",headersExpandCollapseImage:"image",headersExpanded:"dx-pivotgrid-expanded",headersCollapsed:"dx-pivotgrid-collapsed",bottomBorder:"dx-pivotgrid-bottom-border",total:"total",grandTotal:"grandtotal"},o=function(t){var f=this,r=0,i=n("<div>").css({position:"absolute",visiblity:"hidden",width:100,height:100}).appendTo(t),u=n("<p>").css({width:"100%",height:200}).appendTo(i);return i.dxScrollable(),r=i.width()-u.width(),i.remove(),r},i.PivotGrid=f.PivotGrid=u.Widget.inherit(function(){return{_defaultOptions:function(){return{showRowsSplitter:!1,descriptions:{columns:undefined,rows:undefined,cells:undefined},dataSource:{columns:undefined,rows:undefined,cells:undefined},expandValueChanged:null}},_init:function(){var t=this,f;t._eventHelper=new u.EventHelper("dxPivotGrid"),t._dataSource=new i.DataSource({descriptions:t.option("descriptions"),dataSource:t.option("dataSource")}),t._dataSource.changed.add(function(){t._render()}),f=t.option("expandValueChanged"),f&&t._dataSource.expandValueChanged.add(function(n){f(n)}),t._scrollLeft=0,t._scrollTop=0,t.option("showRowsSplitter")&&(t._rowsNestingLevelInfo={currentLevel:0,maxLevel:0,_riseLevelChanged:function(){var n=this;n.levelChanged&&n.levelChanged()},setMaxLevelFromData:function(n){for(var e=0,t,u,i,f=0;f<n.length;f++){for(u=n[f],t=0,i=0;i<u.length;i++)r.isDefined(u[i].colspan)?t+=u[i].colspan:t++;e<t&&(e=t)}this.maxLevel=e-1},getDataByLevel:function(t){for(var c=this,f,o,u,i,s,h,l=[],e=0;e<t.length;e++){for(o=t[e],h=[],i=c.maxLevel-c.currentLevel+1,f=o.length-1;f>=0;f--)if(u=o[f],s=n.extend({},u),r.isDefined(u.colspan)?(s.colspan=i<=u.colspan?i:u.colspan,i=u.colspan<i?i-u.colspan:0):i--,h.unshift(s),i===0)break;l.push(h)}return l},downLevel:function(){var n=this,t=--n.currentLevel;n.currentLevel=t<0?0:t,n._riseLevelChanged()},upLevel:function(){var n=this,t=++n.currentLevel;n.currentLevel=t>n.maxLevel?n.maxLevel:t,n._riseLevelChanged()}})},_optionChanged:function(n,t,i){var r=this;switch(n){default:r.callBase(n,t,i)}},_synchronizeAreas:function(n,t,i){var s=this,u,f,h,l,o,c=function(u){n.processScrollBarSpacing(t.hasScroll()?r:0),n.processStretch(u),n.setColumnsWidth(u),i.setColumnsWidth(u)},r=s._scrollBarWidth||0;f=e(n.getColumnsWidth(),i.getColumnsWidth()),f.length>0&&(h=f.reduce(function(n,t){return n+t}),t.setColumnsWidth(t.getColumnsWidth()),n.processScroll(s._element(),h),u=e(t.getRowsHeight(),i.getRowsHeight()),u.length>0&&(l=u.reduce(function(n,t){return n+t}),t.processScroll(),o=t.hasScroll(),c(f),t.processScrollBarSpacing(n.hasScroll()?r:0),t.setRowsHeight(u),i.setRowsHeight(u),(o&&!t.hasScroll()||!o&&t.hasScroll())&&c(f),n.tableElement().css("table-layout","fixed"),i.groupWidth(n.groupWidth()+(t.hasScroll()?r:0)),i.groupHeight(t.groupHeight()+(n.hasScroll()?r:0)),(n.hasScroll()||r)&&i.groupElement().css("border-bottom-width","0px"),i.processScroll(r,t.hasScroll(),n.hasScroll())))},_splitterButtonsRender:function(t){var r=this,u=n("<div/>").addClass(i.cssClassNames.splitterButton+" "+i.cssClassNames.splitterButtonDisable),f=n("<div/>").addClass(i.cssClassNames.splitterButton);n("<span />").addClass(i.cssClassNames.splitterExpand).appendTo(u),n("<span />").addClass(i.cssClassNames.splitterCollapse).appendTo(f),r._rowsNestingLevelInfo.levelChanged=function(){var n=r._rowsNestingLevelInfo.currentLevel,t=r._rowsNestingLevelInfo.maxLevel;u.toggleClass(i.cssClassNames.splitterButtonDisable,n===0),f.toggleClass(i.cssClassNames.splitterButtonDisable,n===t)};t.on(r._eventHelper.eventName("click"),"."+i.cssClassNames.splitterButton,function(t){n(t.currentTarget).find("."+i.cssClassNames.splitterCollapse).length>0?r._rowsNestingLevelInfo.upLevel():r._rowsNestingLevelInfo.downLevel(),r._updateRowsArea()});t.append(u).append(f)},_updateScrollPosition:function(n,t,i,r,u){var f=this,e=function(n,t,i){var r,u;if(n&&(r=n.groupElement?n.groupElement().data("dxScrollable"):n,r))switch(i){case"inertia":r.scrollTo(t,!0);break;case"stop":r.stop();break;case"nativeScroll":u=r._element().find(".dx-scrollable-container")[0],u.scrollLeft=t.x,u.scrollTop=t.y;break;default:r.scrollPos(t)}};t&&!t.hasScroll()&&(f._scrollTop=0),n&&!n.hasScroll()&&(f._scrollLeft=0),e(r,{x:f._scrollLeft,y:f._scrollTop},u),e(i,{x:f._scrollLeft,y:f._scrollTop},f._scrollBarWidth?"nativeScroll":u),e(n,f._scrollLeft,u),e(t,f._scrollTop,u)},_subscribeScrollEvents:function(n,t,i){var r=this,u=function(n,t){var i=n.groupElement().data("dxScrollable"),u=function(n,t,i){return function(r){n._scrolling||(n._scrolling=!0,i(r,t),n._scrolling=!1)}};i&&(i.option("scrollAction",u(r,"scroll",t)),i.option("inertiaAction",u(r,"inertia",t)),i.option("stopAction",u(r,"stop",t)))};u(n,function(n,t){var u=n.scrollOffset;r._scrollLeft!==u.left&&(r._scrollLeft=u.left,r._updateScrollPosition(null,null,i,i.tableScrollable(),t))}),u(t,function(n,t){var u=n.scrollOffset;r._scrollTop!==u.top&&(r._scrollTop=u.top,r._updateScrollPosition(null,null,i,i.tableScrollable(),t))}),u(i,function(u,f){var e=u.scrollOffset;(r._scrollLeft!==e.left||r._scrollTop!==e.top)&&(r._scrollLeft=u.scrollOffset.left,r._scrollTop=u.scrollOffset.top,r._updateScrollPosition(n,t,null,i.tableScrollable(),f))})},_updateRowsArea:function(){var n=this,i=n._dataSource.getRowsInfo(),t=n._rowsArea;t.render(n._element(),n._rowsNestingLevelInfo.getDataByLevel(i)),t.groupElement().width(t.tableElement().width()),n.resize(),n._updateScrollPosition(null,null,null,n._dataArea.tableScrollable())},_render:function(){var t=this,h=n("<div />").addClass(i.cssClassNames.emptySpace),c=n("<td />"),l=n("<td />"),a=n("<td />").addClass(i.cssClassNames.splitter),v=a.clone(!0),y=n("<td />"),u=n('<table cols="3"/>'),p=t._dataSource.getRowsInfo(),f=new i.DataArea,e=new i.VerticalHeadersArea(t._dataSource),s=new i.HorizontalHeadersArea(t._dataSource);t._scrollBarWidth=o(t._element()),r.isDefined(t._pivotGridContainer)?t._pivotGridContainer.empty():t._pivotGridContainer=n("<div />").addClass(i.cssClassNames.pivotGrid),t._rowsArea=e,t._columnsArea=s,t._dataArea=f,t._rowsNestingLevelInfo?(t._rowsNestingLevelInfo.setMaxLevelFromData(p),t._splitterButtonsRender(v)):(a=null,v=null),s.render(c,t._dataSource.getColumnsInfo()),t._rowsNestingLevelInfo?e.render(n("<div />").dxSwipeable({endAction:function(n){t._eventHelper.isTouchEvent(n.jQueryEvent)&&(n.targetOffset<0?t._rowsNestingLevelInfo.upLevel():t._rowsNestingLevelInfo.downLevel(),t._updateRowsArea())}}).appendTo(l),t._rowsNestingLevelInfo.getDataByLevel(p)):e.render(l,t._dataSource.getRowsInfo()),f.render(y,t._dataSource.getCellsInfo()),n("<tr />").append(n("<td />").append(h)).append(a).append(c).appendTo(u),n("<tr />").append(l).append(v).append(y).appendTo(u),u.appendTo(t._pivotGridContainer),r.isDefined(t._pivotGridContainer[0].parentElement)||(t._hasHeight=t._element().height()>0,t._pivotGridContainer.appendTo(t._element())),h.height(c.height()-h.outerHeight()),t.resize(),(t._element().width()!==u.width()||t._element().height()!==u.height())&&t.resize(),t._updateScrollPosition(s,e,f,f.tableScrollable()),t._subscribeScrollEvents(s,e,f)},getScrollPath:function(n){var i=this,t,f=0,u,r;for(n==="columns"?(u=i._scrollLeft,r=i._columnsArea.getColumnsWidth()):(u=i._scrollTop,r=i._rowsArea.getRowsHeight()),t=0;t<r.length;t++){if(u<f+r[t]/2)return i._dataSource.getHeaderItemPath(n,t);f+=r[t]}},hasScroll:function(n){var t=this;return n==="columns"?t._columnsArea.hasScroll():t._rowsArea.hasScroll()},resize:function(){var n=this,t,i,f=n._element().find("table").first(),r=n._rowsArea,u=n._columnsArea,e=n._dataArea;t=n._element().width()-f.width(),i=Math.floor(u.groupElement().width()+t),u.setGroupSize(i),n._hasHeight&&(t=n._element().height()-f.height(),i=Math.floor(r.groupElement().height()+t),r.setGroupSize(i)),n._synchronizeAreas(u,r,e)},applyPartialDataSource:function(n,t,i){this._dataSource.applyPartialDataSource(n,t,i)}}}())}(jQuery,DevExpress),function(n,t){var i=t.dashboard.pivotGrid,r=t.utils,u=t.Class;i.AreaItem=u.inherit({_getRowElement:function(n){var t=this;return t._tableElement&&t._tableElement.length>0?t._tableElement[0].rows[n]:null},_createGroupElement:function(){return n("<div />")},_createTableElement:function(){return n("<table />")},_renderTableContent:function(){},_getRowHeight:function(n){var t=this._getRowElement(n);return t?t.lastChild.offsetHeight:0},_setRowHeight:function(t,i){var r=this._getRowElement(t);r&&n(r).css("height",i)},getRowsLength:function(){var n=this;return n._tableElement&&n._tableElement.length>0?n._tableElement[0].rows.length:0},getRowsHeight:function(){for(var t=this,i=[],r=t.getRowsLength(),n=0;n<r;n++)i.push(t._getRowHeight(n));return i},setRowsHeight:function(n){for(var i=this,r=n.length,t=0;t<r;t++)i._setRowHeight(t,n[t]);this._tableElement.height(n.reduce(function(n,t){return n+t}))},getColumnsWidth:function(){var f=this.getRowsLength(),n,i,t,r,u=[],e=[],o=function(n,t,i,r,u){for(var e,f=0;f<r;f++)for(e=0;e<u;e++)n[t+f]=n[t+f]||[],n[t+f][i+e]=!0};if(f)for(n=0;n<f;n++)for(u[n]=u[n]||[],i=this._getRowElement(n),t=0;t<i.cells.length;t++){for(r=0;u[n][r];r++);o(u,n,r,i.cells[t].rowSpan,i.cells[t].colSpan),i.cells[t].colSpan===1&&(e[r]=i.cells[t].offsetWidth)}return e},setColumnsWidth:function(t){var i;for(this._colgroupElement.empty(),i=0;i<t.length;i++)n("<col/>").width(t[i]).appendTo(this._colgroupElement);this._tableElement.width(t.reduce(function(n,t){return n+t}))},groupWidth:function(n){return n===undefined?this._groupElement.width():this._groupElement.width(n)},groupHeight:function(n){return n===undefined?this._groupElement.height():this._groupElement.height(n)},groupElement:function(){return this._groupElement},tableElement:function(){return this._tableElement},render:function(t,i){var u=this;r.isDefined(u._tableElement)?(u._tableElement.empty(),u._colgroupElement=n("<colgroup />").appendTo(u._tableElement),u._renderTableContent(u._tableElement,i)):(u._groupElement=u._createGroupElement(),u._tableElement=u._createTableElement(),u._colgroupElement=n("<colgroup />").appendTo(u._tableElement),u._renderTableContent(u._tableElement,i),u._tableElement.appendTo(u._groupElement),u._groupElement.appendTo(t),u._rootElement=t)}})}(jQuery,DevExpress),function(n,t){var r=t.ui,i=t.dashboard.pivotGrid,u=t.utils;i.HorizontalHeadersArea=i.AreaItem.inherit({_getHeaderName:function(){return"columns"},_textCellRender:function(t,i){n("<span />").text(i).appendTo(t)},_createGroupElement:function(){return n('<div style="width:100%" />').addClass(i.cssClassNames.headersHorizontal).addClass(i.cssClassNames.area)},_createTableElement:function(){return n("<table />")},_createRow:function(){return n("<tr />")},_createCell:function(t){var r=this,f=n("<td />").attr({colspan:t.colspan,rowspan:t.rowspan});if(u.isDefined(t.expanded)){f.addClass(t.expanded?i.cssClassNames.headersExpanded:i.cssClassNames.headersCollapsed).on(this._eventHelper.eventName("click"),function(){var i=r._getHeaderName();t.expanded?r._dataSource.collapseHeaderItem(i,t.path):r._dataSource.expandHeaderItem(i,t.path)});n("<span />").addClass(i.cssClassNames.headersExpandCollapseImage).appendTo(f)}return f},_applyCustomStyles:function(n){n.cellIndex===n.cellsCount-1&&n.cellElement.css("border-right","0px"),n.cellElement.addClass(n.cell.type==="T"?i.cssClassNames.total:"").addClass(n.cell.type==="GT"?i.cssClassNames.grandTotal:"")},_renderTableContent:function(n,t){var i=this,h=t.length,f,e,r,u,o,s;for(i._tableElement.width("auto"),r=0;r<h;r++){for(f=t[r],o=i._createRow(),u=0;u<f.length;u++)e=f[u],s=i._createCell(e),i._applyCustomStyles({cellElement:s,cell:e,cellsCount:f.length,cellIndex:u,rowElement:o,rowIndex:r,rowsCount:h}),i._textCellRender(s,e.text),o.append(s);n.append(o)}},_setTableSize:function(n){this._tableElement.width(n)},_getEventsNamespace:function(){return"dxHeadersArea"},_getOriginalTableSize:function(){return this._originalTableSize=this._originalTableSize||this._tableElement.width()},hasScroll:function(){return this._groupSize?this._getOriginalTableSize()>this._groupSize:!1},setGroupSize:function(n){this._groupSize=n,this._groupElement.width(n)},correctGroupSize:function(n){this.setGroupSize(this._groupSize+n)},processScroll:function(){this._groupElement.data("dxScrollable")||(this._groupElement.dxScrollable({showScrollbar:!1,bounceEnabled:!1,direction:"horizontal"}),this._groupElement.find(".dx-scrollable-container").css("overflow","hidden"))},processScrollBarSpacing:function(t){var r=this;r.correctGroupSize(r._scrollBarSize-t),r._scrollBarSize&&r._groupElement.next().remove(),t&&r._groupElement.after(n("<div />").addClass(i.cssClassNames.verticalScrollbarSpacing).width(t-1).height(r._groupElement.height()-1)),r._groupElement.css("float","left").width(r._groupSize),r._scrollBarSize=t},processStretch:function(n){var i=this,r=n.reduce(function(n,t){return n+t}),u=i._groupSize,f,e,o,t;if(u&&!i.hasScroll()){for(f=u-r,e=Math.floor(f/n.length),o=f-e*n.length,t=0;t<n.length;t++)n[t]+=e,t<o&&n[t]++;r=u}i._setTableSize(r)},ctor:function(n){this._dataSource=n,this._groupSize=0,this._scrollBarSize=0,this._eventHelper=new r.EventHelper(this._getEventsNamespace())}}),i.VerticalHeadersArea=i.HorizontalHeadersArea.inherit({_setTableSize:function(n){this._tableElement.height(n)},_createGroupElement:function(){return n("<div />").addClass(i.cssClassNames.headersVertical).addClass(i.cssClassNames.area)},_applyCustomStyles:function(n){var t=n.cellElement;this.callBase(n),t.addClass(n.cellIndex===n.cellsCount-1?i.cssClassNames.headersVerticalLastCell:null),n.rowIndex===n.rowsCount-1&&t.css("border-bottom","0px"),n.rowIndex!==0&&n.cell.rowspan>1&&n.rowElement.addClass(i.cssClassNames.headersVerticalExpandBorder)},_getHeaderName:function(){return"rows"},_getEventsNamespace:function(){return"dxVerticalHeadersArea"},_getOriginalTableSize:function(){return this._originalTableSize=this._originalTableSize||this._tableElement.height()},setGroupSize:function(n){var t=this;t._groupSize=n<=t._tableElement.height()?n:0,t._groupElement.height(t._groupSize||t._tableElement.height())},processScroll:function(){this._groupElement.data("dxScrollable")||(this._groupElement.dxScrollable({showScrollbar:!1,bounceEnabled:!1,direction:"vertical"}),this._groupElement.find(".dx-scrollable-container").css("overflow","hidden"))},processScrollBarSpacing:function(t){var i=this;i._groupSize&&i.correctGroupSize(i._scrollBarSize-t),i._scrollBarSize&&i._groupElement.next().remove(),t&&i._groupElement.after(n("<div />").width("100%").height(t-1)),i._scrollBarSize=t}})}(jQuery,DevExpress),function(n,t){var i=t.dashboard.pivotGrid,r=t.utils;i.DataArea=i.AreaItem.inherit({_createGroupElement:function(){return n("<div />").addClass(i.cssClassNames.area).addClass(i.cssClassNames.areaData)},_renderTableContent:function(t,r){for(var e,s,u,o,h,f=0;f<r.length;f++){for(h=n("<tr/>"),s=r[f],e=0;e<s.length;e++)u=s[e],o=n("<td />").text(u.text).appendTo(h),f===r.length-1&&o.css("border-bottom","0px"),(u.rowType==="T"||u.columnType==="T")&&o.addClass(i.cssClassNames.total),(u.rowType==="GT"||u.columnType==="GT")&&o.addClass(i.cssClassNames.grandTotal);t.append(h)}},_processScrollCore:function(n,t){var i=this,u=i._tableContainerElement,r=i._groupElement,f=i._tableElement;u.dxScrollable({direction:"both",showScrollbar:!1,bounceEnabled:!1}),u.find(".dx-scrollable-container").css("overflow","hidden"),r.data("dxScrollable")||(r.dxScrollable({direction:"both",bounceEnabled:!1}),i._defaultOverflow=r.find(".dx-scrollable-container").css("overflow")),r.find(".dx-scrollable-container").css("overflow",""),r.find(".dx-scrollable-container").css("overflow-x",t?i._defaultOverflow:"hidden"),r.find(".dx-scrollable-container").css("overflow-y",n?i._defaultOverflow:"hidden")},processScroll:function(t,r,u){var f=this,e=f._groupElement,s=f._tableElement,o=f._tableContainerElement,h;s.css("table-layout","fixed"),f._rootElement.css({position:"relative",display:"block"}),o||(f._tableContainerElement=o=n("<div/>").addClass(i.cssClassNames.area).addClass(i.cssClassNames.areaData).css({position:"absolute",overflow:"hidden",left:0,top:0}).append(s),t?o.appendTo(f._rootElement):o.prependTo(f._rootElement)),o.css({width:e.width()-(r?t:0),height:e.height()-(u?t:0)}),h=e.data("dxScrollable")?e.find(".dx-scrollable-content").children().first():n("<div/>").appendTo(e),h.width(s.width()).height(s.height()),e.css("border-top-width",0),f._processScrollCore(r,u)},tableScrollable:function(){return this._tableContainerElement?this._tableContainerElement.data("dxScrollable"):null}})}(jQuery,DevExpress),function(n,t,i){var r=t.dashboard,u=t.Class;r.dropDownMenu=u.inherit({ctor:function(t){this.options=t,this.$imageDiv=n("<div/>",{"class":t.className,title:t.title}),this._initialize()},getButtonImageDiv:function(){return this.$imageDiv},_initialize:function(){var o=this,u=o.options,r=o.getButtonImageDiv(),f,s,t=n("<div/>",{"class":"dx-dashboard-menu-background",overflow:"visible",css:{visibility:"hidden",display:"block","z-index":2e4}}),e=function(){t.css("visibility","hidden")},h=function(){t.css("visibility","visible")};r.appendTo(u.$container),s=n("<ul/>").appendTo(t),n.each(u.elementNames,function(r,f){var o=n("<li/>",{}).text(f).click(function(){t.find("li").css({fontWeight:"normal"}),u.selectedIndex!==i&&n(this).css({fontWeight:"bold"}),u.selectItem(r,f),e()}).hover(function(){n(this).addClass("dx-dashboard-menu-item-selected")},function(){n(this).removeClass("dx-dashboard-menu-item-selected")});u.selectedIndex===r&&o.css({fontWeight:"bold"}),o.appendTo(s)}),t.mouseleave(function(){f=setTimeout(e,400)}),t.mouseenter(function(){clearTimeout(f)}),o._applyEllipsis(t),t.appendTo(u.$parentContainer),r.click(function(){var i=r.offset();r[0].getBoundingClientRect().top+r.outerHeight()+t.outerHeight()>n(window).height()?i.top-=t.outerHeight()+parseInt(r.css("paddingTop")):i.top+=r.innerHeight()+parseInt(t.css("paddingTop")),r[0].getBoundingClientRect().left+r.outerWidth()+t.outerWidth()>n(window).width()&&(i.left-=t.outerWidth()-r.outerWidth()),i.left<0?(t.css({"max-width":t.width()-Math.abs(i.left)}),i.left=0):t.css({"max-width":"100%"}),t.offset(i);switch(t.css("visibility")){case"visible":e();break;case"hidden":h()}}),r.hover(function(){clearTimeout(f)},function(){f=setTimeout(e,400)})},_applyEllipsis:function(t){var i=n(window).width(),r=t.width(),f=i-r,u=t[0].getBoundingClientRect().left;f>0?u+r>i&&(t.offset({left:0}),t.css({position:"absolute"})):t.css({width:i-u,textOverflow:"ellipsis","-o-text-overflow":"ellipsis","-moz-binding":"url( 'bindings.xml#ellipsis' )","white-space":"nowrap"})}})}(jQuery,DevExpress),function(n){var t=n.viz;t.WidgetsViewer=t.widgetsViewer.WidgetsViewer}(DevExpress),function(n,t,i){var u=t.viz.core,f=t.utils,r=t.dashboard.data;r.localizer={_localizationStrings:i,initialize:function(n){this._localizationStrings=n},getString:function(n){var t=i;return this._localizationStrings?(t=this._localizationStrings[n],t?t:n):n},getPredefinedString:function(n){return n==="XtraPivotGridOthersValue"?this.getString(n):i}}}(jQuery,DevExpress),function(n,t,i){var e=t.viz.core,o=t.utils,u=t.dashboard.data,f=u.localizer,r=t.formatHelper;u.formatter={defaultNumericFormat:{format:"fixedPoint",unit:"auto",precision:0,significantDigits:3},defaultPercentFormat:{format:"percent",unit:"auto",precision:0,significantDigits:3},_types:{Abbreviated:"abbr",Full:"full",Long:"long",Numeric:"num",Short:"short"},format:function(n,t){var i=f.getPredefinedString(n),r,u;return i||(r=t.NumericFormat,u=t.DateTimeFormat,i=r?this.formatNumeric(n,r):u?this.formatDateTime(n,u):this.formatObject(n)),i},formatInternal:function(n,t){return r.format(n,t)},formatNumeric:function(n,t){if(t){var i=this._convertToNumberFormat(t);return r.format(n,i)}return n.toString()},formatDateTime:function(n,t){var i=this._convertToDateFormat(t);return r.format(n,i)},formatObject:function(n){return n==null||n==="ErrorValue"?"":n.toString()},getPredefinedString:function(n){return f.getPredefinedString(n)},convertToFormat:function(n){var t=null,i,r;return n&&(i=n.NumericFormat,r=n.DateTimeFormat,t=i?this._convertToNumberFormat(i):r?this._convertToDateFormat(r):null),t},_convertToNumberFormat:function(n){var t=null,r=n?n.FormatType:i,u=n?n.Unit:i;return r!=="General"&&(t={},t.format=this._convertNumericFormat(r),t.currencyCulture=n.CurrencyCulture,n.IncludeGroupSeparator&&(t.includeGroupSeparator=n.IncludeGroupSeparator),n.ForcePlusSign&&(t.plus=n.ForcePlusSign),t.precision=n.Precision,u&&u==="Auto"&&(t.significantDigits=n.SignificantDigits),(u&&r==="Number"||r==="Currency")&&(t.unit=this._convertNumericUnit(u))),t},_convertToDateFormat:function(n){if(n)switch(n.GroupInterval){case"MonthYear":return{format:"monthYear",dateType:this._types.Full};case"QuarterYear":return{format:"quarterYear",dateType:this._types.Full};case"DayMonthYear":return{format:"dayMonthYear",dateType:n.DateFormat==="Long"?this._types.Long:this._types.Short};case"DateHour":return{format:"dateHour",dateType:n.DateHourFormat==="Long"?this._types.Long:this._types.Short};case"DateHourMinute":return{format:"dateHourMinute",dateType:n.DateHourMinuteFormat==="Long"?this._types.Long:this._types.Short};case"DateHourMinuteSecond":return{format:"dateHourMinuteSecond",dateType:n.DateTimeFormat==="Long"?this._types.Long:this._types.Short};case"Year":return{format:"year",dateType:n.YearFormat==="Abbreviated"?this._types.Abbreviated:this._types.Full};case"Quarter":return n.QuarterFormat==="Numeric"?{format:"quarter",dateType:this._types.Numeric}:{format:"quarter",dateType:this._types.Full};case"Month":return n.MonthFormat==="Numeric"?{format:"month",dateType:this._types.Numeric}:{format:"month",dateType:n.MonthFormat==="Abbreviated"?this._types.Abbreviated:this._types.Full};case"Hour":return{format:"hour",dateType:n.HourFormat==="Long"?this._types.Long:this._types.Short};case"DayOfWeek":return n.DayOfWeekFormat==="Numeric"?{format:"dayOfWeek",dateType:this._types.Numeric}:{format:"dayOfWeek",dateType:n.DayOfWeekFormat==="Abbreviated"?this._types.Abbreviated:this._types.Full};default:return{format:n.GroupInterval.toString(),dateType:this._types.Numeric}}else return null},_convertNumericFormat:function(n){switch(n){case"Number":return"fixedPoint";case"Currency":return"currency";case"Scientific":return"fixedPoint";case"Percent":return"percent";default:return""}},_convertNumericUnit:function(n){switch(n){case"Auto":return"auto";case"Thousands":return"K";case"Millions":return"M";case"Billions":return"B";default:return""}}}}(jQuery,DevExpress),function(n,t){var r=t.dashboard,f=t.Class,u=r.data;u.tagValuesProvider={getTag:function(n,t,i){var r=null,u;if(t===null)return r;for(r=[],u=0;u<t.length;u++)r.push(n.getRowValue(i,t[u]));return this.getTagByValues(r)},getTagByValues:function(n){return!n||n.length===0?null:n}}}(jQuery,DevExpress),function(n,t,i){var u=t.dashboard,f=t.Class,r=u.data,e=r.formatter;r.elementTitleFormatter=f.inherit({ctor:function(n){var t=n.values.length-1,i=" - ";if(this.options=n,this.mainTitle=t===-1?"":this.format(t),this.subTitle="",t>=1)for(t--,this.subTitle=this.format(t--);t>=0;)this.subTitle=this.format(t--)+i+this.subTitle;this.title=this.subTitle?this.subTitle+i+this.mainTitle:this.mainTitle},format:function(n){var r=this.options.captions?this.options.captions[n]:i,t=i;return r?r:(t=this.options.values?this.options.values[n]:i,t?e.format(t,this.options.formats[n]):"")}})}(jQuery,DevExpress),function(n,t){var r=t.dashboard,u=r.data.formatter,f=t.Class,e=r.data;e.listSource=f.inherit({ctor:function(n,t){this.dataSource=this._wrapIfRequired(n,t),this.dataMembers=t,this.dataSource&&this.dataMembers?(this.rowCount=this.dataSource.length,this.columnCount=this.dataMembers.length):(this.dataSource=[],this.dataMembers=[],this.rowCount=0,this.columnCount=0)},_wrapIfRequired:function(t,i){var u,e=[],o=t&&t.length>0&&n.isArray(t)&&n.isArray(t[0]),r,f;if(o)for(r=0;r<t.length;r++)if(u=t[r],i&&u&&u.length===i.length)for(e[r]={},f=0;f<u.length;f++)e[r][i[f]]=u[f];else{o=!1;break}return o?e:t},getRowValue:function(n,t){return this.dataSource[n][t]},getFormattedRowValue:function(n,t,i){var r=this.getRowValue(n,t);return u.formatNumeric(r,i)},getColumnIndex:function(t){return n.inArray(t,this.dataMembers)}})}(jQuery,DevExpress),function(n,t,i){var u=t.dashboard,f=t.Class,r=u.data,e=r.formatter;r.chartDataCreator=f.inherit({ctor:function(n){this.options=n,n.argumentViewModel},hasArguments:function(){return this._getArgumentColumnsCount()>0},isQualitativeArgument:function(){return this._getArgumentColumnsCount()>1},createArgument:function(n){var r=this._getArgumentColumnsCount(),i,t;if(this.isQualitativeArgument()){for(i=this.options.listSource.getFormattedRowValue(n,this._getArgumentDataMember(0),this._getArgumentComponentViewModel(0).Format),t=1;t<r;t++)i=this.options.listSource.getFormattedRowValue(n,this._getArgumentDataMember(t),this._getArgumentComponentViewModel(t).Format)+"\n"+i;return i}return this.options.listSource.getRowValue(n,this._getArgumentDataMember(0))},getSingleArgumentDataMember:function(){return this._getArgumentDataMember(0)},_getArgumentColumnsCount:function(){return this.options.argumentViewModel.Components.length},_getArgumentComponentViewModel:function(n){return n>=0&&n<this._getArgumentColumnsCount()?this.options.argumentViewModel.Components[n]:i},_getArgumentDataMember:function(n){var t=this._getArgumentComponentViewModel(n);return t?t.DataMember:""}})}(jQuery,DevExpress),function(n,t,i){var f=t.viz.core,e=t.utils,r=t.dashboard.data,u=r.tagValuesProvider;r.chartHelper={SelectionMode:{None:"None",Point:"Point",Series:"Series"},ChartLegendInsidePosition:{TopLeftVertical:"TopLeftVertical",TopLeftHorizontal:"TopLeftHorizontal",TopCenterVertical:"TopCenterVertical",TopCenterHorizontal:"TopCenterHorizontal",TopRightVertical:"TopRightVertical",TopRightHorizontal:"TopRightHorizontal",BottomLeftVertical:"BottomLeftVertical",BottomLeftHorizontal:"BottomLeftHorizontal",BottomCenterVertical:"BottomCenterVertical",BottomCenterHorizontal:"BottomCenterHorizontal",BottomRightVertical:"BottomRightVertical",BottomRightHorizontal:"BottomRightHorizontal"},ChartLegendOutsidePosition:{TopLeftVertical:"TopLeftVertical",TopLeftHorizontal:"TopLeftHorizontal",TopCenterHorizontal:"TopCenterHorizontal",TopRightVertical:"TopRightVertical",TopRightHorizontal:"TopRightHorizontal",BottomLeftVertical:"BottomLeftVertical",BottomLeftHorizontal:"BottomLeftHorizontal",BottomCenterHorizontal:"BottomCenterHorizontal",BottomRightVertical:"BottomRightVertical",BottomRightHorizontal:"BottomRightHorizontal"},convertSeriesType:function(n){switch(n){case"Bar":return"bar";case"StackedBar":return"stackedbar";case"FullStackedBar":return"fullstackedbar";case"Point":return"scatter";case"Line":return"line";case"StackedLine":return"stackedline";case"FullStackedLine":return"fullstackedline";case"StepLine":return"line";case"Spline":return"spline";case"Area":return"area";case"StackedArea":return"stackedarea";case"FullStackedArea":return"fullstackedarea";case"StepArea":return"area";case"SplineArea":return"splinearea";case"StackedSplineArea":return"splinearea";case"FullStackedSplineArea":return"splinearea";case"SideBySideRangeBar":return"rangebar";case"RangeArea":return"rangearea";case"CandleStick":return"candlestick";case"Stock":return"stock";case"Donut":return"doughnut";case"Pie":return"pie";case"HighLowClose":return"stock";case"Weighted":default:return"area"}},convertPresentationUnit:function(n){if(n&&n.DataType==="DateTime")switch(n.DateTimePresentationUnit){case"Second":return"second";case"Minute":return"minute";case"Hour":return"hour";case"Day":return"day";case"Month":return"month";case"Quarter":return"quarter";default:return null}return null},convertLegendInsidePosition:function(n,t,i){var r=this.ChartLegendInsidePosition;switch(n){case r.TopLeftVertical:return{verticalAlignment:"top",horizontalAlignment:"left",columnCount:t};case r.TopLeftHorizontal:return{verticalAlignment:"top",horizontalAlignment:"left",rowCount:i};case r.TopCenterVertical:return{verticalAlignment:"top",horizontalAlignment:"center",columnCount:t};case r.TopCenterHorizontal:return{verticalAlignment:"top",horizontalAlignment:"center",rowCount:i};case r.TopRightVertical:return{verticalAlignment:"top",horizontalAlignment:"right",columnCount:t};case r.TopRightHorizontal:return{verticalAlignment:"top",horizontalAlignment:"right",rowCount:i};case r.BottomLeftVertical:return{verticalAlignment:"bottom",horizontalAlignment:"left",columnCount:t};case r.BottomLeftHorizontal:return{verticalAlignment:"bottom",horizontalAlignment:"left",rowCount:i};case r.BottomCenterVertical:return{verticalAlignment:"bottom",horizontalAlignment:"center",columnCount:t};case r.BottomCenterHorizontal:return{verticalAlignment:"bottom",horizontalAlignment:"center",rowCount:i};case r.BottomRightVertical:return{verticalAlignment:"bottom",horizontalAlignment:"right",columnCount:t};case r.BottomRightHorizontal:return{verticalAlignment:"bottom",horizontalAlignment:"right",rowCount:i};default:return{verticalAlignment:"top",horizontalAlignment:"center"}}},convertLegendOutsidePosition:function(n,t,i){var r=this.ChartLegendOutsidePosition;switch(n){case r.TopLeftVertical:return{verticalAlignment:"top",horizontalAlignment:"left",columnCount:t};case r.TopLeftHorizontal:return{verticalAlignment:"top",horizontalAlignment:"center",rowCount:i};case r.TopCenterHorizontal:return{verticalAlignment:"top",horizontalAlignment:"center",rowCount:i};case r.TopRightVertical:return{verticalAlignment:"top",horizontalAlignment:"right",columnCount:t};case r.TopRightHorizontal:return{verticalAlignment:"top",horizontalAlignment:"center",rowCount:i};case r.BottomLeftVertical:return{verticalAlignment:"bottom",horizontalAlignment:"left",columnCount:t};case r.BottomLeftHorizontal:return{verticalAlignment:"bottom",horizontalAlignment:"center",rowCount:i};case r.BottomCenterHorizontal:return{verticalAlignment:"bottom",horizontalAlignment:"center",rowCount:i};case r.BottomRightVertical:return{verticalAlignment:"bottom",horizontalAlignment:"right",columnCount:t};case r.BottomRightHorizontal:return{verticalAlignment:"bottom",horizontalAlignment:"center",rowCount:i};default:return{verticalAlignment:"top",horizontalAlignment:"center",rowCount:i}}},isDiscreteArgument:function(n){return n.DataType==="String"},selectPoints:function(t,i){var s,f,h,c,r,e,o,u;if(t.clearSelection(),i)for(s=t.getAllSeries(),e=0;e<s.length;e++)for(c=s[e],h=c.getAllPoints(),o=0;o<h.length;o++){if(r=h[o],r.tag&&!n.isArray(r.tag)&&!n.isArray(i))throw Error("Internal Error: incorrect values for selection");if(f=r.tag.length===i.length,f)for(u=0;u<i.length;u++)if(r.tag[u]!==i[u]){f=!1;break}f&&r.select()}},selectSeries:function(t,i){var o,f,s,r,e,u;if(t.clearSelection(),i)for(o=t.getAllSeries(),e=0;e<o.length;e++){if(r=o[e],r.tag&&!n.isArray(r.tag)&&!n.isArray(i))throw Error("Internal Error: incorrect values for selection");if(f=r.tag.length===i.length,f)for(u=0;u<i.length;u++)if(r.tag[u]!==i[u]){f=!1;break}f&&r.select()}},getSeriesInfoByPanes:function(n){for(var i=[],r=n.length,t=0;t<r;t++)this._fillSeriesInfo(n[t].Series,i,n[t].Name);return i},getSeriesInfoBySeries:function(n){var t=[];return this._fillSeriesInfo(n,t,i),t},_fillSeriesInfo:function(n,t,i){for(var r,f,e,o=0;o<n.length;o++)f=n[o],r={},e=f.SelectionValues,r.dataMembers=f.DataMembers,r.paneName=i,r.pointVisible=f.ShowPointMarkers,r.seriesType=this.convertSeriesType(f.SeriesType),e?(r.tag=u.getTagByValues(e),r.title=new DevExpress.dashboard.data.elementTitleFormatter({values:e,formats:f.SelectionValueFormats,captions:f.SelectionCaptions}).title):r.title=f.Name,t.push(r)}}}(jQuery,DevExpress),function(n,t,i){var f=t.Class,u=t.dashboard,r=10,e=10;u.viewerSection=f.inherit({ctor:function(n){var t=this;t.options=n,t.elements=[]},render:function(){var n=this;return n.$currentTable=n._createSublayout(n.options.$container,n.options.layoutItem,n.options.isRoot)},_createSublayout:function(t,i,u){var f=this,h,it=i.Orientation==="Horizontal",a,v=t.width()-(u?t.outerWidth()-t.width():0),y=t.height()-(u?t.outerHeight()-t.height():0),c,l,o,w=(i.Panes.length-1)*r,b=v-w,k=y-w,d=2,g=2,s=[],nt=0,tt=0,p=0,e=null;return n.each(i.Panes,function(n,t){p+=t.Size}),h=n("<table/>",{width:v,height:y,cellpadding:0,cellspacing:0,"class":"dx-viewer-item-table"}),h.appendTo(t),it?(c=v,n.each(i.Panes,function(n,t){var r=f._isSplitterPane(t)&&!f._isPaneEmpty(t)?g:0;n<i.Panes.length-1?(s[n]=Math.floor(t.Size/p*k-r),tt+=s[n]+r):s[n]=k-tt-r}),n.each(i.Panes||[],function(t,u){var w=f._isSplitterPane(u),p=c,v,a,y;l=s[t],w&&(p=p-d),v=n("<tr/>"),v.appendTo(h),a=n("<td/>",{width:p,height:l}),y=n("<div/>",{"class":"dx-dashboard-splitter-layout-place",width:p,height:l}),y.appendTo(a),a.appendTo(v),e&&(e.$bottom=a),f.elements.push({$cell:a,$div:y}),f._populateLayoutItem(y,u),w&&(f._isPaneEmpty(u)?a.attr("class","dx-dashboard-splitter-pane-empty"):a.attr("class","dx-dashboard-splitter-pane")),i.Panes.length-t-1&&(e={},v=n("<tr/>"),o=n("<td/>",{height:r,"class":"dx-dashboard-splitter-h-separator",align:"center"}),y=n("<div/>",{"class":"dx-dashboard-splitter-separator",height:r}),y.appendTo(o),o.appendTo(v),e.$top=a,o.data("separatorPanes",e),v.appendTo(h))})):(l=y,n.each(i.Panes,function(n,t){var r=f._isSplitterPane(t)&&!f._isPaneEmpty(t)?d:0;n<i.Panes.length-1?(s[n]=Math.floor(t.Size/p*b-r),nt+=s[n]+r):s[n]=b-nt-r}),a=n("<tr/>"),a.appendTo(h),i.Panes=i.Panes||[],n.each(i.Panes,function(t,u){var p=f._isSplitterPane(u),y=l,h,v;c=s[t],p&&(y=y-g),h=n("<td/>",{width:c,height:y}),v=n("<div/>",{"class":"dx-dashboard-splitter-layout-place",width:c,height:y}),v.appendTo(h),h.appendTo(a),e&&(e.$right=h),f.elements.push({$cell:h,$div:v}),f._populateLayoutItem(v,u),p&&(f._isPaneEmpty(u)?h.attr("class","dx-dashboard-splitter-pane-empty"):h.attr("class","dx-dashboard-splitter-pane")),i.Panes.length-t-1&&(e={},o=n("<td/>",{width:r,"class":"dx-dashboard-splitter-v-separator",align:"center"}),v=n("<div/>",{"class":"dx-dashboard-splitter-separator",width:r}),v.appendTo(o),o.appendTo(a),e.$left=h,o.data("separatorPanes",e))})),h},_populateLayoutItem:function(t,i){if(i.Orientation){var r=new u.viewerSection(n.extend({},this.options,{$container:t,layoutItem:i,isRoot:!1}));t.data("resizableViewerElement",r),r.render()}else this.options.createLayoutItem(t,i)},_isPaneEmpty:function(n){var t=this.options.isPaneEmpty;return t?t(n):!1},updateSize:function(n,t){var r=this,i=r.options.$container;i.width(n),i.height(t),r.setSize(i.width()-(i.outerWidth()-i.width()),i.height()-(i.outerHeight()-i.height()))},width:function(n){var t=this._getSizeSetterParams(!0,n);return this._changeSize(t)},height:function(n){var t=this._getSizeSetterParams(!1,n);return this._changeSize(t)},setSize:function(t,r){var e=this._getSizeSetterParams(!0,t),o=this._getSizeSetterParams(!1,r),f=[],u=[];this._changeSize(e,f),this._changeSize(o,u),n.each(f,function(n,t){for(var f=t.resizable,o=t.size,e=i,r=0;r<u.length;r++)if(u[r]&&u[r].resizable===f){e=u[r].size,u[r]=null;break}f.setSize(o,e)}),n.each(u,function(n,t){t&&t.resizable.height(t.size)})},_getSizeSetterParams:function(n,t){var e=this,i=e.options.layoutItem,u=i.Orientation!=="Horizontal",f=(i.Panes.length-1)*r;return n?{newSize:t,sizeMethod:"width",sizeOuterMethod:"outerWidth",condition:u,separatorsSize:f}:{newSize:t,sizeMethod:"height",sizeOuterMethod:"outerHeight",condition:!u,separatorsSize:f}},_changeSize:function(t,r){if(t.newSize<=0&&(t.newSize=e),t.newSize===i)return this.$currentTable[t.sizeMethod]();if(t.newSize!==this.$currentTable[t.sizeMethod]){var f=this,o=t.separatorsSize,u=t.sizeMethod,c=f.$currentTable[u]()-o,s=t.newSize-o,h=0;n.each(f.elements,function(n,e){var v=e.$cell[t.sizeOuterMethod](),l=v-e.$cell[u](),a=e.$div.data("resizableViewerElement"),o=i,y;t.condition?n<f.elements.length-1?(y=v/c,o=Math.floor(y*s-l),h+=o):o=s-h-l*f.elements.length:o=t.newSize-l,e.$cell[u](o),e.$div[u](o),a&&(r?r.push({resizable:a,size:o}):a[u](o))}),f.$currentTable[u](t.newSize)}},_isSplitterPane:function(n){return!(n.Panes&&n.Panes.length)}})}(jQuery,DevExpress),function(n,t){var f=t.Class,e=t.dashboard,r=50,u=50;e.viewerResizer=f.inherit({ctor:function(t){var i=this;i.options=t,i._eventHelper=t.eventHelper,i.$document=n(document)},attachResizeHandlers:function(t,i){var f=this,e=f._eventHelper;i.on(e.eventName("start"),"td.dx-dashboard-splitter-h-separator",function(){var o=n(this),c=f.createSplitterDiv(o,t,"dx-dashboard-splitter-moving-h-separator"),h=o.offset(),l=h.top,u=o.data("separatorPanes"),a=u.$top.offset().top+r,v=o.height(),y=u.$bottom.offset().top+u.$bottom.height()-r-v,s;f._prependHoverShield(u.$top,u.$bottom),s={constLeft:h.left,maxBottom:y,minTop:a,$splitterDiv:c,separatorPanesData:u,originalPosition:l};f.$document.on(e.eventName("move"),s,n.proxy(f,"moveVerticalHandler"));f.$document.on(e.eventName("end"),s,n.proxy(f,"endVerticalHandler"));return!1});i.on(e.eventName("start"),"td.dx-dashboard-splitter-v-separator",function(){var o=n(this),c=f.createSplitterDiv(o,t,"dx-dashboard-splitter-moving-v-separator"),h=o.offset(),l=h.left,r=o.data("separatorPanes"),a=r.$left.offset().left+u,v=r.$right.offset().left+r.$right.width()-u,s;f._prependHoverShield(r.$left,r.$right),s={constLeft:h.left,maxRight:v,minLeft:a,$splitterDiv:c,separatorPanesData:r,originalPosition:l};f.$document.on(e.eventName("move"),s,n.proxy(f,"moveHorizontalHandler"));f.$document.on(e.eventName("end"),s,n.proxy(f,"endHorizontalHandler"));return!1})},createSplitterDiv:function(t,i,r){var u=n("<div/>",{style:"position:absolute;","class":r}),f=t.offset();return u.addClass("dx-dashboard-splitter-resizing"),u.width(t.width()),u.height(t.height()),u.appendTo(i),u.offset(f),u},skipDevice:function(n){return t.devices.fromUA().ios&&this._eventHelper.isMouseEvent(n)},moveVerticalHandler:function(n){if(!this.skipDevice(n)){var t=this._eventHelper.eventData(n);t.y>=n.data.minTop&&t.y<=n.data.maxBottom&&(n.data.lastPosition=Math.max(Math.min(t.y,n.data.maxBottom),n.data.minTop),n.data.$splitterDiv.offset({left:n.data.constLeft,top:n.data.lastPosition}))}return!1},endVerticalHandler:function(n){var r=this,t=n.data.separatorPanesData,o=n.data.$splitterDiv,e=Math.ceil(n.data.lastPosition-n.data.originalPosition),u=t.$top.height()+e,f=t.$bottom.height()-e,i;r.$document.off(r._eventHelper.eventName("move")),r.$document.off(r._eventHelper.eventName("end")),o.remove(),t.$top.height(u),t.$top.children("div.dx-dashboard-splitter-layout-place").height(u),i=t.$top.children("div.dx-dashboard-splitter-layout-place").data("resizableViewerElement"),i&&i.height(u),t.$bottom.height(f),t.$bottom.children("div.dx-dashboard-splitter-layout-place").height(f),i=t.$bottom.children("div.dx-dashboard-splitter-layout-place").data("resizableViewerElement"),i&&i.height(f),this._deleteHoverShield(n.data.separatorPanesData.$top,n.data.separatorPanesData.$bottom)},moveHorizontalHandler:function(n){if(!this.skipDevice(n)){var t=this._eventHelper.eventData(n);t.x>=n.data.minLeft&&t.x<=n.data.maxRight&&(n.data.lastPosition=Math.max(Math.min(t.x,n.data.maxRight),n.data.minLeft),n.data.$splitterDiv.offset({left:n.data.lastPosition,top:n.data.constTop}))}return!1},endHorizontalHandler:function(n){var r=this,t=n.data.separatorPanesData,o=n.data.$splitterDiv,e=Math.ceil(n.data.lastPosition-n.data.originalPosition),u=t.$left.width()+e,f=t.$right.width()-e,i;r.$document.off(r._eventHelper.eventName("move")),r.$document.off(r._eventHelper.eventName("end")),o.remove(),t.$left.width(u),t.$left.children("div.dx-dashboard-splitter-layout-place").width(u),i=t.$left.children("div.dx-dashboard-splitter-layout-place").data("resizableViewerElement"),i&&i.width(u),t.$right.width(f),t.$right.children("div.dx-dashboard-splitter-layout-place").width(f),i=t.$right.children("div.dx-dashboard-splitter-layout-place").data("resizableViewerElement"),i&&i.width(f),this._deleteHoverShield(n.data.separatorPanesData.$left,n.data.separatorPanesData.$right)},_deleteHoverShield:function(n,t){n.find(".dx-dashboard-layout-shield").remove(),t.find(".dx-dashboard-layout-shield").remove()},_prependHoverShield:function(t,i){t.find(".dx-dashboard-layout-shield").length===0&&i.find(".dx-dashboard-layout-shield").length===0&&(t.prepend(n("<div>",{"class":"dx-dashboard-layout-shield",css:{width:t.width(),height:t.height()}})),i.prepend(n("<div>",{"class":"dx-dashboard-layout-shield",css:{width:i.width(),height:i.height()}})))}})}(jQuery,DevExpress),function(n,t,i){var o=t.ui,s=o.Component,r=t.dashboard,h=t.utils,u=r.data.localizer,f,e,c=42;r.viewerTasks={initialize:"Initialize",performAction:"PerformAction",reloadData:"ReloadData",exportTo:"Export"},r.viewerActions={setMasterFilter:"SetMasterFilter",clearMasterFilter:"ClearMasterFilter",drillDown:"DrillDown",drillDownOnSelectedValue:"DrillDownOnSelectedValue",drillUp:"DrillUp",setSelectedElementIndex:"SetSelectedElementIndex",expandValue:"ExpandValue"},r.callbackResultCodes={success:"Success",sessionNotFound:"SessionNotFound",dashboardNotFound:"DashboardNotFound",internalError:"InternalError"},r.buttonNames={ClearMasterFilter:"Clear Selection",ElementSelection:"Other Elements",DrillUp:"Drill Up",ExportTo:"Export To",ExportToPdf:"Export To PDF",ExportToImage:"Export To Image"},f=r.viewerActions,e=r.callbackResultCodes,r.DashboardViewer=s.inherit({_init:function(){this.viewerItems={},this.callbackNumber=0,this.changedContent=[],this.callbackRequested=new n.Callbacks,this.option("callbackRequested")&&this.callbackRequested.add(this.option("callbackRequested")),this._documentOptions={paperKind:"Letter",pageLayout:"Portrait",scaleMode:"None",scaleFactor:1,autoFitPageCount:1},this.documentOptions(this.option("exportOptions")),t.devices.current("desktop"),this.$rootContainer=n("<div />",{width:"100%",height:"100%"}),this._element().addClass("dx-theme-desktop"),this.$rootContainer.appendTo(this._element()),this._ensureFullscreenMode(),this.requestInitialization()},_getContainer:function(){return this.$rootContainer},_render:function(){var n=this,t=n._getContainer(),r=i;t.addClass("dx-dashboard-container"),t.empty(),n.option("TitleViewModel")&&t.css({"padding-top":"0px"}),r=n._getActualSize(t),n._renderTitle(t,r.width,c),n._renderViewer(t,r.width,r.height-(n.$titleDiv?n.$titleDiv.outerHeight():0))},_renderTitle:function(t,f,e){var o=this,v,l,s=i,a,h=o.option("TitleViewModel"),p=o.option("allowExport"),y=h?h.Text:i,c=h?h.ImageViewModel:i;h?(o.$titleDiv=n("<div/>",{"class":"dx-dashboard-title",width:f,height:e}).appendTo(t),v=n("<table/>").appendTo(o.$titleDiv),l=n("<tr/>").appendTo(v),c&&(s=n("<img>",{"class":"dx-dashboard-title-image",src:c.Url?c.Url:"data:"+c.MimeType+";base64,"+c.SourceBase64String,css:{visibility:"hidden"}}),n("<td/>").appendTo(l).append(s)),y&&n("<td/>",{"class":"dx-dashboard-title-text"}).appendTo(l).append(y),p&&(o.exportToMenu=new r.dropDownMenu({$parentContainer:o._getContainer(),$container:n("<td/>",{align:"right",width:"100%"}).appendTo(l),className:"dx-dashboard-export",elementNames:[u.getString(r.buttonNames.ExportToPdf),u.getString(r.buttonNames.ExportToImage)],selectItem:function(n){o._exportTo({mode:"EntireDashboard",clientState:o.getInfo(),format:n===0?"PDF":"Image"})},title:u.getString(r.buttonNames.ExportTo)})),s&&s.load(function(){a=s.height(),a>e&&(s.width(Math.floor(s.width()*(e/a))),s.height(e)),s.css({visibility:"visible"}),o._updateTitleContent()}),o._updateTitleContent()):o.$titleDiv=i},_renderViewer:function(t,f,e){var o=this,s,h=o.option("RootPane"),c=i;h?(c=n("<div/>",{"class":"dx-dashboard-viewer",width:f,height:e}).appendTo(t),o.rootSection=new r.viewerSection({createLayoutItem:n.proxy(o._createLayoutItem,o),isPaneEmpty:n.proxy(o._isPaneEmpty,o),layoutItem:h,$container:c,isRoot:!0}),s=o.rootSection.render(),o.viewerResizer=new r.viewerResizer({eventHelper:o._eventHelper}),o.viewerResizer.attachResizeHandlers(o._element(),s)):o._renderMessage("dx-dashboard-loading",u.getString("Loading..."))},_renderMessage:function(t,i){var f=this,u=f._getContainer(),r=n("<div/>",{"class":t});u.empty(),r.appendTo(u),i&&r.html(i),r.css({"padding-left":Math.floor((u.width()-r.width())/2),"padding-top":Math.floor((u.height()-r.height())/2)})},_updateTitleContent:function(){var t=this,r=t.option("TitleViewModel");if(!r||r.Alignment!=="Left"){var n=t.$titleDiv.find(".dx-dashboard-title-image"),i=t.$titleDiv.find(".dx-dashboard-title-text"),e=t.$titleDiv.innerWidth(),o=n?n.outerWidth():0,s=i?i.outerWidth():0,u=n&&n.length>0?n:i,f=Math.floor((e-o-s)/2);u&&u.css({"margin-left":f>=0?f:0})}},_updateSize:function(){var n=this,i=n._getContainer(),t=n._getActualSize(i);n.$titleDiv&&(n.$titleDiv.width(t.width),n._updateTitleContent(),t.height-=n.$titleDiv.outerHeight()),n.rootSection&&n.rootSection.updateSize(t.width,t.height)},_getActualSize:function(n){return n&&n.length!==0?{width:n.width()-(n.outerWidth()-n.width()),height:n.height()-(n.outerHeight()-n.height())}:{width:0,height:0}},_createLayoutItem:function(t,i){var e=this,s=e.option("PaneContent"),o=n.grep(s||[],function(n){return n.Name===i.Name})[0],u;t.attr("data-name",i.Name),o&&(u=r.viewerItems.factory.createItem(o.Type,n.extend(o,{$container:t})),u&&u.render&&(u.allowExport=e.option("allowItemsExport"),u.render(),t.data("resizableViewerElement",u),u.selected.add(function(n,t,i,r){e.onPerformAction(n,t,i,r)}),u.clearMasterFilter.add(function(n,t){e.onPerformAction(n,t,f.clearMasterFilter)}),u.drillUp.add(function(n,t){e.onPerformAction(n,t,f.drillUp)}),u.contentElementSelection.add(function(n,t,i){e.onPerformAction(n,t,f.setSelectedElementIndex,i.index)}),u.expandValue.add(function(n,t,i){e.onPerformAction(n,t,f.expandValue,[i.values,i.isColumn,i.isExpand,i.isRequestData])}),u.exportTo.add(function(n,t,i){e._exportTo({mode:"SingleItem",clientState:e.getInfo([u]),format:i.format})}),e.viewerItems[i.Name]=u))},_isPaneEmpty:function(n){var t=n?this.viewerItems[n.Name]:i;return t&&t.isPaneEmpty?t.isPaneEmpty():!1},showLoadingForAffectedItems:function(t,i){var u=this,r=u.viewerItems[t],f=r&&r.getAffectedItems(i);if(!r)throw Error("Unknown dashboard item requested");n.each(f||[],function(n,t){u.viewerItems[t].setLoadingState()})},getInfo:function(t){var r=this,u=r._getContainer(),f=u.position(),e=[];return t||(t=r.viewerItems),n.each(t,function(n,t){var i=t.getInfo();i.position={left:i.position.left-f.left,top:i.position.top-f.top},e.push(i)}),{clientSize:{width:u.outerWidth(),height:u.outerHeight()},titleHeight:r.$titleDiv?r.$titleDiv.outerHeight():i,itemsState:e}},getViewerItem:function(n){return this.viewerItems[n]},documentOptions:function(t){if(t)n.extend(!0,this._documentOptions,t);else return this._documentOptions},exportTo:function(n,t){var i=this;i._exportTo({mode:"EntireDashboard",clientState:i.getInfo(),format:n},t)},_exportTo:function(t,i){var u=this,f={Task:r.viewerTasks.exportTo,SessionId:u.option("SessionId"),ExportInfo:{Mode:t.mode,ClientState:t.clientState,Format:t.format,DocumentOptions:n.extend(!0,{},u._documentOptions,i)}};u._requestCallback(f,!0)},reloadData:function(){this._requestCallback({Task:r.viewerTasks.reloadData,SessionId:this.option("SessionId")})},requestInitialization:function(){this._requestCallback({Task:r.viewerTasks.initialize,DashboardId:this.option("dashboardId")})},onPerformAction:function(n,t,i,u){if(i){var f=this,e={Task:r.viewerTasks.performAction,SessionId:f.option("SessionId"),ActionInfo:{ItemName:n,ActionName:i,Context:t,Parameters:f._wrapArray(u)}};f.showLoadingForAffectedItems(n,i),f._requestCallback(e)}},processCallback:function(n){var t=this,i=n.InternalErrorMessage;switch(n.ResultCode){case e.success:if(t._combineContent(n.RequestMarker,n.PaneContent),t.callbackNumber!==n.RequestMarker)return;t.beginUpdate(),n.SessionId&&(t.option("SessionId",n.SessionId),t.option("RootPane",n.RootPane),t.option("TitleViewModel",n.TitleViewModel),t._initLocalizer()),t.updateContent(t.changedContent),t.endUpdate();break;case e.sessionNotFound:t.requestInitialization();break;case e.dashboardNotFound:t._renderMessage("dx-dashboard-message",i&&i.length>0?i:"Dashboard has not been found");break;case e.internalError:t._renderMessage("dx-dashboard-message",i&&i.length>0?i:"Internal error")}t.changedContent=[]},updateContent:function(t){var i=this,r=(i.option("PaneContent")||[]).slice(0);if(!r.length){i.option("PaneContent",t);return}n.each(t,function(n,t){var r=i.viewerItems[t.Name];r&&(r.updateContent(t),r.setNormalState())})},_requestCallback:function(n,t){t||(this.callbackNumber++,n.RequestMarker=this.callbackNumber),this.callbackRequested.fire(n)},_combineContent:function(t,i){var r=this,u=!1;i&&n.each(i,function(n,i){u=!1,i.requestMarker=t;for(var f=0;f<r.changedContent.length;f++)if(r.changedContent[f].Name===i.Name){r.changedContent[f].requestMarker<t&&(r.changedContent[f]=i),u=!0;break}u||r.changedContent.push(i)})},_initLocalizer:function(n){n={"Loading...":"Loading...",XtraPivotGridOthersValue:"Others","Clear Selection":"Clear Selection","Drill Up":"Drill Up","Other Elements":"Other Elements"},u.initialize(n)},_ensureFullscreenMode:function(){var n,i;if(this.option("fullScreen")){var o=this,s=o._getContainer(),c=!!t.browser.msie,l=parseInt(t.browser.version,10),r="overflow",u=null,f=!1,e=!1;for(s.addClass("dxdbRootFullScreenMode"),h.windowResizeCallbacks.add(function(){o._updateSize()}),f&&e?(r=null,u="overflow"):f?(r="overflowY",u="overflowX"):e&&(r="overflowX",u="overflowY"),n=s.get(0).parentNode;n&&n.tagName;){if(n.style.height="100%",i=n.tagName.toLowerCase(),(i==="form"||i==="body"||i==="html")&&(n.style.margin="0px",n.style.padding="0px",r&&(n.style[r]="hidden"),c&&l<9&&i==="form"&&u&&(n.style[u]="auto"),(e!==f||c&&l<9)&&(i==="body"||i==="html")&&(n.style.overflow="hidden")),i==="html")break;n=n.parentNode}}},_wrapArray:function(t){return t===i?[]:n.isArray(t)&&t||[t]}})}(jQuery,DevExpress),function(n,t){var u=t.ui,e=u.Class,f=t.dashboard,r=f.viewerItems,o=t.utils;r.factory=function(){var n=function(n,t){switch(n){case"RANGEFILTER":return new r.rangeSelectorItem(t);case"CHART":return new r.chartItem(t);case"PIE":return new r.pieItem(t);case"CARD":return new r.cardsItem(t);case"GRID":return new r.dataGridItem(t);case"PIVOT":return new r.pivotGridItem(t);case"GAUGE":return new r.gaugesItem(t);case"TEXT":return new r.textItem(t);case"IMAGE":return new r.imageItem(t);default:return{}}};return{createItem:n}}()}(jQuery,DevExpress),function(n,t,i){var e=t.Class,r=t.dashboard,u=r.data.localizer,f=r.viewerItems,h=t.utils,o=20,s=20;f.cssClassNames={hoverToolbar:"dx-hover-toolbar-container"},f.baseItem=e.inherit({ContentType:{Empty:"Empty",ViewModel:"ViewModel",ActionModel:"ActionModel",CompleteDataSource:"CompleteDataSource",PartialDataSource:"PartialDataSource",FullContent:"FullContent"},ctor:function(t){this.initializeData(t),this.$container=t.$container,this.$preloaderContainer=i,this.selected=new n.Callbacks,this.clearMasterFilter=new n.Callbacks,this.drillUp=new n.Callbacks,this.contentElementSelection=new n.Callbacks,this.expandValue=new n.Callbacks,this.exportTo=new n.Callbacks,this.allowExport=!1},clearSelection:function(){},getInfo:function(){var n=this,t=n.$container;return{name:n._getName(),headerHeight:n.$headerDiv?n.$headerDiv.innerHeight():i,position:t.position(),width:t.outerWidth(),height:t.outerHeight(),virtualSize:i,scroll:i}},isPaneEmpty:function(){return!1},initializeData:function(n){this.options=this.options?{Name:n.Name,Type:n.Type,ContentType:n.ContentType,DataSource:n.ContentType===this.ContentType.PartialDataSource?n.DataSource:n.DataSource||this.options.DataSource,DataSourceMembers:n.DataSourceMembers||this.options.DataSourceMembers,SelectedValues:n.SelectedValues,ViewModel:n.ViewModel||this.options.ViewModel,ActionModel:n.ActionModel||this.options.ActionModel,Parameters:n.Parameters}:n},render:function(){var f=this,u=this.options,t=this.$container,i=n("<div/>",{"data-type":u.type,"class":"dx-dashboard-item"}),r;this.renderHeader(t),i.appendTo(t),this.$contentRoot=i,r=this._calcContentHeight(),i.height(Math.floor(r)),this.renderContent(),this.$headerDiv?(this.renderToolbar(this.$headerDiv),this._updateHeaderTextWidth()):this.renderFloatingToolbar(t),this.renderFooter(t)},updateContent:function(n){this.initializeData(n),this.updateHeader(),this.updateFooter();switch(n.ContentType){case this.ContentType.PartialDataSource:this.renderPartialContent();break;case this.ContentType.ActionModel:this.updateContentState();break;default:this._changeContentRoot(n.type),this.renderContent()}},_changeContentRoot:function(t){var i=this.$contentRoot,r=n("<div/>",{"data-type":t,"class":i.attr("class"),height:i.height()});i.replaceWith(r),this.$contentRoot=r,i.remove()},renderHeader:function(t){var f=this,r=f.options.ViewModel,u=i,e=i;r&&r.ShowCaption&&(u=n("<div/>",{"class":"dx-dashboard-item-header"}),r.Caption&&(e=n("<div/>",{"class":"dx-dashboard-item-header-text"}).appendTo(u),e.html(r.Caption)),u.appendTo(t),f.$headerDiv=u,f.$headerTextDiv=e)},_calcContentHeight:function(){return this.$container.height()-this._calcHeaderAndFooterHeight()},_calcHeaderAndFooterHeight:function(){var n=0;return this.$headerDiv&&(n+=this.$headerDiv.innerHeight()),this.$footerDiv&&(n+=this.$footerDiv.innerHeight()),n},updateHeader:function(){var i=this.options,r=this.$container,n=i.ViewModel,u=this.$toolbarDiv,t=this.$headerTextDiv,f;n&&n.ShowCaption&&n.Caption&&t&&t.html(n.Caption),this._updateToolbar(),this._updateHeaderTextWidth()},_updateHeaderTextWidth:function(){var i=this.$headerDiv,n=this.$headerTextDiv,u=this.$toolbarDiv?this.$toolbarDiv.outerWidth(!0):0,r,t;i&&n&&(r=n.outerWidth(!0)-n.width(),t=i.width()-u-r-1,t<0?(n.css({display:"none"}),t=0):n.css({display:""}),n.width(t))},renderFooter:function(){},updateFooter:function(){},renderContent:function(){},renderPartialContent:function(){},updateContentState:function(){},renderFloatingToolbar:function(t){var r=this,i=t.find("."+f.cssClassNames.hoverToolbar);i.length===0&&(i=n("<div/>",{"class":f.cssClassNames.hoverToolbar}),i.css({position:"absolute",visibility:"hidden","z-index":99}),r.renderToolbar(i),t.prepend(i)),t.hover(function(){var n=r._getContainerPosition();r.$toolbarDiv&&i.css({left:n.left+n.offsetX-r.$toolbarDiv.outerWidth(!0),top:n.top+n.offsetY,visibility:"visible"})},function(){i&&i.css({visibility:"hidden"})})},renderToolbar:function(t){var f=this,l=f.$container,o=f.options.ViewModel?f.options.ViewModel.ContentDescription:i,a=f._hasClearMasterFilterButton(),v=o&&o.ElementSelectionEnabled,y=f._hasDrillUpButton(),p=f.allowExport,s=null,e,h,c,w,b;if(a||v||y||p){if(s=n("<div/>",{"class":"dx-dashboard-item-toolbar"}),e=n("<div/>",{"class":"dx-db-toolbar-internal"}).appendTo(s),p&&(b=new r.dropDownMenu({$parentContainer:l,$container:e,className:"dx-dashboard-item-export",elementNames:[u.getString(r.buttonNames.ExportToPdf),u.getString(r.buttonNames.ExportToImage)],selectItem:function(n){f._onExportTo({format:n===0?"PDF":"Image"})},title:u.getString(r.buttonNames.ExportTo)}),f.$preloaderContainer=b.getButtonImageDiv()),v&&(w=new r.dropDownMenu({$parentContainer:l,$container:e,className:"dx-dashboard-content-selection",elementNames:o.ElementNames,selectedIndex:o.SelectedElementIndex,selectItem:function(n,t){f._onContentElementSelection(n,t)},title:u.getString(r.buttonNames.ElementSelection)}),f.$preloaderContainer=w.getButtonImageDiv()),a){if(c=n("<div/>",{"class":"dx-dashboard-clear-master-filter",title:u.getString(r.buttonNames.ClearMasterFilter)}).appendTo(e),f._isClearMasterFilterEnabled()){c.addClass("dxdbEnabled");c.on("click",f._getClearMasterFilterHandler())}f.$preloaderContainer=c}if(y){if(h=n("<div/>",{"class":"dx-dashboard-item-header-drill-up",title:u.getString(r.buttonNames.DrillUp)}).appendTo(e),f._isDrillUpEnabled()){h.addClass("dxdbEnabled");h.on("click",f._getDrillUpHandler())}f.$preloaderContainer=h}s.appendTo(t)}f.$toolbarDiv=s},_updateToolbar:function(){var n=this,r=n.$toolbarDiv,t,i;if(r){if(n._hasClearMasterFilterButton())if(i=r.find(".dx-dashboard-clear-master-filter"),n._isClearMasterFilterEnabled()){i.addClass("dxdbEnabled");i.on("click",n._getClearMasterFilterHandler())}else i.removeClass("dxdbEnabled"),i.off("click",n._getClearMasterFilterHandler());if(n._hasDrillUpButton())if(t=r.find(".dx-dashboard-item-header-drill-up"),n._isDrillUpEnabled()){t.addClass("dxdbEnabled");t.on("click",n._getDrillUpHandler())}else t.removeClass("dxdbEnabled"),t.off("click",n._getDrillUpHandler())}},getAffectedItems:function(n){return this.options.ActionModel?this.options.ActionModel.AffectedItems[n]:[]},setLoadingState:function(){var t=this,f=t.$container,i=t._getContainerPosition(),r,u;t.$preloader||(r=n("<div/>",{"class":"dx-dashboard-item-shield"}),r.css({left:i.left,top:i.top,width:i.width,height:i.height}),u=n("<div/>",{"class":"dx-dashboard-item-loading"}),t.$preloaderContainer&&t.$preloaderContainer.css("background-image","none"),u.css({left:i.left+i.offsetX-t._getButtonOffset(),top:i.top+i.offsetY+4,"z-index":100,position:"absolute"}),f.prepend(u),t.$preloader=u,t.$shieldingElement=r,f.prepend(r))},setNormalState:function(){this.$preloader&&(this.$preloader.remove(),this.$preloaderContainer&&this.$preloaderContainer.removeAttr("style"),delete this.$preloader),this.$shieldingElement&&(this.$shieldingElement.remove(),delete this.$shieldingElement)},width:function(t){var r=this;if(n.isNumeric(t))r.setSize(t,i);else return r.$container.width()},height:function(t){var r=this;if(n.isNumeric(t))r.setSize(i,t);else return r.$container.height()},setSize:function(n,t){var i=this,r=o,u=s+i._calcHeaderAndFooterHeight();n&&(parseFloat(n)>r?i.$container.width(n):i.$container.width(r)),t&&(parseFloat(t)>u?i.$container.height(t):i.$container.height(u)),i._resize()},_resize:function(){this.updateHeader();var n=this._calcContentHeight();this.$contentRoot.height(Math.floor(n)),this._allocatePreloader()},_allocatePreloader:function(){var t=this,r=t.$container,u=r.find(".dx-dashboard-item-shield"),i=t.$preloader,n=t._getContainerPosition(),f;i&&(i.css({left:n.left+n.offsetX-t._getButtonOffset(),top:n.top+n.offsetY+4}),u.css(n))},_getButtonOffset:function(){return 28},_getContainerPosition:function(){var n=this,t=n.$container.position(),i=n.$container.outerWidth(),u=n.$container.outerHeight(),r=n.isPaneEmpty()?0:1;return{left:t.left,top:t.top,width:i,height:u,offsetX:i-r,offsetY:-r}},_getContext:function(){return this.options.ActionModel?this.options.ActionModel.Context:null},_getName:function(){return this.options.Name},_getSelectedValues:function(){return this.options.SelectedValues},_getClearMasterFilterHandler:function(){var n=this;return n._clearMasterFilterHandler=n._clearMasterFilterHandler||function(){n._onClearMasterFilter()}},_getDrillUpHandler:function(){var n=this;return n._drillUpHandler=n._drillUpHandler||function(){n._onDrillUp()}},_onSelected:function(n){var t=this,i=t._getSelectionCallbackType(n);t.selected.fire(t._getName(),t._getContext(),i,n)},_onClearMasterFilter:function(){this.clearMasterFilter.fire(this._getName(),this._getContext()),this.clearSelection()},_onDrillUp:function(){this.drillUp.fire(this._getName(),this._getContext())},_onContentElementSelection:function(n,t){this.contentElementSelection.fire(this._getName(),this._getContext(),{index:n,caption:t})},_onExpandValue:function(n){this.expandValue.fire(this._getName(),this._getContext(),n)},_onExportTo:function(n){this.exportTo.fire(this._getName(),this._getContext(),n)},_hasDrillUpButton:function(){var n=this.options.ActionModel;return n&&n.DrillUpButtonState&&n.DrillUpButtonState!=="Hidden"},_hasClearMasterFilterButton:function(){var n=this.options.ActionModel;return n&&n.ClearMasterFilterButtonState&&n.ClearMasterFilterButtonState!=="Hidden"},_isDrillUpEnabled:function(){var n=this.options.ActionModel;return n&&n.DrillUpButtonState&&n.DrillUpButtonState==="Enabled"},_isClearMasterFilterEnabled:function(){var n=this.options.ActionModel;return n&&n.ClearMasterFilterButtonState&&n.ClearMasterFilterButtonState==="Enabled"},_canDrillDownOnSelectedValue:function(){var n=this.options.ActionModel,t=n?n.AffectedItems:i;return t?!!t[r.viewerActions.drillDownOnSelectedValue]:!1},_canPerformDrillDown:function(){var n=this.options.ActionModel,t=n?n.AffectedItems:i;return t?!!t[r.viewerActions.drillDown]:!1},_canSetMasterFilter:function(){var n=this.options.ActionModel,t=n?n.AffectedItems:i;return t?!!t[r.viewerActions.setMasterFilter]:!1},_canSelect:function(){return this._canPerformDrillDown()||this._canSetMasterFilter()},_getSelectionCallbackType:function(n){var t=r.viewerActions,u=this._getSelectedValues();if(this._checkValuesAreEqual(n,u)){if(this._canDrillDownOnSelectedValue())return t.drillDownOnSelectedValue}else{if(this._canSetMasterFilter())return t.setMasterFilter;if(this._canPerformDrillDown())return t.drillDown}return i},_checkValuesAreEqual:function(t,i){var r,f,u;if(!t||!i||(r=n.isArray(t)?t:[t],f=n.isArray(i)?i:[i],r.length!==f.length||r.length===0))return!1;for(u=0;u<r.length;u++)if(r[u]!==f[u])return!1;return!0}})}(jQuery,DevExpress),function(n,t,i){var u=t.dashboard,r=u.viewerItems;r.widgetViewerItem=r.baseItem.inherit({ctor:function(n){this.callBase(n)},clearSelection:function(){this.widgetsViewer&&this.widgetsViewer.clearSelections()},getInfo:function(){return n.extend(!0,this.callBase(),this.widgetsViewer.getSizeParams())},renderContent:function(){var n=this._getWidgetViewerOptions();this.widgetsViewer=new DevExpress.viz.widgetsViewer.WidgetsViewer(this.$contentRoot,n)},_getContainerPosition:function(){var t=this,r=t.callBase(),n=t.$headerDiv?i:t.getInfo(),u=n&&n.scroll&&n.scroll.vertical?n.scroll.size:0;return r.offsetX-=u,r},_getConcreteWidgetViewerOptions:function(){return{}},_getWidgetType:function(){return},_defaultHoverEnabled:!1,_isHoverEnabled:function(){return this._canSelect()},_getDataSource:function(){return},_getWidgetViewerOptions:function(){var u=this.options.ViewModel,r=u?u.ContentDescription:i,f=this._isHoverEnabled(),t={viewer:{redrawOnResize:!1}};return t.dataSource=this._getDataSource(),f!==this._defaultHoverEnabled&&(t.viewer.hoverEnabled=f,t.viewer.onclick=this._getOnClickHandler()),t.viewer.widgetType=this._getWidgetType(),t.viewer.method=r?this._convertContentArrangementMode(r.ArrangementMode):"auto",t.viewer.count=r?r.LineCount:1,n.extend(!0,t,this._getConcreteWidgetViewerOptions())},_getOnClickHandler:function(){var n=this;return function(t){n._canSetMasterFilter()&&(n.widgetsViewer.clearSelections(),t.item.select()),n._onSelected(t.item.tag)}},_convertContentArrangementMode:function(n){switch(n){case"FixedColumnCount":return"column";case"FixedRowCount":return"row";default:return"auto"}},_resize:function(){this.callBase(),this.widgetsViewer.redraw()}})}(jQuery,DevExpress),function(n,t,i){var r=t.dashboard,f=r.data.tagValuesProvider,u=r.viewerItems;u.kpiItem=u.widgetViewerItem.inherit({ctor:function(n){this.callBase(n)},renderContent:function(){this.callBase(),this.$contentRoot.addClass("dxdbDashboardWItem")},_setProperties:function(){return},_getDataSource:function(){var n;if(!this.options.ViewModel)return{};var t=new r.data.listSource(this.options.DataSource,this.options.DataSourceMembers),e=this.options.ViewModel,a=t.rowCount,l=[],c,u,o,h,s;for(n=0;n<a;n++)o=i,h=i,u={},s=t.getRowValue(n,e.SelectionValuesDataMember),s!==null&&(c=new DevExpress.dashboard.data.elementTitleFormatter({values:s,formats:t.getRowValue(n,e.SelectionValuesFormatDataMember),captions:t.getRowValue(n,e.SelectionCaptionsDataMember)}),o=c.mainTitle,h=c.subTitle),this._canSelect()&&(u.tag=f.getTagByValues(s)),this._isClearMasterFilterEnabled()&&this._checkValuesAreEqual(s,this._getSelectedValues())&&(u.isSelected=!0),o||(o=t.getRowValue(n,e.TitleDataMember)),u.title=o,h&&(u.subTitle=h),this._setProperties(t,n,u,this._convertIndicatorType(t.getRowValue(n,e.DeltaDataMembers.IndicatorTypeDataMember)),t.getRowValue(n,e.DeltaDataMembers.IsGoodDataMember)),l[n]=u;return l},_convertIndicatorType:function(n){switch(n){case"UpArrow":return"up";case"DownArrow":return"down";case"Warning":return"warning";default:return"none"}}})}(jQuery,DevExpress),function(n,t){var u=t.dashboard,r=u.viewerItems,f=t.utils;r.cardsItem=r.kpiItem.inherit({ctor:function(n){this.callBase(n)},isPaneEmpty:function(){return this.options&&this.options.ViewModel?!this.options.ViewModel.ShowCaption:this.callBase()},_getConcreteWidgetViewerOptions:function(){return{viewer:{ignorePadding:this.isPaneEmpty()}}},_getWidgetType:function(){return"card"},_setProperties:function(n,t,i,r,u){var f=this.options.ViewModel,e=f.Cards[n.getRowValue(t,f.ElementIdDataMember)];i.mainValue={type:r,hasPositiveMeaning:u,text:{value:n.getFormattedRowValue(t,f.ValueDataMember,e.ValueFormat),useDefaultColor:e.IgnoreDeltaColor}},n.getRowValue(t,f.SingleValueDataMember)||(i.variableValue1={type:r,hasPositiveMeaning:u,text:{value:n.getFormattedRowValue(t,f.SubValue1DataMember,e.SubValue1Format),useDefaultColor:e.IgnoreSubValue1DeltaColor}},i.variableValue2={type:r,hasPositiveMeaning:u,text:{value:n.getFormattedRowValue(t,f.SubValue2DataMember,e.SubValue2Format),useDefaultColor:e.IgnoreSubValue2DeltaColor}})}})}(jQuery,DevExpress),function(n,t){var r=t.dashboard,f=r.data.formatter,u=r.viewerItems,e=t.utils;u.gaugesItem=u.kpiItem.inherit({GaugeViewType:{CircularFull:"CircularFull",CircularHalf:"CircularHalf",CircularQuarterRight:"CircularQuarterRight",CircularQuarterLeft:"CircularQuarterLeft",CircularThreeFourth:"CircularThreeFourth",LinearHorizontal:"LinearHorizontal",LinearVertical:"LinearVertical"},ctor:function(n){this.callBase(n)},_getConcreteWidgetViewerOptions:function(){var i=this.options.ViewModel,n=this.GaugeViewType,t={itemOptions:{minSize:{width:150,height:150}}};if(i)switch(i.ViewType){case n.CircularHalf:t.itemOptions.proportions=.85;break;case n.CircularQuarterLeft:case n.CircularQuarterRight:t.itemOptions.proportions=1.25;break;case n.CircularThreeFourth:case n.CircularFull:t.itemOptions.proportions=1;break;case n.LinearVertical:t.itemOptions.proportions=1.5;break;case n.LinearHorizontal:t.itemOptions.proportions=.5}return t},_getWidgetType:function(){var n=this.options.ViewModel,t=this.GaugeViewType;if(n)switch(n.ViewType){case t.LinearVertical:case t.LinearHorizontal:return"lineargauge";default:return"circulargauge"}return"circulargauge"},_setProperties:function(n,t,i,r,u){var e=this.options.ViewModel,o=this.GaugeViewType,s=e.Gauges[n.getRowValue(t,e.ElementIdDataMember)],h=s.Range,c=h.MinRangeValue,l=h.MaxRangeValue,a=l-c,v=5;i.preset="preset2";switch(e.ViewType){case o.CircularHalf:i.geometry={startAngle:180,endAngle:0};break;case o.CircularQuarterLeft:i.geometry={startAngle:180,endAngle:90};break;case o.CircularQuarterRight:i.geometry={startAngle:90,endAngle:0};break;case o.CircularThreeFourth:i.geometry={startAngle:220,endAngle:320};break;case o.CircularFull:v=6,i.geometry={startAngle:240,endAngle:300};break;case o.LinearVertical:i.geometry={orientation:"vertical"};break;case o.LinearHorizontal:i.geometry={orientation:"horizontal"}}i.scale={startValue:c,endValue:l,label:{format:f.defaultNumericFormat,indentFromTick:10}},i.needles=[{value:n.getRowValue(t,e.ActualValueDataMember)}],n.getRowValue(t,e.SingleValueDataMember)||(i.markers=[{value:n.getRowValue(t,e.TargetValueDataMember)}]),i.indicator={type:r,hasPositiveMeaning:u,text:{value:n.getFormattedRowValue(t,e.ValueDataMember,s.ValueFormat),useDefaultColor:s.IgnoreDeltaColor}},a>0&&(i.scale.majorTick={tickInterval:Math.round(a/v),useTicksAutoArrangement:!1})}})}(jQuery,DevExpress),function(n,t){var r=t.dashboard,f=r.data.formatter,u=r.data.chartHelper,e=r.data.tagValuesProvider,o=r.viewerItems;o.pieItem=o.widgetViewerItem.inherit({ctor:function(n){this.callBase(n)},clearSelection:function(){var t=this,i=t.options.ViewModel,r=t.widgetsViewer;r&&i&&i.SelectionMode===u.SelectionMode.Point?n.each(r.itemsList,function(){this._widget.clearSelection()}):t.callBase()},_selectPoints:function(n,t){u.selectPoints(n,t)},_isHoverEnabled:function(){return this.callBase()&&this._isItemSelectionEnabled()},_isItemSelectionEnabled:function(){var n=this.options.ViewModel;return n&&n.SelectionMode===u.SelectionMode.Series},_isLabelsVisible:function(){var n=this.options.ViewModel;return n&&n.LabelContentType!==u.SelectionMode.None},_getConcreteWidgetViewerOptions:function(){return this._isLabelsVisible()?{itemOptions:{minSize:{width:200,height:200},proportions:.75}}:{itemOptions:{minSize:{width:100,height:100},proportions:1}}},_getWidgetType:function(){return"pieChart"},_getDataSource:function(){var a,h;if(!this.options.ViewModel)return{};var s=this,o=s.options.ViewModel,l=new r.data.listSource(this.options.DataSource,this.options.DataSourceMembers),w=l.rowCount,b=new DevExpress.dashboard.data.chartDataCreator({listSource:l,argumentViewModel:o.Argument}),k=o.ShowPieCaption,v=o.SelectionMode===u.SelectionMode.Point&&this._canSelect(),p=[],n,i,y,c,t;for(a=0;a<o.Series.length;a++){if(i=o.Series[a],y=i.DataMembers,c=i.SelectionValues,n={},t={},s._isItemSelectionEnabled()&&(s._canSelect()&&(n.tag=e.getTagByValues(c)),s._isClearMasterFilterEnabled()&&s._checkValuesAreEqual(c,s._getSelectedValues())&&(n.isSelected=!0)),k&&(n.title={text:c?new DevExpress.dashboard.data.elementTitleFormatter({values:c,formats:i.SelectionValueFormats,captions:i.SelectionCaptions}).title:i.Name,font:{size:18}}),t.label={visible:s._isLabelsVisible(),position:"columns"},t.label.visible&&(t.label.connector={visible:!0,width:1},i.ValueFormats&&i.ValueFormats.length>0&&(t.label.format=f.convertToFormat(i.ValueFormats[0])),t.label.customizeText=s._getFormatLabelHandler(o.LabelContentType)),t.argumentField="x",t.valueField="y",t.point={visible:!0},o.PieType==="Donut"&&(t.type="doughnut"),y.length>0)for(t.data=[],h=0;h<w;h++)t.data.push({x:b.createArgument(h),y:l.getRowValue(h,y[0]),tag:e.getTag(l,o.SelectionDataMembers,h)});n.series=[t],n.legend={visible:!1},n.tooltip={enabled:o.TooltipContentType!=="None"},n.tooltip.enabled&&(i.ValueFormats!==null&&i.ValueFormats.length>0&&(n.tooltip.format=f.convertToFormat(i.ValueFormats[0])),n.tooltip.customizeText=s._getFormatLabelHandler(o.TooltipContentType),n.tooltip.font={size:14}),v&&(n.pointClick=this._getSelectPointsHandler()),n.commonSeriesSettings={selectionMode:v?"allArgumentPoints":"none",hoverMode:v?"allArgumentPoints":"none"},p.push(n)}return p},_getFormatLabelHandler:function(n){return function(t){var e=f.getPredefinedString(t.argument),i=e?e:t.argumentText,r=t.valueText,u=t.percentText;switch(n){case"Argument":return i;case"Percent":return u;case"Value":return r;case"ValueAndPercent":return r+" ("+u+")";case"ArgumentAndPercent":return i+" : "+u;case"ArgumentAndValue":return i+" : "+r;case"ArgumentValueAndPercent":return i+" : "+r+" ("+u+")";default:return""}}},_getSelectPointsHandler:function(){var t=this;return function(i){var u=t.widgetsViewer,r=i.tag;n.each(u.itemsList,function(){t._selectPoints(this._widget,r)}),t._onSelected(r)}}})}(jQuery,DevExpress),function(n,t,i){var r=t.dashboard,f=r.data.formatter,u=r.viewerItems;u.pivotGridItem=u.baseItem.inherit({ctor:function(n){this.callBase(n)},renderContent:function(){if(this.options){var n=this._getPivotGridOptions();this.pivotGridViewer=new r.PivotGrid(this.$contentRoot,n)}},renderPartialContent:function(){if(this.options&&this.options.DataSource){var n=this.options.Parameters,t=n[1]?"columns":"rows",i=n[0],r=this._getDataSource(this.options.DataSource);this.pivotGridViewer.applyPartialDataSource(t,i,r)}},getInfo:function(){return n.extend(!0,this.callBase(),{scroll:{topPath:this.pivotGridViewer.getScrollPath("rows"),leftPath:this.pivotGridViewer.getScrollPath("columns"),horizontal:this.pivotGridViewer.hasScroll("columns"),vertical:this.pivotGridViewer.hasScroll("rows")}})},_getPivotGridOptions:function(){if(!this.options.ViewModel)return{};var t=this.options.DataSource,n={};return n.descriptions=this._getDescriptions(),n.dataSource=this._getDataSource(t),n.expandValueChanged=this._getExpandValueChangedHandler(),n},_getDescriptions:function(){var n=this.options.ViewModel;return n?{columns:this._createDescription(n.Columns),rows:this._createDescription(n.Rows),cells:this._createDescription(n.Values)}:i},_getDataSource:function(n){return{columns:this._createHeaderHierarchy(n[0]),rows:this._createHeaderHierarchy(n[1]),cells:this._createCells(n[2])}},_createDescription:function(t){var i=[];return t&&t.length>0&&n.each(t,function(n,t){i.push({caption:t.Caption,format:f.convertToFormat(t.Format)})}),i},_createHeaderHierarchy:function(t){var f=[],u=[],i=null,r=null;return t&&t.length>0&&(n.each(t,function(n,t){i={index:t[0],value:t[1],displayText:t[2],parentIndex:t[3]},u.push(i),i.parentIndex>=0&&(r=u[i.parentIndex],r.children||(r.children=[]),r.children.push(i))}),n.each(u,function(n,t){t.parentIndex<0&&f.push({index:t.index,value:t.value,displayText:t.displayText,children:t.children})})),f},_createCells:function(t){var i=[],u=-1,r=-1,f=-1,e=null;return t&&t.length>0&&n.each(t,function(n,t){u=t[0],r=t[1],f=t[2],e=t[3],i[r]||(i[r]=[]),i[r][u]||(i[r][u]=[]),i[r][u].splice(f,0,e)}),i},_getExpandValueChangedHandler:function(){var n=this;return function(t){n._onExpandValue({values:t.path,isColumn:t.headerName==="columns",isExpand:t.expanded,isRequestData:!!t.needExpandData})}},_resize:function(){this.callBase(),this.pivotGridViewer.resize()}})}(jQuery,DevExpress),function(n,t){var r=t.dashboard,e=r.data.formatter,f=r.data.tagValuesProvider,u=r.viewerItems,o=t.utils;u.chartBaseItem=u.baseItem.inherit({ctor:function(n){this.callBase(n)},initializeData:function(n){this.callBase(n),n&&n.ViewModel&&(this.listSource=new r.data.listSource(n.DataSource,n.DataSourceMembers),this.dataCreator=new r.data.chartDataCreator({listSource:this.listSource,argumentViewModel:n.ViewModel.Argument}))},_getConcreteChartViewerOptions:function(){return{}},_getSeriesInfo:function(){},_getSelectionDataMembers:function(){return null},_getArgumentDataMember:function(){return this.dataCreator?this.dataCreator.getSingleArgumentDataMember():null},_hasArgument:function(){return this.dataCreator?this.dataCreator.hasArguments():!1},_isQualitativeArgument:function(){return this.dataCreator.isQualitativeArgument()},_getArgument:function(n){return this.dataCreator.createArgument(n)},_getDataSourceAndSeries:function(){var h,i,t;if(!this.options||!this._hasArgument())return{dataSource:null,series:null};var v=this.listSource.rowCount,p=this.options.ViewModel,a=this._getSeriesInfo(),y=this._getSelectionDataMembers(),e,r,u=[],w,o,s,c,l={dataSource:[],series:[]};for(t=0;t<a.length;t++){for(e=a[t],r=[],h=0;h<e.dataMembers.length;h++)o=e.dataMembers[h],n.inArray(o,u)<0&&this.listSource.getColumnIndex(o)>=0&&(u.push(o),r.push(t+r.length));r.length>0&&l.series.push(this._createSeriesItem(e,r))}if(u.length>0)for(i=0;i<v;i++){for(c=f.getTag(this.listSource,y,i),s={x:this._getArgument(i)},c&&(s.tag=c),t=0;t<u.length;t++)s["y"+t.toString()]=this.listSource.getRowValue(i,u[t]);l.dataSource.push(s)}return l},_createSeriesItem:function(n,t){var i={type:n.seriesType},r=function(n,t,r){t>=0&&t<n.length&&(i[r]="y"+n[t])};n.paneName&&(i.pane=n.paneName),n.pointVisible&&(i.point={visible:n.pointVisible}),n.title&&(i.name=n.title),i.argumentField="x";switch(i.type){case"rangebar":case"rangearea":r(t,0,"rangeValue1Field"),r(t,1,"rangeValue2Field");break;case"stock":case"candlestick":r(t,0,"openValueField"),r(t,1,"highValueField"),r(t,2,"lowValueField"),r(t,3,"closeValueField");break;default:r(t,0,"valueField")}return n.tag&&(i.tag=n.tag),i}})}(jQuery,DevExpress),function(n,t,i){var f=t.dashboard,u=f.data.formatter,r=f.data.chartHelper,o=f.data.tagValuesProvider,e=f.viewerItems,s=t.utils;e.chartItem=e.chartBaseItem.inherit({ctor:function(n){this.callBase(n)},clearSelection:function(){this.chartViewer&&this.chartViewer.clearSelection()},renderContent:function(){var t=n.extend(!0,this._getDataSourceAndSeries(),this._getChartViewerOptions());this.chartViewer=new DevExpress.viz.charts.Chart(this.$contentRoot,t)},_getSeriesInfo:function(){var n=this.options.ViewModel.Panes;return r.getSeriesInfoByPanes(n)},_getSelectionDataMembers:function(){var n=this.options.ViewModel;return n.SelectionDataMembers},_getChartViewerOptions:function(){if(!this.options||!this.options.ViewModel)return{};var e=this,t=e.options.ViewModel,a=e._canSelect(),s=a?e._convertSelectionMode(t.SelectionMode):"none",o=t.Panes,h={},v=e._isQualitativeArgument(),y=o.length>0?Math.ceil(o[0].Series.length/6):1,p=o.length>0?Math.ceil(o[0].Series.length/4):1,c=i,l=i,f={panes:[],valueAxis:[],redrawOnResize:!1,rotated:t.Rotated};return n.each(o,function(n,t){var r=t.Name?t.Name:"Pane "+n;h[r]=e._isPaneInPercentFormat(t)?u.defaultPercentFormat:u.defaultNumericFormat,f.panes.push({name:r}),f.valueAxis.push({pane:r,label:{visible:t.AxisYVisible,format:h[r]},title:{text:t.AxisYVisible?t.AxisYTitle:i},visible:t.AxisYVisible})}),f.commonSeriesSettings={selectionMode:s,hoverMode:s,point:{visible:!1}},f.argumentAxis={inverted:t.Argument.Reversed,label:{visible:t.Argument.AxisXVisible,overlappingBehavior:{mode:!t.Argument.IsOrderedDiscrete&&r.isDiscreteArgument(t.Argument)?"stagger":"enlargeTickInterval"},customizeText:function(n){var t=u.getPredefinedString(n.value);return t?t:n.valueText}},title:{text:t.Argument.AxisXVisible&&t.Argument.AxisXTitleVisible?t.Argument.AxisXTitle:i},visible:t.Argument.AxisXVisible},!v&&t.Argument&&t.Argument.Components.length>0&&(c=u.convertToFormat(t.Argument.Components[0].Format),c&&(f.argumentAxis.label.format=c)),(v||r.isDiscreteArgument(t.Argument))&&(f.argumentAxis.type="discrete"),f.tooltip={enabled:!0,customizeText:function(n){var i=n.point.series.pane,t=u.getPredefinedString(n.argument),r=t?t:n.argumentText,f=u.formatInternal(n.value,h[i]);return r+": "+f},font:{size:14},argumentFormat:f.argumentAxis.label.format},f.animation={enabled:!1},f.margin={top:10,right:22,bottom:22,left:22},t.Legend&&(l=t.Legend.IsInsideDiagram?r.convertLegendInsidePosition(t.Legend.InsidePosition,y,p):r.convertLegendOutsidePosition(t.Legend.OutsidePosition,y,p),f.legend=n.extend(!0,{},l,{position:t.Legend.IsInsideDiagram?"inside":"outside",visible:t.Legend.Visible,itemTextPosition:"right"}),s==="allArgumentPoints"&&(f.legend.hoverMode="none")),a&&t.SelectionMode!=="none"&&(f.pointClick=e._getPointClickHandler(t)),f.done=function(){e._applySelection()},f},_applySelection:function(){var t=this.options.ViewModel,n=this._getSelectedValues();t&&t.SelectionMode!==r.SelectionMode.None&&n&&n.length>0&&(t.SelectionMode===r.SelectionMode.Point?r.selectPoints(this.chartViewer,n):r.selectSeries(this.chartViewer,n))},_getPointClickHandler:function(n){var t=this;return function(i){var u=n.SelectionMode===r.SelectionMode.Point?i:i.series;u.select(),t._onSelected(u.tag)}},_isPaneInPercentFormat:function(n){for(var t,u,r,i=0;i<n.Series.length;i++)if(t=n.Series[i],t.ValueFormats){for(r=0;r<t.ValueFormats.length;r++)if(u=t.ValueFormats[r],!u.NumericFormat||u.NumericFormat.FormatType!=="Percent")return!1}else return!1;return!0},_convertSelectionMode:function(n){switch(n){case r.SelectionMode.None:return"none";case r.SelectionMode.Point:return"allArgumentPoints";case r.SelectionMode.Series:return"allSeriesPoints";default:return"none"}},_resize:function(){this.callBase(),this.chartViewer._render()}})}(jQuery,DevExpress),function(n,t,i){var u=t.dashboard,e=u.data.formatter,r=u.data.chartHelper,f=u.viewerItems;f.rangeSelectorItem=f.chartBaseItem.inherit({ctor:function(n){this.settingsScale={startValue:i,endValue:i,numericDivisionValue:i},this.selectedRange={startValue:i,endValue:i},this.callBase(n)},isPaneEmpty:function(){return this.options&&this.options.ViewModel?!this.options.ViewModel.ShowCaption:this.callBase()},initializeData:function(n){if(this.callBase(n),n&&n.ViewModel){var i,t,r;!this.listSource||this.settingsScale.startValue&&this.settingsScale.endValue||(t=this.listSource.rowCount-1,t>0&&(r=this._getArgumentDataMember(),i=this._isQualitativeArgument()?{start:0,end:t}:{start:this.listSource.getRowValue(0,r),end:this.listSource.getRowValue(t,r)},this.settingsScale.startValue||(this.settingsScale.startValue=i.start),this.settingsScale.endValue||(this.settingsScale.endValue=i.end)))}},renderContent:function(){var n=this._getRangeSelectorViewerOptions();this.rangeSelectorViewer=new t.viz.rangeSelector.RangeSelector(this.$contentRoot,n)},_getContainerPosition:function(){var t=this,n=t.callBase();return n.offsetY=n.height-t._getButtonOffset(),n},_getSeriesInfo:function(){return r.getSeriesInfoBySeries(this.options.ViewModel.Series)},_getRangeSelectorViewerOptions:function(){if(!this.options||!this.options.ViewModel)return{};var t=this.options.ViewModel,o=this._getDataSourceAndSeries(),u=i,f=i,n={};return this.isPaneEmpty()||(n.margin={top:10,bottom:15}),n.scale={marker:{visible:!1}},this.settingsScale.startValue&&(n.scale.startValue=this.settingsScale.startValue),this.settingsScale.endValue&&(n.scale.endValue=this.settingsScale.endValue),this.settingsScale.numericDivisionValue>0&&(n.scale.majorTickInterval=this.settingsScale.numericDivisionValue),n.selectedRange={},this.selectedRange.startValue&&(n.selectedRange.startValue=this.selectedRange.startValue),this.selectedRange.endValue&&(n.selectedRange.endValue=this.selectedRange.endValue),t.Argument&&t.Argument.Components.length>0&&(f=e.convertToFormat(t.Argument.Components[0].Format),f&&(n.scale.label={format:f},n.sliderMarker={format:f},u=r.isDiscreteArgument(t.Argument)?1:r.convertPresentationUnit(t.Argument),u&&(n.scale.minorTickInterval=u,n.scale.majorTickInterval=u,n.scale.showMinorTicks=!1,n.behavior={snapToTicks:!0}))),n.dataSource=o.dataSource,n.chart={series:o.series,commonSeriesSettings:{type:t.Series&&t.Series.length>0?r.convertSeriesType(t.Series[0].SeriesType):null}},n.selectedRangeChanged=this._getSelectedRangeChangedHandler(t),n},_getSelectedRangeChangedHandler:function(){var t=this;return function(n){t.selectedRange.startValue=n.startValue,t.selectedRange.endValue=n.endValue,t._onSelected([n.startValue,n.endValue])}},_resize:function(){this.callBase(),this.rangeSelectorViewer._render()}})}(jQuery,DevExpress),function(n,t){var u=t.dashboard,r=u.viewerItems;r.stubItem=r.baseItem.inherit({ctor:function(n){this.callBase(n)},renderContent:function(){var n=this.options;this.$contentRoot.html(n.type)}})}(jQuery,DevExpress),function(n,t,i){var u=t.dashboard,r=u.viewerItems;r.imageItem=r.baseItem.inherit({ctor:function(n){this.callBase(n),this.imgSrc=this._getImageSource(n.ViewModel?n.ViewModel.ImageViewModel:i)},renderContent:function(){var t=this,i=t.options;t.$contentRoot.append(n("<img>",{src:t.imgSrc})),this._applyStyleSettings()},_applyStyleSettings:function(){var n=this,t=this.$contentRoot.find("img");t.load(function(){n._loadedImgProcessing()})},_loadedImgProcessing:function(){var t=this,i=t.$contentRoot,u=i.width(),f=i.height(),n=i.find("img"),e=t.options.ViewModel,h=e.SizeMode,o=e.HorizontalAlignment||"Right",s=e.VerticalAlignment||"Top",r;switch(h){case"Clip":i.css({overflow:"hidden"}),t._setHorizontalAlignment(n,o),t._setVerticalAlignment(n,s);break;case"Stretch":n.css({width:"100%",height:"100%"});break;case"Squeeze":n.height()>f||n.width()>u?r=t._setImgSizeWithProportions(n,f/u):(t._setHorizontalAlignment(n,o),t._setVerticalAlignment(n,s));break;case"Zoom":r=t._setImgSizeWithProportions(n,f/u)}r==="horizontalCentering"&&t._setHorizontalAlignment(n,o),r==="verticalCentering"&&t._setVerticalAlignment(n,s)},_setHorizontalAlignment:function(n,t){if(t==="Center"){n.css({marginLeft:(this.$contentRoot.width()-n.width())/2});return}n.attr("align",t.toLowerCase())},_setVerticalAlignment:function(n,t){var i,r=this.$contentRoot.height()-n.height();switch(t){case"Bottom":i=1;break;case"Center":i=.5;break;case"Top":i=0}n.css({marginTop:Math.floor(r*i)+"px"})},_setImgSizeWithProportions:function(n,t){var i=n.height()/n.width();return i>t?(n.height("100%"),n.width(Math.floor(n.height()/i)),"horizontalCentering"):(n.width("100%"),n.height(Math.floor(n.width()*i)),"verticalCentering")},_getImageSource:function(n){if(n){var t=n.Url,i=n.SourceBase64String,r=n.MimeType||"";if(i)return"data:"+r+";base64,"+i;if(t)return t}return""},_resize:function(){this.callBase(),this._applyStyleSettings(),this._loadedImgProcessing()}})}(jQuery,DevExpress),function(n,t){var u=t.dashboard,r=u.viewerItems;r.textItem=r.baseItem.inherit({renderContent:function(){var i=this.options,t=n("<div>");t[0].innerHTML=i.ViewModel.Html.replace("<body>","<div>").replace("<\/body>","<\/div>"),this.$contentRoot.append(t)}})}(jQuery,DevExpress),function(n,t,i){var e=t.Class,r=t.dashboard,f=r.data.formatter,u=r.viewerItems;u.dataGridItem=u.baseItem.inherit({ctor:function(n){this.callBase(n)},GridTextAlignment:{Left:"Left",Right:"Right",Center:"Center"},ValueDataType:{String:"String",Numeric:"Numeric",DateType:"DateType"},clearSelection:function(){this.dataGrid&&this.dataGrid.selectedRows([])},renderContent:function(){if(this.options){this.listSource=new r.data.listSource(this.options.DataSource,this.options.DataSourceMembers);var n=this._getGridViewOptions();this.dataGrid=new t.ui.dxDataGrid(this.$contentRoot,n),this._applyDataGridStyles(this.options.ViewModel),this._applySelection(n.dataSource)}},_applyDataGridStyles:function(n){n&&(n.EnableBandedRows&&this.$contentRoot.addClass("dx-banded-rows"),n.ShowHorizontalLines&&this.$contentRoot.addClass("dx-horizontal-border"),n.ShowVerticalLines||this.$contentRoot.addClass("dx-hide-vertical-border"),this.$contentRoot.addClass("dx-datagrid-selection"))},updateContentState:function(){var t=this.dataGrid.option("selectionMode"),n=this._canSelect()?"single":"none";n!==t&&this.dataGrid.option("selectionMode",n)},getInfo:function(){var r=this,t=this.dataGrid.hasScroll(),u=this.dataGrid.getScrollRowData(),i=[];return t&&n.each(this.options.ViewModel.RowIdentificatorDataMembers,function(n,t){var f=u[r._correctFieldName(t)];i.push(f)}),n.extend(!0,this.callBase(),{scroll:{horizontal:!1,vertical:t,topPath:i}})},_getGridViewOptions:function(){if(!this.options.ViewModel)return{};var r=this.options.ViewModel,n={},t=this._initialize(),u=this._getFieldNames(t),i=this;return n.dataSource=this._getDataSource(u,t.deltaColumns),n.columns=this._getColumns(t),n.showHeaders=r.ShowColumnHeaders,n.sortable=!0,n.selectionMode=this._canSelect()?"single":"none",n.paginate=!1,n.showRowHover=!1,n.searchPanel=!1,n.rowClick=function(){i.dataGrid.selectedRows().done(function(n){n.length&&i._onSelected(i._getRowsValues(n))})},n},_getSelectedMembers:function(){var n=this.options.ViewModel.SelectionDataMembers,r=!0,t,u=n?n.length:0,i="";if(n)for(t=0;t<u;t++)r?r=!1:i+=";",i+=this._correctFieldName(n[t]);return i},_buildSelectedValuesArray:function(){var u=this.options.ViewModel,r=u?u.SelectionDataMembers:i,n=this._getSelectedValues(),f,e=[],t;if(r&&n&&n.length>0&&n.length===r.length)for(f=n.length,t=0;t<f;t++)e.push({fieldName:this._correctFieldName(r[t]),value:n[t]});return e},_getRowsValues:function(n){var t,i=this._getSelectedMembers().split(";"),r=[],u=i.length;if(u===1)return n[0][i[0]];for(t=0;t<u;t++)r.push(n[0][i[t]]);return r},_getFocusedIndex:function(){var o=this,u=this.listSource,f=this._buildSelectedValuesArray(),t,e,i=[],r=[];if(f.length)for(e=u.rowCount,t=0;t<e;t++)if(i=[],r=[],n.each(f,function(){i.push(u.getRowValue(t,this.fieldName)),r.push(this.value)}),this._checkValuesAreEqual(r,i))return t;return-1},_renderDelta:function(t,i){t.innerHTML="";var r=DevExpress.viz.indicators.DeltaIndicator,u=n("<div>",{css:{float:"right"}}).appendTo(t),f=r.getIndicatorColorType(i.type,i.hasPositiveMeaning,i.text.useDefaultColor),o=n("<span>",{"class":f,css:{float:"left","margin-right":"10px"},text:i.text.value}).appendTo(u),e=n("<div>",{css:{float:"right","margin-top":"3px",width:"16px",height:"12px"}}).appendTo(u);new r({container:e,type:i.type,hasPositiveMeaning:i.hasPositiveMeaning})},_renderBar:function(n,t,i){n[0].innerHTML="<div title='"+t+"' class='dx-dashboard-bar' style='width:"+i*100+"%'><\/div"},_getFieldNames:function(t){for(var f=this.options.ViewModel,i=[],e=f.Columns,c=e?e.length:0,u=f.SelectionDataMembers,l=u?u.length:0,o,s,h=function(n,t){for(var r=t.length,i=0;i<r;i++)n.push(t[i]);return n},r=0;r<c;r++)o=e[r].DataMember,n.inArray(o,i)==-1&&i.push(o);if(f.SelectionDataMembers)for(r=0;r<l;r++)n.inArray(u[r],i)==-1&&i.push(u[r]);return s=this._getKeys(t.deltaColumns),s.length&&(i=h(i,s)),t.barColumns.length&&(i=h(i,t.barColumns)),i},_getDataSource:function(n,t){for(var h=[],f=this.listSource,c=f.rowCount,o,s,l=n.length,e,r,a=function(n){var t=["none","up","down","warning"];return t[n]},u=0;u<c;u++){for(o={},s=0;s<l;s++)e=n[s],r=t[e],o[this._correctFieldName(e)]=r===i?f.getRowValue(u,e):{type:a(f.getRowValue(u,r.DeltaDataMembers.IndicatorTypeDataMember)),hasPositiveMeaning:f.getRowValue(u,r.DeltaDataMembers.IsGoodDataMember),text:{value:f.getFormattedRowValue(u,r.DataMember,r.Format.NumericFormat),useDefaultColor:r.IgnoreDeltaColor}};h.push(o)}return h},_getKeys:function(t){return t?Object.keys?Object.keys(t):n.map(t,function(n,t){return t}):[]},_correctFieldName:function(n){return n?n.replace(/-/g,"_"):n},_getColumns:function(n){for(var h=this,a=this.options.ViewModel,i=a.Columns,v=i?i.length:0,r,c=[],e,u,b,o,l,s=this.GridTextAlignment,y=this.ValueDataType,p=function(n){return function(t,i){h._renderDelta(t,i.data[n])}},w=function(n){var t=n.NormalizedValueDataMember,i=n.ZeroPositionDataMember;return function(n,r){h._renderBar(n,r.text,r.data[t],r.data[i])}},t=0;t<v;t++)r=null,e=this._correctFieldName(i[t].DataMember),o=this._correctFieldName(e)+"_Delta",n.deltaColumns[o]&&(r=p(o)),u=i[t].BarViewModel,u&&(r=w(u)),l=i[t].Format.DataType==y.Numeric&&!u?s.Right:s.Left,c.push({dataField:e,title:i[t].Caption,format:f.convertToFormat(i[t].Format),headerAlignment:s.Left.toLowerCase(),template:r,alignment:l.toLowerCase()});return c},_applySelection:function(n){var t=this._getFocusedIndex();t>=0&&this.dataGrid.selectedRows(n[t])},_initialize:function(){for(var o=this.options.ViewModel,r={},t=o.Columns,s=t?t.length:0,f,i,u=[],e={},n=0;n<s;n++)i=t[n].BarViewModel,i&&(u.push(i.NormalizedValueDataMember),u.push(i.ZeroPositionDataMember)),f=t[n].DeltaDataMembers,f&&(e[this._correctFieldName(t[n].DataMember)+"_Delta"]=t[n]);return r.barColumns=u,r.deltaColumns=e,r},_resize:function(){this.callBase(),this.dataGrid.resize()}})}(jQuery,DevExpress),function(n,t){var r=t.ui,u=t.viz;r.registerComponent("dxWidgetsViewer",u.WidgetsViewer)}(jQuery,DevExpress),function(n,t){var r=t.ui,u=t.dashboard;r.registerComponent("dxDashboardViewer",u.DashboardViewer)}(jQuery,DevExpress),function(n,t){var r=t.ui,u=t.dashboard;r.registerComponent("dxPivotGrid",u.PivotGrid)}(jQuery,DevExpress);35
/*
 * Globalize Cultures
 *
 * http://github.com/jquery/globalize
 *
 * Copyright Software Freedom Conservancy, Inc.
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * This file was generated by the Globalize Culture Generator
 * Translation: bugs found in this file need to be fixed in the generator
 */

(function( window, undefined ) {

var Globalize;

if ( typeof require !== "undefined" &&
	typeof exports !== "undefined" &&
	typeof module !== "undefined" ) {
	// Assume CommonJS
	Globalize = require( "globalize" );
} else {
	// Global variable
	Globalize = window.Globalize;
}

Globalize.addCultureInfo( "ar", "default", {
	name: "ar",
	englishName: "Arabic",
	nativeName: "العربية",
	language: "ar",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		"NaN": "ليس برقم",
		negativeInfinity: "-لا نهاية",
		positiveInfinity: "+لا نهاية",
		currency: {
			pattern: ["$n-","$ n"],
			symbol: "ر.س.\u200f"
		}
	},
	calendars: {
		standard: {
			name: "UmAlQura",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MMMM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MMMM/yyyy hh:mm tt",
				F: "dd/MMMM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    _yearInfo: [
                        // MonthLengthFlags, Gregorian Date
                        [746, -2198707200000],
                        [1769, -2168121600000],
                        [3794, -2137449600000],
                        [3748, -2106777600000],
                        [3402, -2076192000000],
                        [2710, -2045606400000],
                        [1334, -2015020800000],
                        [2741, -1984435200000],
                        [3498, -1953763200000],
                        [2980, -1923091200000],
                        [2889, -1892505600000],
                        [2707, -1861920000000],
                        [1323, -1831334400000],
                        [2647, -1800748800000],
                        [1206, -1770076800000],
                        [2741, -1739491200000],
                        [1450, -1708819200000],
                        [3413, -1678233600000],
                        [3370, -1647561600000],
                        [2646, -1616976000000],
                        [1198, -1586390400000],
                        [2397, -1555804800000],
                        [748, -1525132800000],
                        [1749, -1494547200000],
                        [1706, -1463875200000],
                        [1365, -1433289600000],
                        [1195, -1402704000000],
                        [2395, -1372118400000],
                        [698, -1341446400000],
                        [1397, -1310860800000],
                        [2994, -1280188800000],
                        [1892, -1249516800000],
                        [1865, -1218931200000],
                        [1621, -1188345600000],
                        [683, -1157760000000],
                        [1371, -1127174400000],
                        [2778, -1096502400000],
                        [1748, -1065830400000],
                        [3785, -1035244800000],
                        [3474, -1004572800000],
                        [3365, -973987200000],
                        [2637, -943401600000],
                        [685, -912816000000],
                        [1389, -882230400000],
                        [2922, -851558400000],
                        [2898, -820886400000],
                        [2725, -790300800000],
                        [2635, -759715200000],
                        [1175, -729129600000],
                        [2359, -698544000000],
                        [694, -667872000000],
                        [1397, -637286400000],
                        [3434, -606614400000],
                        [3410, -575942400000],
                        [2710, -545356800000],
                        [2349, -514771200000],
                        [605, -484185600000],
                        [1245, -453600000000],
                        [2778, -422928000000],
                        [1492, -392256000000],
                        [3497, -361670400000],
                        [3410, -330998400000],
                        [2730, -300412800000],
                        [1238, -269827200000],
                        [2486, -239241600000],
                        [884, -208569600000],
                        [1897, -177984000000],
                        [1874, -147312000000],
                        [1701, -116726400000],
                        [1355, -86140800000],
                        [2731, -55555200000],
                        [1370, -24883200000],
                        [2773, 5702400000],
                        [3538, 36374400000],
                        [3492, 67046400000],
                        [3401, 97632000000],
                        [2709, 128217600000],
                        [1325, 158803200000],
                        [2653, 189388800000],
                        [1370, 220060800000],
                        [2773, 250646400000],
                        [1706, 281318400000],
                        [1685, 311904000000],
                        [1323, 342489600000],
                        [2647, 373075200000],
                        [1198, 403747200000],
                        [2422, 434332800000],
                        [1388, 465004800000],
                        [2901, 495590400000],
                        [2730, 526262400000],
                        [2645, 556848000000],
                        [1197, 587433600000],
                        [2397, 618019200000],
                        [730, 648691200000],
                        [1497, 679276800000],
                        [3506, 709948800000],
                        [2980, 740620800000],
                        [2890, 771206400000],
                        [2645, 801792000000],
                        [693, 832377600000],
                        [1397, 862963200000],
                        [2922, 893635200000],
                        [3026, 924307200000],
                        [3012, 954979200000],
                        [2953, 985564800000],
                        [2709, 1016150400000],
                        [1325, 1046736000000],
                        [1453, 1077321600000],
                        [2922, 1107993600000],
                        [1748, 1138665600000],
                        [3529, 1169251200000],
                        [3474, 1199923200000],
                        [2726, 1230508800000],
                        [2390, 1261094400000],
                        [686, 1291680000000],
                        [1389, 1322265600000],
                        [874, 1352937600000],
                        [2901, 1383523200000],
                        [2730, 1414195200000],
                        [2381, 1444780800000],
                        [1181, 1475366400000],
                        [2397, 1505952000000],
                        [698, 1536624000000],
                        [1461, 1567209600000],
                        [1450, 1597881600000],
                        [3413, 1628467200000],
                        [2714, 1659139200000],
                        [2350, 1689724800000],
                        [622, 1720310400000],
                        [1373, 1750896000000],
                        [2778, 1781568000000],
                        [1748, 1812240000000],
                        [1701, 1842825600000],
                        [0, 1873411200000]
                    ],
                    minDate: -2198707200000,
                    maxDate: 1873411199999,
                    toGregorian: function(hyear, hmonth, hday) {
                        var days = hday - 1,
                            gyear = hyear - 1318;
                        if (gyear < 0 || gyear >= this._yearInfo.length) return null;
                        var info = this._yearInfo[gyear],
                            gdate = new Date(info[1]),
                            monthLength = info[0];
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the gregorian date in the same timezone,
                        // not what the gregorian date was at GMT time, so we adjust for the offset.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        for (var i = 0; i < hmonth; i++) {
                            days += 29 + (monthLength & 1);
                            monthLength = monthLength >> 1;
                        }
                        gdate.setDate(gdate.getDate() + days);
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the hijri date in the same timezone,
                        // not what the hijri date was at GMT time, so we adjust for the offset.
                        var ticks = gdate - gdate.getTimezoneOffset() * 60000;
                        if (ticks < this.minDate || ticks > this.maxDate) return null;
                        var hyear = 0,
                            hmonth = 1;
                        // find the earliest gregorian date in the array that is greater than or equal to the given date
                        while (ticks > this._yearInfo[++hyear][1]) { }
                        if (ticks !== this._yearInfo[hyear][1]) {
                            hyear--;
                        }
                        var info = this._yearInfo[hyear],
                            // how many days has it been since the date we found in the array?
                            // 86400000 = ticks per day
                            days = Math.floor((ticks - info[1]) / 86400000),
                            monthLength = info[0];
                        hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
                        // now increment day/month based on the total days, considering
                        // how many days are in each month. We cannot run past the year
                        // mark since we would have found a different array entry in that case.
                        var daysInMonth = 29 + (monthLength & 1);
                        while (days >= daysInMonth) {
                            days -= daysInMonth;
                            monthLength = monthLength >> 1;
                            daysInMonth = 29 + (monthLength & 1);
                            hmonth++;
                        }
                        // remaining days is less than is in one month, thus is the day of the month we landed on
                        // hmonth-1 because in javascript months are zero based, stay consistent with that.
                        return [hyear, hmonth - 1, days + 1];
                    }
			}
		},
		Hijri: {
			name: "Hijri",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MM/yyyy hh:mm tt",
				F: "dd/MM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		Gregorian_MiddleEastFrench: {
			name: "Gregorian_MiddleEastFrench",
			firstDay: 6,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Gregorian_Arabic: {
			name: "Gregorian_Arabic",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
				namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		},
		Gregorian_Localized: {
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM, yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM, yyyy hh:mm tt",
				F: "dd MMMM, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Gregorian_TransliteratedFrench: {
			name: "Gregorian_TransliteratedFrench",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		}
	}
});

Globalize.addCultureInfo( "bg", "default", {
	name: "bg",
	englishName: "Bulgarian",
	nativeName: "български",
	language: "bg",
	numberFormat: {
		",": " ",
		".": ",",
		negativeInfinity: "- безкрайност",
		positiveInfinity: "+ безкрайност",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "лв."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["неделя","понеделник","вторник","сряда","четвъртък","петък","събота"],
				namesAbbr: ["нед","пон","вт","ср","четв","пет","съб"],
				namesShort: ["н","п","в","с","ч","п","с"]
			},
			months: {
				names: ["януари","февруари","март","април","май","юни","юли","август","септември","октомври","ноември","декември",""],
				namesAbbr: ["ян","февр","март","апр","май","юни","юли","авг","септ","окт","ноември","дек",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"след новата ера","start":null,"offset":0}],
			patterns: {
				d: "d.M.yyyy 'г.'",
				D: "dd MMMM yyyy 'г.'",
				t: "HH:mm 'ч.'",
				T: "HH:mm:ss 'ч.'",
				f: "dd MMMM yyyy 'г.' HH:mm 'ч.'",
				F: "dd MMMM yyyy 'г.' HH:mm:ss 'ч.'",
				M: "dd MMMM",
				Y: "MMMM yyyy 'г.'"
			}
		}
	}
});

Globalize.addCultureInfo( "ca", "default", {
	name: "ca",
	englishName: "Catalan",
	nativeName: "català",
	language: "ca",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "NeuN",
		negativeInfinity: "-Infinit",
		positiveInfinity: "Infinit",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],
				namesAbbr: ["dg.","dl.","dt.","dc.","dj.","dv.","ds."],
				namesShort: ["dg","dl","dt","dc","dj","dv","ds"]
			},
			months: {
				names: ["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre",""],
				namesAbbr: ["gen","feb","març","abr","maig","juny","jul","ag","set","oct","nov","des",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, d' / 'MMMM' / 'yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd, d' / 'MMMM' / 'yyyy HH:mm",
				F: "dddd, d' / 'MMMM' / 'yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM' / 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "zh-Hans", "default", {
	name: "zh-Hans",
	englishName: "Chinese (Simplified)",
	nativeName: "中文(简体)",
	language: "zh-Hans",
	numberFormat: {
		"NaN": "非数字",
		negativeInfinity: "负无穷大",
		positiveInfinity: "正无穷大",
		percent: {
			pattern: ["-n%","n%"]
		},
		currency: {
			pattern: ["$-n","$n"],
			symbol: "¥"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],
				namesAbbr: ["周日","周一","周二","周三","周四","周五","周六"],
				namesShort: ["日","一","二","三","四","五","六"]
			},
			months: {
				names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""],
				namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""]
			},
			AM: ["上午","上午","上午"],
			PM: ["下午","下午","下午"],
			eras: [{"name":"公元","start":null,"offset":0}],
			patterns: {
				d: "yyyy/M/d",
				D: "yyyy'年'M'月'd'日'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy'年'M'月'd'日' H:mm",
				F: "yyyy'年'M'月'd'日' H:mm:ss",
				M: "M'月'd'日'",
				Y: "yyyy'年'M'月'"
			}
		}
	}
});

Globalize.addCultureInfo( "cs", "default", {
	name: "cs",
	englishName: "Czech",
	nativeName: "čeština",
	language: "cs",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "Není číslo",
		negativeInfinity: "-nekonečno",
		positiveInfinity: "+nekonečno",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "Kč"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],
				namesAbbr: ["ne","po","út","st","čt","pá","so"],
				namesShort: ["ne","po","út","st","čt","pá","so"]
			},
			months: {
				names: ["leden","únor","březen","duben","květen","červen","červenec","srpen","září","říjen","listopad","prosinec",""],
				namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""]
			},
			monthsGenitive: {
				names: ["ledna","února","března","dubna","května","června","července","srpna","září","října","listopadu","prosince",""],
				namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""]
			},
			AM: ["dop.","dop.","DOP."],
			PM: ["odp.","odp.","ODP."],
			eras: [{"name":"n. l.","start":null,"offset":0}],
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy H:mm",
				F: "d. MMMM yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "da", "default", {
	name: "da",
	englishName: "Danish",
	nativeName: "dansk",
	language: "da",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-INF",
		positiveInfinity: "INF",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["$ -n","$ n"],
			",": ".",
			".": ",",
			symbol: "kr."
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],
				namesAbbr: ["sø","ma","ti","on","to","fr","lø"],
				namesShort: ["sø","ma","ti","on","to","fr","lø"]
			},
			months: {
				names: ["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december",""],
				namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd-MM-yyyy",
				D: "d. MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "d. MMMM yyyy HH:mm",
				F: "d. MMMM yyyy HH:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "de", "default", {
	name: "de",
	englishName: "German",
	nativeName: "Deutsch",
	language: "de",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "n. def.",
		negativeInfinity: "-unendlich",
		positiveInfinity: "+unendlich",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],
				namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"],
				namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"]
			},
			months: {
				names: ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""],
				namesAbbr: ["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"n. Chr.","start":null,"offset":0}],
			patterns: {
				d: "dd.MM.yyyy",
				D: "dddd, d. MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd, d. MMMM yyyy HH:mm",
				F: "dddd, d. MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "el", "default", {
	name: "el",
	englishName: "Greek",
	nativeName: "Ελληνικά",
	language: "el",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "μη αριθμός",
		negativeInfinity: "-Άπειρο",
		positiveInfinity: "Άπειρο",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],
				namesAbbr: ["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],
				namesShort: ["Κυ","Δε","Τρ","Τε","Πε","Πα","Σά"]
			},
			months: {
				names: ["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος",""],
				namesAbbr: ["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ",""]
			},
			monthsGenitive: {
				names: ["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου",""],
				namesAbbr: ["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ",""]
			},
			AM: ["πμ","πμ","ΠΜ"],
			PM: ["μμ","μμ","ΜΜ"],
			eras: [{"name":"μ.Χ.","start":null,"offset":0}],
			patterns: {
				d: "d/M/yyyy",
				D: "dddd, d MMMM yyyy",
				f: "dddd, d MMMM yyyy h:mm tt",
				F: "dddd, d MMMM yyyy h:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "es", "default", {
	name: "es",
	englishName: "Spanish",
	nativeName: "español",
	language: "es",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sá"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd, dd' de 'MMMM' de 'yyyy H:mm",
				F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "fi", "default", {
	name: "fi",
	englishName: "Finnish",
	nativeName: "suomi",
	language: "fi",
	numberFormat: {
		",": " ",
		".": ",",
		negativeInfinity: "-INF",
		positiveInfinity: "INF",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"],
				namesAbbr: ["su","ma","ti","ke","to","pe","la"],
				namesShort: ["su","ma","ti","ke","to","pe","la"]
			},
			months: {
				names: ["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu",""],
				namesAbbr: ["tammi","helmi","maalis","huhti","touko","kesä","heinä","elo","syys","loka","marras","joulu",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM'ta 'yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM'ta 'yyyy H:mm",
				F: "d. MMMM'ta 'yyyy H:mm:ss",
				M: "d. MMMM'ta'",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "fr", "default", {
	name: "fr",
	englishName: "French",
	nativeName: "français",
	language: "fr",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "Non Numérique",
		negativeInfinity: "-Infini",
		positiveInfinity: "+Infini",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd d MMMM yyyy HH:mm",
				F: "dddd d MMMM yyyy HH:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "he", "default", {
	name: "he",
	englishName: "Hebrew",
	nativeName: "עברית",
	language: "he",
	isRTL: true,
	numberFormat: {
		"NaN": "לא מספר",
		negativeInfinity: "אינסוף שלילי",
		positiveInfinity: "אינסוף חיובי",
		percent: {
			pattern: ["-n%","n%"]
		},
		currency: {
			pattern: ["$-n","$ n"],
			symbol: "₪"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["יום ראשון","יום שני","יום שלישי","יום רביעי","יום חמישי","יום שישי","שבת"],
				namesAbbr: ["יום א","יום ב","יום ג","יום ד","יום ה","יום ו","שבת"],
				namesShort: ["א","ב","ג","ד","ה","ו","ש"]
			},
			months: {
				names: ["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר",""],
				namesAbbr: ["ינו","פבר","מרץ","אפר","מאי","יונ","יול","אוג","ספט","אוק","נוב","דצמ",""]
			},
			eras: [{"name":"לספירה","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd dd MMMM yyyy HH:mm",
				F: "dddd dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		},
		Hebrew: {
			name: "Hebrew",
			"/": " ",
			days: {
				names: ["יום ראשון","יום שני","יום שלישי","יום רביעי","יום חמישי","יום שישי","שבת"],
				namesAbbr: ["א","ב","ג","ד","ה","ו","ש"],
				namesShort: ["א","ב","ג","ד","ה","ו","ש"]
			},
			months: {
				names: ["תשרי","חשון","כסלו","טבת","שבט","אדר","אדר ב","ניסן","אייר","סיון","תמוז","אב","אלול"],
				namesAbbr: ["תשרי","חשון","כסלו","טבת","שבט","אדר","אדר ב","ניסן","אייר","סיון","תמוז","אב","אלול"]
			},
			eras: [{"name":"C.E.","start":null,"offset":0}],
			twoDigitYearMax: 5790,
			patterns: {
				d: "dd MMMM yyyy",
				D: "dddd dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd dd MMMM yyyy HH:mm",
				F: "dddd dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "hu", "default", {
	name: "hu",
	englishName: "Hungarian",
	nativeName: "magyar",
	language: "hu",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "nem szám",
		negativeInfinity: "negatív végtelen",
		positiveInfinity: "végtelen",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "Ft"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],
				namesAbbr: ["V","H","K","Sze","Cs","P","Szo"],
				namesShort: ["V","H","K","Sze","Cs","P","Szo"]
			},
			months: {
				names: ["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december",""],
				namesAbbr: ["jan.","febr.","márc.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec.",""]
			},
			AM: ["de.","de.","DE."],
			PM: ["du.","du.","DU."],
			eras: [{"name":"i.sz.","start":null,"offset":0}],
			patterns: {
				d: "yyyy.MM.dd.",
				D: "yyyy. MMMM d.",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy. MMMM d. H:mm",
				F: "yyyy. MMMM d. H:mm:ss",
				M: "MMMM d.",
				Y: "yyyy. MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "is", "default", {
	name: "is",
	englishName: "Icelandic",
	nativeName: "íslenska",
	language: "is",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-INF",
		positiveInfinity: "INF",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			decimals: 0,
			",": ".",
			".": ",",
			symbol: "kr."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["sunnudagur","mánudagur","þriðjudagur","miðvikudagur","fimmtudagur","föstudagur","laugardagur"],
				namesAbbr: ["sun.","mán.","þri.","mið.","fim.","fös.","lau."],
				namesShort: ["su","má","þr","mi","fi","fö","la"]
			},
			months: {
				names: ["janúar","febrúar","mars","apríl","maí","júní","júlí","ágúst","september","október","nóvember","desember",""],
				namesAbbr: ["jan.","feb.","mar.","apr.","maí","jún.","júl.","ágú.","sep.","okt.","nóv.","des.",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "d. MMMM yyyy HH:mm",
				F: "d. MMMM yyyy HH:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "it", "default", {
	name: "it",
	englishName: "Italian",
	nativeName: "italiano",
	language: "it",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "Non un numero reale",
		negativeInfinity: "-Infinito",
		positiveInfinity: "+Infinito",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-$ n","$ n"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"],
				namesAbbr: ["dom","lun","mar","mer","gio","ven","sab"],
				namesShort: ["do","lu","ma","me","gi","ve","sa"]
			},
			months: {
				names: ["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre",""],
				namesAbbr: ["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd d MMMM yyyy HH:mm",
				F: "dddd d MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ja", "default", {
	name: "ja",
	englishName: "Japanese",
	nativeName: "日本語",
	language: "ja",
	numberFormat: {
		"NaN": "NaN (非数値)",
		negativeInfinity: "-∞",
		positiveInfinity: "+∞",
		percent: {
			pattern: ["-n%","n%"]
		},
		currency: {
			pattern: ["-$n","$n"],
			decimals: 0,
			symbol: "¥"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],
				namesAbbr: ["日","月","火","水","木","金","土"],
				namesShort: ["日","月","火","水","木","金","土"]
			},
			months: {
				names: ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月",""],
				namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""]
			},
			AM: ["午前","午前","午前"],
			PM: ["午後","午後","午後"],
			eras: [{"name":"西暦","start":null,"offset":0}],
			patterns: {
				d: "yyyy/MM/dd",
				D: "yyyy'年'M'月'd'日'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy'年'M'月'd'日' H:mm",
				F: "yyyy'年'M'月'd'日' H:mm:ss",
				M: "M'月'd'日'",
				Y: "yyyy'年'M'月'"
			}
		},
		Japanese: {
			name: "Japanese",
			days: {
				names: ["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],
				namesAbbr: ["日","月","火","水","木","金","土"],
				namesShort: ["日","月","火","水","木","金","土"]
			},
			months: {
				names: ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月",""],
				namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""]
			},
			AM: ["午前","午前","午前"],
			PM: ["午後","午後","午後"],
			eras: [{"name":"平成","start":null,"offset":1867},{"name":"昭和","start":-1812153600000,"offset":1911},{"name":"大正","start":-1357603200000,"offset":1925},{"name":"明治","start":60022080000,"offset":1988}],
			twoDigitYearMax: 99,
			patterns: {
				d: "gg y/M/d",
				D: "gg y'年'M'月'd'日'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "gg y'年'M'月'd'日' H:mm",
				F: "gg y'年'M'月'd'日' H:mm:ss",
				M: "M'月'd'日'",
				Y: "gg y'年'M'月'"
			}
		}
	}
});

Globalize.addCultureInfo( "ko", "default", {
	name: "ko",
	englishName: "Korean",
	nativeName: "한국어",
	language: "ko",
	numberFormat: {
		currency: {
			pattern: ["-$n","$n"],
			decimals: 0,
			symbol: "₩"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			days: {
				names: ["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],
				namesAbbr: ["일","월","화","수","목","금","토"],
				namesShort: ["일","월","화","수","목","금","토"]
			},
			months: {
				names: ["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월",""],
				namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""]
			},
			AM: ["오전","오전","오전"],
			PM: ["오후","오후","오후"],
			eras: [{"name":"서기","start":null,"offset":0}],
			patterns: {
				d: "yyyy-MM-dd",
				D: "yyyy'년' M'월' d'일' dddd",
				t: "tt h:mm",
				T: "tt h:mm:ss",
				f: "yyyy'년' M'월' d'일' dddd tt h:mm",
				F: "yyyy'년' M'월' d'일' dddd tt h:mm:ss",
				M: "M'월' d'일'",
				Y: "yyyy'년' M'월'"
			}
		},
		Korean: {
			name: "Korean",
			"/": "-",
			days: {
				names: ["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],
				namesAbbr: ["일","월","화","수","목","금","토"],
				namesShort: ["일","월","화","수","목","금","토"]
			},
			months: {
				names: ["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월",""],
				namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""]
			},
			AM: ["오전","오전","오전"],
			PM: ["오후","오후","오후"],
			eras: [{"name":"단기","start":null,"offset":-2333}],
			twoDigitYearMax: 4362,
			patterns: {
				d: "gg yyyy-MM-dd",
				D: "gg yyyy'년' M'월' d'일' dddd",
				t: "tt h:mm",
				T: "tt h:mm:ss",
				f: "gg yyyy'년' M'월' d'일' dddd tt h:mm",
				F: "gg yyyy'년' M'월' d'일' dddd tt h:mm:ss",
				M: "M'월' d'일'",
				Y: "gg yyyy'년' M'월'"
			}
		}
	}
});

Globalize.addCultureInfo( "nl", "default", {
	name: "nl",
	englishName: "Dutch",
	nativeName: "Nederlands",
	language: "nl",
	numberFormat: {
		",": ".",
		".": ",",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["$ -n","$ n"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],
				namesAbbr: ["zo","ma","di","wo","do","vr","za"],
				namesShort: ["zo","ma","di","wo","do","vr","za"]
			},
			months: {
				names: ["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december",""],
				namesAbbr: ["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d-M-yyyy",
				D: "dddd d MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd d MMMM yyyy H:mm",
				F: "dddd d MMMM yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "no", "default", {
	name: "no",
	englishName: "Norwegian",
	nativeName: "norsk",
	language: "no",
	numberFormat: {
		",": " ",
		".": ",",
		negativeInfinity: "-INF",
		positiveInfinity: "INF",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["$ -n","$ n"],
			",": " ",
			".": ",",
			symbol: "kr"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],
				namesAbbr: ["sø","ma","ti","on","to","fr","lø"],
				namesShort: ["sø","ma","ti","on","to","fr","lø"]
			},
			months: {
				names: ["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember",""],
				namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d. MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "d. MMMM yyyy HH:mm",
				F: "d. MMMM yyyy HH:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "pl", "default", {
	name: "pl",
	englishName: "Polish",
	nativeName: "polski",
	language: "pl",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "nie jest liczbą",
		negativeInfinity: "-nieskończoność",
		positiveInfinity: "+nieskończoność",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "zł"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"],
				namesAbbr: ["N","Pn","Wt","Śr","Cz","Pt","So"],
				namesShort: ["N","Pn","Wt","Śr","Cz","Pt","So"]
			},
			months: {
				names: ["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień",""],
				namesAbbr: ["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru",""]
			},
			monthsGenitive: {
				names: ["stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","września","października","listopada","grudnia",""],
				namesAbbr: ["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "yyyy-MM-dd",
				D: "d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "d MMMM yyyy HH:mm",
				F: "d MMMM yyyy HH:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "pt", "default", {
	name: "pt",
	englishName: "Portuguese",
	nativeName: "Português",
	language: "pt",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "NaN (Não é um número)",
		negativeInfinity: "-Infinito",
		positiveInfinity: "+Infinito",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-$ n","$ n"],
			",": ".",
			".": ",",
			symbol: "R$"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"],
				namesAbbr: ["dom","seg","ter","qua","qui","sex","sáb"],
				namesShort: ["D","S","T","Q","Q","S","S"]
			},
			months: {
				names: ["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro",""],
				namesAbbr: ["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, d' de 'MMMM' de 'yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd, d' de 'MMMM' de 'yyyy HH:mm",
				F: "dddd, d' de 'MMMM' de 'yyyy HH:mm:ss",
				M: "dd' de 'MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "rm", "default", {
	name: "rm",
	englishName: "Romansh",
	nativeName: "Rumantsch",
	language: "rm",
	numberFormat: {
		",": "'",
		"NaN": "betg def.",
		negativeInfinity: "-infinit",
		positiveInfinity: "+infinit",
		percent: {
			pattern: ["-n%","n%"],
			",": "'"
		},
		currency: {
			pattern: ["$-n","$ n"],
			",": "'",
			symbol: "fr."
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["dumengia","glindesdi","mardi","mesemna","gievgia","venderdi","sonda"],
				namesAbbr: ["du","gli","ma","me","gie","ve","so"],
				namesShort: ["du","gli","ma","me","gie","ve","so"]
			},
			months: {
				names: ["schaner","favrer","mars","avrigl","matg","zercladur","fanadur","avust","settember","october","november","december",""],
				namesAbbr: ["schan","favr","mars","avr","matg","zercl","fan","avust","sett","oct","nov","dec",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"s. Cr.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd, d MMMM yyyy HH:mm",
				F: "dddd, d MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ro", "default", {
	name: "ro",
	englishName: "Romanian",
	nativeName: "română",
	language: "ro",
	numberFormat: {
		",": ".",
		".": ",",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "lei"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["duminică","luni","marţi","miercuri","joi","vineri","sâmbătă"],
				namesAbbr: ["D","L","Ma","Mi","J","V","S"],
				namesShort: ["D","L","Ma","Mi","J","V","S"]
			},
			months: {
				names: ["ianuarie","februarie","martie","aprilie","mai","iunie","iulie","august","septembrie","octombrie","noiembrie","decembrie",""],
				namesAbbr: ["ian.","feb.","mar.","apr.","mai.","iun.","iul.","aug.","sep.","oct.","nov.","dec.",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "d MMMM yyyy HH:mm",
				F: "d MMMM yyyy HH:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ru", "default", {
	name: "ru",
	englishName: "Russian",
	nativeName: "русский",
	language: "ru",
	numberFormat: {
		",": " ",
		".": ",",
		negativeInfinity: "-бесконечность",
		positiveInfinity: "бесконечность",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n$","n$"],
			",": " ",
			".": ",",
			symbol: "р."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],
				namesAbbr: ["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],
				namesShort: ["Вс","Пн","Вт","Ср","Чт","Пт","Сб"]
			},
			months: {
				names: ["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь",""],
				namesAbbr: ["янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек",""]
			},
			monthsGenitive: {
				names: ["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря",""],
				namesAbbr: ["янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d MMMM yyyy 'г.'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM yyyy 'г.' H:mm",
				F: "d MMMM yyyy 'г.' H:mm:ss",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "hr", "default", {
	name: "hr",
	englishName: "Croatian",
	nativeName: "hrvatski",
	language: "hr",
	numberFormat: {
		pattern: ["- n"],
		",": ".",
		".": ",",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "kn"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"],
				namesAbbr: ["ned","pon","uto","sri","čet","pet","sub"],
				namesShort: ["ne","po","ut","sr","če","pe","su"]
			},
			months: {
				names: ["siječanj","veljača","ožujak","travanj","svibanj","lipanj","srpanj","kolovoz","rujan","listopad","studeni","prosinac",""],
				namesAbbr: ["sij","vlj","ožu","tra","svi","lip","srp","kol","ruj","lis","stu","pro",""]
			},
			monthsGenitive: {
				names: ["siječnja","veljače","ožujka","travnja","svibnja","lipnja","srpnja","kolovoza","rujna","listopada","studenog","prosinca",""],
				namesAbbr: ["sij","vlj","ožu","tra","svi","lip","srp","kol","ruj","lis","stu","pro",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d.M.yyyy.",
				D: "d. MMMM yyyy.",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy. H:mm",
				F: "d. MMMM yyyy. H:mm:ss",
				M: "d. MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "sk", "default", {
	name: "sk",
	englishName: "Slovak",
	nativeName: "slovenčina",
	language: "sk",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "Nie je číslo",
		negativeInfinity: "-nekonečno",
		positiveInfinity: "+nekonečno",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": ". ",
			firstDay: 1,
			days: {
				names: ["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"],
				namesAbbr: ["ne","po","ut","st","št","pi","so"],
				namesShort: ["ne","po","ut","st","št","pi","so"]
			},
			months: {
				names: ["január","február","marec","apríl","máj","jún","júl","august","september","október","november","december",""],
				namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""]
			},
			monthsGenitive: {
				names: ["januára","februára","marca","apríla","mája","júna","júla","augusta","septembra","októbra","novembra","decembra",""],
				namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"n. l.","start":null,"offset":0}],
			patterns: {
				d: "d. M. yyyy",
				D: "d. MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy H:mm",
				F: "d. MMMM yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "sq", "default", {
	name: "sq",
	englishName: "Albanian",
	nativeName: "shqipe",
	language: "sq",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-infinit",
		positiveInfinity: "infinit",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n$","n$"],
			",": ".",
			".": ",",
			symbol: "Lek"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["e diel","e hënë","e martë","e mërkurë","e enjte","e premte","e shtunë"],
				namesAbbr: ["Die","Hën","Mar","Mër","Enj","Pre","Sht"],
				namesShort: ["Di","Hë","Ma","Më","En","Pr","Sh"]
			},
			months: {
				names: ["janar","shkurt","mars","prill","maj","qershor","korrik","gusht","shtator","tetor","nëntor","dhjetor",""],
				namesAbbr: ["Jan","Shk","Mar","Pri","Maj","Qer","Kor","Gsh","Sht","Tet","Nën","Dhj",""]
			},
			AM: ["PD","pd","PD"],
			PM: ["MD","md","MD"],
			patterns: {
				d: "yyyy-MM-dd",
				D: "yyyy-MM-dd",
				t: "h:mm.tt",
				T: "h:mm:ss.tt",
				f: "yyyy-MM-dd h:mm.tt",
				F: "yyyy-MM-dd h:mm:ss.tt",
				Y: "yyyy-MM"
			}
		}
	}
});

Globalize.addCultureInfo( "sv", "default", {
	name: "sv",
	englishName: "Swedish",
	nativeName: "svenska",
	language: "sv",
	numberFormat: {
		",": " ",
		".": ",",
		negativeInfinity: "-INF",
		positiveInfinity: "INF",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "kr"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],
				namesAbbr: ["sö","må","ti","on","to","fr","lö"],
				namesShort: ["sö","må","ti","on","to","fr","lö"]
			},
			months: {
				names: ["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december",""],
				namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "yyyy-MM-dd",
				D: "'den 'd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "'den 'd MMMM yyyy HH:mm",
				F: "'den 'd MMMM yyyy HH:mm:ss",
				M: "'den 'd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "th", "default", {
	name: "th",
	englishName: "Thai",
	nativeName: "ไทย",
	language: "th",
	numberFormat: {
		currency: {
			pattern: ["-$n","$n"],
			symbol: "฿"
		}
	},
	calendars: {
		standard: {
			name: "ThaiBuddhist",
			firstDay: 1,
			days: {
				names: ["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์"],
				namesAbbr: ["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],
				namesShort: ["อ","จ","อ","พ","พ","ศ","ส"]
			},
			months: {
				names: ["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม",""],
				namesAbbr: ["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.",""]
			},
			eras: [{"name":"พ.ศ.","start":null,"offset":-543}],
			twoDigitYearMax: 2572,
			patterns: {
				d: "d/M/yyyy",
				D: "d MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM yyyy H:mm",
				F: "d MMMM yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		},
		Gregorian_Localized: {
			firstDay: 1,
			days: {
				names: ["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์"],
				namesAbbr: ["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],
				namesShort: ["อ","จ","อ","พ","พ","ศ","ส"]
			},
			months: {
				names: ["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม",""],
				namesAbbr: ["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.",""]
			},
			patterns: {
				d: "d/M/yyyy",
				D: "'วัน'dddd'ที่' d MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "'วัน'dddd'ที่' d MMMM yyyy H:mm",
				F: "'วัน'dddd'ที่' d MMMM yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "tr", "default", {
	name: "tr",
	englishName: "Turkish",
	nativeName: "Türkçe",
	language: "tr",
	numberFormat: {
		",": ".",
		".": ",",
		percent: {
			pattern: ["-%n","%n"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "TL"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],
				namesAbbr: ["Paz","Pzt","Sal","Çar","Per","Cum","Cmt"],
				namesShort: ["Pz","Pt","Sa","Ça","Pe","Cu","Ct"]
			},
			months: {
				names: ["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık",""],
				namesAbbr: ["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "dd MMMM yyyy dddd",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy dddd HH:mm",
				F: "dd MMMM yyyy dddd HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ur", "default", {
	name: "ur",
	englishName: "Urdu",
	nativeName: "اُردو",
	language: "ur",
	isRTL: true,
	numberFormat: {
		currency: {
			pattern: ["$n-","$n"],
			symbol: "Rs"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["اتوار","پير","منگل","بدھ","جمعرات","جمعه","هفته"],
				namesAbbr: ["اتوار","پير","منگل","بدھ","جمعرات","جمعه","هفته"],
				namesShort: ["ا","پ","م","ب","ج","ج","ه"]
			},
			months: {
				names: ["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر",""],
				namesAbbr: ["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر",""]
			},
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM, yyyy",
				f: "dd MMMM, yyyy h:mm tt",
				F: "dd MMMM, yyyy h:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Hijri: {
			name: "Hijri",
			firstDay: 1,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				f: "dd/MM/yyyy h:mm tt",
				F: "dd/MM/yyyy h:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		}
	}
});

Globalize.addCultureInfo( "id", "default", {
	name: "id",
	englishName: "Indonesian",
	nativeName: "Bahasa Indonesia",
	language: "id",
	numberFormat: {
		",": ".",
		".": ",",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			decimals: 0,
			",": ".",
			".": ",",
			symbol: "Rp"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],
				namesAbbr: ["Minggu","Sen","Sel","Rabu","Kamis","Jumat","Sabtu"],
				namesShort: ["M","S","S","R","K","J","S"]
			},
			months: {
				names: ["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","Nopember","Desember",""],
				namesAbbr: ["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agust","Sep","Okt","Nop","Des",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dd MMMM yyyy H:mm",
				F: "dd MMMM yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "uk", "default", {
	name: "uk",
	englishName: "Ukrainian",
	nativeName: "українська",
	language: "uk",
	numberFormat: {
		",": " ",
		".": ",",
		negativeInfinity: "-безмежність",
		positiveInfinity: "безмежність",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n$","n$"],
			",": " ",
			".": ",",
			symbol: "₴"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["неділя","понеділок","вівторок","середа","четвер","п'ятниця","субота"],
				namesAbbr: ["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],
				namesShort: ["Нд","Пн","Вт","Ср","Чт","Пт","Сб"]
			},
			months: {
				names: ["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень",""],
				namesAbbr: ["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру",""]
			},
			monthsGenitive: {
				names: ["січня","лютого","березня","квітня","травня","червня","липня","серпня","вересня","жовтня","листопада","грудня",""],
				namesAbbr: ["січ","лют","бер","кві","тра","чер","лип","сер","вер","жов","лис","гру",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d MMMM yyyy' р.'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM yyyy' р.' H:mm",
				F: "d MMMM yyyy' р.' H:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy' р.'"
			}
		}
	}
});

Globalize.addCultureInfo( "be", "default", {
	name: "be",
	englishName: "Belarusian",
	nativeName: "Беларускі",
	language: "be",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "р."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["нядзеля","панядзелак","аўторак","серада","чацвер","пятніца","субота"],
				namesAbbr: ["нд","пн","аў","ср","чц","пт","сб"],
				namesShort: ["нд","пн","аў","ср","чц","пт","сб"]
			},
			months: {
				names: ["Студзень","Люты","Сакавік","Красавік","Май","Чэрвень","Ліпень","Жнівень","Верасень","Кастрычнік","Лістапад","Снежань",""],
				namesAbbr: ["Сту","Лют","Сак","Кра","Май","Чэр","Ліп","Жні","Вер","Кас","Ліс","Сне",""]
			},
			monthsGenitive: {
				names: ["студзеня","лютага","сакавіка","красавіка","мая","чэрвеня","ліпеня","жніўня","верасня","кастрычніка","лістапада","снежня",""],
				namesAbbr: ["Сту","Лют","Сак","Кра","Май","Чэр","Ліп","Жні","Вер","Кас","Ліс","Сне",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM yyyy H:mm",
				F: "d MMMM yyyy H:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "sl", "default", {
	name: "sl",
	englishName: "Slovenian",
	nativeName: "slovenski",
	language: "sl",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-neskončnost",
		positiveInfinity: "neskončnost",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["nedelja","ponedeljek","torek","sreda","četrtek","petek","sobota"],
				namesAbbr: ["ned","pon","tor","sre","čet","pet","sob"],
				namesShort: ["ne","po","to","sr","če","pe","so"]
			},
			months: {
				names: ["januar","februar","marec","april","maj","junij","julij","avgust","september","oktober","november","december",""],
				namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy H:mm",
				F: "d. MMMM yyyy H:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "et", "default", {
	name: "et",
	englishName: "Estonian",
	nativeName: "eesti",
	language: "et",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "avaldamatu",
		negativeInfinity: "miinuslõpmatus",
		positiveInfinity: "plusslõpmatus",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			symbol: "kr"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["pühapäev","esmaspäev","teisipäev","kolmapäev","neljapäev","reede","laupäev"],
				namesAbbr: ["P","E","T","K","N","R","L"],
				namesShort: ["P","E","T","K","N","R","L"]
			},
			months: {
				names: ["jaanuar","veebruar","märts","aprill","mai","juuni","juuli","august","september","oktoober","november","detsember",""],
				namesAbbr: ["jaan","veebr","märts","apr","mai","juuni","juuli","aug","sept","okt","nov","dets",""]
			},
			AM: ["EL","el","EL"],
			PM: ["PL","pl","PL"],
			patterns: {
				d: "d.MM.yyyy",
				D: "d. MMMM yyyy'. a.'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy'. a.' H:mm",
				F: "d. MMMM yyyy'. a.' H:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy'. a.'"
			}
		}
	}
});

Globalize.addCultureInfo( "lv", "default", {
	name: "lv",
	englishName: "Latvian",
	nativeName: "latviešu",
	language: "lv",
	numberFormat: {
		",": " ",
		".": ",",
		negativeInfinity: "-bezgalība",
		positiveInfinity: "bezgalība",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-$ n","$ n"],
			",": " ",
			".": ",",
			symbol: "Ls"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["svētdiena","pirmdiena","otrdiena","trešdiena","ceturtdiena","piektdiena","sestdiena"],
				namesAbbr: ["sv","pr","ot","tr","ce","pk","se"],
				namesShort: ["sv","pr","ot","tr","ce","pk","se"]
			},
			months: {
				names: ["janvāris","februāris","marts","aprīlis","maijs","jūnijs","jūlijs","augusts","septembris","oktobris","novembris","decembris",""],
				namesAbbr: ["jan","feb","mar","apr","mai","jūn","jūl","aug","sep","okt","nov","dec",""]
			},
			monthsGenitive: {
				names: ["janvārī","februārī","martā","aprīlī","maijā","jūnijā","jūlijā","augustā","septembrī","oktobrī","novembrī","decembrī",""],
				namesAbbr: ["jan","feb","mar","apr","mai","jūn","jūl","aug","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "yyyy.MM.dd.",
				D: "dddd, yyyy'. gada 'd. MMMM",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd, yyyy'. gada 'd. MMMM H:mm",
				F: "dddd, yyyy'. gada 'd. MMMM H:mm:ss",
				M: "d. MMMM",
				Y: "yyyy. MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "lt", "default", {
	name: "lt",
	englishName: "Lithuanian",
	nativeName: "lietuvių",
	language: "lt",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-begalybė",
		positiveInfinity: "begalybė",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "Lt"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["sekmadienis","pirmadienis","antradienis","trečiadienis","ketvirtadienis","penktadienis","šeštadienis"],
				namesAbbr: ["Sk","Pr","An","Tr","Kt","Pn","Št"],
				namesShort: ["S","P","A","T","K","Pn","Š"]
			},
			months: {
				names: ["sausis","vasaris","kovas","balandis","gegužė","birželis","liepa","rugpjūtis","rugsėjis","spalis","lapkritis","gruodis",""],
				namesAbbr: ["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rgp","Rgs","Spl","Lap","Grd",""]
			},
			monthsGenitive: {
				names: ["sausio","vasario","kovo","balandžio","gegužės","birželio","liepos","rugpjūčio","rugsėjo","spalio","lapkričio","gruodžio",""],
				namesAbbr: ["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rgp","Rgs","Spl","Lap","Grd",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "yyyy.MM.dd",
				D: "yyyy 'm.' MMMM d 'd.'",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "yyyy 'm.' MMMM d 'd.' HH:mm",
				F: "yyyy 'm.' MMMM d 'd.' HH:mm:ss",
				M: "MMMM d 'd.'",
				Y: "yyyy 'm.' MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "tg", "default", {
	name: "tg",
	englishName: "Tajik",
	nativeName: "Тоҷикӣ",
	language: "tg",
	numberFormat: {
		",": " ",
		".": ",",
		groupSizes: [3,0],
		negativeInfinity: "-бесконечность",
		positiveInfinity: "бесконечность",
		percent: {
			pattern: ["-n%","n%"],
			groupSizes: [3,0],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			groupSizes: [3,0],
			",": " ",
			".": ";",
			symbol: "т.р."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			days: {
				names: ["Яш","Душанбе","Сешанбе","Чоршанбе","Панҷшанбе","Ҷумъа","Шанбе"],
				namesAbbr: ["Яш","Дш","Сш","Чш","Пш","Ҷм","Шн"],
				namesShort: ["Яш","Дш","Сш","Чш","Пш","Ҷм","Шн"]
			},
			months: {
				names: ["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр",""],
				namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""]
			},
			monthsGenitive: {
				names: ["январи","феврали","марти","апрели","маи","июни","июли","августи","сентябри","октябри","ноябри","декабри",""],
				namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yy",
				D: "d MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM yyyy H:mm",
				F: "d MMMM yyyy H:mm:ss",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "fa", "default", {
	name: "fa",
	englishName: "Persian",
	nativeName: "فارسى",
	language: "fa",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		currency: {
			pattern: ["$n-","$ n"],
			".": "/",
			symbol: "ريال"
		}
	},
	calendars: {
		standard: {
			name: "Gregorian_TransliteratedFrench",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ق.ظ","ق.ظ","ق.ظ"],
			PM: ["ب.ظ","ب.ظ","ب.ظ"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		},
		Gregorian_Localized: {
			firstDay: 6,
			days: {
				names: ["يكشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],
				namesAbbr: ["يكشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],
				namesShort: ["ی","د","س","چ","پ","ج","ش"]
			},
			months: {
				names: ["ژانويه","فوريه","مارس","آوريل","مى","ژوئن","ژوئيه","اوت","سپتامبر","اُكتبر","نوامبر","دسامبر",""],
				namesAbbr: ["ژانويه","فوريه","مارس","آوريل","مى","ژوئن","ژوئيه","اوت","سپتامبر","اُكتبر","نوامبر","دسامبر",""]
			},
			AM: ["ق.ظ","ق.ظ","ق.ظ"],
			PM: ["ب.ظ","ب.ظ","ب.ظ"],
			patterns: {
				d: "yyyy/MM/dd",
				D: "yyyy/MM/dd",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "yyyy/MM/dd hh:mm tt",
				F: "yyyy/MM/dd hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Hijri: {
			name: "Hijri",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ق.ظ","ق.ظ","ق.ظ"],
			PM: ["ب.ظ","ب.ظ","ب.ظ"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MM/yyyy hh:mm tt",
				F: "dd/MM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		Gregorian_TransliteratedEnglish: {
			name: "Gregorian_TransliteratedEnglish",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["أ","ا","ث","أ","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ق.ظ","ق.ظ","ق.ظ"],
			PM: ["ب.ظ","ب.ظ","ب.ظ"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		}
	}
});

Globalize.addCultureInfo( "vi", "default", {
	name: "vi",
	englishName: "Vietnamese",
	nativeName: "Tiếng Việt",
	language: "vi",
	numberFormat: {
		",": ".",
		".": ",",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "₫"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Chủ Nhật","Thứ Hai","Thứ Ba","Thứ Tư","Thứ Năm","Thứ Sáu","Thứ Bảy"],
				namesAbbr: ["CN","Hai","Ba","Tư","Năm","Sáu","Bảy"],
				namesShort: ["C","H","B","T","N","S","B"]
			},
			months: {
				names: ["Tháng Giêng","Tháng Hai","Tháng Ba","Tháng Tư","Tháng Năm","Tháng Sáu","Tháng Bảy","Tháng Tám","Tháng Chín","Tháng Mười","Tháng Mười Một","Tháng Mười Hai",""],
				namesAbbr: ["Thg1","Thg2","Thg3","Thg4","Thg5","Thg6","Thg7","Thg8","Thg9","Thg10","Thg11","Thg12",""]
			},
			AM: ["SA","sa","SA"],
			PM: ["CH","ch","CH"],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM yyyy",
				f: "dd MMMM yyyy h:mm tt",
				F: "dd MMMM yyyy h:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "hy", "default", {
	name: "hy",
	englishName: "Armenian",
	nativeName: "Հայերեն",
	language: "hy",
	numberFormat: {
		currency: {
			pattern: ["-n $","n $"],
			symbol: "դր."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","ՈՒրբաթ","Շաբաթ"],
				namesAbbr: ["Կիր","Երկ","Երք","Չրք","Հնգ","ՈՒր","Շբթ"],
				namesShort: ["Կ","Ե","Ե","Չ","Հ","Ո","Շ"]
			},
			months: {
				names: ["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր",""],
				namesAbbr: ["ՀՆՎ","ՓՏՎ","ՄՐՏ","ԱՊՐ","ՄՅՍ","ՀՆՍ","ՀԼՍ","ՕԳՍ","ՍԵՊ","ՀՈԿ","ՆՈՅ","ԴԵԿ",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d MMMM, yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM, yyyy H:mm",
				F: "d MMMM, yyyy H:mm:ss",
				M: "d MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "az", "default", {
	name: "az",
	englishName: "Azeri",
	nativeName: "Azərbaycan\xadılı",
	language: "az",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "man."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"],
				namesAbbr: ["B","Be","Ça","Ç","Ca","C","Ş"],
				namesShort: ["B","Be","Ça","Ç","Ca","C","Ş"]
			},
			months: {
				names: ["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avgust","Sentyabr","Oktyabr","Noyabr","Dekabr",""],
				namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""]
			},
			monthsGenitive: {
				names: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""],
				namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM yyyy H:mm",
				F: "d MMMM yyyy H:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "eu", "default", {
	name: "eu",
	englishName: "Basque",
	nativeName: "euskara",
	language: "eu",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "EdZ",
		negativeInfinity: "-Infinitu",
		positiveInfinity: "Infinitu",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["igandea","astelehena","asteartea","asteazkena","osteguna","ostirala","larunbata"],
				namesAbbr: ["ig.","al.","as.","az.","og.","or.","lr."],
				namesShort: ["ig","al","as","az","og","or","lr"]
			},
			months: {
				names: ["urtarrila","otsaila","martxoa","apirila","maiatza","ekaina","uztaila","abuztua","iraila","urria","azaroa","abendua",""],
				namesAbbr: ["urt.","ots.","mar.","api.","mai.","eka.","uzt.","abu.","ira.","urr.","aza.","abe.",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "yyyy/MM/dd",
				D: "dddd, yyyy.'eko' MMMM'k 'd",
				t: "HH:mm",
				T: "H:mm:ss",
				f: "dddd, yyyy.'eko' MMMM'k 'd HH:mm",
				F: "dddd, yyyy.'eko' MMMM'k 'd H:mm:ss",
				Y: "yyyy.'eko' MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "hsb", "default", {
	name: "hsb",
	englishName: "Upper Sorbian",
	nativeName: "hornjoserbšćina",
	language: "hsb",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "njedefinowane",
		negativeInfinity: "-njekónčne",
		positiveInfinity: "+njekónčne",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": ". ",
			firstDay: 1,
			days: {
				names: ["njedźela","póndźela","wutora","srjeda","štwórtk","pjatk","sobota"],
				namesAbbr: ["nje","pón","wut","srj","štw","pja","sob"],
				namesShort: ["n","p","w","s","š","p","s"]
			},
			months: {
				names: ["januar","februar","měrc","apryl","meja","junij","julij","awgust","september","oktober","nowember","december",""],
				namesAbbr: ["jan","feb","měr","apr","mej","jun","jul","awg","sep","okt","now","dec",""]
			},
			monthsGenitive: {
				names: ["januara","februara","měrca","apryla","meje","junija","julija","awgusta","septembra","oktobra","nowembra","decembra",""],
				namesAbbr: ["jan","feb","měr","apr","mej","jun","jul","awg","sep","okt","now","dec",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"po Chr.","start":null,"offset":0}],
			patterns: {
				d: "d. M. yyyy",
				D: "dddd, 'dnja' d. MMMM yyyy",
				t: "H.mm 'hodź.'",
				T: "H:mm:ss",
				f: "dddd, 'dnja' d. MMMM yyyy H.mm 'hodź.'",
				F: "dddd, 'dnja' d. MMMM yyyy H:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "mk", "default", {
	name: "mk",
	englishName: "Macedonian (FYROM)",
	nativeName: "македонски јазик",
	language: "mk",
	numberFormat: {
		",": ".",
		".": ",",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "ден."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["недела","понеделник","вторник","среда","четврток","петок","сабота"],
				namesAbbr: ["нед","пон","втр","срд","чет","пет","саб"],
				namesShort: ["не","по","вт","ср","че","пе","са"]
			},
			months: {
				names: ["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември",""],
				namesAbbr: ["јан","фев","мар","апр","мај","јун","јул","авг","сеп","окт","ное","дек",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "dddd, dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd, dd MMMM yyyy HH:mm",
				F: "dddd, dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "tn", "default", {
	name: "tn",
	englishName: "Setswana",
	nativeName: "Setswana",
	language: "tn",
	numberFormat: {
		percent: {
			pattern: ["-%n","%n"]
		},
		currency: {
			pattern: ["$-n","$ n"],
			symbol: "R"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Latshipi","Mosupologo","Labobedi","Laboraro","Labone","Labotlhano","Lamatlhatso"],
				namesAbbr: ["Ltp.","Mos.","Lbd.","Lbr.","Lbn.","Lbt.","Lmt."],
				namesShort: ["Lp","Ms","Lb","Lr","Ln","Lt","Lm"]
			},
			months: {
				names: ["Ferikgong","Tlhakole","Mopitloe","Moranang","Motsheganong","Seetebosigo","Phukwi","Phatwe","Lwetse","Diphalane","Ngwanatsele","Sedimothole",""],
				namesAbbr: ["Fer.","Tlhak.","Mop.","Mor.","Motsh.","Seet.","Phukw.","Phatw.","Lwets.","Diph.","Ngwan.","Sed.",""]
			},
			patterns: {
				d: "yyyy/MM/dd",
				D: "dd MMMM yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM yyyy hh:mm tt",
				F: "dd MMMM yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "xh", "default", {
	name: "xh",
	englishName: "isiXhosa",
	nativeName: "isiXhosa",
	language: "xh",
	numberFormat: {
		percent: {
			pattern: ["-%n","%n"]
		},
		currency: {
			pattern: ["$-n","$ n"],
			symbol: "R"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["iCawa","uMvulo","uLwesibini","uLwesithathu","uLwesine","uLwesihlanu","uMgqibelo"],
				namesShort: ["Ca","Mv","Lb","Lt","Ln","Lh","Mg"]
			},
			months: {
				names: ["Mqungu","Mdumba","Kwindla","Tshazimpuzi","Canzibe","Silimela","Khala","Thupha","Msintsi","Dwarha","Nkanga","Mnga",""]
			},
			patterns: {
				d: "yyyy/MM/dd",
				D: "dd MMMM yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM yyyy hh:mm tt",
				F: "dd MMMM yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "zu", "default", {
	name: "zu",
	englishName: "isiZulu",
	nativeName: "isiZulu",
	language: "zu",
	numberFormat: {
		percent: {
			pattern: ["-%n","%n"]
		},
		currency: {
			pattern: ["$-n","$ n"],
			symbol: "R"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["iSonto","uMsombuluko","uLwesibili","uLwesithathu","uLwesine","uLwesihlanu","uMgqibelo"],
				namesAbbr: ["Son.","Mso.","Bi.","Tha.","Ne.","Hla.","Mgq."]
			},
			months: {
				names: ["uMasingana","uNhlolanja","uNdasa","uMbaso","uNhlaba","uNhlangulana","uNtulikazi","uNcwaba","uMandulo","uMfumfu","uLwezi","uZibandlela",""],
				namesAbbr: ["Mas.","Nhlo.","Nda.","Mba.","Nhla.","Nhlang.","Ntu.","Ncwa.","Man.","Mfu.","Lwe.","Zib.",""]
			},
			patterns: {
				d: "yyyy/MM/dd",
				D: "dd MMMM yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM yyyy hh:mm tt",
				F: "dd MMMM yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "af", "default", {
	name: "af",
	englishName: "Afrikaans",
	nativeName: "Afrikaans",
	language: "af",
	numberFormat: {
		percent: {
			pattern: ["-n%","n%"]
		},
		currency: {
			pattern: ["$-n","$ n"],
			symbol: "R"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Sondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrydag","Saterdag"],
				namesAbbr: ["Son","Maan","Dins","Woen","Dond","Vry","Sat"],
				namesShort: ["So","Ma","Di","Wo","Do","Vr","Sa"]
			},
			months: {
				names: ["Januarie","Februarie","Maart","April","Mei","Junie","Julie","Augustus","September","Oktober","November","Desember",""],
				namesAbbr: ["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des",""]
			},
			patterns: {
				d: "yyyy/MM/dd",
				D: "dd MMMM yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM yyyy hh:mm tt",
				F: "dd MMMM yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ka", "default", {
	name: "ka",
	englishName: "Georgian",
	nativeName: "ქართული",
	language: "ka",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "Lari"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"],
				namesAbbr: ["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"],
				namesShort: ["კ","ო","ს","ო","ხ","პ","შ"]
			},
			months: {
				names: ["იანვარი","თებერვალი","მარტი","აპრილი","მაისი","ივნისი","ივლისი","აგვისტო","სექტემბერი","ოქტომბერი","ნოემბერი","დეკემბერი",""],
				namesAbbr: ["იან","თებ","მარ","აპრ","მაის","ივნ","ივლ","აგვ","სექ","ოქტ","ნოემ","დეკ",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "yyyy 'წლის' dd MM, dddd",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy 'წლის' dd MM, dddd H:mm",
				F: "yyyy 'წლის' dd MM, dddd H:mm:ss",
				M: "dd MM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "fo", "default", {
	name: "fo",
	englishName: "Faroese",
	nativeName: "føroyskt",
	language: "fo",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-INF",
		positiveInfinity: "INF",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["$ -n","$ n"],
			",": ".",
			".": ",",
			symbol: "kr."
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["sunnudagur","mánadagur","týsdagur","mikudagur","hósdagur","fríggjadagur","leygardagur"],
				namesAbbr: ["sun","mán","týs","mik","hós","frí","leyg"],
				namesShort: ["su","má","tý","mi","hó","fr","ley"]
			},
			months: {
				names: ["januar","februar","mars","apríl","mai","juni","juli","august","september","oktober","november","desember",""],
				namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd-MM-yyyy",
				D: "d. MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "d. MMMM yyyy HH:mm",
				F: "d. MMMM yyyy HH:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "hi", "default", {
	name: "hi",
	englishName: "Hindi",
	nativeName: "हिंदी",
	language: "hi",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "रु"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"],
				namesAbbr: ["रवि.","सोम.","मंगल.","बुध.","गुरु.","शुक्र.","शनि."],
				namesShort: ["र","स","म","ब","ग","श","श"]
			},
			months: {
				names: ["जनवरी","फरवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्तूबर","नवम्बर","दिसम्बर",""],
				namesAbbr: ["जनवरी","फरवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्तूबर","नवम्बर","दिसम्बर",""]
			},
			AM: ["पूर्वाह्न","पूर्वाह्न","पूर्वाह्न"],
			PM: ["अपराह्न","अपराह्न","अपराह्न"],
			patterns: {
				d: "dd-MM-yyyy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "mt", "default", {
	name: "mt",
	englishName: "Maltese",
	nativeName: "Malti",
	language: "mt",
	numberFormat: {
		percent: {
			pattern: ["-%n","%n"]
		},
		currency: {
			pattern: ["-$n","$n"],
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Il-Ħadd","It-Tnejn","It-Tlieta","L-Erbgħa","Il-Ħamis","Il-Ġimgħa","Is-Sibt"],
				namesAbbr: ["Ħad","Tne","Tli","Erb","Ħam","Ġim","Sib"],
				namesShort: ["I","I","I","L","I","I","I"]
			},
			months: {
				names: ["Jannar","Frar","Marzu","April","Mejju","Ġunju","Lulju","Awissu","Settembru","Ottubru","Novembru","Diċembru",""],
				namesAbbr: ["Jan","Fra","Mar","Apr","Mej","Ġun","Lul","Awi","Set","Ott","Nov","Diċ",""]
			},
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, d' ta\\' 'MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd, d' ta\\' 'MMMM yyyy HH:mm",
				F: "dddd, d' ta\\' 'MMMM yyyy HH:mm:ss",
				M: "d' ta\\' 'MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "se", "default", {
	name: "se",
	englishName: "Sami (Northern)",
	nativeName: "davvisámegiella",
	language: "se",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			pattern: ["-%n","%n"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["$ -n","$ n"],
			",": " ",
			".": ",",
			symbol: "kr"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["sotnabeaivi","vuossárga","maŋŋebárga","gaskavahkku","duorastat","bearjadat","lávvardat"],
				namesAbbr: ["sotn","vuos","maŋ","gask","duor","bear","láv"],
				namesShort: ["s","m","d","g","d","b","l"]
			},
			months: {
				names: ["ođđajagemánnu","guovvamánnu","njukčamánnu","cuoŋománnu","miessemánnu","geassemánnu","suoidnemánnu","borgemánnu","čakčamánnu","golggotmánnu","skábmamánnu","juovlamánnu",""],
				namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""]
			},
			monthsGenitive: {
				names: ["ođđajagimánu","guovvamánu","njukčamánu","cuoŋománu","miessemánu","geassemánu","suoidnemánu","borgemánu","čakčamánu","golggotmánu","skábmamánu","juovlamánu",""],
				namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "MMMM d'. b. 'yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "MMMM d'. b. 'yyyy HH:mm",
				F: "MMMM d'. b. 'yyyy HH:mm:ss",
				M: "MMMM d'. b. '",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ga", "default", {
	name: "ga",
	englishName: "Irish",
	nativeName: "Gaeilge",
	language: "ga",
	numberFormat: {
		currency: {
			pattern: ["-$n","$n"],
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Dé Domhnaigh","Dé Luain","Dé Máirt","Dé Céadaoin","Déardaoin","Dé hAoine","Dé Sathairn"],
				namesAbbr: ["Domh","Luan","Máir","Céad","Déar","Aoi","Sath"],
				namesShort: ["Do","Lu","Má","Cé","De","Ao","Sa"]
			},
			months: {
				names: ["Eanáir","Feabhra","Márta","Aibreán","Bealtaine","Meitheamh","Iúil","Lúnasa","Meán Fómhair","Deireadh Fómhair","Samhain","Nollaig",""],
				namesAbbr: ["Ean","Feabh","Már","Aib","Bealt","Meith","Iúil","Lún","M.Fómh","D.Fómh","Samh","Noll",""]
			},
			AM: ["r.n.","r.n.","R.N."],
			PM: ["i.n.","i.n.","I.N."],
			patterns: {
				d: "dd/MM/yyyy",
				D: "d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "d MMMM yyyy HH:mm",
				F: "d MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ms", "default", {
	name: "ms",
	englishName: "Malay",
	nativeName: "Bahasa Melayu",
	language: "ms",
	numberFormat: {
		currency: {
			decimals: 0,
			symbol: "RM"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"],
				namesAbbr: ["Ahad","Isnin","Sel","Rabu","Khamis","Jumaat","Sabtu"],
				namesShort: ["A","I","S","R","K","J","S"]
			},
			months: {
				names: ["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember",""],
				namesAbbr: ["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ogos","Sept","Okt","Nov","Dis",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dd MMMM yyyy H:mm",
				F: "dd MMMM yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "kk", "default", {
	name: "kk",
	englishName: "Kazakh",
	nativeName: "Қазақ",
	language: "kk",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-$n","$n"],
			",": " ",
			".": "-",
			symbol: "Т"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Жексенбі","Дүйсенбі","Сейсенбі","Сәрсенбі","Бейсенбі","Жұма","Сенбі"],
				namesAbbr: ["Жк","Дс","Сс","Ср","Бс","Жм","Сн"],
				namesShort: ["Жк","Дс","Сс","Ср","Бс","Жм","Сн"]
			},
			months: {
				names: ["қаңтар","ақпан","наурыз","сәуір","мамыр","маусым","шілде","тамыз","қыркүйек","қазан","қараша","желтоқсан",""],
				namesAbbr: ["Қаң","Ақп","Нау","Сәу","Мам","Мау","Шіл","Там","Қыр","Қаз","Қар","Жел",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d MMMM yyyy 'ж.'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM yyyy 'ж.' H:mm",
				F: "d MMMM yyyy 'ж.' H:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ky", "default", {
	name: "ky",
	englishName: "Kyrgyz",
	nativeName: "Кыргыз",
	language: "ky",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": "-",
			symbol: "сом"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Жекшемби","Дүйшөмбү","Шейшемби","Шаршемби","Бейшемби","Жума","Ишемби"],
				namesAbbr: ["Жш","Дш","Шш","Шр","Бш","Жм","Иш"],
				namesShort: ["Жш","Дш","Шш","Шр","Бш","Жм","Иш"]
			},
			months: {
				names: ["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь",""],
				namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yy",
				D: "d'-'MMMM yyyy'-ж.'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d'-'MMMM yyyy'-ж.' H:mm",
				F: "d'-'MMMM yyyy'-ж.' H:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy'-ж.'"
			}
		}
	}
});

Globalize.addCultureInfo( "sw", "default", {
	name: "sw",
	englishName: "Kiswahili",
	nativeName: "Kiswahili",
	language: "sw",
	numberFormat: {
		currency: {
			symbol: "S"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Jumapili","Jumatatu","Jumanne","Jumatano","Alhamisi","Ijumaa","Jumamosi"],
				namesAbbr: ["Jumap.","Jumat.","Juman.","Jumat.","Alh.","Iju.","Jumam."],
				namesShort: ["P","T","N","T","A","I","M"]
			},
			months: {
				names: ["Januari","Februari","Machi","Aprili","Mei","Juni","Julai","Agosti","Septemba","Oktoba","Novemba","Decemba",""],
				namesAbbr: ["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ago","Sep","Okt","Nov","Dec",""]
			}
		}
	}
});

Globalize.addCultureInfo( "tk", "default", {
	name: "tk",
	englishName: "Turkmen",
	nativeName: "türkmençe",
	language: "tk",
	numberFormat: {
		",": " ",
		".": ",",
		negativeInfinity: "-üznüksizlik",
		positiveInfinity: "üznüksizlik",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n$","n$"],
			",": " ",
			".": ",",
			symbol: "m."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Duşenbe","Sişenbe","Çarşenbe","Penşenbe","Anna","Şenbe","Ýekşenbe"],
				namesAbbr: ["Db","Sb","Çb","Pb","An","Şb","Ýb"],
				namesShort: ["D","S","Ç","P","A","Ş","Ý"]
			},
			months: {
				names: ["Ýanwar","Fewral","Mart","Aprel","Maý","lýun","lýul","Awgust","Sentýabr","Oktýabr","Noýabr","Dekabr",""],
				namesAbbr: ["Ýan","Few","Mart","Apr","Maý","lýun","lýul","Awg","Sen","Okt","Not","Dek",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yy",
				D: "yyyy 'ý.' MMMM d",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy 'ý.' MMMM d H:mm",
				F: "yyyy 'ý.' MMMM d H:mm:ss",
				Y: "yyyy 'ý.' MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "uz", "default", {
	name: "uz",
	englishName: "Uzbek",
	nativeName: "U'zbek",
	language: "uz",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			decimals: 0,
			",": " ",
			".": ",",
			symbol: "so'm"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["yakshanba","dushanba","seshanba","chorshanba","payshanba","juma","shanba"],
				namesAbbr: ["yak.","dsh.","sesh.","chr.","psh.","jm.","sh."],
				namesShort: ["ya","d","s","ch","p","j","sh"]
			},
			months: {
				names: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""],
				namesAbbr: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd/MM yyyy",
				D: "yyyy 'yil' d-MMMM",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "yyyy 'yil' d-MMMM HH:mm",
				F: "yyyy 'yil' d-MMMM HH:mm:ss",
				M: "d-MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "tt", "default", {
	name: "tt",
	englishName: "Tatar",
	nativeName: "Татар",
	language: "tt",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "р."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Якшәмбе","Дүшәмбе","Сишәмбе","Чәршәмбе","Пәнҗешәмбе","Җомга","Шимбә"],
				namesAbbr: ["Якш","Дүш","Сиш","Чәрш","Пәнҗ","Җом","Шим"],
				namesShort: ["Я","Д","С","Ч","П","Җ","Ш"]
			},
			months: {
				names: ["Гыйнвар","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь",""],
				namesAbbr: ["Гыйн.","Фев.","Мар.","Апр.","Май","Июнь","Июль","Авг.","Сен.","Окт.","Нояб.","Дек.",""]
			},
			monthsGenitive: {
				names: ["Гыйнварның","Февральнең","Мартның","Апрельнең","Майның","Июньнең","Июльнең","Августның","Сентябрьның","Октябрьның","Ноябрьның","Декабрьның",""],
				namesAbbr: ["Гыйн.-ның","Фев.-нең","Мар.-ның","Апр.-нең","Майның","Июньнең","Июльнең","Авг.-ның","Сен.-ның","Окт.-ның","Нояб.-ның","Дек.-ның",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM yyyy H:mm",
				F: "d MMMM yyyy H:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "bn", "default", {
	name: "bn",
	englishName: "Bengali",
	nativeName: "বাংলা",
	language: "bn",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			pattern: ["-%n","%n"],
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "টা"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			":": ".",
			firstDay: 1,
			days: {
				names: ["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],
				namesAbbr: ["রবি.","সোম.","মঙ্গল.","বুধ.","বৃহস্পতি.","শুক্র.","শনি."],
				namesShort: ["র","স","ম","ব","ব","শ","শ"]
			},
			months: {
				names: ["জানুয়ারী","ফেব্রুয়ারী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর",""],
				namesAbbr: ["জানু.","ফেব্রু.","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগ.","সেপ্টে.","অক্টো.","নভে.","ডিসে.",""]
			},
			AM: ["পুর্বাহ্ন","পুর্বাহ্ন","পুর্বাহ্ন"],
			PM: ["অপরাহ্ন","অপরাহ্ন","অপরাহ্ন"],
			patterns: {
				d: "dd-MM-yy",
				D: "dd MMMM yyyy",
				t: "HH.mm",
				T: "HH.mm.ss",
				f: "dd MMMM yyyy HH.mm",
				F: "dd MMMM yyyy HH.mm.ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "pa", "default", {
	name: "pa",
	englishName: "Punjabi",
	nativeName: "ਪੰਜਾਬੀ",
	language: "pa",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "ਰੁ"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["ਐਤਵਾਰ","ਸੋਮਵਾਰ","ਮੰਗਲਵਾਰ","ਬੁੱਧਵਾਰ","ਵੀਰਵਾਰ","ਸ਼ੁੱਕਰਵਾਰ","ਸ਼ਨਿੱਚਰਵਾਰ"],
				namesAbbr: ["ਐਤ.","ਸੋਮ.","ਮੰਗਲ.","ਬੁੱਧ.","ਵੀਰ.","ਸ਼ੁਕਰ.","ਸ਼ਨਿੱਚਰ."],
				namesShort: ["ਐ","ਸ","ਮ","ਬ","ਵ","ਸ਼","ਸ਼"]
			},
			months: {
				names: ["ਜਨਵਰੀ","ਫ਼ਰਵਰੀ","ਮਾਰਚ","ਅਪ੍ਰੈਲ","ਮਈ","ਜੂਨ","ਜੁਲਾਈ","ਅਗਸਤ","ਸਤੰਬਰ","ਅਕਤੂਬਰ","ਨਵੰਬਰ","ਦਸੰਬਰ",""],
				namesAbbr: ["ਜਨਵਰੀ","ਫ਼ਰਵਰੀ","ਮਾਰਚ","ਅਪ੍ਰੈਲ","ਮਈ","ਜੂਨ","ਜੁਲਾਈ","ਅਗਸਤ","ਸਤੰਬਰ","ਅਕਤੂਬਰ","ਨਵੰਬਰ","ਦਸੰਬਰ",""]
			},
			AM: ["ਸਵੇਰ","ਸਵੇਰ","ਸਵੇਰ"],
			PM: ["ਸ਼ਾਮ","ਸ਼ਾਮ","ਸ਼ਾਮ"],
			patterns: {
				d: "dd-MM-yy",
				D: "dd MMMM yyyy dddd",
				t: "tt hh:mm",
				T: "tt hh:mm:ss",
				f: "dd MMMM yyyy dddd tt hh:mm",
				F: "dd MMMM yyyy dddd tt hh:mm:ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "gu", "default", {
	name: "gu",
	englishName: "Gujarati",
	nativeName: "ગુજરાતી",
	language: "gu",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "રૂ"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["રવિવાર","સોમવાર","મંગળવાર","બુધવાર","ગુરુવાર","શુક્રવાર","શનિવાર"],
				namesAbbr: ["રવિ","સોમ","મંગળ","બુધ","ગુરુ","શુક્ર","શનિ"],
				namesShort: ["ર","સ","મ","બ","ગ","શ","શ"]
			},
			months: {
				names: ["જાન્યુઆરી","ફેબ્રુઆરી","માર્ચ","એપ્રિલ","મે","જૂન","જુલાઈ","ઑગસ્ટ","સપ્ટેમ્બર","ઑક્ટ્બર","નવેમ્બર","ડિસેમ્બર",""],
				namesAbbr: ["જાન્યુ","ફેબ્રુ","માર્ચ","એપ્રિલ","મે","જૂન","જુલાઈ","ઑગસ્ટ","સપ્ટે","ઑક્ટો","નવે","ડિસે",""]
			},
			AM: ["પૂર્વ મધ્યાહ્ન","પૂર્વ મધ્યાહ્ન","પૂર્વ મધ્યાહ્ન"],
			PM: ["ઉત્તર મધ્યાહ્ન","ઉત્તર મધ્યાહ્ન","ઉત્તર મધ્યાહ્ન"],
			patterns: {
				d: "dd-MM-yy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "or", "default", {
	name: "or",
	englishName: "Oriya",
	nativeName: "ଓଡ଼ିଆ",
	language: "or",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "ଟ"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			days: {
				names: ["ରବିବାର","ସୋମବାର","ମଙ୍ଗଳବାର","ବୁଧବାର","ଗୁରୁବାର","ଶୁକ୍ରବାର","ଶନିବାର"],
				namesAbbr: ["ରବି.","ସୋମ.","ମଙ୍ଗଳ.","ବୁଧ.","ଗୁରୁ.","ଶୁକ୍ର.","ଶନି."],
				namesShort: ["ର","ସୋ","ମ","ବୁ","ଗୁ","ଶୁ","ଶ"]
			},
			months: {
				names: ["ଜାନୁୟାରୀ","ଫ୍ରେବୃୟାରୀ","ମାର୍ଚ୍ଚ","ଏପ୍ରିଲ୍\u200c","ମେ","ଜୁନ୍\u200c","ଜୁଲାଇ","ଅଗଷ୍ଟ","ସେପ୍ଟେମ୍ବର","ଅକ୍ଟୋବର","ନଭେମ୍ବର","(ଡିସେମ୍ବର",""],
				namesAbbr: ["ଜାନୁୟାରୀ","ଫ୍ରେବୃୟାରୀ","ମାର୍ଚ୍ଚ","ଏପ୍ରିଲ୍\u200c","ମେ","ଜୁନ୍\u200c","ଜୁଲାଇ","ଅଗଷ୍ଟ","ସେପ୍ଟେମ୍ବର","ଅକ୍ଟୋବର","ନଭେମ୍ବର","(ଡିସେମ୍ବର",""]
			},
			eras: [{"name":"ଖ୍ରୀଷ୍ଟାବ୍ଦ","start":null,"offset":0}],
			patterns: {
				d: "dd-MM-yy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "ta", "default", {
	name: "ta",
	englishName: "Tamil",
	nativeName: "தமிழ்",
	language: "ta",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "ரூ"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["ஞாயிற்றுக்கிழமை","திங்கள்கிழமை","செவ்வாய்கிழமை","புதன்கிழமை","வியாழக்கிழமை","வெள்ளிக்கிழமை","சனிக்கிழமை"],
				namesAbbr: ["ஞாயிறு","திங்கள்","செவ்வாய்","புதன்","வியாழன்","வெள்ளி","சனி"],
				namesShort: ["ஞா","தி","செ","பு","வி","வெ","ச"]
			},
			months: {
				names: ["ஜனவரி","பிப்ரவரி","மார்ச்","ஏப்ரல்","மே","ஜூன்","ஜூலை","ஆகஸ்ட்","செப்டம்பர்","அக்டோபர்","நவம்பர்","டிசம்பர்",""],
				namesAbbr: ["ஜனவரி","பிப்ரவரி","மார்ச்","ஏப்ரல்","மே","ஜூன்","ஜூலை","ஆகஸ்ட்","செப்டம்பர்","அக்டோபர்","நவம்பர்","டிசம்பர்",""]
			},
			AM: ["காலை","காலை","காலை"],
			PM: ["மாலை","மாலை","மாலை"],
			patterns: {
				d: "dd-MM-yyyy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "te", "default", {
	name: "te",
	englishName: "Telugu",
	nativeName: "తెలుగు",
	language: "te",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "రూ"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["ఆదివారం","సోమవారం","మంగళవారం","బుధవారం","గురువారం","శుక్రవారం","శనివారం"],
				namesAbbr: ["ఆది.","సోమ.","మంగళ.","బుధ.","గురు.","శుక్ర.","శని."],
				namesShort: ["ఆ","సో","మం","బు","గు","శు","శ"]
			},
			months: {
				names: ["జనవరి","ఫిబ్రవరి","మార్చి","ఏప్రిల్","మే","జూన్","జూలై","ఆగస్టు","సెప్టెంబర్","అక్టోబర్","నవంబర్","డిసెంబర్",""],
				namesAbbr: ["జనవరి","ఫిబ్రవరి","మార్చి","ఏప్రిల్","మే","జూన్","జూలై","ఆగస్టు","సెప్టెంబర్","అక్టోబర్","నవంబర్","డిసెంబర్",""]
			},
			AM: ["పూర్వాహ్న","పూర్వాహ్న","పూర్వాహ్న"],
			PM: ["అపరాహ్న","అపరాహ్న","అపరాహ్న"],
			patterns: {
				d: "dd-MM-yy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "kn", "default", {
	name: "kn",
	englishName: "Kannada",
	nativeName: "ಕನ್ನಡ",
	language: "kn",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "ರೂ"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["ಭಾನುವಾರ","ಸೋಮವಾರ","ಮಂಗಳವಾರ","ಬುಧವಾರ","ಗುರುವಾರ","ಶುಕ್ರವಾರ","ಶನಿವಾರ"],
				namesAbbr: ["ಭಾನು.","ಸೋಮ.","ಮಂಗಳ.","ಬುಧ.","ಗುರು.","ಶುಕ್ರ.","ಶನಿ."],
				namesShort: ["ರ","ಸ","ಮ","ಬ","ಗ","ಶ","ಶ"]
			},
			months: {
				names: ["ಜನವರಿ","ಫೆಬ್ರವರಿ","ಮಾರ್ಚ್","ಎಪ್ರಿಲ್","ಮೇ","ಜೂನ್","ಜುಲೈ","ಆಗಸ್ಟ್","ಸೆಪ್ಟಂಬರ್","ಅಕ್ಟೋಬರ್","ನವೆಂಬರ್","ಡಿಸೆಂಬರ್",""],
				namesAbbr: ["ಜನವರಿ","ಫೆಬ್ರವರಿ","ಮಾರ್ಚ್","ಎಪ್ರಿಲ್","ಮೇ","ಜೂನ್","ಜುಲೈ","ಆಗಸ್ಟ್","ಸೆಪ್ಟಂಬರ್","ಅಕ್ಟೋಬರ್","ನವೆಂಬರ್","ಡಿಸೆಂಬರ್",""]
			},
			AM: ["ಪೂರ್ವಾಹ್ನ","ಪೂರ್ವಾಹ್ನ","ಪೂರ್ವಾಹ್ನ"],
			PM: ["ಅಪರಾಹ್ನ","ಅಪರಾಹ್ನ","ಅಪರಾಹ್ನ"],
			patterns: {
				d: "dd-MM-yy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "ml", "default", {
	name: "ml",
	englishName: "Malayalam",
	nativeName: "മലയാളം",
	language: "ml",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			pattern: ["-%n","%n"],
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "ക"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			":": ".",
			firstDay: 1,
			days: {
				names: ["ഞായറാഴ്ച","തിങ്കളാഴ്ച","ചൊവ്വാഴ്ച","ബുധനാഴ്ച","വ്യാഴാഴ്ച","വെള്ളിയാഴ്ച","ശനിയാഴ്ച"],
				namesAbbr: ["ഞായർ.","തിങ്കൾ.","ചൊവ്വ.","ബുധൻ.","വ്യാഴം.","വെള്ളി.","ശനി."],
				namesShort: ["ഞ","ത","ച","ബ","വ","വെ","ശ"]
			},
			months: {
				names: ["ജനുവരി","ഫെബ്റുവരി","മാറ്ച്ച്","ഏപ്റില്","മെയ്","ജൂണ്","ജൂലൈ","ഓഗസ്ററ്","സെപ്ററംബറ്","ഒക്ടോബറ്","നവംബറ്","ഡിസംബറ്",""],
				namesAbbr: ["ജനുവരി","ഫെബ്റുവരി","മാറ്ച്ച്","ഏപ്റില്","മെയ്","ജൂണ്","ജൂലൈ","ഓഗസ്ററ്","സെപ്ററംബറ്","ഒക്ടോബറ്","നവംബറ്","ഡിസംബറ്",""]
			},
			patterns: {
				d: "dd-MM-yy",
				D: "dd MMMM yyyy",
				t: "HH.mm",
				T: "HH.mm.ss",
				f: "dd MMMM yyyy HH.mm",
				F: "dd MMMM yyyy HH.mm.ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "as", "default", {
	name: "as",
	englishName: "Assamese",
	nativeName: "অসমীয়া",
	language: "as",
	numberFormat: {
		groupSizes: [3,2],
		"NaN": "nan",
		negativeInfinity: "-infinity",
		positiveInfinity: "infinity",
		percent: {
			pattern: ["-n%","n%"],
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","n$"],
			groupSizes: [3,2],
			symbol: "ট"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["সোমবাৰ","মঙ্গলবাৰ","বুধবাৰ","বৃহস্পতিবাৰ","শুক্রবাৰ","শনিবাৰ","ৰবিবাৰ"],
				namesAbbr: ["সোম.","মঙ্গল.","বুধ.","বৃহ.","শুক্র.","শনি.","ৰবি."],
				namesShort: ["সো","ম","বু","বৃ","শু","শ","র"]
			},
			months: {
				names: ["জানুৱাৰী","ফেব্রুৱাৰী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগষ্ট","চেপ্টেম্বর","অক্টোবর","নবেম্বর","ডিচেম্বর",""],
				namesAbbr: ["জানু","ফেব্রু","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগষ্ট","চেপ্টে","অক্টো","নবে","ডিচে",""]
			},
			AM: ["ৰাতিপু","ৰাতিপু","ৰাতিপু"],
			PM: ["আবেলি","আবেলি","আবেলি"],
			eras: [{"name":"খ্রীষ্টাব্দ","start":null,"offset":0}],
			patterns: {
				d: "dd-MM-yyyy",
				D: "yyyy,MMMM dd, dddd",
				t: "tt h:mm",
				T: "tt h:mm:ss",
				f: "yyyy,MMMM dd, dddd tt h:mm",
				F: "yyyy,MMMM dd, dddd tt h:mm:ss",
				M: "dd MMMM",
				Y: "MMMM,yy"
			}
		}
	}
});

Globalize.addCultureInfo( "mr", "default", {
	name: "mr",
	englishName: "Marathi",
	nativeName: "मराठी",
	language: "mr",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "रु"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["रविवार","सोमवार","मंगळवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"],
				namesAbbr: ["रवि.","सोम.","मंगळ.","बुध.","गुरु.","शुक्र.","शनि."],
				namesShort: ["र","स","म","ब","ग","श","श"]
			},
			months: {
				names: ["जानेवारी","फेब्रुवारी","मार्च","एप्रिल","मे","जून","जुलै","ऑगस्ट","सप्टेंबर","ऑक्टोबर","नोव्हेंबर","डिसेंबर",""],
				namesAbbr: ["जाने.","फेब्रु.","मार्च","एप्रिल","मे","जून","जुलै","ऑगस्ट","सप्टें.","ऑक्टो.","नोव्हें.","डिसें.",""]
			},
			AM: ["म.पू.","म.पू.","म.पू."],
			PM: ["म.नं.","म.नं.","म.नं."],
			patterns: {
				d: "dd-MM-yyyy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "sa", "default", {
	name: "sa",
	englishName: "Sanskrit",
	nativeName: "संस्कृत",
	language: "sa",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "रु"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			days: {
				names: ["रविवासरः","सोमवासरः","मङ्गलवासरः","बुधवासरः","गुरुवासरः","शुक्रवासरः","शनिवासरः"],
				namesAbbr: ["रविवासरः","सोमवासरः","मङ्गलवासरः","बुधवासरः","गुरुवासरः","शुक्रवासरः","शनिवासरः"],
				namesShort: ["र","स","म","ब","ग","श","श"]
			},
			months: {
				names: ["जनवरी","फरवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्तूबर","नवम्बर","दिसम्बर",""],
				namesAbbr: ["जनवरी","फरवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्तूबर","नवम्बर","दिसम्बर",""]
			},
			AM: ["पूर्वाह्न","पूर्वाह्न","पूर्वाह्न"],
			PM: ["अपराह्न","अपराह्न","अपराह्न"],
			patterns: {
				d: "dd-MM-yyyy",
				D: "dd MMMM yyyy dddd",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy dddd HH:mm",
				F: "dd MMMM yyyy dddd HH:mm:ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "mn", "default", {
	name: "mn",
	englishName: "Mongolian",
	nativeName: "Монгол хэл",
	language: "mn",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n$","n$"],
			",": " ",
			".": ",",
			symbol: "₮"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Ням","Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба"],
				namesAbbr: ["Ня","Да","Мя","Лх","Пү","Ба","Бя"],
				namesShort: ["Ня","Да","Мя","Лх","Пү","Ба","Бя"]
			},
			months: {
				names: ["1 дүгээр сар","2 дугаар сар","3 дугаар сар","4 дүгээр сар","5 дугаар сар","6 дугаар сар","7 дугаар сар","8 дугаар сар","9 дүгээр сар","10 дугаар сар","11 дүгээр сар","12 дугаар сар",""],
				namesAbbr: ["I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII",""]
			},
			monthsGenitive: {
				names: ["1 дүгээр сарын","2 дугаар сарын","3 дугаар сарын","4 дүгээр сарын","5 дугаар сарын","6 дугаар сарын","7 дугаар сарын","8 дугаар сарын","9 дүгээр сарын","10 дугаар сарын","11 дүгээр сарын","12 дугаар сарын",""],
				namesAbbr: ["I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "yy.MM.dd",
				D: "yyyy 'оны' MMMM d",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy 'оны' MMMM d H:mm",
				F: "yyyy 'оны' MMMM d H:mm:ss",
				M: "d MMMM",
				Y: "yyyy 'он' MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "bo", "default", {
	name: "bo",
	englishName: "Tibetan",
	nativeName: "བོད་ཡིག",
	language: "bo",
	numberFormat: {
		groupSizes: [3,0],
		"NaN": "ཨང་ཀི་མིན་པ།",
		negativeInfinity: "མོ་གྲངས་ཚད་མེད་ཆུང་བ།",
		positiveInfinity: "ཕོ་གྲངས་ཚད་མེད་ཆེ་བ།",
		percent: {
			pattern: ["-n%","n%"],
			groupSizes: [3,0]
		},
		currency: {
			pattern: ["$-n","$n"],
			groupSizes: [3,0],
			symbol: "¥"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["གཟའ་ཉི་མ།","གཟའ་ཟླ་བ།","གཟའ་མིག་དམར།","གཟའ་ལྷག་པ།","གཟའ་ཕུར་བུ།","གཟའ་པ་སངས།","གཟའ་སྤེན་པ།"],
				namesAbbr: ["ཉི་མ།","ཟླ་བ།","མིག་དམར།","ལྷག་པ།","ཕུར་བུ།","པ་སངས།","སྤེན་པ།"],
				namesShort: ["༧","༡","༢","༣","༤","༥","༦"]
			},
			months: {
				names: ["སྤྱི་ཟླ་དང་པོ།","སྤྱི་ཟླ་གཉིས་པ།","སྤྱི་ཟླ་གསུམ་པ།","སྤྱི་ཟླ་བཞི་པ།","སྤྱི་ཟླ་ལྔ་པ།","སྤྱི་ཟླ་དྲུག་པ།","སྤྱི་ཟླ་བདུན་པ།","སྤྱི་ཟླ་བརྒྱད་པ།","སྤྱི་ཟླ་དགུ་པ།","སྤྱི་ཟླ་བཅུ་པོ།","སྤྱི་ཟླ་བཅུ་གཅིག་པ།","སྤྱི་ཟླ་བཅུ་གཉིས་པ།",""],
				namesAbbr: ["ཟླ་ ༡","ཟླ་ ༢","ཟླ་ ༣","ཟླ་ ༤","ཟླ་ ༥","ཟླ་ ༦","ཟླ་ ༧","ཟླ་ ༨","ཟླ་ ༩","ཟླ་ ༡༠","ཟླ་ ༡༡","ཟླ་ ༡༢",""]
			},
			AM: ["སྔ་དྲོ","སྔ་དྲོ","སྔ་དྲོ"],
			PM: ["ཕྱི་དྲོ","ཕྱི་དྲོ","ཕྱི་དྲོ"],
			eras: [{"name":"སྤྱི་ལོ","start":null,"offset":0}],
			patterns: {
				d: "yyyy/M/d",
				D: "yyyy'ལོའི་ཟླ' M'ཚེས' d",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "yyyy'ལོའི་ཟླ' M'ཚེས' d HH:mm",
				F: "yyyy'ལོའི་ཟླ' M'ཚེས' d HH:mm:ss",
				M: "'ཟླ་' M'ཚེས'd",
				Y: "yyyy.M"
			}
		}
	}
});

Globalize.addCultureInfo( "cy", "default", {
	name: "cy",
	englishName: "Welsh",
	nativeName: "Cymraeg",
	language: "cy",
	numberFormat: {
		percent: {
			pattern: ["-%n","%n"]
		},
		currency: {
			pattern: ["-$n","$n"],
			symbol: "£"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Dydd Sul","Dydd Llun","Dydd Mawrth","Dydd Mercher","Dydd Iau","Dydd Gwener","Dydd Sadwrn"],
				namesAbbr: ["Sul","Llun","Maw","Mer","Iau","Gwe","Sad"],
				namesShort: ["Su","Ll","Ma","Me","Ia","Gw","Sa"]
			},
			months: {
				names: ["Ionawr","Chwefror","Mawrth","Ebrill","Mai","Mehefin","Gorffennaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr",""],
				namesAbbr: ["Ion","Chwe","Maw","Ebr","Mai","Meh","Gor","Aws","Med","Hyd","Tach","Rhag",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "km", "default", {
	name: "km",
	englishName: "Khmer",
	nativeName: "ខ្មែរ",
	language: "km",
	numberFormat: {
		pattern: ["- n"],
		groupSizes: [3,0],
		"NaN": "NAN",
		negativeInfinity: "-- អនន្ត",
		positiveInfinity: "អនន្ត",
		percent: {
			pattern: ["-n%","n%"],
			groupSizes: [3,0]
		},
		currency: {
			pattern: ["-n$","n$"],
			symbol: "៛"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			days: {
				names: ["ថ្ងៃអាទិត្យ","ថ្ងៃច័ន្ទ","ថ្ងៃអង្គារ","ថ្ងៃពុធ","ថ្ងៃព្រហស្បតិ៍","ថ្ងៃសុក្រ","ថ្ងៃសៅរ៍"],
				namesAbbr: ["អាទិ.","ច.","អ.","ពុ","ព្រហ.","សុ.","ស."],
				namesShort: ["អា","ច","អ","ពុ","ព្","សុ","ស"]
			},
			months: {
				names: ["មករា","កុម្ភៈ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ",""],
				namesAbbr: ["១","២","៣","៤","៥","៦","៧","៨","៩","១០","១១","១២",""]
			},
			AM: ["ព្រឹក","ព្រឹក","ព្រឹក"],
			PM: ["ល្ងាច","ល្ងាច","ល្ងាច"],
			eras: [{"name":"មុនគ.ស.","start":null,"offset":0}],
			patterns: {
				d: "yyyy-MM-dd",
				D: "d MMMM yyyy",
				t: "H:mm tt",
				T: "HH:mm:ss",
				f: "d MMMM yyyy H:mm tt",
				F: "d MMMM yyyy HH:mm:ss",
				M: "'ថ្ងៃទី' dd 'ខែ' MM",
				Y: "'ខែ' MM 'ឆ្នាំ' yyyy"
			}
		},
		Gregorian_TransliteratedEnglish: {
			name: "Gregorian_TransliteratedEnglish",
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["أ","ا","ث","أ","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ព្រឹក","ព្រឹក","ព្រឹក"],
			PM: ["ល្ងាច","ល្ងាច","ល្ងាច"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "H:mm tt",
				T: "HH:mm:ss",
				f: "dddd, MMMM dd, yyyy H:mm tt",
				F: "dddd, MMMM dd, yyyy HH:mm:ss"
			}
		}
	}
});

Globalize.addCultureInfo( "lo", "default", {
	name: "lo",
	englishName: "Lao",
	nativeName: "ລາວ",
	language: "lo",
	numberFormat: {
		pattern: ["(n)"],
		groupSizes: [3,0],
		percent: {
			groupSizes: [3,0]
		},
		currency: {
			pattern: ["(n$)","n$"],
			groupSizes: [3,0],
			symbol: "₭"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["ວັນອາທິດ","ວັນຈັນ","ວັນອັງຄານ","ວັນພຸດ","ວັນພະຫັດ","ວັນສຸກ","ວັນເສົາ"],
				namesAbbr: ["ອາທິດ","ຈັນ","ອັງຄານ","ພຸດ","ພະຫັດ","ສຸກ","ເສົາ"],
				namesShort: ["ອ","ຈ","ອ","ພ","ພ","ສ","ເ"]
			},
			months: {
				names: ["ມັງກອນ","ກຸມພາ","ມີນາ","ເມສາ","ພຶດສະພາ","ມິຖຸນາ","ກໍລະກົດ","ສິງຫາ","ກັນຍາ","ຕຸລາ","ພະຈິກ","ທັນວາ",""],
				namesAbbr: ["ມັງກອນ","ກຸມພາ","ມີນາ","ເມສາ","ພຶດສະພາ","ມິຖຸນາ","ກໍລະກົດ","ສິງຫາ","ກັນຍາ","ຕຸລາ","ພະຈິກ","ທັນວາ",""]
			},
			AM: ["ເຊົ້າ","ເຊົ້າ","ເຊົ້າ"],
			PM: ["ແລງ","ແລງ","ແລງ"],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM yyyy",
				t: "H:mm tt",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy H:mm tt",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "gl", "default", {
	name: "gl",
	englishName: "Galician",
	nativeName: "galego",
	language: "gl",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["domingo","luns","martes","mércores","xoves","venres","sábado"],
				namesAbbr: ["dom","luns","mar","mér","xov","ven","sáb"],
				namesShort: ["do","lu","ma","mé","xo","ve","sá"]
			},
			months: {
				names: ["xaneiro","febreiro","marzo","abril","maio","xuño","xullo","agosto","setembro","outubro","novembro","decembro",""],
				namesAbbr: ["xan","feb","mar","abr","maio","xuñ","xull","ago","set","out","nov","dec",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd, dd' de 'MMMM' de 'yyyy H:mm",
				F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "kok", "default", {
	name: "kok",
	englishName: "Konkani",
	nativeName: "कोंकणी",
	language: "kok",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "रु"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["आयतार","सोमार","मंगळार","बुधवार","बिरेस्तार","सुक्रार","शेनवार"],
				namesAbbr: ["आय.","सोम.","मंगळ.","बुध.","बिरे.","सुक्र.","शेन."],
				namesShort: ["आ","स","म","ब","ब","स","श"]
			},
			months: {
				names: ["जानेवारी","फेब्रुवारी","मार्च","एप्रिल","मे","जून","जुलै","ऑगस्ट","सप्टेंबर","ऑक्टोबर","नोवेम्बर","डिसेंबर",""],
				namesAbbr: ["जानेवारी","फेब्रुवारी","मार्च","एप्रिल","मे","जून","जुलै","ऑगस्ट","सप्टेंबर","ऑक्टोबर","नोवेम्बर","डिसेंबर",""]
			},
			AM: ["म.पू.","म.पू.","म.पू."],
			PM: ["म.नं.","म.नं.","म.नं."],
			patterns: {
				d: "dd-MM-yyyy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "syr", "default", {
	name: "syr",
	englishName: "Syriac",
	nativeName: "ܣܘܪܝܝܐ",
	language: "syr",
	isRTL: true,
	numberFormat: {
		currency: {
			pattern: ["$n-","$ n"],
			symbol: "ل.س.\u200f"
		}
	},
	calendars: {
		standard: {
			firstDay: 6,
			days: {
				names: ["ܚܕ ܒܫܒܐ","ܬܪܝܢ ܒܫܒܐ","ܬܠܬܐ ܒܫܒܐ","ܐܪܒܥܐ ܒܫܒܐ","ܚܡܫܐ ܒܫܒܐ","ܥܪܘܒܬܐ","ܫܒܬܐ"],
				namesAbbr: ["\u070fܐ \u070fܒܫ","\u070fܒ \u070fܒܫ","\u070fܓ \u070fܒܫ","\u070fܕ \u070fܒܫ","\u070fܗ \u070fܒܫ","\u070fܥܪܘܒ","\u070fܫܒ"],
				namesShort: ["ܐ","ܒ","ܓ","ܕ","ܗ","ܥ","ܫ"]
			},
			months: {
				names: ["ܟܢܘܢ ܐܚܪܝ","ܫܒܛ","ܐܕܪ","ܢܝܣܢ","ܐܝܪ","ܚܙܝܪܢ","ܬܡܘܙ","ܐܒ","ܐܝܠܘܠ","ܬܫܪܝ ܩܕܝܡ","ܬܫܪܝ ܐܚܪܝ","ܟܢܘܢ ܩܕܝܡ",""],
				namesAbbr: ["\u070fܟܢ \u070fܒ","ܫܒܛ","ܐܕܪ","ܢܝܣܢ","ܐܝܪ","ܚܙܝܪܢ","ܬܡܘܙ","ܐܒ","ܐܝܠܘܠ","\u070fܬܫ \u070fܐ","\u070fܬܫ \u070fܒ","\u070fܟܢ \u070fܐ",""]
			},
			AM: ["ܩ.ܛ","ܩ.ܛ","ܩ.ܛ"],
			PM: ["ܒ.ܛ","ܒ.ܛ","ܒ.ܛ"],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM, yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM, yyyy hh:mm tt",
				F: "dd MMMM, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "si", "default", {
	name: "si",
	englishName: "Sinhala",
	nativeName: "සිංහල",
	language: "si",
	numberFormat: {
		groupSizes: [3,2],
		negativeInfinity: "-අනන්තය",
		positiveInfinity: "අනන්තය",
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["($ n)","$ n"],
			symbol: "රු."
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["ඉරිදා","සඳුදා","අඟහරුවාදා","බදාදා","බ්\u200dරහස්පතින්දා","සිකුරාදා","සෙනසුරාදා"],
				namesAbbr: ["ඉරිදා","සඳුදා","කුජදා","බුදදා","ගුරුදා","කිවිදා","ශනිදා"],
				namesShort: ["ඉ","ස","අ","බ","බ්\u200dර","සි","සෙ"]
			},
			months: {
				names: ["ජනවාරි","පෙබරවාරි","මාර්තු","අ\u200cප්\u200dරේල්","මැයි","ජූනි","ජූලි","අ\u200cගෝස්තු","සැප්තැම්බර්","ඔක්තෝබර්","නොවැම්බර්","දෙසැම්බර්",""],
				namesAbbr: ["ජන.","පෙබ.","මාර්තු.","අප්\u200dරේල්.","මැයි.","ජූනි.","ජූලි.","අගෝ.","සැප්.","ඔක්.","නොවැ.","දෙසැ.",""]
			},
			AM: ["පෙ.ව.","පෙ.ව.","පෙ.ව."],
			PM: ["ප.ව.","ප.ව.","ප.ව."],
			eras: [{"name":"ක්\u200dරි.ව.","start":null,"offset":0}],
			patterns: {
				d: "yyyy-MM-dd",
				D: "yyyy MMMM' මස 'dd' වැනිදා 'dddd",
				f: "yyyy MMMM' මස 'dd' වැනිදා 'dddd h:mm tt",
				F: "yyyy MMMM' මස 'dd' වැනිදා 'dddd h:mm:ss tt",
				Y: "yyyy MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "iu", "default", {
	name: "iu",
	englishName: "Inuktitut",
	nativeName: "Inuktitut",
	language: "iu",
	numberFormat: {
		groupSizes: [3,0],
		percent: {
			groupSizes: [3,0]
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Naattiinguja","Naggajjau","Aippiq","Pingatsiq","Sitammiq","Tallirmiq","Sivataarvik"],
				namesAbbr: ["Nat","Nag","Aip","Pi","Sit","Tal","Siv"],
				namesShort: ["N","N","A","P","S","T","S"]
			},
			months: {
				names: ["Jaannuari","Viivvuari","Maatsi","Iipuri","Mai","Juuni","Julai","Aaggiisi","Sitipiri","Utupiri","Nuvipiri","Tisipiri",""],
				namesAbbr: ["Jan","Viv","Mas","Ipu","Mai","Jun","Jul","Agi","Sii","Uut","Nuv","Tis",""]
			},
			patterns: {
				d: "d/MM/yyyy",
				D: "ddd, MMMM dd,yyyy",
				f: "ddd, MMMM dd,yyyy h:mm tt",
				F: "ddd, MMMM dd,yyyy h:mm:ss tt"
			}
		}
	}
});

Globalize.addCultureInfo( "am", "default", {
	name: "am",
	englishName: "Amharic",
	nativeName: "አማርኛ",
	language: "am",
	numberFormat: {
		decimals: 1,
		groupSizes: [3,0],
		"NaN": "NAN",
		percent: {
			pattern: ["-n%","n%"],
			decimals: 1,
			groupSizes: [3,0]
		},
		currency: {
			pattern: ["-$n","$n"],
			groupSizes: [3,0],
			symbol: "ETB"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["እሑድ","ሰኞ","ማክሰኞ","ረቡዕ","ሐሙስ","ዓርብ","ቅዳሜ"],
				namesAbbr: ["እሑድ","ሰኞ","ማክሰ","ረቡዕ","ሐሙስ","ዓርብ","ቅዳሜ"],
				namesShort: ["እ","ሰ","ማ","ረ","ሐ","ዓ","ቅ"]
			},
			months: {
				names: ["ጃንዩወሪ","ፌብሩወሪ","ማርች","ኤፕረል","ሜይ","ጁን","ጁላይ","ኦገስት","ሴፕቴምበር","ኦክተውበር","ኖቬምበር","ዲሴምበር",""],
				namesAbbr: ["ጃንዩ","ፌብሩ","ማርች","ኤፕረ","ሜይ","ጁን","ጁላይ","ኦገስ","ሴፕቴ","ኦክተ","ኖቬም","ዲሴም",""]
			},
			AM: ["ጡዋት","ጡዋት","ጡዋት"],
			PM: ["ከሰዓት","ከሰዓት","ከሰዓት"],
			eras: [{"name":"ዓመተ  ምሕረት","start":null,"offset":0}],
			patterns: {
				d: "d/M/yyyy",
				D: "dddd '፣' MMMM d 'ቀን' yyyy",
				f: "dddd '፣' MMMM d 'ቀን' yyyy h:mm tt",
				F: "dddd '፣' MMMM d 'ቀን' yyyy h:mm:ss tt",
				M: "MMMM d ቀን",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "tzm", "default", {
	name: "tzm",
	englishName: "Tamazight",
	nativeName: "Tamazight",
	language: "tzm",
	numberFormat: {
		pattern: ["n-"],
		",": ".",
		".": ",",
		"NaN": "Non Numérique",
		negativeInfinity: "-Infini",
		positiveInfinity: "+Infini",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			symbol: "DZD"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 6,
			days: {
				names: ["Acer","Arime","Aram","Ahad","Amhadh","Sem","Sedh"],
				namesAbbr: ["Ace","Ari","Ara","Aha","Amh","Sem","Sed"],
				namesShort: ["Ac","Ar","Ar","Ah","Am","Se","Se"]
			},
			months: {
				names: ["Yenayer","Furar","Maghres","Yebrir","Mayu","Yunyu","Yulyu","Ghuct","Cutenber","Ktuber","Wambir","Dujanbir",""],
				namesAbbr: ["Yen","Fur","Mag","Yeb","May","Yun","Yul","Ghu","Cut","Ktu","Wam","Duj",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd-MM-yyyy",
				D: "dd MMMM, yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dd MMMM, yyyy H:mm",
				F: "dd MMMM, yyyy H:mm:ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "ne", "default", {
	name: "ne",
	englishName: "Nepali",
	nativeName: "नेपाली",
	language: "ne",
	numberFormat: {
		groupSizes: [3,2],
		"NaN": "nan",
		negativeInfinity: "-infinity",
		positiveInfinity: "infinity",
		percent: {
			pattern: ["-n%","n%"],
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["-$n","$n"],
			symbol: "रु"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["आइतवार","सोमवार","मङ्गलवार","बुधवार","बिहीवार","शुक्रवार","शनिवार"],
				namesAbbr: ["आइत","सोम","मङ्गल","बुध","बिही","शुक्र","शनि"],
				namesShort: ["आ","सो","म","बु","बि","शु","श"]
			},
			months: {
				names: ["जनवरी","फेब्रुअरी","मार्च","अप्रिल","मे","जून","जुलाई","अगस्त","सेप्टेम्बर","अक्टोबर","नोभेम्बर","डिसेम्बर",""],
				namesAbbr: ["जन","फेब","मार्च","अप्रिल","मे","जून","जुलाई","अग","सेप्ट","अक्ट","नोभ","डिस",""]
			},
			AM: ["विहानी","विहानी","विहानी"],
			PM: ["बेलुकी","बेलुकी","बेलुकी"],
			eras: [{"name":"a.d.","start":null,"offset":0}],
			patterns: {
				Y: "MMMM,yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "fy", "default", {
	name: "fy",
	englishName: "Frisian",
	nativeName: "Frysk",
	language: "fy",
	numberFormat: {
		",": ".",
		".": ",",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["$ -n","$ n"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["Snein","Moandei","Tiisdei","Woansdei","Tongersdei","Freed","Sneon"],
				namesAbbr: ["Sn","Mo","Ti","Wo","To","Fr","Sn"],
				namesShort: ["S","M","T","W","T","F","S"]
			},
			months: {
				names: ["jannewaris","febrewaris","maart","april","maaie","juny","july","augustus","septimber","oktober","novimber","desimber",""],
				namesAbbr: ["jann","febr","mrt","apr","maaie","jun","jul","aug","sept","okt","nov","des",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d-M-yyyy",
				D: "dddd d MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd d MMMM yyyy H:mm",
				F: "dddd d MMMM yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ps", "default", {
	name: "ps",
	englishName: "Pashto",
	nativeName: "پښتو",
	language: "ps",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		",": "،",
		".": ",",
		"NaN": "غ ع",
		negativeInfinity: "-∞",
		positiveInfinity: "∞",
		percent: {
			pattern: ["%n-","%n"],
			",": "،",
			".": ","
		},
		currency: {
			pattern: ["$n-","$n"],
			",": "٬",
			".": "٫",
			symbol: "؋"
		}
	},
	calendars: {
		standard: {
			name: "Hijri",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["غ.م","غ.م","غ.م"],
			PM: ["غ.و","غ.و","غ.و"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				f: "dd/MM/yyyy h:mm tt",
				F: "dd/MM/yyyy h:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		Gregorian_Localized: {
			firstDay: 6,
			days: {
				names: ["یکشنبه","دوشنبه","سه\u200cشنبه","چارشنبه","پنجشنبه","جمعه","شنبه"],
				namesAbbr: ["یکشنبه","دوشنبه","سه\u200cشنبه","چارشنبه","پنجشنبه","جمعه","شنبه"],
				namesShort: ["ی","د","س","چ","پ","ج","ش"]
			},
			months: {
				names: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګا ښزمرى","زمرى","وږى","تله","لړم","لنڈ ۍ","مرغومى",""],
				namesAbbr: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګا ښ","زمرى","وږى","تله","لړم","لنڈ ۍ","مرغومى",""]
			},
			AM: ["غ.م","غ.م","غ.م"],
			PM: ["غ.و","غ.و","غ.و"],
			eras: [{"name":"ل.ه","start":null,"offset":0}],
			patterns: {
				d: "yyyy/M/d",
				D: "yyyy, dd, MMMM, dddd",
				f: "yyyy, dd, MMMM, dddd h:mm tt",
				F: "yyyy, dd, MMMM, dddd h:mm:ss tt",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "fil", "default", {
	name: "fil",
	englishName: "Filipino",
	nativeName: "Filipino",
	language: "fil",
	numberFormat: {
		currency: {
			symbol: "PhP"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Linggo","Lunes","Martes","Mierkoles","Huebes","Biernes","Sabado"],
				namesAbbr: ["Lin","Lun","Mar","Mier","Hueb","Bier","Saba"],
				namesShort: ["L","L","M","M","H","B","S"]
			},
			months: {
				names: ["Enero","Pebrero","Marso","Abril","Mayo","Hunyo","Hulyo","Agosto","Septyembre","Oktubre","Nobyembre","Disyembre",""],
				namesAbbr: ["En","Peb","Mar","Abr","Mayo","Hun","Hul","Agos","Sept","Okt","Nob","Dis",""]
			},
			eras: [{"name":"Anno Domini","start":null,"offset":0}]
		}
	}
});

Globalize.addCultureInfo( "dv", "default", {
	name: "dv",
	englishName: "Divehi",
	nativeName: "ދިވެހިބަސް",
	language: "dv",
	isRTL: true,
	numberFormat: {
		currency: {
			pattern: ["n $-","n $"],
			symbol: "ރ."
		}
	},
	calendars: {
		standard: {
			name: "Hijri",
			days: {
				names: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"],
				namesAbbr: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"],
				namesShort: ["އާ","ހޯ","އަ","ބު","ބު","ހު","ހޮ"]
			},
			months: {
				names: ["މުޙައްރަމް","ޞަފަރު","ރަބީޢުލްއައްވަލް","ރަބީޢުލްއާޚިރު","ޖުމާދަލްއޫލާ","ޖުމާދަލްއާޚިރާ","ރަޖަބް","ޝަޢްބާން","ރަމަޟާން","ޝައްވާލް","ޛުލްޤަޢިދާ","ޛުލްޙިއްޖާ",""],
				namesAbbr: ["މުޙައްރަމް","ޞަފަރު","ރަބީޢުލްއައްވަލް","ރަބީޢުލްއާޚިރު","ޖުމާދަލްއޫލާ","ޖުމާދަލްއާޚިރާ","ރަޖަބް","ޝަޢްބާން","ރަމަޟާން","ޝައްވާލް","ޛުލްޤަޢިދާ","ޛުލްޙިއްޖާ",""]
			},
			AM: ["މކ","މކ","މކ"],
			PM: ["މފ","މފ","މފ"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd/MM/yyyy HH:mm",
				F: "dd/MM/yyyy HH:mm:ss",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		Gregorian_Localized: {
			days: {
				names: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"],
				namesAbbr: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"],
				namesShort: ["އާ","ހޯ","އަ","ބު","ބު","ހު","ހޮ"]
			},
			months: {
				names: ["ޖަނަވަރީ","ފެބްރުއަރީ","މާޗް","އޭޕްރިލް","މެއި","ޖޫން","ޖުލައި","އޯގަސްޓް","ސެޕްޓެމްބަރ","އޮކްޓޯބަރ","ނޮވެމްބަރ","ޑިސެމްބަރ",""],
				namesAbbr: ["ޖަނަވަރީ","ފެބްރުއަރީ","މާޗް","އޭޕްރިލް","މެއި","ޖޫން","ޖުލައި","އޯގަސްޓް","ސެޕްޓެމްބަރ","އޮކްޓޯބަރ","ނޮވެމްބަރ","ޑިސެމްބަރ",""]
			},
			AM: ["މކ","މކ","މކ"],
			PM: ["މފ","މފ","މފ"],
			eras: [{"name":"މީލާދީ","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yy",
				D: "ddd, yyyy MMMM dd",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "ddd, yyyy MMMM dd HH:mm",
				F: "ddd, yyyy MMMM dd HH:mm:ss",
				Y: "yyyy, MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "ha", "default", {
	name: "ha",
	englishName: "Hausa",
	nativeName: "Hausa",
	language: "ha",
	numberFormat: {
		currency: {
			pattern: ["$-n","$ n"],
			symbol: "N"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Lahadi","Litinin","Talata","Laraba","Alhamis","Juma'a","Asabar"],
				namesAbbr: ["Lah","Lit","Tal","Lar","Alh","Jum","Asa"],
				namesShort: ["L","L","T","L","A","J","A"]
			},
			months: {
				names: ["Januwaru","Febreru","Maris","Afrilu","Mayu","Yuni","Yuli","Agusta","Satumba","Oktocba","Nuwamba","Disamba",""],
				namesAbbr: ["Jan","Feb","Mar","Afr","May","Yun","Yul","Agu","Sat","Okt","Nuw","Dis",""]
			},
			AM: ["Safe","safe","SAFE"],
			PM: ["Yamma","yamma","YAMMA"],
			eras: [{"name":"AD","start":null,"offset":0}],
			patterns: {
				d: "d/M/yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "yo", "default", {
	name: "yo",
	englishName: "Yoruba",
	nativeName: "Yoruba",
	language: "yo",
	numberFormat: {
		currency: {
			pattern: ["$-n","$ n"],
			symbol: "N"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Aiku","Aje","Isegun","Ojo'ru","Ojo'bo","Eti","Abameta"],
				namesAbbr: ["Aik","Aje","Ise","Ojo","Ojo","Eti","Aba"],
				namesShort: ["A","A","I","O","O","E","A"]
			},
			months: {
				names: ["Osu kinni","Osu keji","Osu keta","Osu kerin","Osu karun","Osu kefa","Osu keje","Osu kejo","Osu kesan","Osu kewa","Osu kokanla","Osu keresi",""],
				namesAbbr: ["kin.","kej.","ket.","ker.","kar.","kef.","kej.","kej.","kes.","kew.","kok.","ker.",""]
			},
			AM: ["Owuro","owuro","OWURO"],
			PM: ["Ale","ale","ALE"],
			eras: [{"name":"AD","start":null,"offset":0}],
			patterns: {
				d: "d/M/yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "quz", "default", {
	name: "quz",
	englishName: "Quechua",
	nativeName: "runasimi",
	language: "quz",
	numberFormat: {
		",": ".",
		".": ",",
		percent: {
			pattern: ["-%n","%n"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["($ n)","$ n"],
			",": ".",
			".": ",",
			symbol: "$b"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["intichaw","killachaw","atipachaw","quyllurchaw","Ch' askachaw","Illapachaw","k'uychichaw"],
				namesAbbr: ["int","kil","ati","quy","Ch'","Ill","k'u"],
				namesShort: ["d","k","a","m","h","b","k"]
			},
			months: {
				names: ["Qulla puquy","Hatun puquy","Pauqar waray","ayriwa","Aymuray","Inti raymi","Anta Sitwa","Qhapaq Sitwa","Uma raymi","Kantaray","Ayamarq'a","Kapaq Raymi",""],
				namesAbbr: ["Qul","Hat","Pau","ayr","Aym","Int","Ant","Qha","Uma","Kan","Aya","Kap",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt",
				F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "nso", "default", {
	name: "nso",
	englishName: "Sesotho sa Leboa",
	nativeName: "Sesotho sa Leboa",
	language: "nso",
	numberFormat: {
		percent: {
			pattern: ["-%n","%n"]
		},
		currency: {
			pattern: ["$-n","$ n"],
			symbol: "R"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Lamorena","Mošupologo","Labobedi","Laboraro","Labone","Labohlano","Mokibelo"],
				namesAbbr: ["Lam","Moš","Lbb","Lbr","Lbn","Lbh","Mok"],
				namesShort: ["L","M","L","L","L","L","M"]
			},
			months: {
				names: ["Pherekgong","Hlakola","Mopitlo","Moranang","Mosegamanye","Ngoatobošego","Phuphu","Phato","Lewedi","Diphalana","Dibatsela","Manthole",""],
				namesAbbr: ["Pher","Hlak","Mop","Mor","Mos","Ngwat","Phup","Phat","Lew","Dip","Dib","Man",""]
			},
			patterns: {
				d: "yyyy/MM/dd",
				D: "dd MMMM yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM yyyy hh:mm tt",
				F: "dd MMMM yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ba", "default", {
	name: "ba",
	englishName: "Bashkir",
	nativeName: "Башҡорт",
	language: "ba",
	numberFormat: {
		",": " ",
		".": ",",
		groupSizes: [3,0],
		negativeInfinity: "-бесконечность",
		positiveInfinity: "бесконечность",
		percent: {
			pattern: ["-n%","n%"],
			groupSizes: [3,0],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			groupSizes: [3,0],
			",": " ",
			".": ",",
			symbol: "һ."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Йәкшәмбе","Дүшәмбе","Шишәмбе","Шаршамбы","Кесаҙна","Йома","Шәмбе"],
				namesAbbr: ["Йш","Дш","Шш","Шр","Кс","Йм","Шб"],
				namesShort: ["Йш","Дш","Шш","Шр","Кс","Йм","Шб"]
			},
			months: {
				names: ["ғинуар","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь",""],
				namesAbbr: ["ғин","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yy",
				D: "d MMMM yyyy 'й'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM yyyy 'й' H:mm",
				F: "d MMMM yyyy 'й' H:mm:ss",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "lb", "default", {
	name: "lb",
	englishName: "Luxembourgish",
	nativeName: "Lëtzebuergesch",
	language: "lb",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "n. num.",
		negativeInfinity: "-onendlech",
		positiveInfinity: "+onendlech",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Sonndeg","Méindeg","Dënschdeg","Mëttwoch","Donneschdeg","Freideg","Samschdeg"],
				namesAbbr: ["Son","Méi","Dën","Mët","Don","Fre","Sam"],
				namesShort: ["So","Mé","Dë","Më","Do","Fr","Sa"]
			},
			months: {
				names: ["Januar","Februar","Mäerz","Abrëll","Mee","Juni","Juli","August","September","Oktober","November","Dezember",""],
				namesAbbr: ["Jan","Feb","Mäe","Abr","Mee","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"n. Chr","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd d MMMM yyyy HH:mm",
				F: "dddd d MMMM yyyy HH:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "kl", "default", {
	name: "kl",
	englishName: "Greenlandic",
	nativeName: "kalaallisut",
	language: "kl",
	numberFormat: {
		",": ".",
		".": ",",
		groupSizes: [3,0],
		negativeInfinity: "-INF",
		positiveInfinity: "INF",
		percent: {
			groupSizes: [3,0],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,0],
			",": ".",
			".": ",",
			symbol: "kr."
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["sapaat","ataasinngorneq","marlunngorneq","pingasunngorneq","sisamanngorneq","tallimanngorneq","arfininngorneq"],
				namesAbbr: ["sap","ata","mar","ping","sis","tal","arf"],
				namesShort: ["sa","at","ma","pi","si","ta","ar"]
			},
			months: {
				names: ["januari","februari","martsi","apriili","maaji","juni","juli","aggusti","septembari","oktobari","novembari","decembari",""],
				namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd-MM-yyyy",
				D: "d. MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "d. MMMM yyyy HH:mm",
				F: "d. MMMM yyyy HH:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ig", "default", {
	name: "ig",
	englishName: "Igbo",
	nativeName: "Igbo",
	language: "ig",
	numberFormat: {
		currency: {
			pattern: ["$-n","$ n"],
			symbol: "N"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Aiku","Aje","Isegun","Ojo'ru","Ojo'bo","Eti","Abameta"],
				namesAbbr: ["Aik","Aje","Ise","Ojo","Ojo","Eti","Aba"],
				namesShort: ["A","A","I","O","O","E","A"]
			},
			months: {
				names: ["Onwa mbu","Onwa ibua","Onwa ato","Onwa ano","Onwa ise","Onwa isi","Onwa asa","Onwa asato","Onwa itolu","Onwa iri","Onwa iri n'ofu","Onwa iri n'ibua",""],
				namesAbbr: ["mbu.","ibu.","ato.","ano.","ise","isi","asa","asa.","ito.","iri.","n'of.","n'ib.",""]
			},
			AM: ["Ututu","ututu","UTUTU"],
			PM: ["Efifie","efifie","EFIFIE"],
			eras: [{"name":"AD","start":null,"offset":0}],
			patterns: {
				d: "d/M/yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ii", "default", {
	name: "ii",
	englishName: "Yi",
	nativeName: "ꆈꌠꁱꂷ",
	language: "ii",
	numberFormat: {
		groupSizes: [3,0],
		"NaN": "ꌗꂷꀋꉬ",
		negativeInfinity: "ꀄꊭꌐꀋꉆ",
		positiveInfinity: "ꈤꇁꑖꀋꉬ",
		percent: {
			pattern: ["-n%","n%"],
			groupSizes: [3,0]
		},
		currency: {
			pattern: ["$-n","$n"],
			symbol: "¥"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["ꑭꆏꑍ","ꆏꊂ꒔","ꆏꊂꑍ","ꆏꊂꌕ","ꆏꊂꇖ","ꆏꊂꉬ","ꆏꊂꃘ"],
				namesAbbr: ["ꑭꆏ","ꆏ꒔","ꆏꑍ","ꆏꌕ","ꆏꇖ","ꆏꉬ","ꆏꃘ"],
				namesShort: ["ꆏ","꒔","ꑍ","ꌕ","ꇖ","ꉬ","ꃘ"]
			},
			months: {
				names: ["ꋍꆪ","ꑍꆪ","ꌕꆪ","ꇖꆪ","ꉬꆪ","ꃘꆪ","ꏃꆪ","ꉆꆪ","ꈬꆪ","ꊰꆪ","ꊯꊪꆪ","ꊰꑋꆪ",""],
				namesAbbr: ["ꋍꆪ","ꑍꆪ","ꌕꆪ","ꇖꆪ","ꉬꆪ","ꃘꆪ","ꏃꆪ","ꉆꆪ","ꈬꆪ","ꊰꆪ","ꊯꊪꆪ","ꊰꑋꆪ",""]
			},
			AM: ["ꂵꆪꈌꈐ","ꂵꆪꈌꈐ","ꂵꆪꈌꈐ"],
			PM: ["ꂵꆪꈌꉈ","ꂵꆪꈌꉈ","ꂵꆪꈌꉈ"],
			eras: [{"name":"ꇬꑼ","start":null,"offset":0}],
			patterns: {
				d: "yyyy/M/d",
				D: "yyyy'ꈎ' M'ꆪ' d'ꑍ'",
				t: "tt h:mm",
				T: "H:mm:ss",
				f: "yyyy'ꈎ' M'ꆪ' d'ꑍ' tt h:mm",
				F: "yyyy'ꈎ' M'ꆪ' d'ꑍ' H:mm:ss",
				M: "M'ꆪ' d'ꑍ'",
				Y: "yyyy'ꈎ' M'ꆪ'"
			}
		}
	}
});

Globalize.addCultureInfo( "arn", "default", {
	name: "arn",
	englishName: "Mapudungun",
	nativeName: "Mapudungun",
	language: "arn",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-$ n","$ n"],
			",": ".",
			".": ","
		}
	},
	calendars: {
		standard: {
			"/": "-",
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sá"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd-MM-yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd, dd' de 'MMMM' de 'yyyy H:mm",
				F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "moh", "default", {
	name: "moh",
	englishName: "Mohawk",
	nativeName: "Kanien'kéha",
	language: "moh",
	numberFormat: {
		groupSizes: [3,0],
		percent: {
			groupSizes: [3,0]
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Awentatokentì:ke","Awentataón'ke","Ratironhia'kehronòn:ke","Soséhne","Okaristiiáhne","Ronwaia'tanentaktonhne","Entákta"],
				namesShort: ["S","M","T","W","T","F","S"]
			},
			months: {
				names: ["Tsothohrkó:Wa","Enniska","Enniskó:Wa","Onerahtókha","Onerahtohkó:Wa","Ohiari:Ha","Ohiarihkó:Wa","Seskéha","Seskehkó:Wa","Kenténha","Kentenhkó:Wa","Tsothóhrha",""]
			}
		}
	}
});

Globalize.addCultureInfo( "br", "default", {
	name: "br",
	englishName: "Breton",
	nativeName: "brezhoneg",
	language: "br",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "NkN",
		negativeInfinity: "-Anfin",
		positiveInfinity: "+Anfin",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Sul","Lun","Meurzh","Merc'her","Yaou","Gwener","Sadorn"],
				namesAbbr: ["Sul","Lun","Meu.","Mer.","Yaou","Gwe.","Sad."],
				namesShort: ["Su","Lu","Mz","Mc","Ya","Gw","Sa"]
			},
			months: {
				names: ["Genver","C'hwevrer","Meurzh","Ebrel","Mae","Mezheven","Gouere","Eost","Gwengolo","Here","Du","Kerzu",""],
				namesAbbr: ["Gen.","C'hwe.","Meur.","Ebr.","Mae","Mezh.","Goue.","Eost","Gwen.","Here","Du","Kzu",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"g. J.-K.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd d MMMM yyyy HH:mm",
				F: "dddd d MMMM yyyy HH:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ug", "default", {
	name: "ug",
	englishName: "Uyghur",
	nativeName: "ئۇيغۇرچە",
	language: "ug",
	isRTL: true,
	numberFormat: {
		"NaN": "سان ئەمەس",
		negativeInfinity: "مەنپىي چەكسىزلىك",
		positiveInfinity: "مۇسبەت چەكسىزلىك",
		percent: {
			pattern: ["-n%","n%"]
		},
		currency: {
			pattern: ["$-n","$n"],
			symbol: "¥"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			days: {
				names: ["يەكشەنبە","دۈشەنبە","سەيشەنبە","چارشەنبە","پەيشەنبە","جۈمە","شەنبە"],
				namesAbbr: ["يە","دۈ","سە","چا","پە","جۈ","شە"],
				namesShort: ["ي","د","س","چ","پ","ج","ش"]
			},
			months: {
				names: ["1-ئاي","2-ئاي","3-ئاي","4-ئاي","5-ئاي","6-ئاي","7-ئاي","8-ئاي","9-ئاي","10-ئاي","11-ئاي","12-ئاي",""],
				namesAbbr: ["1-ئاي","2-ئاي","3-ئاي","4-ئاي","5-ئاي","6-ئاي","7-ئاي","8-ئاي","9-ئاي","10-ئاي","11-ئاي","12-ئاي",""]
			},
			AM: ["چۈشتىن بۇرۇن","چۈشتىن بۇرۇن","چۈشتىن بۇرۇن"],
			PM: ["چۈشتىن كېيىن","چۈشتىن كېيىن","چۈشتىن كېيىن"],
			eras: [{"name":"مىلادى","start":null,"offset":0}],
			patterns: {
				d: "yyyy-M-d",
				D: "yyyy-'يىلى' MMMM d-'كۈنى،'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy-'يىلى' MMMM d-'كۈنى،' H:mm",
				F: "yyyy-'يىلى' MMMM d-'كۈنى،' H:mm:ss",
				M: "MMMM d'-كۈنى'",
				Y: "yyyy-'يىلى' MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "mi", "default", {
	name: "mi",
	englishName: "Maori",
	nativeName: "Reo Māori",
	language: "mi",
	numberFormat: {
		percent: {
			pattern: ["-%n","%n"]
		},
		currency: {
			pattern: ["-$n","$n"]
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Rātapu","Rāhina","Rātū","Rāapa","Rāpare","Rāmere","Rāhoroi"],
				namesAbbr: ["Ta","Hi","Tū","Apa","Pa","Me","Ho"],
				namesShort: ["Ta","Hi","Tū","Aa","Pa","Me","Ho"]
			},
			months: {
				names: ["Kohi-tātea","Hui-tanguru","Poutū-te-rangi","Paenga-whāwhā","Haratua","Pipiri","Hōngongoi","Here-turi-kōkā","Mahuru","Whiringa-ā-nuku","Whiringa-ā-rangi","Hakihea",""],
				namesAbbr: ["Kohi","Hui","Pou","Pae","Hara","Pipi","Hōngo","Here","Mahu","Nuku","Rangi","Haki",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd MMMM, yyyy",
				f: "dddd, dd MMMM, yyyy h:mm tt",
				F: "dddd, dd MMMM, yyyy h:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM, yy"
			}
		}
	}
});

Globalize.addCultureInfo( "oc", "default", {
	name: "oc",
	englishName: "Occitan",
	nativeName: "Occitan",
	language: "oc",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "Non Numeric",
		negativeInfinity: "-Infinit",
		positiveInfinity: "+Infinit",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["dimenge","diluns","dimars","dimècres","dijòus","divendres","dissabte"],
				namesAbbr: ["dim.","lun.","mar.","mèc.","jòu.","ven.","sab."],
				namesShort: ["di","lu","ma","mè","jò","ve","sa"]
			},
			months: {
				names: ["genier","febrier","març","abril","mai","junh","julh","agost","setembre","octobre","novembre","desembre",""],
				namesAbbr: ["gen.","feb.","mar.","abr.","mai.","jun.","jul.","ag.","set.","oct.","nov.","des.",""]
			},
			monthsGenitive: {
				names: ["de genier","de febrier","de març","d'abril","de mai","de junh","de julh","d'agost","de setembre","d'octobre","de novembre","de desembre",""],
				namesAbbr: ["gen.","feb.","mar.","abr.","mai.","jun.","jul.","ag.","set.","oct.","nov.","des.",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"après Jèsus-Crist","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd,' lo 'd MMMM' de 'yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd,' lo 'd MMMM' de 'yyyy HH:mm",
				F: "dddd,' lo 'd MMMM' de 'yyyy HH:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "co", "default", {
	name: "co",
	englishName: "Corsican",
	nativeName: "Corsu",
	language: "co",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "Mica numericu",
		negativeInfinity: "-Infinitu",
		positiveInfinity: "+Infinitu",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["dumenica","luni","marti","mercuri","ghjovi","venderi","sabbatu"],
				namesAbbr: ["dum.","lun.","mar.","mer.","ghj.","ven.","sab."],
				namesShort: ["du","lu","ma","me","gh","ve","sa"]
			},
			months: {
				names: ["ghjennaghju","ferraghju","marzu","aprile","maghju","ghjunghju","lugliu","aostu","settembre","ottobre","nuvembre","dicembre",""],
				namesAbbr: ["ghje","ferr","marz","apri","magh","ghju","lugl","aost","sett","otto","nuve","dice",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"dopu J-C","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd d MMMM yyyy HH:mm",
				F: "dddd d MMMM yyyy HH:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "gsw", "default", {
	name: "gsw",
	englishName: "Alsatian",
	nativeName: "Elsässisch",
	language: "gsw",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "Ohne Nummer",
		negativeInfinity: "-Unendlich",
		positiveInfinity: "+Unendlich",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Sundàà","Mondàà","Dienschdàà","Mittwuch","Dunnerschdàà","Fridàà","Sàmschdàà"],
				namesAbbr: ["Su.","Mo.","Di.","Mi.","Du.","Fr.","Sà."],
				namesShort: ["Su","Mo","Di","Mi","Du","Fr","Sà"]
			},
			months: {
				names: ["Jänner","Feverje","März","Àpril","Mai","Jüni","Jüli","Augscht","September","Oktower","Nowember","Dezember",""],
				namesAbbr: ["Jän.","Fev.","März","Apr.","Mai","Jüni","Jüli","Aug.","Sept.","Okt.","Now.","Dez.",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"Vor J.-C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd d MMMM yyyy HH:mm",
				F: "dddd d MMMM yyyy HH:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "sah", "default", {
	name: "sah",
	englishName: "Yakut",
	nativeName: "саха",
	language: "sah",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "NAN",
		negativeInfinity: "-бесконечность",
		positiveInfinity: "бесконечность",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n$","n$"],
			",": " ",
			".": ",",
			symbol: "с."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["баскыһыанньа","бэнидиэнньик","оптуорунньук","сэрэдэ","чэппиэр","бээтинсэ","субуота"],
				namesAbbr: ["Бс","Бн","Оп","Ср","Чп","Бт","Сб"],
				namesShort: ["Бс","Бн","Оп","Ср","Чп","Бт","Сб"]
			},
			months: {
				names: ["Тохсунньу","Олунньу","Кулун тутар","Муус устар","Ыам ыйа","Бэс ыйа","От ыйа","Атырдьах ыйа","Балаҕан ыйа","Алтынньы","Сэтинньи","Ахсынньы",""],
				namesAbbr: ["тхс","олн","кул","мст","ыам","бэс","отй","атр","блҕ","алт","стн","ахс",""]
			},
			monthsGenitive: {
				names: ["тохсунньу","олунньу","кулун тутар","муус устар","ыам ыйын","бэс ыйын","от ыйын","атырдьах ыйын","балаҕан ыйын","алтынньы","сэтинньи","ахсынньы",""],
				namesAbbr: ["тхс","олн","кул","мст","ыам","бэс","отй","атр","блҕ","алт","стн","ахс",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "MM.dd.yyyy",
				D: "MMMM d yyyy 'с.'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "MMMM d yyyy 'с.' H:mm",
				F: "MMMM d yyyy 'с.' H:mm:ss",
				Y: "MMMM yyyy 'с.'"
			}
		}
	}
});

Globalize.addCultureInfo( "qut", "default", {
	name: "qut",
	englishName: "K'iche",
	nativeName: "K'iche",
	language: "qut",
	numberFormat: {
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		currency: {
			symbol: "Q"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["juq'ij","kaq'ij","oxq'ij","kajq'ij","joq'ij","waqq'ij","wuqq'ij"],
				namesAbbr: ["juq","kaq","oxq","kajq","joq","waqq","wuqq"],
				namesShort: ["ju","ka","ox","ka","jo","wa","wu"]
			},
			months: {
				names: ["nab'e ik'","ukab' ik'","rox ik'","ukaj ik'","uro' ik'","uwaq ik'","uwuq ik'","uwajxaq ik'","ub'elej ik'","ulaj ik'","ujulaj ik'","ukab'laj ik'",""],
				namesAbbr: ["nab'e","ukab","rox","ukaj","uro","uwaq","uwuq","uwajxaq","ub'elej","ulaj","ujulaj","ukab'laj",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt",
				F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "rw", "default", {
	name: "rw",
	englishName: "Kinyarwanda",
	nativeName: "Kinyarwanda",
	language: "rw",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["$-n","$ n"],
			",": " ",
			".": ",",
			symbol: "RWF"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Ku wa mbere","Ku wa kabiri","Ku wa gatatu","Ku wa kane","Ku wa gatanu","Ku wa gatandatu","Ku cyumweru"],
				namesAbbr: ["mbe.","kab.","gat.","kan.","gat.","gat.","cyu."],
				namesShort: ["mb","ka","ga","ka","ga","ga","cy"]
			},
			months: {
				names: ["Mutarama","Gashyantare","Werurwe","Mata","Gicurasi","Kamena","Nyakanga","Kanama","Nzeli","Ukwakira","Ugushyingo","Ukuboza",""],
				namesAbbr: ["Mut","Gas","Wer","Mat","Gic","Kam","Nya","Kan","Nze","Ukwa","Ugu","Uku",""]
			},
			AM: ["saa moya z.m.","saa moya z.m.","SAA MOYA Z.M."],
			PM: ["saa moya z.n.","saa moya z.n.","SAA MOYA Z.N."],
			eras: [{"name":"AD","start":null,"offset":0}]
		}
	}
});

Globalize.addCultureInfo( "wo", "default", {
	name: "wo",
	englishName: "Wolof",
	nativeName: "Wolof",
	language: "wo",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "Non Numérique",
		negativeInfinity: "-Infini",
		positiveInfinity: "+Infini",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "XOF"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd d MMMM yyyy HH:mm",
				F: "dddd d MMMM yyyy HH:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "prs", "default", {
	name: "prs",
	englishName: "Dari",
	nativeName: "درى",
	language: "prs",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		",": ".",
		".": ",",
		"NaN": "غ ع",
		negativeInfinity: "-∞",
		positiveInfinity: "∞",
		percent: {
			pattern: ["%n-","%n"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["$n-","$n"],
			symbol: "؋"
		}
	},
	calendars: {
		standard: {
			name: "Hijri",
			firstDay: 5,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["غ.م","غ.م","غ.م"],
			PM: ["غ.و","غ.و","غ.و"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				f: "dd/MM/yyyy h:mm tt",
				F: "dd/MM/yyyy h:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		Gregorian_Localized: {
			firstDay: 5,
			days: {
				names: ["یکشنبه","دوشنبه","سه\u200cشنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],
				namesAbbr: ["یکشنبه","دوشنبه","سه\u200cشنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],
				namesShort: ["ی","د","س","چ","پ","ج","ش"]
			},
			months: {
				names: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګاښ","زمرى","وږى","تله","لړم","ليندۍ","مرغومى",""],
				namesAbbr: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګاښ","زمرى","وږى","تله","لړم","ليندۍ","مرغومى",""]
			},
			AM: ["غ.م","غ.م","غ.م"],
			PM: ["غ.و","غ.و","غ.و"],
			eras: [{"name":"ل.ه","start":null,"offset":0}],
			patterns: {
				d: "yyyy/M/d",
				D: "yyyy, dd, MMMM, dddd",
				f: "yyyy, dd, MMMM, dddd h:mm tt",
				F: "yyyy, dd, MMMM, dddd h:mm:ss tt",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "gd", "default", {
	name: "gd",
	englishName: "Scottish Gaelic",
	nativeName: "Gàidhlig",
	language: "gd",
	numberFormat: {
		negativeInfinity: "-Neo-chrìochnachd",
		positiveInfinity: "Neo-chrìochnachd",
		currency: {
			pattern: ["-$n","$n"],
			symbol: "£"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],
				namesAbbr: ["Dòm","Lua","Mài","Cia","Ard","Hao","Sat"],
				namesShort: ["D","L","M","C","A","H","S"]
			},
			months: {
				names: ["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd",""],
				namesAbbr: ["Fao","Gea","Màr","Gib","Cèi","Ògm","Iuc","Lùn","Sul","Dàm","Sam","Dùb",""]
			},
			AM: ["m","m","M"],
			PM: ["f","f","F"],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ar-SA", "default", {
	name: "ar-SA",
	englishName: "Arabic (Saudi Arabia)",
	nativeName: "العربية (المملكة العربية السعودية)",
	language: "ar",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		"NaN": "ليس برقم",
		negativeInfinity: "-لا نهاية",
		positiveInfinity: "+لا نهاية",
		currency: {
			pattern: ["$n-","$ n"],
			symbol: "ر.س.\u200f"
		}
	},
	calendars: {
		standard: {
			name: "UmAlQura",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MMMM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MMMM/yyyy hh:mm tt",
				F: "dd/MMMM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    _yearInfo: [
                        // MonthLengthFlags, Gregorian Date
                        [746, -2198707200000],
                        [1769, -2168121600000],
                        [3794, -2137449600000],
                        [3748, -2106777600000],
                        [3402, -2076192000000],
                        [2710, -2045606400000],
                        [1334, -2015020800000],
                        [2741, -1984435200000],
                        [3498, -1953763200000],
                        [2980, -1923091200000],
                        [2889, -1892505600000],
                        [2707, -1861920000000],
                        [1323, -1831334400000],
                        [2647, -1800748800000],
                        [1206, -1770076800000],
                        [2741, -1739491200000],
                        [1450, -1708819200000],
                        [3413, -1678233600000],
                        [3370, -1647561600000],
                        [2646, -1616976000000],
                        [1198, -1586390400000],
                        [2397, -1555804800000],
                        [748, -1525132800000],
                        [1749, -1494547200000],
                        [1706, -1463875200000],
                        [1365, -1433289600000],
                        [1195, -1402704000000],
                        [2395, -1372118400000],
                        [698, -1341446400000],
                        [1397, -1310860800000],
                        [2994, -1280188800000],
                        [1892, -1249516800000],
                        [1865, -1218931200000],
                        [1621, -1188345600000],
                        [683, -1157760000000],
                        [1371, -1127174400000],
                        [2778, -1096502400000],
                        [1748, -1065830400000],
                        [3785, -1035244800000],
                        [3474, -1004572800000],
                        [3365, -973987200000],
                        [2637, -943401600000],
                        [685, -912816000000],
                        [1389, -882230400000],
                        [2922, -851558400000],
                        [2898, -820886400000],
                        [2725, -790300800000],
                        [2635, -759715200000],
                        [1175, -729129600000],
                        [2359, -698544000000],
                        [694, -667872000000],
                        [1397, -637286400000],
                        [3434, -606614400000],
                        [3410, -575942400000],
                        [2710, -545356800000],
                        [2349, -514771200000],
                        [605, -484185600000],
                        [1245, -453600000000],
                        [2778, -422928000000],
                        [1492, -392256000000],
                        [3497, -361670400000],
                        [3410, -330998400000],
                        [2730, -300412800000],
                        [1238, -269827200000],
                        [2486, -239241600000],
                        [884, -208569600000],
                        [1897, -177984000000],
                        [1874, -147312000000],
                        [1701, -116726400000],
                        [1355, -86140800000],
                        [2731, -55555200000],
                        [1370, -24883200000],
                        [2773, 5702400000],
                        [3538, 36374400000],
                        [3492, 67046400000],
                        [3401, 97632000000],
                        [2709, 128217600000],
                        [1325, 158803200000],
                        [2653, 189388800000],
                        [1370, 220060800000],
                        [2773, 250646400000],
                        [1706, 281318400000],
                        [1685, 311904000000],
                        [1323, 342489600000],
                        [2647, 373075200000],
                        [1198, 403747200000],
                        [2422, 434332800000],
                        [1388, 465004800000],
                        [2901, 495590400000],
                        [2730, 526262400000],
                        [2645, 556848000000],
                        [1197, 587433600000],
                        [2397, 618019200000],
                        [730, 648691200000],
                        [1497, 679276800000],
                        [3506, 709948800000],
                        [2980, 740620800000],
                        [2890, 771206400000],
                        [2645, 801792000000],
                        [693, 832377600000],
                        [1397, 862963200000],
                        [2922, 893635200000],
                        [3026, 924307200000],
                        [3012, 954979200000],
                        [2953, 985564800000],
                        [2709, 1016150400000],
                        [1325, 1046736000000],
                        [1453, 1077321600000],
                        [2922, 1107993600000],
                        [1748, 1138665600000],
                        [3529, 1169251200000],
                        [3474, 1199923200000],
                        [2726, 1230508800000],
                        [2390, 1261094400000],
                        [686, 1291680000000],
                        [1389, 1322265600000],
                        [874, 1352937600000],
                        [2901, 1383523200000],
                        [2730, 1414195200000],
                        [2381, 1444780800000],
                        [1181, 1475366400000],
                        [2397, 1505952000000],
                        [698, 1536624000000],
                        [1461, 1567209600000],
                        [1450, 1597881600000],
                        [3413, 1628467200000],
                        [2714, 1659139200000],
                        [2350, 1689724800000],
                        [622, 1720310400000],
                        [1373, 1750896000000],
                        [2778, 1781568000000],
                        [1748, 1812240000000],
                        [1701, 1842825600000],
                        [0, 1873411200000]
                    ],
                    minDate: -2198707200000,
                    maxDate: 1873411199999,
                    toGregorian: function(hyear, hmonth, hday) {
                        var days = hday - 1,
                            gyear = hyear - 1318;
                        if (gyear < 0 || gyear >= this._yearInfo.length) return null;
                        var info = this._yearInfo[gyear],
                            gdate = new Date(info[1]),
                            monthLength = info[0];
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the gregorian date in the same timezone,
                        // not what the gregorian date was at GMT time, so we adjust for the offset.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        for (var i = 0; i < hmonth; i++) {
                            days += 29 + (monthLength & 1);
                            monthLength = monthLength >> 1;
                        }
                        gdate.setDate(gdate.getDate() + days);
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the hijri date in the same timezone,
                        // not what the hijri date was at GMT time, so we adjust for the offset.
                        var ticks = gdate - gdate.getTimezoneOffset() * 60000;
                        if (ticks < this.minDate || ticks > this.maxDate) return null;
                        var hyear = 0,
                            hmonth = 1;
                        // find the earliest gregorian date in the array that is greater than or equal to the given date
                        while (ticks > this._yearInfo[++hyear][1]) { }
                        if (ticks !== this._yearInfo[hyear][1]) {
                            hyear--;
                        }
                        var info = this._yearInfo[hyear],
                            // how many days has it been since the date we found in the array?
                            // 86400000 = ticks per day
                            days = Math.floor((ticks - info[1]) / 86400000),
                            monthLength = info[0];
                        hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
                        // now increment day/month based on the total days, considering
                        // how many days are in each month. We cannot run past the year
                        // mark since we would have found a different array entry in that case.
                        var daysInMonth = 29 + (monthLength & 1);
                        while (days >= daysInMonth) {
                            days -= daysInMonth;
                            monthLength = monthLength >> 1;
                            daysInMonth = 29 + (monthLength & 1);
                            hmonth++;
                        }
                        // remaining days is less than is in one month, thus is the day of the month we landed on
                        // hmonth-1 because in javascript months are zero based, stay consistent with that.
                        return [hyear, hmonth - 1, days + 1];
                    }
			}
		},
		Hijri: {
			name: "Hijri",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MM/yyyy hh:mm tt",
				F: "dd/MM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		Gregorian_MiddleEastFrench: {
			name: "Gregorian_MiddleEastFrench",
			firstDay: 6,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Gregorian_Arabic: {
			name: "Gregorian_Arabic",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
				namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		},
		Gregorian_Localized: {
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM, yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM, yyyy hh:mm tt",
				F: "dd MMMM, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Gregorian_TransliteratedFrench: {
			name: "Gregorian_TransliteratedFrench",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		}
	}
});

Globalize.addCultureInfo( "bg-BG", "default", {
	name: "bg-BG",
	englishName: "Bulgarian (Bulgaria)",
	nativeName: "български (България)",
	language: "bg",
	numberFormat: {
		",": " ",
		".": ",",
		negativeInfinity: "- безкрайност",
		positiveInfinity: "+ безкрайност",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "лв."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["неделя","понеделник","вторник","сряда","четвъртък","петък","събота"],
				namesAbbr: ["нед","пон","вт","ср","четв","пет","съб"],
				namesShort: ["н","п","в","с","ч","п","с"]
			},
			months: {
				names: ["януари","февруари","март","април","май","юни","юли","август","септември","октомври","ноември","декември",""],
				namesAbbr: ["ян","февр","март","апр","май","юни","юли","авг","септ","окт","ноември","дек",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"след новата ера","start":null,"offset":0}],
			patterns: {
				d: "d.M.yyyy 'г.'",
				D: "dd MMMM yyyy 'г.'",
				t: "HH:mm 'ч.'",
				T: "HH:mm:ss 'ч.'",
				f: "dd MMMM yyyy 'г.' HH:mm 'ч.'",
				F: "dd MMMM yyyy 'г.' HH:mm:ss 'ч.'",
				M: "dd MMMM",
				Y: "MMMM yyyy 'г.'"
			}
		}
	}
});

Globalize.addCultureInfo( "ca-ES", "default", {
	name: "ca-ES",
	englishName: "Catalan (Catalan)",
	nativeName: "català (català)",
	language: "ca",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "NeuN",
		negativeInfinity: "-Infinit",
		positiveInfinity: "Infinit",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],
				namesAbbr: ["dg.","dl.","dt.","dc.","dj.","dv.","ds."],
				namesShort: ["dg","dl","dt","dc","dj","dv","ds"]
			},
			months: {
				names: ["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre",""],
				namesAbbr: ["gen","feb","març","abr","maig","juny","jul","ag","set","oct","nov","des",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, d' / 'MMMM' / 'yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd, d' / 'MMMM' / 'yyyy HH:mm",
				F: "dddd, d' / 'MMMM' / 'yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM' / 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "zh-TW", "default", {
	name: "zh-TW",
	englishName: "Chinese (Traditional, Taiwan)",
	nativeName: "中文(台灣)",
	language: "zh-CHT",
	numberFormat: {
		"NaN": "不是一個數字",
		negativeInfinity: "負無窮大",
		positiveInfinity: "正無窮大",
		percent: {
			pattern: ["-n%","n%"]
		},
		currency: {
			pattern: ["-$n","$n"],
			symbol: "NT$"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],
				namesAbbr: ["週日","週一","週二","週三","週四","週五","週六"],
				namesShort: ["日","一","二","三","四","五","六"]
			},
			months: {
				names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""],
				namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""]
			},
			AM: ["上午","上午","上午"],
			PM: ["下午","下午","下午"],
			eras: [{"name":"西元","start":null,"offset":0}],
			patterns: {
				d: "yyyy/M/d",
				D: "yyyy'年'M'月'd'日'",
				t: "tt hh:mm",
				T: "tt hh:mm:ss",
				f: "yyyy'年'M'月'd'日' tt hh:mm",
				F: "yyyy'年'M'月'd'日' tt hh:mm:ss",
				M: "M'月'd'日'",
				Y: "yyyy'年'M'月'"
			}
		},
		Taiwan: {
			name: "Taiwan",
			days: {
				names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],
				namesAbbr: ["週日","週一","週二","週三","週四","週五","週六"],
				namesShort: ["日","一","二","三","四","五","六"]
			},
			months: {
				names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""],
				namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""]
			},
			AM: ["上午","上午","上午"],
			PM: ["下午","下午","下午"],
			eras: [{"name":"","start":null,"offset":1911}],
			twoDigitYearMax: 99,
			patterns: {
				d: "yyyy/M/d",
				D: "yyyy'年'M'月'd'日'",
				t: "tt hh:mm",
				T: "tt hh:mm:ss",
				f: "yyyy'年'M'月'd'日' tt hh:mm",
				F: "yyyy'年'M'月'd'日' tt hh:mm:ss",
				M: "M'月'd'日'",
				Y: "yyyy'年'M'月'"
			}
		}
	}
});

Globalize.addCultureInfo( "cs-CZ", "default", {
	name: "cs-CZ",
	englishName: "Czech (Czech Republic)",
	nativeName: "čeština (Česká republika)",
	language: "cs",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "Není číslo",
		negativeInfinity: "-nekonečno",
		positiveInfinity: "+nekonečno",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "Kč"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],
				namesAbbr: ["ne","po","út","st","čt","pá","so"],
				namesShort: ["ne","po","út","st","čt","pá","so"]
			},
			months: {
				names: ["leden","únor","březen","duben","květen","červen","červenec","srpen","září","říjen","listopad","prosinec",""],
				namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""]
			},
			monthsGenitive: {
				names: ["ledna","února","března","dubna","května","června","července","srpna","září","října","listopadu","prosince",""],
				namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""]
			},
			AM: ["dop.","dop.","DOP."],
			PM: ["odp.","odp.","ODP."],
			eras: [{"name":"n. l.","start":null,"offset":0}],
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy H:mm",
				F: "d. MMMM yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "da-DK", "default", {
	name: "da-DK",
	englishName: "Danish (Denmark)",
	nativeName: "dansk (Danmark)",
	language: "da",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-INF",
		positiveInfinity: "INF",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["$ -n","$ n"],
			",": ".",
			".": ",",
			symbol: "kr."
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],
				namesAbbr: ["sø","ma","ti","on","to","fr","lø"],
				namesShort: ["sø","ma","ti","on","to","fr","lø"]
			},
			months: {
				names: ["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december",""],
				namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd-MM-yyyy",
				D: "d. MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "d. MMMM yyyy HH:mm",
				F: "d. MMMM yyyy HH:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "de-DE", "default", {
	name: "de-DE",
	englishName: "German (Germany)",
	nativeName: "Deutsch (Deutschland)",
	language: "de",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "n. def.",
		negativeInfinity: "-unendlich",
		positiveInfinity: "+unendlich",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],
				namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"],
				namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"]
			},
			months: {
				names: ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""],
				namesAbbr: ["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"n. Chr.","start":null,"offset":0}],
			patterns: {
				d: "dd.MM.yyyy",
				D: "dddd, d. MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd, d. MMMM yyyy HH:mm",
				F: "dddd, d. MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "el-GR", "default", {
	name: "el-GR",
	englishName: "Greek (Greece)",
	nativeName: "Ελληνικά (Ελλάδα)",
	language: "el",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "μη αριθμός",
		negativeInfinity: "-Άπειρο",
		positiveInfinity: "Άπειρο",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],
				namesAbbr: ["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],
				namesShort: ["Κυ","Δε","Τρ","Τε","Πε","Πα","Σά"]
			},
			months: {
				names: ["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος",""],
				namesAbbr: ["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ",""]
			},
			monthsGenitive: {
				names: ["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου",""],
				namesAbbr: ["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ",""]
			},
			AM: ["πμ","πμ","ΠΜ"],
			PM: ["μμ","μμ","ΜΜ"],
			eras: [{"name":"μ.Χ.","start":null,"offset":0}],
			patterns: {
				d: "d/M/yyyy",
				D: "dddd, d MMMM yyyy",
				f: "dddd, d MMMM yyyy h:mm tt",
				F: "dddd, d MMMM yyyy h:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "en-US", "default", {
	name: "en-US",
	englishName: "English (United States)"
});

Globalize.addCultureInfo( "fi-FI", "default", {
	name: "fi-FI",
	englishName: "Finnish (Finland)",
	nativeName: "suomi (Suomi)",
	language: "fi",
	numberFormat: {
		",": " ",
		".": ",",
		negativeInfinity: "-INF",
		positiveInfinity: "INF",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"],
				namesAbbr: ["su","ma","ti","ke","to","pe","la"],
				namesShort: ["su","ma","ti","ke","to","pe","la"]
			},
			months: {
				names: ["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu",""],
				namesAbbr: ["tammi","helmi","maalis","huhti","touko","kesä","heinä","elo","syys","loka","marras","joulu",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM'ta 'yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM'ta 'yyyy H:mm",
				F: "d. MMMM'ta 'yyyy H:mm:ss",
				M: "d. MMMM'ta'",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "fr-FR", "default", {
	name: "fr-FR",
	englishName: "French (France)",
	nativeName: "français (France)",
	language: "fr",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "Non Numérique",
		negativeInfinity: "-Infini",
		positiveInfinity: "+Infini",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd d MMMM yyyy HH:mm",
				F: "dddd d MMMM yyyy HH:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "he-IL", "default", {
	name: "he-IL",
	englishName: "Hebrew (Israel)",
	nativeName: "עברית (ישראל)",
	language: "he",
	isRTL: true,
	numberFormat: {
		"NaN": "לא מספר",
		negativeInfinity: "אינסוף שלילי",
		positiveInfinity: "אינסוף חיובי",
		percent: {
			pattern: ["-n%","n%"]
		},
		currency: {
			pattern: ["$-n","$ n"],
			symbol: "₪"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["יום ראשון","יום שני","יום שלישי","יום רביעי","יום חמישי","יום שישי","שבת"],
				namesAbbr: ["יום א","יום ב","יום ג","יום ד","יום ה","יום ו","שבת"],
				namesShort: ["א","ב","ג","ד","ה","ו","ש"]
			},
			months: {
				names: ["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר",""],
				namesAbbr: ["ינו","פבר","מרץ","אפר","מאי","יונ","יול","אוג","ספט","אוק","נוב","דצמ",""]
			},
			eras: [{"name":"לספירה","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd dd MMMM yyyy HH:mm",
				F: "dddd dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		},
		Hebrew: {
			name: "Hebrew",
			"/": " ",
			days: {
				names: ["יום ראשון","יום שני","יום שלישי","יום רביעי","יום חמישי","יום שישי","שבת"],
				namesAbbr: ["א","ב","ג","ד","ה","ו","ש"],
				namesShort: ["א","ב","ג","ד","ה","ו","ש"]
			},
			months: {
				names: ["תשרי","חשון","כסלו","טבת","שבט","אדר","אדר ב","ניסן","אייר","סיון","תמוז","אב","אלול"],
				namesAbbr: ["תשרי","חשון","כסלו","טבת","שבט","אדר","אדר ב","ניסן","אייר","סיון","תמוז","אב","אלול"]
			},
			eras: [{"name":"C.E.","start":null,"offset":0}],
			twoDigitYearMax: 5790,
			patterns: {
				d: "dd MMMM yyyy",
				D: "dddd dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd dd MMMM yyyy HH:mm",
				F: "dddd dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "hu-HU", "default", {
	name: "hu-HU",
	englishName: "Hungarian (Hungary)",
	nativeName: "magyar (Magyarország)",
	language: "hu",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "nem szám",
		negativeInfinity: "negatív végtelen",
		positiveInfinity: "végtelen",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "Ft"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],
				namesAbbr: ["V","H","K","Sze","Cs","P","Szo"],
				namesShort: ["V","H","K","Sze","Cs","P","Szo"]
			},
			months: {
				names: ["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december",""],
				namesAbbr: ["jan.","febr.","márc.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec.",""]
			},
			AM: ["de.","de.","DE."],
			PM: ["du.","du.","DU."],
			eras: [{"name":"i.sz.","start":null,"offset":0}],
			patterns: {
				d: "yyyy.MM.dd.",
				D: "yyyy. MMMM d.",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy. MMMM d. H:mm",
				F: "yyyy. MMMM d. H:mm:ss",
				M: "MMMM d.",
				Y: "yyyy. MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "is-IS", "default", {
	name: "is-IS",
	englishName: "Icelandic (Iceland)",
	nativeName: "íslenska (Ísland)",
	language: "is",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-INF",
		positiveInfinity: "INF",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			decimals: 0,
			",": ".",
			".": ",",
			symbol: "kr."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["sunnudagur","mánudagur","þriðjudagur","miðvikudagur","fimmtudagur","föstudagur","laugardagur"],
				namesAbbr: ["sun.","mán.","þri.","mið.","fim.","fös.","lau."],
				namesShort: ["su","má","þr","mi","fi","fö","la"]
			},
			months: {
				names: ["janúar","febrúar","mars","apríl","maí","júní","júlí","ágúst","september","október","nóvember","desember",""],
				namesAbbr: ["jan.","feb.","mar.","apr.","maí","jún.","júl.","ágú.","sep.","okt.","nóv.","des.",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "d. MMMM yyyy HH:mm",
				F: "d. MMMM yyyy HH:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "it-IT", "default", {
	name: "it-IT",
	englishName: "Italian (Italy)",
	nativeName: "italiano (Italia)",
	language: "it",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "Non un numero reale",
		negativeInfinity: "-Infinito",
		positiveInfinity: "+Infinito",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-$ n","$ n"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"],
				namesAbbr: ["dom","lun","mar","mer","gio","ven","sab"],
				namesShort: ["do","lu","ma","me","gi","ve","sa"]
			},
			months: {
				names: ["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre",""],
				namesAbbr: ["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd d MMMM yyyy HH:mm",
				F: "dddd d MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ja-JP", "default", {
	name: "ja-JP",
	englishName: "Japanese (Japan)",
	nativeName: "日本語 (日本)",
	language: "ja",
	numberFormat: {
		"NaN": "NaN (非数値)",
		negativeInfinity: "-∞",
		positiveInfinity: "+∞",
		percent: {
			pattern: ["-n%","n%"]
		},
		currency: {
			pattern: ["-$n","$n"],
			decimals: 0,
			symbol: "¥"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],
				namesAbbr: ["日","月","火","水","木","金","土"],
				namesShort: ["日","月","火","水","木","金","土"]
			},
			months: {
				names: ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月",""],
				namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""]
			},
			AM: ["午前","午前","午前"],
			PM: ["午後","午後","午後"],
			eras: [{"name":"西暦","start":null,"offset":0}],
			patterns: {
				d: "yyyy/MM/dd",
				D: "yyyy'年'M'月'd'日'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy'年'M'月'd'日' H:mm",
				F: "yyyy'年'M'月'd'日' H:mm:ss",
				M: "M'月'd'日'",
				Y: "yyyy'年'M'月'"
			}
		},
		Japanese: {
			name: "Japanese",
			days: {
				names: ["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],
				namesAbbr: ["日","月","火","水","木","金","土"],
				namesShort: ["日","月","火","水","木","金","土"]
			},
			months: {
				names: ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月",""],
				namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""]
			},
			AM: ["午前","午前","午前"],
			PM: ["午後","午後","午後"],
			eras: [{"name":"平成","start":null,"offset":1867},{"name":"昭和","start":-1812153600000,"offset":1911},{"name":"大正","start":-1357603200000,"offset":1925},{"name":"明治","start":60022080000,"offset":1988}],
			twoDigitYearMax: 99,
			patterns: {
				d: "gg y/M/d",
				D: "gg y'年'M'月'd'日'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "gg y'年'M'月'd'日' H:mm",
				F: "gg y'年'M'月'd'日' H:mm:ss",
				M: "M'月'd'日'",
				Y: "gg y'年'M'月'"
			}
		}
	}
});

Globalize.addCultureInfo( "ko-KR", "default", {
	name: "ko-KR",
	englishName: "Korean (Korea)",
	nativeName: "한국어 (대한민국)",
	language: "ko",
	numberFormat: {
		currency: {
			pattern: ["-$n","$n"],
			decimals: 0,
			symbol: "₩"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			days: {
				names: ["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],
				namesAbbr: ["일","월","화","수","목","금","토"],
				namesShort: ["일","월","화","수","목","금","토"]
			},
			months: {
				names: ["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월",""],
				namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""]
			},
			AM: ["오전","오전","오전"],
			PM: ["오후","오후","오후"],
			eras: [{"name":"서기","start":null,"offset":0}],
			patterns: {
				d: "yyyy-MM-dd",
				D: "yyyy'년' M'월' d'일' dddd",
				t: "tt h:mm",
				T: "tt h:mm:ss",
				f: "yyyy'년' M'월' d'일' dddd tt h:mm",
				F: "yyyy'년' M'월' d'일' dddd tt h:mm:ss",
				M: "M'월' d'일'",
				Y: "yyyy'년' M'월'"
			}
		},
		Korean: {
			name: "Korean",
			"/": "-",
			days: {
				names: ["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],
				namesAbbr: ["일","월","화","수","목","금","토"],
				namesShort: ["일","월","화","수","목","금","토"]
			},
			months: {
				names: ["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월",""],
				namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""]
			},
			AM: ["오전","오전","오전"],
			PM: ["오후","오후","오후"],
			eras: [{"name":"단기","start":null,"offset":-2333}],
			twoDigitYearMax: 4362,
			patterns: {
				d: "gg yyyy-MM-dd",
				D: "gg yyyy'년' M'월' d'일' dddd",
				t: "tt h:mm",
				T: "tt h:mm:ss",
				f: "gg yyyy'년' M'월' d'일' dddd tt h:mm",
				F: "gg yyyy'년' M'월' d'일' dddd tt h:mm:ss",
				M: "M'월' d'일'",
				Y: "gg yyyy'년' M'월'"
			}
		}
	}
});

Globalize.addCultureInfo( "nl-NL", "default", {
	name: "nl-NL",
	englishName: "Dutch (Netherlands)",
	nativeName: "Nederlands (Nederland)",
	language: "nl",
	numberFormat: {
		",": ".",
		".": ",",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["$ -n","$ n"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],
				namesAbbr: ["zo","ma","di","wo","do","vr","za"],
				namesShort: ["zo","ma","di","wo","do","vr","za"]
			},
			months: {
				names: ["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december",""],
				namesAbbr: ["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d-M-yyyy",
				D: "dddd d MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd d MMMM yyyy H:mm",
				F: "dddd d MMMM yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "nb-NO", "default", {
	name: "nb-NO",
	englishName: "Norwegian, Bokmål (Norway)",
	nativeName: "norsk, bokmål (Norge)",
	language: "nb",
	numberFormat: {
		",": " ",
		".": ",",
		negativeInfinity: "-INF",
		positiveInfinity: "INF",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["$ -n","$ n"],
			",": " ",
			".": ",",
			symbol: "kr"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],
				namesAbbr: ["sø","ma","ti","on","to","fr","lø"],
				namesShort: ["sø","ma","ti","on","to","fr","lø"]
			},
			months: {
				names: ["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember",""],
				namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d. MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "d. MMMM yyyy HH:mm",
				F: "d. MMMM yyyy HH:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "pl-PL", "default", {
	name: "pl-PL",
	englishName: "Polish (Poland)",
	nativeName: "polski (Polska)",
	language: "pl",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "nie jest liczbą",
		negativeInfinity: "-nieskończoność",
		positiveInfinity: "+nieskończoność",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "zł"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"],
				namesAbbr: ["N","Pn","Wt","Śr","Cz","Pt","So"],
				namesShort: ["N","Pn","Wt","Śr","Cz","Pt","So"]
			},
			months: {
				names: ["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień",""],
				namesAbbr: ["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru",""]
			},
			monthsGenitive: {
				names: ["stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","września","października","listopada","grudnia",""],
				namesAbbr: ["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "yyyy-MM-dd",
				D: "d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "d MMMM yyyy HH:mm",
				F: "d MMMM yyyy HH:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "pt-BR", "default", {
	name: "pt-BR",
	englishName: "Portuguese (Brazil)",
	nativeName: "Português (Brasil)",
	language: "pt",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "NaN (Não é um número)",
		negativeInfinity: "-Infinito",
		positiveInfinity: "+Infinito",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-$ n","$ n"],
			",": ".",
			".": ",",
			symbol: "R$"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"],
				namesAbbr: ["dom","seg","ter","qua","qui","sex","sáb"],
				namesShort: ["D","S","T","Q","Q","S","S"]
			},
			months: {
				names: ["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro",""],
				namesAbbr: ["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, d' de 'MMMM' de 'yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd, d' de 'MMMM' de 'yyyy HH:mm",
				F: "dddd, d' de 'MMMM' de 'yyyy HH:mm:ss",
				M: "dd' de 'MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "rm-CH", "default", {
	name: "rm-CH",
	englishName: "Romansh (Switzerland)",
	nativeName: "Rumantsch (Svizra)",
	language: "rm",
	numberFormat: {
		",": "'",
		"NaN": "betg def.",
		negativeInfinity: "-infinit",
		positiveInfinity: "+infinit",
		percent: {
			pattern: ["-n%","n%"],
			",": "'"
		},
		currency: {
			pattern: ["$-n","$ n"],
			",": "'",
			symbol: "fr."
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["dumengia","glindesdi","mardi","mesemna","gievgia","venderdi","sonda"],
				namesAbbr: ["du","gli","ma","me","gie","ve","so"],
				namesShort: ["du","gli","ma","me","gie","ve","so"]
			},
			months: {
				names: ["schaner","favrer","mars","avrigl","matg","zercladur","fanadur","avust","settember","october","november","december",""],
				namesAbbr: ["schan","favr","mars","avr","matg","zercl","fan","avust","sett","oct","nov","dec",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"s. Cr.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd, d MMMM yyyy HH:mm",
				F: "dddd, d MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ro-RO", "default", {
	name: "ro-RO",
	englishName: "Romanian (Romania)",
	nativeName: "română (România)",
	language: "ro",
	numberFormat: {
		",": ".",
		".": ",",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "lei"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["duminică","luni","marţi","miercuri","joi","vineri","sâmbătă"],
				namesAbbr: ["D","L","Ma","Mi","J","V","S"],
				namesShort: ["D","L","Ma","Mi","J","V","S"]
			},
			months: {
				names: ["ianuarie","februarie","martie","aprilie","mai","iunie","iulie","august","septembrie","octombrie","noiembrie","decembrie",""],
				namesAbbr: ["ian.","feb.","mar.","apr.","mai.","iun.","iul.","aug.","sep.","oct.","nov.","dec.",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "d MMMM yyyy HH:mm",
				F: "d MMMM yyyy HH:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ru-RU", "default", {
	name: "ru-RU",
	englishName: "Russian (Russia)",
	nativeName: "русский (Россия)",
	language: "ru",
	numberFormat: {
		",": " ",
		".": ",",
		negativeInfinity: "-бесконечность",
		positiveInfinity: "бесконечность",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n$","n$"],
			",": " ",
			".": ",",
			symbol: "р."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],
				namesAbbr: ["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],
				namesShort: ["Вс","Пн","Вт","Ср","Чт","Пт","Сб"]
			},
			months: {
				names: ["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь",""],
				namesAbbr: ["янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек",""]
			},
			monthsGenitive: {
				names: ["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря",""],
				namesAbbr: ["янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d MMMM yyyy 'г.'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM yyyy 'г.' H:mm",
				F: "d MMMM yyyy 'г.' H:mm:ss",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "hr-HR", "default", {
	name: "hr-HR",
	englishName: "Croatian (Croatia)",
	nativeName: "hrvatski (Hrvatska)",
	language: "hr",
	numberFormat: {
		pattern: ["- n"],
		",": ".",
		".": ",",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "kn"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"],
				namesAbbr: ["ned","pon","uto","sri","čet","pet","sub"],
				namesShort: ["ne","po","ut","sr","če","pe","su"]
			},
			months: {
				names: ["siječanj","veljača","ožujak","travanj","svibanj","lipanj","srpanj","kolovoz","rujan","listopad","studeni","prosinac",""],
				namesAbbr: ["sij","vlj","ožu","tra","svi","lip","srp","kol","ruj","lis","stu","pro",""]
			},
			monthsGenitive: {
				names: ["siječnja","veljače","ožujka","travnja","svibnja","lipnja","srpnja","kolovoza","rujna","listopada","studenog","prosinca",""],
				namesAbbr: ["sij","vlj","ožu","tra","svi","lip","srp","kol","ruj","lis","stu","pro",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d.M.yyyy.",
				D: "d. MMMM yyyy.",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy. H:mm",
				F: "d. MMMM yyyy. H:mm:ss",
				M: "d. MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "sk-SK", "default", {
	name: "sk-SK",
	englishName: "Slovak (Slovakia)",
	nativeName: "slovenčina (Slovenská republika)",
	language: "sk",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "Nie je číslo",
		negativeInfinity: "-nekonečno",
		positiveInfinity: "+nekonečno",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": ". ",
			firstDay: 1,
			days: {
				names: ["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"],
				namesAbbr: ["ne","po","ut","st","št","pi","so"],
				namesShort: ["ne","po","ut","st","št","pi","so"]
			},
			months: {
				names: ["január","február","marec","apríl","máj","jún","júl","august","september","október","november","december",""],
				namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""]
			},
			monthsGenitive: {
				names: ["januára","februára","marca","apríla","mája","júna","júla","augusta","septembra","októbra","novembra","decembra",""],
				namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"n. l.","start":null,"offset":0}],
			patterns: {
				d: "d. M. yyyy",
				D: "d. MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy H:mm",
				F: "d. MMMM yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "sq-AL", "default", {
	name: "sq-AL",
	englishName: "Albanian (Albania)",
	nativeName: "shqipe (Shqipëria)",
	language: "sq",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-infinit",
		positiveInfinity: "infinit",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n$","n$"],
			",": ".",
			".": ",",
			symbol: "Lek"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["e diel","e hënë","e martë","e mërkurë","e enjte","e premte","e shtunë"],
				namesAbbr: ["Die","Hën","Mar","Mër","Enj","Pre","Sht"],
				namesShort: ["Di","Hë","Ma","Më","En","Pr","Sh"]
			},
			months: {
				names: ["janar","shkurt","mars","prill","maj","qershor","korrik","gusht","shtator","tetor","nëntor","dhjetor",""],
				namesAbbr: ["Jan","Shk","Mar","Pri","Maj","Qer","Kor","Gsh","Sht","Tet","Nën","Dhj",""]
			},
			AM: ["PD","pd","PD"],
			PM: ["MD","md","MD"],
			patterns: {
				d: "yyyy-MM-dd",
				D: "yyyy-MM-dd",
				t: "h:mm.tt",
				T: "h:mm:ss.tt",
				f: "yyyy-MM-dd h:mm.tt",
				F: "yyyy-MM-dd h:mm:ss.tt",
				Y: "yyyy-MM"
			}
		}
	}
});

Globalize.addCultureInfo( "sv-SE", "default", {
	name: "sv-SE",
	englishName: "Swedish (Sweden)",
	nativeName: "svenska (Sverige)",
	language: "sv",
	numberFormat: {
		",": " ",
		".": ",",
		negativeInfinity: "-INF",
		positiveInfinity: "INF",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "kr"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],
				namesAbbr: ["sö","må","ti","on","to","fr","lö"],
				namesShort: ["sö","må","ti","on","to","fr","lö"]
			},
			months: {
				names: ["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december",""],
				namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "yyyy-MM-dd",
				D: "'den 'd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "'den 'd MMMM yyyy HH:mm",
				F: "'den 'd MMMM yyyy HH:mm:ss",
				M: "'den 'd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "th-TH", "default", {
	name: "th-TH",
	englishName: "Thai (Thailand)",
	nativeName: "ไทย (ไทย)",
	language: "th",
	numberFormat: {
		currency: {
			pattern: ["-$n","$n"],
			symbol: "฿"
		}
	},
	calendars: {
		standard: {
			name: "ThaiBuddhist",
			firstDay: 1,
			days: {
				names: ["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์"],
				namesAbbr: ["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],
				namesShort: ["อ","จ","อ","พ","พ","ศ","ส"]
			},
			months: {
				names: ["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม",""],
				namesAbbr: ["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.",""]
			},
			eras: [{"name":"พ.ศ.","start":null,"offset":-543}],
			twoDigitYearMax: 2572,
			patterns: {
				d: "d/M/yyyy",
				D: "d MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM yyyy H:mm",
				F: "d MMMM yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		},
		Gregorian_Localized: {
			firstDay: 1,
			days: {
				names: ["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์"],
				namesAbbr: ["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],
				namesShort: ["อ","จ","อ","พ","พ","ศ","ส"]
			},
			months: {
				names: ["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม",""],
				namesAbbr: ["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.",""]
			},
			patterns: {
				d: "d/M/yyyy",
				D: "'วัน'dddd'ที่' d MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "'วัน'dddd'ที่' d MMMM yyyy H:mm",
				F: "'วัน'dddd'ที่' d MMMM yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "tr-TR", "default", {
	name: "tr-TR",
	englishName: "Turkish (Turkey)",
	nativeName: "Türkçe (Türkiye)",
	language: "tr",
	numberFormat: {
		",": ".",
		".": ",",
		percent: {
			pattern: ["-%n","%n"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "TL"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],
				namesAbbr: ["Paz","Pzt","Sal","Çar","Per","Cum","Cmt"],
				namesShort: ["Pz","Pt","Sa","Ça","Pe","Cu","Ct"]
			},
			months: {
				names: ["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık",""],
				namesAbbr: ["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "dd MMMM yyyy dddd",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy dddd HH:mm",
				F: "dd MMMM yyyy dddd HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ur-PK", "default", {
	name: "ur-PK",
	englishName: "Urdu (Islamic Republic of Pakistan)",
	nativeName: "اُردو (پاکستان)",
	language: "ur",
	isRTL: true,
	numberFormat: {
		currency: {
			pattern: ["$n-","$n"],
			symbol: "Rs"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["اتوار","پير","منگل","بدھ","جمعرات","جمعه","هفته"],
				namesAbbr: ["اتوار","پير","منگل","بدھ","جمعرات","جمعه","هفته"],
				namesShort: ["ا","پ","م","ب","ج","ج","ه"]
			},
			months: {
				names: ["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر",""],
				namesAbbr: ["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر",""]
			},
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM, yyyy",
				f: "dd MMMM, yyyy h:mm tt",
				F: "dd MMMM, yyyy h:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Hijri: {
			name: "Hijri",
			firstDay: 1,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				f: "dd/MM/yyyy h:mm tt",
				F: "dd/MM/yyyy h:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		}
	}
});

Globalize.addCultureInfo( "id-ID", "default", {
	name: "id-ID",
	englishName: "Indonesian (Indonesia)",
	nativeName: "Bahasa Indonesia (Indonesia)",
	language: "id",
	numberFormat: {
		",": ".",
		".": ",",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			decimals: 0,
			",": ".",
			".": ",",
			symbol: "Rp"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],
				namesAbbr: ["Minggu","Sen","Sel","Rabu","Kamis","Jumat","Sabtu"],
				namesShort: ["M","S","S","R","K","J","S"]
			},
			months: {
				names: ["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","Nopember","Desember",""],
				namesAbbr: ["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agust","Sep","Okt","Nop","Des",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dd MMMM yyyy H:mm",
				F: "dd MMMM yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "uk-UA", "default", {
	name: "uk-UA",
	englishName: "Ukrainian (Ukraine)",
	nativeName: "українська (Україна)",
	language: "uk",
	numberFormat: {
		",": " ",
		".": ",",
		negativeInfinity: "-безмежність",
		positiveInfinity: "безмежність",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n$","n$"],
			",": " ",
			".": ",",
			symbol: "₴"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["неділя","понеділок","вівторок","середа","четвер","п'ятниця","субота"],
				namesAbbr: ["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],
				namesShort: ["Нд","Пн","Вт","Ср","Чт","Пт","Сб"]
			},
			months: {
				names: ["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень",""],
				namesAbbr: ["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру",""]
			},
			monthsGenitive: {
				names: ["січня","лютого","березня","квітня","травня","червня","липня","серпня","вересня","жовтня","листопада","грудня",""],
				namesAbbr: ["січ","лют","бер","кві","тра","чер","лип","сер","вер","жов","лис","гру",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d MMMM yyyy' р.'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM yyyy' р.' H:mm",
				F: "d MMMM yyyy' р.' H:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy' р.'"
			}
		}
	}
});

Globalize.addCultureInfo( "be-BY", "default", {
	name: "be-BY",
	englishName: "Belarusian (Belarus)",
	nativeName: "Беларускі (Беларусь)",
	language: "be",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "р."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["нядзеля","панядзелак","аўторак","серада","чацвер","пятніца","субота"],
				namesAbbr: ["нд","пн","аў","ср","чц","пт","сб"],
				namesShort: ["нд","пн","аў","ср","чц","пт","сб"]
			},
			months: {
				names: ["Студзень","Люты","Сакавік","Красавік","Май","Чэрвень","Ліпень","Жнівень","Верасень","Кастрычнік","Лістапад","Снежань",""],
				namesAbbr: ["Сту","Лют","Сак","Кра","Май","Чэр","Ліп","Жні","Вер","Кас","Ліс","Сне",""]
			},
			monthsGenitive: {
				names: ["студзеня","лютага","сакавіка","красавіка","мая","чэрвеня","ліпеня","жніўня","верасня","кастрычніка","лістапада","снежня",""],
				namesAbbr: ["Сту","Лют","Сак","Кра","Май","Чэр","Ліп","Жні","Вер","Кас","Ліс","Сне",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM yyyy H:mm",
				F: "d MMMM yyyy H:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "sl-SI", "default", {
	name: "sl-SI",
	englishName: "Slovenian (Slovenia)",
	nativeName: "slovenski (Slovenija)",
	language: "sl",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-neskončnost",
		positiveInfinity: "neskončnost",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["nedelja","ponedeljek","torek","sreda","četrtek","petek","sobota"],
				namesAbbr: ["ned","pon","tor","sre","čet","pet","sob"],
				namesShort: ["ne","po","to","sr","če","pe","so"]
			},
			months: {
				names: ["januar","februar","marec","april","maj","junij","julij","avgust","september","oktober","november","december",""],
				namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy H:mm",
				F: "d. MMMM yyyy H:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "et-EE", "default", {
	name: "et-EE",
	englishName: "Estonian (Estonia)",
	nativeName: "eesti (Eesti)",
	language: "et",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "avaldamatu",
		negativeInfinity: "miinuslõpmatus",
		positiveInfinity: "plusslõpmatus",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			symbol: "kr"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["pühapäev","esmaspäev","teisipäev","kolmapäev","neljapäev","reede","laupäev"],
				namesAbbr: ["P","E","T","K","N","R","L"],
				namesShort: ["P","E","T","K","N","R","L"]
			},
			months: {
				names: ["jaanuar","veebruar","märts","aprill","mai","juuni","juuli","august","september","oktoober","november","detsember",""],
				namesAbbr: ["jaan","veebr","märts","apr","mai","juuni","juuli","aug","sept","okt","nov","dets",""]
			},
			AM: ["EL","el","EL"],
			PM: ["PL","pl","PL"],
			patterns: {
				d: "d.MM.yyyy",
				D: "d. MMMM yyyy'. a.'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy'. a.' H:mm",
				F: "d. MMMM yyyy'. a.' H:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy'. a.'"
			}
		}
	}
});

Globalize.addCultureInfo( "lv-LV", "default", {
	name: "lv-LV",
	englishName: "Latvian (Latvia)",
	nativeName: "latviešu (Latvija)",
	language: "lv",
	numberFormat: {
		",": " ",
		".": ",",
		negativeInfinity: "-bezgalība",
		positiveInfinity: "bezgalība",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-$ n","$ n"],
			",": " ",
			".": ",",
			symbol: "Ls"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["svētdiena","pirmdiena","otrdiena","trešdiena","ceturtdiena","piektdiena","sestdiena"],
				namesAbbr: ["sv","pr","ot","tr","ce","pk","se"],
				namesShort: ["sv","pr","ot","tr","ce","pk","se"]
			},
			months: {
				names: ["janvāris","februāris","marts","aprīlis","maijs","jūnijs","jūlijs","augusts","septembris","oktobris","novembris","decembris",""],
				namesAbbr: ["jan","feb","mar","apr","mai","jūn","jūl","aug","sep","okt","nov","dec",""]
			},
			monthsGenitive: {
				names: ["janvārī","februārī","martā","aprīlī","maijā","jūnijā","jūlijā","augustā","septembrī","oktobrī","novembrī","decembrī",""],
				namesAbbr: ["jan","feb","mar","apr","mai","jūn","jūl","aug","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "yyyy.MM.dd.",
				D: "dddd, yyyy'. gada 'd. MMMM",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd, yyyy'. gada 'd. MMMM H:mm",
				F: "dddd, yyyy'. gada 'd. MMMM H:mm:ss",
				M: "d. MMMM",
				Y: "yyyy. MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "lt-LT", "default", {
	name: "lt-LT",
	englishName: "Lithuanian (Lithuania)",
	nativeName: "lietuvių (Lietuva)",
	language: "lt",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-begalybė",
		positiveInfinity: "begalybė",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "Lt"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["sekmadienis","pirmadienis","antradienis","trečiadienis","ketvirtadienis","penktadienis","šeštadienis"],
				namesAbbr: ["Sk","Pr","An","Tr","Kt","Pn","Št"],
				namesShort: ["S","P","A","T","K","Pn","Š"]
			},
			months: {
				names: ["sausis","vasaris","kovas","balandis","gegužė","birželis","liepa","rugpjūtis","rugsėjis","spalis","lapkritis","gruodis",""],
				namesAbbr: ["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rgp","Rgs","Spl","Lap","Grd",""]
			},
			monthsGenitive: {
				names: ["sausio","vasario","kovo","balandžio","gegužės","birželio","liepos","rugpjūčio","rugsėjo","spalio","lapkričio","gruodžio",""],
				namesAbbr: ["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rgp","Rgs","Spl","Lap","Grd",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "yyyy.MM.dd",
				D: "yyyy 'm.' MMMM d 'd.'",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "yyyy 'm.' MMMM d 'd.' HH:mm",
				F: "yyyy 'm.' MMMM d 'd.' HH:mm:ss",
				M: "MMMM d 'd.'",
				Y: "yyyy 'm.' MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "tg-Cyrl-TJ", "default", {
	name: "tg-Cyrl-TJ",
	englishName: "Tajik (Cyrillic, Tajikistan)",
	nativeName: "Тоҷикӣ (Тоҷикистон)",
	language: "tg-Cyrl",
	numberFormat: {
		",": " ",
		".": ",",
		groupSizes: [3,0],
		negativeInfinity: "-бесконечность",
		positiveInfinity: "бесконечность",
		percent: {
			pattern: ["-n%","n%"],
			groupSizes: [3,0],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			groupSizes: [3,0],
			",": " ",
			".": ";",
			symbol: "т.р."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			days: {
				names: ["Яш","Душанбе","Сешанбе","Чоршанбе","Панҷшанбе","Ҷумъа","Шанбе"],
				namesAbbr: ["Яш","Дш","Сш","Чш","Пш","Ҷм","Шн"],
				namesShort: ["Яш","Дш","Сш","Чш","Пш","Ҷм","Шн"]
			},
			months: {
				names: ["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр",""],
				namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""]
			},
			monthsGenitive: {
				names: ["январи","феврали","марти","апрели","маи","июни","июли","августи","сентябри","октябри","ноябри","декабри",""],
				namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yy",
				D: "d MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM yyyy H:mm",
				F: "d MMMM yyyy H:mm:ss",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "fa-IR", "default", {
	name: "fa-IR",
	englishName: "Persian",
	nativeName: "فارسى (ایران)",
	language: "fa",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		currency: {
			pattern: ["$n-","$ n"],
			".": "/",
			symbol: "ريال"
		}
	},
	calendars: {
		standard: {
			name: "Gregorian_TransliteratedFrench",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ق.ظ","ق.ظ","ق.ظ"],
			PM: ["ب.ظ","ب.ظ","ب.ظ"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		},
		Gregorian_Localized: {
			firstDay: 6,
			days: {
				names: ["يكشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],
				namesAbbr: ["يكشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],
				namesShort: ["ی","د","س","چ","پ","ج","ش"]
			},
			months: {
				names: ["ژانويه","فوريه","مارس","آوريل","مى","ژوئن","ژوئيه","اوت","سپتامبر","اُكتبر","نوامبر","دسامبر",""],
				namesAbbr: ["ژانويه","فوريه","مارس","آوريل","مى","ژوئن","ژوئيه","اوت","سپتامبر","اُكتبر","نوامبر","دسامبر",""]
			},
			AM: ["ق.ظ","ق.ظ","ق.ظ"],
			PM: ["ب.ظ","ب.ظ","ب.ظ"],
			patterns: {
				d: "yyyy/MM/dd",
				D: "yyyy/MM/dd",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "yyyy/MM/dd hh:mm tt",
				F: "yyyy/MM/dd hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Hijri: {
			name: "Hijri",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ق.ظ","ق.ظ","ق.ظ"],
			PM: ["ب.ظ","ب.ظ","ب.ظ"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MM/yyyy hh:mm tt",
				F: "dd/MM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		Gregorian_TransliteratedEnglish: {
			name: "Gregorian_TransliteratedEnglish",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["أ","ا","ث","أ","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ق.ظ","ق.ظ","ق.ظ"],
			PM: ["ب.ظ","ب.ظ","ب.ظ"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		}
	}
});

Globalize.addCultureInfo( "vi-VN", "default", {
	name: "vi-VN",
	englishName: "Vietnamese (Vietnam)",
	nativeName: "Tiếng Việt (Việt Nam)",
	language: "vi",
	numberFormat: {
		",": ".",
		".": ",",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "₫"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Chủ Nhật","Thứ Hai","Thứ Ba","Thứ Tư","Thứ Năm","Thứ Sáu","Thứ Bảy"],
				namesAbbr: ["CN","Hai","Ba","Tư","Năm","Sáu","Bảy"],
				namesShort: ["C","H","B","T","N","S","B"]
			},
			months: {
				names: ["Tháng Giêng","Tháng Hai","Tháng Ba","Tháng Tư","Tháng Năm","Tháng Sáu","Tháng Bảy","Tháng Tám","Tháng Chín","Tháng Mười","Tháng Mười Một","Tháng Mười Hai",""],
				namesAbbr: ["Thg1","Thg2","Thg3","Thg4","Thg5","Thg6","Thg7","Thg8","Thg9","Thg10","Thg11","Thg12",""]
			},
			AM: ["SA","sa","SA"],
			PM: ["CH","ch","CH"],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM yyyy",
				f: "dd MMMM yyyy h:mm tt",
				F: "dd MMMM yyyy h:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "hy-AM", "default", {
	name: "hy-AM",
	englishName: "Armenian (Armenia)",
	nativeName: "Հայերեն (Հայաստան)",
	language: "hy",
	numberFormat: {
		currency: {
			pattern: ["-n $","n $"],
			symbol: "դր."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","ՈՒրբաթ","Շաբաթ"],
				namesAbbr: ["Կիր","Երկ","Երք","Չրք","Հնգ","ՈՒր","Շբթ"],
				namesShort: ["Կ","Ե","Ե","Չ","Հ","Ո","Շ"]
			},
			months: {
				names: ["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր",""],
				namesAbbr: ["ՀՆՎ","ՓՏՎ","ՄՐՏ","ԱՊՐ","ՄՅՍ","ՀՆՍ","ՀԼՍ","ՕԳՍ","ՍԵՊ","ՀՈԿ","ՆՈՅ","ԴԵԿ",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d MMMM, yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM, yyyy H:mm",
				F: "d MMMM, yyyy H:mm:ss",
				M: "d MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "az-Latn-AZ", "default", {
	name: "az-Latn-AZ",
	englishName: "Azeri (Latin, Azerbaijan)",
	nativeName: "Azərbaycan\xadılı (Azərbaycan)",
	language: "az-Latn",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "man."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"],
				namesAbbr: ["B","Be","Ça","Ç","Ca","C","Ş"],
				namesShort: ["B","Be","Ça","Ç","Ca","C","Ş"]
			},
			months: {
				names: ["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avgust","Sentyabr","Oktyabr","Noyabr","Dekabr",""],
				namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""]
			},
			monthsGenitive: {
				names: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""],
				namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM yyyy H:mm",
				F: "d MMMM yyyy H:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "eu-ES", "default", {
	name: "eu-ES",
	englishName: "Basque (Basque)",
	nativeName: "euskara (euskara)",
	language: "eu",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "EdZ",
		negativeInfinity: "-Infinitu",
		positiveInfinity: "Infinitu",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["igandea","astelehena","asteartea","asteazkena","osteguna","ostirala","larunbata"],
				namesAbbr: ["ig.","al.","as.","az.","og.","or.","lr."],
				namesShort: ["ig","al","as","az","og","or","lr"]
			},
			months: {
				names: ["urtarrila","otsaila","martxoa","apirila","maiatza","ekaina","uztaila","abuztua","iraila","urria","azaroa","abendua",""],
				namesAbbr: ["urt.","ots.","mar.","api.","mai.","eka.","uzt.","abu.","ira.","urr.","aza.","abe.",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "yyyy/MM/dd",
				D: "dddd, yyyy.'eko' MMMM'k 'd",
				t: "HH:mm",
				T: "H:mm:ss",
				f: "dddd, yyyy.'eko' MMMM'k 'd HH:mm",
				F: "dddd, yyyy.'eko' MMMM'k 'd H:mm:ss",
				Y: "yyyy.'eko' MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "hsb-DE", "default", {
	name: "hsb-DE",
	englishName: "Upper Sorbian (Germany)",
	nativeName: "hornjoserbšćina (Němska)",
	language: "hsb",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "njedefinowane",
		negativeInfinity: "-njekónčne",
		positiveInfinity: "+njekónčne",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": ". ",
			firstDay: 1,
			days: {
				names: ["njedźela","póndźela","wutora","srjeda","štwórtk","pjatk","sobota"],
				namesAbbr: ["nje","pón","wut","srj","štw","pja","sob"],
				namesShort: ["n","p","w","s","š","p","s"]
			},
			months: {
				names: ["januar","februar","měrc","apryl","meja","junij","julij","awgust","september","oktober","nowember","december",""],
				namesAbbr: ["jan","feb","měr","apr","mej","jun","jul","awg","sep","okt","now","dec",""]
			},
			monthsGenitive: {
				names: ["januara","februara","měrca","apryla","meje","junija","julija","awgusta","septembra","oktobra","nowembra","decembra",""],
				namesAbbr: ["jan","feb","měr","apr","mej","jun","jul","awg","sep","okt","now","dec",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"po Chr.","start":null,"offset":0}],
			patterns: {
				d: "d. M. yyyy",
				D: "dddd, 'dnja' d. MMMM yyyy",
				t: "H.mm 'hodź.'",
				T: "H:mm:ss",
				f: "dddd, 'dnja' d. MMMM yyyy H.mm 'hodź.'",
				F: "dddd, 'dnja' d. MMMM yyyy H:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "mk-MK", "default", {
	name: "mk-MK",
	englishName: "Macedonian (Former Yugoslav Republic of Macedonia)",
	nativeName: "македонски јазик (Македонија)",
	language: "mk",
	numberFormat: {
		",": ".",
		".": ",",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "ден."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["недела","понеделник","вторник","среда","четврток","петок","сабота"],
				namesAbbr: ["нед","пон","втр","срд","чет","пет","саб"],
				namesShort: ["не","по","вт","ср","че","пе","са"]
			},
			months: {
				names: ["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември",""],
				namesAbbr: ["јан","фев","мар","апр","мај","јун","јул","авг","сеп","окт","ное","дек",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "dddd, dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd, dd MMMM yyyy HH:mm",
				F: "dddd, dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "tn-ZA", "default", {
	name: "tn-ZA",
	englishName: "Setswana (South Africa)",
	nativeName: "Setswana (Aforika Borwa)",
	language: "tn",
	numberFormat: {
		percent: {
			pattern: ["-%n","%n"]
		},
		currency: {
			pattern: ["$-n","$ n"],
			symbol: "R"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Latshipi","Mosupologo","Labobedi","Laboraro","Labone","Labotlhano","Lamatlhatso"],
				namesAbbr: ["Ltp.","Mos.","Lbd.","Lbr.","Lbn.","Lbt.","Lmt."],
				namesShort: ["Lp","Ms","Lb","Lr","Ln","Lt","Lm"]
			},
			months: {
				names: ["Ferikgong","Tlhakole","Mopitloe","Moranang","Motsheganong","Seetebosigo","Phukwi","Phatwe","Lwetse","Diphalane","Ngwanatsele","Sedimothole",""],
				namesAbbr: ["Fer.","Tlhak.","Mop.","Mor.","Motsh.","Seet.","Phukw.","Phatw.","Lwets.","Diph.","Ngwan.","Sed.",""]
			},
			patterns: {
				d: "yyyy/MM/dd",
				D: "dd MMMM yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM yyyy hh:mm tt",
				F: "dd MMMM yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "xh-ZA", "default", {
	name: "xh-ZA",
	englishName: "isiXhosa (South Africa)",
	nativeName: "isiXhosa (uMzantsi Afrika)",
	language: "xh",
	numberFormat: {
		percent: {
			pattern: ["-%n","%n"]
		},
		currency: {
			pattern: ["$-n","$ n"],
			symbol: "R"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["iCawa","uMvulo","uLwesibini","uLwesithathu","uLwesine","uLwesihlanu","uMgqibelo"],
				namesShort: ["Ca","Mv","Lb","Lt","Ln","Lh","Mg"]
			},
			months: {
				names: ["Mqungu","Mdumba","Kwindla","Tshazimpuzi","Canzibe","Silimela","Khala","Thupha","Msintsi","Dwarha","Nkanga","Mnga",""]
			},
			patterns: {
				d: "yyyy/MM/dd",
				D: "dd MMMM yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM yyyy hh:mm tt",
				F: "dd MMMM yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "zu-ZA", "default", {
	name: "zu-ZA",
	englishName: "isiZulu (South Africa)",
	nativeName: "isiZulu (iNingizimu Afrika)",
	language: "zu",
	numberFormat: {
		percent: {
			pattern: ["-%n","%n"]
		},
		currency: {
			pattern: ["$-n","$ n"],
			symbol: "R"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["iSonto","uMsombuluko","uLwesibili","uLwesithathu","uLwesine","uLwesihlanu","uMgqibelo"],
				namesAbbr: ["Son.","Mso.","Bi.","Tha.","Ne.","Hla.","Mgq."]
			},
			months: {
				names: ["uMasingana","uNhlolanja","uNdasa","uMbaso","uNhlaba","uNhlangulana","uNtulikazi","uNcwaba","uMandulo","uMfumfu","uLwezi","uZibandlela",""],
				namesAbbr: ["Mas.","Nhlo.","Nda.","Mba.","Nhla.","Nhlang.","Ntu.","Ncwa.","Man.","Mfu.","Lwe.","Zib.",""]
			},
			patterns: {
				d: "yyyy/MM/dd",
				D: "dd MMMM yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM yyyy hh:mm tt",
				F: "dd MMMM yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "af-ZA", "default", {
	name: "af-ZA",
	englishName: "Afrikaans (South Africa)",
	nativeName: "Afrikaans (Suid Afrika)",
	language: "af",
	numberFormat: {
		percent: {
			pattern: ["-n%","n%"]
		},
		currency: {
			pattern: ["$-n","$ n"],
			symbol: "R"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Sondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrydag","Saterdag"],
				namesAbbr: ["Son","Maan","Dins","Woen","Dond","Vry","Sat"],
				namesShort: ["So","Ma","Di","Wo","Do","Vr","Sa"]
			},
			months: {
				names: ["Januarie","Februarie","Maart","April","Mei","Junie","Julie","Augustus","September","Oktober","November","Desember",""],
				namesAbbr: ["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des",""]
			},
			patterns: {
				d: "yyyy/MM/dd",
				D: "dd MMMM yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM yyyy hh:mm tt",
				F: "dd MMMM yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ka-GE", "default", {
	name: "ka-GE",
	englishName: "Georgian (Georgia)",
	nativeName: "ქართული (საქართველო)",
	language: "ka",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "Lari"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"],
				namesAbbr: ["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"],
				namesShort: ["კ","ო","ს","ო","ხ","პ","შ"]
			},
			months: {
				names: ["იანვარი","თებერვალი","მარტი","აპრილი","მაისი","ივნისი","ივლისი","აგვისტო","სექტემბერი","ოქტომბერი","ნოემბერი","დეკემბერი",""],
				namesAbbr: ["იან","თებ","მარ","აპრ","მაის","ივნ","ივლ","აგვ","სექ","ოქტ","ნოემ","დეკ",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "yyyy 'წლის' dd MM, dddd",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy 'წლის' dd MM, dddd H:mm",
				F: "yyyy 'წლის' dd MM, dddd H:mm:ss",
				M: "dd MM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "fo-FO", "default", {
	name: "fo-FO",
	englishName: "Faroese (Faroe Islands)",
	nativeName: "føroyskt (Føroyar)",
	language: "fo",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-INF",
		positiveInfinity: "INF",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["$ -n","$ n"],
			",": ".",
			".": ",",
			symbol: "kr."
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["sunnudagur","mánadagur","týsdagur","mikudagur","hósdagur","fríggjadagur","leygardagur"],
				namesAbbr: ["sun","mán","týs","mik","hós","frí","leyg"],
				namesShort: ["su","má","tý","mi","hó","fr","ley"]
			},
			months: {
				names: ["januar","februar","mars","apríl","mai","juni","juli","august","september","oktober","november","desember",""],
				namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd-MM-yyyy",
				D: "d. MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "d. MMMM yyyy HH:mm",
				F: "d. MMMM yyyy HH:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "hi-IN", "default", {
	name: "hi-IN",
	englishName: "Hindi (India)",
	nativeName: "हिंदी (भारत)",
	language: "hi",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "रु"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"],
				namesAbbr: ["रवि.","सोम.","मंगल.","बुध.","गुरु.","शुक्र.","शनि."],
				namesShort: ["र","स","म","ब","ग","श","श"]
			},
			months: {
				names: ["जनवरी","फरवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्तूबर","नवम्बर","दिसम्बर",""],
				namesAbbr: ["जनवरी","फरवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्तूबर","नवम्बर","दिसम्बर",""]
			},
			AM: ["पूर्वाह्न","पूर्वाह्न","पूर्वाह्न"],
			PM: ["अपराह्न","अपराह्न","अपराह्न"],
			patterns: {
				d: "dd-MM-yyyy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "mt-MT", "default", {
	name: "mt-MT",
	englishName: "Maltese (Malta)",
	nativeName: "Malti (Malta)",
	language: "mt",
	numberFormat: {
		percent: {
			pattern: ["-%n","%n"]
		},
		currency: {
			pattern: ["-$n","$n"],
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Il-Ħadd","It-Tnejn","It-Tlieta","L-Erbgħa","Il-Ħamis","Il-Ġimgħa","Is-Sibt"],
				namesAbbr: ["Ħad","Tne","Tli","Erb","Ħam","Ġim","Sib"],
				namesShort: ["I","I","I","L","I","I","I"]
			},
			months: {
				names: ["Jannar","Frar","Marzu","April","Mejju","Ġunju","Lulju","Awissu","Settembru","Ottubru","Novembru","Diċembru",""],
				namesAbbr: ["Jan","Fra","Mar","Apr","Mej","Ġun","Lul","Awi","Set","Ott","Nov","Diċ",""]
			},
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, d' ta\\' 'MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd, d' ta\\' 'MMMM yyyy HH:mm",
				F: "dddd, d' ta\\' 'MMMM yyyy HH:mm:ss",
				M: "d' ta\\' 'MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "se-NO", "default", {
	name: "se-NO",
	englishName: "Sami, Northern (Norway)",
	nativeName: "davvisámegiella (Norga)",
	language: "se",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			pattern: ["-%n","%n"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["$ -n","$ n"],
			",": " ",
			".": ",",
			symbol: "kr"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["sotnabeaivi","vuossárga","maŋŋebárga","gaskavahkku","duorastat","bearjadat","lávvardat"],
				namesAbbr: ["sotn","vuos","maŋ","gask","duor","bear","láv"],
				namesShort: ["s","m","d","g","d","b","l"]
			},
			months: {
				names: ["ođđajagemánnu","guovvamánnu","njukčamánnu","cuoŋománnu","miessemánnu","geassemánnu","suoidnemánnu","borgemánnu","čakčamánnu","golggotmánnu","skábmamánnu","juovlamánnu",""],
				namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""]
			},
			monthsGenitive: {
				names: ["ođđajagimánu","guovvamánu","njukčamánu","cuoŋománu","miessemánu","geassemánu","suoidnemánu","borgemánu","čakčamánu","golggotmánu","skábmamánu","juovlamánu",""],
				namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "MMMM d'. b. 'yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "MMMM d'. b. 'yyyy HH:mm",
				F: "MMMM d'. b. 'yyyy HH:mm:ss",
				M: "MMMM d'. b. '",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ms-MY", "default", {
	name: "ms-MY",
	englishName: "Malay (Malaysia)",
	nativeName: "Bahasa Melayu (Malaysia)",
	language: "ms",
	numberFormat: {
		currency: {
			decimals: 0,
			symbol: "RM"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"],
				namesAbbr: ["Ahad","Isnin","Sel","Rabu","Khamis","Jumaat","Sabtu"],
				namesShort: ["A","I","S","R","K","J","S"]
			},
			months: {
				names: ["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember",""],
				namesAbbr: ["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ogos","Sept","Okt","Nov","Dis",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dd MMMM yyyy H:mm",
				F: "dd MMMM yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "kk-KZ", "default", {
	name: "kk-KZ",
	englishName: "Kazakh (Kazakhstan)",
	nativeName: "Қазақ (Қазақстан)",
	language: "kk",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-$n","$n"],
			",": " ",
			".": "-",
			symbol: "Т"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Жексенбі","Дүйсенбі","Сейсенбі","Сәрсенбі","Бейсенбі","Жұма","Сенбі"],
				namesAbbr: ["Жк","Дс","Сс","Ср","Бс","Жм","Сн"],
				namesShort: ["Жк","Дс","Сс","Ср","Бс","Жм","Сн"]
			},
			months: {
				names: ["қаңтар","ақпан","наурыз","сәуір","мамыр","маусым","шілде","тамыз","қыркүйек","қазан","қараша","желтоқсан",""],
				namesAbbr: ["Қаң","Ақп","Нау","Сәу","Мам","Мау","Шіл","Там","Қыр","Қаз","Қар","Жел",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d MMMM yyyy 'ж.'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM yyyy 'ж.' H:mm",
				F: "d MMMM yyyy 'ж.' H:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ky-KG", "default", {
	name: "ky-KG",
	englishName: "Kyrgyz (Kyrgyzstan)",
	nativeName: "Кыргыз (Кыргызстан)",
	language: "ky",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": "-",
			symbol: "сом"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Жекшемби","Дүйшөмбү","Шейшемби","Шаршемби","Бейшемби","Жума","Ишемби"],
				namesAbbr: ["Жш","Дш","Шш","Шр","Бш","Жм","Иш"],
				namesShort: ["Жш","Дш","Шш","Шр","Бш","Жм","Иш"]
			},
			months: {
				names: ["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь",""],
				namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yy",
				D: "d'-'MMMM yyyy'-ж.'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d'-'MMMM yyyy'-ж.' H:mm",
				F: "d'-'MMMM yyyy'-ж.' H:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy'-ж.'"
			}
		}
	}
});

Globalize.addCultureInfo( "sw-KE", "default", {
	name: "sw-KE",
	englishName: "Kiswahili (Kenya)",
	nativeName: "Kiswahili (Kenya)",
	language: "sw",
	numberFormat: {
		currency: {
			symbol: "S"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Jumapili","Jumatatu","Jumanne","Jumatano","Alhamisi","Ijumaa","Jumamosi"],
				namesAbbr: ["Jumap.","Jumat.","Juman.","Jumat.","Alh.","Iju.","Jumam."],
				namesShort: ["P","T","N","T","A","I","M"]
			},
			months: {
				names: ["Januari","Februari","Machi","Aprili","Mei","Juni","Julai","Agosti","Septemba","Oktoba","Novemba","Decemba",""],
				namesAbbr: ["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ago","Sep","Okt","Nov","Dec",""]
			}
		}
	}
});

Globalize.addCultureInfo( "tk-TM", "default", {
	name: "tk-TM",
	englishName: "Turkmen (Turkmenistan)",
	nativeName: "türkmençe (Türkmenistan)",
	language: "tk",
	numberFormat: {
		",": " ",
		".": ",",
		negativeInfinity: "-üznüksizlik",
		positiveInfinity: "üznüksizlik",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n$","n$"],
			",": " ",
			".": ",",
			symbol: "m."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Duşenbe","Sişenbe","Çarşenbe","Penşenbe","Anna","Şenbe","Ýekşenbe"],
				namesAbbr: ["Db","Sb","Çb","Pb","An","Şb","Ýb"],
				namesShort: ["D","S","Ç","P","A","Ş","Ý"]
			},
			months: {
				names: ["Ýanwar","Fewral","Mart","Aprel","Maý","lýun","lýul","Awgust","Sentýabr","Oktýabr","Noýabr","Dekabr",""],
				namesAbbr: ["Ýan","Few","Mart","Apr","Maý","lýun","lýul","Awg","Sen","Okt","Not","Dek",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yy",
				D: "yyyy 'ý.' MMMM d",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy 'ý.' MMMM d H:mm",
				F: "yyyy 'ý.' MMMM d H:mm:ss",
				Y: "yyyy 'ý.' MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "uz-Latn-UZ", "default", {
	name: "uz-Latn-UZ",
	englishName: "Uzbek (Latin, Uzbekistan)",
	nativeName: "U'zbek (U'zbekiston Respublikasi)",
	language: "uz-Latn",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			decimals: 0,
			",": " ",
			".": ",",
			symbol: "so'm"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["yakshanba","dushanba","seshanba","chorshanba","payshanba","juma","shanba"],
				namesAbbr: ["yak.","dsh.","sesh.","chr.","psh.","jm.","sh."],
				namesShort: ["ya","d","s","ch","p","j","sh"]
			},
			months: {
				names: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""],
				namesAbbr: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd/MM yyyy",
				D: "yyyy 'yil' d-MMMM",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "yyyy 'yil' d-MMMM HH:mm",
				F: "yyyy 'yil' d-MMMM HH:mm:ss",
				M: "d-MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "tt-RU", "default", {
	name: "tt-RU",
	englishName: "Tatar (Russia)",
	nativeName: "Татар (Россия)",
	language: "tt",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "р."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Якшәмбе","Дүшәмбе","Сишәмбе","Чәршәмбе","Пәнҗешәмбе","Җомга","Шимбә"],
				namesAbbr: ["Якш","Дүш","Сиш","Чәрш","Пәнҗ","Җом","Шим"],
				namesShort: ["Я","Д","С","Ч","П","Җ","Ш"]
			},
			months: {
				names: ["Гыйнвар","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь",""],
				namesAbbr: ["Гыйн.","Фев.","Мар.","Апр.","Май","Июнь","Июль","Авг.","Сен.","Окт.","Нояб.","Дек.",""]
			},
			monthsGenitive: {
				names: ["Гыйнварның","Февральнең","Мартның","Апрельнең","Майның","Июньнең","Июльнең","Августның","Сентябрьның","Октябрьның","Ноябрьның","Декабрьның",""],
				namesAbbr: ["Гыйн.-ның","Фев.-нең","Мар.-ның","Апр.-нең","Майның","Июньнең","Июльнең","Авг.-ның","Сен.-ның","Окт.-ның","Нояб.-ның","Дек.-ның",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM yyyy H:mm",
				F: "d MMMM yyyy H:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "bn-IN", "default", {
	name: "bn-IN",
	englishName: "Bengali (India)",
	nativeName: "বাংলা (ভারত)",
	language: "bn",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			pattern: ["-%n","%n"],
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "টা"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			":": ".",
			firstDay: 1,
			days: {
				names: ["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],
				namesAbbr: ["রবি.","সোম.","মঙ্গল.","বুধ.","বৃহস্পতি.","শুক্র.","শনি."],
				namesShort: ["র","স","ম","ব","ব","শ","শ"]
			},
			months: {
				names: ["জানুয়ারী","ফেব্রুয়ারী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর",""],
				namesAbbr: ["জানু.","ফেব্রু.","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগ.","সেপ্টে.","অক্টো.","নভে.","ডিসে.",""]
			},
			AM: ["পুর্বাহ্ন","পুর্বাহ্ন","পুর্বাহ্ন"],
			PM: ["অপরাহ্ন","অপরাহ্ন","অপরাহ্ন"],
			patterns: {
				d: "dd-MM-yy",
				D: "dd MMMM yyyy",
				t: "HH.mm",
				T: "HH.mm.ss",
				f: "dd MMMM yyyy HH.mm",
				F: "dd MMMM yyyy HH.mm.ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "pa-IN", "default", {
	name: "pa-IN",
	englishName: "Punjabi (India)",
	nativeName: "ਪੰਜਾਬੀ (ਭਾਰਤ)",
	language: "pa",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "ਰੁ"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["ਐਤਵਾਰ","ਸੋਮਵਾਰ","ਮੰਗਲਵਾਰ","ਬੁੱਧਵਾਰ","ਵੀਰਵਾਰ","ਸ਼ੁੱਕਰਵਾਰ","ਸ਼ਨਿੱਚਰਵਾਰ"],
				namesAbbr: ["ਐਤ.","ਸੋਮ.","ਮੰਗਲ.","ਬੁੱਧ.","ਵੀਰ.","ਸ਼ੁਕਰ.","ਸ਼ਨਿੱਚਰ."],
				namesShort: ["ਐ","ਸ","ਮ","ਬ","ਵ","ਸ਼","ਸ਼"]
			},
			months: {
				names: ["ਜਨਵਰੀ","ਫ਼ਰਵਰੀ","ਮਾਰਚ","ਅਪ੍ਰੈਲ","ਮਈ","ਜੂਨ","ਜੁਲਾਈ","ਅਗਸਤ","ਸਤੰਬਰ","ਅਕਤੂਬਰ","ਨਵੰਬਰ","ਦਸੰਬਰ",""],
				namesAbbr: ["ਜਨਵਰੀ","ਫ਼ਰਵਰੀ","ਮਾਰਚ","ਅਪ੍ਰੈਲ","ਮਈ","ਜੂਨ","ਜੁਲਾਈ","ਅਗਸਤ","ਸਤੰਬਰ","ਅਕਤੂਬਰ","ਨਵੰਬਰ","ਦਸੰਬਰ",""]
			},
			AM: ["ਸਵੇਰ","ਸਵੇਰ","ਸਵੇਰ"],
			PM: ["ਸ਼ਾਮ","ਸ਼ਾਮ","ਸ਼ਾਮ"],
			patterns: {
				d: "dd-MM-yy",
				D: "dd MMMM yyyy dddd",
				t: "tt hh:mm",
				T: "tt hh:mm:ss",
				f: "dd MMMM yyyy dddd tt hh:mm",
				F: "dd MMMM yyyy dddd tt hh:mm:ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "gu-IN", "default", {
	name: "gu-IN",
	englishName: "Gujarati (India)",
	nativeName: "ગુજરાતી (ભારત)",
	language: "gu",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "રૂ"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["રવિવાર","સોમવાર","મંગળવાર","બુધવાર","ગુરુવાર","શુક્રવાર","શનિવાર"],
				namesAbbr: ["રવિ","સોમ","મંગળ","બુધ","ગુરુ","શુક્ર","શનિ"],
				namesShort: ["ર","સ","મ","બ","ગ","શ","શ"]
			},
			months: {
				names: ["જાન્યુઆરી","ફેબ્રુઆરી","માર્ચ","એપ્રિલ","મે","જૂન","જુલાઈ","ઑગસ્ટ","સપ્ટેમ્બર","ઑક્ટ્બર","નવેમ્બર","ડિસેમ્બર",""],
				namesAbbr: ["જાન્યુ","ફેબ્રુ","માર્ચ","એપ્રિલ","મે","જૂન","જુલાઈ","ઑગસ્ટ","સપ્ટે","ઑક્ટો","નવે","ડિસે",""]
			},
			AM: ["પૂર્વ મધ્યાહ્ન","પૂર્વ મધ્યાહ્ન","પૂર્વ મધ્યાહ્ન"],
			PM: ["ઉત્તર મધ્યાહ્ન","ઉત્તર મધ્યાહ્ન","ઉત્તર મધ્યાહ્ન"],
			patterns: {
				d: "dd-MM-yy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "or-IN", "default", {
	name: "or-IN",
	englishName: "Oriya (India)",
	nativeName: "ଓଡ଼ିଆ (ଭାରତ)",
	language: "or",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "ଟ"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			days: {
				names: ["ରବିବାର","ସୋମବାର","ମଙ୍ଗଳବାର","ବୁଧବାର","ଗୁରୁବାର","ଶୁକ୍ରବାର","ଶନିବାର"],
				namesAbbr: ["ରବି.","ସୋମ.","ମଙ୍ଗଳ.","ବୁଧ.","ଗୁରୁ.","ଶୁକ୍ର.","ଶନି."],
				namesShort: ["ର","ସୋ","ମ","ବୁ","ଗୁ","ଶୁ","ଶ"]
			},
			months: {
				names: ["ଜାନୁୟାରୀ","ଫ୍ରେବୃୟାରୀ","ମାର୍ଚ୍ଚ","ଏପ୍ରିଲ୍\u200c","ମେ","ଜୁନ୍\u200c","ଜୁଲାଇ","ଅଗଷ୍ଟ","ସେପ୍ଟେମ୍ବର","ଅକ୍ଟୋବର","ନଭେମ୍ବର","(ଡିସେମ୍ବର",""],
				namesAbbr: ["ଜାନୁୟାରୀ","ଫ୍ରେବୃୟାରୀ","ମାର୍ଚ୍ଚ","ଏପ୍ରିଲ୍\u200c","ମେ","ଜୁନ୍\u200c","ଜୁଲାଇ","ଅଗଷ୍ଟ","ସେପ୍ଟେମ୍ବର","ଅକ୍ଟୋବର","ନଭେମ୍ବର","(ଡିସେମ୍ବର",""]
			},
			eras: [{"name":"ଖ୍ରୀଷ୍ଟାବ୍ଦ","start":null,"offset":0}],
			patterns: {
				d: "dd-MM-yy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "ta-IN", "default", {
	name: "ta-IN",
	englishName: "Tamil (India)",
	nativeName: "தமிழ் (இந்தியா)",
	language: "ta",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "ரூ"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["ஞாயிற்றுக்கிழமை","திங்கள்கிழமை","செவ்வாய்கிழமை","புதன்கிழமை","வியாழக்கிழமை","வெள்ளிக்கிழமை","சனிக்கிழமை"],
				namesAbbr: ["ஞாயிறு","திங்கள்","செவ்வாய்","புதன்","வியாழன்","வெள்ளி","சனி"],
				namesShort: ["ஞா","தி","செ","பு","வி","வெ","ச"]
			},
			months: {
				names: ["ஜனவரி","பிப்ரவரி","மார்ச்","ஏப்ரல்","மே","ஜூன்","ஜூலை","ஆகஸ்ட்","செப்டம்பர்","அக்டோபர்","நவம்பர்","டிசம்பர்",""],
				namesAbbr: ["ஜனவரி","பிப்ரவரி","மார்ச்","ஏப்ரல்","மே","ஜூன்","ஜூலை","ஆகஸ்ட்","செப்டம்பர்","அக்டோபர்","நவம்பர்","டிசம்பர்",""]
			},
			AM: ["காலை","காலை","காலை"],
			PM: ["மாலை","மாலை","மாலை"],
			patterns: {
				d: "dd-MM-yyyy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "te-IN", "default", {
	name: "te-IN",
	englishName: "Telugu (India)",
	nativeName: "తెలుగు (భారత దేశం)",
	language: "te",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "రూ"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["ఆదివారం","సోమవారం","మంగళవారం","బుధవారం","గురువారం","శుక్రవారం","శనివారం"],
				namesAbbr: ["ఆది.","సోమ.","మంగళ.","బుధ.","గురు.","శుక్ర.","శని."],
				namesShort: ["ఆ","సో","మం","బు","గు","శు","శ"]
			},
			months: {
				names: ["జనవరి","ఫిబ్రవరి","మార్చి","ఏప్రిల్","మే","జూన్","జూలై","ఆగస్టు","సెప్టెంబర్","అక్టోబర్","నవంబర్","డిసెంబర్",""],
				namesAbbr: ["జనవరి","ఫిబ్రవరి","మార్చి","ఏప్రిల్","మే","జూన్","జూలై","ఆగస్టు","సెప్టెంబర్","అక్టోబర్","నవంబర్","డిసెంబర్",""]
			},
			AM: ["పూర్వాహ్న","పూర్వాహ్న","పూర్వాహ్న"],
			PM: ["అపరాహ్న","అపరాహ్న","అపరాహ్న"],
			patterns: {
				d: "dd-MM-yy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "kn-IN", "default", {
	name: "kn-IN",
	englishName: "Kannada (India)",
	nativeName: "ಕನ್ನಡ (ಭಾರತ)",
	language: "kn",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "ರೂ"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["ಭಾನುವಾರ","ಸೋಮವಾರ","ಮಂಗಳವಾರ","ಬುಧವಾರ","ಗುರುವಾರ","ಶುಕ್ರವಾರ","ಶನಿವಾರ"],
				namesAbbr: ["ಭಾನು.","ಸೋಮ.","ಮಂಗಳ.","ಬುಧ.","ಗುರು.","ಶುಕ್ರ.","ಶನಿ."],
				namesShort: ["ರ","ಸ","ಮ","ಬ","ಗ","ಶ","ಶ"]
			},
			months: {
				names: ["ಜನವರಿ","ಫೆಬ್ರವರಿ","ಮಾರ್ಚ್","ಎಪ್ರಿಲ್","ಮೇ","ಜೂನ್","ಜುಲೈ","ಆಗಸ್ಟ್","ಸೆಪ್ಟಂಬರ್","ಅಕ್ಟೋಬರ್","ನವೆಂಬರ್","ಡಿಸೆಂಬರ್",""],
				namesAbbr: ["ಜನವರಿ","ಫೆಬ್ರವರಿ","ಮಾರ್ಚ್","ಎಪ್ರಿಲ್","ಮೇ","ಜೂನ್","ಜುಲೈ","ಆಗಸ್ಟ್","ಸೆಪ್ಟಂಬರ್","ಅಕ್ಟೋಬರ್","ನವೆಂಬರ್","ಡಿಸೆಂಬರ್",""]
			},
			AM: ["ಪೂರ್ವಾಹ್ನ","ಪೂರ್ವಾಹ್ನ","ಪೂರ್ವಾಹ್ನ"],
			PM: ["ಅಪರಾಹ್ನ","ಅಪರಾಹ್ನ","ಅಪರಾಹ್ನ"],
			patterns: {
				d: "dd-MM-yy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "ml-IN", "default", {
	name: "ml-IN",
	englishName: "Malayalam (India)",
	nativeName: "മലയാളം (ഭാരതം)",
	language: "ml",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			pattern: ["-%n","%n"],
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "ക"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			":": ".",
			firstDay: 1,
			days: {
				names: ["ഞായറാഴ്ച","തിങ്കളാഴ്ച","ചൊവ്വാഴ്ച","ബുധനാഴ്ച","വ്യാഴാഴ്ച","വെള്ളിയാഴ്ച","ശനിയാഴ്ച"],
				namesAbbr: ["ഞായർ.","തിങ്കൾ.","ചൊവ്വ.","ബുധൻ.","വ്യാഴം.","വെള്ളി.","ശനി."],
				namesShort: ["ഞ","ത","ച","ബ","വ","വെ","ശ"]
			},
			months: {
				names: ["ജനുവരി","ഫെബ്റുവരി","മാറ്ച്ച്","ഏപ്റില്","മെയ്","ജൂണ്","ജൂലൈ","ഓഗസ്ററ്","സെപ്ററംബറ്","ഒക്ടോബറ്","നവംബറ്","ഡിസംബറ്",""],
				namesAbbr: ["ജനുവരി","ഫെബ്റുവരി","മാറ്ച്ച്","ഏപ്റില്","മെയ്","ജൂണ്","ജൂലൈ","ഓഗസ്ററ്","സെപ്ററംബറ്","ഒക്ടോബറ്","നവംബറ്","ഡിസംബറ്",""]
			},
			patterns: {
				d: "dd-MM-yy",
				D: "dd MMMM yyyy",
				t: "HH.mm",
				T: "HH.mm.ss",
				f: "dd MMMM yyyy HH.mm",
				F: "dd MMMM yyyy HH.mm.ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "as-IN", "default", {
	name: "as-IN",
	englishName: "Assamese (India)",
	nativeName: "অসমীয়া (ভাৰত)",
	language: "as",
	numberFormat: {
		groupSizes: [3,2],
		"NaN": "nan",
		negativeInfinity: "-infinity",
		positiveInfinity: "infinity",
		percent: {
			pattern: ["-n%","n%"],
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","n$"],
			groupSizes: [3,2],
			symbol: "ট"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["সোমবাৰ","মঙ্গলবাৰ","বুধবাৰ","বৃহস্পতিবাৰ","শুক্রবাৰ","শনিবাৰ","ৰবিবাৰ"],
				namesAbbr: ["সোম.","মঙ্গল.","বুধ.","বৃহ.","শুক্র.","শনি.","ৰবি."],
				namesShort: ["সো","ম","বু","বৃ","শু","শ","র"]
			},
			months: {
				names: ["জানুৱাৰী","ফেব্রুৱাৰী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগষ্ট","চেপ্টেম্বর","অক্টোবর","নবেম্বর","ডিচেম্বর",""],
				namesAbbr: ["জানু","ফেব্রু","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগষ্ট","চেপ্টে","অক্টো","নবে","ডিচে",""]
			},
			AM: ["ৰাতিপু","ৰাতিপু","ৰাতিপু"],
			PM: ["আবেলি","আবেলি","আবেলি"],
			eras: [{"name":"খ্রীষ্টাব্দ","start":null,"offset":0}],
			patterns: {
				d: "dd-MM-yyyy",
				D: "yyyy,MMMM dd, dddd",
				t: "tt h:mm",
				T: "tt h:mm:ss",
				f: "yyyy,MMMM dd, dddd tt h:mm",
				F: "yyyy,MMMM dd, dddd tt h:mm:ss",
				M: "dd MMMM",
				Y: "MMMM,yy"
			}
		}
	}
});

Globalize.addCultureInfo( "mr-IN", "default", {
	name: "mr-IN",
	englishName: "Marathi (India)",
	nativeName: "मराठी (भारत)",
	language: "mr",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "रु"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["रविवार","सोमवार","मंगळवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"],
				namesAbbr: ["रवि.","सोम.","मंगळ.","बुध.","गुरु.","शुक्र.","शनि."],
				namesShort: ["र","स","म","ब","ग","श","श"]
			},
			months: {
				names: ["जानेवारी","फेब्रुवारी","मार्च","एप्रिल","मे","जून","जुलै","ऑगस्ट","सप्टेंबर","ऑक्टोबर","नोव्हेंबर","डिसेंबर",""],
				namesAbbr: ["जाने.","फेब्रु.","मार्च","एप्रिल","मे","जून","जुलै","ऑगस्ट","सप्टें.","ऑक्टो.","नोव्हें.","डिसें.",""]
			},
			AM: ["म.पू.","म.पू.","म.पू."],
			PM: ["म.नं.","म.नं.","म.नं."],
			patterns: {
				d: "dd-MM-yyyy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "sa-IN", "default", {
	name: "sa-IN",
	englishName: "Sanskrit (India)",
	nativeName: "संस्कृत (भारतम्)",
	language: "sa",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "रु"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			days: {
				names: ["रविवासरः","सोमवासरः","मङ्गलवासरः","बुधवासरः","गुरुवासरः","शुक्रवासरः","शनिवासरः"],
				namesAbbr: ["रविवासरः","सोमवासरः","मङ्गलवासरः","बुधवासरः","गुरुवासरः","शुक्रवासरः","शनिवासरः"],
				namesShort: ["र","स","म","ब","ग","श","श"]
			},
			months: {
				names: ["जनवरी","फरवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्तूबर","नवम्बर","दिसम्बर",""],
				namesAbbr: ["जनवरी","फरवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्तूबर","नवम्बर","दिसम्बर",""]
			},
			AM: ["पूर्वाह्न","पूर्वाह्न","पूर्वाह्न"],
			PM: ["अपराह्न","अपराह्न","अपराह्न"],
			patterns: {
				d: "dd-MM-yyyy",
				D: "dd MMMM yyyy dddd",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy dddd HH:mm",
				F: "dd MMMM yyyy dddd HH:mm:ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "mn-MN", "default", {
	name: "mn-MN",
	englishName: "Mongolian (Cyrillic, Mongolia)",
	nativeName: "Монгол хэл (Монгол улс)",
	language: "mn-Cyrl",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n$","n$"],
			",": " ",
			".": ",",
			symbol: "₮"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Ням","Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба"],
				namesAbbr: ["Ня","Да","Мя","Лх","Пү","Ба","Бя"],
				namesShort: ["Ня","Да","Мя","Лх","Пү","Ба","Бя"]
			},
			months: {
				names: ["1 дүгээр сар","2 дугаар сар","3 дугаар сар","4 дүгээр сар","5 дугаар сар","6 дугаар сар","7 дугаар сар","8 дугаар сар","9 дүгээр сар","10 дугаар сар","11 дүгээр сар","12 дугаар сар",""],
				namesAbbr: ["I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII",""]
			},
			monthsGenitive: {
				names: ["1 дүгээр сарын","2 дугаар сарын","3 дугаар сарын","4 дүгээр сарын","5 дугаар сарын","6 дугаар сарын","7 дугаар сарын","8 дугаар сарын","9 дүгээр сарын","10 дугаар сарын","11 дүгээр сарын","12 дугаар сарын",""],
				namesAbbr: ["I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "yy.MM.dd",
				D: "yyyy 'оны' MMMM d",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy 'оны' MMMM d H:mm",
				F: "yyyy 'оны' MMMM d H:mm:ss",
				M: "d MMMM",
				Y: "yyyy 'он' MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "bo-CN", "default", {
	name: "bo-CN",
	englishName: "Tibetan (PRC)",
	nativeName: "བོད་ཡིག (ཀྲུང་ཧྭ་མི་དམངས་སྤྱི་མཐུན་རྒྱལ་ཁབ།)",
	language: "bo",
	numberFormat: {
		groupSizes: [3,0],
		"NaN": "ཨང་ཀི་མིན་པ།",
		negativeInfinity: "མོ་གྲངས་ཚད་མེད་ཆུང་བ།",
		positiveInfinity: "ཕོ་གྲངས་ཚད་མེད་ཆེ་བ།",
		percent: {
			pattern: ["-n%","n%"],
			groupSizes: [3,0]
		},
		currency: {
			pattern: ["$-n","$n"],
			groupSizes: [3,0],
			symbol: "¥"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["གཟའ་ཉི་མ།","གཟའ་ཟླ་བ།","གཟའ་མིག་དམར།","གཟའ་ལྷག་པ།","གཟའ་ཕུར་བུ།","གཟའ་པ་སངས།","གཟའ་སྤེན་པ།"],
				namesAbbr: ["ཉི་མ།","ཟླ་བ།","མིག་དམར།","ལྷག་པ།","ཕུར་བུ།","པ་སངས།","སྤེན་པ།"],
				namesShort: ["༧","༡","༢","༣","༤","༥","༦"]
			},
			months: {
				names: ["སྤྱི་ཟླ་དང་པོ།","སྤྱི་ཟླ་གཉིས་པ།","སྤྱི་ཟླ་གསུམ་པ།","སྤྱི་ཟླ་བཞི་པ།","སྤྱི་ཟླ་ལྔ་པ།","སྤྱི་ཟླ་དྲུག་པ།","སྤྱི་ཟླ་བདུན་པ།","སྤྱི་ཟླ་བརྒྱད་པ།","སྤྱི་ཟླ་དགུ་པ།","སྤྱི་ཟླ་བཅུ་པོ།","སྤྱི་ཟླ་བཅུ་གཅིག་པ།","སྤྱི་ཟླ་བཅུ་གཉིས་པ།",""],
				namesAbbr: ["ཟླ་ ༡","ཟླ་ ༢","ཟླ་ ༣","ཟླ་ ༤","ཟླ་ ༥","ཟླ་ ༦","ཟླ་ ༧","ཟླ་ ༨","ཟླ་ ༩","ཟླ་ ༡༠","ཟླ་ ༡༡","ཟླ་ ༡༢",""]
			},
			AM: ["སྔ་དྲོ","སྔ་དྲོ","སྔ་དྲོ"],
			PM: ["ཕྱི་དྲོ","ཕྱི་དྲོ","ཕྱི་དྲོ"],
			eras: [{"name":"སྤྱི་ལོ","start":null,"offset":0}],
			patterns: {
				d: "yyyy/M/d",
				D: "yyyy'ལོའི་ཟླ' M'ཚེས' d",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "yyyy'ལོའི་ཟླ' M'ཚེས' d HH:mm",
				F: "yyyy'ལོའི་ཟླ' M'ཚེས' d HH:mm:ss",
				M: "'ཟླ་' M'ཚེས'd",
				Y: "yyyy.M"
			}
		}
	}
});

Globalize.addCultureInfo( "cy-GB", "default", {
	name: "cy-GB",
	englishName: "Welsh (United Kingdom)",
	nativeName: "Cymraeg (y Deyrnas Unedig)",
	language: "cy",
	numberFormat: {
		percent: {
			pattern: ["-%n","%n"]
		},
		currency: {
			pattern: ["-$n","$n"],
			symbol: "£"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Dydd Sul","Dydd Llun","Dydd Mawrth","Dydd Mercher","Dydd Iau","Dydd Gwener","Dydd Sadwrn"],
				namesAbbr: ["Sul","Llun","Maw","Mer","Iau","Gwe","Sad"],
				namesShort: ["Su","Ll","Ma","Me","Ia","Gw","Sa"]
			},
			months: {
				names: ["Ionawr","Chwefror","Mawrth","Ebrill","Mai","Mehefin","Gorffennaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr",""],
				namesAbbr: ["Ion","Chwe","Maw","Ebr","Mai","Meh","Gor","Aws","Med","Hyd","Tach","Rhag",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "km-KH", "default", {
	name: "km-KH",
	englishName: "Khmer (Cambodia)",
	nativeName: "ខ្មែរ (កម្ពុជា)",
	language: "km",
	numberFormat: {
		pattern: ["- n"],
		groupSizes: [3,0],
		"NaN": "NAN",
		negativeInfinity: "-- អនន្ត",
		positiveInfinity: "អនន្ត",
		percent: {
			pattern: ["-n%","n%"],
			groupSizes: [3,0]
		},
		currency: {
			pattern: ["-n$","n$"],
			symbol: "៛"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			days: {
				names: ["ថ្ងៃអាទិត្យ","ថ្ងៃច័ន្ទ","ថ្ងៃអង្គារ","ថ្ងៃពុធ","ថ្ងៃព្រហស្បតិ៍","ថ្ងៃសុក្រ","ថ្ងៃសៅរ៍"],
				namesAbbr: ["អាទិ.","ច.","អ.","ពុ","ព្រហ.","សុ.","ស."],
				namesShort: ["អា","ច","អ","ពុ","ព្","សុ","ស"]
			},
			months: {
				names: ["មករា","កុម្ភៈ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ",""],
				namesAbbr: ["១","២","៣","៤","៥","៦","៧","៨","៩","១០","១១","១២",""]
			},
			AM: ["ព្រឹក","ព្រឹក","ព្រឹក"],
			PM: ["ល្ងាច","ល្ងាច","ល្ងាច"],
			eras: [{"name":"មុនគ.ស.","start":null,"offset":0}],
			patterns: {
				d: "yyyy-MM-dd",
				D: "d MMMM yyyy",
				t: "H:mm tt",
				T: "HH:mm:ss",
				f: "d MMMM yyyy H:mm tt",
				F: "d MMMM yyyy HH:mm:ss",
				M: "'ថ្ងៃទី' dd 'ខែ' MM",
				Y: "'ខែ' MM 'ឆ្នាំ' yyyy"
			}
		},
		Gregorian_TransliteratedEnglish: {
			name: "Gregorian_TransliteratedEnglish",
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["أ","ا","ث","أ","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ព្រឹក","ព្រឹក","ព្រឹក"],
			PM: ["ល្ងាច","ល្ងាច","ល្ងាច"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "H:mm tt",
				T: "HH:mm:ss",
				f: "dddd, MMMM dd, yyyy H:mm tt",
				F: "dddd, MMMM dd, yyyy HH:mm:ss"
			}
		}
	}
});

Globalize.addCultureInfo( "lo-LA", "default", {
	name: "lo-LA",
	englishName: "Lao (Lao P.D.R.)",
	nativeName: "ລາວ (ສ.ປ.ປ. ລາວ)",
	language: "lo",
	numberFormat: {
		pattern: ["(n)"],
		groupSizes: [3,0],
		percent: {
			groupSizes: [3,0]
		},
		currency: {
			pattern: ["(n$)","n$"],
			groupSizes: [3,0],
			symbol: "₭"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["ວັນອາທິດ","ວັນຈັນ","ວັນອັງຄານ","ວັນພຸດ","ວັນພະຫັດ","ວັນສຸກ","ວັນເສົາ"],
				namesAbbr: ["ອາທິດ","ຈັນ","ອັງຄານ","ພຸດ","ພະຫັດ","ສຸກ","ເສົາ"],
				namesShort: ["ອ","ຈ","ອ","ພ","ພ","ສ","ເ"]
			},
			months: {
				names: ["ມັງກອນ","ກຸມພາ","ມີນາ","ເມສາ","ພຶດສະພາ","ມິຖຸນາ","ກໍລະກົດ","ສິງຫາ","ກັນຍາ","ຕຸລາ","ພະຈິກ","ທັນວາ",""],
				namesAbbr: ["ມັງກອນ","ກຸມພາ","ມີນາ","ເມສາ","ພຶດສະພາ","ມິຖຸນາ","ກໍລະກົດ","ສິງຫາ","ກັນຍາ","ຕຸລາ","ພະຈິກ","ທັນວາ",""]
			},
			AM: ["ເຊົ້າ","ເຊົ້າ","ເຊົ້າ"],
			PM: ["ແລງ","ແລງ","ແລງ"],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM yyyy",
				t: "H:mm tt",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy H:mm tt",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "gl-ES", "default", {
	name: "gl-ES",
	englishName: "Galician (Galician)",
	nativeName: "galego (galego)",
	language: "gl",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["domingo","luns","martes","mércores","xoves","venres","sábado"],
				namesAbbr: ["dom","luns","mar","mér","xov","ven","sáb"],
				namesShort: ["do","lu","ma","mé","xo","ve","sá"]
			},
			months: {
				names: ["xaneiro","febreiro","marzo","abril","maio","xuño","xullo","agosto","setembro","outubro","novembro","decembro",""],
				namesAbbr: ["xan","feb","mar","abr","maio","xuñ","xull","ago","set","out","nov","dec",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd, dd' de 'MMMM' de 'yyyy H:mm",
				F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "kok-IN", "default", {
	name: "kok-IN",
	englishName: "Konkani (India)",
	nativeName: "कोंकणी (भारत)",
	language: "kok",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "रु"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["आयतार","सोमार","मंगळार","बुधवार","बिरेस्तार","सुक्रार","शेनवार"],
				namesAbbr: ["आय.","सोम.","मंगळ.","बुध.","बिरे.","सुक्र.","शेन."],
				namesShort: ["आ","स","म","ब","ब","स","श"]
			},
			months: {
				names: ["जानेवारी","फेब्रुवारी","मार्च","एप्रिल","मे","जून","जुलै","ऑगस्ट","सप्टेंबर","ऑक्टोबर","नोवेम्बर","डिसेंबर",""],
				namesAbbr: ["जानेवारी","फेब्रुवारी","मार्च","एप्रिल","मे","जून","जुलै","ऑगस्ट","सप्टेंबर","ऑक्टोबर","नोवेम्बर","डिसेंबर",""]
			},
			AM: ["म.पू.","म.पू.","म.पू."],
			PM: ["म.नं.","म.नं.","म.नं."],
			patterns: {
				d: "dd-MM-yyyy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "syr-SY", "default", {
	name: "syr-SY",
	englishName: "Syriac (Syria)",
	nativeName: "ܣܘܪܝܝܐ (سوريا)",
	language: "syr",
	isRTL: true,
	numberFormat: {
		currency: {
			pattern: ["$n-","$ n"],
			symbol: "ل.س.\u200f"
		}
	},
	calendars: {
		standard: {
			firstDay: 6,
			days: {
				names: ["ܚܕ ܒܫܒܐ","ܬܪܝܢ ܒܫܒܐ","ܬܠܬܐ ܒܫܒܐ","ܐܪܒܥܐ ܒܫܒܐ","ܚܡܫܐ ܒܫܒܐ","ܥܪܘܒܬܐ","ܫܒܬܐ"],
				namesAbbr: ["\u070fܐ \u070fܒܫ","\u070fܒ \u070fܒܫ","\u070fܓ \u070fܒܫ","\u070fܕ \u070fܒܫ","\u070fܗ \u070fܒܫ","\u070fܥܪܘܒ","\u070fܫܒ"],
				namesShort: ["ܐ","ܒ","ܓ","ܕ","ܗ","ܥ","ܫ"]
			},
			months: {
				names: ["ܟܢܘܢ ܐܚܪܝ","ܫܒܛ","ܐܕܪ","ܢܝܣܢ","ܐܝܪ","ܚܙܝܪܢ","ܬܡܘܙ","ܐܒ","ܐܝܠܘܠ","ܬܫܪܝ ܩܕܝܡ","ܬܫܪܝ ܐܚܪܝ","ܟܢܘܢ ܩܕܝܡ",""],
				namesAbbr: ["\u070fܟܢ \u070fܒ","ܫܒܛ","ܐܕܪ","ܢܝܣܢ","ܐܝܪ","ܚܙܝܪܢ","ܬܡܘܙ","ܐܒ","ܐܝܠܘܠ","\u070fܬܫ \u070fܐ","\u070fܬܫ \u070fܒ","\u070fܟܢ \u070fܐ",""]
			},
			AM: ["ܩ.ܛ","ܩ.ܛ","ܩ.ܛ"],
			PM: ["ܒ.ܛ","ܒ.ܛ","ܒ.ܛ"],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM, yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM, yyyy hh:mm tt",
				F: "dd MMMM, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "si-LK", "default", {
	name: "si-LK",
	englishName: "Sinhala (Sri Lanka)",
	nativeName: "සිංහල (ශ්\u200dරී ලංකා)",
	language: "si",
	numberFormat: {
		groupSizes: [3,2],
		negativeInfinity: "-අනන්තය",
		positiveInfinity: "අනන්තය",
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["($ n)","$ n"],
			symbol: "රු."
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["ඉරිදා","සඳුදා","අඟහරුවාදා","බදාදා","බ්\u200dරහස්පතින්දා","සිකුරාදා","සෙනසුරාදා"],
				namesAbbr: ["ඉරිදා","සඳුදා","කුජදා","බුදදා","ගුරුදා","කිවිදා","ශනිදා"],
				namesShort: ["ඉ","ස","අ","බ","බ්\u200dර","සි","සෙ"]
			},
			months: {
				names: ["ජනවාරි","පෙබරවාරි","මාර්තු","අ\u200cප්\u200dරේල්","මැයි","ජූනි","ජූලි","අ\u200cගෝස්තු","සැප්තැම්බර්","ඔක්තෝබර්","නොවැම්බර්","දෙසැම්බර්",""],
				namesAbbr: ["ජන.","පෙබ.","මාර්තු.","අප්\u200dරේල්.","මැයි.","ජූනි.","ජූලි.","අගෝ.","සැප්.","ඔක්.","නොවැ.","දෙසැ.",""]
			},
			AM: ["පෙ.ව.","පෙ.ව.","පෙ.ව."],
			PM: ["ප.ව.","ප.ව.","ප.ව."],
			eras: [{"name":"ක්\u200dරි.ව.","start":null,"offset":0}],
			patterns: {
				d: "yyyy-MM-dd",
				D: "yyyy MMMM' මස 'dd' වැනිදා 'dddd",
				f: "yyyy MMMM' මස 'dd' වැනිදා 'dddd h:mm tt",
				F: "yyyy MMMM' මස 'dd' වැනිදා 'dddd h:mm:ss tt",
				Y: "yyyy MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "iu-Cans-CA", "default", {
	name: "iu-Cans-CA",
	englishName: "Inuktitut (Syllabics, Canada)",
	nativeName: "ᐃᓄᒃᑎᑐᑦ (ᑲᓇᑕᒥ)",
	language: "iu-Cans",
	numberFormat: {
		groupSizes: [3,0],
		percent: {
			pattern: ["-n%","n%"],
			groupSizes: [3,0]
		},
		currency: {
			groupSizes: [3,0]
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["ᓈᑦᑏᖑᔭ","ᓇᒡᒐᔾᔭᐅ","ᐊᐃᑉᐱᖅ","ᐱᖓᑦᓯᖅ","ᓯᑕᒻᒥᖅ","ᑕᓪᓕᕐᒥᖅ","ᓯᕙᑖᕐᕕᒃ"],
				namesAbbr: ["ᓈᑦᑏ","ᓇᒡᒐ","ᐊᐃᑉᐱ","ᐱᖓᑦᓯ","ᓯᑕ","ᑕᓪᓕ","ᓯᕙᑖᕐᕕᒃ"],
				namesShort: ["ᓈ","ᓇ","ᐊ","ᐱ","ᓯ","ᑕ","ᓯ"]
			},
			months: {
				names: ["ᔮᓐᓄᐊᕆ","ᕖᕝᕗᐊᕆ","ᒫᑦᓯ","ᐄᐳᕆ","ᒪᐃ","ᔫᓂ","ᔪᓚᐃ","ᐋᒡᒌᓯ","ᓯᑎᐱᕆ","ᐅᑐᐱᕆ","ᓄᕕᐱᕆ","ᑎᓯᐱᕆ",""],
				namesAbbr: ["ᔮᓐᓄ","ᕖᕝᕗ","ᒫᑦᓯ","ᐄᐳᕆ","ᒪᐃ","ᔫᓂ","ᔪᓚᐃ","ᐋᒡᒌ","ᓯᑎᐱ","ᐅᑐᐱ","ᓄᕕᐱ","ᑎᓯᐱ",""]
			},
			patterns: {
				d: "d/M/yyyy",
				D: "dddd,MMMM dd,yyyy",
				f: "dddd,MMMM dd,yyyy h:mm tt",
				F: "dddd,MMMM dd,yyyy h:mm:ss tt",
				Y: "MMMM,yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "am-ET", "default", {
	name: "am-ET",
	englishName: "Amharic (Ethiopia)",
	nativeName: "አማርኛ (ኢትዮጵያ)",
	language: "am",
	numberFormat: {
		decimals: 1,
		groupSizes: [3,0],
		"NaN": "NAN",
		percent: {
			pattern: ["-n%","n%"],
			decimals: 1,
			groupSizes: [3,0]
		},
		currency: {
			pattern: ["-$n","$n"],
			groupSizes: [3,0],
			symbol: "ETB"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["እሑድ","ሰኞ","ማክሰኞ","ረቡዕ","ሐሙስ","ዓርብ","ቅዳሜ"],
				namesAbbr: ["እሑድ","ሰኞ","ማክሰ","ረቡዕ","ሐሙስ","ዓርብ","ቅዳሜ"],
				namesShort: ["እ","ሰ","ማ","ረ","ሐ","ዓ","ቅ"]
			},
			months: {
				names: ["ጃንዩወሪ","ፌብሩወሪ","ማርች","ኤፕረል","ሜይ","ጁን","ጁላይ","ኦገስት","ሴፕቴምበር","ኦክተውበር","ኖቬምበር","ዲሴምበር",""],
				namesAbbr: ["ጃንዩ","ፌብሩ","ማርች","ኤፕረ","ሜይ","ጁን","ጁላይ","ኦገስ","ሴፕቴ","ኦክተ","ኖቬም","ዲሴም",""]
			},
			AM: ["ጡዋት","ጡዋት","ጡዋት"],
			PM: ["ከሰዓት","ከሰዓት","ከሰዓት"],
			eras: [{"name":"ዓመተ  ምሕረት","start":null,"offset":0}],
			patterns: {
				d: "d/M/yyyy",
				D: "dddd '፣' MMMM d 'ቀን' yyyy",
				f: "dddd '፣' MMMM d 'ቀን' yyyy h:mm tt",
				F: "dddd '፣' MMMM d 'ቀን' yyyy h:mm:ss tt",
				M: "MMMM d ቀን",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ne-NP", "default", {
	name: "ne-NP",
	englishName: "Nepali (Nepal)",
	nativeName: "नेपाली (नेपाल)",
	language: "ne",
	numberFormat: {
		groupSizes: [3,2],
		"NaN": "nan",
		negativeInfinity: "-infinity",
		positiveInfinity: "infinity",
		percent: {
			pattern: ["-n%","n%"],
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["-$n","$n"],
			symbol: "रु"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["आइतवार","सोमवार","मङ्गलवार","बुधवार","बिहीवार","शुक्रवार","शनिवार"],
				namesAbbr: ["आइत","सोम","मङ्गल","बुध","बिही","शुक्र","शनि"],
				namesShort: ["आ","सो","म","बु","बि","शु","श"]
			},
			months: {
				names: ["जनवरी","फेब्रुअरी","मार्च","अप्रिल","मे","जून","जुलाई","अगस्त","सेप्टेम्बर","अक्टोबर","नोभेम्बर","डिसेम्बर",""],
				namesAbbr: ["जन","फेब","मार्च","अप्रिल","मे","जून","जुलाई","अग","सेप्ट","अक्ट","नोभ","डिस",""]
			},
			AM: ["विहानी","विहानी","विहानी"],
			PM: ["बेलुकी","बेलुकी","बेलुकी"],
			eras: [{"name":"a.d.","start":null,"offset":0}],
			patterns: {
				Y: "MMMM,yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "fy-NL", "default", {
	name: "fy-NL",
	englishName: "Frisian (Netherlands)",
	nativeName: "Frysk (Nederlân)",
	language: "fy",
	numberFormat: {
		",": ".",
		".": ",",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["$ -n","$ n"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["Snein","Moandei","Tiisdei","Woansdei","Tongersdei","Freed","Sneon"],
				namesAbbr: ["Sn","Mo","Ti","Wo","To","Fr","Sn"],
				namesShort: ["S","M","T","W","T","F","S"]
			},
			months: {
				names: ["jannewaris","febrewaris","maart","april","maaie","juny","july","augustus","septimber","oktober","novimber","desimber",""],
				namesAbbr: ["jann","febr","mrt","apr","maaie","jun","jul","aug","sept","okt","nov","des",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d-M-yyyy",
				D: "dddd d MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd d MMMM yyyy H:mm",
				F: "dddd d MMMM yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ps-AF", "default", {
	name: "ps-AF",
	englishName: "Pashto (Afghanistan)",
	nativeName: "پښتو (افغانستان)",
	language: "ps",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		",": "،",
		".": ",",
		"NaN": "غ ع",
		negativeInfinity: "-∞",
		positiveInfinity: "∞",
		percent: {
			pattern: ["%n-","%n"],
			",": "،",
			".": ","
		},
		currency: {
			pattern: ["$n-","$n"],
			",": "٬",
			".": "٫",
			symbol: "؋"
		}
	},
	calendars: {
		standard: {
			name: "Hijri",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["غ.م","غ.م","غ.م"],
			PM: ["غ.و","غ.و","غ.و"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				f: "dd/MM/yyyy h:mm tt",
				F: "dd/MM/yyyy h:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		Gregorian_Localized: {
			firstDay: 6,
			days: {
				names: ["یکشنبه","دوشنبه","سه\u200cشنبه","چارشنبه","پنجشنبه","جمعه","شنبه"],
				namesAbbr: ["یکشنبه","دوشنبه","سه\u200cشنبه","چارشنبه","پنجشنبه","جمعه","شنبه"],
				namesShort: ["ی","د","س","چ","پ","ج","ش"]
			},
			months: {
				names: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګا ښزمرى","زمرى","وږى","تله","لړم","لنڈ ۍ","مرغومى",""],
				namesAbbr: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګا ښ","زمرى","وږى","تله","لړم","لنڈ ۍ","مرغومى",""]
			},
			AM: ["غ.م","غ.م","غ.م"],
			PM: ["غ.و","غ.و","غ.و"],
			eras: [{"name":"ل.ه","start":null,"offset":0}],
			patterns: {
				d: "yyyy/M/d",
				D: "yyyy, dd, MMMM, dddd",
				f: "yyyy, dd, MMMM, dddd h:mm tt",
				F: "yyyy, dd, MMMM, dddd h:mm:ss tt",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "fil-PH", "default", {
	name: "fil-PH",
	englishName: "Filipino (Philippines)",
	nativeName: "Filipino (Pilipinas)",
	language: "fil",
	numberFormat: {
		currency: {
			symbol: "PhP"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Linggo","Lunes","Martes","Mierkoles","Huebes","Biernes","Sabado"],
				namesAbbr: ["Lin","Lun","Mar","Mier","Hueb","Bier","Saba"],
				namesShort: ["L","L","M","M","H","B","S"]
			},
			months: {
				names: ["Enero","Pebrero","Marso","Abril","Mayo","Hunyo","Hulyo","Agosto","Septyembre","Oktubre","Nobyembre","Disyembre",""],
				namesAbbr: ["En","Peb","Mar","Abr","Mayo","Hun","Hul","Agos","Sept","Okt","Nob","Dis",""]
			},
			eras: [{"name":"Anno Domini","start":null,"offset":0}]
		}
	}
});

Globalize.addCultureInfo( "dv-MV", "default", {
	name: "dv-MV",
	englishName: "Divehi (Maldives)",
	nativeName: "ދިވެހިބަސް (ދިވެހި ރާއްޖެ)",
	language: "dv",
	isRTL: true,
	numberFormat: {
		currency: {
			pattern: ["n $-","n $"],
			symbol: "ރ."
		}
	},
	calendars: {
		standard: {
			name: "Hijri",
			days: {
				names: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"],
				namesAbbr: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"],
				namesShort: ["އާ","ހޯ","އަ","ބު","ބު","ހު","ހޮ"]
			},
			months: {
				names: ["މުޙައްރަމް","ޞަފަރު","ރަބީޢުލްއައްވަލް","ރަބީޢުލްއާޚިރު","ޖުމާދަލްއޫލާ","ޖުމާދަލްއާޚިރާ","ރަޖަބް","ޝަޢްބާން","ރަމަޟާން","ޝައްވާލް","ޛުލްޤަޢިދާ","ޛުލްޙިއްޖާ",""],
				namesAbbr: ["މުޙައްރަމް","ޞަފަރު","ރަބީޢުލްއައްވަލް","ރަބީޢުލްއާޚިރު","ޖުމާދަލްއޫލާ","ޖުމާދަލްއާޚިރާ","ރަޖަބް","ޝަޢްބާން","ރަމަޟާން","ޝައްވާލް","ޛުލްޤަޢިދާ","ޛުލްޙިއްޖާ",""]
			},
			AM: ["މކ","މކ","މކ"],
			PM: ["މފ","މފ","މފ"],
			eras: [{"name":"ހިޖްރީ","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd/MM/yyyy HH:mm",
				F: "dd/MM/yyyy HH:mm:ss",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		Gregorian_Localized: {
			days: {
				names: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"],
				namesAbbr: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"],
				namesShort: ["އާ","ހޯ","އަ","ބު","ބު","ހު","ހޮ"]
			},
			months: {
				names: ["ޖަނަވަރީ","ފެބްރުއަރީ","މާޗް","އޭޕްރިލް","މެއި","ޖޫން","ޖުލައި","އޯގަސްޓް","ސެޕްޓެމްބަރ","އޮކްޓޯބަރ","ނޮވެމްބަރ","ޑިސެމްބަރ",""],
				namesAbbr: ["ޖަނަވަރީ","ފެބްރުއަރީ","މާޗް","އޭޕްރިލް","މެއި","ޖޫން","ޖުލައި","އޯގަސްޓް","ސެޕްޓެމްބަރ","އޮކްޓޯބަރ","ނޮވެމްބަރ","ޑިސެމްބަރ",""]
			},
			AM: ["މކ","މކ","މކ"],
			PM: ["މފ","މފ","މފ"],
			eras: [{"name":"މީލާދީ","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yy",
				D: "ddd, yyyy MMMM dd",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "ddd, yyyy MMMM dd HH:mm",
				F: "ddd, yyyy MMMM dd HH:mm:ss",
				Y: "yyyy, MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "ha-Latn-NG", "default", {
	name: "ha-Latn-NG",
	englishName: "Hausa (Latin, Nigeria)",
	nativeName: "Hausa (Nigeria)",
	language: "ha-Latn",
	numberFormat: {
		currency: {
			pattern: ["$-n","$ n"],
			symbol: "N"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Lahadi","Litinin","Talata","Laraba","Alhamis","Juma'a","Asabar"],
				namesAbbr: ["Lah","Lit","Tal","Lar","Alh","Jum","Asa"],
				namesShort: ["L","L","T","L","A","J","A"]
			},
			months: {
				names: ["Januwaru","Febreru","Maris","Afrilu","Mayu","Yuni","Yuli","Agusta","Satumba","Oktocba","Nuwamba","Disamba",""],
				namesAbbr: ["Jan","Feb","Mar","Afr","May","Yun","Yul","Agu","Sat","Okt","Nuw","Dis",""]
			},
			AM: ["Safe","safe","SAFE"],
			PM: ["Yamma","yamma","YAMMA"],
			eras: [{"name":"AD","start":null,"offset":0}],
			patterns: {
				d: "d/M/yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "yo-NG", "default", {
	name: "yo-NG",
	englishName: "Yoruba (Nigeria)",
	nativeName: "Yoruba (Nigeria)",
	language: "yo",
	numberFormat: {
		currency: {
			pattern: ["$-n","$ n"],
			symbol: "N"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Aiku","Aje","Isegun","Ojo'ru","Ojo'bo","Eti","Abameta"],
				namesAbbr: ["Aik","Aje","Ise","Ojo","Ojo","Eti","Aba"],
				namesShort: ["A","A","I","O","O","E","A"]
			},
			months: {
				names: ["Osu kinni","Osu keji","Osu keta","Osu kerin","Osu karun","Osu kefa","Osu keje","Osu kejo","Osu kesan","Osu kewa","Osu kokanla","Osu keresi",""],
				namesAbbr: ["kin.","kej.","ket.","ker.","kar.","kef.","kej.","kej.","kes.","kew.","kok.","ker.",""]
			},
			AM: ["Owuro","owuro","OWURO"],
			PM: ["Ale","ale","ALE"],
			eras: [{"name":"AD","start":null,"offset":0}],
			patterns: {
				d: "d/M/yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "quz-BO", "default", {
	name: "quz-BO",
	englishName: "Quechua (Bolivia)",
	nativeName: "runasimi (Qullasuyu)",
	language: "quz",
	numberFormat: {
		",": ".",
		".": ",",
		percent: {
			pattern: ["-%n","%n"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["($ n)","$ n"],
			",": ".",
			".": ",",
			symbol: "$b"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["intichaw","killachaw","atipachaw","quyllurchaw","Ch' askachaw","Illapachaw","k'uychichaw"],
				namesAbbr: ["int","kil","ati","quy","Ch'","Ill","k'u"],
				namesShort: ["d","k","a","m","h","b","k"]
			},
			months: {
				names: ["Qulla puquy","Hatun puquy","Pauqar waray","ayriwa","Aymuray","Inti raymi","Anta Sitwa","Qhapaq Sitwa","Uma raymi","Kantaray","Ayamarq'a","Kapaq Raymi",""],
				namesAbbr: ["Qul","Hat","Pau","ayr","Aym","Int","Ant","Qha","Uma","Kan","Aya","Kap",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt",
				F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "nso-ZA", "default", {
	name: "nso-ZA",
	englishName: "Sesotho sa Leboa (South Africa)",
	nativeName: "Sesotho sa Leboa (Afrika Borwa)",
	language: "nso",
	numberFormat: {
		percent: {
			pattern: ["-%n","%n"]
		},
		currency: {
			pattern: ["$-n","$ n"],
			symbol: "R"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Lamorena","Mošupologo","Labobedi","Laboraro","Labone","Labohlano","Mokibelo"],
				namesAbbr: ["Lam","Moš","Lbb","Lbr","Lbn","Lbh","Mok"],
				namesShort: ["L","M","L","L","L","L","M"]
			},
			months: {
				names: ["Pherekgong","Hlakola","Mopitlo","Moranang","Mosegamanye","Ngoatobošego","Phuphu","Phato","Lewedi","Diphalana","Dibatsela","Manthole",""],
				namesAbbr: ["Pher","Hlak","Mop","Mor","Mos","Ngwat","Phup","Phat","Lew","Dip","Dib","Man",""]
			},
			patterns: {
				d: "yyyy/MM/dd",
				D: "dd MMMM yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM yyyy hh:mm tt",
				F: "dd MMMM yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ba-RU", "default", {
	name: "ba-RU",
	englishName: "Bashkir (Russia)",
	nativeName: "Башҡорт (Россия)",
	language: "ba",
	numberFormat: {
		",": " ",
		".": ",",
		groupSizes: [3,0],
		negativeInfinity: "-бесконечность",
		positiveInfinity: "бесконечность",
		percent: {
			pattern: ["-n%","n%"],
			groupSizes: [3,0],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			groupSizes: [3,0],
			",": " ",
			".": ",",
			symbol: "һ."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Йәкшәмбе","Дүшәмбе","Шишәмбе","Шаршамбы","Кесаҙна","Йома","Шәмбе"],
				namesAbbr: ["Йш","Дш","Шш","Шр","Кс","Йм","Шб"],
				namesShort: ["Йш","Дш","Шш","Шр","Кс","Йм","Шб"]
			},
			months: {
				names: ["ғинуар","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь",""],
				namesAbbr: ["ғин","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yy",
				D: "d MMMM yyyy 'й'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM yyyy 'й' H:mm",
				F: "d MMMM yyyy 'й' H:mm:ss",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "lb-LU", "default", {
	name: "lb-LU",
	englishName: "Luxembourgish (Luxembourg)",
	nativeName: "Lëtzebuergesch (Luxembourg)",
	language: "lb",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "n. num.",
		negativeInfinity: "-onendlech",
		positiveInfinity: "+onendlech",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Sonndeg","Méindeg","Dënschdeg","Mëttwoch","Donneschdeg","Freideg","Samschdeg"],
				namesAbbr: ["Son","Méi","Dën","Mët","Don","Fre","Sam"],
				namesShort: ["So","Mé","Dë","Më","Do","Fr","Sa"]
			},
			months: {
				names: ["Januar","Februar","Mäerz","Abrëll","Mee","Juni","Juli","August","September","Oktober","November","Dezember",""],
				namesAbbr: ["Jan","Feb","Mäe","Abr","Mee","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"n. Chr","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd d MMMM yyyy HH:mm",
				F: "dddd d MMMM yyyy HH:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "kl-GL", "default", {
	name: "kl-GL",
	englishName: "Greenlandic (Greenland)",
	nativeName: "kalaallisut (Kalaallit Nunaat)",
	language: "kl",
	numberFormat: {
		",": ".",
		".": ",",
		groupSizes: [3,0],
		negativeInfinity: "-INF",
		positiveInfinity: "INF",
		percent: {
			groupSizes: [3,0],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,0],
			",": ".",
			".": ",",
			symbol: "kr."
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["sapaat","ataasinngorneq","marlunngorneq","pingasunngorneq","sisamanngorneq","tallimanngorneq","arfininngorneq"],
				namesAbbr: ["sap","ata","mar","ping","sis","tal","arf"],
				namesShort: ["sa","at","ma","pi","si","ta","ar"]
			},
			months: {
				names: ["januari","februari","martsi","apriili","maaji","juni","juli","aggusti","septembari","oktobari","novembari","decembari",""],
				namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd-MM-yyyy",
				D: "d. MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "d. MMMM yyyy HH:mm",
				F: "d. MMMM yyyy HH:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ig-NG", "default", {
	name: "ig-NG",
	englishName: "Igbo (Nigeria)",
	nativeName: "Igbo (Nigeria)",
	language: "ig",
	numberFormat: {
		currency: {
			pattern: ["$-n","$ n"],
			symbol: "N"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Aiku","Aje","Isegun","Ojo'ru","Ojo'bo","Eti","Abameta"],
				namesAbbr: ["Aik","Aje","Ise","Ojo","Ojo","Eti","Aba"],
				namesShort: ["A","A","I","O","O","E","A"]
			},
			months: {
				names: ["Onwa mbu","Onwa ibua","Onwa ato","Onwa ano","Onwa ise","Onwa isi","Onwa asa","Onwa asato","Onwa itolu","Onwa iri","Onwa iri n'ofu","Onwa iri n'ibua",""],
				namesAbbr: ["mbu.","ibu.","ato.","ano.","ise","isi","asa","asa.","ito.","iri.","n'of.","n'ib.",""]
			},
			AM: ["Ututu","ututu","UTUTU"],
			PM: ["Efifie","efifie","EFIFIE"],
			eras: [{"name":"AD","start":null,"offset":0}],
			patterns: {
				d: "d/M/yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ii-CN", "default", {
	name: "ii-CN",
	englishName: "Yi (PRC)",
	nativeName: "ꆈꌠꁱꂷ (ꍏꉸꏓꂱꇭꉼꇩ)",
	language: "ii",
	numberFormat: {
		groupSizes: [3,0],
		"NaN": "ꌗꂷꀋꉬ",
		negativeInfinity: "ꀄꊭꌐꀋꉆ",
		positiveInfinity: "ꈤꇁꑖꀋꉬ",
		percent: {
			pattern: ["-n%","n%"],
			groupSizes: [3,0]
		},
		currency: {
			pattern: ["$-n","$n"],
			symbol: "¥"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["ꑭꆏꑍ","ꆏꊂ꒔","ꆏꊂꑍ","ꆏꊂꌕ","ꆏꊂꇖ","ꆏꊂꉬ","ꆏꊂꃘ"],
				namesAbbr: ["ꑭꆏ","ꆏ꒔","ꆏꑍ","ꆏꌕ","ꆏꇖ","ꆏꉬ","ꆏꃘ"],
				namesShort: ["ꆏ","꒔","ꑍ","ꌕ","ꇖ","ꉬ","ꃘ"]
			},
			months: {
				names: ["ꋍꆪ","ꑍꆪ","ꌕꆪ","ꇖꆪ","ꉬꆪ","ꃘꆪ","ꏃꆪ","ꉆꆪ","ꈬꆪ","ꊰꆪ","ꊯꊪꆪ","ꊰꑋꆪ",""],
				namesAbbr: ["ꋍꆪ","ꑍꆪ","ꌕꆪ","ꇖꆪ","ꉬꆪ","ꃘꆪ","ꏃꆪ","ꉆꆪ","ꈬꆪ","ꊰꆪ","ꊯꊪꆪ","ꊰꑋꆪ",""]
			},
			AM: ["ꂵꆪꈌꈐ","ꂵꆪꈌꈐ","ꂵꆪꈌꈐ"],
			PM: ["ꂵꆪꈌꉈ","ꂵꆪꈌꉈ","ꂵꆪꈌꉈ"],
			eras: [{"name":"ꇬꑼ","start":null,"offset":0}],
			patterns: {
				d: "yyyy/M/d",
				D: "yyyy'ꈎ' M'ꆪ' d'ꑍ'",
				t: "tt h:mm",
				T: "H:mm:ss",
				f: "yyyy'ꈎ' M'ꆪ' d'ꑍ' tt h:mm",
				F: "yyyy'ꈎ' M'ꆪ' d'ꑍ' H:mm:ss",
				M: "M'ꆪ' d'ꑍ'",
				Y: "yyyy'ꈎ' M'ꆪ'"
			}
		}
	}
});

Globalize.addCultureInfo( "arn-CL", "default", {
	name: "arn-CL",
	englishName: "Mapudungun (Chile)",
	nativeName: "Mapudungun (Chile)",
	language: "arn",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-$ n","$ n"],
			",": ".",
			".": ","
		}
	},
	calendars: {
		standard: {
			"/": "-",
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sá"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd-MM-yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd, dd' de 'MMMM' de 'yyyy H:mm",
				F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "moh-CA", "default", {
	name: "moh-CA",
	englishName: "Mohawk (Mohawk)",
	nativeName: "Kanien'kéha",
	language: "moh",
	numberFormat: {
		groupSizes: [3,0],
		percent: {
			groupSizes: [3,0]
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Awentatokentì:ke","Awentataón'ke","Ratironhia'kehronòn:ke","Soséhne","Okaristiiáhne","Ronwaia'tanentaktonhne","Entákta"],
				namesShort: ["S","M","T","W","T","F","S"]
			},
			months: {
				names: ["Tsothohrkó:Wa","Enniska","Enniskó:Wa","Onerahtókha","Onerahtohkó:Wa","Ohiari:Ha","Ohiarihkó:Wa","Seskéha","Seskehkó:Wa","Kenténha","Kentenhkó:Wa","Tsothóhrha",""]
			}
		}
	}
});

Globalize.addCultureInfo( "br-FR", "default", {
	name: "br-FR",
	englishName: "Breton (France)",
	nativeName: "brezhoneg (Frañs)",
	language: "br",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "NkN",
		negativeInfinity: "-Anfin",
		positiveInfinity: "+Anfin",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Sul","Lun","Meurzh","Merc'her","Yaou","Gwener","Sadorn"],
				namesAbbr: ["Sul","Lun","Meu.","Mer.","Yaou","Gwe.","Sad."],
				namesShort: ["Su","Lu","Mz","Mc","Ya","Gw","Sa"]
			},
			months: {
				names: ["Genver","C'hwevrer","Meurzh","Ebrel","Mae","Mezheven","Gouere","Eost","Gwengolo","Here","Du","Kerzu",""],
				namesAbbr: ["Gen.","C'hwe.","Meur.","Ebr.","Mae","Mezh.","Goue.","Eost","Gwen.","Here","Du","Kzu",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"g. J.-K.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd d MMMM yyyy HH:mm",
				F: "dddd d MMMM yyyy HH:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ug-CN", "default", {
	name: "ug-CN",
	englishName: "Uyghur (PRC)",
	nativeName: "ئۇيغۇرچە (جۇڭخۇا خەلق جۇمھۇرىيىتى)",
	language: "ug",
	isRTL: true,
	numberFormat: {
		"NaN": "سان ئەمەس",
		negativeInfinity: "مەنپىي چەكسىزلىك",
		positiveInfinity: "مۇسبەت چەكسىزلىك",
		percent: {
			pattern: ["-n%","n%"]
		},
		currency: {
			pattern: ["$-n","$n"],
			symbol: "¥"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			days: {
				names: ["يەكشەنبە","دۈشەنبە","سەيشەنبە","چارشەنبە","پەيشەنبە","جۈمە","شەنبە"],
				namesAbbr: ["يە","دۈ","سە","چا","پە","جۈ","شە"],
				namesShort: ["ي","د","س","چ","پ","ج","ش"]
			},
			months: {
				names: ["1-ئاي","2-ئاي","3-ئاي","4-ئاي","5-ئاي","6-ئاي","7-ئاي","8-ئاي","9-ئاي","10-ئاي","11-ئاي","12-ئاي",""],
				namesAbbr: ["1-ئاي","2-ئاي","3-ئاي","4-ئاي","5-ئاي","6-ئاي","7-ئاي","8-ئاي","9-ئاي","10-ئاي","11-ئاي","12-ئاي",""]
			},
			AM: ["چۈشتىن بۇرۇن","چۈشتىن بۇرۇن","چۈشتىن بۇرۇن"],
			PM: ["چۈشتىن كېيىن","چۈشتىن كېيىن","چۈشتىن كېيىن"],
			eras: [{"name":"مىلادى","start":null,"offset":0}],
			patterns: {
				d: "yyyy-M-d",
				D: "yyyy-'يىلى' MMMM d-'كۈنى،'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy-'يىلى' MMMM d-'كۈنى،' H:mm",
				F: "yyyy-'يىلى' MMMM d-'كۈنى،' H:mm:ss",
				M: "MMMM d'-كۈنى'",
				Y: "yyyy-'يىلى' MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "mi-NZ", "default", {
	name: "mi-NZ",
	englishName: "Maori (New Zealand)",
	nativeName: "Reo Māori (Aotearoa)",
	language: "mi",
	numberFormat: {
		percent: {
			pattern: ["-%n","%n"]
		},
		currency: {
			pattern: ["-$n","$n"]
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Rātapu","Rāhina","Rātū","Rāapa","Rāpare","Rāmere","Rāhoroi"],
				namesAbbr: ["Ta","Hi","Tū","Apa","Pa","Me","Ho"],
				namesShort: ["Ta","Hi","Tū","Aa","Pa","Me","Ho"]
			},
			months: {
				names: ["Kohi-tātea","Hui-tanguru","Poutū-te-rangi","Paenga-whāwhā","Haratua","Pipiri","Hōngongoi","Here-turi-kōkā","Mahuru","Whiringa-ā-nuku","Whiringa-ā-rangi","Hakihea",""],
				namesAbbr: ["Kohi","Hui","Pou","Pae","Hara","Pipi","Hōngo","Here","Mahu","Nuku","Rangi","Haki",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd MMMM, yyyy",
				f: "dddd, dd MMMM, yyyy h:mm tt",
				F: "dddd, dd MMMM, yyyy h:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM, yy"
			}
		}
	}
});

Globalize.addCultureInfo( "oc-FR", "default", {
	name: "oc-FR",
	englishName: "Occitan (France)",
	nativeName: "Occitan (França)",
	language: "oc",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "Non Numeric",
		negativeInfinity: "-Infinit",
		positiveInfinity: "+Infinit",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["dimenge","diluns","dimars","dimècres","dijòus","divendres","dissabte"],
				namesAbbr: ["dim.","lun.","mar.","mèc.","jòu.","ven.","sab."],
				namesShort: ["di","lu","ma","mè","jò","ve","sa"]
			},
			months: {
				names: ["genier","febrier","març","abril","mai","junh","julh","agost","setembre","octobre","novembre","desembre",""],
				namesAbbr: ["gen.","feb.","mar.","abr.","mai.","jun.","jul.","ag.","set.","oct.","nov.","des.",""]
			},
			monthsGenitive: {
				names: ["de genier","de febrier","de març","d'abril","de mai","de junh","de julh","d'agost","de setembre","d'octobre","de novembre","de desembre",""],
				namesAbbr: ["gen.","feb.","mar.","abr.","mai.","jun.","jul.","ag.","set.","oct.","nov.","des.",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"après Jèsus-Crist","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd,' lo 'd MMMM' de 'yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd,' lo 'd MMMM' de 'yyyy HH:mm",
				F: "dddd,' lo 'd MMMM' de 'yyyy HH:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "co-FR", "default", {
	name: "co-FR",
	englishName: "Corsican (France)",
	nativeName: "Corsu (France)",
	language: "co",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "Mica numericu",
		negativeInfinity: "-Infinitu",
		positiveInfinity: "+Infinitu",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["dumenica","luni","marti","mercuri","ghjovi","venderi","sabbatu"],
				namesAbbr: ["dum.","lun.","mar.","mer.","ghj.","ven.","sab."],
				namesShort: ["du","lu","ma","me","gh","ve","sa"]
			},
			months: {
				names: ["ghjennaghju","ferraghju","marzu","aprile","maghju","ghjunghju","lugliu","aostu","settembre","ottobre","nuvembre","dicembre",""],
				namesAbbr: ["ghje","ferr","marz","apri","magh","ghju","lugl","aost","sett","otto","nuve","dice",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"dopu J-C","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd d MMMM yyyy HH:mm",
				F: "dddd d MMMM yyyy HH:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "gsw-FR", "default", {
	name: "gsw-FR",
	englishName: "Alsatian (France)",
	nativeName: "Elsässisch (Frànkrisch)",
	language: "gsw",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "Ohne Nummer",
		negativeInfinity: "-Unendlich",
		positiveInfinity: "+Unendlich",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Sundàà","Mondàà","Dienschdàà","Mittwuch","Dunnerschdàà","Fridàà","Sàmschdàà"],
				namesAbbr: ["Su.","Mo.","Di.","Mi.","Du.","Fr.","Sà."],
				namesShort: ["Su","Mo","Di","Mi","Du","Fr","Sà"]
			},
			months: {
				names: ["Jänner","Feverje","März","Àpril","Mai","Jüni","Jüli","Augscht","September","Oktower","Nowember","Dezember",""],
				namesAbbr: ["Jän.","Fev.","März","Apr.","Mai","Jüni","Jüli","Aug.","Sept.","Okt.","Now.","Dez.",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"Vor J.-C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd d MMMM yyyy HH:mm",
				F: "dddd d MMMM yyyy HH:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "sah-RU", "default", {
	name: "sah-RU",
	englishName: "Yakut (Russia)",
	nativeName: "саха (Россия)",
	language: "sah",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "NAN",
		negativeInfinity: "-бесконечность",
		positiveInfinity: "бесконечность",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n$","n$"],
			",": " ",
			".": ",",
			symbol: "с."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["баскыһыанньа","бэнидиэнньик","оптуорунньук","сэрэдэ","чэппиэр","бээтинсэ","субуота"],
				namesAbbr: ["Бс","Бн","Оп","Ср","Чп","Бт","Сб"],
				namesShort: ["Бс","Бн","Оп","Ср","Чп","Бт","Сб"]
			},
			months: {
				names: ["Тохсунньу","Олунньу","Кулун тутар","Муус устар","Ыам ыйа","Бэс ыйа","От ыйа","Атырдьах ыйа","Балаҕан ыйа","Алтынньы","Сэтинньи","Ахсынньы",""],
				namesAbbr: ["тхс","олн","кул","мст","ыам","бэс","отй","атр","блҕ","алт","стн","ахс",""]
			},
			monthsGenitive: {
				names: ["тохсунньу","олунньу","кулун тутар","муус устар","ыам ыйын","бэс ыйын","от ыйын","атырдьах ыйын","балаҕан ыйын","алтынньы","сэтинньи","ахсынньы",""],
				namesAbbr: ["тхс","олн","кул","мст","ыам","бэс","отй","атр","блҕ","алт","стн","ахс",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "MM.dd.yyyy",
				D: "MMMM d yyyy 'с.'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "MMMM d yyyy 'с.' H:mm",
				F: "MMMM d yyyy 'с.' H:mm:ss",
				Y: "MMMM yyyy 'с.'"
			}
		}
	}
});

Globalize.addCultureInfo( "qut-GT", "default", {
	name: "qut-GT",
	englishName: "K'iche (Guatemala)",
	nativeName: "K'iche (Guatemala)",
	language: "qut",
	numberFormat: {
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		currency: {
			symbol: "Q"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["juq'ij","kaq'ij","oxq'ij","kajq'ij","joq'ij","waqq'ij","wuqq'ij"],
				namesAbbr: ["juq","kaq","oxq","kajq","joq","waqq","wuqq"],
				namesShort: ["ju","ka","ox","ka","jo","wa","wu"]
			},
			months: {
				names: ["nab'e ik'","ukab' ik'","rox ik'","ukaj ik'","uro' ik'","uwaq ik'","uwuq ik'","uwajxaq ik'","ub'elej ik'","ulaj ik'","ujulaj ik'","ukab'laj ik'",""],
				namesAbbr: ["nab'e","ukab","rox","ukaj","uro","uwaq","uwuq","uwajxaq","ub'elej","ulaj","ujulaj","ukab'laj",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt",
				F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "rw-RW", "default", {
	name: "rw-RW",
	englishName: "Kinyarwanda (Rwanda)",
	nativeName: "Kinyarwanda (Rwanda)",
	language: "rw",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["$-n","$ n"],
			",": " ",
			".": ",",
			symbol: "RWF"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Ku wa mbere","Ku wa kabiri","Ku wa gatatu","Ku wa kane","Ku wa gatanu","Ku wa gatandatu","Ku cyumweru"],
				namesAbbr: ["mbe.","kab.","gat.","kan.","gat.","gat.","cyu."],
				namesShort: ["mb","ka","ga","ka","ga","ga","cy"]
			},
			months: {
				names: ["Mutarama","Gashyantare","Werurwe","Mata","Gicurasi","Kamena","Nyakanga","Kanama","Nzeli","Ukwakira","Ugushyingo","Ukuboza",""],
				namesAbbr: ["Mut","Gas","Wer","Mat","Gic","Kam","Nya","Kan","Nze","Ukwa","Ugu","Uku",""]
			},
			AM: ["saa moya z.m.","saa moya z.m.","SAA MOYA Z.M."],
			PM: ["saa moya z.n.","saa moya z.n.","SAA MOYA Z.N."],
			eras: [{"name":"AD","start":null,"offset":0}]
		}
	}
});

Globalize.addCultureInfo( "wo-SN", "default", {
	name: "wo-SN",
	englishName: "Wolof (Senegal)",
	nativeName: "Wolof (Sénégal)",
	language: "wo",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "Non Numérique",
		negativeInfinity: "-Infini",
		positiveInfinity: "+Infini",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "XOF"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd d MMMM yyyy HH:mm",
				F: "dddd d MMMM yyyy HH:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "prs-AF", "default", {
	name: "prs-AF",
	englishName: "Dari (Afghanistan)",
	nativeName: "درى (افغانستان)",
	language: "prs",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		",": ".",
		".": ",",
		"NaN": "غ ع",
		negativeInfinity: "-∞",
		positiveInfinity: "∞",
		percent: {
			pattern: ["%n-","%n"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["$n-","$n"],
			symbol: "؋"
		}
	},
	calendars: {
		standard: {
			name: "Hijri",
			firstDay: 5,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["غ.م","غ.م","غ.م"],
			PM: ["غ.و","غ.و","غ.و"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				f: "dd/MM/yyyy h:mm tt",
				F: "dd/MM/yyyy h:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		Gregorian_Localized: {
			firstDay: 5,
			days: {
				names: ["یکشنبه","دوشنبه","سه\u200cشنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],
				namesAbbr: ["یکشنبه","دوشنبه","سه\u200cشنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],
				namesShort: ["ی","د","س","چ","پ","ج","ش"]
			},
			months: {
				names: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګاښ","زمرى","وږى","تله","لړم","ليندۍ","مرغومى",""],
				namesAbbr: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګاښ","زمرى","وږى","تله","لړم","ليندۍ","مرغومى",""]
			},
			AM: ["غ.م","غ.م","غ.م"],
			PM: ["غ.و","غ.و","غ.و"],
			eras: [{"name":"ل.ه","start":null,"offset":0}],
			patterns: {
				d: "yyyy/M/d",
				D: "yyyy, dd, MMMM, dddd",
				f: "yyyy, dd, MMMM, dddd h:mm tt",
				F: "yyyy, dd, MMMM, dddd h:mm:ss tt",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "gd-GB", "default", {
	name: "gd-GB",
	englishName: "Scottish Gaelic (United Kingdom)",
	nativeName: "Gàidhlig (An Rìoghachd Aonaichte)",
	language: "gd",
	numberFormat: {
		negativeInfinity: "-Neo-chrìochnachd",
		positiveInfinity: "Neo-chrìochnachd",
		currency: {
			pattern: ["-$n","$n"],
			symbol: "£"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],
				namesAbbr: ["Dòm","Lua","Mài","Cia","Ard","Hao","Sat"],
				namesShort: ["D","L","M","C","A","H","S"]
			},
			months: {
				names: ["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd",""],
				namesAbbr: ["Fao","Gea","Màr","Gib","Cèi","Ògm","Iuc","Lùn","Sul","Dàm","Sam","Dùb",""]
			},
			AM: ["m","m","M"],
			PM: ["f","f","F"],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ar-IQ", "default", {
	name: "ar-IQ",
	englishName: "Arabic (Iraq)",
	nativeName: "العربية (العراق)",
	language: "ar",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		"NaN": "ليس برقم",
		negativeInfinity: "-لا نهاية",
		positiveInfinity: "+لا نهاية",
		currency: {
			pattern: ["$n-","$ n"],
			symbol: "د.ع.\u200f"
		}
	},
	calendars: {
		standard: {
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
				namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM, yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM, yyyy hh:mm tt",
				F: "dd MMMM, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		UmAlQura: {
			name: "UmAlQura",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MMMM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MMMM/yyyy hh:mm tt",
				F: "dd/MMMM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    _yearInfo: [
                        // MonthLengthFlags, Gregorian Date
                        [746, -2198707200000],
                        [1769, -2168121600000],
                        [3794, -2137449600000],
                        [3748, -2106777600000],
                        [3402, -2076192000000],
                        [2710, -2045606400000],
                        [1334, -2015020800000],
                        [2741, -1984435200000],
                        [3498, -1953763200000],
                        [2980, -1923091200000],
                        [2889, -1892505600000],
                        [2707, -1861920000000],
                        [1323, -1831334400000],
                        [2647, -1800748800000],
                        [1206, -1770076800000],
                        [2741, -1739491200000],
                        [1450, -1708819200000],
                        [3413, -1678233600000],
                        [3370, -1647561600000],
                        [2646, -1616976000000],
                        [1198, -1586390400000],
                        [2397, -1555804800000],
                        [748, -1525132800000],
                        [1749, -1494547200000],
                        [1706, -1463875200000],
                        [1365, -1433289600000],
                        [1195, -1402704000000],
                        [2395, -1372118400000],
                        [698, -1341446400000],
                        [1397, -1310860800000],
                        [2994, -1280188800000],
                        [1892, -1249516800000],
                        [1865, -1218931200000],
                        [1621, -1188345600000],
                        [683, -1157760000000],
                        [1371, -1127174400000],
                        [2778, -1096502400000],
                        [1748, -1065830400000],
                        [3785, -1035244800000],
                        [3474, -1004572800000],
                        [3365, -973987200000],
                        [2637, -943401600000],
                        [685, -912816000000],
                        [1389, -882230400000],
                        [2922, -851558400000],
                        [2898, -820886400000],
                        [2725, -790300800000],
                        [2635, -759715200000],
                        [1175, -729129600000],
                        [2359, -698544000000],
                        [694, -667872000000],
                        [1397, -637286400000],
                        [3434, -606614400000],
                        [3410, -575942400000],
                        [2710, -545356800000],
                        [2349, -514771200000],
                        [605, -484185600000],
                        [1245, -453600000000],
                        [2778, -422928000000],
                        [1492, -392256000000],
                        [3497, -361670400000],
                        [3410, -330998400000],
                        [2730, -300412800000],
                        [1238, -269827200000],
                        [2486, -239241600000],
                        [884, -208569600000],
                        [1897, -177984000000],
                        [1874, -147312000000],
                        [1701, -116726400000],
                        [1355, -86140800000],
                        [2731, -55555200000],
                        [1370, -24883200000],
                        [2773, 5702400000],
                        [3538, 36374400000],
                        [3492, 67046400000],
                        [3401, 97632000000],
                        [2709, 128217600000],
                        [1325, 158803200000],
                        [2653, 189388800000],
                        [1370, 220060800000],
                        [2773, 250646400000],
                        [1706, 281318400000],
                        [1685, 311904000000],
                        [1323, 342489600000],
                        [2647, 373075200000],
                        [1198, 403747200000],
                        [2422, 434332800000],
                        [1388, 465004800000],
                        [2901, 495590400000],
                        [2730, 526262400000],
                        [2645, 556848000000],
                        [1197, 587433600000],
                        [2397, 618019200000],
                        [730, 648691200000],
                        [1497, 679276800000],
                        [3506, 709948800000],
                        [2980, 740620800000],
                        [2890, 771206400000],
                        [2645, 801792000000],
                        [693, 832377600000],
                        [1397, 862963200000],
                        [2922, 893635200000],
                        [3026, 924307200000],
                        [3012, 954979200000],
                        [2953, 985564800000],
                        [2709, 1016150400000],
                        [1325, 1046736000000],
                        [1453, 1077321600000],
                        [2922, 1107993600000],
                        [1748, 1138665600000],
                        [3529, 1169251200000],
                        [3474, 1199923200000],
                        [2726, 1230508800000],
                        [2390, 1261094400000],
                        [686, 1291680000000],
                        [1389, 1322265600000],
                        [874, 1352937600000],
                        [2901, 1383523200000],
                        [2730, 1414195200000],
                        [2381, 1444780800000],
                        [1181, 1475366400000],
                        [2397, 1505952000000],
                        [698, 1536624000000],
                        [1461, 1567209600000],
                        [1450, 1597881600000],
                        [3413, 1628467200000],
                        [2714, 1659139200000],
                        [2350, 1689724800000],
                        [622, 1720310400000],
                        [1373, 1750896000000],
                        [2778, 1781568000000],
                        [1748, 1812240000000],
                        [1701, 1842825600000],
                        [0, 1873411200000]
                    ],
                    minDate: -2198707200000,
                    maxDate: 1873411199999,
                    toGregorian: function(hyear, hmonth, hday) {
                        var days = hday - 1,
                            gyear = hyear - 1318;
                        if (gyear < 0 || gyear >= this._yearInfo.length) return null;
                        var info = this._yearInfo[gyear],
                            gdate = new Date(info[1]),
                            monthLength = info[0];
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the gregorian date in the same timezone,
                        // not what the gregorian date was at GMT time, so we adjust for the offset.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        for (var i = 0; i < hmonth; i++) {
                            days += 29 + (monthLength & 1);
                            monthLength = monthLength >> 1;
                        }
                        gdate.setDate(gdate.getDate() + days);
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the hijri date in the same timezone,
                        // not what the hijri date was at GMT time, so we adjust for the offset.
                        var ticks = gdate - gdate.getTimezoneOffset() * 60000;
                        if (ticks < this.minDate || ticks > this.maxDate) return null;
                        var hyear = 0,
                            hmonth = 1;
                        // find the earliest gregorian date in the array that is greater than or equal to the given date
                        while (ticks > this._yearInfo[++hyear][1]) { }
                        if (ticks !== this._yearInfo[hyear][1]) {
                            hyear--;
                        }
                        var info = this._yearInfo[hyear],
                            // how many days has it been since the date we found in the array?
                            // 86400000 = ticks per day
                            days = Math.floor((ticks - info[1]) / 86400000),
                            monthLength = info[0];
                        hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
                        // now increment day/month based on the total days, considering
                        // how many days are in each month. We cannot run past the year
                        // mark since we would have found a different array entry in that case.
                        var daysInMonth = 29 + (monthLength & 1);
                        while (days >= daysInMonth) {
                            days -= daysInMonth;
                            monthLength = monthLength >> 1;
                            daysInMonth = 29 + (monthLength & 1);
                            hmonth++;
                        }
                        // remaining days is less than is in one month, thus is the day of the month we landed on
                        // hmonth-1 because in javascript months are zero based, stay consistent with that.
                        return [hyear, hmonth - 1, days + 1];
                    }
			}
		},
		Hijri: {
			name: "Hijri",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MM/yyyy hh:mm tt",
				F: "dd/MM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		Gregorian_MiddleEastFrench: {
			name: "Gregorian_MiddleEastFrench",
			firstDay: 6,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Gregorian_TransliteratedEnglish: {
			name: "Gregorian_TransliteratedEnglish",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["أ","ا","ث","أ","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		},
		Gregorian_TransliteratedFrench: {
			name: "Gregorian_TransliteratedFrench",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		}
	}
});

Globalize.addCultureInfo( "zh-CN", "default", {
	name: "zh-CN",
	englishName: "Chinese (Simplified, PRC)",
	nativeName: "中文(中华人民共和国)",
	language: "zh-CHS",
	numberFormat: {
		"NaN": "非数字",
		negativeInfinity: "负无穷大",
		positiveInfinity: "正无穷大",
		percent: {
			pattern: ["-n%","n%"]
		},
		currency: {
			pattern: ["$-n","$n"],
			symbol: "¥"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],
				namesAbbr: ["周日","周一","周二","周三","周四","周五","周六"],
				namesShort: ["日","一","二","三","四","五","六"]
			},
			months: {
				names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""],
				namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""]
			},
			AM: ["上午","上午","上午"],
			PM: ["下午","下午","下午"],
			eras: [{"name":"公元","start":null,"offset":0}],
			patterns: {
				d: "yyyy/M/d",
				D: "yyyy'年'M'月'd'日'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy'年'M'月'd'日' H:mm",
				F: "yyyy'年'M'月'd'日' H:mm:ss",
				M: "M'月'd'日'",
				Y: "yyyy'年'M'月'"
			}
		}
	}
});

Globalize.addCultureInfo( "de-CH", "default", {
	name: "de-CH",
	englishName: "German (Switzerland)",
	nativeName: "Deutsch (Schweiz)",
	language: "de",
	numberFormat: {
		",": "'",
		"NaN": "n. def.",
		negativeInfinity: "-unendlich",
		positiveInfinity: "+unendlich",
		percent: {
			pattern: ["-n%","n%"],
			",": "'"
		},
		currency: {
			pattern: ["$-n","$ n"],
			",": "'",
			symbol: "Fr."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],
				namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"],
				namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"]
			},
			months: {
				names: ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""],
				namesAbbr: ["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"n. Chr.","start":null,"offset":0}],
			patterns: {
				d: "dd.MM.yyyy",
				D: "dddd, d. MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd, d. MMMM yyyy HH:mm",
				F: "dddd, d. MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "en-GB", "default", {
	name: "en-GB",
	englishName: "English (United Kingdom)",
	nativeName: "English (United Kingdom)",
	numberFormat: {
		currency: {
			pattern: ["-$n","$n"],
			symbol: "£"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "es-MX", "default", {
	name: "es-MX",
	englishName: "Spanish (Mexico)",
	nativeName: "Español (México)",
	language: "es",
	numberFormat: {
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		currency: {
			pattern: ["-$n","$n"]
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sá"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt",
				F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "fr-BE", "default", {
	name: "fr-BE",
	englishName: "French (Belgium)",
	nativeName: "français (Belgique)",
	language: "fr",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "Non Numérique",
		negativeInfinity: "-Infini",
		positiveInfinity: "+Infini",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["$ -n","$ n"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "d/MM/yyyy",
				D: "dddd d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd d MMMM yyyy HH:mm",
				F: "dddd d MMMM yyyy HH:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "it-CH", "default", {
	name: "it-CH",
	englishName: "Italian (Switzerland)",
	nativeName: "italiano (Svizzera)",
	language: "it",
	numberFormat: {
		",": "'",
		"NaN": "Non un numero reale",
		negativeInfinity: "-Infinito",
		positiveInfinity: "+Infinito",
		percent: {
			pattern: ["-n%","n%"],
			",": "'"
		},
		currency: {
			pattern: ["$-n","$ n"],
			",": "'",
			symbol: "fr."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"],
				namesAbbr: ["dom","lun","mar","mer","gio","ven","sab"],
				namesShort: ["do","lu","ma","me","gi","ve","sa"]
			},
			months: {
				names: ["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre",""],
				namesAbbr: ["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd.MM.yyyy",
				D: "dddd, d. MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd, d. MMMM yyyy HH:mm",
				F: "dddd, d. MMMM yyyy HH:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "nl-BE", "default", {
	name: "nl-BE",
	englishName: "Dutch (Belgium)",
	nativeName: "Nederlands (België)",
	language: "nl",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "NaN (Niet-een-getal)",
		negativeInfinity: "-oneindig",
		positiveInfinity: "oneindig",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["$ -n","$ n"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],
				namesAbbr: ["zo","ma","di","wo","do","vr","za"],
				namesShort: ["zo","ma","di","wo","do","vr","za"]
			},
			months: {
				names: ["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december",""],
				namesAbbr: ["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d/MM/yyyy",
				D: "dddd d MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd d MMMM yyyy H:mm",
				F: "dddd d MMMM yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "nn-NO", "default", {
	name: "nn-NO",
	englishName: "Norwegian, Nynorsk (Norway)",
	nativeName: "norsk, nynorsk (Noreg)",
	language: "nn",
	numberFormat: {
		",": " ",
		".": ",",
		negativeInfinity: "-INF",
		positiveInfinity: "INF",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["$ -n","$ n"],
			",": " ",
			".": ",",
			symbol: "kr"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["søndag","måndag","tysdag","onsdag","torsdag","fredag","laurdag"],
				namesAbbr: ["sø","må","ty","on","to","fr","la"],
				namesShort: ["sø","må","ty","on","to","fr","la"]
			},
			months: {
				names: ["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember",""],
				namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d. MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "d. MMMM yyyy HH:mm",
				F: "d. MMMM yyyy HH:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "pt-PT", "default", {
	name: "pt-PT",
	englishName: "Portuguese (Portugal)",
	nativeName: "português (Portugal)",
	language: "pt",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "NaN (Não é um número)",
		negativeInfinity: "-Infinito",
		positiveInfinity: "+Infinito",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"],
				namesAbbr: ["dom","seg","ter","qua","qui","sex","sáb"],
				namesShort: ["D","S","T","Q","Q","S","S"]
			},
			months: {
				names: ["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro",""],
				namesAbbr: ["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd-MM-yyyy",
				D: "dddd, d' de 'MMMM' de 'yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd, d' de 'MMMM' de 'yyyy HH:mm",
				F: "dddd, d' de 'MMMM' de 'yyyy HH:mm:ss",
				M: "d/M",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "sr-Latn-CS", "default", {
	name: "sr-Latn-CS",
	englishName: "Serbian (Latin, Serbia and Montenegro (Former))",
	nativeName: "srpski (Srbija i Crna Gora (Prethodno))",
	language: "sr-Latn",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-beskonačnost",
		positiveInfinity: "+beskonačnost",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "Din."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"],
				namesAbbr: ["ned","pon","uto","sre","čet","pet","sub"],
				namesShort: ["ne","po","ut","sr","če","pe","su"]
			},
			months: {
				names: ["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar",""],
				namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"n.e.","start":null,"offset":0}],
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy H:mm",
				F: "d. MMMM yyyy H:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "sv-FI", "default", {
	name: "sv-FI",
	englishName: "Swedish (Finland)",
	nativeName: "svenska (Finland)",
	language: "sv",
	numberFormat: {
		",": " ",
		".": ",",
		negativeInfinity: "-INF",
		positiveInfinity: "INF",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],
				namesAbbr: ["sö","må","ti","on","to","fr","lö"],
				namesShort: ["sö","må","ti","on","to","fr","lö"]
			},
			months: {
				names: ["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december",""],
				namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d.M.yyyy",
				D: "'den 'd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "'den 'd MMMM yyyy HH:mm",
				F: "'den 'd MMMM yyyy HH:mm:ss",
				M: "'den 'd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "az-Cyrl-AZ", "default", {
	name: "az-Cyrl-AZ",
	englishName: "Azeri (Cyrillic, Azerbaijan)",
	nativeName: "Азәрбајҹан (Азәрбајҹан)",
	language: "az-Cyrl",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "ман."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Базар","Базар ертәси","Чәршәнбә ахшамы","Чәршәнбә","Ҹүмә ахшамы","Ҹүмә","Шәнбә"],
				namesAbbr: ["Б","Бе","Ча","Ч","Ҹа","Ҹ","Ш"],
				namesShort: ["Б","Бе","Ча","Ч","Ҹа","Ҹ","Ш"]
			},
			months: {
				names: ["Јанвар","Феврал","Март","Апрел","Мај","Ијун","Ијул","Август","Сентјабр","Октјабр","Нојабр","Декабр",""],
				namesAbbr: ["Јан","Фев","Мар","Апр","Мај","Ијун","Ијул","Авг","Сен","Окт","Ноя","Дек",""]
			},
			monthsGenitive: {
				names: ["јанвар","феврал","март","апрел","мај","ијун","ијул","август","сентјабр","октјабр","нојабр","декабр",""],
				namesAbbr: ["Јан","Фев","Мар","Апр","мая","ијун","ијул","Авг","Сен","Окт","Ноя","Дек",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM yyyy H:mm",
				F: "d MMMM yyyy H:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "dsb-DE", "default", {
	name: "dsb-DE",
	englishName: "Lower Sorbian (Germany)",
	nativeName: "dolnoserbšćina (Nimska)",
	language: "dsb",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "njedefinowane",
		negativeInfinity: "-njekońcne",
		positiveInfinity: "+njekońcne",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": ". ",
			firstDay: 1,
			days: {
				names: ["njeźela","ponjeźele","wałtora","srjoda","stwortk","pětk","sobota"],
				namesAbbr: ["nje","pon","wał","srj","stw","pět","sob"],
				namesShort: ["n","p","w","s","s","p","s"]
			},
			months: {
				names: ["januar","februar","měrc","apryl","maj","junij","julij","awgust","september","oktober","nowember","december",""],
				namesAbbr: ["jan","feb","měr","apr","maj","jun","jul","awg","sep","okt","now","dec",""]
			},
			monthsGenitive: {
				names: ["januara","februara","měrca","apryla","maja","junija","julija","awgusta","septembra","oktobra","nowembra","decembra",""],
				namesAbbr: ["jan","feb","měr","apr","maj","jun","jul","awg","sep","okt","now","dec",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"po Chr.","start":null,"offset":0}],
			patterns: {
				d: "d. M. yyyy",
				D: "dddd, 'dnja' d. MMMM yyyy",
				t: "H.mm 'goź.'",
				T: "H:mm:ss",
				f: "dddd, 'dnja' d. MMMM yyyy H.mm 'goź.'",
				F: "dddd, 'dnja' d. MMMM yyyy H:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "se-SE", "default", {
	name: "se-SE",
	englishName: "Sami, Northern (Sweden)",
	nativeName: "davvisámegiella (Ruoŧŧa)",
	language: "se",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "kr"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["sotnabeaivi","mánnodat","disdat","gaskavahkku","duorastat","bearjadat","lávvardat"],
				namesAbbr: ["sotn","mán","dis","gask","duor","bear","láv"],
				namesShort: ["s","m","d","g","d","b","l"]
			},
			months: {
				names: ["ođđajagemánnu","guovvamánnu","njukčamánnu","cuoŋománnu","miessemánnu","geassemánnu","suoidnemánnu","borgemánnu","čakčamánnu","golggotmánnu","skábmamánnu","juovlamánnu",""],
				namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""]
			},
			monthsGenitive: {
				names: ["ođđajagimánu","guovvamánu","njukčamánu","cuoŋománu","miessemánu","geassemánu","suoidnemánu","borgemánu","čakčamánu","golggotmánu","skábmamánu","juovlamánu",""],
				namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "yyyy-MM-dd",
				D: "MMMM d'. b. 'yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "MMMM d'. b. 'yyyy HH:mm",
				F: "MMMM d'. b. 'yyyy HH:mm:ss",
				M: "MMMM d'. b. '",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ga-IE", "default", {
	name: "ga-IE",
	englishName: "Irish (Ireland)",
	nativeName: "Gaeilge (Éire)",
	language: "ga",
	numberFormat: {
		currency: {
			pattern: ["-$n","$n"],
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Dé Domhnaigh","Dé Luain","Dé Máirt","Dé Céadaoin","Déardaoin","Dé hAoine","Dé Sathairn"],
				namesAbbr: ["Domh","Luan","Máir","Céad","Déar","Aoi","Sath"],
				namesShort: ["Do","Lu","Má","Cé","De","Ao","Sa"]
			},
			months: {
				names: ["Eanáir","Feabhra","Márta","Aibreán","Bealtaine","Meitheamh","Iúil","Lúnasa","Meán Fómhair","Deireadh Fómhair","Samhain","Nollaig",""],
				namesAbbr: ["Ean","Feabh","Már","Aib","Bealt","Meith","Iúil","Lún","M.Fómh","D.Fómh","Samh","Noll",""]
			},
			AM: ["r.n.","r.n.","R.N."],
			PM: ["i.n.","i.n.","I.N."],
			patterns: {
				d: "dd/MM/yyyy",
				D: "d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "d MMMM yyyy HH:mm",
				F: "d MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ms-BN", "default", {
	name: "ms-BN",
	englishName: "Malay (Brunei Darussalam)",
	nativeName: "Bahasa Melayu (Brunei Darussalam)",
	language: "ms",
	numberFormat: {
		",": ".",
		".": ",",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			decimals: 0,
			",": ".",
			".": ","
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"],
				namesAbbr: ["Ahad","Isnin","Sel","Rabu","Khamis","Jumaat","Sabtu"],
				namesShort: ["A","I","S","R","K","J","S"]
			},
			months: {
				names: ["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember",""],
				namesAbbr: ["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ogos","Sept","Okt","Nov","Dis",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dd MMMM yyyy H:mm",
				F: "dd MMMM yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "uz-Cyrl-UZ", "default", {
	name: "uz-Cyrl-UZ",
	englishName: "Uzbek (Cyrillic, Uzbekistan)",
	nativeName: "Ўзбек (Ўзбекистон)",
	language: "uz-Cyrl",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "сўм"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["якшанба","душанба","сешанба","чоршанба","пайшанба","жума","шанба"],
				namesAbbr: ["якш","дш","сш","чш","пш","ж","ш"],
				namesShort: ["я","д","с","ч","п","ж","ш"]
			},
			months: {
				names: ["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр",""],
				namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""]
			},
			monthsGenitive: {
				names: ["январ","феврал","март","апрел","май","июн","июл","август","сентябр","октябр","ноябр","декабр",""],
				namesAbbr: ["Янв","Фев","Мар","Апр","мая","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "yyyy 'йил' d-MMMM",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "yyyy 'йил' d-MMMM HH:mm",
				F: "yyyy 'йил' d-MMMM HH:mm:ss",
				M: "d-MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "bn-BD", "default", {
	name: "bn-BD",
	englishName: "Bengali (Bangladesh)",
	nativeName: "বাংলা (বাংলাদেশ)",
	language: "bn",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			pattern: ["-%n","%n"],
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "৳"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			":": ".",
			firstDay: 1,
			days: {
				names: ["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],
				namesAbbr: ["রবি.","সোম.","মঙ্গল.","বুধ.","বৃহস্পতি.","শুক্র.","শনি."],
				namesShort: ["র","স","ম","ব","ব","শ","শ"]
			},
			months: {
				names: ["জানুয়ারী","ফেব্রুয়ারী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর",""],
				namesAbbr: ["জানু.","ফেব্রু.","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগ.","সেপ্টে.","অক্টো.","নভে.","ডিসে.",""]
			},
			AM: ["পুর্বাহ্ন","পুর্বাহ্ন","পুর্বাহ্ন"],
			PM: ["অপরাহ্ন","অপরাহ্ন","অপরাহ্ন"],
			patterns: {
				d: "dd-MM-yy",
				D: "dd MMMM yyyy",
				t: "HH.mm",
				T: "HH.mm.ss",
				f: "dd MMMM yyyy HH.mm",
				F: "dd MMMM yyyy HH.mm.ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "mn-Mong-CN", "default", {
	name: "mn-Mong-CN",
	englishName: "Mongolian (Traditional Mongolian, PRC)",
	nativeName: "ᠮᠤᠨᠭᠭᠤᠯ ᠬᠡᠯᠡ (ᠪᠦᠭᠦᠳᠡ ᠨᠠᠢᠷᠠᠮᠳᠠᠬᠤ ᠳᠤᠮᠳᠠᠳᠤ ᠠᠷᠠᠳ ᠣᠯᠣᠰ)",
	language: "mn-Mong",
	numberFormat: {
		groupSizes: [3,0],
		"NaN": "ᠲᠤᠭᠠᠠ ᠪᠤᠰᠤ",
		negativeInfinity: "ᠰᠦᠬᠡᠷᠬᠦ ᠬᠢᠵᠠᠭᠠᠷᠭᠦᠢ ᠶᠡᠬᠡ",
		positiveInfinity: "ᠡᠶ᠋ᠡᠷᠬᠦ ᠬᠢᠵᠠᠭᠠᠷᠭᠦᠢ ᠶᠠᠬᠡ",
		percent: {
			pattern: ["-n%","n%"],
			groupSizes: [3,0]
		},
		currency: {
			pattern: ["$-n","$n"],
			groupSizes: [3,0],
			symbol: "¥"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠡᠳᠦᠷ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠨᠢᠭᠡᠨ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠬᠣᠶᠠᠷ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠭᠤᠷᠪᠠᠨ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠳᠥᠷᠪᠡᠨ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠲᠠᠪᠤᠨ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠵᠢᠷᠭᠤᠭᠠᠨ"],
				namesAbbr: ["ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠡᠳᠦᠷ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠨᠢᠭᠡᠨ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠬᠣᠶᠠᠷ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠭᠤᠷᠪᠠᠨ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠳᠥᠷᠪᠡᠨ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠲᠠᠪᠤᠨ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠵᠢᠷᠭᠤᠭᠠᠨ"],
				namesShort: ["ᠡ\u200d","ᠨᠢ\u200d","ᠬᠣ\u200d","ᠭᠤ\u200d","ᠳᠥ\u200d","ᠲᠠ\u200d","ᠵᠢ\u200d"]
			},
			months: {
				names: ["ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷ᠎ᠠ","ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠭᠤᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠲᠦᠷᠪᠡᠳᠦᠭᠡᠷ ᠰᠠᠷ᠎ᠠ","ᠲᠠᠪᠤᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠵᠢᠷᠭᠤᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠲᠤᠯᠤᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠨᠠᠢᠮᠠᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠶᠢᠰᠦᠳᠦᠭᠡᠷ ᠰᠠᠷ᠎ᠠ","ᠠᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠠᠷᠪᠠᠨ ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷ᠎ᠠ","ᠠᠷᠪᠠᠨ ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ",""],
				namesAbbr: ["ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷ᠎ᠠ","ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠭᠤᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠲᠦᠷᠪᠡᠳᠦᠭᠡᠷ ᠰᠠᠷ᠎ᠠ","ᠲᠠᠪᠤᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠵᠢᠷᠭᠤᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠲᠤᠯᠤᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠨᠠᠢᠮᠠᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠶᠢᠰᠦᠳᠦᠭᠡᠷ ᠰᠠᠷ᠎ᠠ","ᠠᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠠᠷᠪᠠᠨ ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷ᠎ᠠ","ᠠᠷᠪᠠᠨ ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"ᠣᠨ ᠲᠣᠭᠠᠯᠠᠯ ᠤᠨ","start":null,"offset":0}],
			patterns: {
				d: "yyyy/M/d",
				D: "yyyy'ᠣᠨ ᠤ᠋' M'ᠰᠠᠷ᠎ᠠ \u202fᠢᠢᠨ 'd' ᠤ᠋ ᠡᠳᠦᠷ'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy'ᠣᠨ ᠤ᠋' M'ᠰᠠᠷ᠎ᠠ \u202fᠢᠢᠨ 'd' ᠤ᠋ ᠡᠳᠦᠷ' H:mm",
				F: "yyyy'ᠣᠨ ᠤ᠋' M'ᠰᠠᠷ᠎ᠠ \u202fᠢᠢᠨ 'd' ᠤ᠋ ᠡᠳᠦᠷ' H:mm:ss",
				M: "M'ᠰᠠᠷ᠎ᠠ' d'ᠡᠳᠦᠷ'",
				Y: "yyyy'ᠣᠨ' M'ᠰᠠᠷ᠎ᠠ'"
			}
		}
	}
});

Globalize.addCultureInfo( "iu-Latn-CA", "default", {
	name: "iu-Latn-CA",
	englishName: "Inuktitut (Latin, Canada)",
	nativeName: "Inuktitut (Kanatami)",
	language: "iu-Latn",
	numberFormat: {
		groupSizes: [3,0],
		percent: {
			groupSizes: [3,0]
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Naattiinguja","Naggajjau","Aippiq","Pingatsiq","Sitammiq","Tallirmiq","Sivataarvik"],
				namesAbbr: ["Nat","Nag","Aip","Pi","Sit","Tal","Siv"],
				namesShort: ["N","N","A","P","S","T","S"]
			},
			months: {
				names: ["Jaannuari","Viivvuari","Maatsi","Iipuri","Mai","Juuni","Julai","Aaggiisi","Sitipiri","Utupiri","Nuvipiri","Tisipiri",""],
				namesAbbr: ["Jan","Viv","Mas","Ipu","Mai","Jun","Jul","Agi","Sii","Uut","Nuv","Tis",""]
			},
			patterns: {
				d: "d/MM/yyyy",
				D: "ddd, MMMM dd,yyyy",
				f: "ddd, MMMM dd,yyyy h:mm tt",
				F: "ddd, MMMM dd,yyyy h:mm:ss tt"
			}
		}
	}
});

Globalize.addCultureInfo( "tzm-Latn-DZ", "default", {
	name: "tzm-Latn-DZ",
	englishName: "Tamazight (Latin, Algeria)",
	nativeName: "Tamazight (Djazaïr)",
	language: "tzm-Latn",
	numberFormat: {
		pattern: ["n-"],
		",": ".",
		".": ",",
		"NaN": "Non Numérique",
		negativeInfinity: "-Infini",
		positiveInfinity: "+Infini",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			symbol: "DZD"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 6,
			days: {
				names: ["Acer","Arime","Aram","Ahad","Amhadh","Sem","Sedh"],
				namesAbbr: ["Ace","Ari","Ara","Aha","Amh","Sem","Sed"],
				namesShort: ["Ac","Ar","Ar","Ah","Am","Se","Se"]
			},
			months: {
				names: ["Yenayer","Furar","Maghres","Yebrir","Mayu","Yunyu","Yulyu","Ghuct","Cutenber","Ktuber","Wambir","Dujanbir",""],
				namesAbbr: ["Yen","Fur","Mag","Yeb","May","Yun","Yul","Ghu","Cut","Ktu","Wam","Duj",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd-MM-yyyy",
				D: "dd MMMM, yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dd MMMM, yyyy H:mm",
				F: "dd MMMM, yyyy H:mm:ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "quz-EC", "default", {
	name: "quz-EC",
	englishName: "Quechua (Ecuador)",
	nativeName: "runasimi (Ecuador)",
	language: "quz",
	numberFormat: {
		",": ".",
		".": ",",
		percent: {
			pattern: ["-%n","%n"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["($ n)","$ n"],
			",": ".",
			".": ","
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["intichaw","killachaw","atipachaw","quyllurchaw","Ch' askachaw","Illapachaw","k'uychichaw"],
				namesAbbr: ["int","kil","ati","quy","Ch'","Ill","k'u"],
				namesShort: ["d","k","a","m","h","b","k"]
			},
			months: {
				names: ["Qulla puquy","Hatun puquy","Pauqar waray","ayriwa","Aymuray","Inti raymi","Anta Sitwa","Qhapaq Sitwa","Uma raymi","Kantaray","Ayamarq'a","Kapaq Raymi",""],
				namesAbbr: ["Qul","Hat","Pau","ayr","Aym","Int","Ant","Qha","Uma","Kan","Aya","Kap",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd, dd' de 'MMMM' de 'yyyy H:mm",
				F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ar-EG", "default", {
	name: "ar-EG",
	englishName: "Arabic (Egypt)",
	nativeName: "العربية (مصر)",
	language: "ar",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		decimals: 3,
		"NaN": "ليس برقم",
		negativeInfinity: "-لا نهاية",
		positiveInfinity: "+لا نهاية",
		percent: {
			decimals: 3
		},
		currency: {
			pattern: ["$n-","$ n"],
			symbol: "ج.م.\u200f"
		}
	},
	calendars: {
		standard: {
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM, yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM, yyyy hh:mm tt",
				F: "dd MMMM, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		UmAlQura: {
			name: "UmAlQura",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MMMM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MMMM/yyyy hh:mm tt",
				F: "dd/MMMM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    _yearInfo: [
                        // MonthLengthFlags, Gregorian Date
                        [746, -2198707200000],
                        [1769, -2168121600000],
                        [3794, -2137449600000],
                        [3748, -2106777600000],
                        [3402, -2076192000000],
                        [2710, -2045606400000],
                        [1334, -2015020800000],
                        [2741, -1984435200000],
                        [3498, -1953763200000],
                        [2980, -1923091200000],
                        [2889, -1892505600000],
                        [2707, -1861920000000],
                        [1323, -1831334400000],
                        [2647, -1800748800000],
                        [1206, -1770076800000],
                        [2741, -1739491200000],
                        [1450, -1708819200000],
                        [3413, -1678233600000],
                        [3370, -1647561600000],
                        [2646, -1616976000000],
                        [1198, -1586390400000],
                        [2397, -1555804800000],
                        [748, -1525132800000],
                        [1749, -1494547200000],
                        [1706, -1463875200000],
                        [1365, -1433289600000],
                        [1195, -1402704000000],
                        [2395, -1372118400000],
                        [698, -1341446400000],
                        [1397, -1310860800000],
                        [2994, -1280188800000],
                        [1892, -1249516800000],
                        [1865, -1218931200000],
                        [1621, -1188345600000],
                        [683, -1157760000000],
                        [1371, -1127174400000],
                        [2778, -1096502400000],
                        [1748, -1065830400000],
                        [3785, -1035244800000],
                        [3474, -1004572800000],
                        [3365, -973987200000],
                        [2637, -943401600000],
                        [685, -912816000000],
                        [1389, -882230400000],
                        [2922, -851558400000],
                        [2898, -820886400000],
                        [2725, -790300800000],
                        [2635, -759715200000],
                        [1175, -729129600000],
                        [2359, -698544000000],
                        [694, -667872000000],
                        [1397, -637286400000],
                        [3434, -606614400000],
                        [3410, -575942400000],
                        [2710, -545356800000],
                        [2349, -514771200000],
                        [605, -484185600000],
                        [1245, -453600000000],
                        [2778, -422928000000],
                        [1492, -392256000000],
                        [3497, -361670400000],
                        [3410, -330998400000],
                        [2730, -300412800000],
                        [1238, -269827200000],
                        [2486, -239241600000],
                        [884, -208569600000],
                        [1897, -177984000000],
                        [1874, -147312000000],
                        [1701, -116726400000],
                        [1355, -86140800000],
                        [2731, -55555200000],
                        [1370, -24883200000],
                        [2773, 5702400000],
                        [3538, 36374400000],
                        [3492, 67046400000],
                        [3401, 97632000000],
                        [2709, 128217600000],
                        [1325, 158803200000],
                        [2653, 189388800000],
                        [1370, 220060800000],
                        [2773, 250646400000],
                        [1706, 281318400000],
                        [1685, 311904000000],
                        [1323, 342489600000],
                        [2647, 373075200000],
                        [1198, 403747200000],
                        [2422, 434332800000],
                        [1388, 465004800000],
                        [2901, 495590400000],
                        [2730, 526262400000],
                        [2645, 556848000000],
                        [1197, 587433600000],
                        [2397, 618019200000],
                        [730, 648691200000],
                        [1497, 679276800000],
                        [3506, 709948800000],
                        [2980, 740620800000],
                        [2890, 771206400000],
                        [2645, 801792000000],
                        [693, 832377600000],
                        [1397, 862963200000],
                        [2922, 893635200000],
                        [3026, 924307200000],
                        [3012, 954979200000],
                        [2953, 985564800000],
                        [2709, 1016150400000],
                        [1325, 1046736000000],
                        [1453, 1077321600000],
                        [2922, 1107993600000],
                        [1748, 1138665600000],
                        [3529, 1169251200000],
                        [3474, 1199923200000],
                        [2726, 1230508800000],
                        [2390, 1261094400000],
                        [686, 1291680000000],
                        [1389, 1322265600000],
                        [874, 1352937600000],
                        [2901, 1383523200000],
                        [2730, 1414195200000],
                        [2381, 1444780800000],
                        [1181, 1475366400000],
                        [2397, 1505952000000],
                        [698, 1536624000000],
                        [1461, 1567209600000],
                        [1450, 1597881600000],
                        [3413, 1628467200000],
                        [2714, 1659139200000],
                        [2350, 1689724800000],
                        [622, 1720310400000],
                        [1373, 1750896000000],
                        [2778, 1781568000000],
                        [1748, 1812240000000],
                        [1701, 1842825600000],
                        [0, 1873411200000]
                    ],
                    minDate: -2198707200000,
                    maxDate: 1873411199999,
                    toGregorian: function(hyear, hmonth, hday) {
                        var days = hday - 1,
                            gyear = hyear - 1318;
                        if (gyear < 0 || gyear >= this._yearInfo.length) return null;
                        var info = this._yearInfo[gyear],
                            gdate = new Date(info[1]),
                            monthLength = info[0];
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the gregorian date in the same timezone,
                        // not what the gregorian date was at GMT time, so we adjust for the offset.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        for (var i = 0; i < hmonth; i++) {
                            days += 29 + (monthLength & 1);
                            monthLength = monthLength >> 1;
                        }
                        gdate.setDate(gdate.getDate() + days);
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the hijri date in the same timezone,
                        // not what the hijri date was at GMT time, so we adjust for the offset.
                        var ticks = gdate - gdate.getTimezoneOffset() * 60000;
                        if (ticks < this.minDate || ticks > this.maxDate) return null;
                        var hyear = 0,
                            hmonth = 1;
                        // find the earliest gregorian date in the array that is greater than or equal to the given date
                        while (ticks > this._yearInfo[++hyear][1]) { }
                        if (ticks !== this._yearInfo[hyear][1]) {
                            hyear--;
                        }
                        var info = this._yearInfo[hyear],
                            // how many days has it been since the date we found in the array?
                            // 86400000 = ticks per day
                            days = Math.floor((ticks - info[1]) / 86400000),
                            monthLength = info[0];
                        hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
                        // now increment day/month based on the total days, considering
                        // how many days are in each month. We cannot run past the year
                        // mark since we would have found a different array entry in that case.
                        var daysInMonth = 29 + (monthLength & 1);
                        while (days >= daysInMonth) {
                            days -= daysInMonth;
                            monthLength = monthLength >> 1;
                            daysInMonth = 29 + (monthLength & 1);
                            hmonth++;
                        }
                        // remaining days is less than is in one month, thus is the day of the month we landed on
                        // hmonth-1 because in javascript months are zero based, stay consistent with that.
                        return [hyear, hmonth - 1, days + 1];
                    }
			}
		},
		Gregorian_TransliteratedEnglish: {
			name: "Gregorian_TransliteratedEnglish",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["أ","ا","ث","أ","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		},
		Hijri: {
			name: "Hijri",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MM/yyyy hh:mm tt",
				F: "dd/MM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		Gregorian_MiddleEastFrench: {
			name: "Gregorian_MiddleEastFrench",
			firstDay: 6,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Gregorian_Arabic: {
			name: "Gregorian_Arabic",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
				namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		},
		Gregorian_TransliteratedFrench: {
			name: "Gregorian_TransliteratedFrench",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		}
	}
});

Globalize.addCultureInfo( "zh-HK", "default", {
	name: "zh-HK",
	englishName: "Chinese (Traditional, Hong Kong S.A.R.)",
	nativeName: "中文(香港特別行政區)",
	language: "zh-CHT",
	numberFormat: {
		"NaN": "非數字",
		negativeInfinity: "負無窮大",
		positiveInfinity: "正無窮大",
		percent: {
			pattern: ["-n%","n%"]
		},
		currency: {
			symbol: "HK$"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],
				namesAbbr: ["週日","週一","週二","週三","週四","週五","週六"],
				namesShort: ["日","一","二","三","四","五","六"]
			},
			months: {
				names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""],
				namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""]
			},
			AM: ["上午","上午","上午"],
			PM: ["下午","下午","下午"],
			eras: [{"name":"公元","start":null,"offset":0}],
			patterns: {
				d: "d/M/yyyy",
				D: "yyyy'年'M'月'd'日'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy'年'M'月'd'日' H:mm",
				F: "yyyy'年'M'月'd'日' H:mm:ss",
				M: "M'月'd'日'",
				Y: "yyyy'年'M'月'"
			}
		}
	}
});

Globalize.addCultureInfo( "de-AT", "default", {
	name: "de-AT",
	englishName: "German (Austria)",
	nativeName: "Deutsch (Österreich)",
	language: "de",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "n. def.",
		negativeInfinity: "-unendlich",
		positiveInfinity: "+unendlich",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-$ n","$ n"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],
				namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"],
				namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"]
			},
			months: {
				names: ["Jänner","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""],
				namesAbbr: ["Jän","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"n. Chr.","start":null,"offset":0}],
			patterns: {
				d: "dd.MM.yyyy",
				D: "dddd, dd. MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd, dd. MMMM yyyy HH:mm",
				F: "dddd, dd. MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "en-AU", "default", {
	name: "en-AU",
	englishName: "English (Australia)",
	nativeName: "English (Australia)",
	numberFormat: {
		currency: {
			pattern: ["-$n","$n"]
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			patterns: {
				d: "d/MM/yyyy",
				D: "dddd, d MMMM yyyy",
				f: "dddd, d MMMM yyyy h:mm tt",
				F: "dddd, d MMMM yyyy h:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "es-ES", "default", {
	name: "es-ES",
	englishName: "Spanish (Spain, International Sort)",
	nativeName: "Español (España, alfabetización internacional)",
	language: "es",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sá"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd, dd' de 'MMMM' de 'yyyy H:mm",
				F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "fr-CA", "default", {
	name: "fr-CA",
	englishName: "French (Canada)",
	nativeName: "français (Canada)",
	language: "fr",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "Non Numérique",
		negativeInfinity: "-Infini",
		positiveInfinity: "+Infini",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["(n $)","n $"],
			",": " ",
			".": ","
		}
	},
	calendars: {
		standard: {
			"/": "-",
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "yyyy-MM-dd",
				D: "d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "d MMMM yyyy HH:mm",
				F: "d MMMM yyyy HH:mm:ss",
				M: "d MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "sr-Cyrl-CS", "default", {
	name: "sr-Cyrl-CS",
	englishName: "Serbian (Cyrillic, Serbia and Montenegro (Former))",
	nativeName: "српски (Србија и Црна Гора (Претходно))",
	language: "sr-Cyrl",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-бесконачност",
		positiveInfinity: "+бесконачност",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "Дин."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["недеља","понедељак","уторак","среда","четвртак","петак","субота"],
				namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"],
				namesShort: ["не","по","ут","ср","че","пе","су"]
			},
			months: {
				names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""],
				namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"н.е.","start":null,"offset":0}],
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy H:mm",
				F: "d. MMMM yyyy H:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "se-FI", "default", {
	name: "se-FI",
	englishName: "Sami, Northern (Finland)",
	nativeName: "davvisámegiella (Suopma)",
	language: "se",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["sotnabeaivi","vuossárga","maŋŋebárga","gaskavahkku","duorastat","bearjadat","lávvardat"],
				namesAbbr: ["sotn","vuos","maŋ","gask","duor","bear","láv"],
				namesShort: ["s","m","d","g","d","b","l"]
			},
			months: {
				names: ["ođđajagemánnu","guovvamánnu","njukčamánnu","cuoŋománnu","miessemánnu","geassemánnu","suoidnemánnu","borgemánnu","čakčamánnu","golggotmánnu","skábmamánnu","juovlamánnu",""],
				namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""]
			},
			monthsGenitive: {
				names: ["ođđajagimánu","guovvamánu","njukčamánu","cuoŋománu","miessemánu","geassemánu","suoidnemánu","borgemánu","čakčamánu","golggotmánu","skábmamánu","juovlamánu",""],
				namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d.M.yyyy",
				D: "MMMM d'. b. 'yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "MMMM d'. b. 'yyyy H:mm",
				F: "MMMM d'. b. 'yyyy H:mm:ss",
				M: "MMMM d'. b. '",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "quz-PE", "default", {
	name: "quz-PE",
	englishName: "Quechua (Peru)",
	nativeName: "runasimi (Piruw)",
	language: "quz",
	numberFormat: {
		percent: {
			pattern: ["-%n","%n"]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			symbol: "S/."
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["intichaw","killachaw","atipachaw","quyllurchaw","Ch' askachaw","Illapachaw","k'uychichaw"],
				namesAbbr: ["int","kil","ati","quy","Ch'","Ill","k'u"],
				namesShort: ["d","k","a","m","h","b","k"]
			},
			months: {
				names: ["Qulla puquy","Hatun puquy","Pauqar waray","ayriwa","Aymuray","Inti raymi","Anta Sitwa","Qhapaq Sitwa","Uma raymi","Kantaray","Ayamarq'a","Kapaq Raymi",""],
				namesAbbr: ["Qul","Hat","Pau","ayr","Aym","Int","Ant","Qha","Uma","Kan","Aya","Kap",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt",
				F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ar-LY", "default", {
	name: "ar-LY",
	englishName: "Arabic (Libya)",
	nativeName: "العربية (ليبيا)",
	language: "ar",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		decimals: 3,
		"NaN": "ليس برقم",
		negativeInfinity: "-لا نهاية",
		positiveInfinity: "+لا نهاية",
		percent: {
			decimals: 3
		},
		currency: {
			pattern: ["$n-","$n"],
			decimals: 3,
			symbol: "د.ل.\u200f"
		}
	},
	calendars: {
		standard: {
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM, yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM, yyyy hh:mm tt",
				F: "dd MMMM, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Hijri: {
			name: "Hijri",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MM/yyyy hh:mm tt",
				F: "dd/MM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		UmAlQura: {
			name: "UmAlQura",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MMMM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MMMM/yyyy hh:mm tt",
				F: "dd/MMMM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    _yearInfo: [
                        // MonthLengthFlags, Gregorian Date
                        [746, -2198707200000],
                        [1769, -2168121600000],
                        [3794, -2137449600000],
                        [3748, -2106777600000],
                        [3402, -2076192000000],
                        [2710, -2045606400000],
                        [1334, -2015020800000],
                        [2741, -1984435200000],
                        [3498, -1953763200000],
                        [2980, -1923091200000],
                        [2889, -1892505600000],
                        [2707, -1861920000000],
                        [1323, -1831334400000],
                        [2647, -1800748800000],
                        [1206, -1770076800000],
                        [2741, -1739491200000],
                        [1450, -1708819200000],
                        [3413, -1678233600000],
                        [3370, -1647561600000],
                        [2646, -1616976000000],
                        [1198, -1586390400000],
                        [2397, -1555804800000],
                        [748, -1525132800000],
                        [1749, -1494547200000],
                        [1706, -1463875200000],
                        [1365, -1433289600000],
                        [1195, -1402704000000],
                        [2395, -1372118400000],
                        [698, -1341446400000],
                        [1397, -1310860800000],
                        [2994, -1280188800000],
                        [1892, -1249516800000],
                        [1865, -1218931200000],
                        [1621, -1188345600000],
                        [683, -1157760000000],
                        [1371, -1127174400000],
                        [2778, -1096502400000],
                        [1748, -1065830400000],
                        [3785, -1035244800000],
                        [3474, -1004572800000],
                        [3365, -973987200000],
                        [2637, -943401600000],
                        [685, -912816000000],
                        [1389, -882230400000],
                        [2922, -851558400000],
                        [2898, -820886400000],
                        [2725, -790300800000],
                        [2635, -759715200000],
                        [1175, -729129600000],
                        [2359, -698544000000],
                        [694, -667872000000],
                        [1397, -637286400000],
                        [3434, -606614400000],
                        [3410, -575942400000],
                        [2710, -545356800000],
                        [2349, -514771200000],
                        [605, -484185600000],
                        [1245, -453600000000],
                        [2778, -422928000000],
                        [1492, -392256000000],
                        [3497, -361670400000],
                        [3410, -330998400000],
                        [2730, -300412800000],
                        [1238, -269827200000],
                        [2486, -239241600000],
                        [884, -208569600000],
                        [1897, -177984000000],
                        [1874, -147312000000],
                        [1701, -116726400000],
                        [1355, -86140800000],
                        [2731, -55555200000],
                        [1370, -24883200000],
                        [2773, 5702400000],
                        [3538, 36374400000],
                        [3492, 67046400000],
                        [3401, 97632000000],
                        [2709, 128217600000],
                        [1325, 158803200000],
                        [2653, 189388800000],
                        [1370, 220060800000],
                        [2773, 250646400000],
                        [1706, 281318400000],
                        [1685, 311904000000],
                        [1323, 342489600000],
                        [2647, 373075200000],
                        [1198, 403747200000],
                        [2422, 434332800000],
                        [1388, 465004800000],
                        [2901, 495590400000],
                        [2730, 526262400000],
                        [2645, 556848000000],
                        [1197, 587433600000],
                        [2397, 618019200000],
                        [730, 648691200000],
                        [1497, 679276800000],
                        [3506, 709948800000],
                        [2980, 740620800000],
                        [2890, 771206400000],
                        [2645, 801792000000],
                        [693, 832377600000],
                        [1397, 862963200000],
                        [2922, 893635200000],
                        [3026, 924307200000],
                        [3012, 954979200000],
                        [2953, 985564800000],
                        [2709, 1016150400000],
                        [1325, 1046736000000],
                        [1453, 1077321600000],
                        [2922, 1107993600000],
                        [1748, 1138665600000],
                        [3529, 1169251200000],
                        [3474, 1199923200000],
                        [2726, 1230508800000],
                        [2390, 1261094400000],
                        [686, 1291680000000],
                        [1389, 1322265600000],
                        [874, 1352937600000],
                        [2901, 1383523200000],
                        [2730, 1414195200000],
                        [2381, 1444780800000],
                        [1181, 1475366400000],
                        [2397, 1505952000000],
                        [698, 1536624000000],
                        [1461, 1567209600000],
                        [1450, 1597881600000],
                        [3413, 1628467200000],
                        [2714, 1659139200000],
                        [2350, 1689724800000],
                        [622, 1720310400000],
                        [1373, 1750896000000],
                        [2778, 1781568000000],
                        [1748, 1812240000000],
                        [1701, 1842825600000],
                        [0, 1873411200000]
                    ],
                    minDate: -2198707200000,
                    maxDate: 1873411199999,
                    toGregorian: function(hyear, hmonth, hday) {
                        var days = hday - 1,
                            gyear = hyear - 1318;
                        if (gyear < 0 || gyear >= this._yearInfo.length) return null;
                        var info = this._yearInfo[gyear],
                            gdate = new Date(info[1]),
                            monthLength = info[0];
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the gregorian date in the same timezone,
                        // not what the gregorian date was at GMT time, so we adjust for the offset.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        for (var i = 0; i < hmonth; i++) {
                            days += 29 + (monthLength & 1);
                            monthLength = monthLength >> 1;
                        }
                        gdate.setDate(gdate.getDate() + days);
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the hijri date in the same timezone,
                        // not what the hijri date was at GMT time, so we adjust for the offset.
                        var ticks = gdate - gdate.getTimezoneOffset() * 60000;
                        if (ticks < this.minDate || ticks > this.maxDate) return null;
                        var hyear = 0,
                            hmonth = 1;
                        // find the earliest gregorian date in the array that is greater than or equal to the given date
                        while (ticks > this._yearInfo[++hyear][1]) { }
                        if (ticks !== this._yearInfo[hyear][1]) {
                            hyear--;
                        }
                        var info = this._yearInfo[hyear],
                            // how many days has it been since the date we found in the array?
                            // 86400000 = ticks per day
                            days = Math.floor((ticks - info[1]) / 86400000),
                            monthLength = info[0];
                        hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
                        // now increment day/month based on the total days, considering
                        // how many days are in each month. We cannot run past the year
                        // mark since we would have found a different array entry in that case.
                        var daysInMonth = 29 + (monthLength & 1);
                        while (days >= daysInMonth) {
                            days -= daysInMonth;
                            monthLength = monthLength >> 1;
                            daysInMonth = 29 + (monthLength & 1);
                            hmonth++;
                        }
                        // remaining days is less than is in one month, thus is the day of the month we landed on
                        // hmonth-1 because in javascript months are zero based, stay consistent with that.
                        return [hyear, hmonth - 1, days + 1];
                    }
			}
		},
		Gregorian_MiddleEastFrench: {
			name: "Gregorian_MiddleEastFrench",
			firstDay: 6,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Gregorian_Arabic: {
			name: "Gregorian_Arabic",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
				namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		},
		Gregorian_TransliteratedFrench: {
			name: "Gregorian_TransliteratedFrench",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		}
	}
});

Globalize.addCultureInfo( "zh-SG", "default", {
	name: "zh-SG",
	englishName: "Chinese (Simplified, Singapore)",
	nativeName: "中文(新加坡)",
	language: "zh-CHS",
	numberFormat: {
		percent: {
			pattern: ["-n%","n%"]
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],
				namesAbbr: ["周日","周一","周二","周三","周四","周五","周六"],
				namesShort: ["日","一","二","三","四","五","六"]
			},
			months: {
				names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""],
				namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""]
			},
			patterns: {
				d: "d/M/yyyy",
				D: "yyyy'年'M'月'd'日'",
				t: "tt h:mm",
				T: "tt h:mm:ss",
				f: "yyyy'年'M'月'd'日' tt h:mm",
				F: "yyyy'年'M'月'd'日' tt h:mm:ss",
				M: "M'月'd'日'",
				Y: "yyyy'年'M'月'"
			}
		}
	}
});

Globalize.addCultureInfo( "de-LU", "default", {
	name: "de-LU",
	englishName: "German (Luxembourg)",
	nativeName: "Deutsch (Luxemburg)",
	language: "de",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "n. def.",
		negativeInfinity: "-unendlich",
		positiveInfinity: "+unendlich",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],
				namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"],
				namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"]
			},
			months: {
				names: ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""],
				namesAbbr: ["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"n. Chr.","start":null,"offset":0}],
			patterns: {
				d: "dd.MM.yyyy",
				D: "dddd, d. MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd, d. MMMM yyyy HH:mm",
				F: "dddd, d. MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "en-CA", "default", {
	name: "en-CA",
	englishName: "English (Canada)",
	nativeName: "English (Canada)",
	numberFormat: {
		currency: {
			pattern: ["-$n","$n"]
		}
	},
	calendars: {
		standard: {
			patterns: {
				d: "dd/MM/yyyy",
				D: "MMMM-dd-yy",
				f: "MMMM-dd-yy h:mm tt",
				F: "MMMM-dd-yy h:mm:ss tt"
			}
		}
	}
});

Globalize.addCultureInfo( "es-GT", "default", {
	name: "es-GT",
	englishName: "Spanish (Guatemala)",
	nativeName: "Español (Guatemala)",
	language: "es",
	numberFormat: {
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		currency: {
			symbol: "Q"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sá"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt",
				F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "fr-CH", "default", {
	name: "fr-CH",
	englishName: "French (Switzerland)",
	nativeName: "français (Suisse)",
	language: "fr",
	numberFormat: {
		",": "'",
		"NaN": "Non Numérique",
		negativeInfinity: "-Infini",
		positiveInfinity: "+Infini",
		percent: {
			",": "'"
		},
		currency: {
			pattern: ["$-n","$ n"],
			",": "'",
			symbol: "fr."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "dd.MM.yyyy",
				D: "dddd d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd d MMMM yyyy HH:mm",
				F: "dddd d MMMM yyyy HH:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "hr-BA", "default", {
	name: "hr-BA",
	englishName: "Croatian (Latin, Bosnia and Herzegovina)",
	nativeName: "hrvatski (Bosna i Hercegovina)",
	language: "hr",
	numberFormat: {
		pattern: ["- n"],
		",": ".",
		".": ",",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "KM"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"],
				namesAbbr: ["ned","pon","uto","sri","čet","pet","sub"],
				namesShort: ["ne","po","ut","sr","če","pe","su"]
			},
			months: {
				names: ["siječanj","veljača","ožujak","travanj","svibanj","lipanj","srpanj","kolovoz","rujan","listopad","studeni","prosinac",""],
				namesAbbr: ["sij","vlj","ožu","tra","svi","lip","srp","kol","ruj","lis","stu","pro",""]
			},
			monthsGenitive: {
				names: ["siječnja","veljače","ožujka","travnja","svibnja","lipnja","srpnja","kolovoza","rujna","listopada","studenog","prosinca",""],
				namesAbbr: ["sij","vlj","ožu","tra","svi","lip","srp","kol","ruj","lis","stu","pro",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d.M.yyyy.",
				D: "d. MMMM yyyy.",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy. H:mm",
				F: "d. MMMM yyyy. H:mm:ss",
				M: "d. MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "smj-NO", "default", {
	name: "smj-NO",
	englishName: "Sami, Lule (Norway)",
	nativeName: "julevusámegiella (Vuodna)",
	language: "smj",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			pattern: ["-%n","%n"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["$ -n","$ n"],
			",": " ",
			".": ",",
			symbol: "kr"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["sådnåbiejvve","mánnodahka","dijstahka","gasskavahkko","duorastahka","bierjjedahka","lávvodahka"],
				namesAbbr: ["såd","mán","dis","gas","duor","bier","láv"],
				namesShort: ["s","m","d","g","d","b","l"]
			},
			months: {
				names: ["ådåjakmánno","guovvamánno","sjnjuktjamánno","vuoratjismánno","moarmesmánno","biehtsemánno","sjnjilltjamánno","bårggemánno","ragátmánno","gålgådismánno","basádismánno","javllamánno",""],
				namesAbbr: ["ådåj","guov","snju","vuor","moar","bieh","snji","bårg","ragá","gålg","basá","javl",""]
			},
			monthsGenitive: {
				names: ["ådåjakmáno","guovvamáno","sjnjuktjamáno","vuoratjismáno","moarmesmáno","biehtsemáno","sjnjilltjamáno","bårggemáno","ragátmáno","gålgådismáno","basádismáno","javllamáno",""],
				namesAbbr: ["ådåj","guov","snju","vuor","moar","bieh","snji","bårg","ragá","gålg","basá","javl",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "MMMM d'. b. 'yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "MMMM d'. b. 'yyyy HH:mm",
				F: "MMMM d'. b. 'yyyy HH:mm:ss",
				M: "MMMM d'. b. '",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ar-DZ", "default", {
	name: "ar-DZ",
	englishName: "Arabic (Algeria)",
	nativeName: "العربية (الجزائر)",
	language: "ar",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		"NaN": "ليس برقم",
		negativeInfinity: "-لا نهاية",
		positiveInfinity: "+لا نهاية",
		currency: {
			pattern: ["$n-","$ n"],
			symbol: "د.ج.\u200f"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			patterns: {
				d: "dd-MM-yyyy",
				D: "dd MMMM, yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dd MMMM, yyyy H:mm",
				F: "dd MMMM, yyyy H:mm:ss",
				M: "dd MMMM"
			}
		},
		Hijri: {
			name: "Hijri",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dd/MM/yyyy H:mm",
				F: "dd/MM/yyyy H:mm:ss",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		UmAlQura: {
			name: "UmAlQura",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MMMM/yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dd/MMMM/yyyy H:mm",
				F: "dd/MMMM/yyyy H:mm:ss",
				M: "dd MMMM"
			},
			convert: {
                    _yearInfo: [
                        // MonthLengthFlags, Gregorian Date
                        [746, -2198707200000],
                        [1769, -2168121600000],
                        [3794, -2137449600000],
                        [3748, -2106777600000],
                        [3402, -2076192000000],
                        [2710, -2045606400000],
                        [1334, -2015020800000],
                        [2741, -1984435200000],
                        [3498, -1953763200000],
                        [2980, -1923091200000],
                        [2889, -1892505600000],
                        [2707, -1861920000000],
                        [1323, -1831334400000],
                        [2647, -1800748800000],
                        [1206, -1770076800000],
                        [2741, -1739491200000],
                        [1450, -1708819200000],
                        [3413, -1678233600000],
                        [3370, -1647561600000],
                        [2646, -1616976000000],
                        [1198, -1586390400000],
                        [2397, -1555804800000],
                        [748, -1525132800000],
                        [1749, -1494547200000],
                        [1706, -1463875200000],
                        [1365, -1433289600000],
                        [1195, -1402704000000],
                        [2395, -1372118400000],
                        [698, -1341446400000],
                        [1397, -1310860800000],
                        [2994, -1280188800000],
                        [1892, -1249516800000],
                        [1865, -1218931200000],
                        [1621, -1188345600000],
                        [683, -1157760000000],
                        [1371, -1127174400000],
                        [2778, -1096502400000],
                        [1748, -1065830400000],
                        [3785, -1035244800000],
                        [3474, -1004572800000],
                        [3365, -973987200000],
                        [2637, -943401600000],
                        [685, -912816000000],
                        [1389, -882230400000],
                        [2922, -851558400000],
                        [2898, -820886400000],
                        [2725, -790300800000],
                        [2635, -759715200000],
                        [1175, -729129600000],
                        [2359, -698544000000],
                        [694, -667872000000],
                        [1397, -637286400000],
                        [3434, -606614400000],
                        [3410, -575942400000],
                        [2710, -545356800000],
                        [2349, -514771200000],
                        [605, -484185600000],
                        [1245, -453600000000],
                        [2778, -422928000000],
                        [1492, -392256000000],
                        [3497, -361670400000],
                        [3410, -330998400000],
                        [2730, -300412800000],
                        [1238, -269827200000],
                        [2486, -239241600000],
                        [884, -208569600000],
                        [1897, -177984000000],
                        [1874, -147312000000],
                        [1701, -116726400000],
                        [1355, -86140800000],
                        [2731, -55555200000],
                        [1370, -24883200000],
                        [2773, 5702400000],
                        [3538, 36374400000],
                        [3492, 67046400000],
                        [3401, 97632000000],
                        [2709, 128217600000],
                        [1325, 158803200000],
                        [2653, 189388800000],
                        [1370, 220060800000],
                        [2773, 250646400000],
                        [1706, 281318400000],
                        [1685, 311904000000],
                        [1323, 342489600000],
                        [2647, 373075200000],
                        [1198, 403747200000],
                        [2422, 434332800000],
                        [1388, 465004800000],
                        [2901, 495590400000],
                        [2730, 526262400000],
                        [2645, 556848000000],
                        [1197, 587433600000],
                        [2397, 618019200000],
                        [730, 648691200000],
                        [1497, 679276800000],
                        [3506, 709948800000],
                        [2980, 740620800000],
                        [2890, 771206400000],
                        [2645, 801792000000],
                        [693, 832377600000],
                        [1397, 862963200000],
                        [2922, 893635200000],
                        [3026, 924307200000],
                        [3012, 954979200000],
                        [2953, 985564800000],
                        [2709, 1016150400000],
                        [1325, 1046736000000],
                        [1453, 1077321600000],
                        [2922, 1107993600000],
                        [1748, 1138665600000],
                        [3529, 1169251200000],
                        [3474, 1199923200000],
                        [2726, 1230508800000],
                        [2390, 1261094400000],
                        [686, 1291680000000],
                        [1389, 1322265600000],
                        [874, 1352937600000],
                        [2901, 1383523200000],
                        [2730, 1414195200000],
                        [2381, 1444780800000],
                        [1181, 1475366400000],
                        [2397, 1505952000000],
                        [698, 1536624000000],
                        [1461, 1567209600000],
                        [1450, 1597881600000],
                        [3413, 1628467200000],
                        [2714, 1659139200000],
                        [2350, 1689724800000],
                        [622, 1720310400000],
                        [1373, 1750896000000],
                        [2778, 1781568000000],
                        [1748, 1812240000000],
                        [1701, 1842825600000],
                        [0, 1873411200000]
                    ],
                    minDate: -2198707200000,
                    maxDate: 1873411199999,
                    toGregorian: function(hyear, hmonth, hday) {
                        var days = hday - 1,
                            gyear = hyear - 1318;
                        if (gyear < 0 || gyear >= this._yearInfo.length) return null;
                        var info = this._yearInfo[gyear],
                            gdate = new Date(info[1]),
                            monthLength = info[0];
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the gregorian date in the same timezone,
                        // not what the gregorian date was at GMT time, so we adjust for the offset.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        for (var i = 0; i < hmonth; i++) {
                            days += 29 + (monthLength & 1);
                            monthLength = monthLength >> 1;
                        }
                        gdate.setDate(gdate.getDate() + days);
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the hijri date in the same timezone,
                        // not what the hijri date was at GMT time, so we adjust for the offset.
                        var ticks = gdate - gdate.getTimezoneOffset() * 60000;
                        if (ticks < this.minDate || ticks > this.maxDate) return null;
                        var hyear = 0,
                            hmonth = 1;
                        // find the earliest gregorian date in the array that is greater than or equal to the given date
                        while (ticks > this._yearInfo[++hyear][1]) { }
                        if (ticks !== this._yearInfo[hyear][1]) {
                            hyear--;
                        }
                        var info = this._yearInfo[hyear],
                            // how many days has it been since the date we found in the array?
                            // 86400000 = ticks per day
                            days = Math.floor((ticks - info[1]) / 86400000),
                            monthLength = info[0];
                        hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
                        // now increment day/month based on the total days, considering
                        // how many days are in each month. We cannot run past the year
                        // mark since we would have found a different array entry in that case.
                        var daysInMonth = 29 + (monthLength & 1);
                        while (days >= daysInMonth) {
                            days -= daysInMonth;
                            monthLength = monthLength >> 1;
                            daysInMonth = 29 + (monthLength & 1);
                            hmonth++;
                        }
                        // remaining days is less than is in one month, thus is the day of the month we landed on
                        // hmonth-1 because in javascript months are zero based, stay consistent with that.
                        return [hyear, hmonth - 1, days + 1];
                    }
			}
		},
		Gregorian_MiddleEastFrench: {
			name: "Gregorian_MiddleEastFrench",
			firstDay: 6,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd, MMMM dd, yyyy H:mm",
				F: "dddd, MMMM dd, yyyy H:mm:ss",
				M: "dd MMMM"
			}
		},
		Gregorian_Arabic: {
			name: "Gregorian_Arabic",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
				namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd, MMMM dd, yyyy H:mm",
				F: "dddd, MMMM dd, yyyy H:mm:ss"
			}
		},
		Gregorian_TransliteratedEnglish: {
			name: "Gregorian_TransliteratedEnglish",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["أ","ا","ث","أ","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd, MMMM dd, yyyy H:mm",
				F: "dddd, MMMM dd, yyyy H:mm:ss"
			}
		}
	}
});

Globalize.addCultureInfo( "zh-MO", "default", {
	name: "zh-MO",
	englishName: "Chinese (Traditional, Macao S.A.R.)",
	nativeName: "中文(澳門特別行政區)",
	language: "zh-CHT",
	numberFormat: {
		"NaN": "非數字",
		negativeInfinity: "負無窮大",
		positiveInfinity: "正無窮大",
		percent: {
			pattern: ["-n%","n%"]
		},
		currency: {
			symbol: "MOP"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],
				namesAbbr: ["週日","週一","週二","週三","週四","週五","週六"],
				namesShort: ["日","一","二","三","四","五","六"]
			},
			months: {
				names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""],
				namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""]
			},
			AM: ["上午","上午","上午"],
			PM: ["下午","下午","下午"],
			eras: [{"name":"公元","start":null,"offset":0}],
			patterns: {
				d: "d/M/yyyy",
				D: "yyyy'年'M'月'd'日'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy'年'M'月'd'日' H:mm",
				F: "yyyy'年'M'月'd'日' H:mm:ss",
				M: "M'月'd'日'",
				Y: "yyyy'年'M'月'"
			}
		}
	}
});

Globalize.addCultureInfo( "de-LI", "default", {
	name: "de-LI",
	englishName: "German (Liechtenstein)",
	nativeName: "Deutsch (Liechtenstein)",
	language: "de",
	numberFormat: {
		",": "'",
		"NaN": "n. def.",
		negativeInfinity: "-unendlich",
		positiveInfinity: "+unendlich",
		percent: {
			pattern: ["-n%","n%"],
			",": "'"
		},
		currency: {
			pattern: ["$-n","$ n"],
			",": "'",
			symbol: "CHF"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],
				namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"],
				namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"]
			},
			months: {
				names: ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""],
				namesAbbr: ["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"n. Chr.","start":null,"offset":0}],
			patterns: {
				d: "dd.MM.yyyy",
				D: "dddd, d. MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd, d. MMMM yyyy HH:mm",
				F: "dddd, d. MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "en-NZ", "default", {
	name: "en-NZ",
	englishName: "English (New Zealand)",
	nativeName: "English (New Zealand)",
	numberFormat: {
		currency: {
			pattern: ["-$n","$n"]
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			patterns: {
				d: "d/MM/yyyy",
				D: "dddd, d MMMM yyyy",
				f: "dddd, d MMMM yyyy h:mm tt",
				F: "dddd, d MMMM yyyy h:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "es-CR", "default", {
	name: "es-CR",
	englishName: "Spanish (Costa Rica)",
	nativeName: "Español (Costa Rica)",
	language: "es",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			",": ".",
			".": ",",
			symbol: "₡"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sá"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt",
				F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "fr-LU", "default", {
	name: "fr-LU",
	englishName: "French (Luxembourg)",
	nativeName: "français (Luxembourg)",
	language: "fr",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "Non Numérique",
		negativeInfinity: "-Infini",
		positiveInfinity: "+Infini",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd d MMMM yyyy HH:mm",
				F: "dddd d MMMM yyyy HH:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "bs-Latn-BA", "default", {
	name: "bs-Latn-BA",
	englishName: "Bosnian (Latin, Bosnia and Herzegovina)",
	nativeName: "bosanski (Bosna i Hercegovina)",
	language: "bs-Latn",
	numberFormat: {
		",": ".",
		".": ",",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "KM"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"],
				namesAbbr: ["ned","pon","uto","sri","čet","pet","sub"],
				namesShort: ["ne","po","ut","sr","če","pe","su"]
			},
			months: {
				names: ["januar","februar","mart","april","maj","juni","juli","avgust","septembar","oktobar","novembar","decembar",""],
				namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy H:mm",
				F: "d. MMMM yyyy H:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "smj-SE", "default", {
	name: "smj-SE",
	englishName: "Sami, Lule (Sweden)",
	nativeName: "julevusámegiella (Svierik)",
	language: "smj",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "kr"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["ájllek","mánnodahka","dijstahka","gasskavahkko","duorastahka","bierjjedahka","lávvodahka"],
				namesAbbr: ["ájl","mán","dis","gas","duor","bier","láv"],
				namesShort: ["á","m","d","g","d","b","l"]
			},
			months: {
				names: ["ådåjakmánno","guovvamánno","sjnjuktjamánno","vuoratjismánno","moarmesmánno","biehtsemánno","sjnjilltjamánno","bårggemánno","ragátmánno","gålgådismánno","basádismánno","javllamánno",""],
				namesAbbr: ["ådåj","guov","snju","vuor","moar","bieh","snji","bårg","ragá","gålg","basá","javl",""]
			},
			monthsGenitive: {
				names: ["ådåjakmáno","guovvamáno","sjnjuktjamáno","vuoratjismáno","moarmesmáno","biehtsemáno","sjnjilltjamáno","bårggemáno","ragátmáno","gålgådismáno","basádismáno","javllamáno",""],
				namesAbbr: ["ådåj","guov","snju","vuor","moar","bieh","snji","bårg","ragá","gålg","basá","javl",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "yyyy-MM-dd",
				D: "MMMM d'. b. 'yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "MMMM d'. b. 'yyyy HH:mm",
				F: "MMMM d'. b. 'yyyy HH:mm:ss",
				M: "MMMM d'. b. '",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ar-MA", "default", {
	name: "ar-MA",
	englishName: "Arabic (Morocco)",
	nativeName: "العربية (المملكة المغربية)",
	language: "ar",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		"NaN": "ليس برقم",
		negativeInfinity: "-لا نهاية",
		positiveInfinity: "+لا نهاية",
		currency: {
			pattern: ["$n-","$ n"],
			symbol: "د.م.\u200f"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","ماي","يونيو","يوليوز","غشت","شتنبر","أكتوبر","نونبر","دجنبر",""],
				namesAbbr: ["يناير","فبراير","مارس","أبريل","ماي","يونيو","يوليوز","غشت","شتنبر","أكتوبر","نونبر","دجنبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			patterns: {
				d: "dd-MM-yyyy",
				D: "dd MMMM, yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dd MMMM, yyyy H:mm",
				F: "dd MMMM, yyyy H:mm:ss",
				M: "dd MMMM"
			}
		},
		Hijri: {
			name: "Hijri",
			firstDay: 1,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dd/MM/yyyy H:mm",
				F: "dd/MM/yyyy H:mm:ss",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		UmAlQura: {
			name: "UmAlQura",
			firstDay: 1,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MMMM/yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dd/MMMM/yyyy H:mm",
				F: "dd/MMMM/yyyy H:mm:ss",
				M: "dd MMMM"
			},
			convert: {
                    _yearInfo: [
                        // MonthLengthFlags, Gregorian Date
                        [746, -2198707200000],
                        [1769, -2168121600000],
                        [3794, -2137449600000],
                        [3748, -2106777600000],
                        [3402, -2076192000000],
                        [2710, -2045606400000],
                        [1334, -2015020800000],
                        [2741, -1984435200000],
                        [3498, -1953763200000],
                        [2980, -1923091200000],
                        [2889, -1892505600000],
                        [2707, -1861920000000],
                        [1323, -1831334400000],
                        [2647, -1800748800000],
                        [1206, -1770076800000],
                        [2741, -1739491200000],
                        [1450, -1708819200000],
                        [3413, -1678233600000],
                        [3370, -1647561600000],
                        [2646, -1616976000000],
                        [1198, -1586390400000],
                        [2397, -1555804800000],
                        [748, -1525132800000],
                        [1749, -1494547200000],
                        [1706, -1463875200000],
                        [1365, -1433289600000],
                        [1195, -1402704000000],
                        [2395, -1372118400000],
                        [698, -1341446400000],
                        [1397, -1310860800000],
                        [2994, -1280188800000],
                        [1892, -1249516800000],
                        [1865, -1218931200000],
                        [1621, -1188345600000],
                        [683, -1157760000000],
                        [1371, -1127174400000],
                        [2778, -1096502400000],
                        [1748, -1065830400000],
                        [3785, -1035244800000],
                        [3474, -1004572800000],
                        [3365, -973987200000],
                        [2637, -943401600000],
                        [685, -912816000000],
                        [1389, -882230400000],
                        [2922, -851558400000],
                        [2898, -820886400000],
                        [2725, -790300800000],
                        [2635, -759715200000],
                        [1175, -729129600000],
                        [2359, -698544000000],
                        [694, -667872000000],
                        [1397, -637286400000],
                        [3434, -606614400000],
                        [3410, -575942400000],
                        [2710, -545356800000],
                        [2349, -514771200000],
                        [605, -484185600000],
                        [1245, -453600000000],
                        [2778, -422928000000],
                        [1492, -392256000000],
                        [3497, -361670400000],
                        [3410, -330998400000],
                        [2730, -300412800000],
                        [1238, -269827200000],
                        [2486, -239241600000],
                        [884, -208569600000],
                        [1897, -177984000000],
                        [1874, -147312000000],
                        [1701, -116726400000],
                        [1355, -86140800000],
                        [2731, -55555200000],
                        [1370, -24883200000],
                        [2773, 5702400000],
                        [3538, 36374400000],
                        [3492, 67046400000],
                        [3401, 97632000000],
                        [2709, 128217600000],
                        [1325, 158803200000],
                        [2653, 189388800000],
                        [1370, 220060800000],
                        [2773, 250646400000],
                        [1706, 281318400000],
                        [1685, 311904000000],
                        [1323, 342489600000],
                        [2647, 373075200000],
                        [1198, 403747200000],
                        [2422, 434332800000],
                        [1388, 465004800000],
                        [2901, 495590400000],
                        [2730, 526262400000],
                        [2645, 556848000000],
                        [1197, 587433600000],
                        [2397, 618019200000],
                        [730, 648691200000],
                        [1497, 679276800000],
                        [3506, 709948800000],
                        [2980, 740620800000],
                        [2890, 771206400000],
                        [2645, 801792000000],
                        [693, 832377600000],
                        [1397, 862963200000],
                        [2922, 893635200000],
                        [3026, 924307200000],
                        [3012, 954979200000],
                        [2953, 985564800000],
                        [2709, 1016150400000],
                        [1325, 1046736000000],
                        [1453, 1077321600000],
                        [2922, 1107993600000],
                        [1748, 1138665600000],
                        [3529, 1169251200000],
                        [3474, 1199923200000],
                        [2726, 1230508800000],
                        [2390, 1261094400000],
                        [686, 1291680000000],
                        [1389, 1322265600000],
                        [874, 1352937600000],
                        [2901, 1383523200000],
                        [2730, 1414195200000],
                        [2381, 1444780800000],
                        [1181, 1475366400000],
                        [2397, 1505952000000],
                        [698, 1536624000000],
                        [1461, 1567209600000],
                        [1450, 1597881600000],
                        [3413, 1628467200000],
                        [2714, 1659139200000],
                        [2350, 1689724800000],
                        [622, 1720310400000],
                        [1373, 1750896000000],
                        [2778, 1781568000000],
                        [1748, 1812240000000],
                        [1701, 1842825600000],
                        [0, 1873411200000]
                    ],
                    minDate: -2198707200000,
                    maxDate: 1873411199999,
                    toGregorian: function(hyear, hmonth, hday) {
                        var days = hday - 1,
                            gyear = hyear - 1318;
                        if (gyear < 0 || gyear >= this._yearInfo.length) return null;
                        var info = this._yearInfo[gyear],
                            gdate = new Date(info[1]),
                            monthLength = info[0];
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the gregorian date in the same timezone,
                        // not what the gregorian date was at GMT time, so we adjust for the offset.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        for (var i = 0; i < hmonth; i++) {
                            days += 29 + (monthLength & 1);
                            monthLength = monthLength >> 1;
                        }
                        gdate.setDate(gdate.getDate() + days);
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the hijri date in the same timezone,
                        // not what the hijri date was at GMT time, so we adjust for the offset.
                        var ticks = gdate - gdate.getTimezoneOffset() * 60000;
                        if (ticks < this.minDate || ticks > this.maxDate) return null;
                        var hyear = 0,
                            hmonth = 1;
                        // find the earliest gregorian date in the array that is greater than or equal to the given date
                        while (ticks > this._yearInfo[++hyear][1]) { }
                        if (ticks !== this._yearInfo[hyear][1]) {
                            hyear--;
                        }
                        var info = this._yearInfo[hyear],
                            // how many days has it been since the date we found in the array?
                            // 86400000 = ticks per day
                            days = Math.floor((ticks - info[1]) / 86400000),
                            monthLength = info[0];
                        hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
                        // now increment day/month based on the total days, considering
                        // how many days are in each month. We cannot run past the year
                        // mark since we would have found a different array entry in that case.
                        var daysInMonth = 29 + (monthLength & 1);
                        while (days >= daysInMonth) {
                            days -= daysInMonth;
                            monthLength = monthLength >> 1;
                            daysInMonth = 29 + (monthLength & 1);
                            hmonth++;
                        }
                        // remaining days is less than is in one month, thus is the day of the month we landed on
                        // hmonth-1 because in javascript months are zero based, stay consistent with that.
                        return [hyear, hmonth - 1, days + 1];
                    }
			}
		},
		Gregorian_MiddleEastFrench: {
			name: "Gregorian_MiddleEastFrench",
			firstDay: 1,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd, MMMM dd, yyyy H:mm",
				F: "dddd, MMMM dd, yyyy H:mm:ss",
				M: "dd MMMM"
			}
		},
		Gregorian_Arabic: {
			name: "Gregorian_Arabic",
			firstDay: 1,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
				namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd, MMMM dd, yyyy H:mm",
				F: "dddd, MMMM dd, yyyy H:mm:ss"
			}
		},
		Gregorian_TransliteratedEnglish: {
			name: "Gregorian_TransliteratedEnglish",
			firstDay: 1,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["أ","ا","ث","أ","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd, MMMM dd, yyyy H:mm",
				F: "dddd, MMMM dd, yyyy H:mm:ss"
			}
		}
	}
});

Globalize.addCultureInfo( "en-IE", "default", {
	name: "en-IE",
	englishName: "English (Ireland)",
	nativeName: "English (Ireland)",
	numberFormat: {
		currency: {
			pattern: ["-$n","$n"],
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			AM: null,
			PM: null,
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "es-PA", "default", {
	name: "es-PA",
	englishName: "Spanish (Panama)",
	nativeName: "Español (Panamá)",
	language: "es",
	numberFormat: {
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		currency: {
			pattern: ["($ n)","$ n"],
			symbol: "B/."
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sá"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt",
				F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "fr-MC", "default", {
	name: "fr-MC",
	englishName: "French (Monaco)",
	nativeName: "français (Principauté de Monaco)",
	language: "fr",
	numberFormat: {
		",": " ",
		".": ",",
		"NaN": "Non Numérique",
		negativeInfinity: "-Infini",
		positiveInfinity: "+Infini",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd d MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dddd d MMMM yyyy HH:mm",
				F: "dddd d MMMM yyyy HH:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "sr-Latn-BA", "default", {
	name: "sr-Latn-BA",
	englishName: "Serbian (Latin, Bosnia and Herzegovina)",
	nativeName: "srpski (Bosna i Hercegovina)",
	language: "sr-Latn",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-beskonačnost",
		positiveInfinity: "+beskonačnost",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "KM"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"],
				namesAbbr: ["ned","pon","uto","sre","čet","pet","sub"],
				namesShort: ["ne","po","ut","sr","če","pe","su"]
			},
			months: {
				names: ["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar",""],
				namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"n.e.","start":null,"offset":0}],
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy H:mm",
				F: "d. MMMM yyyy H:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "sma-NO", "default", {
	name: "sma-NO",
	englishName: "Sami, Southern (Norway)",
	nativeName: "åarjelsaemiengiele (Nöörje)",
	language: "sma",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			pattern: ["-%n","%n"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["$ -n","$ n"],
			",": " ",
			".": ",",
			symbol: "kr"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["aejlege","måanta","dæjsta","gaskevåhkoe","duarsta","bearjadahke","laavvardahke"],
				namesAbbr: ["aej","måa","dæj","gask","duar","bearj","laav"],
				namesShort: ["a","m","d","g","d","b","l"]
			},
			months: {
				names: ["tsïengele","goevte","njoktje","voerhtje","suehpede","ruffie","snjaltje","mïetske","skïerede","golke","rahka","goeve",""],
				namesAbbr: ["tsïen","goevt","njok","voer","sueh","ruff","snja","mïet","skïer","golk","rahk","goev",""]
			},
			monthsGenitive: {
				names: ["tsïengelen","goevten","njoktjen","voerhtjen","suehpeden","ruffien","snjaltjen","mïetsken","skïereden","golken","rahkan","goeven",""],
				namesAbbr: ["tsïen","goevt","njok","voer","sueh","ruff","snja","mïet","skïer","golk","rahk","goev",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "MMMM d'. b. 'yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "MMMM d'. b. 'yyyy HH:mm",
				F: "MMMM d'. b. 'yyyy HH:mm:ss",
				M: "MMMM d'. b. '",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ar-TN", "default", {
	name: "ar-TN",
	englishName: "Arabic (Tunisia)",
	nativeName: "العربية (تونس)",
	language: "ar",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		decimals: 3,
		"NaN": "ليس برقم",
		negativeInfinity: "-لا نهاية",
		positiveInfinity: "+لا نهاية",
		percent: {
			decimals: 3
		},
		currency: {
			pattern: ["$n-","$ n"],
			decimals: 3,
			symbol: "د.ت.\u200f"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			patterns: {
				d: "dd-MM-yyyy",
				D: "dd MMMM, yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dd MMMM, yyyy H:mm",
				F: "dd MMMM, yyyy H:mm:ss",
				M: "dd MMMM"
			}
		},
		Hijri: {
			name: "Hijri",
			firstDay: 1,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dd/MM/yyyy H:mm",
				F: "dd/MM/yyyy H:mm:ss",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		UmAlQura: {
			name: "UmAlQura",
			firstDay: 1,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MMMM/yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dd/MMMM/yyyy H:mm",
				F: "dd/MMMM/yyyy H:mm:ss",
				M: "dd MMMM"
			},
			convert: {
                    _yearInfo: [
                        // MonthLengthFlags, Gregorian Date
                        [746, -2198707200000],
                        [1769, -2168121600000],
                        [3794, -2137449600000],
                        [3748, -2106777600000],
                        [3402, -2076192000000],
                        [2710, -2045606400000],
                        [1334, -2015020800000],
                        [2741, -1984435200000],
                        [3498, -1953763200000],
                        [2980, -1923091200000],
                        [2889, -1892505600000],
                        [2707, -1861920000000],
                        [1323, -1831334400000],
                        [2647, -1800748800000],
                        [1206, -1770076800000],
                        [2741, -1739491200000],
                        [1450, -1708819200000],
                        [3413, -1678233600000],
                        [3370, -1647561600000],
                        [2646, -1616976000000],
                        [1198, -1586390400000],
                        [2397, -1555804800000],
                        [748, -1525132800000],
                        [1749, -1494547200000],
                        [1706, -1463875200000],
                        [1365, -1433289600000],
                        [1195, -1402704000000],
                        [2395, -1372118400000],
                        [698, -1341446400000],
                        [1397, -1310860800000],
                        [2994, -1280188800000],
                        [1892, -1249516800000],
                        [1865, -1218931200000],
                        [1621, -1188345600000],
                        [683, -1157760000000],
                        [1371, -1127174400000],
                        [2778, -1096502400000],
                        [1748, -1065830400000],
                        [3785, -1035244800000],
                        [3474, -1004572800000],
                        [3365, -973987200000],
                        [2637, -943401600000],
                        [685, -912816000000],
                        [1389, -882230400000],
                        [2922, -851558400000],
                        [2898, -820886400000],
                        [2725, -790300800000],
                        [2635, -759715200000],
                        [1175, -729129600000],
                        [2359, -698544000000],
                        [694, -667872000000],
                        [1397, -637286400000],
                        [3434, -606614400000],
                        [3410, -575942400000],
                        [2710, -545356800000],
                        [2349, -514771200000],
                        [605, -484185600000],
                        [1245, -453600000000],
                        [2778, -422928000000],
                        [1492, -392256000000],
                        [3497, -361670400000],
                        [3410, -330998400000],
                        [2730, -300412800000],
                        [1238, -269827200000],
                        [2486, -239241600000],
                        [884, -208569600000],
                        [1897, -177984000000],
                        [1874, -147312000000],
                        [1701, -116726400000],
                        [1355, -86140800000],
                        [2731, -55555200000],
                        [1370, -24883200000],
                        [2773, 5702400000],
                        [3538, 36374400000],
                        [3492, 67046400000],
                        [3401, 97632000000],
                        [2709, 128217600000],
                        [1325, 158803200000],
                        [2653, 189388800000],
                        [1370, 220060800000],
                        [2773, 250646400000],
                        [1706, 281318400000],
                        [1685, 311904000000],
                        [1323, 342489600000],
                        [2647, 373075200000],
                        [1198, 403747200000],
                        [2422, 434332800000],
                        [1388, 465004800000],
                        [2901, 495590400000],
                        [2730, 526262400000],
                        [2645, 556848000000],
                        [1197, 587433600000],
                        [2397, 618019200000],
                        [730, 648691200000],
                        [1497, 679276800000],
                        [3506, 709948800000],
                        [2980, 740620800000],
                        [2890, 771206400000],
                        [2645, 801792000000],
                        [693, 832377600000],
                        [1397, 862963200000],
                        [2922, 893635200000],
                        [3026, 924307200000],
                        [3012, 954979200000],
                        [2953, 985564800000],
                        [2709, 1016150400000],
                        [1325, 1046736000000],
                        [1453, 1077321600000],
                        [2922, 1107993600000],
                        [1748, 1138665600000],
                        [3529, 1169251200000],
                        [3474, 1199923200000],
                        [2726, 1230508800000],
                        [2390, 1261094400000],
                        [686, 1291680000000],
                        [1389, 1322265600000],
                        [874, 1352937600000],
                        [2901, 1383523200000],
                        [2730, 1414195200000],
                        [2381, 1444780800000],
                        [1181, 1475366400000],
                        [2397, 1505952000000],
                        [698, 1536624000000],
                        [1461, 1567209600000],
                        [1450, 1597881600000],
                        [3413, 1628467200000],
                        [2714, 1659139200000],
                        [2350, 1689724800000],
                        [622, 1720310400000],
                        [1373, 1750896000000],
                        [2778, 1781568000000],
                        [1748, 1812240000000],
                        [1701, 1842825600000],
                        [0, 1873411200000]
                    ],
                    minDate: -2198707200000,
                    maxDate: 1873411199999,
                    toGregorian: function(hyear, hmonth, hday) {
                        var days = hday - 1,
                            gyear = hyear - 1318;
                        if (gyear < 0 || gyear >= this._yearInfo.length) return null;
                        var info = this._yearInfo[gyear],
                            gdate = new Date(info[1]),
                            monthLength = info[0];
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the gregorian date in the same timezone,
                        // not what the gregorian date was at GMT time, so we adjust for the offset.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        for (var i = 0; i < hmonth; i++) {
                            days += 29 + (monthLength & 1);
                            monthLength = monthLength >> 1;
                        }
                        gdate.setDate(gdate.getDate() + days);
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the hijri date in the same timezone,
                        // not what the hijri date was at GMT time, so we adjust for the offset.
                        var ticks = gdate - gdate.getTimezoneOffset() * 60000;
                        if (ticks < this.minDate || ticks > this.maxDate) return null;
                        var hyear = 0,
                            hmonth = 1;
                        // find the earliest gregorian date in the array that is greater than or equal to the given date
                        while (ticks > this._yearInfo[++hyear][1]) { }
                        if (ticks !== this._yearInfo[hyear][1]) {
                            hyear--;
                        }
                        var info = this._yearInfo[hyear],
                            // how many days has it been since the date we found in the array?
                            // 86400000 = ticks per day
                            days = Math.floor((ticks - info[1]) / 86400000),
                            monthLength = info[0];
                        hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
                        // now increment day/month based on the total days, considering
                        // how many days are in each month. We cannot run past the year
                        // mark since we would have found a different array entry in that case.
                        var daysInMonth = 29 + (monthLength & 1);
                        while (days >= daysInMonth) {
                            days -= daysInMonth;
                            monthLength = monthLength >> 1;
                            daysInMonth = 29 + (monthLength & 1);
                            hmonth++;
                        }
                        // remaining days is less than is in one month, thus is the day of the month we landed on
                        // hmonth-1 because in javascript months are zero based, stay consistent with that.
                        return [hyear, hmonth - 1, days + 1];
                    }
			}
		},
		Gregorian_MiddleEastFrench: {
			name: "Gregorian_MiddleEastFrench",
			firstDay: 1,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd, MMMM dd, yyyy H:mm",
				F: "dddd, MMMM dd, yyyy H:mm:ss",
				M: "dd MMMM"
			}
		},
		Gregorian_Arabic: {
			name: "Gregorian_Arabic",
			firstDay: 1,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
				namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd, MMMM dd, yyyy H:mm",
				F: "dddd, MMMM dd, yyyy H:mm:ss"
			}
		},
		Gregorian_TransliteratedEnglish: {
			name: "Gregorian_TransliteratedEnglish",
			firstDay: 1,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["أ","ا","ث","أ","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd, MMMM dd, yyyy H:mm",
				F: "dddd, MMMM dd, yyyy H:mm:ss"
			}
		}
	}
});

Globalize.addCultureInfo( "en-ZA", "default", {
	name: "en-ZA",
	englishName: "English (South Africa)",
	nativeName: "English (South Africa)",
	numberFormat: {
		",": " ",
		percent: {
			pattern: ["-n%","n%"],
			",": " "
		},
		currency: {
			pattern: ["$-n","$ n"],
			",": " ",
			".": ",",
			symbol: "R"
		}
	},
	calendars: {
		standard: {
			patterns: {
				d: "yyyy/MM/dd",
				D: "dd MMMM yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM yyyy hh:mm tt",
				F: "dd MMMM yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "es-DO", "default", {
	name: "es-DO",
	englishName: "Spanish (Dominican Republic)",
	nativeName: "Español (República Dominicana)",
	language: "es",
	numberFormat: {
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		currency: {
			symbol: "RD$"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sá"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt",
				F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "sr-Cyrl-BA", "default", {
	name: "sr-Cyrl-BA",
	englishName: "Serbian (Cyrillic, Bosnia and Herzegovina)",
	nativeName: "српски (Босна и Херцеговина)",
	language: "sr-Cyrl",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-бесконачност",
		positiveInfinity: "+бесконачност",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "КМ"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["недеља","понедељак","уторак","среда","четвртак","петак","субота"],
				namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"],
				namesShort: ["н","п","у","с","ч","п","с"]
			},
			months: {
				names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""],
				namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"н.е.","start":null,"offset":0}],
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy H:mm",
				F: "d. MMMM yyyy H:mm:ss",
				M: "d. MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "sma-SE", "default", {
	name: "sma-SE",
	englishName: "Sami, Southern (Sweden)",
	nativeName: "åarjelsaemiengiele (Sveerje)",
	language: "sma",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "kr"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["aejlege","måanta","dæjsta","gaskevåhkoe","duarsta","bearjadahke","laavvardahke"],
				namesAbbr: ["aej","måa","dæj","gask","duar","bearj","laav"],
				namesShort: ["a","m","d","g","d","b","l"]
			},
			months: {
				names: ["tsïengele","goevte","njoktje","voerhtje","suehpede","ruffie","snjaltje","mïetske","skïerede","golke","rahka","goeve",""],
				namesAbbr: ["tsïen","goevt","njok","voer","sueh","ruff","snja","mïet","skïer","golk","rahk","goev",""]
			},
			monthsGenitive: {
				names: ["tsïengelen","goevten","njoktjen","voerhtjen","suehpeden","ruffien","snjaltjen","mïetsken","skïereden","golken","rahkan","goeven",""],
				namesAbbr: ["tsïen","goevt","njok","voer","sueh","ruff","snja","mïet","skïer","golk","rahk","goev",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "yyyy-MM-dd",
				D: "MMMM d'. b. 'yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "MMMM d'. b. 'yyyy HH:mm",
				F: "MMMM d'. b. 'yyyy HH:mm:ss",
				M: "MMMM d'. b. '",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ar-OM", "default", {
	name: "ar-OM",
	englishName: "Arabic (Oman)",
	nativeName: "العربية (عمان)",
	language: "ar",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		"NaN": "ليس برقم",
		negativeInfinity: "-لا نهاية",
		positiveInfinity: "+لا نهاية",
		currency: {
			pattern: ["$n-","$ n"],
			decimals: 3,
			symbol: "ر.ع.\u200f"
		}
	},
	calendars: {
		standard: {
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM, yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM, yyyy hh:mm tt",
				F: "dd MMMM, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Hijri: {
			name: "Hijri",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MM/yyyy hh:mm tt",
				F: "dd/MM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		UmAlQura: {
			name: "UmAlQura",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MMMM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MMMM/yyyy hh:mm tt",
				F: "dd/MMMM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    _yearInfo: [
                        // MonthLengthFlags, Gregorian Date
                        [746, -2198707200000],
                        [1769, -2168121600000],
                        [3794, -2137449600000],
                        [3748, -2106777600000],
                        [3402, -2076192000000],
                        [2710, -2045606400000],
                        [1334, -2015020800000],
                        [2741, -1984435200000],
                        [3498, -1953763200000],
                        [2980, -1923091200000],
                        [2889, -1892505600000],
                        [2707, -1861920000000],
                        [1323, -1831334400000],
                        [2647, -1800748800000],
                        [1206, -1770076800000],
                        [2741, -1739491200000],
                        [1450, -1708819200000],
                        [3413, -1678233600000],
                        [3370, -1647561600000],
                        [2646, -1616976000000],
                        [1198, -1586390400000],
                        [2397, -1555804800000],
                        [748, -1525132800000],
                        [1749, -1494547200000],
                        [1706, -1463875200000],
                        [1365, -1433289600000],
                        [1195, -1402704000000],
                        [2395, -1372118400000],
                        [698, -1341446400000],
                        [1397, -1310860800000],
                        [2994, -1280188800000],
                        [1892, -1249516800000],
                        [1865, -1218931200000],
                        [1621, -1188345600000],
                        [683, -1157760000000],
                        [1371, -1127174400000],
                        [2778, -1096502400000],
                        [1748, -1065830400000],
                        [3785, -1035244800000],
                        [3474, -1004572800000],
                        [3365, -973987200000],
                        [2637, -943401600000],
                        [685, -912816000000],
                        [1389, -882230400000],
                        [2922, -851558400000],
                        [2898, -820886400000],
                        [2725, -790300800000],
                        [2635, -759715200000],
                        [1175, -729129600000],
                        [2359, -698544000000],
                        [694, -667872000000],
                        [1397, -637286400000],
                        [3434, -606614400000],
                        [3410, -575942400000],
                        [2710, -545356800000],
                        [2349, -514771200000],
                        [605, -484185600000],
                        [1245, -453600000000],
                        [2778, -422928000000],
                        [1492, -392256000000],
                        [3497, -361670400000],
                        [3410, -330998400000],
                        [2730, -300412800000],
                        [1238, -269827200000],
                        [2486, -239241600000],
                        [884, -208569600000],
                        [1897, -177984000000],
                        [1874, -147312000000],
                        [1701, -116726400000],
                        [1355, -86140800000],
                        [2731, -55555200000],
                        [1370, -24883200000],
                        [2773, 5702400000],
                        [3538, 36374400000],
                        [3492, 67046400000],
                        [3401, 97632000000],
                        [2709, 128217600000],
                        [1325, 158803200000],
                        [2653, 189388800000],
                        [1370, 220060800000],
                        [2773, 250646400000],
                        [1706, 281318400000],
                        [1685, 311904000000],
                        [1323, 342489600000],
                        [2647, 373075200000],
                        [1198, 403747200000],
                        [2422, 434332800000],
                        [1388, 465004800000],
                        [2901, 495590400000],
                        [2730, 526262400000],
                        [2645, 556848000000],
                        [1197, 587433600000],
                        [2397, 618019200000],
                        [730, 648691200000],
                        [1497, 679276800000],
                        [3506, 709948800000],
                        [2980, 740620800000],
                        [2890, 771206400000],
                        [2645, 801792000000],
                        [693, 832377600000],
                        [1397, 862963200000],
                        [2922, 893635200000],
                        [3026, 924307200000],
                        [3012, 954979200000],
                        [2953, 985564800000],
                        [2709, 1016150400000],
                        [1325, 1046736000000],
                        [1453, 1077321600000],
                        [2922, 1107993600000],
                        [1748, 1138665600000],
                        [3529, 1169251200000],
                        [3474, 1199923200000],
                        [2726, 1230508800000],
                        [2390, 1261094400000],
                        [686, 1291680000000],
                        [1389, 1322265600000],
                        [874, 1352937600000],
                        [2901, 1383523200000],
                        [2730, 1414195200000],
                        [2381, 1444780800000],
                        [1181, 1475366400000],
                        [2397, 1505952000000],
                        [698, 1536624000000],
                        [1461, 1567209600000],
                        [1450, 1597881600000],
                        [3413, 1628467200000],
                        [2714, 1659139200000],
                        [2350, 1689724800000],
                        [622, 1720310400000],
                        [1373, 1750896000000],
                        [2778, 1781568000000],
                        [1748, 1812240000000],
                        [1701, 1842825600000],
                        [0, 1873411200000]
                    ],
                    minDate: -2198707200000,
                    maxDate: 1873411199999,
                    toGregorian: function(hyear, hmonth, hday) {
                        var days = hday - 1,
                            gyear = hyear - 1318;
                        if (gyear < 0 || gyear >= this._yearInfo.length) return null;
                        var info = this._yearInfo[gyear],
                            gdate = new Date(info[1]),
                            monthLength = info[0];
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the gregorian date in the same timezone,
                        // not what the gregorian date was at GMT time, so we adjust for the offset.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        for (var i = 0; i < hmonth; i++) {
                            days += 29 + (monthLength & 1);
                            monthLength = monthLength >> 1;
                        }
                        gdate.setDate(gdate.getDate() + days);
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the hijri date in the same timezone,
                        // not what the hijri date was at GMT time, so we adjust for the offset.
                        var ticks = gdate - gdate.getTimezoneOffset() * 60000;
                        if (ticks < this.minDate || ticks > this.maxDate) return null;
                        var hyear = 0,
                            hmonth = 1;
                        // find the earliest gregorian date in the array that is greater than or equal to the given date
                        while (ticks > this._yearInfo[++hyear][1]) { }
                        if (ticks !== this._yearInfo[hyear][1]) {
                            hyear--;
                        }
                        var info = this._yearInfo[hyear],
                            // how many days has it been since the date we found in the array?
                            // 86400000 = ticks per day
                            days = Math.floor((ticks - info[1]) / 86400000),
                            monthLength = info[0];
                        hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
                        // now increment day/month based on the total days, considering
                        // how many days are in each month. We cannot run past the year
                        // mark since we would have found a different array entry in that case.
                        var daysInMonth = 29 + (monthLength & 1);
                        while (days >= daysInMonth) {
                            days -= daysInMonth;
                            monthLength = monthLength >> 1;
                            daysInMonth = 29 + (monthLength & 1);
                            hmonth++;
                        }
                        // remaining days is less than is in one month, thus is the day of the month we landed on
                        // hmonth-1 because in javascript months are zero based, stay consistent with that.
                        return [hyear, hmonth - 1, days + 1];
                    }
			}
		},
		Gregorian_MiddleEastFrench: {
			name: "Gregorian_MiddleEastFrench",
			firstDay: 6,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Gregorian_Arabic: {
			name: "Gregorian_Arabic",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
				namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		},
		Gregorian_TransliteratedFrench: {
			name: "Gregorian_TransliteratedFrench",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		}
	}
});

Globalize.addCultureInfo( "en-JM", "default", {
	name: "en-JM",
	englishName: "English (Jamaica)",
	nativeName: "English (Jamaica)",
	numberFormat: {
		currency: {
			pattern: ["-$n","$n"],
			symbol: "J$"
		}
	},
	calendars: {
		standard: {
			patterns: {
				d: "dd/MM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		}
	}
});

Globalize.addCultureInfo( "es-VE", "default", {
	name: "es-VE",
	englishName: "Spanish (Bolivarian Republic of Venezuela)",
	nativeName: "Español (Republica Bolivariana de Venezuela)",
	language: "es",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["$ -n","$ n"],
			",": ".",
			".": ",",
			symbol: "Bs. F."
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sá"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt",
				F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "bs-Cyrl-BA", "default", {
	name: "bs-Cyrl-BA",
	englishName: "Bosnian (Cyrillic, Bosnia and Herzegovina)",
	nativeName: "босански (Босна и Херцеговина)",
	language: "bs-Cyrl",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-бесконачност",
		positiveInfinity: "+бесконачност",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "КМ"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["недјеља","понедјељак","уторак","сриједа","четвртак","петак","субота"],
				namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"],
				namesShort: ["н","п","у","с","ч","п","с"]
			},
			months: {
				names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""],
				namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"н.е.","start":null,"offset":0}],
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy H:mm",
				F: "d. MMMM yyyy H:mm:ss",
				M: "d. MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "sms-FI", "default", {
	name: "sms-FI",
	englishName: "Sami, Skolt (Finland)",
	nativeName: "sääm´ǩiõll (Lää´ddjânnam)",
	language: "sms",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["pâ´sspei´vv","vuõssargg","mââibargg","seärad","nelljdpei´vv","piâtnâc","sue´vet"],
				namesAbbr: ["pâ","vu","mâ","se","ne","pi","su"],
				namesShort: ["p","v","m","s","n","p","s"]
			},
			months: {
				names: ["ođđee´jjmään","tä´lvvmään","pâ´zzlâšttammään","njuhččmään","vue´ssmään","ǩie´ssmään","suei´nnmään","på´rǧǧmään","čõhččmään","kålggmään","skamm´mään","rosttovmään",""],
				namesAbbr: ["ođjm","tä´lvv","pâzl","njuh","vue","ǩie","suei","på´r","čõh","kålg","ska","rost",""]
			},
			monthsGenitive: {
				names: ["ođđee´jjmannu","tä´lvvmannu","pâ´zzlâšttammannu","njuhččmannu","vue´ssmannu","ǩie´ssmannu","suei´nnmannu","på´rǧǧmannu","čõhččmannu","kålggmannu","skamm´mannu","rosttovmannu",""],
				namesAbbr: ["ođjm","tä´lvv","pâzl","njuh","vue","ǩie","suei","på´r","čõh","kålg","ska","rost",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d.M.yyyy",
				D: "MMMM d'. p. 'yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "MMMM d'. p. 'yyyy H:mm",
				F: "MMMM d'. p. 'yyyy H:mm:ss",
				M: "MMMM d'. p. '",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ar-YE", "default", {
	name: "ar-YE",
	englishName: "Arabic (Yemen)",
	nativeName: "العربية (اليمن)",
	language: "ar",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		"NaN": "ليس برقم",
		negativeInfinity: "-لا نهاية",
		positiveInfinity: "+لا نهاية",
		currency: {
			pattern: ["$n-","$ n"],
			symbol: "ر.ي.\u200f"
		}
	},
	calendars: {
		standard: {
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM, yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM, yyyy hh:mm tt",
				F: "dd MMMM, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		UmAlQura: {
			name: "UmAlQura",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MMMM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MMMM/yyyy hh:mm tt",
				F: "dd/MMMM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    _yearInfo: [
                        // MonthLengthFlags, Gregorian Date
                        [746, -2198707200000],
                        [1769, -2168121600000],
                        [3794, -2137449600000],
                        [3748, -2106777600000],
                        [3402, -2076192000000],
                        [2710, -2045606400000],
                        [1334, -2015020800000],
                        [2741, -1984435200000],
                        [3498, -1953763200000],
                        [2980, -1923091200000],
                        [2889, -1892505600000],
                        [2707, -1861920000000],
                        [1323, -1831334400000],
                        [2647, -1800748800000],
                        [1206, -1770076800000],
                        [2741, -1739491200000],
                        [1450, -1708819200000],
                        [3413, -1678233600000],
                        [3370, -1647561600000],
                        [2646, -1616976000000],
                        [1198, -1586390400000],
                        [2397, -1555804800000],
                        [748, -1525132800000],
                        [1749, -1494547200000],
                        [1706, -1463875200000],
                        [1365, -1433289600000],
                        [1195, -1402704000000],
                        [2395, -1372118400000],
                        [698, -1341446400000],
                        [1397, -1310860800000],
                        [2994, -1280188800000],
                        [1892, -1249516800000],
                        [1865, -1218931200000],
                        [1621, -1188345600000],
                        [683, -1157760000000],
                        [1371, -1127174400000],
                        [2778, -1096502400000],
                        [1748, -1065830400000],
                        [3785, -1035244800000],
                        [3474, -1004572800000],
                        [3365, -973987200000],
                        [2637, -943401600000],
                        [685, -912816000000],
                        [1389, -882230400000],
                        [2922, -851558400000],
                        [2898, -820886400000],
                        [2725, -790300800000],
                        [2635, -759715200000],
                        [1175, -729129600000],
                        [2359, -698544000000],
                        [694, -667872000000],
                        [1397, -637286400000],
                        [3434, -606614400000],
                        [3410, -575942400000],
                        [2710, -545356800000],
                        [2349, -514771200000],
                        [605, -484185600000],
                        [1245, -453600000000],
                        [2778, -422928000000],
                        [1492, -392256000000],
                        [3497, -361670400000],
                        [3410, -330998400000],
                        [2730, -300412800000],
                        [1238, -269827200000],
                        [2486, -239241600000],
                        [884, -208569600000],
                        [1897, -177984000000],
                        [1874, -147312000000],
                        [1701, -116726400000],
                        [1355, -86140800000],
                        [2731, -55555200000],
                        [1370, -24883200000],
                        [2773, 5702400000],
                        [3538, 36374400000],
                        [3492, 67046400000],
                        [3401, 97632000000],
                        [2709, 128217600000],
                        [1325, 158803200000],
                        [2653, 189388800000],
                        [1370, 220060800000],
                        [2773, 250646400000],
                        [1706, 281318400000],
                        [1685, 311904000000],
                        [1323, 342489600000],
                        [2647, 373075200000],
                        [1198, 403747200000],
                        [2422, 434332800000],
                        [1388, 465004800000],
                        [2901, 495590400000],
                        [2730, 526262400000],
                        [2645, 556848000000],
                        [1197, 587433600000],
                        [2397, 618019200000],
                        [730, 648691200000],
                        [1497, 679276800000],
                        [3506, 709948800000],
                        [2980, 740620800000],
                        [2890, 771206400000],
                        [2645, 801792000000],
                        [693, 832377600000],
                        [1397, 862963200000],
                        [2922, 893635200000],
                        [3026, 924307200000],
                        [3012, 954979200000],
                        [2953, 985564800000],
                        [2709, 1016150400000],
                        [1325, 1046736000000],
                        [1453, 1077321600000],
                        [2922, 1107993600000],
                        [1748, 1138665600000],
                        [3529, 1169251200000],
                        [3474, 1199923200000],
                        [2726, 1230508800000],
                        [2390, 1261094400000],
                        [686, 1291680000000],
                        [1389, 1322265600000],
                        [874, 1352937600000],
                        [2901, 1383523200000],
                        [2730, 1414195200000],
                        [2381, 1444780800000],
                        [1181, 1475366400000],
                        [2397, 1505952000000],
                        [698, 1536624000000],
                        [1461, 1567209600000],
                        [1450, 1597881600000],
                        [3413, 1628467200000],
                        [2714, 1659139200000],
                        [2350, 1689724800000],
                        [622, 1720310400000],
                        [1373, 1750896000000],
                        [2778, 1781568000000],
                        [1748, 1812240000000],
                        [1701, 1842825600000],
                        [0, 1873411200000]
                    ],
                    minDate: -2198707200000,
                    maxDate: 1873411199999,
                    toGregorian: function(hyear, hmonth, hday) {
                        var days = hday - 1,
                            gyear = hyear - 1318;
                        if (gyear < 0 || gyear >= this._yearInfo.length) return null;
                        var info = this._yearInfo[gyear],
                            gdate = new Date(info[1]),
                            monthLength = info[0];
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the gregorian date in the same timezone,
                        // not what the gregorian date was at GMT time, so we adjust for the offset.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        for (var i = 0; i < hmonth; i++) {
                            days += 29 + (monthLength & 1);
                            monthLength = monthLength >> 1;
                        }
                        gdate.setDate(gdate.getDate() + days);
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the hijri date in the same timezone,
                        // not what the hijri date was at GMT time, so we adjust for the offset.
                        var ticks = gdate - gdate.getTimezoneOffset() * 60000;
                        if (ticks < this.minDate || ticks > this.maxDate) return null;
                        var hyear = 0,
                            hmonth = 1;
                        // find the earliest gregorian date in the array that is greater than or equal to the given date
                        while (ticks > this._yearInfo[++hyear][1]) { }
                        if (ticks !== this._yearInfo[hyear][1]) {
                            hyear--;
                        }
                        var info = this._yearInfo[hyear],
                            // how many days has it been since the date we found in the array?
                            // 86400000 = ticks per day
                            days = Math.floor((ticks - info[1]) / 86400000),
                            monthLength = info[0];
                        hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
                        // now increment day/month based on the total days, considering
                        // how many days are in each month. We cannot run past the year
                        // mark since we would have found a different array entry in that case.
                        var daysInMonth = 29 + (monthLength & 1);
                        while (days >= daysInMonth) {
                            days -= daysInMonth;
                            monthLength = monthLength >> 1;
                            daysInMonth = 29 + (monthLength & 1);
                            hmonth++;
                        }
                        // remaining days is less than is in one month, thus is the day of the month we landed on
                        // hmonth-1 because in javascript months are zero based, stay consistent with that.
                        return [hyear, hmonth - 1, days + 1];
                    }
			}
		},
		Hijri: {
			name: "Hijri",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MM/yyyy hh:mm tt",
				F: "dd/MM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		Gregorian_MiddleEastFrench: {
			name: "Gregorian_MiddleEastFrench",
			firstDay: 6,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Gregorian_Arabic: {
			name: "Gregorian_Arabic",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
				namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		},
		Gregorian_TransliteratedFrench: {
			name: "Gregorian_TransliteratedFrench",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		}
	}
});

Globalize.addCultureInfo( "en-029", "default", {
	name: "en-029",
	englishName: "English (Caribbean)",
	nativeName: "English (Caribbean)",
	numberFormat: {
		currency: {
			pattern: ["-$n","$n"]
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			patterns: {
				d: "MM/dd/yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "es-CO", "default", {
	name: "es-CO",
	englishName: "Spanish (Colombia)",
	nativeName: "Español (Colombia)",
	language: "es",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["($ n)","$ n"],
			",": ".",
			".": ","
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sá"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt",
				F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "sr-Latn-RS", "default", {
	name: "sr-Latn-RS",
	englishName: "Serbian (Latin, Serbia)",
	nativeName: "srpski (Srbija)",
	language: "sr-Latn",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-beskonačnost",
		positiveInfinity: "+beskonačnost",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "Din."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"],
				namesAbbr: ["ned","pon","uto","sre","čet","pet","sub"],
				namesShort: ["ne","po","ut","sr","če","pe","su"]
			},
			months: {
				names: ["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar",""],
				namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"n.e.","start":null,"offset":0}],
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy H:mm",
				F: "d. MMMM yyyy H:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "smn-FI", "default", {
	name: "smn-FI",
	englishName: "Sami, Inari (Finland)",
	nativeName: "sämikielâ (Suomâ)",
	language: "smn",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["pasepeivi","vuossargâ","majebargâ","koskokko","tuorâstâh","vástuppeivi","lávárdâh"],
				namesAbbr: ["pa","vu","ma","ko","tu","vá","lá"],
				namesShort: ["p","v","m","k","t","v","l"]
			},
			months: {
				names: ["uđđâivemáánu","kuovâmáánu","njuhčâmáánu","cuáŋuimáánu","vyesimáánu","kesimáánu","syeinimáánu","porgemáánu","čohčâmáánu","roovvâdmáánu","skammâmáánu","juovlâmáánu",""],
				namesAbbr: ["uđiv","kuov","njuh","cuoŋ","vyes","kesi","syei","porg","čoh","roov","ska","juov",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d.M.yyyy",
				D: "MMMM d'. p. 'yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "MMMM d'. p. 'yyyy H:mm",
				F: "MMMM d'. p. 'yyyy H:mm:ss",
				M: "MMMM d'. p. '",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ar-SY", "default", {
	name: "ar-SY",
	englishName: "Arabic (Syria)",
	nativeName: "العربية (سوريا)",
	language: "ar",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		"NaN": "ليس برقم",
		negativeInfinity: "-لا نهاية",
		positiveInfinity: "+لا نهاية",
		currency: {
			pattern: ["$n-","$ n"],
			symbol: "ل.س.\u200f"
		}
	},
	calendars: {
		standard: {
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
				namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM, yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM, yyyy hh:mm tt",
				F: "dd MMMM, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		UmAlQura: {
			name: "UmAlQura",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MMMM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MMMM/yyyy hh:mm tt",
				F: "dd/MMMM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    _yearInfo: [
                        // MonthLengthFlags, Gregorian Date
                        [746, -2198707200000],
                        [1769, -2168121600000],
                        [3794, -2137449600000],
                        [3748, -2106777600000],
                        [3402, -2076192000000],
                        [2710, -2045606400000],
                        [1334, -2015020800000],
                        [2741, -1984435200000],
                        [3498, -1953763200000],
                        [2980, -1923091200000],
                        [2889, -1892505600000],
                        [2707, -1861920000000],
                        [1323, -1831334400000],
                        [2647, -1800748800000],
                        [1206, -1770076800000],
                        [2741, -1739491200000],
                        [1450, -1708819200000],
                        [3413, -1678233600000],
                        [3370, -1647561600000],
                        [2646, -1616976000000],
                        [1198, -1586390400000],
                        [2397, -1555804800000],
                        [748, -1525132800000],
                        [1749, -1494547200000],
                        [1706, -1463875200000],
                        [1365, -1433289600000],
                        [1195, -1402704000000],
                        [2395, -1372118400000],
                        [698, -1341446400000],
                        [1397, -1310860800000],
                        [2994, -1280188800000],
                        [1892, -1249516800000],
                        [1865, -1218931200000],
                        [1621, -1188345600000],
                        [683, -1157760000000],
                        [1371, -1127174400000],
                        [2778, -1096502400000],
                        [1748, -1065830400000],
                        [3785, -1035244800000],
                        [3474, -1004572800000],
                        [3365, -973987200000],
                        [2637, -943401600000],
                        [685, -912816000000],
                        [1389, -882230400000],
                        [2922, -851558400000],
                        [2898, -820886400000],
                        [2725, -790300800000],
                        [2635, -759715200000],
                        [1175, -729129600000],
                        [2359, -698544000000],
                        [694, -667872000000],
                        [1397, -637286400000],
                        [3434, -606614400000],
                        [3410, -575942400000],
                        [2710, -545356800000],
                        [2349, -514771200000],
                        [605, -484185600000],
                        [1245, -453600000000],
                        [2778, -422928000000],
                        [1492, -392256000000],
                        [3497, -361670400000],
                        [3410, -330998400000],
                        [2730, -300412800000],
                        [1238, -269827200000],
                        [2486, -239241600000],
                        [884, -208569600000],
                        [1897, -177984000000],
                        [1874, -147312000000],
                        [1701, -116726400000],
                        [1355, -86140800000],
                        [2731, -55555200000],
                        [1370, -24883200000],
                        [2773, 5702400000],
                        [3538, 36374400000],
                        [3492, 67046400000],
                        [3401, 97632000000],
                        [2709, 128217600000],
                        [1325, 158803200000],
                        [2653, 189388800000],
                        [1370, 220060800000],
                        [2773, 250646400000],
                        [1706, 281318400000],
                        [1685, 311904000000],
                        [1323, 342489600000],
                        [2647, 373075200000],
                        [1198, 403747200000],
                        [2422, 434332800000],
                        [1388, 465004800000],
                        [2901, 495590400000],
                        [2730, 526262400000],
                        [2645, 556848000000],
                        [1197, 587433600000],
                        [2397, 618019200000],
                        [730, 648691200000],
                        [1497, 679276800000],
                        [3506, 709948800000],
                        [2980, 740620800000],
                        [2890, 771206400000],
                        [2645, 801792000000],
                        [693, 832377600000],
                        [1397, 862963200000],
                        [2922, 893635200000],
                        [3026, 924307200000],
                        [3012, 954979200000],
                        [2953, 985564800000],
                        [2709, 1016150400000],
                        [1325, 1046736000000],
                        [1453, 1077321600000],
                        [2922, 1107993600000],
                        [1748, 1138665600000],
                        [3529, 1169251200000],
                        [3474, 1199923200000],
                        [2726, 1230508800000],
                        [2390, 1261094400000],
                        [686, 1291680000000],
                        [1389, 1322265600000],
                        [874, 1352937600000],
                        [2901, 1383523200000],
                        [2730, 1414195200000],
                        [2381, 1444780800000],
                        [1181, 1475366400000],
                        [2397, 1505952000000],
                        [698, 1536624000000],
                        [1461, 1567209600000],
                        [1450, 1597881600000],
                        [3413, 1628467200000],
                        [2714, 1659139200000],
                        [2350, 1689724800000],
                        [622, 1720310400000],
                        [1373, 1750896000000],
                        [2778, 1781568000000],
                        [1748, 1812240000000],
                        [1701, 1842825600000],
                        [0, 1873411200000]
                    ],
                    minDate: -2198707200000,
                    maxDate: 1873411199999,
                    toGregorian: function(hyear, hmonth, hday) {
                        var days = hday - 1,
                            gyear = hyear - 1318;
                        if (gyear < 0 || gyear >= this._yearInfo.length) return null;
                        var info = this._yearInfo[gyear],
                            gdate = new Date(info[1]),
                            monthLength = info[0];
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the gregorian date in the same timezone,
                        // not what the gregorian date was at GMT time, so we adjust for the offset.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        for (var i = 0; i < hmonth; i++) {
                            days += 29 + (monthLength & 1);
                            monthLength = monthLength >> 1;
                        }
                        gdate.setDate(gdate.getDate() + days);
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the hijri date in the same timezone,
                        // not what the hijri date was at GMT time, so we adjust for the offset.
                        var ticks = gdate - gdate.getTimezoneOffset() * 60000;
                        if (ticks < this.minDate || ticks > this.maxDate) return null;
                        var hyear = 0,
                            hmonth = 1;
                        // find the earliest gregorian date in the array that is greater than or equal to the given date
                        while (ticks > this._yearInfo[++hyear][1]) { }
                        if (ticks !== this._yearInfo[hyear][1]) {
                            hyear--;
                        }
                        var info = this._yearInfo[hyear],
                            // how many days has it been since the date we found in the array?
                            // 86400000 = ticks per day
                            days = Math.floor((ticks - info[1]) / 86400000),
                            monthLength = info[0];
                        hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
                        // now increment day/month based on the total days, considering
                        // how many days are in each month. We cannot run past the year
                        // mark since we would have found a different array entry in that case.
                        var daysInMonth = 29 + (monthLength & 1);
                        while (days >= daysInMonth) {
                            days -= daysInMonth;
                            monthLength = monthLength >> 1;
                            daysInMonth = 29 + (monthLength & 1);
                            hmonth++;
                        }
                        // remaining days is less than is in one month, thus is the day of the month we landed on
                        // hmonth-1 because in javascript months are zero based, stay consistent with that.
                        return [hyear, hmonth - 1, days + 1];
                    }
			}
		},
		Hijri: {
			name: "Hijri",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MM/yyyy hh:mm tt",
				F: "dd/MM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		Gregorian_MiddleEastFrench: {
			name: "Gregorian_MiddleEastFrench",
			firstDay: 6,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Gregorian_TransliteratedEnglish: {
			name: "Gregorian_TransliteratedEnglish",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["أ","ا","ث","أ","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		},
		Gregorian_TransliteratedFrench: {
			name: "Gregorian_TransliteratedFrench",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		}
	}
});

Globalize.addCultureInfo( "en-BZ", "default", {
	name: "en-BZ",
	englishName: "English (Belize)",
	nativeName: "English (Belize)",
	numberFormat: {
		currency: {
			groupSizes: [3,0],
			symbol: "BZ$"
		}
	},
	calendars: {
		standard: {
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd MMMM yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd MMMM yyyy hh:mm tt",
				F: "dddd, dd MMMM yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "es-PE", "default", {
	name: "es-PE",
	englishName: "Spanish (Peru)",
	nativeName: "Español (Perú)",
	language: "es",
	numberFormat: {
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		currency: {
			pattern: ["$ -n","$ n"],
			symbol: "S/."
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sá"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt",
				F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "sr-Cyrl-RS", "default", {
	name: "sr-Cyrl-RS",
	englishName: "Serbian (Cyrillic, Serbia)",
	nativeName: "српски (Србија)",
	language: "sr-Cyrl",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-бесконачност",
		positiveInfinity: "+бесконачност",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "Дин."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["недеља","понедељак","уторак","среда","четвртак","петак","субота"],
				namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"],
				namesShort: ["не","по","ут","ср","че","пе","су"]
			},
			months: {
				names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""],
				namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"н.е.","start":null,"offset":0}],
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy H:mm",
				F: "d. MMMM yyyy H:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ar-JO", "default", {
	name: "ar-JO",
	englishName: "Arabic (Jordan)",
	nativeName: "العربية (الأردن)",
	language: "ar",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		decimals: 3,
		"NaN": "ليس برقم",
		negativeInfinity: "-لا نهاية",
		positiveInfinity: "+لا نهاية",
		percent: {
			decimals: 3
		},
		currency: {
			pattern: ["$n-","$ n"],
			decimals: 3,
			symbol: "د.ا.\u200f"
		}
	},
	calendars: {
		standard: {
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
				namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM, yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM, yyyy hh:mm tt",
				F: "dd MMMM, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		UmAlQura: {
			name: "UmAlQura",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MMMM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MMMM/yyyy hh:mm tt",
				F: "dd/MMMM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    _yearInfo: [
                        // MonthLengthFlags, Gregorian Date
                        [746, -2198707200000],
                        [1769, -2168121600000],
                        [3794, -2137449600000],
                        [3748, -2106777600000],
                        [3402, -2076192000000],
                        [2710, -2045606400000],
                        [1334, -2015020800000],
                        [2741, -1984435200000],
                        [3498, -1953763200000],
                        [2980, -1923091200000],
                        [2889, -1892505600000],
                        [2707, -1861920000000],
                        [1323, -1831334400000],
                        [2647, -1800748800000],
                        [1206, -1770076800000],
                        [2741, -1739491200000],
                        [1450, -1708819200000],
                        [3413, -1678233600000],
                        [3370, -1647561600000],
                        [2646, -1616976000000],
                        [1198, -1586390400000],
                        [2397, -1555804800000],
                        [748, -1525132800000],
                        [1749, -1494547200000],
                        [1706, -1463875200000],
                        [1365, -1433289600000],
                        [1195, -1402704000000],
                        [2395, -1372118400000],
                        [698, -1341446400000],
                        [1397, -1310860800000],
                        [2994, -1280188800000],
                        [1892, -1249516800000],
                        [1865, -1218931200000],
                        [1621, -1188345600000],
                        [683, -1157760000000],
                        [1371, -1127174400000],
                        [2778, -1096502400000],
                        [1748, -1065830400000],
                        [3785, -1035244800000],
                        [3474, -1004572800000],
                        [3365, -973987200000],
                        [2637, -943401600000],
                        [685, -912816000000],
                        [1389, -882230400000],
                        [2922, -851558400000],
                        [2898, -820886400000],
                        [2725, -790300800000],
                        [2635, -759715200000],
                        [1175, -729129600000],
                        [2359, -698544000000],
                        [694, -667872000000],
                        [1397, -637286400000],
                        [3434, -606614400000],
                        [3410, -575942400000],
                        [2710, -545356800000],
                        [2349, -514771200000],
                        [605, -484185600000],
                        [1245, -453600000000],
                        [2778, -422928000000],
                        [1492, -392256000000],
                        [3497, -361670400000],
                        [3410, -330998400000],
                        [2730, -300412800000],
                        [1238, -269827200000],
                        [2486, -239241600000],
                        [884, -208569600000],
                        [1897, -177984000000],
                        [1874, -147312000000],
                        [1701, -116726400000],
                        [1355, -86140800000],
                        [2731, -55555200000],
                        [1370, -24883200000],
                        [2773, 5702400000],
                        [3538, 36374400000],
                        [3492, 67046400000],
                        [3401, 97632000000],
                        [2709, 128217600000],
                        [1325, 158803200000],
                        [2653, 189388800000],
                        [1370, 220060800000],
                        [2773, 250646400000],
                        [1706, 281318400000],
                        [1685, 311904000000],
                        [1323, 342489600000],
                        [2647, 373075200000],
                        [1198, 403747200000],
                        [2422, 434332800000],
                        [1388, 465004800000],
                        [2901, 495590400000],
                        [2730, 526262400000],
                        [2645, 556848000000],
                        [1197, 587433600000],
                        [2397, 618019200000],
                        [730, 648691200000],
                        [1497, 679276800000],
                        [3506, 709948800000],
                        [2980, 740620800000],
                        [2890, 771206400000],
                        [2645, 801792000000],
                        [693, 832377600000],
                        [1397, 862963200000],
                        [2922, 893635200000],
                        [3026, 924307200000],
                        [3012, 954979200000],
                        [2953, 985564800000],
                        [2709, 1016150400000],
                        [1325, 1046736000000],
                        [1453, 1077321600000],
                        [2922, 1107993600000],
                        [1748, 1138665600000],
                        [3529, 1169251200000],
                        [3474, 1199923200000],
                        [2726, 1230508800000],
                        [2390, 1261094400000],
                        [686, 1291680000000],
                        [1389, 1322265600000],
                        [874, 1352937600000],
                        [2901, 1383523200000],
                        [2730, 1414195200000],
                        [2381, 1444780800000],
                        [1181, 1475366400000],
                        [2397, 1505952000000],
                        [698, 1536624000000],
                        [1461, 1567209600000],
                        [1450, 1597881600000],
                        [3413, 1628467200000],
                        [2714, 1659139200000],
                        [2350, 1689724800000],
                        [622, 1720310400000],
                        [1373, 1750896000000],
                        [2778, 1781568000000],
                        [1748, 1812240000000],
                        [1701, 1842825600000],
                        [0, 1873411200000]
                    ],
                    minDate: -2198707200000,
                    maxDate: 1873411199999,
                    toGregorian: function(hyear, hmonth, hday) {
                        var days = hday - 1,
                            gyear = hyear - 1318;
                        if (gyear < 0 || gyear >= this._yearInfo.length) return null;
                        var info = this._yearInfo[gyear],
                            gdate = new Date(info[1]),
                            monthLength = info[0];
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the gregorian date in the same timezone,
                        // not what the gregorian date was at GMT time, so we adjust for the offset.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        for (var i = 0; i < hmonth; i++) {
                            days += 29 + (monthLength & 1);
                            monthLength = monthLength >> 1;
                        }
                        gdate.setDate(gdate.getDate() + days);
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the hijri date in the same timezone,
                        // not what the hijri date was at GMT time, so we adjust for the offset.
                        var ticks = gdate - gdate.getTimezoneOffset() * 60000;
                        if (ticks < this.minDate || ticks > this.maxDate) return null;
                        var hyear = 0,
                            hmonth = 1;
                        // find the earliest gregorian date in the array that is greater than or equal to the given date
                        while (ticks > this._yearInfo[++hyear][1]) { }
                        if (ticks !== this._yearInfo[hyear][1]) {
                            hyear--;
                        }
                        var info = this._yearInfo[hyear],
                            // how many days has it been since the date we found in the array?
                            // 86400000 = ticks per day
                            days = Math.floor((ticks - info[1]) / 86400000),
                            monthLength = info[0];
                        hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
                        // now increment day/month based on the total days, considering
                        // how many days are in each month. We cannot run past the year
                        // mark since we would have found a different array entry in that case.
                        var daysInMonth = 29 + (monthLength & 1);
                        while (days >= daysInMonth) {
                            days -= daysInMonth;
                            monthLength = monthLength >> 1;
                            daysInMonth = 29 + (monthLength & 1);
                            hmonth++;
                        }
                        // remaining days is less than is in one month, thus is the day of the month we landed on
                        // hmonth-1 because in javascript months are zero based, stay consistent with that.
                        return [hyear, hmonth - 1, days + 1];
                    }
			}
		},
		Hijri: {
			name: "Hijri",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MM/yyyy hh:mm tt",
				F: "dd/MM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		Gregorian_MiddleEastFrench: {
			name: "Gregorian_MiddleEastFrench",
			firstDay: 6,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Gregorian_TransliteratedEnglish: {
			name: "Gregorian_TransliteratedEnglish",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["أ","ا","ث","أ","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		},
		Gregorian_TransliteratedFrench: {
			name: "Gregorian_TransliteratedFrench",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		}
	}
});

Globalize.addCultureInfo( "en-TT", "default", {
	name: "en-TT",
	englishName: "English (Trinidad and Tobago)",
	nativeName: "English (Trinidad y Tobago)",
	numberFormat: {
		currency: {
			groupSizes: [3,0],
			symbol: "TT$"
		}
	},
	calendars: {
		standard: {
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd MMMM yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd MMMM yyyy hh:mm tt",
				F: "dddd, dd MMMM yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "es-AR", "default", {
	name: "es-AR",
	englishName: "Spanish (Argentina)",
	nativeName: "Español (Argentina)",
	language: "es",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["$-n","$ n"],
			",": ".",
			".": ","
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sá"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt",
				F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "sr-Latn-ME", "default", {
	name: "sr-Latn-ME",
	englishName: "Serbian (Latin, Montenegro)",
	nativeName: "srpski (Crna Gora)",
	language: "sr-Latn",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-beskonačnost",
		positiveInfinity: "+beskonačnost",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"],
				namesAbbr: ["ned","pon","uto","sre","čet","pet","sub"],
				namesShort: ["ne","po","ut","sr","če","pe","su"]
			},
			months: {
				names: ["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar",""],
				namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"n.e.","start":null,"offset":0}],
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy H:mm",
				F: "d. MMMM yyyy H:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ar-LB", "default", {
	name: "ar-LB",
	englishName: "Arabic (Lebanon)",
	nativeName: "العربية (لبنان)",
	language: "ar",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		"NaN": "ليس برقم",
		negativeInfinity: "-لا نهاية",
		positiveInfinity: "+لا نهاية",
		currency: {
			pattern: ["$n-","$ n"],
			symbol: "ل.ل.\u200f"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
				namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM, yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM, yyyy hh:mm tt",
				F: "dd MMMM, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		UmAlQura: {
			name: "UmAlQura",
			firstDay: 1,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MMMM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MMMM/yyyy hh:mm tt",
				F: "dd/MMMM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    _yearInfo: [
                        // MonthLengthFlags, Gregorian Date
                        [746, -2198707200000],
                        [1769, -2168121600000],
                        [3794, -2137449600000],
                        [3748, -2106777600000],
                        [3402, -2076192000000],
                        [2710, -2045606400000],
                        [1334, -2015020800000],
                        [2741, -1984435200000],
                        [3498, -1953763200000],
                        [2980, -1923091200000],
                        [2889, -1892505600000],
                        [2707, -1861920000000],
                        [1323, -1831334400000],
                        [2647, -1800748800000],
                        [1206, -1770076800000],
                        [2741, -1739491200000],
                        [1450, -1708819200000],
                        [3413, -1678233600000],
                        [3370, -1647561600000],
                        [2646, -1616976000000],
                        [1198, -1586390400000],
                        [2397, -1555804800000],
                        [748, -1525132800000],
                        [1749, -1494547200000],
                        [1706, -1463875200000],
                        [1365, -1433289600000],
                        [1195, -1402704000000],
                        [2395, -1372118400000],
                        [698, -1341446400000],
                        [1397, -1310860800000],
                        [2994, -1280188800000],
                        [1892, -1249516800000],
                        [1865, -1218931200000],
                        [1621, -1188345600000],
                        [683, -1157760000000],
                        [1371, -1127174400000],
                        [2778, -1096502400000],
                        [1748, -1065830400000],
                        [3785, -1035244800000],
                        [3474, -1004572800000],
                        [3365, -973987200000],
                        [2637, -943401600000],
                        [685, -912816000000],
                        [1389, -882230400000],
                        [2922, -851558400000],
                        [2898, -820886400000],
                        [2725, -790300800000],
                        [2635, -759715200000],
                        [1175, -729129600000],
                        [2359, -698544000000],
                        [694, -667872000000],
                        [1397, -637286400000],
                        [3434, -606614400000],
                        [3410, -575942400000],
                        [2710, -545356800000],
                        [2349, -514771200000],
                        [605, -484185600000],
                        [1245, -453600000000],
                        [2778, -422928000000],
                        [1492, -392256000000],
                        [3497, -361670400000],
                        [3410, -330998400000],
                        [2730, -300412800000],
                        [1238, -269827200000],
                        [2486, -239241600000],
                        [884, -208569600000],
                        [1897, -177984000000],
                        [1874, -147312000000],
                        [1701, -116726400000],
                        [1355, -86140800000],
                        [2731, -55555200000],
                        [1370, -24883200000],
                        [2773, 5702400000],
                        [3538, 36374400000],
                        [3492, 67046400000],
                        [3401, 97632000000],
                        [2709, 128217600000],
                        [1325, 158803200000],
                        [2653, 189388800000],
                        [1370, 220060800000],
                        [2773, 250646400000],
                        [1706, 281318400000],
                        [1685, 311904000000],
                        [1323, 342489600000],
                        [2647, 373075200000],
                        [1198, 403747200000],
                        [2422, 434332800000],
                        [1388, 465004800000],
                        [2901, 495590400000],
                        [2730, 526262400000],
                        [2645, 556848000000],
                        [1197, 587433600000],
                        [2397, 618019200000],
                        [730, 648691200000],
                        [1497, 679276800000],
                        [3506, 709948800000],
                        [2980, 740620800000],
                        [2890, 771206400000],
                        [2645, 801792000000],
                        [693, 832377600000],
                        [1397, 862963200000],
                        [2922, 893635200000],
                        [3026, 924307200000],
                        [3012, 954979200000],
                        [2953, 985564800000],
                        [2709, 1016150400000],
                        [1325, 1046736000000],
                        [1453, 1077321600000],
                        [2922, 1107993600000],
                        [1748, 1138665600000],
                        [3529, 1169251200000],
                        [3474, 1199923200000],
                        [2726, 1230508800000],
                        [2390, 1261094400000],
                        [686, 1291680000000],
                        [1389, 1322265600000],
                        [874, 1352937600000],
                        [2901, 1383523200000],
                        [2730, 1414195200000],
                        [2381, 1444780800000],
                        [1181, 1475366400000],
                        [2397, 1505952000000],
                        [698, 1536624000000],
                        [1461, 1567209600000],
                        [1450, 1597881600000],
                        [3413, 1628467200000],
                        [2714, 1659139200000],
                        [2350, 1689724800000],
                        [622, 1720310400000],
                        [1373, 1750896000000],
                        [2778, 1781568000000],
                        [1748, 1812240000000],
                        [1701, 1842825600000],
                        [0, 1873411200000]
                    ],
                    minDate: -2198707200000,
                    maxDate: 1873411199999,
                    toGregorian: function(hyear, hmonth, hday) {
                        var days = hday - 1,
                            gyear = hyear - 1318;
                        if (gyear < 0 || gyear >= this._yearInfo.length) return null;
                        var info = this._yearInfo[gyear],
                            gdate = new Date(info[1]),
                            monthLength = info[0];
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the gregorian date in the same timezone,
                        // not what the gregorian date was at GMT time, so we adjust for the offset.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        for (var i = 0; i < hmonth; i++) {
                            days += 29 + (monthLength & 1);
                            monthLength = monthLength >> 1;
                        }
                        gdate.setDate(gdate.getDate() + days);
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the hijri date in the same timezone,
                        // not what the hijri date was at GMT time, so we adjust for the offset.
                        var ticks = gdate - gdate.getTimezoneOffset() * 60000;
                        if (ticks < this.minDate || ticks > this.maxDate) return null;
                        var hyear = 0,
                            hmonth = 1;
                        // find the earliest gregorian date in the array that is greater than or equal to the given date
                        while (ticks > this._yearInfo[++hyear][1]) { }
                        if (ticks !== this._yearInfo[hyear][1]) {
                            hyear--;
                        }
                        var info = this._yearInfo[hyear],
                            // how many days has it been since the date we found in the array?
                            // 86400000 = ticks per day
                            days = Math.floor((ticks - info[1]) / 86400000),
                            monthLength = info[0];
                        hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
                        // now increment day/month based on the total days, considering
                        // how many days are in each month. We cannot run past the year
                        // mark since we would have found a different array entry in that case.
                        var daysInMonth = 29 + (monthLength & 1);
                        while (days >= daysInMonth) {
                            days -= daysInMonth;
                            monthLength = monthLength >> 1;
                            daysInMonth = 29 + (monthLength & 1);
                            hmonth++;
                        }
                        // remaining days is less than is in one month, thus is the day of the month we landed on
                        // hmonth-1 because in javascript months are zero based, stay consistent with that.
                        return [hyear, hmonth - 1, days + 1];
                    }
			}
		},
		Hijri: {
			name: "Hijri",
			firstDay: 1,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MM/yyyy hh:mm tt",
				F: "dd/MM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		Gregorian_MiddleEastFrench: {
			name: "Gregorian_MiddleEastFrench",
			firstDay: 1,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Gregorian_TransliteratedEnglish: {
			name: "Gregorian_TransliteratedEnglish",
			firstDay: 1,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["أ","ا","ث","أ","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		},
		Gregorian_TransliteratedFrench: {
			name: "Gregorian_TransliteratedFrench",
			firstDay: 1,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		}
	}
});

Globalize.addCultureInfo( "en-ZW", "default", {
	name: "en-ZW",
	englishName: "English (Zimbabwe)",
	nativeName: "English (Zimbabwe)",
	numberFormat: {
		currency: {
			symbol: "Z$"
		}
	}
});

Globalize.addCultureInfo( "es-EC", "default", {
	name: "es-EC",
	englishName: "Spanish (Ecuador)",
	nativeName: "Español (Ecuador)",
	language: "es",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["($ n)","$ n"],
			",": ".",
			".": ","
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sá"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd, dd' de 'MMMM' de 'yyyy H:mm",
				F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "sr-Cyrl-ME", "default", {
	name: "sr-Cyrl-ME",
	englishName: "Serbian (Cyrillic, Montenegro)",
	nativeName: "српски (Црна Гора)",
	language: "sr-Cyrl",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-бесконачност",
		positiveInfinity: "+бесконачност",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["недеља","понедељак","уторак","среда","четвртак","петак","субота"],
				namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"],
				namesShort: ["не","по","ут","ср","че","пе","су"]
			},
			months: {
				names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""],
				namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"н.е.","start":null,"offset":0}],
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy H:mm",
				F: "d. MMMM yyyy H:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ar-KW", "default", {
	name: "ar-KW",
	englishName: "Arabic (Kuwait)",
	nativeName: "العربية (الكويت)",
	language: "ar",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		decimals: 3,
		"NaN": "ليس برقم",
		negativeInfinity: "-لا نهاية",
		positiveInfinity: "+لا نهاية",
		percent: {
			decimals: 3
		},
		currency: {
			pattern: ["$n-","$ n"],
			decimals: 3,
			symbol: "د.ك.\u200f"
		}
	},
	calendars: {
		standard: {
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM, yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM, yyyy hh:mm tt",
				F: "dd MMMM, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Hijri: {
			name: "Hijri",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MM/yyyy hh:mm tt",
				F: "dd/MM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		UmAlQura: {
			name: "UmAlQura",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MMMM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MMMM/yyyy hh:mm tt",
				F: "dd/MMMM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    _yearInfo: [
                        // MonthLengthFlags, Gregorian Date
                        [746, -2198707200000],
                        [1769, -2168121600000],
                        [3794, -2137449600000],
                        [3748, -2106777600000],
                        [3402, -2076192000000],
                        [2710, -2045606400000],
                        [1334, -2015020800000],
                        [2741, -1984435200000],
                        [3498, -1953763200000],
                        [2980, -1923091200000],
                        [2889, -1892505600000],
                        [2707, -1861920000000],
                        [1323, -1831334400000],
                        [2647, -1800748800000],
                        [1206, -1770076800000],
                        [2741, -1739491200000],
                        [1450, -1708819200000],
                        [3413, -1678233600000],
                        [3370, -1647561600000],
                        [2646, -1616976000000],
                        [1198, -1586390400000],
                        [2397, -1555804800000],
                        [748, -1525132800000],
                        [1749, -1494547200000],
                        [1706, -1463875200000],
                        [1365, -1433289600000],
                        [1195, -1402704000000],
                        [2395, -1372118400000],
                        [698, -1341446400000],
                        [1397, -1310860800000],
                        [2994, -1280188800000],
                        [1892, -1249516800000],
                        [1865, -1218931200000],
                        [1621, -1188345600000],
                        [683, -1157760000000],
                        [1371, -1127174400000],
                        [2778, -1096502400000],
                        [1748, -1065830400000],
                        [3785, -1035244800000],
                        [3474, -1004572800000],
                        [3365, -973987200000],
                        [2637, -943401600000],
                        [685, -912816000000],
                        [1389, -882230400000],
                        [2922, -851558400000],
                        [2898, -820886400000],
                        [2725, -790300800000],
                        [2635, -759715200000],
                        [1175, -729129600000],
                        [2359, -698544000000],
                        [694, -667872000000],
                        [1397, -637286400000],
                        [3434, -606614400000],
                        [3410, -575942400000],
                        [2710, -545356800000],
                        [2349, -514771200000],
                        [605, -484185600000],
                        [1245, -453600000000],
                        [2778, -422928000000],
                        [1492, -392256000000],
                        [3497, -361670400000],
                        [3410, -330998400000],
                        [2730, -300412800000],
                        [1238, -269827200000],
                        [2486, -239241600000],
                        [884, -208569600000],
                        [1897, -177984000000],
                        [1874, -147312000000],
                        [1701, -116726400000],
                        [1355, -86140800000],
                        [2731, -55555200000],
                        [1370, -24883200000],
                        [2773, 5702400000],
                        [3538, 36374400000],
                        [3492, 67046400000],
                        [3401, 97632000000],
                        [2709, 128217600000],
                        [1325, 158803200000],
                        [2653, 189388800000],
                        [1370, 220060800000],
                        [2773, 250646400000],
                        [1706, 281318400000],
                        [1685, 311904000000],
                        [1323, 342489600000],
                        [2647, 373075200000],
                        [1198, 403747200000],
                        [2422, 434332800000],
                        [1388, 465004800000],
                        [2901, 495590400000],
                        [2730, 526262400000],
                        [2645, 556848000000],
                        [1197, 587433600000],
                        [2397, 618019200000],
                        [730, 648691200000],
                        [1497, 679276800000],
                        [3506, 709948800000],
                        [2980, 740620800000],
                        [2890, 771206400000],
                        [2645, 801792000000],
                        [693, 832377600000],
                        [1397, 862963200000],
                        [2922, 893635200000],
                        [3026, 924307200000],
                        [3012, 954979200000],
                        [2953, 985564800000],
                        [2709, 1016150400000],
                        [1325, 1046736000000],
                        [1453, 1077321600000],
                        [2922, 1107993600000],
                        [1748, 1138665600000],
                        [3529, 1169251200000],
                        [3474, 1199923200000],
                        [2726, 1230508800000],
                        [2390, 1261094400000],
                        [686, 1291680000000],
                        [1389, 1322265600000],
                        [874, 1352937600000],
                        [2901, 1383523200000],
                        [2730, 1414195200000],
                        [2381, 1444780800000],
                        [1181, 1475366400000],
                        [2397, 1505952000000],
                        [698, 1536624000000],
                        [1461, 1567209600000],
                        [1450, 1597881600000],
                        [3413, 1628467200000],
                        [2714, 1659139200000],
                        [2350, 1689724800000],
                        [622, 1720310400000],
                        [1373, 1750896000000],
                        [2778, 1781568000000],
                        [1748, 1812240000000],
                        [1701, 1842825600000],
                        [0, 1873411200000]
                    ],
                    minDate: -2198707200000,
                    maxDate: 1873411199999,
                    toGregorian: function(hyear, hmonth, hday) {
                        var days = hday - 1,
                            gyear = hyear - 1318;
                        if (gyear < 0 || gyear >= this._yearInfo.length) return null;
                        var info = this._yearInfo[gyear],
                            gdate = new Date(info[1]),
                            monthLength = info[0];
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the gregorian date in the same timezone,
                        // not what the gregorian date was at GMT time, so we adjust for the offset.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        for (var i = 0; i < hmonth; i++) {
                            days += 29 + (monthLength & 1);
                            monthLength = monthLength >> 1;
                        }
                        gdate.setDate(gdate.getDate() + days);
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the hijri date in the same timezone,
                        // not what the hijri date was at GMT time, so we adjust for the offset.
                        var ticks = gdate - gdate.getTimezoneOffset() * 60000;
                        if (ticks < this.minDate || ticks > this.maxDate) return null;
                        var hyear = 0,
                            hmonth = 1;
                        // find the earliest gregorian date in the array that is greater than or equal to the given date
                        while (ticks > this._yearInfo[++hyear][1]) { }
                        if (ticks !== this._yearInfo[hyear][1]) {
                            hyear--;
                        }
                        var info = this._yearInfo[hyear],
                            // how many days has it been since the date we found in the array?
                            // 86400000 = ticks per day
                            days = Math.floor((ticks - info[1]) / 86400000),
                            monthLength = info[0];
                        hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
                        // now increment day/month based on the total days, considering
                        // how many days are in each month. We cannot run past the year
                        // mark since we would have found a different array entry in that case.
                        var daysInMonth = 29 + (monthLength & 1);
                        while (days >= daysInMonth) {
                            days -= daysInMonth;
                            monthLength = monthLength >> 1;
                            daysInMonth = 29 + (monthLength & 1);
                            hmonth++;
                        }
                        // remaining days is less than is in one month, thus is the day of the month we landed on
                        // hmonth-1 because in javascript months are zero based, stay consistent with that.
                        return [hyear, hmonth - 1, days + 1];
                    }
			}
		},
		Gregorian_MiddleEastFrench: {
			name: "Gregorian_MiddleEastFrench",
			firstDay: 6,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Gregorian_Arabic: {
			name: "Gregorian_Arabic",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
				namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		},
		Gregorian_TransliteratedFrench: {
			name: "Gregorian_TransliteratedFrench",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		}
	}
});

Globalize.addCultureInfo( "en-PH", "default", {
	name: "en-PH",
	englishName: "English (Republic of the Philippines)",
	nativeName: "English (Philippines)",
	numberFormat: {
		currency: {
			symbol: "Php"
		}
	}
});

Globalize.addCultureInfo( "es-CL", "default", {
	name: "es-CL",
	englishName: "Spanish (Chile)",
	nativeName: "Español (Chile)",
	language: "es",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-$ n","$ n"],
			",": ".",
			".": ","
		}
	},
	calendars: {
		standard: {
			"/": "-",
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sá"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd-MM-yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dddd, dd' de 'MMMM' de 'yyyy H:mm",
				F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ar-AE", "default", {
	name: "ar-AE",
	englishName: "Arabic (U.A.E.)",
	nativeName: "العربية (الإمارات العربية المتحدة)",
	language: "ar",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		"NaN": "ليس برقم",
		negativeInfinity: "-لا نهاية",
		positiveInfinity: "+لا نهاية",
		currency: {
			pattern: ["$n-","$ n"],
			symbol: "د.إ.\u200f"
		}
	},
	calendars: {
		standard: {
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM, yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM, yyyy hh:mm tt",
				F: "dd MMMM, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		UmAlQura: {
			name: "UmAlQura",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MMMM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MMMM/yyyy hh:mm tt",
				F: "dd/MMMM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    _yearInfo: [
                        // MonthLengthFlags, Gregorian Date
                        [746, -2198707200000],
                        [1769, -2168121600000],
                        [3794, -2137449600000],
                        [3748, -2106777600000],
                        [3402, -2076192000000],
                        [2710, -2045606400000],
                        [1334, -2015020800000],
                        [2741, -1984435200000],
                        [3498, -1953763200000],
                        [2980, -1923091200000],
                        [2889, -1892505600000],
                        [2707, -1861920000000],
                        [1323, -1831334400000],
                        [2647, -1800748800000],
                        [1206, -1770076800000],
                        [2741, -1739491200000],
                        [1450, -1708819200000],
                        [3413, -1678233600000],
                        [3370, -1647561600000],
                        [2646, -1616976000000],
                        [1198, -1586390400000],
                        [2397, -1555804800000],
                        [748, -1525132800000],
                        [1749, -1494547200000],
                        [1706, -1463875200000],
                        [1365, -1433289600000],
                        [1195, -1402704000000],
                        [2395, -1372118400000],
                        [698, -1341446400000],
                        [1397, -1310860800000],
                        [2994, -1280188800000],
                        [1892, -1249516800000],
                        [1865, -1218931200000],
                        [1621, -1188345600000],
                        [683, -1157760000000],
                        [1371, -1127174400000],
                        [2778, -1096502400000],
                        [1748, -1065830400000],
                        [3785, -1035244800000],
                        [3474, -1004572800000],
                        [3365, -973987200000],
                        [2637, -943401600000],
                        [685, -912816000000],
                        [1389, -882230400000],
                        [2922, -851558400000],
                        [2898, -820886400000],
                        [2725, -790300800000],
                        [2635, -759715200000],
                        [1175, -729129600000],
                        [2359, -698544000000],
                        [694, -667872000000],
                        [1397, -637286400000],
                        [3434, -606614400000],
                        [3410, -575942400000],
                        [2710, -545356800000],
                        [2349, -514771200000],
                        [605, -484185600000],
                        [1245, -453600000000],
                        [2778, -422928000000],
                        [1492, -392256000000],
                        [3497, -361670400000],
                        [3410, -330998400000],
                        [2730, -300412800000],
                        [1238, -269827200000],
                        [2486, -239241600000],
                        [884, -208569600000],
                        [1897, -177984000000],
                        [1874, -147312000000],
                        [1701, -116726400000],
                        [1355, -86140800000],
                        [2731, -55555200000],
                        [1370, -24883200000],
                        [2773, 5702400000],
                        [3538, 36374400000],
                        [3492, 67046400000],
                        [3401, 97632000000],
                        [2709, 128217600000],
                        [1325, 158803200000],
                        [2653, 189388800000],
                        [1370, 220060800000],
                        [2773, 250646400000],
                        [1706, 281318400000],
                        [1685, 311904000000],
                        [1323, 342489600000],
                        [2647, 373075200000],
                        [1198, 403747200000],
                        [2422, 434332800000],
                        [1388, 465004800000],
                        [2901, 495590400000],
                        [2730, 526262400000],
                        [2645, 556848000000],
                        [1197, 587433600000],
                        [2397, 618019200000],
                        [730, 648691200000],
                        [1497, 679276800000],
                        [3506, 709948800000],
                        [2980, 740620800000],
                        [2890, 771206400000],
                        [2645, 801792000000],
                        [693, 832377600000],
                        [1397, 862963200000],
                        [2922, 893635200000],
                        [3026, 924307200000],
                        [3012, 954979200000],
                        [2953, 985564800000],
                        [2709, 1016150400000],
                        [1325, 1046736000000],
                        [1453, 1077321600000],
                        [2922, 1107993600000],
                        [1748, 1138665600000],
                        [3529, 1169251200000],
                        [3474, 1199923200000],
                        [2726, 1230508800000],
                        [2390, 1261094400000],
                        [686, 1291680000000],
                        [1389, 1322265600000],
                        [874, 1352937600000],
                        [2901, 1383523200000],
                        [2730, 1414195200000],
                        [2381, 1444780800000],
                        [1181, 1475366400000],
                        [2397, 1505952000000],
                        [698, 1536624000000],
                        [1461, 1567209600000],
                        [1450, 1597881600000],
                        [3413, 1628467200000],
                        [2714, 1659139200000],
                        [2350, 1689724800000],
                        [622, 1720310400000],
                        [1373, 1750896000000],
                        [2778, 1781568000000],
                        [1748, 1812240000000],
                        [1701, 1842825600000],
                        [0, 1873411200000]
                    ],
                    minDate: -2198707200000,
                    maxDate: 1873411199999,
                    toGregorian: function(hyear, hmonth, hday) {
                        var days = hday - 1,
                            gyear = hyear - 1318;
                        if (gyear < 0 || gyear >= this._yearInfo.length) return null;
                        var info = this._yearInfo[gyear],
                            gdate = new Date(info[1]),
                            monthLength = info[0];
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the gregorian date in the same timezone,
                        // not what the gregorian date was at GMT time, so we adjust for the offset.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        for (var i = 0; i < hmonth; i++) {
                            days += 29 + (monthLength & 1);
                            monthLength = monthLength >> 1;
                        }
                        gdate.setDate(gdate.getDate() + days);
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the hijri date in the same timezone,
                        // not what the hijri date was at GMT time, so we adjust for the offset.
                        var ticks = gdate - gdate.getTimezoneOffset() * 60000;
                        if (ticks < this.minDate || ticks > this.maxDate) return null;
                        var hyear = 0,
                            hmonth = 1;
                        // find the earliest gregorian date in the array that is greater than or equal to the given date
                        while (ticks > this._yearInfo[++hyear][1]) { }
                        if (ticks !== this._yearInfo[hyear][1]) {
                            hyear--;
                        }
                        var info = this._yearInfo[hyear],
                            // how many days has it been since the date we found in the array?
                            // 86400000 = ticks per day
                            days = Math.floor((ticks - info[1]) / 86400000),
                            monthLength = info[0];
                        hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
                        // now increment day/month based on the total days, considering
                        // how many days are in each month. We cannot run past the year
                        // mark since we would have found a different array entry in that case.
                        var daysInMonth = 29 + (monthLength & 1);
                        while (days >= daysInMonth) {
                            days -= daysInMonth;
                            monthLength = monthLength >> 1;
                            daysInMonth = 29 + (monthLength & 1);
                            hmonth++;
                        }
                        // remaining days is less than is in one month, thus is the day of the month we landed on
                        // hmonth-1 because in javascript months are zero based, stay consistent with that.
                        return [hyear, hmonth - 1, days + 1];
                    }
			}
		},
		Hijri: {
			name: "Hijri",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MM/yyyy hh:mm tt",
				F: "dd/MM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		Gregorian_MiddleEastFrench: {
			name: "Gregorian_MiddleEastFrench",
			firstDay: 6,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Gregorian_Arabic: {
			name: "Gregorian_Arabic",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
				namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		},
		Gregorian_TransliteratedFrench: {
			name: "Gregorian_TransliteratedFrench",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		}
	}
});

Globalize.addCultureInfo( "es-UY", "default", {
	name: "es-UY",
	englishName: "Spanish (Uruguay)",
	nativeName: "Español (Uruguay)",
	language: "es",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["($ n)","$ n"],
			",": ".",
			".": ",",
			symbol: "$U"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sá"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt",
				F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ar-BH", "default", {
	name: "ar-BH",
	englishName: "Arabic (Bahrain)",
	nativeName: "العربية (البحرين)",
	language: "ar",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		decimals: 3,
		"NaN": "ليس برقم",
		negativeInfinity: "-لا نهاية",
		positiveInfinity: "+لا نهاية",
		percent: {
			decimals: 3
		},
		currency: {
			pattern: ["$n-","$ n"],
			decimals: 3,
			symbol: "د.ب.\u200f"
		}
	},
	calendars: {
		standard: {
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM, yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM, yyyy hh:mm tt",
				F: "dd MMMM, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		UmAlQura: {
			name: "UmAlQura",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MMMM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MMMM/yyyy hh:mm tt",
				F: "dd/MMMM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    _yearInfo: [
                        // MonthLengthFlags, Gregorian Date
                        [746, -2198707200000],
                        [1769, -2168121600000],
                        [3794, -2137449600000],
                        [3748, -2106777600000],
                        [3402, -2076192000000],
                        [2710, -2045606400000],
                        [1334, -2015020800000],
                        [2741, -1984435200000],
                        [3498, -1953763200000],
                        [2980, -1923091200000],
                        [2889, -1892505600000],
                        [2707, -1861920000000],
                        [1323, -1831334400000],
                        [2647, -1800748800000],
                        [1206, -1770076800000],
                        [2741, -1739491200000],
                        [1450, -1708819200000],
                        [3413, -1678233600000],
                        [3370, -1647561600000],
                        [2646, -1616976000000],
                        [1198, -1586390400000],
                        [2397, -1555804800000],
                        [748, -1525132800000],
                        [1749, -1494547200000],
                        [1706, -1463875200000],
                        [1365, -1433289600000],
                        [1195, -1402704000000],
                        [2395, -1372118400000],
                        [698, -1341446400000],
                        [1397, -1310860800000],
                        [2994, -1280188800000],
                        [1892, -1249516800000],
                        [1865, -1218931200000],
                        [1621, -1188345600000],
                        [683, -1157760000000],
                        [1371, -1127174400000],
                        [2778, -1096502400000],
                        [1748, -1065830400000],
                        [3785, -1035244800000],
                        [3474, -1004572800000],
                        [3365, -973987200000],
                        [2637, -943401600000],
                        [685, -912816000000],
                        [1389, -882230400000],
                        [2922, -851558400000],
                        [2898, -820886400000],
                        [2725, -790300800000],
                        [2635, -759715200000],
                        [1175, -729129600000],
                        [2359, -698544000000],
                        [694, -667872000000],
                        [1397, -637286400000],
                        [3434, -606614400000],
                        [3410, -575942400000],
                        [2710, -545356800000],
                        [2349, -514771200000],
                        [605, -484185600000],
                        [1245, -453600000000],
                        [2778, -422928000000],
                        [1492, -392256000000],
                        [3497, -361670400000],
                        [3410, -330998400000],
                        [2730, -300412800000],
                        [1238, -269827200000],
                        [2486, -239241600000],
                        [884, -208569600000],
                        [1897, -177984000000],
                        [1874, -147312000000],
                        [1701, -116726400000],
                        [1355, -86140800000],
                        [2731, -55555200000],
                        [1370, -24883200000],
                        [2773, 5702400000],
                        [3538, 36374400000],
                        [3492, 67046400000],
                        [3401, 97632000000],
                        [2709, 128217600000],
                        [1325, 158803200000],
                        [2653, 189388800000],
                        [1370, 220060800000],
                        [2773, 250646400000],
                        [1706, 281318400000],
                        [1685, 311904000000],
                        [1323, 342489600000],
                        [2647, 373075200000],
                        [1198, 403747200000],
                        [2422, 434332800000],
                        [1388, 465004800000],
                        [2901, 495590400000],
                        [2730, 526262400000],
                        [2645, 556848000000],
                        [1197, 587433600000],
                        [2397, 618019200000],
                        [730, 648691200000],
                        [1497, 679276800000],
                        [3506, 709948800000],
                        [2980, 740620800000],
                        [2890, 771206400000],
                        [2645, 801792000000],
                        [693, 832377600000],
                        [1397, 862963200000],
                        [2922, 893635200000],
                        [3026, 924307200000],
                        [3012, 954979200000],
                        [2953, 985564800000],
                        [2709, 1016150400000],
                        [1325, 1046736000000],
                        [1453, 1077321600000],
                        [2922, 1107993600000],
                        [1748, 1138665600000],
                        [3529, 1169251200000],
                        [3474, 1199923200000],
                        [2726, 1230508800000],
                        [2390, 1261094400000],
                        [686, 1291680000000],
                        [1389, 1322265600000],
                        [874, 1352937600000],
                        [2901, 1383523200000],
                        [2730, 1414195200000],
                        [2381, 1444780800000],
                        [1181, 1475366400000],
                        [2397, 1505952000000],
                        [698, 1536624000000],
                        [1461, 1567209600000],
                        [1450, 1597881600000],
                        [3413, 1628467200000],
                        [2714, 1659139200000],
                        [2350, 1689724800000],
                        [622, 1720310400000],
                        [1373, 1750896000000],
                        [2778, 1781568000000],
                        [1748, 1812240000000],
                        [1701, 1842825600000],
                        [0, 1873411200000]
                    ],
                    minDate: -2198707200000,
                    maxDate: 1873411199999,
                    toGregorian: function(hyear, hmonth, hday) {
                        var days = hday - 1,
                            gyear = hyear - 1318;
                        if (gyear < 0 || gyear >= this._yearInfo.length) return null;
                        var info = this._yearInfo[gyear],
                            gdate = new Date(info[1]),
                            monthLength = info[0];
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the gregorian date in the same timezone,
                        // not what the gregorian date was at GMT time, so we adjust for the offset.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        for (var i = 0; i < hmonth; i++) {
                            days += 29 + (monthLength & 1);
                            monthLength = monthLength >> 1;
                        }
                        gdate.setDate(gdate.getDate() + days);
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the hijri date in the same timezone,
                        // not what the hijri date was at GMT time, so we adjust for the offset.
                        var ticks = gdate - gdate.getTimezoneOffset() * 60000;
                        if (ticks < this.minDate || ticks > this.maxDate) return null;
                        var hyear = 0,
                            hmonth = 1;
                        // find the earliest gregorian date in the array that is greater than or equal to the given date
                        while (ticks > this._yearInfo[++hyear][1]) { }
                        if (ticks !== this._yearInfo[hyear][1]) {
                            hyear--;
                        }
                        var info = this._yearInfo[hyear],
                            // how many days has it been since the date we found in the array?
                            // 86400000 = ticks per day
                            days = Math.floor((ticks - info[1]) / 86400000),
                            monthLength = info[0];
                        hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
                        // now increment day/month based on the total days, considering
                        // how many days are in each month. We cannot run past the year
                        // mark since we would have found a different array entry in that case.
                        var daysInMonth = 29 + (monthLength & 1);
                        while (days >= daysInMonth) {
                            days -= daysInMonth;
                            monthLength = monthLength >> 1;
                            daysInMonth = 29 + (monthLength & 1);
                            hmonth++;
                        }
                        // remaining days is less than is in one month, thus is the day of the month we landed on
                        // hmonth-1 because in javascript months are zero based, stay consistent with that.
                        return [hyear, hmonth - 1, days + 1];
                    }
			}
		},
		Hijri: {
			name: "Hijri",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MM/yyyy hh:mm tt",
				F: "dd/MM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		Gregorian_MiddleEastFrench: {
			name: "Gregorian_MiddleEastFrench",
			firstDay: 6,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Gregorian_Arabic: {
			name: "Gregorian_Arabic",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
				namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		},
		Gregorian_TransliteratedFrench: {
			name: "Gregorian_TransliteratedFrench",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		}
	}
});

Globalize.addCultureInfo( "es-PY", "default", {
	name: "es-PY",
	englishName: "Spanish (Paraguay)",
	nativeName: "Español (Paraguay)",
	language: "es",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["($ n)","$ n"],
			",": ".",
			".": ",",
			symbol: "Gs"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sá"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt",
				F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "ar-QA", "default", {
	name: "ar-QA",
	englishName: "Arabic (Qatar)",
	nativeName: "العربية (قطر)",
	language: "ar",
	isRTL: true,
	numberFormat: {
		pattern: ["n-"],
		"NaN": "ليس برقم",
		negativeInfinity: "-لا نهاية",
		positiveInfinity: "+لا نهاية",
		currency: {
			pattern: ["$n-","$ n"],
			symbol: "ر.ق.\u200f"
		}
	},
	calendars: {
		standard: {
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dd MMMM, yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd MMMM, yyyy hh:mm tt",
				F: "dd MMMM, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		UmAlQura: {
			name: "UmAlQura",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MMMM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MMMM/yyyy hh:mm tt",
				F: "dd/MMMM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    _yearInfo: [
                        // MonthLengthFlags, Gregorian Date
                        [746, -2198707200000],
                        [1769, -2168121600000],
                        [3794, -2137449600000],
                        [3748, -2106777600000],
                        [3402, -2076192000000],
                        [2710, -2045606400000],
                        [1334, -2015020800000],
                        [2741, -1984435200000],
                        [3498, -1953763200000],
                        [2980, -1923091200000],
                        [2889, -1892505600000],
                        [2707, -1861920000000],
                        [1323, -1831334400000],
                        [2647, -1800748800000],
                        [1206, -1770076800000],
                        [2741, -1739491200000],
                        [1450, -1708819200000],
                        [3413, -1678233600000],
                        [3370, -1647561600000],
                        [2646, -1616976000000],
                        [1198, -1586390400000],
                        [2397, -1555804800000],
                        [748, -1525132800000],
                        [1749, -1494547200000],
                        [1706, -1463875200000],
                        [1365, -1433289600000],
                        [1195, -1402704000000],
                        [2395, -1372118400000],
                        [698, -1341446400000],
                        [1397, -1310860800000],
                        [2994, -1280188800000],
                        [1892, -1249516800000],
                        [1865, -1218931200000],
                        [1621, -1188345600000],
                        [683, -1157760000000],
                        [1371, -1127174400000],
                        [2778, -1096502400000],
                        [1748, -1065830400000],
                        [3785, -1035244800000],
                        [3474, -1004572800000],
                        [3365, -973987200000],
                        [2637, -943401600000],
                        [685, -912816000000],
                        [1389, -882230400000],
                        [2922, -851558400000],
                        [2898, -820886400000],
                        [2725, -790300800000],
                        [2635, -759715200000],
                        [1175, -729129600000],
                        [2359, -698544000000],
                        [694, -667872000000],
                        [1397, -637286400000],
                        [3434, -606614400000],
                        [3410, -575942400000],
                        [2710, -545356800000],
                        [2349, -514771200000],
                        [605, -484185600000],
                        [1245, -453600000000],
                        [2778, -422928000000],
                        [1492, -392256000000],
                        [3497, -361670400000],
                        [3410, -330998400000],
                        [2730, -300412800000],
                        [1238, -269827200000],
                        [2486, -239241600000],
                        [884, -208569600000],
                        [1897, -177984000000],
                        [1874, -147312000000],
                        [1701, -116726400000],
                        [1355, -86140800000],
                        [2731, -55555200000],
                        [1370, -24883200000],
                        [2773, 5702400000],
                        [3538, 36374400000],
                        [3492, 67046400000],
                        [3401, 97632000000],
                        [2709, 128217600000],
                        [1325, 158803200000],
                        [2653, 189388800000],
                        [1370, 220060800000],
                        [2773, 250646400000],
                        [1706, 281318400000],
                        [1685, 311904000000],
                        [1323, 342489600000],
                        [2647, 373075200000],
                        [1198, 403747200000],
                        [2422, 434332800000],
                        [1388, 465004800000],
                        [2901, 495590400000],
                        [2730, 526262400000],
                        [2645, 556848000000],
                        [1197, 587433600000],
                        [2397, 618019200000],
                        [730, 648691200000],
                        [1497, 679276800000],
                        [3506, 709948800000],
                        [2980, 740620800000],
                        [2890, 771206400000],
                        [2645, 801792000000],
                        [693, 832377600000],
                        [1397, 862963200000],
                        [2922, 893635200000],
                        [3026, 924307200000],
                        [3012, 954979200000],
                        [2953, 985564800000],
                        [2709, 1016150400000],
                        [1325, 1046736000000],
                        [1453, 1077321600000],
                        [2922, 1107993600000],
                        [1748, 1138665600000],
                        [3529, 1169251200000],
                        [3474, 1199923200000],
                        [2726, 1230508800000],
                        [2390, 1261094400000],
                        [686, 1291680000000],
                        [1389, 1322265600000],
                        [874, 1352937600000],
                        [2901, 1383523200000],
                        [2730, 1414195200000],
                        [2381, 1444780800000],
                        [1181, 1475366400000],
                        [2397, 1505952000000],
                        [698, 1536624000000],
                        [1461, 1567209600000],
                        [1450, 1597881600000],
                        [3413, 1628467200000],
                        [2714, 1659139200000],
                        [2350, 1689724800000],
                        [622, 1720310400000],
                        [1373, 1750896000000],
                        [2778, 1781568000000],
                        [1748, 1812240000000],
                        [1701, 1842825600000],
                        [0, 1873411200000]
                    ],
                    minDate: -2198707200000,
                    maxDate: 1873411199999,
                    toGregorian: function(hyear, hmonth, hday) {
                        var days = hday - 1,
                            gyear = hyear - 1318;
                        if (gyear < 0 || gyear >= this._yearInfo.length) return null;
                        var info = this._yearInfo[gyear],
                            gdate = new Date(info[1]),
                            monthLength = info[0];
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the gregorian date in the same timezone,
                        // not what the gregorian date was at GMT time, so we adjust for the offset.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        for (var i = 0; i < hmonth; i++) {
                            days += 29 + (monthLength & 1);
                            monthLength = monthLength >> 1;
                        }
                        gdate.setDate(gdate.getDate() + days);
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        // Date's ticks in javascript are always from the GMT time,
                        // but we are interested in the hijri date in the same timezone,
                        // not what the hijri date was at GMT time, so we adjust for the offset.
                        var ticks = gdate - gdate.getTimezoneOffset() * 60000;
                        if (ticks < this.minDate || ticks > this.maxDate) return null;
                        var hyear = 0,
                            hmonth = 1;
                        // find the earliest gregorian date in the array that is greater than or equal to the given date
                        while (ticks > this._yearInfo[++hyear][1]) { }
                        if (ticks !== this._yearInfo[hyear][1]) {
                            hyear--;
                        }
                        var info = this._yearInfo[hyear],
                            // how many days has it been since the date we found in the array?
                            // 86400000 = ticks per day
                            days = Math.floor((ticks - info[1]) / 86400000),
                            monthLength = info[0];
                        hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
                        // now increment day/month based on the total days, considering
                        // how many days are in each month. We cannot run past the year
                        // mark since we would have found a different array entry in that case.
                        var daysInMonth = 29 + (monthLength & 1);
                        while (days >= daysInMonth) {
                            days -= daysInMonth;
                            monthLength = monthLength >> 1;
                            daysInMonth = 29 + (monthLength & 1);
                            hmonth++;
                        }
                        // remaining days is less than is in one month, thus is the day of the month we landed on
                        // hmonth-1 because in javascript months are zero based, stay consistent with that.
                        return [hyear, hmonth - 1, days + 1];
                    }
			}
		},
		Hijri: {
			name: "Hijri",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
				namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
			twoDigitYearMax: 1451,
			patterns: {
				d: "dd/MM/yy",
				D: "dd/MM/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dd/MM/yyyy hh:mm tt",
				F: "dd/MM/yyyy hh:mm:ss tt",
				M: "dd MMMM"
			},
			convert: {
                    // Adapted to Script from System.Globalization.HijriCalendar
                    ticks1970: 62135596800000,
                    // number of days leading up to each month
                    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
                    minDate: -42521673600000,
                    maxDate: 253402300799999,
                    // The number of days to add or subtract from the calendar to accommodate the variances
                    // in the start and the end of Ramadan and to accommodate the date difference between
                    // countries/regions. May be dynamically adjusted based on user preference, but should
                    // remain in the range of -2 to 2, inclusive.
                    hijriAdjustment: 0,
                    toGregorian: function(hyear, hmonth, hday) {
                        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
                        // 86400000 = ticks per day
                        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
                        // adjust for timezone, because we are interested in the gregorian date for the same timezone
                        // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
                        // date in the current timezone.
                        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
                        return gdate;
                    },
                    fromGregorian: function(gdate) {
                        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
                        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
                            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
                        // very particular formula determined by someone smart, adapted from the server-side implementation.
                        // it approximates the hijri year.
                        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
                            absDays = this.daysToYear(hyear),
                            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
                        // hyear is just approximate, it may need adjustment up or down by 1.
                        if (daysSinceJan0101 < absDays) {
                            hyear--;
                            absDays -= daysInYear;
                        }
                        else if (daysSinceJan0101 === absDays) {
                            hyear--;
                            absDays = this.daysToYear(hyear);
                        }
                        else {
                            if (daysSinceJan0101 > (absDays + daysInYear)) {
                                absDays += daysInYear;
                                hyear++;
                            }
                        }
                        // determine month by looking at how many days into the hyear we are
                        // monthDays contains the number of days up to each month.
                        hmonth = 0;
                        var daysIntoYear = daysSinceJan0101 - absDays;
                        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
                            hmonth++;
                        }
                        hmonth--;
                        hday = daysIntoYear - this.monthDays[hmonth];
                        return [hyear, hmonth, hday];
                    },
                    daysToYear: function(year) {
                        // calculates how many days since Jan 1, 0001
                        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
                            yearsInto30 = year - yearsToYear30 - 1,
                            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
                        while (yearsInto30 > 0) {
                            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
                            yearsInto30--;
                        }
                        return days;
                    },
                    isLeapYear: function(year) {
                        return ((((year * 11) + 14) % 30) < 11);
                    }
			}
		},
		Gregorian_MiddleEastFrench: {
			name: "Gregorian_MiddleEastFrench",
			firstDay: 6,
			days: {
				names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
				namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
				namesShort: ["di","lu","ma","me","je","ve","sa"]
			},
			months: {
				names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
				namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
				M: "dd MMMM"
			}
		},
		Gregorian_Arabic: {
			name: "Gregorian_Arabic",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
				namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		},
		Gregorian_TransliteratedFrench: {
			name: "Gregorian_TransliteratedFrench",
			firstDay: 6,
			days: {
				names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
				namesShort: ["ح","ن","ث","ر","خ","ج","س"]
			},
			months: {
				names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
				namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
			},
			AM: ["ص","ص","ص"],
			PM: ["م","م","م"],
			eras: [{"name":"م","start":null,"offset":0}],
			patterns: {
				d: "MM/dd/yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, MMMM dd, yyyy hh:mm tt",
				F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
			}
		}
	}
});

Globalize.addCultureInfo( "en-IN", "default", {
	name: "en-IN",
	englishName: "English (India)",
	nativeName: "English (India)",
	numberFormat: {
		groupSizes: [3,2],
		percent: {
			groupSizes: [3,2]
		},
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,2],
			symbol: "Rs."
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			patterns: {
				d: "dd-MM-yyyy",
				D: "dd MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "dd MMMM yyyy HH:mm",
				F: "dd MMMM yyyy HH:mm:ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "es-BO", "default", {
	name: "es-BO",
	englishName: "Spanish (Bolivia)",
	nativeName: "Español (Bolivia)",
	language: "es",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["($ n)","$ n"],
			",": ".",
			".": ",",
			symbol: "$b"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sá"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt",
				F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "en-MY", "default", {
	name: "en-MY",
	englishName: "English (Malaysia)",
	nativeName: "English (Malaysia)",
	numberFormat: {
		percent: {
			pattern: ["-n%","n%"]
		},
		currency: {
			symbol: "RM"
		}
	},
	calendars: {
		standard: {
			days: {
				namesShort: ["S","M","T","W","T","F","S"]
			},
			patterns: {
				d: "d/M/yyyy",
				D: "dddd, d MMMM, yyyy",
				f: "dddd, d MMMM, yyyy h:mm tt",
				F: "dddd, d MMMM, yyyy h:mm:ss tt",
				M: "d MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "es-SV", "default", {
	name: "es-SV",
	englishName: "Spanish (El Salvador)",
	nativeName: "Español (El Salvador)",
	language: "es",
	numberFormat: {
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		currency: {
			groupSizes: [3,0]
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sá"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt",
				F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "en-SG", "default", {
	name: "en-SG",
	englishName: "English (Singapore)",
	nativeName: "English (Singapore)",
	numberFormat: {
		percent: {
			pattern: ["-n%","n%"]
		}
	},
	calendars: {
		standard: {
			days: {
				namesShort: ["S","M","T","W","T","F","S"]
			},
			patterns: {
				d: "d/M/yyyy",
				D: "dddd, d MMMM, yyyy",
				f: "dddd, d MMMM, yyyy h:mm tt",
				F: "dddd, d MMMM, yyyy h:mm:ss tt",
				M: "d MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "es-HN", "default", {
	name: "es-HN",
	englishName: "Spanish (Honduras)",
	nativeName: "Español (Honduras)",
	language: "es",
	numberFormat: {
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		currency: {
			pattern: ["$ -n","$ n"],
			groupSizes: [3,0],
			symbol: "L."
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sá"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt",
				F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "es-NI", "default", {
	name: "es-NI",
	englishName: "Spanish (Nicaragua)",
	nativeName: "Español (Nicaragua)",
	language: "es",
	numberFormat: {
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		currency: {
			pattern: ["($ n)","$ n"],
			groupSizes: [3,0],
			symbol: "C$"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sá"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt",
				F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "es-PR", "default", {
	name: "es-PR",
	englishName: "Spanish (Puerto Rico)",
	nativeName: "Español (Puerto Rico)",
	language: "es",
	numberFormat: {
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		currency: {
			pattern: ["($ n)","$ n"],
			groupSizes: [3,0]
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sá"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			AM: ["a.m.","a.m.","A.M."],
			PM: ["p.m.","p.m.","P.M."],
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				d: "dd/MM/yyyy",
				D: "dddd, dd' de 'MMMM' de 'yyyy",
				t: "hh:mm tt",
				T: "hh:mm:ss tt",
				f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt",
				F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt",
				M: "dd MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "es-US", "default", {
	name: "es-US",
	englishName: "Spanish (United States)",
	nativeName: "Español (Estados Unidos)",
	language: "es",
	numberFormat: {
		groupSizes: [3,0],
		"NaN": "NeuN",
		negativeInfinity: "-Infinito",
		positiveInfinity: "Infinito",
		percent: {
			groupSizes: [3,0]
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
				namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
				namesShort: ["do","lu","ma","mi","ju","vi","sa"]
			},
			months: {
				names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
				namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
			},
			eras: [{"name":"d.C.","start":null,"offset":0}],
			patterns: {
				M: "dd' de 'MMMM",
				Y: "MMMM' de 'yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "bs-Cyrl", "default", {
	name: "bs-Cyrl",
	englishName: "Bosnian (Cyrillic)",
	nativeName: "босански",
	language: "bs-Cyrl",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-бесконачност",
		positiveInfinity: "+бесконачност",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "КМ"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["недјеља","понедјељак","уторак","сриједа","четвртак","петак","субота"],
				namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"],
				namesShort: ["н","п","у","с","ч","п","с"]
			},
			months: {
				names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""],
				namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"н.е.","start":null,"offset":0}],
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy H:mm",
				F: "d. MMMM yyyy H:mm:ss",
				M: "d. MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "bs-Latn", "default", {
	name: "bs-Latn",
	englishName: "Bosnian (Latin)",
	nativeName: "bosanski",
	language: "bs-Latn",
	numberFormat: {
		",": ".",
		".": ",",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "KM"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"],
				namesAbbr: ["ned","pon","uto","sri","čet","pet","sub"],
				namesShort: ["ne","po","ut","sr","če","pe","su"]
			},
			months: {
				names: ["januar","februar","mart","april","maj","juni","juli","avgust","septembar","oktobar","novembar","decembar",""],
				namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy H:mm",
				F: "d. MMMM yyyy H:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "sr-Cyrl", "default", {
	name: "sr-Cyrl",
	englishName: "Serbian (Cyrillic)",
	nativeName: "српски",
	language: "sr-Cyrl",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-бесконачност",
		positiveInfinity: "+бесконачност",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "Дин."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["недеља","понедељак","уторак","среда","четвртак","петак","субота"],
				namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"],
				namesShort: ["не","по","ут","ср","че","пе","су"]
			},
			months: {
				names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""],
				namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"н.е.","start":null,"offset":0}],
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy H:mm",
				F: "d. MMMM yyyy H:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "sr-Latn", "default", {
	name: "sr-Latn",
	englishName: "Serbian (Latin)",
	nativeName: "srpski",
	language: "sr-Latn",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-beskonačnost",
		positiveInfinity: "+beskonačnost",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "Din."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"],
				namesAbbr: ["ned","pon","uto","sre","čet","pet","sub"],
				namesShort: ["ne","po","ut","sr","če","pe","su"]
			},
			months: {
				names: ["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar",""],
				namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"n.e.","start":null,"offset":0}],
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy H:mm",
				F: "d. MMMM yyyy H:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "smn", "default", {
	name: "smn",
	englishName: "Sami (Inari)",
	nativeName: "sämikielâ",
	language: "smn",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["pasepeivi","vuossargâ","majebargâ","koskokko","tuorâstâh","vástuppeivi","lávárdâh"],
				namesAbbr: ["pa","vu","ma","ko","tu","vá","lá"],
				namesShort: ["p","v","m","k","t","v","l"]
			},
			months: {
				names: ["uđđâivemáánu","kuovâmáánu","njuhčâmáánu","cuáŋuimáánu","vyesimáánu","kesimáánu","syeinimáánu","porgemáánu","čohčâmáánu","roovvâdmáánu","skammâmáánu","juovlâmáánu",""],
				namesAbbr: ["uđiv","kuov","njuh","cuoŋ","vyes","kesi","syei","porg","čoh","roov","ska","juov",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d.M.yyyy",
				D: "MMMM d'. p. 'yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "MMMM d'. p. 'yyyy H:mm",
				F: "MMMM d'. p. 'yyyy H:mm:ss",
				M: "MMMM d'. p. '",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "az-Cyrl", "default", {
	name: "az-Cyrl",
	englishName: "Azeri (Cyrillic)",
	nativeName: "Азәрбајҹан дили",
	language: "az-Cyrl",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "ман."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Базар","Базар ертәси","Чәршәнбә ахшамы","Чәршәнбә","Ҹүмә ахшамы","Ҹүмә","Шәнбә"],
				namesAbbr: ["Б","Бе","Ча","Ч","Ҹа","Ҹ","Ш"],
				namesShort: ["Б","Бе","Ча","Ч","Ҹа","Ҹ","Ш"]
			},
			months: {
				names: ["Јанвар","Феврал","Март","Апрел","Мај","Ијун","Ијул","Август","Сентјабр","Октјабр","Нојабр","Декабр",""],
				namesAbbr: ["Јан","Фев","Мар","Апр","Мај","Ијун","Ијул","Авг","Сен","Окт","Ноя","Дек",""]
			},
			monthsGenitive: {
				names: ["јанвар","феврал","март","апрел","мај","ијун","ијул","август","сентјабр","октјабр","нојабр","декабр",""],
				namesAbbr: ["Јан","Фев","Мар","Апр","мая","ијун","ијул","Авг","Сен","Окт","Ноя","Дек",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM yyyy H:mm",
				F: "d MMMM yyyy H:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "sms", "default", {
	name: "sms",
	englishName: "Sami (Skolt)",
	nativeName: "sääm´ǩiõll",
	language: "sms",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["pâ´sspei´vv","vuõssargg","mââibargg","seärad","nelljdpei´vv","piâtnâc","sue´vet"],
				namesAbbr: ["pâ","vu","mâ","se","ne","pi","su"],
				namesShort: ["p","v","m","s","n","p","s"]
			},
			months: {
				names: ["ođđee´jjmään","tä´lvvmään","pâ´zzlâšttammään","njuhččmään","vue´ssmään","ǩie´ssmään","suei´nnmään","på´rǧǧmään","čõhččmään","kålggmään","skamm´mään","rosttovmään",""],
				namesAbbr: ["ođjm","tä´lvv","pâzl","njuh","vue","ǩie","suei","på´r","čõh","kålg","ska","rost",""]
			},
			monthsGenitive: {
				names: ["ođđee´jjmannu","tä´lvvmannu","pâ´zzlâšttammannu","njuhččmannu","vue´ssmannu","ǩie´ssmannu","suei´nnmannu","på´rǧǧmannu","čõhččmannu","kålggmannu","skamm´mannu","rosttovmannu",""],
				namesAbbr: ["ođjm","tä´lvv","pâzl","njuh","vue","ǩie","suei","på´r","čõh","kålg","ska","rost",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d.M.yyyy",
				D: "MMMM d'. p. 'yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "MMMM d'. p. 'yyyy H:mm",
				F: "MMMM d'. p. 'yyyy H:mm:ss",
				M: "MMMM d'. p. '",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "zh", "default", {
	name: "zh",
	englishName: "Chinese",
	nativeName: "中文",
	language: "zh",
	numberFormat: {
		"NaN": "非数字",
		negativeInfinity: "负无穷大",
		positiveInfinity: "正无穷大",
		percent: {
			pattern: ["-n%","n%"]
		},
		currency: {
			pattern: ["$-n","$n"],
			symbol: "¥"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],
				namesAbbr: ["周日","周一","周二","周三","周四","周五","周六"],
				namesShort: ["日","一","二","三","四","五","六"]
			},
			months: {
				names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""],
				namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""]
			},
			AM: ["上午","上午","上午"],
			PM: ["下午","下午","下午"],
			eras: [{"name":"公元","start":null,"offset":0}],
			patterns: {
				d: "yyyy/M/d",
				D: "yyyy'年'M'月'd'日'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy'年'M'月'd'日' H:mm",
				F: "yyyy'年'M'月'd'日' H:mm:ss",
				M: "M'月'd'日'",
				Y: "yyyy'年'M'月'"
			}
		}
	}
});

Globalize.addCultureInfo( "nn", "default", {
	name: "nn",
	englishName: "Norwegian (Nynorsk)",
	nativeName: "norsk (nynorsk)",
	language: "nn",
	numberFormat: {
		",": " ",
		".": ",",
		negativeInfinity: "-INF",
		positiveInfinity: "INF",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["$ -n","$ n"],
			",": " ",
			".": ",",
			symbol: "kr"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["søndag","måndag","tysdag","onsdag","torsdag","fredag","laurdag"],
				namesAbbr: ["sø","må","ty","on","to","fr","la"],
				namesShort: ["sø","må","ty","on","to","fr","la"]
			},
			months: {
				names: ["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember",""],
				namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d. MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "d. MMMM yyyy HH:mm",
				F: "d. MMMM yyyy HH:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "bs", "default", {
	name: "bs",
	englishName: "Bosnian",
	nativeName: "bosanski",
	language: "bs",
	numberFormat: {
		",": ".",
		".": ",",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "KM"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"],
				namesAbbr: ["ned","pon","uto","sri","čet","pet","sub"],
				namesShort: ["ne","po","ut","sr","če","pe","su"]
			},
			months: {
				names: ["januar","februar","mart","april","maj","juni","juli","avgust","septembar","oktobar","novembar","decembar",""],
				namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy H:mm",
				F: "d. MMMM yyyy H:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "az-Latn", "default", {
	name: "az-Latn",
	englishName: "Azeri (Latin)",
	nativeName: "Azərbaycan\xadılı",
	language: "az-Latn",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "man."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"],
				namesAbbr: ["B","Be","Ça","Ç","Ca","C","Ş"],
				namesShort: ["B","Be","Ça","Ç","Ca","C","Ş"]
			},
			months: {
				names: ["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avgust","Sentyabr","Oktyabr","Noyabr","Dekabr",""],
				namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""]
			},
			monthsGenitive: {
				names: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""],
				namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM yyyy H:mm",
				F: "d MMMM yyyy H:mm:ss",
				M: "d MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "sma", "default", {
	name: "sma",
	englishName: "Sami (Southern)",
	nativeName: "åarjelsaemiengiele",
	language: "sma",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "kr"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["aejlege","måanta","dæjsta","gaskevåhkoe","duarsta","bearjadahke","laavvardahke"],
				namesAbbr: ["aej","måa","dæj","gask","duar","bearj","laav"],
				namesShort: ["a","m","d","g","d","b","l"]
			},
			months: {
				names: ["tsïengele","goevte","njoktje","voerhtje","suehpede","ruffie","snjaltje","mïetske","skïerede","golke","rahka","goeve",""],
				namesAbbr: ["tsïen","goevt","njok","voer","sueh","ruff","snja","mïet","skïer","golk","rahk","goev",""]
			},
			monthsGenitive: {
				names: ["tsïengelen","goevten","njoktjen","voerhtjen","suehpeden","ruffien","snjaltjen","mïetsken","skïereden","golken","rahkan","goeven",""],
				namesAbbr: ["tsïen","goevt","njok","voer","sueh","ruff","snja","mïet","skïer","golk","rahk","goev",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "yyyy-MM-dd",
				D: "MMMM d'. b. 'yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "MMMM d'. b. 'yyyy HH:mm",
				F: "MMMM d'. b. 'yyyy HH:mm:ss",
				M: "MMMM d'. b. '",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "uz-Cyrl", "default", {
	name: "uz-Cyrl",
	englishName: "Uzbek (Cyrillic)",
	nativeName: "Ўзбек",
	language: "uz-Cyrl",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": " ",
			".": ",",
			symbol: "сўм"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["якшанба","душанба","сешанба","чоршанба","пайшанба","жума","шанба"],
				namesAbbr: ["якш","дш","сш","чш","пш","ж","ш"],
				namesShort: ["я","д","с","ч","п","ж","ш"]
			},
			months: {
				names: ["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр",""],
				namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""]
			},
			monthsGenitive: {
				names: ["январ","феврал","март","апрел","май","июн","июл","август","сентябр","октябр","ноябр","декабр",""],
				namesAbbr: ["Янв","Фев","Мар","Апр","мая","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "yyyy 'йил' d-MMMM",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "yyyy 'йил' d-MMMM HH:mm",
				F: "yyyy 'йил' d-MMMM HH:mm:ss",
				M: "d-MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "mn-Cyrl", "default", {
	name: "mn-Cyrl",
	englishName: "Mongolian (Cyrillic)",
	nativeName: "Монгол хэл",
	language: "mn-Cyrl",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n$","n$"],
			",": " ",
			".": ",",
			symbol: "₮"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["Ням","Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба"],
				namesAbbr: ["Ня","Да","Мя","Лх","Пү","Ба","Бя"],
				namesShort: ["Ня","Да","Мя","Лх","Пү","Ба","Бя"]
			},
			months: {
				names: ["1 дүгээр сар","2 дугаар сар","3 дугаар сар","4 дүгээр сар","5 дугаар сар","6 дугаар сар","7 дугаар сар","8 дугаар сар","9 дүгээр сар","10 дугаар сар","11 дүгээр сар","12 дугаар сар",""],
				namesAbbr: ["I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII",""]
			},
			monthsGenitive: {
				names: ["1 дүгээр сарын","2 дугаар сарын","3 дугаар сарын","4 дүгээр сарын","5 дугаар сарын","6 дугаар сарын","7 дугаар сарын","8 дугаар сарын","9 дүгээр сарын","10 дугаар сарын","11 дүгээр сарын","12 дугаар сарын",""],
				namesAbbr: ["I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "yy.MM.dd",
				D: "yyyy 'оны' MMMM d",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy 'оны' MMMM d H:mm",
				F: "yyyy 'оны' MMMM d H:mm:ss",
				M: "d MMMM",
				Y: "yyyy 'он' MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "iu-Cans", "default", {
	name: "iu-Cans",
	englishName: "Inuktitut (Syllabics)",
	nativeName: "ᐃᓄᒃᑎᑐᑦ",
	language: "iu-Cans",
	numberFormat: {
		groupSizes: [3,0],
		percent: {
			pattern: ["-n%","n%"],
			groupSizes: [3,0]
		},
		currency: {
			groupSizes: [3,0]
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["ᓈᑦᑏᖑᔭ","ᓇᒡᒐᔾᔭᐅ","ᐊᐃᑉᐱᖅ","ᐱᖓᑦᓯᖅ","ᓯᑕᒻᒥᖅ","ᑕᓪᓕᕐᒥᖅ","ᓯᕙᑖᕐᕕᒃ"],
				namesAbbr: ["ᓈᑦᑏ","ᓇᒡᒐ","ᐊᐃᑉᐱ","ᐱᖓᑦᓯ","ᓯᑕ","ᑕᓪᓕ","ᓯᕙᑖᕐᕕᒃ"],
				namesShort: ["ᓈ","ᓇ","ᐊ","ᐱ","ᓯ","ᑕ","ᓯ"]
			},
			months: {
				names: ["ᔮᓐᓄᐊᕆ","ᕖᕝᕗᐊᕆ","ᒫᑦᓯ","ᐄᐳᕆ","ᒪᐃ","ᔫᓂ","ᔪᓚᐃ","ᐋᒡᒌᓯ","ᓯᑎᐱᕆ","ᐅᑐᐱᕆ","ᓄᕕᐱᕆ","ᑎᓯᐱᕆ",""],
				namesAbbr: ["ᔮᓐᓄ","ᕖᕝᕗ","ᒫᑦᓯ","ᐄᐳᕆ","ᒪᐃ","ᔫᓂ","ᔪᓚᐃ","ᐋᒡᒌ","ᓯᑎᐱ","ᐅᑐᐱ","ᓄᕕᐱ","ᑎᓯᐱ",""]
			},
			patterns: {
				d: "d/M/yyyy",
				D: "dddd,MMMM dd,yyyy",
				f: "dddd,MMMM dd,yyyy h:mm tt",
				F: "dddd,MMMM dd,yyyy h:mm:ss tt",
				Y: "MMMM,yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "zh-Hant", "default", {
	name: "zh-Hant",
	englishName: "Chinese (Traditional)",
	nativeName: "中文(繁體)",
	language: "zh-Hant",
	numberFormat: {
		"NaN": "非數字",
		negativeInfinity: "負無窮大",
		positiveInfinity: "正無窮大",
		percent: {
			pattern: ["-n%","n%"]
		},
		currency: {
			symbol: "HK$"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],
				namesAbbr: ["週日","週一","週二","週三","週四","週五","週六"],
				namesShort: ["日","一","二","三","四","五","六"]
			},
			months: {
				names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""],
				namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""]
			},
			AM: ["上午","上午","上午"],
			PM: ["下午","下午","下午"],
			eras: [{"name":"公元","start":null,"offset":0}],
			patterns: {
				d: "d/M/yyyy",
				D: "yyyy'年'M'月'd'日'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy'年'M'月'd'日' H:mm",
				F: "yyyy'年'M'月'd'日' H:mm:ss",
				M: "M'月'd'日'",
				Y: "yyyy'年'M'月'"
			}
		}
	}
});

Globalize.addCultureInfo( "nb", "default", {
	name: "nb",
	englishName: "Norwegian (Bokmål)",
	nativeName: "norsk (bokmål)",
	language: "nb",
	numberFormat: {
		",": " ",
		".": ",",
		negativeInfinity: "-INF",
		positiveInfinity: "INF",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["$ -n","$ n"],
			",": " ",
			".": ",",
			symbol: "kr"
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],
				namesAbbr: ["sø","ma","ti","on","to","fr","lø"],
				namesShort: ["sø","ma","ti","on","to","fr","lø"]
			},
			months: {
				names: ["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember",""],
				namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yyyy",
				D: "d. MMMM yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "d. MMMM yyyy HH:mm",
				F: "d. MMMM yyyy HH:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "sr", "default", {
	name: "sr",
	englishName: "Serbian",
	nativeName: "srpski",
	language: "sr",
	numberFormat: {
		",": ".",
		".": ",",
		negativeInfinity: "-beskonačnost",
		positiveInfinity: "+beskonačnost",
		percent: {
			pattern: ["-n%","n%"],
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "Din."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			firstDay: 1,
			days: {
				names: ["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"],
				namesAbbr: ["ned","pon","uto","sre","čet","pet","sub"],
				namesShort: ["ne","po","ut","sr","če","pe","su"]
			},
			months: {
				names: ["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar",""],
				namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"n.e.","start":null,"offset":0}],
			patterns: {
				d: "d.M.yyyy",
				D: "d. MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d. MMMM yyyy H:mm",
				F: "d. MMMM yyyy H:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "tg-Cyrl", "default", {
	name: "tg-Cyrl",
	englishName: "Tajik (Cyrillic)",
	nativeName: "Тоҷикӣ",
	language: "tg-Cyrl",
	numberFormat: {
		",": " ",
		".": ",",
		groupSizes: [3,0],
		negativeInfinity: "-бесконечность",
		positiveInfinity: "бесконечность",
		percent: {
			pattern: ["-n%","n%"],
			groupSizes: [3,0],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			groupSizes: [3,0],
			",": " ",
			".": ";",
			symbol: "т.р."
		}
	},
	calendars: {
		standard: {
			"/": ".",
			days: {
				names: ["Яш","Душанбе","Сешанбе","Чоршанбе","Панҷшанбе","Ҷумъа","Шанбе"],
				namesAbbr: ["Яш","Дш","Сш","Чш","Пш","Ҷм","Шн"],
				namesShort: ["Яш","Дш","Сш","Чш","Пш","Ҷм","Шн"]
			},
			months: {
				names: ["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр",""],
				namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""]
			},
			monthsGenitive: {
				names: ["январи","феврали","марти","апрели","маи","июни","июли","августи","сентябри","октябри","ноябри","декабри",""],
				namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd.MM.yy",
				D: "d MMMM yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "d MMMM yyyy H:mm",
				F: "d MMMM yyyy H:mm:ss",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "dsb", "default", {
	name: "dsb",
	englishName: "Lower Sorbian",
	nativeName: "dolnoserbšćina",
	language: "dsb",
	numberFormat: {
		",": ".",
		".": ",",
		"NaN": "njedefinowane",
		negativeInfinity: "-njekońcne",
		positiveInfinity: "+njekońcne",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "€"
		}
	},
	calendars: {
		standard: {
			"/": ". ",
			firstDay: 1,
			days: {
				names: ["njeźela","ponjeźele","wałtora","srjoda","stwortk","pětk","sobota"],
				namesAbbr: ["nje","pon","wał","srj","stw","pět","sob"],
				namesShort: ["n","p","w","s","s","p","s"]
			},
			months: {
				names: ["januar","februar","měrc","apryl","maj","junij","julij","awgust","september","oktober","nowember","december",""],
				namesAbbr: ["jan","feb","měr","apr","maj","jun","jul","awg","sep","okt","now","dec",""]
			},
			monthsGenitive: {
				names: ["januara","februara","měrca","apryla","maja","junija","julija","awgusta","septembra","oktobra","nowembra","decembra",""],
				namesAbbr: ["jan","feb","měr","apr","maj","jun","jul","awg","sep","okt","now","dec",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"po Chr.","start":null,"offset":0}],
			patterns: {
				d: "d. M. yyyy",
				D: "dddd, 'dnja' d. MMMM yyyy",
				t: "H.mm 'goź.'",
				T: "H:mm:ss",
				f: "dddd, 'dnja' d. MMMM yyyy H.mm 'goź.'",
				F: "dddd, 'dnja' d. MMMM yyyy H:mm:ss",
				M: "d. MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "smj", "default", {
	name: "smj",
	englishName: "Sami (Lule)",
	nativeName: "julevusámegiella",
	language: "smj",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			",": ".",
			".": ",",
			symbol: "kr"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 1,
			days: {
				names: ["ájllek","mánnodahka","dijstahka","gasskavahkko","duorastahka","bierjjedahka","lávvodahka"],
				namesAbbr: ["ájl","mán","dis","gas","duor","bier","láv"],
				namesShort: ["á","m","d","g","d","b","l"]
			},
			months: {
				names: ["ådåjakmánno","guovvamánno","sjnjuktjamánno","vuoratjismánno","moarmesmánno","biehtsemánno","sjnjilltjamánno","bårggemánno","ragátmánno","gålgådismánno","basádismánno","javllamánno",""],
				namesAbbr: ["ådåj","guov","snju","vuor","moar","bieh","snji","bårg","ragá","gålg","basá","javl",""]
			},
			monthsGenitive: {
				names: ["ådåjakmáno","guovvamáno","sjnjuktjamáno","vuoratjismáno","moarmesmáno","biehtsemáno","sjnjilltjamáno","bårggemáno","ragátmáno","gålgådismáno","basádismáno","javllamáno",""],
				namesAbbr: ["ådåj","guov","snju","vuor","moar","bieh","snji","bårg","ragá","gålg","basá","javl",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "yyyy-MM-dd",
				D: "MMMM d'. b. 'yyyy",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "MMMM d'. b. 'yyyy HH:mm",
				F: "MMMM d'. b. 'yyyy HH:mm:ss",
				M: "MMMM d'. b. '",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "uz-Latn", "default", {
	name: "uz-Latn",
	englishName: "Uzbek (Latin)",
	nativeName: "U'zbek",
	language: "uz-Latn",
	numberFormat: {
		",": " ",
		".": ",",
		percent: {
			pattern: ["-n%","n%"],
			",": " ",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			decimals: 0,
			",": " ",
			".": ",",
			symbol: "so'm"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["yakshanba","dushanba","seshanba","chorshanba","payshanba","juma","shanba"],
				namesAbbr: ["yak.","dsh.","sesh.","chr.","psh.","jm.","sh."],
				namesShort: ["ya","d","s","ch","p","j","sh"]
			},
			months: {
				names: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""],
				namesAbbr: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd/MM yyyy",
				D: "yyyy 'yil' d-MMMM",
				t: "HH:mm",
				T: "HH:mm:ss",
				f: "yyyy 'yil' d-MMMM HH:mm",
				F: "yyyy 'yil' d-MMMM HH:mm:ss",
				M: "d-MMMM",
				Y: "MMMM yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "mn-Mong", "default", {
	name: "mn-Mong",
	englishName: "Mongolian (Traditional Mongolian)",
	nativeName: "ᠮᠤᠨᠭᠭᠤᠯ ᠬᠡᠯᠡ",
	language: "mn-Mong",
	numberFormat: {
		groupSizes: [3,0],
		"NaN": "ᠲᠤᠭᠠᠠ ᠪᠤᠰᠤ",
		negativeInfinity: "ᠰᠦᠬᠡᠷᠬᠦ ᠬᠢᠵᠠᠭᠠᠷᠭᠦᠢ ᠶᠡᠬᠡ",
		positiveInfinity: "ᠡᠶ᠋ᠡᠷᠬᠦ ᠬᠢᠵᠠᠭᠠᠷᠭᠦᠢ ᠶᠠᠬᠡ",
		percent: {
			pattern: ["-n%","n%"],
			groupSizes: [3,0]
		},
		currency: {
			pattern: ["$-n","$n"],
			groupSizes: [3,0],
			symbol: "¥"
		}
	},
	calendars: {
		standard: {
			firstDay: 1,
			days: {
				names: ["ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠡᠳᠦᠷ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠨᠢᠭᠡᠨ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠬᠣᠶᠠᠷ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠭᠤᠷᠪᠠᠨ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠳᠥᠷᠪᠡᠨ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠲᠠᠪᠤᠨ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠵᠢᠷᠭᠤᠭᠠᠨ"],
				namesAbbr: ["ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠡᠳᠦᠷ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠨᠢᠭᠡᠨ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠬᠣᠶᠠᠷ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠭᠤᠷᠪᠠᠨ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠳᠥᠷᠪᠡᠨ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠲᠠᠪᠤᠨ","ᠭᠠᠷᠠᠭ\u202fᠤᠨ ᠵᠢᠷᠭᠤᠭᠠᠨ"],
				namesShort: ["ᠡ\u200d","ᠨᠢ\u200d","ᠬᠣ\u200d","ᠭᠤ\u200d","ᠳᠥ\u200d","ᠲᠠ\u200d","ᠵᠢ\u200d"]
			},
			months: {
				names: ["ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷ᠎ᠠ","ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠭᠤᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠲᠦᠷᠪᠡᠳᠦᠭᠡᠷ ᠰᠠᠷ᠎ᠠ","ᠲᠠᠪᠤᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠵᠢᠷᠭᠤᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠲᠤᠯᠤᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠨᠠᠢᠮᠠᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠶᠢᠰᠦᠳᠦᠭᠡᠷ ᠰᠠᠷ᠎ᠠ","ᠠᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠠᠷᠪᠠᠨ ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷ᠎ᠠ","ᠠᠷᠪᠠᠨ ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ",""],
				namesAbbr: ["ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷ᠎ᠠ","ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠭᠤᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠲᠦᠷᠪᠡᠳᠦᠭᠡᠷ ᠰᠠᠷ᠎ᠠ","ᠲᠠᠪᠤᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠵᠢᠷᠭᠤᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠲᠤᠯᠤᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠨᠠᠢᠮᠠᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠶᠢᠰᠦᠳᠦᠭᠡᠷ ᠰᠠᠷ᠎ᠠ","ᠠᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ","ᠠᠷᠪᠠᠨ ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷ᠎ᠠ","ᠠᠷᠪᠠᠨ ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷ᠎ᠠ",""]
			},
			AM: null,
			PM: null,
			eras: [{"name":"ᠣᠨ ᠲᠣᠭᠠᠯᠠᠯ ᠤᠨ","start":null,"offset":0}],
			patterns: {
				d: "yyyy/M/d",
				D: "yyyy'ᠣᠨ ᠤ᠋' M'ᠰᠠᠷ᠎ᠠ \u202fᠢᠢᠨ 'd' ᠤ᠋ ᠡᠳᠦᠷ'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy'ᠣᠨ ᠤ᠋' M'ᠰᠠᠷ᠎ᠠ \u202fᠢᠢᠨ 'd' ᠤ᠋ ᠡᠳᠦᠷ' H:mm",
				F: "yyyy'ᠣᠨ ᠤ᠋' M'ᠰᠠᠷ᠎ᠠ \u202fᠢᠢᠨ 'd' ᠤ᠋ ᠡᠳᠦᠷ' H:mm:ss",
				M: "M'ᠰᠠᠷ᠎ᠠ' d'ᠡᠳᠦᠷ'",
				Y: "yyyy'ᠣᠨ' M'ᠰᠠᠷ᠎ᠠ'"
			}
		}
	}
});

Globalize.addCultureInfo( "iu-Latn", "default", {
	name: "iu-Latn",
	englishName: "Inuktitut (Latin)",
	nativeName: "Inuktitut",
	language: "iu-Latn",
	numberFormat: {
		groupSizes: [3,0],
		percent: {
			groupSizes: [3,0]
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Naattiinguja","Naggajjau","Aippiq","Pingatsiq","Sitammiq","Tallirmiq","Sivataarvik"],
				namesAbbr: ["Nat","Nag","Aip","Pi","Sit","Tal","Siv"],
				namesShort: ["N","N","A","P","S","T","S"]
			},
			months: {
				names: ["Jaannuari","Viivvuari","Maatsi","Iipuri","Mai","Juuni","Julai","Aaggiisi","Sitipiri","Utupiri","Nuvipiri","Tisipiri",""],
				namesAbbr: ["Jan","Viv","Mas","Ipu","Mai","Jun","Jul","Agi","Sii","Uut","Nuv","Tis",""]
			},
			patterns: {
				d: "d/MM/yyyy",
				D: "ddd, MMMM dd,yyyy",
				f: "ddd, MMMM dd,yyyy h:mm tt",
				F: "ddd, MMMM dd,yyyy h:mm:ss tt"
			}
		}
	}
});

Globalize.addCultureInfo( "tzm-Latn", "default", {
	name: "tzm-Latn",
	englishName: "Tamazight (Latin)",
	nativeName: "Tamazight",
	language: "tzm-Latn",
	numberFormat: {
		pattern: ["n-"],
		",": ".",
		".": ",",
		"NaN": "Non Numérique",
		negativeInfinity: "-Infini",
		positiveInfinity: "+Infini",
		percent: {
			",": ".",
			".": ","
		},
		currency: {
			pattern: ["-n $","n $"],
			symbol: "DZD"
		}
	},
	calendars: {
		standard: {
			"/": "-",
			firstDay: 6,
			days: {
				names: ["Acer","Arime","Aram","Ahad","Amhadh","Sem","Sedh"],
				namesAbbr: ["Ace","Ari","Ara","Aha","Amh","Sem","Sed"],
				namesShort: ["Ac","Ar","Ar","Ah","Am","Se","Se"]
			},
			months: {
				names: ["Yenayer","Furar","Maghres","Yebrir","Mayu","Yunyu","Yulyu","Ghuct","Cutenber","Ktuber","Wambir","Dujanbir",""],
				namesAbbr: ["Yen","Fur","Mag","Yeb","May","Yun","Yul","Ghu","Cut","Ktu","Wam","Duj",""]
			},
			AM: null,
			PM: null,
			patterns: {
				d: "dd-MM-yyyy",
				D: "dd MMMM, yyyy",
				t: "H:mm",
				T: "H:mm:ss",
				f: "dd MMMM, yyyy H:mm",
				F: "dd MMMM, yyyy H:mm:ss",
				M: "dd MMMM"
			}
		}
	}
});

Globalize.addCultureInfo( "ha-Latn", "default", {
	name: "ha-Latn",
	englishName: "Hausa (Latin)",
	nativeName: "Hausa",
	language: "ha-Latn",
	numberFormat: {
		currency: {
			pattern: ["$-n","$ n"],
			symbol: "N"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["Lahadi","Litinin","Talata","Laraba","Alhamis","Juma'a","Asabar"],
				namesAbbr: ["Lah","Lit","Tal","Lar","Alh","Jum","Asa"],
				namesShort: ["L","L","T","L","A","J","A"]
			},
			months: {
				names: ["Januwaru","Febreru","Maris","Afrilu","Mayu","Yuni","Yuli","Agusta","Satumba","Oktocba","Nuwamba","Disamba",""],
				namesAbbr: ["Jan","Feb","Mar","Afr","May","Yun","Yul","Agu","Sat","Okt","Nuw","Dis",""]
			},
			AM: ["Safe","safe","SAFE"],
			PM: ["Yamma","yamma","YAMMA"],
			eras: [{"name":"AD","start":null,"offset":0}],
			patterns: {
				d: "d/M/yyyy"
			}
		}
	}
});

Globalize.addCultureInfo( "zh-CHS", "default", {
	name: "zh-CHS",
	englishName: "Chinese (Simplified) Legacy",
	nativeName: "中文(简体) 旧版",
	language: "zh-CHS",
	numberFormat: {
		"NaN": "非数字",
		negativeInfinity: "负无穷大",
		positiveInfinity: "正无穷大",
		percent: {
			pattern: ["-n%","n%"]
		},
		currency: {
			pattern: ["$-n","$n"],
			symbol: "¥"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],
				namesAbbr: ["周日","周一","周二","周三","周四","周五","周六"],
				namesShort: ["日","一","二","三","四","五","六"]
			},
			months: {
				names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""],
				namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""]
			},
			AM: ["上午","上午","上午"],
			PM: ["下午","下午","下午"],
			eras: [{"name":"公元","start":null,"offset":0}],
			patterns: {
				d: "yyyy/M/d",
				D: "yyyy'年'M'月'd'日'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy'年'M'月'd'日' H:mm",
				F: "yyyy'年'M'月'd'日' H:mm:ss",
				M: "M'月'd'日'",
				Y: "yyyy'年'M'月'"
			}
		}
	}
});

Globalize.addCultureInfo( "zh-CHT", "default", {
	name: "zh-CHT",
	englishName: "Chinese (Traditional) Legacy",
	nativeName: "中文(繁體) 舊版",
	language: "zh-CHT",
	numberFormat: {
		"NaN": "非數字",
		negativeInfinity: "負無窮大",
		positiveInfinity: "正無窮大",
		percent: {
			pattern: ["-n%","n%"]
		},
		currency: {
			symbol: "HK$"
		}
	},
	calendars: {
		standard: {
			days: {
				names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],
				namesAbbr: ["週日","週一","週二","週三","週四","週五","週六"],
				namesShort: ["日","一","二","三","四","五","六"]
			},
			months: {
				names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""],
				namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""]
			},
			AM: ["上午","上午","上午"],
			PM: ["下午","下午","下午"],
			eras: [{"name":"公元","start":null,"offset":0}],
			patterns: {
				d: "d/M/yyyy",
				D: "yyyy'年'M'月'd'日'",
				t: "H:mm",
				T: "H:mm:ss",
				f: "yyyy'年'M'月'd'日' H:mm",
				F: "yyyy'年'M'月'd'日' H:mm:ss",
				M: "M'月'd'日'",
				Y: "yyyy'年'M'月'"
			}
		}
	}
});

}( this ));
�i/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery.min.map
*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;
return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="<a name='"+x+"'></a><div name='"+x+"'></div>",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&&gt(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Nt=/^(?:checkbox|radio)$/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l)
}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=ln(e,t),Pt.detach()),Gt[e]=n),n}function ln(e,t){var n=b(t.createElement(e)).appendTo(t.body),r=b.css(n[0],"display");return n.remove(),r}b.each(["height","width"],function(e,n){b.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(b.css(e,"display"))?b.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,i),i):0)}}}),b.support.opacity||(b.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=b.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===b.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),b(function(){b.support.reliableMarginRight||(b.cssHooks.marginRight={get:function(e,n){return n?b.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!b.support.pixelPosition&&b.fn.position&&b.each(["top","left"],function(e,n){b.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?b(e).position()[n]+"px":r):t}}})}),b.expr&&b.expr.filters&&(b.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!b.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||b.css(e,"display"))},b.expr.filters.visible=function(e){return!b.expr.filters.hidden(e)}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(b.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Nt.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:b.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),b.param=function(e,n){var r,i=[],o=function(e,t){t=b.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=b.ajaxSettings&&b.ajaxSettings.traditional),b.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(b.isArray(t))b.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==b.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}b.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),b.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var mn,yn,vn=b.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Nn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Cn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=b.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=a.href}catch(Ln){yn=o.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(b.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(u){var l;return o[u]=!0,b.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||a||o[c]?a?!(l=c):t:(n.dataTypes.unshift(c),s(c),!1)}),l}return s(n.dataTypes[0])||!o["*"]&&s("*")}function Mn(e,n){var r,i,o=b.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&b.extend(!0,e,r),e}b.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),b.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&b.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?b("<div>").append(b.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.each(["get","post"],function(e,n){b[n]=function(e,r,i,o){return b.isFunction(r)&&(o=o||i,i=r,r=t),b.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Nn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mn(Mn(e,b.ajaxSettings),t):Mn(b.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,u,l,c,p=b.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?b(f):b.event,h=b.Deferred(),g=b.Callbacks("once memory"),m=p.statusCode||{},y={},v={},x=0,T="canceled",N={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else N.always(e[N.status]);return this},abort:function(e){var t=e||T;return l&&l.abort(t),k(0,t),this}};if(h.promise(N).complete=g.add,N.success=N.done,N.error=N.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=b.trim(p.dataType||"*").toLowerCase().match(w)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?80:443))==(mn[3]||("http:"===mn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=b.param(p.data,p.traditional)),qn(An,p,n,N),2===x)return N;u=p.global,u&&0===b.active++&&b.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Cn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(b.lastModified[o]&&N.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&N.setRequestHeader("If-None-Match",b.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&N.setRequestHeader("Content-Type",p.contentType),N.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)N.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,N,p)===!1||2===x))return N.abort();T="abort";for(i in{success:1,error:1,complete:1})N[i](p[i]);if(l=qn(jn,p,n,N)){N.readyState=1,u&&d.trigger("ajaxSend",[N,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){N.abort("timeout")},p.timeout));try{x=1,l.send(y,k)}catch(C){if(!(2>x))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,C=n;2!==x&&(x=2,s&&clearTimeout(s),l=t,a=i||"",N.readyState=e>0?4:0,r&&(w=_n(p,N,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=N.getResponseHeader("Last-Modified"),T&&(b.lastModified[o]=T),T=N.getResponseHeader("etag"),T&&(b.etag[o]=T)),204===e?(c=!0,C="nocontent"):304===e?(c=!0,C="notmodified"):(c=Fn(p,w),C=c.state,y=c.data,v=c.error,c=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),N.status=e,N.statusText=(n||C)+"",c?h.resolveWith(f,[y,C,N]):h.rejectWith(f,[N,C,v]),N.statusCode(m),m=t,u&&d.trigger(c?"ajaxSuccess":"ajaxError",[N,p,c?y:v]),g.fireWith(f,[N,C]),u&&(d.trigger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},getScript:function(e,n){return b.get(e,t,n,"script")},getJSON:function(e,t,n){return b.get(e,t,n,"json")}});function _n(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(s in c)s in r&&(n[c[s]]=r[s]);while("*"===l[0])l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function Fn(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(i in e.converters)a[i.toLowerCase()]=e.converters[i];for(;r=u[++s];)if("*"!==r){if("*"!==l&&l!==r){if(i=a[l+" "+r]||a["* "+r],!i)for(n in a)if(o=n.split(" "),o[1]===r&&(i=a[l+" "+o[0]]||a["* "+o[0]])){i===!0?i=a[n]:a[n]!==!0&&(r=o[0],u.splice(s--,0,r));break}if(i!==!0)if(i&&e["throws"])t=i(t);else try{t=i(t)}catch(c){return{state:"parsererror",error:i?c:"No conversion from "+l+" to "+r}}}l=r}return{state:"success",data:t}}b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),b.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=o.head||b("head")[0]||o.documentElement;return{send:function(t,i){n=o.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var On=[],Bn=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||b.expando+"_"+vn++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=b.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||b.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,On.push(o)),s&&b.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.noop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=b.timers,a=b._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||b.isFunction(e)&&e,duration:e,easing:n&&t||t&&!b.isFunction(t)&&t};return r.duration=b.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in b.fx.speeds?b.fx.speeds[r.duration]:b.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){b.isFunction(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},b.timers=[],b.fx=rr.prototype.init,b.fx.tick=function(){var e,n=b.timers,r=0;for(Xn=b.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||b.fx.stop(),Xn=t},b.fx.timer=function(e){e()&&b.timers.push(e)&&b.fx.start()},b.fx.interval=13,b.fx.start=function(){Un||(Un=setInterval(b.fx.tick,b.fx.interval))},b.fx.stop=function(){clearInterval(Un),Un=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fx.step={},b.expr&&b.expr.filters&&(b.expr.filters.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length}),b.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){b.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,b.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},b.offset={setOffset:function(e,t,n){var r=b.css(e,"position");"static"===r&&(e.style.position="relative");var i=b(e),o=i.offset(),a=b.css(e,"top"),s=b.css(e,"left"),u=("absolute"===r||"fixed"===r)&&b.inArray("auto",[a,s])>-1,l={},c={},p,f;u?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),b.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(l.top=t.top-o.top+p),null!=t.left&&(l.left=t.left-o.left+f),"using"in t?t.using.call(e,l):i.css(l)}},b.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===b.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),b.nodeName(e[0],"html")||(n=e.offset()),n.top+=b.css(e[0],"borderTopWidth",!0),n.left+=b.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-b.css(r,"marginTop",!0),left:t.left-n.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||o.documentElement;while(e&&!b.nodeName(e,"html")&&"static"===b.css(e,"position"))e=e.offsetParent;return e||o.documentElement})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);b.fn[e]=function(i){return b.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?b(a).scrollLeft():o,r?o:b(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return b.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}b.each({Height:"height",Width:"width"},function(e,n){b.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){b.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return b.access(this,function(n,r,i){var o;return b.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?b.css(n,r,s):b.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=b,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return b})})(window);�(function () {
 var jQueryChecker = function () {
  var message = null;
  if (!window.jQuery)
   message = "The jQuery library has not been registered on this page.\nPlease register jQuery manually or use a corresponding check box in the DashboardViewer's smart tag.";
  else if (parseFloat(window.jQuery.fn.jquery) < 1.8)
   message = "The currently used jQuery library is too old. The Dashboard Viewer requires jQuery 1.8.0 or later.\nYou can allow Dashboard Viewer to automatically add and register jQuery of an appropriate version.\nTo do this, enable the Register jQuery option in the control's smart tag menu.";
  if (message) {
   alert(message);
   if (console && console.error)
    console.error(message);
  }
 };
 jQueryChecker();
})();��/* 
* DevExpress PhoneJS
* Version: 13.1.2
* Build date: Jun 5, 2013
*
* Copyright (c) 2012 - 2013 Developer Express Inc. ALL RIGHTS RESERVED
* EULA: http://phonejs.devexpress.com/EULA
*/
.dx-scrollable-customizable-scrollbars
{
  scrollbar-arrow-color: #999;
  scrollbar-face-color: #686868;
}
.dx-scrollable-customizable-scrollbars ::-webkit-scrollbar:horizontal
{
  height: 16px;
}
.dx-scrollable-customizable-scrollbars ::-webkit-scrollbar:vertical
{
  width: 16px;
}
.dx-scrollable-customizable-scrollbars ::-webkit-scrollbar
{
  background-color: transparent;
}
.dx-scrollable-customizable-scrollbars ::-webkit-scrollbar-thumb
{
  background-color: #686868;
}
.dx-scrollable-customizable-scrollbars ::-webkit-scrollbar-track
{
  background-color: transparent;
}
.dx-scrollable-customizable-scrollbars ::-webkit-scrollbar-corner
{
  background-color: transparent;
}
.dx-scrollable-customizable-scrollbars ::-webkit-scrollbar-button
{
  background-color: transparent;
}
.dx-scrollable-customizable-scrollbars ::-webkit-scrollbar-button:horizontal:decrement
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAJCAYAAAD6reaeAAAAJklEQVQI12NgQAMzZ878jyGAIggTgAsiC4AF0QVwq8RpJk7bkSUA0T1FuwP7064AAAAASUVORK5CYII=) no-repeat;
  background-position: center;
}
.dx-scrollable-customizable-scrollbars ::-webkit-scrollbar-button:horizontal:increment
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAJCAYAAAD6reaeAAAAJklEQVQI12OYOXPmfwZ0ABLEkIAJokggC8Il0AXBEgRVErYd3ZkAj5tFu3xoh5cAAAAASUVORK5CYII=) no-repeat;
  background-position: center;
}
.dx-scrollable-customizable-scrollbars ::-webkit-scrollbar-button:vertical:decrement
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAFCAYAAACXU8ZrAAAAI0lEQVQI12NgQAMzZ878z4APgBTAMEEFWBViU4CiEJ8CGAYAFJRFu7uR8SoAAAAASUVORK5CYII=) no-repeat;
  background-position: center;
}
.dx-scrollable-customizable-scrollbars ::-webkit-scrollbar-button:vertical:increment
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAFCAYAAACXU8ZrAAAAH0lEQVQI12OYOXPmf0KYAQQIKoABggqwKWTAB7ApAAA1VEW7u+9jowAAAABJRU5ErkJggg==) no-repeat;
  background-position: center;
}
.dx-theme-desktop .dx-icon-plus
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAMAAACfWMssAAADAFBMVEUAAABnZWUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACaTvfTAAABAHRSTlP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AU/cHJQAAADRJREFUSMdj+E8mYBgGGhmhYFTjqMZRjaMaqa2RkUQwqnFwahxN5KMaRzWOahxojcOoTQ4AbZV5yCfFU8cAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-add
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB+klEQVRo3u2aMbKCMBBAtWOGQ1BwBFtqh9rSxvmF/IYLeAQGWs7hWFhwBysLHTsvQEFNwV9nloZJwv9kE3Tzi9eoCfuYmGySXXRdt+DMwhnB7/2eCg+IgBQogQq4AzXQIjV+VuFvUmzjUcVBLbgEYqAALkA3kQv2EWOfswv6wA44aUjJOGHf/lyCG+BoQGzIEZ9lTTAEcqCxINfT4DND04Jr4GxRbMgZYzAiuAWuM8r1XDEWUsEv4Kk5OyZAgCSas+0TYyIR3GrKPYCVoN8VfqcjudUVXBMMy4Pi5R0Ihut6qmBINKEECsGAaOIJpwjmRJPC2P+b4hn5XwU3hOucDcFmmAyoBH3iDMWGYJ/x+L8R3BGvW7YEO4xdKbg0kDjbFDz1uxCZYGwg87Ap2KGDVLBgIFjIBD3N9OldBF8OnkgwMpQc2xZ8EYkEU0aCqUiwZCRYigSrkUavk7BsJLc0TYAx1COxViLBu6LBTbLlmYsVxiSL9y4SVL2V5I3kehLVaBMJthO3PHMOV1m8rZOC7Ico+0mG/TLBfqFnn6qxT7bZb5fYb3idOLJgf+jE/tjQiYNf9kf3Tly+OHF9RnUBmikEszkvQKmusGvFFXat0S/JFTZVEcJNUIRwe5ciBCfKSJwoBHKilMuJYjxnyimdKIj9nJLm/6r7D+UHDIrnUsXU2IEAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-airplane
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAADMUlEQVRo3u2aT2QcURzHh2VZSgklVJeylFJKKK2wlUtLr6EsPa20CdGwpxBGhxIqh7Jacq3uqYRSSog2pIcSltDTEkL0EJYQSnSb6e/Hb3imOzO/92/mbc3hSySb995n37zv+77fGy8MQ+9/llcCloAloDuAzxYWJkFToBaoC9oCbYN6oDXQbfyMbUAf9BHUsAD2GvQLFCZoDyFtAvpCZziQl6CagXbnQMMUMFFrtgD9hA6PQPMa7S6BRkw4VM8GoM/oeAd0U7LdjgRYpG3TgCLct4zOR7SOLjPafawAh9oyCSjCBfS7TcYgTkDtlHaboHNFwK5JQITaFeBQFbJtzmC+g2Zibd4CnSrCoVp57INV2io4A8KZukH/VydTUoVD557Ka6OvkbFkDeqJsM8daMCFtL5zTTKX6DFMGtC6MONfNeGG9CXlHtWSZuaz8Jl3mnAjCgNeEYCoadBAGNAPml3826omXEhhwCsSMDKQY3qUopz60ABcJ95XkacJdMt79DOmmjMNsHMKA55LgOK6HGjAnVIY8FwErGg65hGFAc9VwK4G3AGtZc9VwKeaW8E1Tj9FAeoE6EhtVwHrKSfyCwnAfRcBMZP2Ewb8R2EWZ1wD7BmEQ711CbBj4LGM60yIeYUCziUUiy4MxLN20YB1Kktw4dBdF1PWqpTZ2Aas0QC4cEMhds2aMBvbgDJnu/6YZMKt52wWAbghU6BNqHpfZZ4yEs3GFuCGROTqZLS1qmM2NgC5cCdiaSGjKjdQNRvTgC8knK8u0e4jVbPhAmLV+hD0ikoLVcU7iZCMR+WW6ZOK2XAA/YSiKna4ArrOhPsNWtZ49BuME8g/ZpMF6BtIGpHeGHDmdVmzSQO8bwgMN/XnBovHxzJmkzWDgQHAB4ZzbUvGbDhrUAfyjqVjV59rNlwXVYFsWKwKzHLNRmYfDCT2uOkcilY9jtnIbvRZkDtZB1CDysqp+6pJJkgJzNWcXwRKy6krOlEtGHfZWIDwC/05JoTMm8iiTSr6NAt+net97MB817XLF1Pv5AzGOfckA/qxNzSuuHp9pqovBPch7XQyyYAB3U5VlKpq5Ru/JaB7+gug6zIu2ju6bwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-arrowdown
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABBElEQVRo3u3XSQ7DIAwFUHPZqKcoak4RcdeKrlopLUnA2Azu9x6kx+DBxRjJcri/Ad6WhbuH9gk5zqItBAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAArQMfRHQnG+G3ENbUDVpAeiJaz57ozEhPRGvOH5wR+cHlJpmZkDtcSRadAfmDKy0TIyOTOE4dHBF5iOMW+pGQp7iaTmYE5CWutlXriczCSfSiPZDZOKlmuyWyCCc5TbRAFuOkxyVNJAsnDdRCsnEaQGlkFU4LKIWsxmkCa5EiOG0gFymGawEsRYriWgFzkeK4lsArpAquNfAIqYbrAfxGquJ6Ad/IpzYuCbQa5oEvIi6RoCPS4QwAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-arrowleft
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABG0lEQVRo3uXa0QnDMAxFUXnZ0ilS0imCl01/EgghjiUb3N5XLWAO+rAtvbSuqylX+hvg8/EYcd5kZu8RBy05DwdOZjabWVIE7jhTBB5xcsAzTgp4hZMBlnASwDscHljDoYEeHBboxSGBERwOGMWhgC04DLAVN6yWnFMr8OdxPUAErhWIwbUAUbgoEIeLAJE4LxCL8wDRuBoQj7sDSuBKQBlcCThvHZQF2tbBSRkog6xdE3ik56JHI71PNSwy8thGIqPfJRyy5cOLQraOLDDInqETAtkDRCB7gT1I1Oi+BYlbvkSRyPVZBIldgHqR6BW2B4kPIdSQEjGSO6RMEKiElIpyXSHlwnhnpGSc8oiUBB6RssAd+foKULXkgR9Tb3eghvb7LgAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-arrowright
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA9UlEQVRo3u3aOw7CQAyE4Vw2mltEmpMvEgUSgpAlWRP7D4Vr62v2Yc/UWpvINV0GqHn+VS3RPc4GtmhkBmAoMgswDJkJGILMBhyOzAgciswKHIbMDByCzA48jKwAPISsAtyNrATchawG/Bq5BmzJa6EDu5GVgV3I6sBNJAH4EUkBriJJwLdIGvAFSQQ+IanAB5IMvCPpwPYHFi+TgSYfMiZfEyZf9CY/1Ux+bJv8XTL5w2vyyGITVxnYhas6+LXAk20LPLq3wMsXC7w+s8ALUAu8wrbAIQQLHCOxwEEgCxzlssBhPEf1yAB0ZI+zgY7ucc1QOrVuka0NN0s/mwQAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-arrowup
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA/UlEQVRo3u3YawrCMBAE4OaypadQ7ClK7yoxgohimuaxs3k4Awv7b/l+zhpr7TRyzN8Al3nWuHdzc3ezog9t+64OfOIur/2KRmoDP3GTBlIT6MPBkVrAEA6K1ADG4GBINDAFB0EigTk4cSQKWIITRSKAEjgxpDRQEieClAQicMVIKSASV4SUAGrgspGlQE1cFrIEWAOXjMwF1sQlIXOALeCikanAlnBRyBRgi7hTZCywZVwQGQPsAXeIPAP2hPMiQ8AecT/II2DPuC+kDzgC7o10wFWqLqF//6Z2HySQQAIJJJBAAgkkkEACCSSQQAIJJJBAAgkksEXgqBke+ABo/JGgYp299wAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-plus
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAMAAACfWMssAAADAFBMVEUAAABnZWUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACaTvfTAAABAHRSTlP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AU/cHJQAAADRJREFUSMdj+E8mYBgGGhmhYFTjqMZRjaMaqa2RkUQwqnFwahxN5KMaRzWOahxojcOoTQ4AbZV5yCfFU8cAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-bookmark
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA2UlEQVRo3u3asQ3CMBCF4ZeThwiLpGWbiAkoiUTJBCgTsAYtS5kmRUQXYZ8v0f8kFy5O9qc7d+5yzjpyTAdP2lpwGcezpIekwfmuH0nX5zy/qwIlvST1DZoxLGefao9o33Diet4gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAATrlviy3JGfctNrfjtTBX9zk1UlrgHNFWiOcG9Ia4lyQ1hhXHWkBcFWRFgRXDWmBcFWQFgxXHGkBcUWRFhRXDGmBcUWQFhz3NzLtALdGbk7Hr/ud5wsF/Cx1BbOswwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-box
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAdklEQVRo3u3aMQ6AMAgFUDCetfFIppfFyVEnh7a+vzK9QFoGsqpi5WyxeAABAQEBAV+yPxWO1qbaAM7e04gCAgICAn71D0ZE6uDkHbwz+kaTHhlAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwFGS7kUBAQEBAX8MvAD/hgtwTkW+YAAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-car
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACRklEQVRo3u2aPYrCQBiGrbbyApIbWNjYiJgbbGm5YCULHkC0cq3srEXsLBdyhgUrT6C9hY2iIAtuk+wXeANumCTfxDhmslM8IGLme59kfpKJJc/zSkWmZASNoBE0gkbQCDIE37vdNDSIAeEQW+IbeCkJjt+izQFqSGe7V9AmZsTpDhkuJ9SyVQn2cIb94jtiQXSIGlEGaXtEcHwNbS5Qw0PN3qMFh8SVcIk50bxDhksTtVzUHj5KsIcCR6KvQCxMH7WvnCspK2iji7hPkruVdJHFzlJwhnEwf6JcwBxZZlkJNjCT7RSNOc6Y3CFTIwvBAc7YIgdyAQtkGmQh6KCxTo4EO8jkZCF4QGO1HAnWkOkgI1gnPogvTMdHfA7uKMo5Eizf5Arn9R3qIkEn4ZYpr4IiHJHgNOGgUs6IyzoVCbaIjYKb50fjO7SiJpk3zSU3cIidRV+JvYZye2SPXSZeiLXGV3ANh0jBSQHG4CRK0CJ+CiDoO1giwbHgx/6jyZJoExXQxneuwtCyOcYiwZWg0VHMOjRSJJkmx0okGJ45l4zFdqlAME2OvUgw3HCb0XBbgWCqHBzBCqPhigLBVDmM4H/oojpPMixBnZcJlqDOCz1bUFtEgucCCZ7T7MnohHBPpoqdKd3lfIdq1POgVQBBK2nLQqar5mEH7U/X5OxsVzUWrHK37nUVZL+b4CwZF4WCF87SICPoyPR3BUjnSRJMWjKOt/1dAdJ5OK/P/On2M7SVscd31hPeRUjlMf9VM4JG0AgawSz4Bcvn2/Y8wzZSAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-card
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABZUlEQVRo3u3aMUvCQRjH8XMIoaUlWoIaBbfWFtElWoNeglRTBEFrr8GXoEsguuvkO5Deg2QOQRDSEHI9B89/iQe58y94z9Nv+I7+7z543P3xdN57ZzkHIIAAAggggAD+A+BNux06pl6oGeWVNeO5B4MIrFEfCmF/C4a6BOwbwBUNJeCnIeCXBPSWAjCyCdWjutSI+rECXFLX1D5V4apUI5cjpgzwO2zDfG5KHeWALAO8W4MramkFrqjDCGBYrm8agQtqLwJY4U1HHXDAk3cRPUc+05Vsq8DHhIEvNAKfEga+1LhExwlLtKP1mLiPQF7xjqtuiRadrxnwNPFZWQLfqRNhsAPq1crL9koALqy8bE+ppgBsbvANZrFEA+g2ceAz/sw0d+ADv1tuOoEqPyPbJeq2FIAAAgggfjYEEMAdAs1fvgytX5/VrV+AFlfY4SJ0rhA257nLV9j4lwWAAAIIIIAAAqiuX9iKYx4pWZdQAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-cart
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACL0lEQVRo3u2aMUvDQBSAA4WCIBQEFzsJro4OBQcXoavQH9CliNAf0Eni1B9QFDP5AwqugggKQqeCONwkSIVOglBQxEIh3sEp4byX5i7vkku84VvK8d59yeW9y6VeGIZemfGcoBN0gk7QCWIIHnY6GxSfQighAOFj2FjPZmSCfoyYiF9EQaIgSMouGJZ9iTK2iyaYpMhE6RdNEGITEHwuiyBjBEg2yiLYBQQHkrGqSx2T3z6tKrhOWUgCvlIqwlg/B7E/fVpVkHENBNsXxhELBImOYBsIdmGh4IeOYI3yKQk2o6xYtkTPdQQZQyBgy5Iiw3jUKTI/tICgw4zbAFsxU8k82Aqr67SJaOAZELiWoWBv2e5KV9DjRUUWvJ2R3Bpwkd+iFzmNYBMQvMpIcADk76bZyUSp8AYvJljwDYFJuS3KXJL7iVLFEkx8FQ2QpIqjCDaARCODcko50woyXoCEO4YE74F8u6YE+0DCGwNyB0CuS6zXJRmnQNIvZLkqLyJinjkvOkYEjzM8cTsC8pxhvvAmlcM+M13lDVzM8c4bPrrgMrk75FNv6DnvYR9ZJJE7QV6adX6nxDxTfmfRBNkdubXgHU9pz6si6Fsk9yA5A0otSCwSbJo4NrRFUKn9FHGJ+qYE8z5j0froirFVK9znMycoYY8SUCacgP+WVxxUQTaBseSZGStODisOumAQUxiCHOKgC05iJjbJIY4TdEv0vxWZYrUJ929DJ+gEnaAJvgGhKqD85AlRMQAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-chart
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABOklEQVRo3u3aSwqDMBSF4WxWugvhrjylYKGUGO8rJ6k9gzM08kHAf2CptZY7rxBIIIEEEkgggX8AfGybd/uxstKygC9YPbbfDfiJWw4ZBbZwSyEjwB5uGaQXqMEtgfQALbjpSCvQg5uKtAAjuGlILTADNwWpAWpxcgyN7BbUFdCCez+DRF4WVA/owSGRqoI6A3pw31dlJFJdUC2gF9d6wQikqaBawAhuNNJcUB6gOK5KBtJVUFagBGI7gnR/hy1ASYhtDzIUGVqgJMa2BRkuKA1QBsS2JKZft6CugDIwtiUJ1z2vBxRAbEsS7vS8M+AoXBZSXVAt4GhcFGkqqIzYRiLNBRWNbSTSVVCR2EYiBR3bSKSgYxuJFHRso5HQ2J6FhMT2LCQktn96BBJIIIEEEkgggTcC8m/DH90TeGKuElxNX14AAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-clock
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAC1UlEQVRo3u2av2sqQRCAFSII9lZ2Qlr/AcFObLVTApIipLFLF0He1dqJpbUYSUIKCwv/g1RpLF8qO4ukeI2Fbw5m4RjmzN7deLu6KT4Iy97MfrLZ35nD4ZC5ZDLOCN7f3UmRB6pAD5gAK2AD7IA9ssOyFdbp4Td5qXZIC2aBBjAC3oFDTN4xRgNjGhcsAF3gLYFUGG8Yu2BKsAW8nkCM8oq5UhMsA0Pg60ij/gJz4BFoAhWgCOSQIpY1sc4cvwmL94U5y6cWrAPLkEZ8AzPsVqUYPaKE384wFpdjiW04iWAH+GCS/gOmuokj/JBTjE3zfWBbRAVvgU8m2RpoC4pR2piD5v3ENokIdkLkxsD1CeUU15iLk+wkFawz3dL//+gDVynIKa4w5zfTXetxBcvMgOIneEhRjPLASC650VVHcMh0i75BOUWfadcwqmCLmefGKXdLnwFCu+uYmSdbuoIFZoWyTmlAoXIq/4AZeNbMiqegI9hl5rm2QTkfL2QKofNk9yfBLLNwnloop5gyC/TsMcEGM2rWLZVT0xgdVRvHBEek8sxiOcWMfDcKE8wzm9Wu5XLcmOE75DnBKrPlKVkup3YhdKtV5QR7pNL8DOQUcxKnxwlOSKVHIQl/VLsBFsAW8f9+FpLLYFuDsSac4IpUagrJ/dE4lvAS5mmSeCtOcEMqVQQEbzTkXgTyVEjMDSe4I5WKAokXgXhPQA15CpQvBPIUSdt3nOCeVMoJJN4G4tUC5bVA+VYgT460fe+k4MV3UVODzHNag4zJaWKQxjSR9kT/IiipNdGbWKp5QpJaSzVTi+2kktqLbZPbpSSS2tsl0xveuJLaG14bjiyiSkY+srDh0MmLsMuIfOhky7GhpyEX69jQpoPfn26cYh/82nR0H3bTlOjo3onLFyeuzy7+AtSJK2wnHiE48YzEiYdATjzlcuIxnjPPKZ14EHs+T5p/X92fKf8Bhf+Aj27cjNYAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-close
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABWUlEQVRo3u3ZQQ7CMAwEQPNZxCtA9BUony2XHBAqIbZ3NwI5FxCXZdRCbe1p33f753MqYAELWMACFjABvJzP7x9d++sm/q6HuY/WoMCrmd37+5sQ+TEXCXwNMSFymIsCHoUokF9zEcBRCBM5lftobcsC7y8/cBVyBmf9Ct4Qt6gSOY3rVxD2J6NAunCMxwQT6cYxgCxkCMcCopFhHBOIQqZwbGAWmcYpgFEkBKcCepGGwimBHqShcGogCjmNWwHMIl24VcAo0o1bCfQiQ7jVwNlHQWpAXwX04FLIFcAILoxUAzO4EFIJRODcSBXQM1sacp9UACODM2yfZAMzWwEEyQQiVp40kgWE7XNZJAOIxKWRzHYJPVuGkOx2CTo4R5CKdgmFCyFV7RIK50aq2iUkzoOUtEsM3AxS0i4xcVO5zHZJgfuay2qXTIgb5qaBv34KWMACFrCABRycJ02RpaDOMppIAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-comment
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACE0lEQVRo3u3aMUsCYRzHcdsCoaE30NBge4tIYxxNEQUOLhIoQTUEbkIvIK4hiLbIFsGhiIaIFpcmIRASCWxpcBIcxCKQ7Pod/J/luDv0nue5O5+n4TsUdj4f0ufunucSlmUlVC6hDXCvWBRREmVQAZnoBjXQBxqgH2pAv2vQa0z6mwwdg3ssIoFLKI8uURtZnLXpWHk6dmTAdXSGOgJQXnXoPdbDBBroCg0lwpwN6T0NmcAUOkG9EGHOejSGlGjgDqpHCHNWpzEJAR6hboxwrC6NjQt4jEYxxLFGNMZAwHKMYc7K0wILIc+SImbZwqTANdSaIRyrRWP3Bc6hygziWBUyeAKzM4xjZf2ANQWANS9gGn0pALQNaTdgSQEcq+QGrCoErLoBmwoBm27AvkLAvhtwrBBwrOV/UPnvoPKzqPLnQeWvZJS/FtXibkL5+0Hl7+i1WJPRYlVNi3VRLVa2tdib0GJ3SYv9Qa8d3nfVdnidLQtGxWaPnrUoAGV/Cg7i+pTFCifOfqRkW9BjLFKABifQFI0TDdznwD3QdzjWwPOAuNdppv0ogc8BcPZjXDlZOJHAVfQdALcrEycSWArwsczJxokEPk45oRhh4EQBN9HvhOc5U9ZsKRN4PQHuTsZJPAzgFvr0gd3TtWQyChwvcAHduqBe0CnaYEt3UcYDPERv6Ald0M/2ct181Chf4P9T9zPaH41oc0sXEECZAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-doc
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAn0lEQVRo3u3ROwqAQAxF0TebFVeh4CpkNjs2Ioi/0ULJ894mVYqTpFKKnEu/B7ZN89YF0jw7SUPt0phzOGCR1NciowJVi4wMrEJGB14iHYCnSBfgIdIJuIt0A26QjsAV0hW4IJ2BktSPOQ/RgLeK+EFboB4CE0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ4PfA6NkDJ0C9jqCEmZ85AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-download
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACEklEQVRo3u2aMa7CMAxAy1apx+g1mFFnRhb0B/SXnsEXgJVzIAaG3oGJhZULdGBm6DeSK6EqoY3jNGn6h7cgSPJQlDi2k6ZpkphJZiP4u9tJkSJLpESOSIXckRp5ETV9VtF3SvpNKrUOacEFUiAH5Io0TK40RkFjehfMkC1ytpDScaaxM1+Ca+TkQKzLieYaTTBH9shzBLmWJ82ZuxZcIZcRxbpcaA1OBDfIzaNcy43WIir4gzwCkGt50JpEBDeByX1KbmwFVwbbMhFm6HZdcQVzwwPFh2B78OQcwb3hlvEl2NBajQTXjHvOp+CzGwx8E8xGilBcRDzZEMHtBOVatn2CC4vA2ecW/QzQF98EC4t/LwTBhhy0gocIBA86wdTysRqK4NshVQkuJ3y4dFmqBMuIBEuV4NFy0FC26JujSrCKSLBSCd4jEryrBOuIBGuV4CsiwdcsBaPfotEfMn3XBDiQ4AKca2LIRQ8TkNNe9ENDNQhcThuqmQTbELCcNtg2fS5BoHLa5xLnwQuByX198HJTFhCQXG/Kgpt0gkDkepNONmlD8Cw3KG1om/gFj3KDE7/c1L2EJFfOKHXPLb7YSoLFfMbFF075zEbSRo5dPjMtgHIlbeSsCqBSJWxwJCdSwpZqQgAHcmJNCFJtJCC4LcXbSKQagUDgQHHWCDSLVq5ZNOPNpp1yFg2x02lp/u+6nyh/KbFizDLuEKUAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-edit
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABdUlEQVRo3u3azYnDMBAFYKezbB+5hnQhVoWkApMa0k3a8JrFhmWx4pnRvPkJPryLwUYfkvVk8DBN0/DJGQ7gJwFv12vEXOaMc15LxuXaqXVPJmCZMzXy3UJGAJYlUtyaR0Tg34GXDlzzGZ7AQhjgmYHbfIYXsDBmoQqQj/Wd9AD+x9UNxF0B+bvxWAO3cC2ExkxeLIHvcGueysjRCkjBFcA7+bIA9uB6kXCgBq4HCV2imjgpErbJIHBcZEHVBBJHRRbUScYCt4esqKOaJa6F/EIdtj1we18hakBP3JozChgBV5EzWCPjtJZojYpDfg+GwKGAYXAWRe+KQxe9Ow5Z9CFwqKIPg0MUfShcLzA8rgeYAicFpsFJgKlwXGA6HAeYEkcFpsVRgKlxe8D0uD1gehwVWLPiqMBBEWmK4wA1kOY4LrAH6YKTACVINxwVWDqQrjhOTUiQ7jhuD3KQIXCSoqcgw+AQJ5lQOG1gONxb4PHP9gGMlx9GSwwlRAp8OAAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-email
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABVklEQVRo3u3azQmEMBAFYPvYAgSL2G7ELgLpZkGwKsHTgh1kFRR0dxLzM7qZcQ7v/PJBnMPEwhhTcE4hQAEKUIACFKAAbwBs6nrOY8prSj/FEEu/nH02gMByypsg7DuzoYSALQPcmhYCjoyAIwQ0nAIBNSOgtk1RDkhtm6IckHp1QEBFHKk351e2IUMVucPZhowhivzBHQEpIUGcD5AC0orzBeaMdOJCgDkiD3GhwJyQXrgYYA5Ib1ws8J/IIFwKcFt0FTKqMwa4LXpehIzuDAVCV+Ts65rUGQJ03f+zkMmdvkCfjxsbidLpAwyZXFhItM4jYPBYRkCidrqAMUWpSPROGzClCCoMDUandm3VUotSkJid2rV0Ug3dpZNyLZ2o43ZI21aNy+JX3XJ1z/7xpWME7CBgxegBtHI9Yc8PoQNB2LCcHX7Clr8sBChAAQpQgAIUILl8AH+x4sg2bybQAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-event
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA4ElEQVRo3u3aQQqDMBCF4dzDAxS8l/RqBcFTCa4KQg8QU0h3M6iNTTPJv3gLQYb5FpkQGOe9dzXHNQO8D8NefIxLSLYaAAEaBXYhj5BZKKR9H0mOGnPsvdOAt5Dnn5q7ssbb0EvAsYDmrqoxScC1IuBLAu4V1g77meay1QBoPQABGgRWlSaBnEGAANsCHn3YfvU/QIAAGTIAASYCfzoEShgyAAEWDmSKAgTIPcgUBcg9yBQFCNDKPQgQIMA04FrRkBEXgaaKgOIqV68s41mLuoz3WaccjcKW2Lu8TsnWvdFsYLVH8PZUGKkAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-favorites
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACYUlEQVRo3u3awYcCURwH8BgilmUYomt0iiVi6brsKZZOsXRp99IpIrp2jYiI/oCIJZaue4pYlrl2WiKWGOYUMfsevyFjpnkzb+b35o0OX9a2O+99mOb93m9exrKsTJqTuQHTAnxvtzHyRPKMMZYIoELyA1HSCHwlsSCttAFzJPsLIP35Lk3A/gXOTj8tQJXEdAHS32lpAE5dcHamsgOLJKcrwDP8jbTAjys4OytZgTUGnJ2ajMBtAOBWNmAzAM5OUxZglmQXAriD/008sBsCZ6ebdCBd1I8cwCNcI3HAPGyDFhw4Owu4Vl4UkC7MDZIhyZrkEAHKKwcYYwhjFqMGlmGbMyb5IjFixLDGgLmMYW5lVmCV5I1kRvINZZQlSc4w5xkYqm7AjkQgv3S8btFBCnADv+/gSGLciPUhM5cQNw/yFKVdr6VEuKWzU8eyTGRhDUo6bu1Ww7Kug7QbtkkwbgNz5Kpk7qFZmzScDnOLpFTTQm6B4srOryMXphYtOJq3orKHucRSbNNi908gjo5dins38SCo6DZgbJT94KNPvzPqnIJ23qLY8JqIQBN7R68JuEU1TGBFALCCCWwIADYwgT0BwB4mcCIAOMEErgQAPzGBuqDiGg1oCgCaWEBVYC2qYgArIUutORTKJehfnuJcC3mALwFvq5HH9qYAn5lxrIU8QJbXY0foT6qMt/yA8a1UFwN4bQ38hQ55LuRpqA5cg3st5AGuPB7hrYgO2SlwLZ3nRAYPUHd0teoxHiKqO7p6OgbQgF5kLUaY25GUdZC1MCxQ8Xofh5Qy69fgdmb7BpQk/wJg65YtkAkiAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-find
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACDklEQVRo3u2avY6CQBCA6X0LAg2voIWJLbna4gobc29xxsZOchgexf6s7gobikvMXaNUFryAVtyQDI3ZRX52Z3+0+GJCYIdPNzPDoFMUhWMzzsMIvs3nTfGBGZAAOyADLkiGxxI8x2+xrlC6CI6BDXACioac8JqxzoIusALOLcRuOeMarm6CE2DbQ+yWLa6pheALsBcoV7HHtZUKTu7I/QAxMAUCYIAEeCzGc+okJ6oE3ZpteQQWgNcgiIfnHmu2q6tCcMW5oU8g7BAsxGtZa66oBcecbFne4LBHwCFH8iyrhPAEN5xtGQoIGnK264ZK0OcU8YXAwAtOM+BTCM442dITGNjjZNcZhWDCCBxL2D4xI05CIbhjBJ5KEJwy4uwoBDNG4ECCYMCIk1EIXhiBBxIEB4w4l6fgc4s+k4z9ZcL6Qm99q2Z9s/0Qj0vWP/BSjix+VY0sKIZOFe82jg1JJFUNfv+oJFWO7pcUkqpfvvAkv4AUuOJnBIyoBEW/Pls2/JIOwCuloEiaSubA2kTBkm8ZGVcnwVRGWdFJ8Cqjdpr8CzaS1EkwktEF6SQ4wlIgVFInQQfrXC5SUjfBkg+RTbuOgm0KP4+17oJ9JfOqrdNZsK9kmbBGugv2lYxMEOwjmZoi2FXyapJgF8nUNMG2kpGJglUzkNuSRevausO98YbJglWDHtUNqB7vT+m28g8xD29yCwkOEwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-folder
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA+ElEQVRo3u3aMQqDQBBAUStvkEpIG7DyBjmN5EA5gxAIeCrBKiBYWW3GsAYSRjAqcR1+8UsXXzMrmUTOuchyEUCAOwFe8lwrkW5SJbmJVf6ZZOTMvzQFeJIeP8C+659NQwbeF+CGylCBB6lZAdj6s4ICHqViBdxQ4c8MAjhnqITSx3DTgEuHSii9hpsGvBvAvYebBmwMAVsN6CwF0CKwk67SWYq3/I6cWezfvTd0GjDbIWqsjIuei56LnoueexAgQIAAAQIECBAgQIAAAQIECBAgQIAAAS4Dmv/pvrS+fEmtr8+GBWi/Rqt3CKv9u+sLUP7xCxDgJj0Bi1amAADoafoAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-food
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB10lEQVRo3u2aMUvDQBiGn9giOLk5lYI4lIpSiggiggquDhVt/0Eo6uAuiEIFBwcHFekfcLCb3Rzq4iI4CZ38Cc4dXOryBUJQkzTnpS3fC4Hj7nvf5Mldhjvi9Pt9xlkTjLmyYQV11/Wm2AkMxe2PoiVgG9gAFqXvHXgGHoG3oOGu2UwGaFGHwD5QDPSvy1UFboFrozNoScfAGZD5o6YIXAHTwPkofYMucBIC5ykjte6oAJZlWU7G8EyKpzwKgFWgNICvJN6hBpwFKgn8FckYWsA1oJDAX5CMoQVctpGRJuCCjYw0AedsZKQJOGMjI03ALxsZaQJ+2MiIAzhlqMbTqwHAV5OAW4ZqPHUMAHZMAl4ANWnv+fq9dk1qoqoNtBLAtSQj8XapC8zLdQmsADu+8UtgFdgFcj5PmHpA05cdR13x9kzMYMP3wDngCMj7xvPS54drRHzQp0B+VLiGeI1seO+BT9mD7UZYNs2oN7eRn43xpl+AB2ATqAePRuSDb0dZNjbznbBjw7r74+Y5aHIwq8j5YYdOY39sqIAKqIAKqIAKqIAKqIAKqIAKqIAKqIAKqIAKqIAKqIAKqIBjAdj9pW1KxvIH/SH2FDiQ9s0/ABrLd/Sv+xHXN/rnXJozUaVVAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-gift
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABtklEQVRo3u3aMWgUURDG8d+KRhDUKmmuUSFFIJ2NhLRiiiB4QTgsLA4SJDaKpYUo0cbSJgSSIpWVIlootoJdwEq4AyG1lWBjdTZTLIu57MHdHob54MHb2Xkz+9/Z2X3FFoPBwEnWKSdcCfi/6/RRJ+5tbIwSZwF3cT3mv/AFb/EGf45YdxZt3MIyLuI7PmM/5rW0vbMzGmBNFejgKeZL9nO4HWMPz/GjsvYKHqNbsV+NsYYneI3BtB7RTbyswFXVxQvMlWxzYesOWTcfsTen1YNtPECrhu8a1kvH62E7Tq3I0cZM04AdXMYubmIW57GEZzistEInLrgV83J7HMaapYgxGzF3I0cHl8b6kqmhG3iIVxX71xjvojdXw75Yqtpiyf9D9NpByfYb72N8wxZ+4n6TgBfQH3L+AI9wJm4GXKv4fAqf3pA4/ci10HQFixo+Paz8w35nhDwfa+bKD31V49iFF8fEKiaQK/eiCZiACZiACTiO72DR4HUUWcEJVHAcO5q6lZlYjnzJJGACJmACJmACJmACJmACJmACJmACJmACJmACJmACJmACJmCTKvKf7QRMwKnqL+XHQcWnPpqtAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-globe
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAGAklEQVRo3u1afWiVVRi/17vdu+z6cbMajk0TcQ51tWls1AhFWDTSEnFIbZh/NK4F5h8VDGdo/lGQUWqkBkVWiJWWGpSFWDEqKvvULIskXaYmq1bO2pe7PU/8DhwO73vec8773jVkf/y473vvuc/z/s55zvN13lgul4tdyoiNELyUCGZbWqJChjCHsJywkXCQ0EHoJfxB+Jqwk9BKaCBMIaSi0p8vgsWEJYQ9hJwDThPWEmaHJRs1wXLCekKXIzEvfEC4nTDm/yQ4kbCG0O1I4m/pmk32JsJqXIvvPyHUEwqHmiDvmyMOpI4RVoLMLMLL+LxMks3meRfhlPS/TYRJQ0EwjVm2JXaI0CjtrTihiJDQ6LpNkfEDoS6fBK8ibHc0x4cJoyRy9weQi8E0+xQ5/xAWQ0akBNlD7nYgNkA4Q/gcHpZlTce+ZW85TaPzasKgj9w7dSRtCY4l7LAk9gthF6ENe4zvqwilhG8xphefrT56FwXoWBwVwQ0WxNiBVBOuJVTArMVeqsGsM+HvpNU5TLhc0clO50ONnt9hrnVhCTZZkOMMpYwwDv8tIIzGfbMkczocjJg4JvqIZHK8V9dhhb8iHPfQtUlyPJNcCZZrQgHHsE5cn8BsN2L16kE0DpJpXDOWEc4jTPD9Y5BRAZ3seF4C6QF8n1F09xCuIDwjkS10IbhVcRYVMKWxwDjcj5YU8EMnFTlxyWncjAyFw0WJtB8PQEaNQuaix+RehG62hHP4rt6W4FwpQ/mN8BBWwzWd40l4BbM9DytZIj30T5ispQHbQJjmHVjtLVLGM8aG4POS0LOEW4Jijwb84D9LnnMCHuZL5eH5t34NOTbbqch534eDKYOTysEyjAhWKYnzLI+HLjII1AJl0n7NYTWFE3rPwomtwt7jyX5C0t8sJegpE4LrFME3KilWCnFtL+FKQ5I87lbCW4qpT/Dxkl54jTBDmmAhoxB7OIfkQUuQCbR7eK13QOxRQPx2Es7D1FzTyn0BEmvTVTwO767KbcPva4MIVnvY/UfwWj0+Spc57k0mtwKVyZ+GBP8izPeQVYk4zEVzSkcwqwhsx+rplD4nJdKmiMPRsPN5HS0NE4KnsBeT0sQmMFnvYswUHcHNDgn1m5YhRAT8Ew665mHPtSFheFC6fwNjGnQE9zso3W65gtWoMFzKrkXQ9TRM8mNcD0iL06ojeNRB6T0W5JIonVx7NZ3w6kmkcAnpt/P43Kkj2Omg9ICFibaEbEbt8rAW7g29gPLpv/6OjmCfo+JWzYqJPktTNny3bZWPHiY9WVQ1+SDYg9QpoQT3T5HHvorkOAy5QwGWUixSvqhNVIDN5EWQHKVUIxdA9DPCF47yFwaY/zUY1xG1k1ExFaFgPFodXMrsQ0ydiApg0EFucQDB2Rh3MOowoeIwquwkVvJupHT9WMH5MN1zhvKE1w3Kexdi3MaoA70OS1E9TFa62L0OstIBBFdi3HKbVC0K8MrdQKhFMyqFZlQjak1TOSsCsqOnMG6OjmBNHgiKNsM+Dy9YjH5Ov4EMdlTXo+N2HayjRCqZRG2ZsS2XosKzPildIc4oTK2hC6nZIEw9I1UTe1wK3igwgGpcl8JtI3xvKfdHrKioB5eYEKyL+KxPmOgMgyqjCNukw0J2CdLFLhFKbJtOUaHZMF9NofNtKvdxfK636aotCHGw6YdvDFx9DNWCjdyTeNbyMI3fqLA6oP04Hn1YW7lrXDrbtY6nuCYm5UdS1/vxwxGkgE6HL/fmgeDbPj3VBPJWW3kNYU6XeKafzEM8jHuQ2+to8qHPB0sdDkBtA34lYqVtLygd1RH2TMcjbC9UepxdnLWUsRv5bKQvIcyMaCULFHK24WhHUG0Y5jWS0pB7chBnFOKQ54Ll/zfgbDKvLwLF4V1dQkg3Vk3uRJuGgqahfpWrFslAtyXBDEj+ajh+q8+By5C9jLcAuatpgj4NdV0vCBzzGNMFmXOH0+uUdSi1gurJBwj3+TSe2iGjaji+Lyrv0Rq0PzajkXUULck+oBPf7ceYLM4s4tl8vhA78s72CMHhh38BwV9rrqqh5bkAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-group
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAEYklEQVRo3u2aW0hUQRjHdyvSLhZIJZlEkNE96EZWD73YBbpBQWkURbIEXSiKfRBKfSjBwkAiIipcCaQrJT30EJRGFhU9WIKVhBTlgz50WSujcvsG/gPDcNZz++bslj38YJnLd+a358zsN3M2lEgkQv8yoQEjuCsS8cJCIkpcI9qIr6ANZVG0CQWNX8ElxGmii0jY0IW2S/4WwX24QwmXtKFv2gpmEZUexHQqESutBIcQVQxykirETBvBKKOcJJougmuJDwYEPyB2SgWziQaLwfURd4hyYg2RTwzTyEddOdr2WcRpwDVSJrjbYlCXiQ0eLroBffV4u1MlKL7ZRmUgP4gjRAbqw0QhUUHcItqJb6AdZRVoE0afDMT4ocRtNHEXnQhusZCTA91EXHcx366jj/xidMktqRCsVQbQjIENIvYQvR4WlV70HYRYzUpdbdCCucRbZQDVKB9PdPtYObsRI4SYsvwtrhmY4DptYHtRvoDh52EBYu3VytcFKXhYufAnokCZe34F5VwUMa8SB4hFyuIViOB5ZUBiRRyF8jMMgmcQayhIyQ/9DWVALUr5EwbBs0q8MXhUm7S5/YV4RhwlppoQbLAQFCvfe59yItYyxJtP3HXQ57XyWLMJ1ie5g899yIlUbRfizCPeuOjbQ2zlFDyhBH9JZKL8og/BeuWxvO+hfye+GBbBndpv1yyUFxG/PApu7Ce/dUqd032knaD6e/db2btlYnfw0eXAxB0bTIzEguJVUJzvzOAQHK6du4jFZbtSX+phBy/6TfGZCfU5XXCc5KIXtOBCcj3qxhJPXQxsOWMmdJBLcIdF8IeQC2Eb1OlwcchizIROcQlOIl5pwcV8PKRM9M3Eu34G8w5tQoyZ0CNiNNeO/iTxk7iNhabAoo1Yui9ph8BdKNOXdY5M6DOOQ1gEpxErbYJNxFZnOh7bQnzORV2IMROSzDF9dC/IwYSvxtwSUiPAdJRVo80QhkxI8t1JfsohWOZiUDMZMiHJC2RDLIJ5RAkRQ04aV3berR6Wdj+ZkOQ4jj18CYr5EtHOTSQTPAjW+cyE5MFXTLm+Z8Fsm/cQxR4e0TJtAKUeBG9y7CbCDl6yXMFCkoNdR3+P3C+0ydGOJNxmQuJnZzGHYMTFKzC5Morj+RriMc5vPuFzDerk26ljyn7QTSYkHs39HBvevCRzLhnncFhkd7FFaCs3zyuUOrtMqAen4xkcgiUe5kUHzli2EbOxHRqJz9tQ16H1adIkrTIhcSbzgFitnKb7FowZeEWWjHLMS6tMaBUxF/WTOU/VWpglWjEPi7BJlVnOONwVN5lQDodgnEmsA3conzETKuMQ5JC7p6ycnJlQq/LOJI5YMcTOC0pQyC01lAlJwQkWdc24Vpg72e7vtbepTKjY5twn27SgyUxoBPraHW6FTQqazISc/gkpYkowiEzICWIMeSYEg8qEnFBiQjDITMiOmAnBljQSbDEhGE8jwbgJwUQ6MfAE///r/i/lD9ew719ky82mAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-help
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACx0lEQVRo3u2aP2siQRTAtTkE03qthXBwKWzShGCRSra2tFmuiNdsbesH0Cpgoex3CClSbJUvYJVmW0HuOg+S1iPeE95CMG/G9b15s+Y2xQ9k3Zl5Pxxn3vypbLfbyv9MpTSCP29uXFEDOkAETIEESIE1sEHW+CzBdyIsU3MVh2vBKhAAE2ABbJkssI4A6yxcsA6EwL1AysQ91l0vSrAH3CmI7XOHbXkTbAFj4NmDXMYzttnSFuwCDx7F9nnAGFQE+8BTgXIZTxiLU8EfwPIE5DKWGJMTwb5AbgXEOBq2gTOkjc9ifIcr2ZcKdpnd8hWYA1c5uv4VvvvK7K5drmCLOaDsspQhY9oZYlnOwNPiCI6Zv9xQkIEMmb/k+FjBHnOemzvII+fMebKXV7DOzFBWOf9zef6TK2bGU88jGDJHtdgS9DUww5FviZ+vLe/HzBjCQ4JVQeIcWuQWhpWDSTIUJOhVm2AgmHy/G4KdWcrMDGXagjgCm+BEUPEXQ7DLA5M1VeZMEMfEJFgTLla/EoE2gN+eBXcONUqwI8wPz4lAd8/+eO6iOzqUYCSsdEQEOsLv/noaZDIiSnAqrPQXCp0jI3xGdUutaSJjSgkmisubt/JaE/1bEkowVRQcKadq+6SU4FpR8Jtysv1uRUMJbhQFG4rLJYqNb0GtBe9RgusCBGMHA0ruLpoWIKjVXup7mvAtmGhM9McOMg3F9qYaqZqNS0LwUrG9SCPZtnFLCN4qttfRWC7ZeCHy1BeltozLJemC91SYaG1ZnAqB1qaTjUdgADSRAT7TOBWuam0b2uQuiEHmQkHy4LahZOPXxMAy0Q8cH3Xn2viVbN1TNC2CTYdH3Lm37iWHL0UJHn34Ijk+891F2cdnkgNQX4OM6ADUxRG25jTh5Ai7FJcQSnGNpBQXgUpxlasUl/FKc52yFBdiP86V5s9b9x+Uf/4nq7iNsVR/AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-home
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABYUlEQVRo3u3aQQqDMBAFUC/hndx5BTeltxB6Aq/TE/QgvYPQXZpCFqVEm8z8H5N2Fh9BopnHQEjQzjnX/XK6vwGeT6cSmUPocx0BfMFcyFw70G0kBVcEWRI474yfWwfu4ajIEsAUHA3JAF6EOAoSDdTi4EgkEIWDIlFANA6GRAAluEsIHakFSnHvz1ORqK2aBFcEiQBKcJ+bbRpSC5TiYgVTkBqgFlcEKQWicHSkBIjGUZG5QBaOhswBsnEUZCqwFA6OTAGWxkGR34BH4WDIPeDROAhyC1gLTo2MAWvDqZAx4LVCXAyZMu81BlwrxUmQa24Hj8blIqMdnHweBNzdZ/EZfPqQIdy7E5Avw7S1ik6hk2u4anE3n3FnGziGMVrke82T9DQh6dyY8N5R2En4cSm3gCXjEL20CBwygEOLwD4D2LcIRH2xMqABDWhAAxrQgAY0oAENaEADGlAOtL/uG80TNJjiVeB/r2IAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-image
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA9klEQVRo3u3aQQ6DIBAFULwnW9NbTLwP9+IaU5q4MI0lKB+aGf/ib4wGX9QPCQZVDZ4TCCSQQAIJJLAB+FpX9RQCCXQADMZCIBq4lMSSVJL3pP3YYh34AWyVb2QbgJwKjA1FEC0DUwMwWQbmBmB+OlD2uHxF5XCeeCsZOTlXvEwTUrlGrE/00vDUxepSTS4spGUW8GrLIXA1JBR4p+VQuF/jwoB3Ww6JOxsXAuxpOTTu+z67gb0tNwIHAyJabgQOAkS13AgcBIgogFG4vwL1MFeqV+CMEEgggQQSSOCMxTY3X6wBucNLIIETgfzTiUACCSSQwAcC35LLSVAaMD/pAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-info
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACEElEQVRo3u2aPa6CQBCApSPhEBYewZaaUFvSmFfIa7iJtJzDWFBQvQtY2dB6AQprChyT2cSQlR+ZmUX2FV9DdGe/ZLOzOzurpmlWS2ZljeDv4UCFC/hAAmRAAZRABdRIhd8K/E2C/3Gp5kEt6AAhkAIXoPmQC44R4pjGBT1gD5wnSL3jjGN7pgR3wIlBrM0JY4kJboAjcBeQU9wx5oZbMAByQbE2Oc6BRTACrgblFFecC6ngD3CbgZzihnMiEYxmJvcqGU0VDIiW5R8QA2skxm8UyzX4VHBDtKE8Rbaa8bdEkrludx0ieCRaSnHH8o+JYhzHCu4I89y6Q3BNmCd3QwU94hOKhKA68XhDBPfEu53EElXs+wQdhoMz9ybTPqA7XYIhU87iShM6wi7BdIYJfSzpO0F34mV1LjwdXJ2gvwA5ha8TTBYkmOgEM8aAkpvMk0wnWDDKSaUJRaETLJmCSSZ6RakTrJiCSR3VXql0gjVTsL5qAUfM2krBakGCleQmY0KwlEwTJgQLyURvQjCTPKqZEEwkD9smBH3J65K04NvrEteFV1owlS5ZSAuG0kUnScHeohNH2VBSsLdsyFH4lRIcXPilLt1LCI4q3VM/vkjcB0c/vlA+n3Hf6D9+PqN6AOWsyUx6AKV8wuaoqpE8YVvRhGBFG4kVjUBWtHJZ0YxnTTulFQ2x39PS/N91/6U8AC04C2S+OuOtAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-key
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABtElEQVRo3u3aMW6DMBQGYF+CJSdhyc7GKaJIOQFdKjgBK1t7Ao6RpXMk5syVOiGxuS/SS4Y2Nhg78Bu94V+QY/PJzjNYKK212nKUAAUoQCzg8XBAzo5SUi6ckq892sQO/KDoPym3Anx/gtM8k9EDTbhNAG246JfoGO4z5iIzhtPcRsUInIJ7iowB6IL7h0QHzsHdc9sjd8jAMVzFsVZUVOAU3L2tDXlBBM6pllUswNnVkvdA6CXqVS1NbxYoQO9qaeobARikWqICg1VLRKALbrRaogHn4KzVEgnog5t0DrMm0BfnHF9gSikoLaWj9JyOrxXcZhWcD3BPaSg/E/apW5uvNXBzgSeeIR0o1Su3IlfgG2WIBecKPMWGcwHuAy/Lb+4TBthYbvZKqSkZJeFkfO1q+V2DAkwt1fJMyS0D5NzGVF1TBGBhmbl8wiC5ZSYLBGBruLnaYaDa0EeLADQVl8xhoMzQR4cA7A03lzgMlBj66AUoS1SKjGwTm9/oN/+o9oqH7Q7tYTvk69LAfSk0YIgX3oH7UKhAnyOLbsmZW/rQqVnqP7fmsaGCBMr3ogIUoABD5hfZL4jEy8D2rgAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-like
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACZklEQVRo3u2aUURDURjHL2NcRkRERPQaERExxhgjYk8xYlp6iojoKWJPEaOnGNFTRE89xYiIPUVERIwYI2KMcfsO3+Gac7dz7v3OudtxH34v25z/+bFz7jnfdx3P8xybcRLBRDARTAQTQQrB/b29ccwCFeARaAF9wAPegHvgCJiTGEeGDaAK1H1510ANvxs7horgDHDhExpFHycyH0LKBY6Bb4mcH/ytG1Uwi4N5ivwCZQW5PPAZIucDWAsruAX0QoT6qUnIHQKDCBlsjkVVwXzEUFnJE6IMtjTWZQXZRtElCuZUBXI7xBlfuF+MFbwhDmb8Acu+jGX8jDqnMU5wkfCvOcyzT7CpKWOADoGCl5qCOQXcEHRm1IMEXQ1rb5gWojOD7aquSLCgOdgkRZHgmUWC5yLBB4sEH0WCbxYJvosEuxYJ/ooE+xYJDmwX7IsEOxYJdkSCLYsEX0SCDYsE6yLBku0nGdeSdchqOqmg24QNx7XKqOtSBmhPsdyTzI0+q/HSq/X0wi+7MkWnypTJsfLHpmrZ8GBa5VQKv2VNxSEqWOF3JWrpnlXAXidQ7oqidM9JYwF3Is6ZWHUna774ycX8GGGdpgXq7tIwGSwvmnyUdBWbOZEEOauG1uZtmL4jhSCnig9ZarG2qGsUhyBjifg+2QzZRNUmyHfaOlHpPR11PjoEOaWQh4Oe6kYSl6CDbeWuolyecg66Bfku25GUy1HnmxB08JzYMS1nUpBL9gKalUVduSYFg/rxpzozTQsOd4/vdOfFIZjGl33aeJ61TpCxDeyayIpLMDXqkqpVMHlfNBGcTP4B/73CfqDLL9kAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-map
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACH0lEQVRo3u2aPWvCQBiAhUKhOHTq2iEkFDIVOtpBcJVOhToKIh39AQ5uOkez+wNchY511rWDm2ZSnJxEQUjfg/cgyF3Ml+flvOFZzrv3zUPO+0zB9/2CyhS0oBZUTPC72YyKBdQBF5gAHrBHPCxzsY4VNa4MgmWgDywBPyJLbFOWWdAAusAqhtgpK4xhyCZYAcYpxE4ZY0wpBD+AWYZylBnGvqpg5YzcH+AANcAGioiNZQ7WCZOsXEvQCOmWC6ADmBEGJRPrLkK6q3ENwS7ngX6BaozphFLFtqyYXdGCZc5oSR6wlECOUuJIrugUIkqwz+mW1RRywTfJ6q59UYIWZxLvZCBH6XAWA5YIwTpntDQzFDQ5o2tdhKDLSOxkKEdxGHlcEYITRuLaBQRrjDwTEYIeI7F9AUGbkccTIbhnJC5eQLDIyLPXgrqL6kFG/WlC+Yle+aWa8ovtm9guKb/hvYkjC+UPnW7i2DD4JqcZyk1lOvgN/ifXGcitZTy6p3xmIPgl8+3SHTBPITfHGFJfnzVSCDbycD94z9kznsPDttILEloJBFt5ueElPACbGHIbbJMbQUI7hmA7T3f0lEdgG0Fui3VzJ0joRRDsxYkpm+ATsAuR22Gd3AoSBiGCg7jxZBR8Bg4MuQP+lntBwpAhOEwSS1bBF+AYkDtimTKChFFAcJQ0jsyCrwHBNxUFCT9IQVXBd0ReQf3FrxbUgpnyD4MbAZUQW9NvAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-menu
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAnElEQVRo3u3asQmAMBRF0YzmMuJMzuE0dpnCNiagjaQQO39O8SobD4jxgqmUkiIvAQICAgICvgAu89w21W11R1352Y7r3puhC2wX9h/CnmuGqQdcA+DurT1gDgTMQwLDP6LhXzLhj4lQAwQEBAQE/ADUg3pQD+pBPagH9aAvGUBAQEBAPagH9aAe1IN6UA8Oc0z40wkQEBAQcEDgCTEqtItU9YrUAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-money
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAD2UlEQVRo3u1av0sjQRTeFHIrQUTIHyAKV9nZWh0hBIKNkBDSyAWMTRpJkT8gBsSktUgTrCxSRCzkCPsPXGEhZyEWgqBNihzYmmLvBb6Bx7JZd35FdK/4IJmdee99O2/eezM7ju/7zleGkxiChwcHpuASdgh1whlhRLgnTAhTYIK2EfrUMcY1ZYdpgilCntAl3BB8RdxARh4yP5xgmrBPuAoYekvoE44IBcIWIUNYAjJoK6BPH2O4jCvITn8UwT3CJTPojtDB23cVXTsPGXdM7iV0LYzgJox4hQG/CQ3COusz+10itAlDzM6Y8AaM0TZEn1LI+AZk+9DVgW6rBHOEayh9IbSY0hVCmXBOeFZYf88YW4Ys8TJb0OVDd84WwQrhDxT9IuyifZlQRUT0DWEEmcvQsQudPmyomCb4k/AEBT3Cd7T/IFwYJBbEBXQ40NlD+xNsMkKwwsidElbRPstdDxbJCTxAlwPdp4xkRZdgjrnlTPA3rI9jJGwZQ4OyZcZOoXMFNpwyd82pEtxkAaWHt7eCRKwyEzoEBbqwYZW563VYdI1DsMMCilhzxxquZoKgDxvEmhSBpyNLcA+554VFy7qCW9ogOGVrchc2vgaLgSiCaVahtFi0fFCsLU8IxYgg1kSfR8nAI6Jri1U86TgE91mFsolcdKFALCtZXmUVUsgybBQVz/57BFOscG6grSqpuKdYuGcVPKSKsQ1WoKeiCOZZ4byOiDWSnDlngQRHsHGdFej5KILdQFQqSyqc55ZrWGfB/nx9ZhWDTjkQ9bvzCLpss5rHoHMDs7cWI4DczHkBcXAe8L6ZLDeM4A7brLqYdpldwWAOwZrlUu4Ztrps07wTRrCOh30YVjIUXIoLqFdL0NXH/3oYwTM8PELntqSSQUQA8SwTbEPPEf6fhREU0bKAzkNJJX/fiZJNiwSH0FEQ0TWM4D0ebqHzrYKiOMn9BC/DJMFbyN7C//swghM8zKDzWEHRI6JmnLxXkyzPojCGzAz+T8IIikJ6CZ3fFJV5EiQdjfTA8QZZS6Igt0lQzKRMLbqt6baxCJpw0bDIGpdo0baLmggyUZVKLQbJgc0go5smTLhu0Waa0E30Mpi3Ad6wmeh1SzXZmTRJMFappltsexIlmUmCsYtt3e2SJ7F7aBpcg7G3S7obXi8kgXuS0bRnc8Ore2ThaX4l3l7EkYXOoZMOwQ3FulT60Enn2PBRkVxNsUxTOjY0cfA7wPrLWtw2aR38fvmj+0R8fEnE57Mv/wE0EZ+wE3EJIRHXSBJxESgRV7kScRkvMdcpE3Eh9vNcaf5/6/6T4h+8QqTvePicbQAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-music
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABXElEQVRo3u3aMUvDQBjG8X+Co5N7BScnQejkJ6ibQ75DcXF2FNzcHKXfoUPGbG5OAcHJSTBj0UX3uJyLkGuD914u4XnglvSl9NfkvbcHzdq2ZcrJmXgEFFBAAU2z1/XC5XI51GfaB46BE+DQrVPgCDj4LXpYrbJ/AVNAmN7BMSEsgUkgLIFf2kUFFFBA/ZJJLN/AK/ACvLv1DLwBH2MB+hCfY7mD0RCxgLdDIWIBb7SLCiiggAIKKKCAAgoooE70g2YGFMACmLtrNVBNAXgGXAMXf66fuzXqR3TWgZtMDxahcbs+okF7wpPFEJtM8J7wZB57TJj0RKBsQgCLyLjaojaP3ROeVBa1eeye8GQNlDvUla426pjYBHiPBrjbgixdTRNiF6177JR1oC/qCbgCHjvG0roPbhuw6gEMORMb4N4t0zFh0hMpHZdMeiK141LwnoidTH9pFlBAAS3zAzceV249VVjDAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-percent
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABoUlEQVRo3u3a3wmDMBAGcOfoi92hO7hJ7RbFvusUHaSPTuAeQgewEdKXECzen+9iuYcPioQ0P4jmTqyWZan+OZUDHehAB5oAb9dryelCppj190kC2IQMIWPIHDPGaw0Qdw9ZknQc4DmkD3lnJv7mHcecDXBrJipwXfBzA5bmqYi8b/wvGdjvwH3Tg3HkLdpktuUrpA2pY9p4Ld2uDRD3WMdRgEMGd8ks4JJBDkgcFTgmk7UbC2mTsSMSRwXOyYT1xmLqZOyMxFGB6aS/FrV3vBjuSEAS7ihAMu4IQBau9IcMG1fyMSGCK/WgF8NRgZqlmiiOCtQqtsVxHKB0u6SC4wAlG141HBco8cpCFScFrNDl1xGAEJwVkIvbdUuggRwc6aGGBHJxpGMJBeRuS3JhgQBK3HPk0lAbKPG0ZBX3mkCpo4DVnmkBJc85VoOtAZQ+xFmvSKSBGhVKMUCt8qsIoGZtaQ7ULpxNHzKIrsDsmEC1PCYHPayfsyjVOiDOpNiewDh4uzSBcfCGtzPAQV9ZnDKfTBX7eZd/jOdABzrQgRr5AM7svASNoONTAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-photo
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABkUlEQVRo3u2avWrDMBCAvQU8ZffSzZAHye6HCH6TerFHP0GWQqFQ6FDI5kUvkrXgJkMCLahnOC/inNhWiqXTDd9iJKGP6E4/l0hrHXEmEkERFEERFEERHCGY73a3SIAX4AjoOxyxbXJnzH9limAKfI0QM+n6bHwQfJ0h1/Pmg2BrIXh2TbCLm3fgYiG1FBecezIk2MXat4diJqcu9inBTwZyPQdK8IeR4C8lqDkhgg9CAQWQYRKLkRS/FdjGO8EGyIH1iD1rjW0bXwRr/IWmbs4p9nVa8BlYWZxAVjiGk4L1gNwWqDDWWkTht+2AZO2aYEMsyyegxPPorbNqiW3N5dq4JJgTcvsJ/feEZO6KoCKyZTljnJLIrsoFwYKIufPMq5UZk4ULgpkxqcpirMoYK3NB0EwuynK5m8lmccH4gS8ArTFWLIKyRCXJyDbBfqNnf1QL4rDN/roUxIU3iCeLIB6dgng2lJftJQTZF18O3MtnGywesi2A9iXsD+DqodgV506XsOWfTiIogiIogiIYoOAf/IB8nc/ctnoAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-preferences
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACZklEQVRo3u2avYrCQBDHhfQWgeA7XGdIJbaBVFZ5BT1f4KpAwGcRDtIHhLQ+gpWNYB0EmwORSG6EEUTyMZv9cE1S/Juw2Zkf2czuzswgz/NBmzXoAXvADwP8ns9FKwDtQCnoikrxWSDanmpAA3QC5SU64ZiPBZxWwD00/WTAkAAY6gg4AY0I47YEwC1hHgttKgFcgPb4/3gV40xQRgDMcGzZPC7a2qNtqYA/oPOLg6uSQDEjwD00Iy7xM/ogBfA+8aXEwU3BV4gYAKOCrx+XjL1UQTYFXBR8uVcdQQ7IB61BNwbAG75zf3cMOtSMP5ct1yaAE1z/VEdzTmXEcfuiwNME0KrZrN+lU1Ekb7pEXQ0BPdFBJtQIbiVrm4g1gNtUnV95AU1ChJOpY82hQMhJZswQ6f5wj1uCbNAQZeOzCMdQI7Sj4qjmEx1KcCxlvoQ4p68CcE1w5Bf0xXAL+MJ36uZdywI08bwYETbzhBHuGTIhLNMIfTF5AA28iIZ4nWH553yO+5zP8E9m6FuIvhpUwIDj5BIJuLRGHCebgAK44wjjSwGASw77OwpgymHAFgBoc9hPKYBXDgNDAYBDDvvXHrALS7T1Qab120TrN/pOHNU6d9ju1HXJYUgPirzwZnjZlgpoYtrgXSmLg8yUhYEJn3cnnWJZgCuN0oahaEBPw8SvKwpwpHHq3lJdfMkEOE6N0MKKL9Ty2QHDOG/5zCFEaqHlM0oBNJZQAN2oLIBWlbDLIhpvCdsoiNxSS9hFTQiugiYET2UTwnPgsRS2kYxUtpF0ohGob+XqSjOefu2UfcdvD9gDKtU/PDTz8fDYAHUAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-product
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACVklEQVRo3u2aP0gbcRTHP4pUWgqOZlIsWKHYIigOdTDgKGQILThaCOLSIVMppZOTk4uDiNCODlKkWwbBDM3UIUOHkELFJVxJyCCok6TLV7CXP5jk7pI8fw9+3B25ey+f+773fr9fyFCtVsOyDWPcRm5PNjc2gvY9DSwBC8AsMAWM67O/wBnwC/gJ/AB+Bxl8b3//f8AALQ4kgQQw2eSeCY1lXZ8D34FvwGkoCgZgz4AU8A6IARf60jkgDxQBT/fGgOfAHPBaL+U98Bb4AhwAf/oJcAVIA6tABdgFjoBsk/vPNDK6XgbeAGvAR+AVsAOc9ANgAvisWssAe8Bxmz6yGifApl7UOLClLOgZ4ModuK/ANlDowt+xnv8ArMv3ZTdKjnRZc+k7cJ+AUgAZUZAvBJlWOndUk93MgymlUkbKlQJsWCX5zChGKuqJPq5uWVHNFQjeCvJdUax4lIBJtfrDDhpKuzV5qFjJqACn1TkvNBWEbUeKlVDs0AGXtEI5bTHPBWlZxZpU7NABF3TMRbhmzvlihwo4q2M+QsC8L3aogFM6FiMELPpihwp4u+XxIgT0fLE7WslcAY/bePaqB/vXUeA+P0FcA0/8CpYNbeSrjVLUEmC5EWDVOqBnPUXNK+iajFPQddHepqjrohZS9MYy4I0RFa81Gm6XqpbqrxGghUbjtQI0r2DZAQ5QB32QClatK+hZB3Rd1AH2+UT/1LqCcwYAx1oBvjQAOG9dwXnrCi42A3wEvLCs4IwgB91iGnWAFuqvTsVhY/VXV4dOwUEHHHL/uh9w+wcKEpMfhYBTBQAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-refresh
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACJUlEQVRo3u2aoa7CMBRAkSD4hvEFE/sE+IdlmoRgMAu+GHB4LArcHIJfQCEwaEJe9guQbO+S3CVk4bVd19uVvYpjRnu7w7q2u20nz/NOm+k4QSfoBJ1gI4LTyaQOAyAEVkACnIEUeCApXkuwTIh1lNs0IdgHImAL3IC8IjesG2EsawR7wBg4Kkj9xRFj9poWHAI7jWJldthGI4Iz4EooV3DFtnj3wnQKvt6PJfA0IFfwxDY/vZvsVUaX4KuBtUGxMuuSJCt+0yW4rHAzd2APxMAI8IAu4uG1GMvcK8RdluV0Cc4ku+UFWAB+hZHYxzoXye56KF+vKziUGFAyYAMENSbsAGNkVbtvHcGexFTwA8xrrn7emWNMI4JjCbmpRrmCaRVJVcG+YIWSaX5yn55kRikYCQJvCOUKTpSCW8FoGRDLMcouOhB8FSxskVMVDAWTuG+LnKrgihNwb5OcqmDCCRgbGFzIP3jPHMFRGwRTjqDXBsEHR7DbBkHb6HL+8EcbBD2OYNoGwRFH8NwGwZgjmKgIquRMGKHgntPuyoQgpZwvyNuE1IKMuHsuBCn/AaUgtVwgSEZtVedBGbmTgcFlI7iHiFKw6ZTFsUgEU3bRJpNO4zpLtbyipOm04e59e83ENGEy8Xstb6vpEDxYlLqf6fia+DQV2LT5ok2QWbx9VluQfcEGqLKgaIVi0xa2O4TgjpH854NA33mUy502dIJO0Ak6QQl+AV7yUKtBpf5HAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-remove
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABcElEQVRo3u2aMW6DMBSGP6IOnKGKlM70BN3YcgKGDumIeovSW1SMzdAhJ8jWKb1B51aKcoYuCV2MhCKiGGrApP+TLKGnh3kf9rOf4QVFUXDJMuHC5epY8ZimTfu4Bp6AByB05NcP8Ao8A7smN77kufMRTE0LHb74sNLv4FM06XCGJT4ARh0CRs5jsIUEWkU9BIyBDbAHCs/b3vga2wLGwBK4G8kIT4yvyzrIOoB7YDrC2Tg1vp8FnI845OY2gLMRA86Ui/q+r2kfbJHJ+H5gDJTJCPAfAu6ADLg1LTtz8u7a3vlxKTefE0opr7OB7J2P4MpS15e9c8BPS11f9lpkBChAAQpQgAIUoAAFKEABClCAAhSgAAUoQAF2DRhZ6vqydw6YWOr6sj8pbf9NlFWAq8rD0wHtT0pwXPFbUy/6hb+VF9/ATVXRpl507fEasnYRg2/A1kO4rfHtz4DvwAL4AA4egB2MLwvjW7MY1D44MvkFUW10U04xFu0AAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-runner
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB4ElEQVRo3u3aPWrDMBQHcA+FQu/gC+QCoVPJCTrpCKZrhswCzb2Jp2xedQlfwnMD3lwNchEm+niyJL9XNPwhyCLRj0h6cuJmWZbmP6epwAqswAosDvzqOoxpVa4qg8qkM+i2du1HFfiucldZLLnrPiSBrQdnIluKwGsAbs0VC5CpSB3m6TsAgAMGoHgyMO7oPwGA09FA4Rgcpw4UAQPkVKdoCO6b6iYjHN/Wek0Y/W+bIn7GXCZYwFS8GK+5ZeAd1kIvAZsJ9wDOGI9qMgHub32FfOYRU9RX0HnoDokR6IsN16t8bPJJDejCnWLfFwvQNS1PEedVVEDfmnvT/UajbaQCDNlQXnXfh9H2oAAM3S1X4Gy0zdiBHHCefKEGhODMMykJYCyOBLA1inRvKd69BUduDa6gZ9culnbUQFuRhhTveTOFZ0t+dJ1kpYDbdScj7i4aPfAFEFkCyG0fHHF/OGID2nZMBrzDN/uO+hQzHz1FeeDW7/uNZvf6zwGE4LIjUwNjcFmRKYF7cNmQqYApcD4kOwqYEudCyiOAOXAh9bMIsCSu+BQtjRMlNxkyuBggKRwUSA4HAbJMg2A5cRCgzDQImRO3B5hqEDInDjpFwf8LJH4+Jh+wPk5ZgRVYganyC4yUCKa19NuDAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-tags
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB/ElEQVRo3u2aMYvCMBSAC3I6CgcHgpt/wanzTcLhdIO4FxfB0cUl0F3cRSfhfsTt/oQbT3/BOTge9l7gFRxSvOY9kxfJ8FEobZOPJE3eS5KiKJJHJomCUTAKRkEvgpMsM9EBhsAC2AF74AicgQtej3h/h8/p57sV32PHRvAJeAM2wAEoLDjg+yOgLUmwlCsY+QQyoClBkFvumg+g51twY6jYN5ADKdDCa47360p+AX1fgh3DmNMS44qPjy0lf4CBD8GhoTL5jQJyQpdVrgUXhkqkNwpIieNSuRTcGSrQulFAi+Hno1wJ7j20IFmyjuDR8RhkkawjeK6YIrj/oqySdQQvFYVyzoPsktQW9IVyNQbFS1L/ouIlqfOgBJb3XMlIYXWvtaj47lpHsEuI4L1JcsSD0lgDDVvBUQCCZXbASrCNOZQQJGe2WbUsEMGT7qo2gk3sAiFIpraJ3x4miMR3U0pmu48JIsmCc2rqfiBc8JUqmODkKlHuF3jmEJQqubWdJkKQ1FPEC7egFEndNd8p22fSJafU/UHJkuRoQrIkOR6ULKk4t7ClSSruPXpJkqxZNSpL6XlRDlaSM9tcqInQvQkJknfdXeJmXXP5NXV10omLxj9TH6frtWVIgiUzlDC12raMCkIWLFszRdm5jsR1sOr0GEk8LxoFo6AT/gCQCb3L819sAAAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-tel
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAADHElEQVRo3u2aPWgUQRiGnz0D2gpGDFocErUICAoWJsZOBRVEJIU2WuidSizEH6wkKYIxWkggEM/EWFgkiEREERuT4rQQVIwIAYV46DUpkkI7A2vhd3Ass7uzu7OXueNeCIHcd8M8zOz3s28c13VpZGVocDUB610t3j+cz+Vs3Gcb0AVk5VBKQBEoewNHC4VgQMvUAfQAx4Gdns/eAY+AMcDVPkFL5AB54Byw2yemU37agdvAUr0AbgKuAlc046/L7xuqk8xYCNcXAa4a8qztWdSRk8vH/P4ZYIvNgPkYJ+d9Jg/ZCtghCSWpum0F7AnIllG0y0bANqlzJrTVRsAuRRGPqzU2AmYNrrXORkCTe1ixEbBkcK3fNgIWpXE2obKNgGWZCkzoh611cAwYamRAV0aepJCzNveiSzLy5BI8kx9tnwdd4AHwShrnbmm/tqtqnEcfbE0yKv0CxmUE2gu81/hOAfhbL4DVOgbsD4lZBl7bPvCq1Apc1oh74tcw2A54AdgTErMIjNaiDzStfcAljbjHwKd6A2wFbgIbQuLmgIe16uRNyRG4AxqxE8DXegO8CPRqxE1KixeouIVe2yuIqBNyemGaB+4Df0wDJvYKAnQYuAVs1IgdUfWdSQCNeQU+OgLcAbZpxA4LIKYAjXoFCp0E+jXhpoF7UW5IRgOuD4NegedWXJMN68C9Be4CC1E2kgnZgHGvQLRZrtqQ5jP3BRiMM0YFAabiFQBHpX71aq7zDRgAXsTZRCYgW5r2CrKSfCY0i3gFrh+YirsBvyRj0itYD5wGTmk0zt5rOZAEzg/QpFewA3imMc+pEspg3GsZBmjSK1gbA25asqWRd6UqwOwq9qHDUjYWTC3YYkkDPi/dyUjMNi8SYKnGcJPSOM+msbgKsOIVdKYMNiclYxyFaZImYMUrSAtwUV4zBL5qSBMQGXnaqxpnE1rm/9uvKeBNre6/H2DFK8AAZAl4Lul/ptbZK2hcqngF36VxjnplZ4CnwEsUro8NgJWT9HoFB2WMcuTzFUkSZYkrAp+Bn6ZTfhw5zf/ZbgI2AVdV/wCWOqajbQI4OwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-tips
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACZklEQVRo3u2avWrCUBSA00lwcnaxCJIH6ANUEDoWXIuDiw0dfAAdSuigS138eYKOXZ26VFw6OGc3SwUnwSVCIT2B0xIuN5q/e+9JyPCBhOSc+yXn/uRGzXVdLc9ohWAhmEFBo9cLSwPoAnNgBdiAg9h4bI7nNCLEjUWagk1gCmwBNyRbvKZJWbAOjIBdBDGWHcaoUxNsAcsEYixLjElC8B7YBDT0CxgDbUAHyoiOx8Z4Du/aDcZWKtgKkFsDBlAJkbyC564DJFuqBOsBZbnAJxS1ETpeyyvXugrBEacx3rFSgoaUzsSVKtjkjJaLhHJ+yQVndG3KFJxy+pye4qinc/rkVJZggzOJGwImZ4OzGGjIEOxypoKKAMEKZwrpyhCcM0nHAteQYybXXIbgiknaFijYZnKtZAjaTFJdoKDO5LJlCDpM0rJAwTKT6yfvgm7eSlRTIShzkFEiKHOaUCIoa6JXJihrqaZMUMZi28+ByVXL+usSC7sefczyCy+PCWcb4wmYAUOgmpUtiyDugOOZHTiT+qZTGF7PCFoUtw2jCg5VCibZ+D3gTZhgKfJiDy7E2KOkea4/Uti6P2IpXvtiPkeMYVL9+OLnDSUHMa61ZAhe+nwWpqEfMW/OKahcRQiGoYYT92eKH2645apK8I8bAZIWJUGPl5QFHX+5UhB8EFCm/+VKQXAmUNCiIDjMu2AV+4uF7PNWoixWioJ9ioJmioLvFAX9JXtKKPhNUTDNciUvaOaxRIPK1Ykh2KEumKRcb4GrLAmaEeXILLbjLgi8332vn3mDCeL97nhPLrJg8Y/fQrAQlMYv8RLS1hU3JaEAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-todo
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABBElEQVRo3u3aQQ6EIAwF0DLxrGZOgYFTGC/LbCckKIT+guQ3ceNCfZb+MBldSklWro8sXlvvBb77jl4CLj9xXhc7SCBnsGFmGiuxgwQSSCCBBBJIIIEEEkggga/8PZjYQQIJNJ1Bxw7qll8Z6EUkrApsxmkBE+gIvbiZOxhF5OjFzQpUw80IrMHF0XtRBwyU/xfw2iWqhkMD/WgcGhgakeo4iyVai4TgrGbwCQnDWYZMCQnFWadojqzB+ZmB8QZZiwu9D7EBgaUuBIstmtUSPSq3VhCc1Qw+IfNACZo3twqZElItLWdI0RwJx6FD5i54xAI3AmgGQwL53wSBBNaX41f3L68fv3JW3bJUv1YAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-toolbox
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAADSUlEQVRo3u2aMWgUQRRANwiCR1qxuCIQbGIbCAZO1OLAyvIkcJ3khGATqzQeLIJFimtP4SxTCdoEu3CIELA4OAIhgVSBwIFNckSLJeL6B/7Ccs7O/j8zf11li0dC3J35b//Mn5ldgziOg/+ZoBKsBCvBcgg+W1+fZQ5YBDaBETBF1O99oAXUNPdxuAtsAR+AY+AHcox/28Jr2G1TBBOWgSEQa3gPNC3l3gDnGe2mOcdr70kJKpYMkofAmoXgJ+AbQTBBZXVDSjAvk4eWmVQP7jmwS5S8At7ZCs4RAzINV5c5qeb0R6Jo10ZwkRiIKZMtx6KjeAx8cZXUCW5i8JQgOhmd9j0IKh4Cpy6SOsERZmaJEMBCRocjT4KBYZSQJHWCU7xhSMhkluDUk1yXUV21kibBmJDJjqAgVy4tmZA5ROMZyWVmkRn9Jbk/ZHWCfc2FQ8zWAtLJmRt9QbnPHEmdYMvDk2sJyYV4XegiWMPF2kXwlaBcwJHM2qo1cdvlNP4F5aiSoWkvulaQpK1c3r0hZbPd9DBcu0JypgyGnNNEDYtG33DgfW0h2fU0j0PTQ7E5LgWW8yEt+cAxc4HkedCXZCgtJyEY4NCiSqoNQ+S4vBQuyM3kCnDmO3PSghTJt8B1vHZeQk5akCL5FahLyRUhSJGcAPf/NcEXwEuG5E+8p/SCN4CdjGIyIOx6drCNUgreBg40QT/Ff1cFZZ8geYBtlUrwEXCREbBa51bxujrOuTzJC2yzFIKU1wtqnbuF1zdmFndfRy7vgvOMV+0xvsjNe1mlY9dlnbQVvAOcMIIcaNoYMO4/wT4LEXwCXDKC20/tWNJQi07CJfYtJngN2GYedic5OxVq0UmzjbF4FbwJ7DEDibCg5AXBKToJexiTF8EV4geQWTqModSxaP8UY3MSbODHRm7nA4uCMLDo5ypvlJgE28Rv59Sikge36KS/3be5guqpHFl0NnE8/tgUnRhjbXAEexadpLdkLqxaFJ0YYyYLjoWLikTRGXMEowKKiu+iE0ll0Lao+C46Y4k5+F34nUod+/A+BylV9Bdxp+JKA/vyWkWTdfDIsBy0C5BLxzIxyLVddjI9HN8R/uwVlDkvsVT/IbYSrATLwW+Sf0fziuxZOQAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-user
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACiElEQVRo3u2aMUjDQBSGu6ibbi4ugrqIoxRB6qyIio4iTopSENe4C66iKEVXQafg4CiI6OJgFwfTSdwchApSrYLGP/AXMqQ1udwllzTDtxzvvfDp8e6415xt27k0k2sbwbXVVRWMAQOYwAI1YnHNYIz0b6sWLIASqAL7H6qMLSRFsMj/kB0Qi7laC26BuoBcgzpraClYDCnnlizqJlgQ3JattmtBJ8GSRLkGJV0Ex3x2y6BUwxwhMgUNBXINDB0ETYWCpg6ClkJBSwfBukLBetyCg+BHoeAPvxGb4LpCuQbrcQqeRCB4EqfgQwSCD3EKvkcg+J4JZls0azLte0w4h/CNQrmbuA96h1lQBr8SxX5Zc1anJ4sziYJnOr7JzIMPCXIfrKXlq9qeBME9nZ8NR8BlCLlL1tD64XeKDSKoXJm5iXi6nwG3AeRumZOY2YTDKDgC3y3EvhkzmrThi5tpsAvuwBu549q0qu9GITgEFkBHi5gOxgwlTbAPnHIbXoBNkAc9JM+1C8acMicRgv3gWKCLHjNXa8FJcB7iHDxnDS0Fd8CLhJvMC2tFKths1v4FehnzJPGy/cSavfxG4Nm+X0E/s/YZBSO0kuvCIDTb9yPod9Z+yPgJwSua15VtgjUPRWf7/wkGmbW/gkXXX/w6hNy1a0cssrbQbL+VoMis/R7MMX8YbINKgPwKc4ZZY441hWf7zQTDzNofwQboZK0BsAz2wRV4Bp/kmWv7jBlgTidrPIad7TcTlNEonC63BLoDtPVu5piyGpSXoOxZu7PFDsAKGOdVrIv0cW2FMfdrkmf7XoIqZ+1RY3gJmikSNL0ErRQJWl6CtRQJ1tpS0E4TmWDqBLNf3SeUPw0IAEAx8JAwAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-save
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABIElEQVRo3u3aPQrCQBCG4TcqgpVg6wEEizS2toI38ACC2AnWloKVveQM9naCJ1AsBG9gJXgAWZstNEgSCRh3/QZCQljIPMzs5ocExhh8jhKeh4CuRyV+YjwaATSBJdC1x+8iyHntrJM/iI2/AwdgB0TA+XnwKopSK9gCjsAgAVdklIEOMAX2dv9Ri86BhiMdWLOdtgGqWYE9B6daH1hkBdYdXU8mQNvnVbQMDH2/TfR9BzZ9B9b1qCaggAIKKGCe98EvRqAKFlxBozkooIACCiiggAIKKKCAAgoooIACCijgXwIrDuYc/55q1KICega8/XjOJrYl5v4OuHW4YNsswBlwdRB3tbmnAk9ACKyBiwOwi801tLm/3lP0z7aAAhYaD4d0KaCD5yhyAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-overflow
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAkUlEQVRo3u3XwQ2AIAwFUFiWuIW4hWFZPHFUE9QE9fXehEcP7Y+11vDlioCAgICAgID7NaWUQwjzoO9f1lLyVeDQI15LiYCAgIBDAz+/JtpPdb2g9R9MoFs3pXTaD3i1ngQOcYsCAgKKS041QEBAQHFJmhCX3KKAgIDikksGEBAQUFy6dU28vQABAQEBAf8M3ABiQE+gqVHjNwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-plus
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAgElEQVRo3u3awQnAIBAEQC9YiP1XZSfmHwJ55DBRZp9+loETQY0xRtk5R9k8gKunXhd679kdT5s8Mstaa0YUEBAQEBAQEBAQEBAQEBDw76k3a7MvSrP7wogCAgICAr44ByO5Y+rbhBEFBAQEBAQEBAQEBAQEBARcIOHPNiDgpzkBlRENbxLjS1UAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-plus
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAgElEQVRo3u3awQnAIBAEQC9Yjv1XYj/mHwJ55DBRZp9+loETQY0xRtk5R9k8gKunXhdaa9kdT5s8Mst670YUEBAQEBAQEBAQEBAQEBDw76k3a7MvSrP7wogCAgICAr44ByO5Y+rbhBEFBAQEBAQEBAQEBAQEBARcIOHPNiDgpzkBAAINb80J7QQAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-add
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB+UlEQVRo3u2aMbKCMBBAsWOGQ1BwBFtrh9qSxvkNFRfwCA60nMOhsOAOVhY4v9ILUFhb8NeZpWGS8D/ZBNz84jVqwj4mJptkva7rPM54zgje73cqfGADZEAJ1MANaIEX0uJnNf4mwzY+VRzUgisgBgrgAnQTuWAfMfY5u2AA7IFKQ0pGhX0HcwnugJMBsSEnfJY1wQjIgacFuZ4nPjMyLbgFzhbFhpwxBiOCCXCdUa7nirGQCn4BD83ZMQVCJNWcbR8YE4lgoin3DawF/a7xOx3JRFdwSzAsD4qXdyAYrtupghHRhBIqBEOiiSeaIpgTTQpj/2+KZ+R/FdwRrnM2BJ/DZEAlGBBnKDYE+4wn+I3gnnjdsiXYYexKwZWBxNmmYNXvQmSCsYHMw6Zghw5SwYKBYCET9DXTp6UIvh18keDGUHJsW/DNRiSYMRLMRIIlI8FSJFiPNHqfhB1HckvThBhDOxJrLRK8KRo0ki3PXKwxJlm8N5Gg6q2kC5LrSVWjTST4mrjlmXO4yuJ9OSnIfoiyn2TYLxPsF3r2qRr7ZJv9don9hteJIwv2h07sjw2dOPhlf3TvxOWLE9dnVBegR4Xgcc4LUKor7FZxhd1q9EtyhU1VhNAIihCapRQhOFFG4kQhkBOlXE4U4zlTTulEQeznlDT/V91/KD8IdOzz/SbSpgAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-add
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB+klEQVRo3u2aIbKDMBBAqWOGQyCQldhqproS0/kGxQV6BKbYnqNTUcEdqipgvusFEOgK/jKzmE4S/ieb0G6+eKZtwj4mTTbJen3fe5zxnBFcr9dU+MAGyIETUAEN0AJPpMXPKvxNjm18qjioBVfAFiiBG9DP5IZ9bLHPxQUDYA9cNKRkXLDvYCnBHXA2IPbKGZ9lTTACjkBnQW6kw2dGpgUT4GpR7JUrxmBEMAXuC8qN3DEWUsEv4KE5O2ZAiGSas+0DYyIRTDXlvoFY0G+M3+lIprqCCcGwPChe3oFguCZzBSOiCSVUCIZEE080R/BINClM/b8pnnH8q+COcJ2zIdi9JgMqwYA4Q7EhOGY8wW8E98Trli3BHmNXCq4MJM42BS/jLkQmuDWQedgU7NFBKlgyECxlgr5m+vQugoODLxLcGEqObQsObESCOSPBXCR4YiR4EglWE42Gk7BiIrc0TYgxtBOxViLBRtGglmx5liLGmGTxNiJB1VvJ3khuJFONNpHgc+aWZ8nhKov36aQg+yHKfpJhv0ywX+jZp2rsk2322yX2G14njizYHzqxPzZ04uCX/dG9E5cvTlyfUV2AFgrBYskLUKor7FZxhd1q9EtyhU1VhFALihDqdylCcKKMxIlCICdKuZwoxnOmnNKJgtjPKWn+r7r/UH4ACH2j6T/WD0QAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-airplane
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAADMUlEQVRo3u2aT2QcURzHh2VZSgklVJeylFJCKK2wlUtLr6EsPS2VUA17CmF0KKFyKKsl1+qeSiilhEhLeyhhCTktXSF6CEsIJbrN9PfjNzzTnZnf+zfztubwJZLNe++zb973fd/vjReGofc/yysBS8AS0B3A4XA4DZoBtUBd0DZoB9QDrYPm8DO2AX3QB1DDAtgr0C9QmKCvCGkT0Bc6w4G8ANUMtLsIGqWAiVq3BegndHgEWtJodwU0ZsKhejYAfUbHu6Cbku12JMAi7ZgGFOG+ZXQ+pnV0mdHuIwU41LZJQBEuoN9tMQZxAmqntNsEnSsCdk0CItQXAQ5VIdvmDOY7aD7W5i3QqSIcqpXHPlilrYIzIJypG/R/dTIlVTh07pm8NvoaGUvWoB4L+9yBBlxI6zvXJHOJHsOkAW0IM/5ZE25EX1LuUS1pZj4Jn3mrCTemMOAVAYiaBQ2EAR3S7OLf1jThQgoDXpGAkYEc06MU5dQHBuA68b6KPE2gW96lnzHVnGmAnVMY8FwCFNflQAPulMKA5yJgRdMxjygMeK4CdjXgDmgte64CPtHcCq5x+ikKUCdAR2q7ClhPOZFfSADuuwiImbSfMOA/CrM47xpgzyAc6o1LgB0Dj2VcZ0LMKxRwMaFYdGEgnrWLBqxTWYILh+66nLJWpczGNmCNBsCFGwmxa8GE2dgGlDnb9SckE249Z6sIwE2ZAm1C1fsq85SRaDa2ADclIlcno601HbOxAciFOxFLCxlVuYGq2ZgGfC7hfHWJdh+qmg0XEKvWP0AvqbRQVbyTCMl4VG6ZPqqYDQfQTyiqYoeroOtMuN+gpxqPfoNxAvnHbLIAfQNJI9JrA868IWs2aYD3DIHhpv7MYPH4WMZssmYwMAB433CubcmYDWcN6kDetnTs6nPNhuuiKpCNob2qwALXbGT2wUBij5vNoWjV45iN7EafBbmbdQA1qKycuq+aZIKUwFzN+UWgtJy6qhPVgkmXjQUIv9CfE0LIkoks2qSiT7Pg17nexQ7Md1y7fDH1Ts5gknNPM6Afe0PjiqvXZ6raI7j3aaeTaQYM6HaqolRVK9/4LQHd01/8Todx1JEf+wAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-airplane
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAADMElEQVRo3u2aT2QcURzHh2VZSgklVJeylK4SQmmFrVxaeg1l6WmplkjYUwijQwmVQ1ktuVb3VEIpIURb2kMJS+hpKSFyCEsIJbrN9PfjNzzTnZnf+zfztubwJZLNe++zb973fd/vjReGofc/yysBS8AS0B3AZrM5DZoBtUE90DZoF9QHrYPm8DO2AX3QB1DDAtgr0C9QmKCvCGkT0Bc6w4G8ANUMtLsIGqWAiVq3BegndHgIWtJo9xlozIRD9W0A+oyO90A3JdvtSoBF2jUNKMJ9y+h8TOvoMqPdRwpwqG2TgCJcQL/bYgziBNRJabcFOlcE7JkERKgvAhyqQrbNGcx30HyszVugU0U4VDuPfbBKWwVnQDhTN+j/6mRKqnDo3DN5bfQ1MpasQT0W9rkDDbiQ1neuSeYSPYZJA9oQZvyzJtyIvqTco1rSzOwIn3mrCTemMOAVAYiaBQ2FAf2g2cW/rWnChRQGvCIBIwM5okcpyqkPDMB1430VeZpAt7xLP2OqOdMAO6cw4LkEKK7LoQbcKYUBz0XAiqZjHlIY8FwF7GnAHdBa9lwFfKK5FVzj9FMUoE6AjtRxFbCeciK/kADcdxEQM+kgYcB/FGZx3jXAvkE41BuXALsGHsu4zoSYVyjgYkKx6MJAPOsUDVinsgQXDt31acpalTIb24A1GgAXbiTErgUTZmMbUOZsN5iQTLj1nK0iADdlCrQJVe+rzFNGotnYAtyUiFzdjLbWdMzGBiAX7kQsLWRU5YaqZmMa8LmE89Ul2n2oajZcQKxa/wS9pNJCVfFOIiTjUbll+qhiNhxAP6Goih2ugq4z4X6DljUe/QbjBPKP2WQB+gaSRqTXBpx5Q9Zs0gDvGQLDTX3FYPH4SMZssmYwMAB433CubcuYDWcN6kDetnTsGnDNhuuiKpANi1WBBa7ZyOyDgcQeN5tD0arPMRvZjT4Lci/rAGpQWTl1XzXJBCmBuZrzi0BpOXVVJ6oFky4bCxB+occTQsiSiSzaoqJPq+DXud7FDsx3XLt8MfVOznCSc08zoB97Q+OKq9dnqvpEcO/TTifTDBjQ7VRFqapWvvFbArqnvxg6v8WA6SRSAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-arrowdown
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABAUlEQVRo3u3XWQ4CIQwG4HITTiqRk3IRg0+aqMwMlJal/n2H5GPp4nLOZDnc3wBTStw9tE/IcRZ57wEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABtA68E9GNbETw3sfSDVpABiKKZ090Z2QgoljzB3dEvnG1SWYn5AeuJYvugPzBtZaJlZFFHKcOrog8xHEL/UrIU1xPJ7MC8hLX26rNRFbhJHrRGchqnFSzPRLZhJOcJkYgm3HS45ImkoWTBmoh2TgNoDSyC6cFlEJ24zSBvUgRnDaQixTDjQC2IkVxo4C1SHHcSOAVUgU3GniEVMPNAH4jVXGzgC/kQxtXBFoN88AnOLKRoBkO6TEAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-arrowdown
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABAUlEQVRo3u3XWQ4CIQwG4HIfziiRM3Idg0+aqMwMlJal/n2H5GPp4nLOZDnc3wC999w9tE/IcRallAAEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABtA68E9GNbERIKcXSDVpABiKKZ090Z2QgoljzB3dEvnG1SWYn5AeuJYvugPzBtZaJlZFFHKcOrog8xHEL/UrIU1xPJ7MC8hLX26rNRFbhJHrRGchqnFSzPRLZhJOcJkYgm3HS45ImkoWTBmoh2TgNoDSyC6cFlEJ24zSBvUgRnDaQixTDjQC2IkVxo4C1SHHcSOAVUgU3GniEVMPNAH4jVXGzgC/kQxtXBFoN88AnFHuRoLnJUxAAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-arrowleft
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABGUlEQVRo3uXa0Q2DMAxFUWeTTEpFJ2UT+gMSQoTYjkR7X71AdOSPJPYr67qacpW/AS7L8sR5k5m9nzio1vo4cDKz2cyKInDHmSLwiJMDnnFSwCucDLCFkwDe4fDAHg4N9OCwQC8OCYzgcMAoDgXM4DDALO6xqrWWLPDncSNABC4LxOAyQBQuCsThIkAkzgvE4jxANK4HxOPugBK4FlAG1wLOWwdlgbZ1cFIGyiB71wQe6bno0UjvUw2LjDy2kcjodwmHzHx4UcjsyAKDHBk6IZAjQARyFDiCRI3uM0jc8iWKRK7PIkjsAtSLRK+wPUh8CKGHlIiR3CFlgkAtpFSU6wopF8Y7IyXjlEekJPCIlAXuyNdXgKolD/wAafN3oN7AGW0AAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-arrowleft
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABGUlEQVRo3uXa0Q2DMAxFUWcfZqSiM2Yf+gMSQoTYjkR7X71AdOSPJPYr67qacpW/AU7T9MR5s5m9nzio1vo4cDazxcyKInDHmSLwiJMDnnFSwCucDLCFkwDe4fDAHg4N9OCwQC8OCYzgcMAoDgXM4DDALO6xqrWWLPDncSNABC4LxOAyQBQuCsThIkAkzgvE4jxANK4HxOPugBK4FlAG1wIuWwdlgbZ1cFYGyiB71wQe6bno0UjvUw2LjDy2kcjodwmHzHx4UcjsyAKDHBk6IZAjQARyFDiCRI3uM0jc8iWKRK7PIkjsAtSLRK+wPUh8CKGHlIiR3CFlgkAtpFSU6wopF8Y7IyXjlEekJPCIlAXuyNdXgKolD/wARbx3oKAWLcMAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-arrowright
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA80lEQVRo3u3aOw6DUAxEUVaONCudpThdJJQQCDwH+5LCtXWa97FnioiJXNNtgLZ/VXN2j6uBkY2sAExFVgGmISsBU5DVgMORFYFDkVWBw5CVgUOQ1YGnkR2Ap5BdgIeRnYCHkN2AXyPXgFG8ZjpwN7IzcBeyO3ATSQB+RFKAq0gS8C2SBnxBEoELJBX4RJKBYXumA+MPbF4iA0U+ZES+JkS+6EV+qon82Bb5uyTyh1fkkcUmrjNwF67r4FcGT7Zl8OheBi9fZPD6TAYvQGXwClsGhxBkcIxEBgeBZHCUSwaH8ZTVowJQmT2uBiq7xz1D6dR6AOd2yNnY2fy+AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-arrowright
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA80lEQVRo3u3aOw6DUAxEUfYze0SalTtdJJQQCDwH+5LCtXWa97FnioiJXNNtgJJ+VXN2j6uBkY2sAExFVgGmISsBU5DVgMORFYFDkVWBw5CVgUOQ1YGnkR2Ap5BdgIeRnYCHkN2AXyPXgFG8ZjpwN7IzcBeyO3ATSQB+RFKAq0gS8C2SBnxBEoELJBX4RJKBIWmmA+MPbF4mA00+ZEy+Jky+6E1+qpn82Db5u2Tyh9fkkcUmrjNwF67r4NcCT7Yt8OjeAi9fLPD6zAIvQC3wCtsChxAscIzEAgeBLHCUywKH8ZzVowLQmT2uBjq7xz1D6dR6AF0m7X9rxzelAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-arrowup
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA+0lEQVRo3u3YSw7CMAwEUOcmOSmoPWkvgsIGIRBpmo/H+TCz8m70lmMXQpCV4/4GeByHRd8mIg8R2dFF3ntz4CYit9d9RyOtgZ84sUBaAmM4ONIKmMJBkRbAHBwMiQaW4CBIJLAGp45EAVtwqkgEUAOnhtQGauJUkJpABK4ZqQVE4pqQGkALXDWyFWiJq0K2AHvgipG1wJ64ImQNcARcNrIUOBIuC1kCHBF3icwFjoxLInOAM+BOkVfAmXBRZAo4I+4HeQacGfeFjAFXwL2R3vtday6hf/+u9x4kkEACCSSQQAIJJJBAAgkkkEACCSSQQAIJJHBE4KpZHvgEf4CRoPZ8JQUAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-arrowup
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA+0lEQVRo3u3YSw7CMAwEUOc+PSOoPWOug8IGIRBpmo/H+TCz8m70lmMXQpCV4/4GuG2bRd8uIg8ROdBF3ntz4C4it9d9RyOtgZ84sUBaAmM4ONIKmMJBkRbAHBwMiQaW4CBIJLAGp45EAVtwqkgEUAOnhtQGauJUkJpABK4ZqQVE4pqQGkALXDWyFWiJq0K2AHvgipG1wJ64ImQNcARcNrIUOBIuC1kCHBF3icwFjoxLInOAM+BOkVfAmXBRZAo4I+4HeQacGfeFjAFXwL2R3vtDay6hf/+u9x4kkEACCSSQQAIJJJBAAgkkkEACCSSQQAIJJHBE4KpZHvgEW0mRoBW+1aYAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-bookmark
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA10lEQVRo3u3asQ3CMBCF4ZdThjBdpkjLVpREomQS1qBlCm8SmhQRXYR9vlj/k1y4ONmf7tx5WNdVPcfUecajBTnnq6SnpNn5rh9Jt2ma3lWBkl6SUoNmzNvZl9ojmhpOXOINAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEKBTHttyy+iMW3b7e08d/MUtXp20BjhXpDXCuSGtIc4FaY1x1ZEWAFcVaUFw1ZAWCFcFacFwxZEWEFcUaUFxxZAWGFcEacFxfyPHE+D2yMMZ+HV/8nwBu/wsdSKyQ6kAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-bookmark
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA1klEQVRo3u3asQ3CMBCF4ZdThjA7pE7LVpREomQS1qCl9j6hSRHRRdjni/U/yYWLk/3pzp2HdV3Vc0ydZzxaME3TVdJT0ux814+kW875XRUo6SUpNWjGvJ19qT2iqeHEJd4gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAATrlsS23jM64Zbe/99TBX9zi1UlrgHNFWiOcG9Ia4lyQ1hhXHWkBcFWRFgRXDWmBcFWQFgxXHGkBcUWRFhRXDGmBcUWQFhz3N3I8AW6PPJyBX/cnzxet7Sx172zqNAAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-box
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAdUlEQVRo3u3asRGAMAgFUPAchP2nyiZYWWplkcT3W6p3cAkF2d2xc47YPICAgICAgC85nwpjjKU2gKpKIwoICAgI+NU/GBGpg4t38M7sG016ZAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBZ0m6FwUEBAQE/DHwAvnVC3CLEzO6AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-box
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAdUlEQVRo3u3asRGAMAgFUPAch/0nyT5YWWplkcT3W6p3cAkF2d2xc47YPICAgICAgC85nwpVtdQGMMZIIwoICAgI+NU/GBGpg4t38M7sG016ZAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBZ0m6FwUEBAQE/DHwAoaGC3CgtsEXAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-car
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACRUlEQVRo3u2aPYrCQBiGU23lBSQ3SGFjI6I32DLlgr0HEK1cK7utRewsF3KGBStPoJ2FhY2iIAtuk+wXeANumJhvYhwz2SkeEDHzvU8yP8lEKwgCq8xYRtAIGkEjaASNIENws9lkoUH0CY9YE98gyEh0/Bpt9lFDOtu9gm1iQhzvkOFyRK22KsEuznBYfEvMiA5RIyoga4+Ijq+hzRlqBKjZfbTggLgQPjElmnfIcGmilo/ag0cJdlHgQPQUiMXpofaFcyVlBdvoIv6T5K4lfWRp5yk4wTiYPlEuYoosk7wEG5jJtorGHGdMbpGpkYdgH2dsVgC5iBky9fMQ9NBYp0CCHWTy8hDco7FagQRryLSXEawT78QXpuMDPkd3FJUCCVaucsXzhg51kaCXcstUVEERnkjwI+Ugq2DcyvohEmwRKwU3z48mdGglTTJvmkuu4HBzFn0ldhrK7ZD95jLxQiw1voJLOCQKjkswBsdJgjbxUwLB0MEWCY4EPw4fTeaES1SBi+98haFlc4xEggtBo8Mb69BQkWSWHAuRYHzmnDMW27kCwSw5diLBeMMuo2FXgWCmHBzBKqPhqgLBTDmM4H/oojpPMixBnZcJlqDOCz1bUFtEgqcSCZ6y7MnohHBPxsHOlO5yoYOT9Dxol0DQTtuykOmqRdhB+9M1OTvbjsaCDnfrXldB9rsJzpJxVih45iwNMoKeTH9XgHSeNMG0JeNw3d8VIJ2H8/osnG4/Y1sZO3xnP+FdhFQe8181I2gEjaARzINfq+T+ChUlcKoAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-car
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACRElEQVRo3u2aPYrCQBiGU23lBSQ3UEhjI6I32NJywd4DiFauld3WIuksF3KGBStPoL1FGkVBFtwm2S/wBtwwmm9iHDPZKR4QMfO9TzI/yUQrDEOrzFhG0AgaQSNoBI0gQ7Ber2ehSQwJj9gQ3yDMSHz8Bm0OUUM6272CHWJGHO6Q4XJArY4qwT7OcFR8S7hEj3CICsjaI+LjHbTpokaImv1HC46IMxEQc6J1hwyXFmoFqD16lGAfBfbEQIFYkgFqnzlXUlawgy4SPEnuUjJAlk6egjOMg/kT5WLmyDLLS7CJmWyraMxxxuQWmZp5CA5xxtwCyMW4yDTMQ9BDY70CCfaQyctDcIfGnAIJOsi0kxFsEO/EF6bjPT7HdxSVAglWLnIl80YODZGgl3LLVFRBEZ5I8CPlIKtg3Mr6IRJsE2sFN8+PJnJoX5tk3jSXXMPh5iz6SvgayvnIfnOZeCFWGl/BFRyuCk5LMAan1wRt4qcEgpGDLRKcCH4cPZosiC5RBV18FygMLZtjIhJcChod31iHxooks+RYigSTM+eCsdguFAhmyeGLBJMNdxkNdxUIZsrBEawyGq4qEMyUwwj+hy6q8yTDEtR5mWAJ6rzQswW1RSR4LJHgMcuejE4I92Rq2JnSXS5yqF17HrRLIGinbVnIdNUi7KD96Zqcne2axoI17ta9roLsdxOcJeOkUPDEWRpkBD2Z/q4A6TxpgmlLxv6yvytAOg/n9Vk03X4mtjJ8fGc/4V2EVB7zXzUjaASNoBHMg19XMf4c7rb4xgAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-card
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABZUlEQVRo3u3asUpDMRTG8XQoBReX4iLoKHTr2kXqUroWfAc7iSC49hl8hLoIYned+gbFJ7hLsXYQCiIOUuIJnLvIoSS9BXOO3/Afe5MfDcmlqfPeO8s5AAEEEEAAAQTwHwCLoggdUvfUnPLKmvPcg0EEnlDvCmG/C4aWBHwwgCubSMCVIeCHBPSWAjCyKXVHjakn6tsK8JM6p/aoGtegTnM5YqoAv8I2zOem1EEOyCrA4QZc2ZlW4JpqRgDDcn3VCFxS9QhgjTcddcBHnryLaBT5TFexnQKvEwbuaQTeJAzc17hEnxOW6K3WY+IyAjngHVfdEi3rbBjwOPFZWQLfqCNhsH3qxcrL9loALq28bM+orgDsbvENZrFEA+giceA2f2aWO/CK3y23nUCDn5HtEnU7CkAAAQQQPxsCCOAfAs1fvkysX5+1rF+AllfY4SJ0oRC24LnLV9j4lwWAAAIIIIAAAqiuH/0WyXTcT3mtAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-card
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABZUlEQVRo3u3asUpDMRTG8XSQgouLuAg6Cr2Ta5fSLsW14DvoJILg6jP4CLoUSru3k29Q+g6ltYMgiDhIiSdw7iKHkvQWzDl+w3/sTX40JJemznvvLOcABBBAAAEEEMB/ACyKInRM9ak55ZU157kHgwg8o94Uwn4XDA0JODCAKxtJwHdDwA8J6C0FYGQv1DP1RI2pbyvAT+qS2qdqXJ1q5XLEVAF+hW2Yz02poxyQVYDXG3BlHa3ANXUYAQzLdaERuKL2IoA13nTUAYc8eRfRQ+QzXcV2CrxLGLirEXifMPCFxiU6SViij1qPiZsIZI93XHVLtKy5YcDTxGdlCXylToTBDqiZlZfttQBcWXnZnlJtAdje4hvMYokG0FXiwOf8mWnuwFt+t9x2AnV+RrZL1O0oAAEEEED8bAgggH8INH/5MrJ+fdawfgFaXmGHi9ClQtiS5y5fYeNfFgACCCCAAAIIoLp+AMIMW9Oa/X6lAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-cart
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACLUlEQVRo3u2aMUvDQBSAA4WCIBQEFzsJro4OBQcXoavQH9BV6A/oJHHqDyiKmfwBBVdBBAWhU0EcbhJshU6CUFDEQiG9g1PCeS/NXd4ll3jDt5TjvfuSy3uXS70wDL0y4zlBJ+gEnaATxBAcj8dbFJ9CKCEA4WPYWM9mZIJ+jJiIX0RBoiBIyi4Yln2JMnaLJpikyETpFU0QYhsQfCmLIGMISDbKItgBBPuSsapLHZPfPq0quElZSAK+USrCWD8HsT99WlWQcQMEOxTGEQsEiY5gGwh2aaHgp45gjfIlCTajrFm2RC90BBkDIGDLkiLDeNIpMj+0gKCDjNsAWzFTyTzYCqvrtIlo4BkQuJahYHfV7kpX0ONFRRa8nZHcBnCR36MXOY1gExC8zkiwD+TvpNnJRKnwBi8mWPANgUm5HcpckvuZUsUSTHwVDZCkiqMINoBEQ4NySjnTCjJegYR7hgQfgHz7pgR7QMJbA3JHQK4rrNclGWdA0m9kuSovImKeOS86RgRPMjxxOwbynGO+8CaVwz4zXecNXMzxwRs+uuAquXvkU2/oOe9iH1kkkTtFXpp1fqfEPFN+Z9EE2R25s+AdT2nPqyLoWyT3KDkDSi1ILBJsmjg2tEVQqf0UcYn6pgTzPmPR+uiKsVUr3OczJyjhgBJQJpyA/5ZXHFRBNoGR5JkZKU4OKw66YBBTGIIc4qALTmImNskhjhN0S/S/FZlitQn3b0Mn6ASdoAmWvJFW/yC6a1wAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-cart
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACLklEQVRo3u2aMUvDQBSAA4WCIBQEFzsJbsXRoeDgInQV+gO6Cv0BnSRO/QFFMZM/oOAqiKAgdCqIw02CROgkCAVFLBTSOzglnPfa3OVdcok3fEs53rsvubx3udSLosgrM54TdIJO0Ak6QQzBRqOxRfEphBIBED6GjfVsRiboLxET8YsoSBQESdkFo7IvUcZu0QSTFJk4/aIJQmwDgi9lEWSMAMlmWQS7gOBAMlZ1qWPy26dVBTcpc0nAN0pFGOvnIPanT6sKMm6AYIfCOGKBINER7ADBLi0U/NQRrFG+JMGmlDXLluiFjiBjCARsW1JkGE86ReaHNhB0mHEbYCtmIpkHW2F1nTYRDzwFAtcyFOyt2l3pCnq8qMiCdzKS2wAu8nv8IqcRbAGC1xkJDoD83TQ7mTgV3uDFBHO+ITApt0OZSXI/U6pYgomvogGSVHEUwSaQaGRQTilnWkHGK5Bwz5DgA5Bv35RgH0h4a0DuCMh1hfW6JOMMSPqNLFflRUTMM+NFx4jgSYYnbsdAnnPMF96kcthnpuu8gYs5PnjDRxdcJXePfOoNPec97COLJHKnyEuzzu+UmGfC7yyaILsjdxa84ynteVUEfYvkHiVnQKkFiUWCLRPHhrYIKrWfIi5R35Rg3mcsWh9dMbZqhft85gQlHFACSsgJ+G95xUEVZBMYS56ZseLksOKgCwZLCkOQQxx0wXDJxMIc4jhBt0T/W5EpVptw/zZ0gk7QCZpgAenme6I2GKVJAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-chart
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABPElEQVRo3u3aQQrDMAxEUZ88oJP6KCmFFEpxHGkky046i1km5oEhf5Gy73t58gqBBBJIIIEEEvgHwForuu1YWWlRwDdsP7Y9DfiNWw7pBbZwSyE9wB5uGSQK1OCWQCJAC2460gpEcFORFqAHNw2pBUbgpiA1QC1OjmUjuwV1BbTgPs9kIi8LqgdEcJlIVUGdARHc71UZiVQXVAuI4loHjECaCqoF9OBGI80FhQAFuCoRSKigrEBxxLYHCX+HLUAJiG0E6YoMLVACY9uCdBeUBigDYlsC069bUFdAqeNiW4Jw3ff1gNG4aKSqoM6Ao3BRSHVBtYCjcV6kqaAiYjsTaS4ob2xnIqGC8sR2JhIuKDS2M5GugloJ2EK6C2o14NTYnoVMie1ZyJTYvvUIJJBAAgkkkEACHwTk34Y33Qu1TWQV/xq9oQAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-chart
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABOUlEQVRo3u3aSwqDMBSF4ezHPQp35SkFC6XEeF85ifYMztDIBwH/gaXWWp68QiCBBBJIIIEE/gFw2zbv9mNlpWUB37B6bH8a8Bu3HDIKbOGWQkaAPdwySC9Qg1sC6QFacNORVqAHNxVpAUZw05BaYAZuClID1OLkGBrZLagroAX3eQaJvCyoHtCDQyJVBXUG9OB+r8pIpLqgWkAvrvWCEUhTQbWAEdxopLmgPEBxXJUMpKugrEAJxHYE6f4OW4CSENseZCgytEBJjG0LMlxQGqAMiG1JTL9uQV0BZWBsSxKue14PKIDYliTc6XlnwFG4LKS6oFrA0bgo0lRQGbGNRJoLKhrbSKSroCKxjUQKOraRSEHHNhIp6NhGI6GxPQsJie1ZSEhs33oEEkgggQQSSCCBDwLyb8Ob7gVDOYi4T24vnwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-clock
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAC0klEQVRo3u2aPWsyQRCAFSII9lZ2Qlr/gGAnttopAUlvly6CvFdrJ5bWYiQJKSws/Aep0liays4iKdJY+M7BLBzDnNm7G29XN4EHwrI3s0/Y7HfmeDxmrpmMM4Lb7VaKPFAFesAEWAEbYA8ckD2WrbBOD7/JS7VDWjALNIAR8A4cY/KOMRoY07hgAegCbwmkwnjD2AVTgi3g9QxilFfMlZpgGRgCXyca5f/MgUegCVSAIpBDiljWxDpz/CYs3hfmLJ9bsA4sQxrxDcywW5Vi9IgSfjvDWFyOJbbhLIId4INJ+gNMdRNH+ENOMTbN94FtERW8Bz6ZZGugLShGaWMOmvcT2yQi2AmRGwO3Z5RT3GIuTrKTVLDOdEv//6MP3KQgp7jBnN9Md63HFSwzA4qf4CFFMcoDI7nkRlcdwSHTLfoG5RR9pl3DqIItZp4bp9wtfQYI7a5jZp5s6QoWmBXKOqUBhcqp/ANm4FkzK56CjmCXmefaBuV8vJAphM6T3d8Es8zCeWqhnGLKLNCzpwQbzKhZt1ROTWN0VG2cEhyRyjOL5RQz8t0oTDDPbFa7lstxY4bvkOcEq8yWp2S5nNqF0K1WlRPskUrzC5BTzEmcHic4IZUehST8Ue0OWAA7xP/9WUgug20NxppwgitSqSkk90/jWMJLmKdJ4q04wQ2pVBEQvNOQexHIUyExN5zgnlQqCiReBOI9ATXkKVC+EMhTJG3fc4IHUiknkHgXiFcLlNcC5TuBPDnS9oOTglffRU0NMs9pDTImp4lBGtNE2hP9i6Ck1kRvYqnmCUlqLdVMLbaTSmovtk1ul5JIam+XTG9440pqb3htOLKIKhn5yMKGQycvwi4j8qGTLceGnoZcrGNDmw5+f7txin3wa9PRfdhNU6KjeycuX5y4Prv6C1AnrrCdeITgxDMSJx4COfGUy4nHeM48p3TiQezlPGn+e3V/ofwHgemGMPwAIisAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-clock
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAC00lEQVRo3u2av2sqQRCAFSII9lZ2QhoL/wHBTmy1UwLyert0EeRdrZ1YWouRJKSwsPA/SJXGMqnsLJIijYVvDmbhGObM3t14u7qv+CAsezP7yWZ/Z47HY+aayTgjWKlUpMgDNaAPTIE1sAX2wAHZY9ka6/Txm7xUO6QFs0ATGANvwDEmbxijiTGNCxaAHvCaQCqMV4xdMCXYBl7OIEZ5wVypCZaBEfB1olEfwAJ4AFpAFSgCOaSIZS2ss8BvwuJ9Yc7yuQUbwCqkEd/AHLtVKUaPKOG3c4zF5VhhG84i2AXemaQ/wEw3cYQfcoaxab53bIuo4B/gk0m2ATqCYpQO5qB5P7FNIoLdELkJcHtGOcUt5uIku0kFG0y39P8/BsBNCnKKG8z5zXTXRlzBMjOg+AnuUxSj3DOSK2501REcMd1iYFBOMWDaNYoq2GbmuUnK3dJniNDuOmHmybauYIFZoWxSGlConMo/ZAaeDbPiKegI9ph5rmNQzscLmULoPNn7TTDLLJxnFsopZswCPXtKsMmMmg1L5dQ0RkfV5inBMak8t1hOMSffjcME88xmtWe5HDdm+A55TrDGbHlKlsupXQjdatU4wT6ptLgAOcWCxOlzglNS6UFIwh/V7oAlsEP8v5+E5DLY1mCsKSe4JpVaQnJ/NY4lvIR5WiTemhPckkpVAcE7DblngTxVEnPLCe5JpaJA4mUg3iNQRx4D5UuBPEXS9j0neCCVcgKJd4F49UB5PVC+E8iTI20/OCl49V3U1CDzlNYgY3KaGKYxTaQ90T8LSmpN9CaWap6QpNZSzdRiO6mk9mLb5HYpiaT2dsn0hjeupPaG14Yji6iSkY8sbDh08iLsMiIfOtlybOhpyMU6NrTp4Pe3G6fYB782Hd2H3TQlOrp34vLFieuzq78AdeIK24lHCE48I3HiIZATT7mceIznzHNKJx7EXs6T5v+v7i+Uf4HyPSaeYRG9AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-close
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABV0lEQVRo3u3ZQQ6CUAwE0HKTf1IInpSb4IYFMQi/7cz8aPo3GjfjCyhtZtr33f75TAUsYAELWMACJoDbtn1+NB+vL/F3vcxtrUGBs5mtx/tFiPyaiwSeQ0yIvM1FAa9CFMjHXATwLoSJ7Mptrb2ywPX0A1che3B2XMEFcYsqkd244wrC/mQUSBeO8ZhgIt04BpCFDOFYQDQyjGMCUcgUjg3MItM4BTCKhOBUQC/SUDgl0IM0FE4NRCG7cSOAWaQLNwoYRbpxI4FeZAg3Gtj7KEgN6KOAHlwKOQIYwYWRamAGF0IqgQicG6kCemZLQ+6TCmBkcIbtk2xgZiuAIJlAxMqTRrKAsH0ui2QAkbg0ktkuoWfLEJLdLkEH5whS0S6hcCGkql1C4dxIVbuExHmQknaJgetBStolJq4rl9kuKXCPuax2yYS429w08NdPAQtYwAIWsIA35w3bnqWgR9wcRwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-close
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABV0lEQVRo3u3ZQQ6CUAwE0HIfzgjBM/774IYFMQi/7cz8aPo3GjfjCyhtZtr33f75TAUsYAELWMACJoDzPH9+tByvL/F3vcxtrUGBi5ltx/tViPyaiwSeQ0yIvM1FAa9CFMjHXATwLoSJ7Mptrb2ywO30A1che3B2XMEVcYsqkd244wrC/mQUSBeO8ZhgIt04BpCFDOFYQDQyjGMCUcgUjg3MItM4BTCKhOBUQC/SUDgl0IM0FE4NRCG7cSOAWaQLNwoYRbpxI4FeZAg3Gtj7KEgN6KOAHlwKOQIYwYWRamAGF0IqgQicG6kCemZLQ+6TCmBkcIbtk2xgZiuAIJlAxMqTRrKAsH0ui2QAkbg0ktkuoWfLEJLdLkEH5whS0S6hcCGkql1C4dxIVbuExHmQknaJgetBStolJq4rl9kuKXCPuax2yYS429w08NdPAQtYwAIWsIA35w0ckqWgrNKlUAAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-comment
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACE0lEQVRo3u3aMUsCYRzHcdsCoaE30NBge4tIoxxNEQUOLhI4VUPgJvQC4hqCaItsERyKaIhocWkSAiGRwAYbnAQHsQgku34H/2c57g6953nuzudp+A6Fnc+H9Lm757mEZVkJlUtoA+x2uyJKogwqIhPdoAb6QEP0Qw3pdw16jUl/k6FjcI9FJHAFFdAlaiOLszYdq0DHjgyYRWeoIwDlVYfeIxsm0EBXaCQR5mxE72nIBKbQCeqHCHPWpzGkRAN3UT1CmLM6jUkI8Aj1YoRj9WhsXMBjNI4hjjWmMQYClmMMc1aeFVgMeZYUMcsWpwVuoNYc4VgtGrsvcAFV5hDHqpDBE5ibYxwr5wesKQCseQHT6EsBoG1IuwFLCuBYJTdgVSFg1Q3YVAjYdAMOFAIO3IAThYATLf+Dyn8HlZ9FlT8PKn8lo/y1qBZ3E8rfDyp/R6/FmowWq2parItqsbKtxd6EFrtLWuwPeu3wvqu2w+tsVTAqNnv0rGUBKPtTcBDXpyzWOHH2IyU7gh5jkQI0OIGmaJxo4D4H7oG+w7EGngfEvc4y7UcJfA6Asx/jysvCiQSuo+8AuD2ZOJHAUoCPZV42TiTwccYJxQgDJwq4hX6nPM+ZsmZLmcDrKXB3Mk7iYQC30acP7J6uJZNR4HiBS+jWBfWCTtEmW7qLMh7gIXpDT+iCfraX6xajRvkC/5+6n9P+AIlSeOyA81MXAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-comment
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACE0lEQVRo3u3aMUsCYRzHcdsCoaE30NBg4Ngi0ihHU0SBg4sETtUQuAm9gLiGINoiWwSHIhoiWlyahEBIJLClwUlwEItAsut38H+W4+7Qe57n7nyehu9Q2Pl8SJ+7e55LWJaVULmENsB0Oi2iJMqiEjLRDWqiDzREP9SQftek15j0N1k6BvdYRAJXUBFdog6yOOvQsYp07MiAOXSGugJQXnXpPXJhAg10hUYSYc5G9J6GTGAKnaB+iDBnfRpDSjRwFzUihDlr0JiEAI9QL0Y4Vo/GxgU8RuMY4lhjGmMgYCXGMGeVWYGlkGdJEbNsaVrgBmrPEY7VprH7AhdQdQ5xrCoZPIH5Ocax8n7AugLAuhcwg74UANqGjBuwrACOVXYD1hQC1tyALYWALTfgQCHgwA04UQg40fI/qPx3UPlZVPnzoPJXMspfi2pxN6H8/aDyd/RarMlosaqmxbqoFivbWuxNaLG7pMX+oNcO77tqO7zOVgWjYrNHz1oWgLI/BQdxfcpijRNnP1KyI+gxFilAgxNoisaJBu5z4B7oOxxr4HlA3Oss036UwOcAOPsxroIsnEjgOvoOgNuTiRMJLAf4WBZk40QCH2ecUIwwcKKAW+h3yvOcKWu2lAm8ngJ3J+MkHgZwG336wO7pWjIZBY4XuIRuXVAv6BRtsqW7KOMBHqI39IQu6Gd7uW4xapQv8P+p+zntD4lbL+LdUYuNAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-doc
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAnklEQVRo3u3ROw6EQAwE0Z6b+KQgcdK5yZAgpNXyGQhAbqoSRw6eXVprcq58HlhrfeoCZZmDpKl3KSLSAZuksReZFaheZGZgFzI78BTpADxEugB3kU7ATaQb8A/pCPxBugJXpDNQksaImLIBL5Xxg7ZA3QQWgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDA94HZswfOeW+OoKksVdwAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-doc
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAnklEQVRo3u3ROw6EQAwE0Z77zBlB4oy+z5AgpNXyGQhAbqoSRw6eXVprcq58HlhrfeoCZZmDpKl3KSLSAZuksReZFaheZGZgFzI78BTpADxEugB3kU7ATaQb8A/pCPxBugJXpDNQksaImLIBL5Xxg7ZA3QQWgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDA94HZswfO52SOoNa20u0AAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-download
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACEUlEQVRo3u2aMa7CMAxAy1apx+g1mBEzIwv6e8/gC3xWzoEYGHoHJhZGuEAHZoZ+I7kSqhra2E6Tpn94C4IkD0WJYzup6zqJmWQ2gvf7XYsUWSIFckBK5IZUyIuo6LOSvlPQb1KtdWgLLpA1skcuSM3kQmOsaUzvghmyQ04CKRMnGjvzJbhBjg7E2hxprtEEc+QXeY4g1/CkOXPXgivkPKJYmzOtwYngFrl6lGu40lpUBX+QRwByDQ9ak4rgNjC5T8mtVHBlsS0TZYZu1xVXMLc8UHwINgdPzhH8tdwyvgRrWquV4IZxz/kUfLaDgW+C2UgRiouIJxsiuJugXMOuT3AhCJx9btHPAH3xTXAt+PdCEKzJwSi4j0BwbxJMhY/VUATfDmmX4HLCh0ubZZdgEZFg0SV4EA4ayhZ9c+gSLCMSLLsEbxEJ3roEq4gEqy7BV0SCr1kKRr9Foz9k+q4JcCDBBTjXxJCLHiYgZ7zoh4ZqELicMVSzCbYhYDljsG37XIJA5YzPJc6DFwKT+/rg5aYsICC53pQFN+kEgcj1Jp0kaUPwLDcobShN/IJHucGJX27qXkOSK2eVuucWX6SSIJjPuvjCKZ9JJCVy7PKZbQGUKymRExVAtUrY4EhOpYSt1YQADuTUmhC02khAcVuqt5FoNQKBwoHirBFoFq1cs2jGm0075SwaYqfT0vzfdT9R/gAlm2ht3UdF/gAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-download
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACEUlEQVRo3u2aMa7CMAxAy1apx+jIFZgRMyML+nvP4AvAyjkQA0PvwMTC+i/QgZmh30iuhKqUNrbTpOkf3oIgyUNR4thO6rpOYiaZjeByudQiRVZIgZyQEnkgFfIiKvqspO8U9JtUax3aggtkgxyRG1IzudEYGxrTu2CG7JGLQKqLC42d+RLcImcHYm3ONNdogjlyQJ4jyDU8ac7cteAauY4o1uZKa3AiuEPuHuUa7rQWVcEf5DcAuYZfWpOK4C4wuU/JnVRwbbEtE2WGbtc1VzC3PFB8CDYHT84RPFhuGV+CNa3VSnDLuOd8Cj7bwcA3wWykCMVFxJMNEdxPUK5h3ye4EATOPrfoZ4C++Ca4Efx7IQjW5NApeIxA8NglmAofq6EIvh1Sk+BqwodLm5VJsIhIsDAJnoSDhrJF35xMgmVEgqVJ8BGR4MMkWEUkWJkEXxEJvmYpGP0Wjf6Q6bsmwIEEF+BcE0MuepiAXOdFPzRUg8DlOkM1m2AbApbrDLZtn0sQqFznc4nz4IXA5L4+eLkpCwhIrjdlwU06QSByvUknSdoQPMsNShtKE7/gUW5w4pebuteQ5MpZpe65xRepJAjmsy6+cMpnEkmJHLt8ZlsA5UpK5EQFUK0SNjiSUylhazUhgAM5tSYErTYSUNyW6m0kWo1AoHCgOGsEmkUr1yya8WbTTjmLhtjptDT/d91PlD8lpB9jVjtwXwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-edit
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABdElEQVRo3u3azY2DMBAFYLazpI/UMloXshWg1LClcEsbBK1AilY4zNjz5ifi8C5IIH+y8TMSwzzPwydnOIGfBJymKWJuS8YljzXjeu2rdk8mIC2ZK/muISMAaU0rbss9IvB14NSBqz7DE0iMAV4EuN1neAFJMAulAXnf3kkP4H9c2UH8KCD/Nh5r4B6uhtCYyZsl8B1uy68ycrQCcnAEeCcfFsAeXC8SDtTA9SChS1QT14qEbTIInBRJqJpA4rhIQp1kLHBHyII6qlniasgr6rDtgTv6ClEDeuK2XFDACLiCnMESGae1REtUHPJ7MAQOBQyDsyh6Vxy66N1xyKIPgUMVfRgcouhD4XqB4XE9wBS4VmAaXAswFU4KTIeTAFPiuMC0OA4wNe4ImB53BEyP4wJLVhwXOCgiTXESoAbSHCcF9iBdcC3AFqQbjgukDqQrTlITLUh3nLQHJcgQuJai5yDD4BAnmVA4bWA43Fvg+c/2CYyXJ86a75gtKENKAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-edit
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABdElEQVRo3u3a3Y2DMBAEYK4emsj1kVqscyGpAKWG6yZtEHQCKTrhsLve2Z+Ih3lBAvmTjcdIDPM8D5+c4QR+EnAcx4i5LpmWPNZM67Wv1j2ZgGXJ3MhPCxkBWNZIcVvuEYGvAy8duOYzPIGFMMALA7f7DC9gYcxCFSDv2zvpAfyPqzuImwLyb+OxBu7hWgiNmbxaAt/htvwqIycrIAVXAO/kwwLYg+tFwoEauB4kdIlq4qRI2CaDwHGRBVUTSBwVWVAnGQvcEbKijmqWuBbyG3XY9sAdfYWoAT1xWy4oYARcRc5gjYzTWqI1Kg75PRgChwKGwVkUvSsOXfTuOGTRh8Chij4MDlH0oXC9wPC4HmAKnBSYBicBpsJxgelwHGBKHBWYFkcBpsYdAdPjjoDpcVRgzYqjAgdFpCmOA9RAmuO4wB6kC04ClCDdcFRg6UC64jg1IUG647g9yEGGwEmKnoIMg0OcZELhtIHhcG+B5z/bJzBenss6VPxUW7ciAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-email
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABVElEQVRo3u3aTQqDMBAFYO/RAwgeokcL5DYFwSu5EVwVvEEaQUHbSczPaDPjLN765YM4i4mVMabinEqAAhSgAAUoQAHeANj3/ZyHzctmsDHEMixnnw0gsLZ5E4R9ZzbUELBlgFvTQsCJEXCCgIZTIKBmBNSuKcoBqV1TlANSrw4IqIgj9eb8yjVkqCJ3ONeQMUSRP7gjICUkiAsBUkA6caHAkpFeXAywROQhLhZYEjIIlwIsARmMSwX+ExmFywFui65CJnWmALdFz4uQyZ2xQOiKnH1dszpjgL77fxYyuzMUGPJxYyNROkOAMZMLC4nWeQSMHssISNROHzClKBeJ3ukC5hRBhbHB6NS+rVpuUQ4Ss1P7lk6qp7t0Ur6lE3XcDunaqnFZ/Kpbru7ZP750jIAdBGwYPYA2vifs+SF0JAgbl7PDT9jyl4UABShAAQpQgAIklw+kPUkt9KvgqQAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-email
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABU0lEQVRo3u3aTQqDMBAFYO/RAwh6hx4tkNsUBE8luCp4gzSCgraTmJ/RZsZZvPXLB3EWEytjTMU5lQAFKEABClCAArwBsG3bOQ+bl81gY4hlWM4+G0BgbfMmCPvObKghYMcAt6aDgBMj4AQBDadAQM0IqF1TlANSu6YoB6ReHRBQEUfqzfmVa8hQRe5wriFjiCJ/cEdASkgQFwKkgHTiQoElI724GGCJyENcLLAkZBAuBVgCMhiXCvwnMgqXA9wWXYVM6kwBboueFyGTO2OB0BU5+7pmdcYAfff/LGR2Zygw5OPGRqJ0hgBjJhcWEq3zCBg9lhGQqJ0+YEpRLhK90wXMKYIKY4PRqX1btdyiHCRmp/YtnVRLd+mkfEsn6rgd0rVV47L4Vbdc3bN/fOkZAXsI2DB6AG18T9jzQ+hIEDYuZ4efsOUvCwEKUIACFKAABUguH2kz232wcsPAAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-event
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA4ElEQVRo3u3aMQrDMAyFYd8jByjk5IVAruQlkCkQ6AFcF9xNJmmdupb8D28IBKFvsIxBLoTgLMd1A/TeHyWkuIJUqwEQoFLgEHOPWYRCue8zqVFjSb0POeAtZvtTc1fWeBlGCTg10NxVNWYJuBsCPiTgUeHcYf+kuWo1AGoPQIAKgabSJZAzCBBgX8CzD9uv/gcIECBDBiDAQuBPh0ALQwYgwMaBTFGAALkHmaIAuQeZogABarkHAQIEWAbcDQ0ZcRFoNgQUV7lGLy/jaUt2Ge+9Tjkpha2pd3mdkq17pXkCXJ9NkSfLbVMAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-event
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA3klEQVRo3u3aQQrDIBCFYe+RAxTixQuBnCqQVSDQA1gLdjeStKbWGf/FWwTCMN/CEWFcCMFZjusG6L0/SkhxBalWAyBApcAh5h6zCIVy32dSo8aSeh9ywFvM9qfmrqzxMowScGqguatqzBJwNwR8SMCjwrnD/klz1WoA1B6AABUCTaVLIGcQIMC+gGcftl/9DxAgQIYMQICFwJ8OgRaGDECAjQOZogABcg8yRQFyDzJFAQLUcg8CBAiwDLgbGjLiItBsCCiuco2ZZTxtyS7jvdcpJ6WwNfUur1Oyda80T1yoBIcDgIRhAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-favorites
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACYUlEQVRo3u3awYcCURwH8BgilmUYomt0iiVi6brsKZZOsXTaU6eIpWvXiIjoD4hYYum6p4hlmWuHLBFLxJwiZt/jN2TMNG/mzfu9eaPDl7Xtznsfpnm/95uXsW07k+ZkbsC0ALfbLUaeSJ4xxpIB1Eh+IFoaga8kNqSVNmCOZHcBpD/fpQn4foFz8p4WoE5ieQDp74w0AMceOCdj1YFFktMV4Bn+RlngxxWck4WqwBoDzklNReA6BHCtGrAZAuekqQowS7KJANzA/yYe2ImAc9JJOpAu6gcO4AGukThgHrZBMw6ckxlcKy8LSBfmBkmfZEmyjwHllz2M0Ycxi3EDy7DNGZJ8kRwFYlhzhLkMYW5lVmCV5I1kQvINZZStSM4w5wkYql7AtkKgoLT9btFeCnC9oO/gQGHcgPUhM1UQNw3zFKVdr7lCuLm7U8eyTGRhDUo6bulVw7Kug7QbtkowbgVz5Kpk7qFZmzScCXOLpVQzIm6BRGUT1JGLUosWXM1bWdnBXIQU27TY/ZOIo2OXRO8mHiQV3UcYG2U/+BjQ74w7p7Cdtzg2vBYi0MLe0RsSblEDE1iRAKxgAhsSgA1MYFcCsIsJHEkAjjCBCwnAT0ygKam4RgNaEoAWFlCXWIvqGMBKxFJrCoVyCfqXJ5FrIQ/wJeRtNfDZ3hTgM0vEWsgDZHk9doD+pM54y/cY30p1MIDX1sBf6JDnIp6GasM1uNdCHuDC5xHeiumQnQbXMnlOZPAATVdXqy7wEFHd1dUzMYBH6EXWBMK8jqQsw6yFUYGa3/s4pJRZvwa3M9s3oCL5B8NTXVd0IjszAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-favorites
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACYUlEQVRo3u3awYcCURwH8BgiliWG6BodEkvE0nXZUyydYum0p06xRNeuERHRHxCxxNJ1TxHLMtdOS8QSw5wiZt/wGzJmmjfz5v3evKfDl7Xtznsfpnm/95uXsW07o3IyN6AqwEqlgpEnkmeMsUQANZIfiKYi8JXEhnRUA+ZI9hdA5+c7lYD9C5ybvirAPInlA3R+p6sAnPrg3ExlB5ZITleAZ/gbaYEfV3BuVrICGxQ4Nw0ZgdsIwK1swHYEnJu2LMAsyS4GcAf/m3pgLwbOTS/tQGdRPzIAj3CN1AELsA1aMODcLOBaBVFAZ2FukQxJ1iSHBFBBOcAYQxizlDSwCtucMckXickRQxsT5jKGuVVpgXWSN5IZyTeUUbYkOcOcZ2Co+wG7EoHC0g26RQcK4AZh38GRxLgR7UNmLiFuHuUp6nS9lhLhlt5OHc0ykYU1KO24tV8NS7sOOt2wTYpxG5gjUyVzD83atOEMmFsipZoecwvEK7uwjlycWrToad6Kyh7mwqXYdordP4E4Z+wy793Eg6Ci24SxUfaDjyH9zqRzitp5S2LDayECLewdvS7gFtUxgTUBwBomsCUA2MIEvgsAvmMCJwKAE0zgSgDwExNoCCqu0YCWAKCFBcwLrEXzGMBazFJrDoVyGfqXJ55rIQvwJeJtNQrY3hThM4vHWsgCpHk9doT+ZJ7ylh9QvpXqYQCvrYG/0CHPxTwN1YVrMK+FLMBVwCO8k9AhOw2uZbCcyGABGp6uVpPjIaKmp6tnYABN6EU2OML8jqSso6yFcYFa0Ps4pFRpvwa3M9s3oCT5BxwD763xKf8RAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-find
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACDElEQVRo3u2avY6CQBCA6X0LAg2voIWJLbna4gqf5IyNneQwPIr9Wd0VNhQm5q5BKgteQCtuSIbG7CI/u7M/avLFhOAOn25mhkGnLEvHZpynEcyyrC0+sAASYA/kwBXJ8ViC5/gd1hVKH8EpsAXOQNmSM35mqrOgC6yBSwexey64hqub4AzYDRC7Z4draiH4BhwEytUccG2lgrMHckcgBuZAAIyQAI/FeE6T5EyVoNuwLavXEvBaBPHw3Kxhu7oqBNecC/oCwh7BQvwsa801teCUky2rCxwPCDjmSF5klRCe4JazLUMBQUPOdt1SCfqcIr4UGHjJaQZ8CsEFJ1t6AgN7nOy6oBBMGIFjCdsnZsRJKAT3jMBzCYJzRpw9hWDOCBxIEAwYcXIKwSsj8EiC4IgR5/oSfG3RV5Kxv0xYX+itb9Wsb7af4nbJ+hteypHFr6qRBcXQqebDxrEhiaSqwe8flaTK0f2KQlL1wxee5DeQAjd8j4AJlaDox2erll/SCXinFBRJW8kC2JgoWPEjI+PqJJjKKCs6Cd5k1E6Tf8FWkjoJRjK6IJ0EJ1gKhErqJOhgnStESuomWPEpsmnXUbBL4eex0V1wqGRRt3U6Cw6VrBLWRHfBoZKRCYJDJFNTBPtK3kwS7COZmibYVTIyUbBuBgpbsmhTW3d6NN4wWbBu0KOmAdXz/SndVv4BLPl1Ey607DkAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-find
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACDElEQVRo3u2avY6CQBCA6X0LAg0+ghYmtuRqiyt8kjM2dpLD8Cj2Z3VX2FCYmLtGqSx4Aa24IRkas4v87M7+aPHFhMAOn25mhkGnKArHZpynERwOh03xgTmQADsgA65IhscSPMdvsa5QughOgA1wBoqGnPGaic6CLrACLi3E7rngGq5uglNg20Psni2uqYXgG7AXKFexx7WVCk4fyB2AGJgBATBAAjwW4zl1klNVgm7NtjwBC8BrEMTDc08129VVIbji3NAXEHYIFuK1rDVX1IITTrYsb3DUI+CII3mRVUJ4ghvOtgwFBA0523VDJehzivhCYOAFpxnwKQTnnGzpCQzscbLrnEIwYQSOJWyfmBEnoRDcMQLPJAjOGHF2FIIZI3AgQTBgxMkoBK+MwAMJggNGnOtL8LVFX0nG/jJhfaG3vlWzvtl+iscl6x94KUcWv6pGFhRDp4oPG8eGJJKqBr9/VJIqR/dLCknVL194kt9ACtzwMwLGVIKiX58tG35JR+CdUlAkTSVzYG2iYMmPjIyrk2Aqo6zoJHiTUTtN/gUbSeokGMnognQSHGMpECqpk6CDdS4XKambYMmnyKZdR8E2hZ/HWnfBvpJ51dbpLNhXskxYY90F+0pGJgj2kUxNEewqeTNJsItkappgW8nIRMGqGchtyaJ1bd3x0XjDZMGqQY/qBlTP96d0W/kHLQIsCT+lrB8AAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-folder
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA9klEQVRo3u3aMQqDQBBAUStvkEpIG7DyBjlkziAEBK9kI1gFBCurzRjWQMIIRiWuwy9+6eJrZiWTyDkXWS4CCPAgwKqqtBLpLtWSm1ntn0kmzvxLc4AX6fED7Lvh2TRkYLECN1aGCjxJ7QbAzp8VFPAs5RvgxnJ/ZhDAJUMllD6GmwZcO1RC6TXcNGBhAPcebhqwNQTsNKCzFECLwF66SVcp3vM7cmGxf/fB0GvA7ICoqTIuei56Lnoueu5BgAABAgQIECBAgAABAgQIECBAgAABAgS4Dmj+p/vS+vIltb4+GxegwxqtOSCs8e+uL0D5xy9AgLv0BBFwg9JEQ8jKAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-folder
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA9UlEQVRo3u3aMQqDQBBAUStvkEpIG9DGG+SQOYMQEDyVYBUQrKw2Y1gDCSMYlbgOv/ili6+ZlUwi51xkuQggwIMAsyzTSqS7VEtuZrV/Jpk48y/NAV6kxw+w74Zn05CB5QrcWBUq8CS1GwA7f1ZQwLNUbIAbK/yZQQCXDJVQ+hhuGnDtUAml13DTgKUB3Hu4acDWELDTgM5SAC0Ce+kmXaV4z+/IhcX+3QdDrwHzA6Kmyrnouei56LnouQcBAgQIECBAgAABAgQIECBAgAABAgQIEOA6oPmf7ivry5fU+vpsXIAOa7TmgLDGv7u+AOUfvwAB7tITwqnxl38ljYoAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-food
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB2klEQVRo3u2aMUvDQBiGn6gUdHFzKqXiUBRFiggiggqOOihV/4GIOrgLolDBoYODivQPuHSzm0OdC05CJ4f8AOcOLnX5AiGgSZrz0pTvhcBx971v8nCX4Y5zer0ew6wRhlxjYQWu63pT7ASG4vZH0RKwA2wAC9L3AbwBL8B70FAsFpMBWtQZcALMBvrX5TkAHoF7ozNoSRfANTD6R80scAdMAjdZ+gePgMsQOE+jUnuUFcCyLMtcDE9OPOUsAB4Ai334FsU70IDTwG4C/65kDCzgGlBK4C9JxsACLtvISBNw3kZGmoAzNjLSBJyykZEm4LeNjDQBP21kxAEcN1TjqW0AsG0ScMtQjaeWAcCWScBb4FDa+75+r30oNVHVBBoJ4BqSkXi71AHm5KkBK8Ceb7wGrAIVIO/zhKkL1H3ZcdQRb9fEDFZ9H5wHzoGCb7wgfX64asQPfQ3kR4WritfIhvcZ+JI9WCXCsqlHfbmNfCfsVM11Xa85AWwDm8BxoOxJfvhmlGXzi/rKDzuTiQPoV9DkYFaR88MAh/7YUAEVUAEVUAEVUAEVUAEVUAEVUAEVUAEVUAEVUAEVUAEVUAGHArDzS9uUjOX3eyH2CjiV9sM/ABrLd/TWfcb1A4b9XuqesQBiAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-food
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB2ElEQVRo3u2aMUvDQBiGn1gpOLk5FUEcpBIpRQQRQQVXB6W2/6CIOrgLolDBwcFBRfoHHHTTzaEuLgUnSyd/gnMHl7p8gRDUJOa8NOV7IXDcfe/bPL0L5I44/X6fYdYIQ67RsALXdb0pdgJDcfujaB7YAFaBOel7A56BB+A1aOh0OskALWof2AWKgf4VuarANXBpdAYt6RA4AXK/1BSBC2AcOM3SM1gHjkLgPOWktp4VwLIsy3wMT1485SwAVoHSH3wl8Q404BSwmcC/KRkDC7gMzCTwz0jGwAIu2MhIE9C1kZEm4LSNjDQBJ2xkpAn4aSMjTcB3GxlxAMcM1XhqGwBsmwRcN1TjqWUAsGUS8AyoSXvb1++1a1ITVY/AfQK4e8lIvF3qArNynQOLwJZv/BxYAipAwecJUw9o+rLjqCvenokZbPhuuAAcAJO+8Unp88M1It7oUyA/KlxDvEY2vLfAh+zBKhGWTTPqj9vIH43xT78Ad8AasBMYv5EH/jHKsrGZ74QdG7rut697QZODWUXODzt0GvpjQwVUQAVUQAVUQAVUQAVUQAVUQAVUQAVUQAVUQAVUQAVUQAUcCsDuD21TMpb/1w9ij4E9aV/9A6CxfEe/us+4vgAe51yafYbOPQAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-gift
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABrklEQVRo3u3asUscURDH8c8GTaqYSptrLoKF4B8gklbSSCCX5qoUgo1plJQWoiRpUlprkSqVEpImpA2kE1IFFOSsUwlprM5miuXIXla9O6PMDxbezs2bed99N/O22KLb7brLuueOKwFvu8aqfuh0OpeJM4uXWIzxGb7jAPs4r5j3AC08xxM8wi98w4cY11Kz2fyrvahqMjUBC7SxhZkKnz28xUmPfRobWK6Yd4xNfET3qoDX/Yuu4n0fOAHwDlMl21TYlvvMm4nYqzdVgy2soVHD9wVWSvcrYfuXGpGjhfujBmzjMXbxDJN4iAVs47Sn1tux4EaMy/V/GnMWIsZkxNyNHG00B9pkaugp1rHTY/8R16eozaWwz5V2ba7k/yVq7bBk+4PPcf3EG/zGq1ECTkQjqNIhXmM8HgbM9/h8DZ+jPnGOI9fsVRZ53S7632hYXfT2HvR1zp6a52S/WMUQcuW7aAImYAImYAIO4hwsRriOIndwCDs4iDeaujsztBzZZBIwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARNwlCrym+0ETMAb1QVIWkrxwGLMGgAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-gift
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABr0lEQVRo3u3asUscURDH8c8GTSpNpc01iWAh3B8gkjakCUIuzVUpBBttDJYWokSblKm1SJUqQZImpA2kEwIHQoSAtVUgjdWlGWE53MtG784o84OFt7Pvzbzvvp15r9ii2+26zbrjlisBb7rGqh40m81/8TOHF3gc7V/4ig94j7OKcffQwjM8wn0c4QveRruWOp3OhfaiqsjUBCzQxhZmK/rsYwc/e+wz2MBSxbhjbOIdupcFvOonuoLXfeAEwC6mS7bpsC31GTcbvleuKwdbWEOjRt/nWC7dL4ftb2pEjBbujhqwjYfYwyKmMIEFbOOkJ9fbMeFGtMv5fxJjFsLHVPjcixhtPBhokamhJ3iJNz32b3EdRG4+PU/r0qqVE/xT5NphyfYbH+P6jlc4xeooASejEFTpEOsYj5cB8z19PkefH338HEesuctM8qpV9L/RsKrozd3o6+w9NffJfr6KIcTKs2gCJmACJmACDmIfLEY4jyJXcAgrOIgTTd2VGVqMLDIJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJOEoV+c92AibgteoP7k9K8VTtkMIAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-globe
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAF/0lEQVRo3u2aa4hVVRTH587rjjo+Jq3BwUcijqJOjWOM1BCKMOGQlogiNWJ+KLTA/FDBoIbmh4KMUqMsKNJCrLTUoCzECqmo7KVmWSQ/35lMOaVjjjPO7cv/wOZw7jln73vuJOKHxXncfdc6/73WXq+9CzKZTMHVTAXXAF5NAIGkqAKYCCwA1gC7gWNAB3AW2AdsBlqAJmAEkE5Kfr4AVgKzgW1AxoFOASuAulzBJg2wGlgFtDkCC6LPgLuBvv8nwMHAcuC8I4gLxv0+4HZgqe69918BjUBJTwNsAg44gDoELBaY8cCbuvYyeKeB+4ATxv/WAsN6AmC5ZtkW2F5gjrG2UkAZUBQi6y4fj1+BhnwCvB7Y4GiOTwCFBrhHIsAVyDQv+fj8C8wSj0QBVgJbHYB1Ab8D38rDFgCjtW7rgFEhMm8AurPwvTcMpC3AfsAmS2AngS3AMq2xk0AtMAT4SWM6dG3JIndmhIxZSQFcbQFsMTABuAkYI7P21lK9Zn088LOhnf1AH5/MXsDnIXL+krk25Aqw2QLcWWAo0F//LQZ663mewXO0HIw3cd3Ak4bJFQIrpeEfgMMBstYajmeYK8DqkFBwAWjV/RHN9hxpr1FAUwJZrvsUMB84pzCRAp4WjzGSWQS8IdBdel/hk30RuA542QBb4gJwvc9ZjJEp9RP113NvQ0AKKPXxSRlO4w5lKGmgyliPu8Sj3gfmcsDkXpbs0cAZvWu0BTjZyFD+BB6XNlzTud7AW5rtKdJklfHRaLLmRiwDzzTvkbZfNDKevjYAXzOYngamRcWeEOoDHDc850B9zPe+j+8AOkPAdQMjlfN+KgczVE4qI8uIBbDWlziPD/joshiB2qOhxnrNSJueE/rEwokt0dqbBjxryJ9nJOjpOABX+hjf5kux0opr24FBMUEOAu4EPvCZ+sAsXjKI3gHGGhPs8SjRGs4oeQgFmAL2BHitjwTsKZH321E5j7jmWu57LlZiHVeLh+Xd/XyX6fcVUQAnBNj9F/JaF7MIne+4NouBRapM/o4J8B9gagCvGsXhU0A6DOBCH8M90l6Y0FeNRDoupeRojgPvqqURB+AJrcVSY2KLNFkfa8yIMIDrHBLq9y1DiBfwjzjImqI1t0wJw2PG83sa0xQGcKeD0A2WGpygCsOl7JopWS/IJL/UfZehnJYwgAcdhD5oAa5UpZNrr6ZVXr1UKVyR8ds5XTeHAWx1ELrLwkQfyLEZtSXAWgYDG1U+ZYB9YQAvOQpuCdGY12dpJvdu25IscgqB4V5Vkw+AF5U6FfmC+9fKY99WcpwLuL0RllLppXxJm6hHG4HXBbLQV420C+g3wHeO/GdEmP+NGncsaSfjp5EKBQPU6mgEdiimDlYF0O3AtzICYJ3G7U46TPhpv6rsUmnyfqV0ndLgVJnumZj8PK8blffO0Lg1SQf6MJqr6mG4r4vd4cCrPALgYo1bYJOqJUGdwK3AJDWj0mpGzVGtGZfPoojs6HmNmxgGsD4PAL02w44AL1ipfk5nDB7twC3quN0s66gySiavtqywLZeSoleypHQl2qOIaw1tSs26ZeoVRjWxzaXgTYK6VI2HpXAvAb9Y8v1NGvXqwdlxADYkvNfnmejYGFVGmZbJMQveVUoX27xQYtt0SormxcxX0+p8x+X7jK6rbLpq03PY2MxGP8Zw9QWqFmz4HtW3VufS+E2Klka0HweoD2vLd7lLZ3uS4y5uHJPKBjKs95ONDigFdNp8eSgPAD/M0lMtUt5qy68pl92lFPBcHuJhKgDcdkeTz3l/cIjDBqhtwK9RrLTtBZUntYU9znELO4hqAvYuTlvy2Kp8NtFDCOMS0mSxD5xtONoUVRvmcoxkSI5rslt7FN4mT7vl/1drbzKvB4FS8q4uIeS8tGZ2ouOGguaePso1ScnAeUuAFQL5R8zx67NsuPTYYbzpyl3jJuijVNd1CMChgDFt4jn5SjpO2aBSK6qefBR4OEvjaY941F6J50XNNVqv9sc6NbIOqiV5SdSqdzs1ZqH2LFLk80DstTPb1wBeefQfSb1PMDABBdwAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-globe
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAF/0lEQVRo3u2aa4hVVRTH587r+hgfk9bg4CMRdfCnpWPMUEMowoRDWiIOUiPmh0ILzA8VDI6h+aEgo9QoC4q0ECs1NSgLsUIqKnupWRZJvjOZcspHM844ty//A5vDueecve+5k4gfFudx913r/Pdae732LshkMgVXMxVcA3g1AQSSonJgMrAAWA3sBo4BHcBZYB+wCWgGGoCRQDop+fkCWAHMAbYBGQc6BSwHqnMFmzTAMcBKoM0RWBB9CtwN9Ps/AQ4BlgHnHUFcNO73AbcDS3Xvvf8SqAdKehpgA3DAAdQhYLHAjAfe1LW3wTsN3AecMP63BhjeEwDLNMu2wPYCjcbaSgG9gKIQWXf5ePwC1OUT4PXAekdzfAIoNMA9EgGuQKZ5ycfnX2C2eCQKsALY4gCsC/gd+EYetgAYq3VbDYwOkXkD0J2F771hIG0B9gc2WgI7CWwGWrTGTgITgaHAjxrToWtzFrmzImTMTgrgKgtgi4FJwE1AlczaW0s1mvXxwE+GdvYDfX0yewOfhcj5S+ZalyvAJgtwZ4FhwAD9txjoo+d5Bs+xcjDexHUDTxomVwiskIa/Bw4HyFpjOJ7hrgDHhISCi0Cr7o9othulvXoBTQlkme5TwHzgnMJECnhaPKokswh4Q6C79L7cJ7sduA542QBb4gJwnc9ZVMmU+osG6LmPISAFlPr4pAyncYcylDRQaazHXeJR4wNzOWByL0v2WOCM3tXbApxiZCh/Ao9LG67pXB/gLc32VGmy0vjo3zRZcyOWgWea90jbLxoZTz8bgK8ZTE8D06NiTwj1BY4bnnOQPuY738d3AJ0h4LqBUcp5P5GDGSYnlZFlxAI40Zc4jw/46F4xArVHw4z1mpE2PSf0sYUTW6K1Nx141pA/z0jQ03EArvAxvs2XYqUV17YDg2OCHAzcCbzvM/VBWbxkEG0FxhkT7PEo0RrOKHkIBZgC9gR4rQ8F7CmR99tROY+45lrmey5WYh1Xi4fl3f18W/T78iiAkwLs/nN5rfYsQuc7rs1iYJEqk79jAvwHmBbAa4Li8CkgHQZwoY/hHmkvTOirRiIdl1JyNMeBd9TSiAPwhNZiqTGxRZqsjzRmZBjAtQ4J9XuWIcQL+EccZE3VmmtRwvCY8fyuxjSEAdzpIHS9pQYnqcJwKbtmSdYLMskvdN9lKKc5DOBBB6EPWoArVenk2qtplVcvVQpXZPx2TtdNYQBbHYTusjDRB3JsRm0OsJYhwAaVTxlgXxjAS46Cm0M05vVZmsi927Yki5xCYIRX1eQDYLtSpyJfcP9KeezbSo5zAbc3wlIqvJQvaRP1aAPwukAW+qqRCwL6NfCtI/+ZEeZ/o8YdS9rJ+GmUQsFAtTrqgR2KqUNUAXQ78K2IAFitcbuTDhN+2q8qu1SavF8pXac0OE2meyYmP8/rRuW9MzVuddKBPozmqnoY4etidzjwKosAuFjjFtikaklQJ3ArUKtmVFrNqEbVmnH5LIrIjp7XuMlhAGvyANBrM+wI8IIV6ud0xuBxAbhFHbebZR2VRsnk1ZbltuVSUvRKlpSuRHsUca2hTalZt0y93KgmtrkUvElQl6rxsBTuJeBnS76/SqNePTgnDsC6hPf6PBMdF6PK6KVlcsyCd6XSxTYvlNg2nZKieTHz1bQ633H5PqPrSpuu2owcNjaz0Q8xXH2BqgUbvkf1rWNyafwmRUsj2o8D1Ye15bvMpbNd67iLG8eksoEM6/1kowNKAZ02Xx7KA8APsvRUi5S32vJryGV3KQU8l4d4mAoAt93R5HPeHxzqsAFqG/AnKFba9oLKktrCxnELO4gmBOxdnLbksUX5bKKHEEhIk8U+cLbhaGNUbZjLMZKhOa7Jbu1ReJs8Fyz/v0p7k3k9CJSSd3UJIeelNbMTHTcUNPX0Ua5aJQPnLQGWC+QfMcevy7Lh0mOH8WYod42boI9WXdchAIcCxrSJ55Qr6ThlnUqtqHryUeDhLI2nPeIx8Uo8L2qu0Rq1P9aqkXVQLclLola926kxC7VnkSKfB2Kvndm+BvDKo/8ARl20hX86CbAAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-group
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAEYklEQVRo3u2aW0hUQRjHd0vSygqkkkoiyCi7QTe0eujFLtANCiolKRIJrCgKH4RSHyqoMJAIiQpXAulKSQ89BN3IoqIHS7CSWJT0wR6y1kqp3L6B/8AwHD23b85ul4cfLHP5zvz2nJn9Zs6G4vF46G8m9M8IRqNRLywhyojrRCvxFbSirAxtQkHjV3AZcZboJuI2dKPtsj9FcB/uUNwlreibtIJjiOMexHSOI1ZSCaYQJxjkJCcQM2kEyxjlJGXJIrie6DQg2InYCRXMIBotBjdA3CUqiXVENjFSIxt1lWg7YBGnEddImGCpxaCuEJs8XHQT+urxShMlKL7ZB8pA+okjRCrqw0Q+UUXcJtqIb6ANZVVoE0afVMToV+I+MHEXnQgWWsjJgW4hbriYbzfQR34xumRhIgTrlAE0YWDDiD1En4dFpQ99hyFWk1JXF7TgZKJdGUA1yicRH32snB8RI4SYsrwd1wxMcIM2sL0oX8zw87AYsfZq5RuCFDysXLiHyFPmnl9BORdFzGvEASJXWbwCEbygDEisiGNRXssgWItYI0BCfuhvKgNqVsqfMwieU+KNx6P6UJvbX4iXxFFipgnBRgtBsfJ98CknYq1AvEXEPQd93imPNZtgwyB38JUPOZGq7UachcR7F317ie2cgqeU4G+INJRf8iHYoDyWjzz078IXwyK4S/vtmovybcRPj4Kbh8hvnVLvdB9pJ6j+3v1S9m5p2B18cjkwcceGE+lYULwKivOd2RyCo7RzF7G47FDqyz3s4EW/GT4zoQGnC46TXPSiFlxIbkTdBOKFi4GtZMyEDnIJ7rQI/gRyIWyDuhwuDmMYM6EzXILTiLdacDEfDykTfSvRMcRgOtAmxJgJPSXGce3oTxM/iDtYaPIs2oil+7J2CNyNMn1Z58iEPuM4hEVwFrHaJthUbHVy8Njm4/Nk1IUYMyHJfNNH94JMTPhqzC0hNRrkoKwabVIYMiHJdyf5KYdghYtBzWHIhCSvkQ2xCGYRxUQEOWlM2Xm3eFja/WRCkpM49vAlKOZLiXZuIpniQbDeZyYkD74iyvU9C2bYvIco8PCIVmgDKPcgeItjNxF28JLlKhaSTOw6hnrkfqJNpnYk4TYTEj87SzkES1y8ApMrozieryGe4fymB59rUCffTh1T9oNuMiHxaO7n2PBmDTLnBuM8DovsLpaLtnLzvEqps8uEenE6nsohWOxhXkRxxlJEzMN2KB2fi1AX1fo81CStMiFxJvOYWKucpvsWjBh4RTYYlZiXVpnQGmIB6qdznqo1M0u0YB5uwyZVZjkTcVfcZEKZHIIxJrEo7lA2YyZUwSHIIXdfWTk5M6EW5Z1JDLEiiJ0VlKCQW24oE5KCUyzqmnCtMHeyPdRrb1OZUIHNuU+GaUGTmdBo9LU73AqbFDSZCTn9E1KJKcEgMiEniDFkmRAMKhNyQrEJwSAzITsiJgSbk0iw2YRgLIkEYyYE48nEvyf4/1/3fyi/AdOa9QDDijZ8AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-group
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAEY0lEQVRo3u2abWjNURzH72XZmFELN3aTMjFDeQrzwhtPhSmKbVlkLeUhor1Yse0FCk1JktDuUsvTYnnhhcJkhLy4rIaltYUX88LD9Rh2/U59T51O/+3/9Dv/ez28+NTtPPz+53P//3Pu75z/DSWTydDfTOifESwsLPTCXKKKuEx0EJ9BB8qq0CYUNH4Fi4gTRC+RtKEXbYv+FMEduENJl3Sgb9oK5hAHPYjpHESstBLMIA4xyEkOIWbaCFYxykmq0kVwFfHagOBrxE6pYC7RYjG4PuIGUUusJPKJoRr5qKtF2z6LOC24RsoEt1oM6gKxxsNF16CvHm9rqgTFN3tbGch3Yh+RifowsZioI64RncQX0ImyOrQJo08mYnxX4t42cRedCJZZyMmBriOaXcy3ZvSRX4wuWZYKwQZlAG0Y2CBiG/HNw6LyDX0HIVabUtcQtOA4olsZQD3KxxJvfaycbxEjhJiyvBvXDEywWBvYdpTPYfh5mINY27Xy4iAF9yoXfk/MV+aeX0E5F0XMS8QuYp6yeAUieEYZkFgRR6D8JIPgScQaAlLyQ39FGVBcKX/IIHhKiTcKj2qrNrc/Eo+J/cRkE4ItFoJi5XvlU07EWoR4s4mbDvq8UB5rNsGmfu7gEx9yIlXbgjiziJcu+n4iNnAKHlGCPyOyUH7Oh2CT8lje8dD/Db4YFsHN2m/XNJSXED89Cq4dIL91SqPTfaSdoPp790vZu2Vhd/DO5cDEHRtMDMeC4lVQnO9M5RAcpp27iMVlo1Jf7WEHL/pN8pkJ9TldcJzkome14EJyNepGE49cDGwJYya0m0twk0Xwe5ALYRv0xuHikMOYCR3nEpxAPNeCi/m4R5no64meAQbTgzYhxkzoPjGSa0d/lPhBXMdCM9+ijVi6z2uHwL0o05d1jkzoA45DWASnEMtsgo3HVqcAj+1ifB6HuhBjJiSZYfroXhDBhK/H3BJS2aAAZfVok8GQCUm+OslPOQRrXAyqkCETkjxFNsQiGCUqiBhy0oSy8273sLT7yYQkh3Hs4UtQzJdK7dxEkudBsNFnJiQPvmLK9T0L5tq8hyj18IjWaAOo9iB4lWM3EXbwkuUiFpIIdh0DPXI/0SaiHUm4zYTEz84CDsFKF6/A5MoojuePEQ9wfvMen4+hTr6dOqDsB91kQuLR3Mmx4Y32M+f64zQOi+wuNg9t5eZ5qVJnlwl9wul4JodghYd50YUzlnJiOrZDw/G5HHVdWp9WTdIqExJnMneJFcppum/BmIFXZP1Ri3lplQktJ2aifiLnqVqcWaId87AEm1SZ5YzBXXGTCUU4BBNMYl24Q/mMmVANhyCH3C1l5eTMhNqVdyYJxIohdjQoQSG30FAmJAXzLOracK0wd7I90GtvU5lQqc25T65pQZOZUDb62h1uhU0KmsyEnP4JqdKUYBCZkBPEGKImBIPKhJxQYUIwyEzIjpgJwXgaCcZNCCbSSDBhQjCZTvx7gv//df+H8hvTo6v2BdhENwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-help
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACyElEQVRo3u2aP2siQRTAtTkE03qthRBICps0IVikkq0tbeQaq61t/QBaBSyU/Q7BIsVW+QJWabZUkLvOg6Q1xHvCWwjem3F9b96sub3iB2HdmXm/OM68+VPa7Xalf5lSYQSXy6UrKkALCIEJEAMJsAG2yAafxfhOiGUqruJwLVgGAmAMLIAdkwXWEWCduQtWgR4wF0iZmGPd1bwEO8Cjgtghj9iWN8EGMAJePcilvGKbDW3BNvDkUeyQJ4xBRbALvOQol/KCsTgV/AGszkAuZYUxORHsCuTWQISjYRO4QJr4LMJ3uJJdqWCb2S0/gBlwl6Hr3+G7H8zu2uYKNpgDyj5LGTCmnQGW5Qw8DY7giPnNDQQZyID5TY5OFeww57mZgzxyxpwnO1kFq8wMZZ3xN5flN7lmZjzVLII95qgWWYK+B6Y48q3w73vL+xEzht4xwbIgce5Z5BaGlYNJkvtPnqerEJNgIJh8rwzBTi1lpoYyTUEcgU1wLKj4myHY1ZHJmipzIYhjbBKsCBer34lAa8Avz4J7hwol2BLmh9dEoPtnvz130T0tSjAUVjokAh3iZ++eBpmUkBKcCCv9iULXyBCfUd1Sa5pImVCCseLy5rO81kT/mZgSTBQFh8qp2iEJJbhRFLxUTrb/WtFQgltFwZricoli61tQa8F7kuAmB8HIwYCSuYsmOQhqtZf4niZ8C8YaE/2pg0xNsb2JRqpm45YQvFVsL9RItm08EIIPiu21NJZLNt6IPPVNqS3jckm64D0XxlpbFudCoLXpZOMZ6AN1pI/PNE6Fy1rbhja5G2KQuVGQPLptKNn4NdG3TPR9x0fdmTZ+JVv3FHWLYN3hEXfmrXvJ4UtegicfvkiOz3x3UfbxmeQA1NcgIzoAdXGErTlNODnCLsQlhEJcIynERaBCXOUqxGW8wlynLMSF2K9zpfn/rfsvyh/6EbFZWfOfjQAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-help
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACxklEQVRo3u2aP2siQRTAtTkE03qthXBwEWzShGCRSra2tFmusdra1g+gVcBC2e8QUqTY6r6AVZptBbnrPEhaj3hPeAvBezOu782bNdkUP5B1Z+b9cJx586ey2+0qH5lKaQTb7bYrakAXiIAZkAApsAG2yAafJfhOhGVqruJwLVgFAmAKLIEdkyXWEWCdhQvWgRB4EEiZeMC660UJ9oF7BbFD7rEtb4ItYAI8e5DLeMY2W9qCPeDRo9ghjxiDiuAAeCpQLuMJY3Eq+ANYnYFcxgpjciI4EMitgRhHww5wgXTwWYzvcCUHUsEes1u+AgvgJkfXv8F3X5ndtccVbDEHlH2WMmJMOyMsyxl4WhzBCfOXGwkykBHzl5ycKthnznMLB3nkgjlP9vMK1pkZyjrnfy7Pf3LNzHjqeQRD5qgWW4K+BeY48q3w863l/ZgZQ3hMsCpInEOL3NKwcjBJhoIEvWoTDAST73dDsHNLmbmhTEcQR2ATnAoq/mIIdnVksqbKXAjimJoEa8LF6lci0Abw27Pg3qFGCXaF+eElEej+2R/PXXRPlxKMhJWOiUDH+N1fT4NMRkQJzoSV/kKhS2SMz6huqTVNZMwowURxefNWXmuif0tCCaaKgmPlVO2QlBLcKAp+U062/1vRUIJbRcGG4nKJYutbUGvBe5LgpgDB2MGAkruLpgUIarWX+p4mfAsmGhP9qYNMQ7G9mUaqZuOaELxWbC/SSLZt3BGCd4rtdTWWSzZeiDz1Rakt43JJuuA9F6ZaWxbnQqC16WTjJzAEmsgQn2mcCle1tg1tclfEIHOlIHl021Cy8WtiaJnoh46PunNt/Eq27imaFsGmwyPu3Fv3ksOXogRPPnyRHJ/57qLs4zPJAaivQUZ0AOriCFtzmnByhF2KSwiluEZSiotApbjKVYrLeKW5TlmKC7Hv50rz5637d8o/+hpoT5ELhEAAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-home
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABX0lEQVRo3u3a0QmDMBAGYJdwJ99cwUmETuA6naBrCN1B6FuaQh5KiTa5+/+YtPfwI0g093EQErRzznW/nO5vgOu6lsgcQp/rDOAL5kLm2oFuJym4IsiSwPlg/Nw68AhHRZYApuBoSAbwIsRRkGigFgdHIoEoHBSJAqJxMCQCKMFdQuhILVCKe3+eikRt1SS4IkgEUIL73GzTkFqgFBcrmILUALW4IkgpEIWjIyVANI6KzAWycDRkDpCNoyBTgaVwcGQKsDQOivwGPAsHQx4Bz8ZBkHvAWnBqZAxYG06FjAGvFeJiyJR5rzHgVilOgtxyO3g2LhcZ7eDk8yDg7j6Lz+DThwzh3p2AfBmmvVV0Cp3cwlWLu/mMB9vAMYzRIt9rnqSnCUnnxoT3jsJOwo9LuQUsGYfopUXgkAEcWgT2GcC+RSDqi5UBDWhAAxrQgAY0oAENaEADGtCAcqD9dd9onjCC5/YbEJ4uAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-home
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABYElEQVRo3u3a0QmDMBAGYJdwChfxzRWcROgErtMJOkh3EPqWppCHUqJN7v4/Ju09/AgSzX0chATtnHPdL6f7G+AwDCWyhNDnOgP4grmQpXag20kKrgiyJHA5GL+0DjzCUZElgCk4GpIBvAhxFCQaqMXBkUggCgdFooBoHAyJAEpwlxA6UguU4t6fpyJRWzUJrggSAZTgPjfbNKQWKMXFCqYgNUAtrghSCkTh6EgJEI2jInOBLBwNmQNk4yjIVGApHByZAiyNgyK/Ac/CwZBHwLNxEOQesBacGhkD1oZTIWPAa4W4GDJl3msMuFWKkyC33A6ejctFRjs4+zwIuLvP6jP69CFjuHcnIF+GeW8VnUMnt3DV4m4+08E2cApjtMj3mmfpaULSuSnhvZOwk/DjUm4Ba8Yhem0ROGYAxxaBfQawbxGI+mJlQAMa0IAGNKABDWhAAxrQgAY0oBxof903micwi57sAiGxWgAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-image
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA9UlEQVRo3u3aQQqDMBSE4XhPz/LwPjmUO6+RWnBRipWok5T3/BezESV+qJNATKWUFDkJIECAAAECrADO81wiBSDAAMDkLADVwGHNuCavWbbk7djgHfgGTAffyNQA2RU4VhTB6BmYK4DZM3CpAC5PB9qWkK+ofZxn0UrGds61KNOEHVxj3id6q3jq5nWpZicW0tYLeLblFLgjpBR4peVUuF/jyoBXW06J2xtXArzTcmrc933eBt5tuRY4GVDRci1wEqCq5VrgJEBFAbTC/RVYPubKEhXYIwABAgQIEGCPxTabL96A7PACBNgRyJ9OAAECBAjwgcAXLTbXdRw/6/EAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-image
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA9klEQVRo3u3aUQqDMBCE4Xger+RZFu+Te3mN1IIPpViJOknZ9X+YF1HihzoJxFRKSZGTAAIECBAgwArgOI4lUgACDABMzgJQDRzWTGvymmVL3o4N3oFvwHzwjcwNkF2BU0URTJ6BuQKYPQOXCuDydKBtCfmK2sd5Fq1kbOdcizJN2ME15n2it4qnbl6XanZiIW29gGdbToE7QkqBV1pOhfs1rgx4teWUuL1xJcA7LafGfd/nbeDdlmuBkwEVLdcCJwGqWq4FTgJUFEAr3F+B5WOuLFGBPQIQIECAAAH2WGyz+eINyA4vQIAdgfzpBBAgQIAAHwh8AUDtsvatpQEIAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-info
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACDklEQVRo3u2aLa6DQBCAW0fCISp6hFp0g0bWNM+guAlYztFUIFDvAlU1yPYCiGoEb0hmk6ZZ/mdmKfvEZ0i7s1+y2dmdnU1d15s1s7FG8PF4UOEAHhABKZADBVACFVLitxx/E+F/HKp5UAtuAR9IgBtQT+SGY/g4pnFBFzgD1xlSbVxxbNeUYABcGMQ+uWAsMcE9EAMvATnFC2PuuQWPQCYo9kmGc2ARPAF3g3KKO86FVPAHeC5ATvHEOZEInhYm9y55mit4JFqWv0AI7JAQv1Es1+NUwT3RhtKIHDTjH4gkM93uOkQwJlpKYcfyD4lixGMFA8I8t+sQ3BHmyWCooEt8QpEQVCced4jgmXi3k1iiinOf4Jbh4My9yXwe0Lddgj5TzuJKEzr8LsFkgQl9LEmboDPzsroUGgdHJ+itQE7h6QSjFQlGOsGUMaDkJtOQ6gRzRjmpNKHIdYIFUzDJRK8odIIlUzCpo9o7pU6wYgrWVy3giFlZKViuSLCU3GRMCBaSacKEYC6Z6E0IppJHNROCkeRh24SgJ3ldkhZsvS5xXXilBRPpkoW0oC9ddJIU7C06cZQNJQV7y4YchV8pwcGFX+rSvYTgqNI99eOLxH1w9OML5fMZ941+8vMZ1QMoZ01m1gMo5RM2R1WN5AnbiiYEK9pIrGgEsqKVy4pmPGvaKa1oiP2elub/rvsv5Q8pIhEFgtIDIwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-info
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACD0lEQVRo3u2aLa6DQBCAiyPhEIjKylp0g0bWNM+guAlYztFUVKDeBapqsL0AohrBG5LZpCFbfsrMLGWf+Axpd/ZLNju7s7NpmmazZjbWCO52OypcIAASIAcKoAQqoEYq/FbgbxL8j0s1D2pBBwiBDLgBzYfccIwQxzQu6AEn4DJD6h0XHNszJRgBZwaxLmeMJSa4BVLgKSCneGLMLbfgAbgKinW54hxYBI/A3aCc4o5zIRX8AR4LkFM8cE4kgseFyb1KHucKHoiW5S8QAz4S4zeK5Xr4VHBLtKG0InvN+Hsiyatudx0jmBItpbhn+cdEMdKpghFhnvN7BH3CPBmNFfSITygSgurE440RPBHvdhJLVHEaEnQYDs7cm0z3gO70CYZMOYsrTegI+wSzBSb0qWTvBN2Zl9Wl0Dq4OsFgBXKKQCeYrEgw0QnmjAElN5mWXCdYMMpJpQlFoRMsmYJJJnpFqROsmIJJHdVeqXSCNVOwoWoBR8zaSsFqRYKV5CZjQrCUTBMmBAvJRG9CMJc8qpkQTCQP2yYEA8nrkrTg2+sS14VXWjCTLllIC4bSRSdJwcGiE0fZUFJwsGzIUfiVEhxd+KUu3UsITirdUz++SNwHJz++UD6fcd/oP34+o3oA5azJzHoApXzC5qiqkTxhW9GEYEUbiRWNQFa0clnRjGdNO6UVDbHf09L833X/pfwBKSvH7GcgBX8AAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-key
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABs0lEQVRo3u3aMW6DMBQGYF+CJSdhyc7GPXICulRwAla29gQcI0vnSGxImSt1QmJzX6SXDk1sMHbgN3rDvyDH5pOdZ7BQWmu15ygBClCAWMC+75FzoJSUC6fka39tYgd+UPS/lHsBvj/BaZ7J6IEm3C6ANlz0S3QK9xlzkZnCaW6jYgTOwT1FxgB0wT0g0YFLcPfc9sgDMnAKV3GsFRUVOAd3b2tDXhCBS6plFQtwcbXkPRB6iXpVS9ObBQrQu1qa+kYABqmWqMBg1RIR6IKbrJZowCU4a7VEAvrgZp3DbAn0xTnHF5hSCkpL6SgDp+NrBbfZBOcDPFIays+MferW5msL3FLgiWdIB0r1yq3IFfhGGWPBuQJPseFcgMfAy/Kb+4QBNpabvVJqSkZJOBlfu1p+16AAU0u1PFNyywA5tzFV1xQBWFhmLp8xSG6ZyQIB2BpurnYYqDb00SIATcUlcxgoM/TRIQAHw80lDgMlhj4GAcoSlSIj28TuN/rdP6q94mG7Q3vYDvm6NHJfCg0Y4oV35D4UKtDnyKJbc+bWPnRq1vrPbXlsqCCB8r2oAAUowJD5BbwazPh43KsbAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-key
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABs0lEQVRo3u3aMW6DMBQGYF+CJVfgAizZ2bhHTkCXCk7AytacgGNk6RyJOXOlTkhs7ov00qGNDcYO/EZv+Bfk2Hyy8wwWSmut9hwlQAEKEAuYpilyDpSKcuVUfO23TezAD4r+k2ovwPcnOM0zGT3QhNsF0IaLfolO4c4xF5kpnOY2KkbgHNxTZAxAF9w/JDpwCe6R+x55QAZO4WqOtaKiAufgHm1tyCsicEm1rGMBLq6WvAdCL1Gvaml6s0ABeldLU98IwCDVEhUYrFoiAl1wk9USDbgEZ62WSEAf3KxzmC2Bvjjn+AIzSknpKD1l4PR8reQ2m+B8gEdKS/mesU/d23xugVsKPPEM6UCpX7kVuQLfKGMsOFfgKTacC/AYeFl+cZ8wwNZyszdKQ8kpCSfnazfL71oUYGaplhdKYRmg4Dam6pohAEvLzBUzBiksM1kiADvDzTUOAzWGPjoEoKm45A4D5YY+egTgYLi5xGGgxNDHIEBZolJkZJvY/Ua/+0e1Vzxs92gP2yFfl0buS6EBQ7zwjtyHQgX6HFn0a87c2odO7Vr/uS2PDRUkUL4XFaAABRgyPztnmmolfK7EAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-like
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACZUlEQVRo3u2aUURDURjHL2NcRkREROw1IiJijDFGRE8RMUZPERE9RewpYvQUI3qK6KmnGBGxp4iIJkaMMWKMcfsO3+Gac7dz7v3OudtxH34v25z/+bFz7jnfdx3P8xybcRLBRDARTAQTQQrBVqs1iXmgDDwBTWAAeMA78AAcAwsS48iwCVSAmi/vBqjidxPHUBGcAy59QuMY4EQWQ0i5wAnwI5Hzi791owrmcDBPkR6wryBXAL5C5HwC62EFt4F+iFA/VQm5I2AYIYPNsaQqWIgYKit5SpTBlsaGrCDbKLpEwZyKQG6POOMb94uJgrfEwYw/IOvLyOJn1Dn1SYLLhH/NUV58gg1NGUN0CBS80hTMKeKGoDOjFiToalh7ozQRnRlsV3VFgkXNwSYpiQTPLRK8EAk+WiT4JBJ8t0jwQyTYtUiwJxIcWCQ4tF1wIBLsWCTYEQk2LRJ8FQnWLRKsiQR3bT/JuJasQ1bTSQXdJmw4rpXHXZcyQHuG5Z5lbvQ5jZderacXftmVKTqVZ0yOlT+2VMuGh7Mqp1L43ddUHKKCFX5Xo5buWQXsbQrlrilK95w0FnCn4pyJVXey5ouffMyPEdZpWqLuLo2SwfKiyUdJV7GZE0mQs2Zobd6F6TtSCHIq+JClFmuLukZxCDJWiO+TjZBNVG2CfKetEZXe01Hno0OQsxvycNBX3UjiEnSwrdxVlCtQzkG3IN9lO5Jyeep8E4IOnhM7puVMCnLJfkCzsqQr16RgUD/+TGemacHR7vG97rw4BNP4sk8bz7PWCTJ2gAMTWXEJpsZdUrUKJu+LJoLTyT9iSwxwQFpNiAAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-like
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACZUlEQVRo3u2aUUQEQRjHlziWiIiIiHs7EREREUccET3FEcfRU0RETxH3FLH0FBE9RfR0TxERcU9HREQccRxHHMuxfcM3rDN7N7P7zezd2Iffy92Z//y4mZ35vnWCIHBsxskEM8FMMBPMBCkEC4XCKGaBClAHGoAPBEATeASOgTmJcWRYB6qAF8q7AWr43cgxVARngMuQ0DB8nMh8DCkXOAF+JHJ+8bduUsFNHCxQpAuUFeSKwFeMnE9gNa7gDtCLERqmJiF3BPQTZLA5llQFiwlDZSVPiTLY0liTFWQbRYcomFMVyO0TZ3zjfjFS8I44mPEH5EMZefyMOud2lOAi4V9zkNeQ4IumjD46RApeaQrmbOOGoDPDixJ0Nay9QRqIzgy2q7oiwW3NwSYpiQTPLRK8EAk+WSRYFwk2LRL8EAl2LBLsigR9iwT7tgv6IsG2RYJtkWDDIsE3keCtRYKeSHDP9pOMa8k6ZDWdqajbhA3Htcqw69I00JpguWeZG/2mxkuv1tMLv+zKFJ0qEybHyh8bqmXDw0mVUyn8ljUVh6hghd/lpKV7VgF7H0O5a4rSPSeHBdyxOGdi1Z2s+RJmK+XHCOs0LVB3lwaZxvKiyUdJR7GZk0iQs2Jobd7H6TtSCHKq+JClFmuJukZpCDKWiO+TLzGbqNoE+U7rEZXec0nno0OQsxfzcNBT3UjSEnSwrdxRlCtSzkG3IN9l25JyW9T5JgQdPCe2TcuZFOSSvYhmZUlXrknBqH78mc5M04KD3eMH3XlpCObwZZ8WnmetE2TsAgcmstISnBp2SdUqmL0vmgmOJ/+3NFWkassB+wAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-map
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACHklEQVRo3u2aPWvCQBiAA4VCcejUtUNIKGQqdLSD4CqdCnUU/AH+AAc3O0ez+wNchY511rWDW8ykODmJgpC+B+9BkLuYj/O8nBGe5bx73zzkvE+NMAwNnTFKwVJQM0Hf95NiAy3AA6ZAAOyRAMs8rGMnjauCYA0YAEsgTMgS29RUFjSBPrBKIXbKCmOYqgnWgUkOsVMmGFMJwQ9gLlCOMsfYVxWsn5H7A1ygCThABXGwzMU6cZL1awmaMd2SfHqAlWBQsrCuH9NdzWsI9jkP9As0UkwnlAa2ZcXsyxascUZL8oDVDHKUKkdyRacQWYIDTrds5JCLvklWdx3IErQ5k3hPgBylx1kM2DIEW5zR0hIoaHFG15YMQY+R2BUoR3EZeTwZglNG4uYFBJuMPFMZggEjsXMBQYeRJ5AhuGckrlxAsMLIsy8Fyy5aDjL6TxPaT/TaL9W0X2zfxHZJ+w3vTRxZaH/odBPHhtE3ORMoN1Pp4Df6m1wLkFureHRP+RQg+KXy7dIdsMght8AYSl+ftXMItotwP3jP2TOeI8C2ygsSOhkEO0W54SU8AJsUchtsUxhBQjeFYLdId/SUR2CbQG6LdQsnSPhOIPidJqZqgk/ALkZuh3UKK0gYxggO08ZTUfAZODDkDvhd4QUJI4bgKEssVQVfgGNE7ohl2ggSxhHBcdY4Kgu+RgTfdBQk/CCGroLviLqC5T9+S8FSUCj/6UiKDWGJnSAAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-map
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACH0lEQVRo3u2aPWvCQBiAA4VCcejUtUNIKMSl0NEOgqt0KtRR8Af4Azq46RzN7g9wFTrWWdcObppJcXISBSF9D96DIHcxH+d5OTM8y3n3vnnIeZ8xgiAwdMYoBAtBzQTL5XJcbKAJeMAE8IE94mOZh3XsuHFVEKwCfWAJBDFZYpuqyoIm0AVWCcROWWEMUzXBGjDOIHbKGGMqIfgBzATKUWYY+6qCtTNyf4ALNAAHKCEOlrlYJ0qydi1BM6JbLoAOYMUYlCysu4joruY1BLucB/oF6gmmE0od27JidmULVjmjJXnASgo5SoUjuaJTiCzBPqdb1jPIhd8kq7v2ZQnanEm8I0CO0uEsBmwZgk3OaGkJFLQ4o2tThqDHSOwKlKO4jDyeDMEJI3HjAoINRp6JDEGfkdi5gKDDyOPLENwzEpcuIFhi5NkXgkUXLQYZ/acJ7Sd67Zdq2i+2b2K7pP2G9yaOLLQ/dLqJY8Pwm5wKlJuqdPAb/k+uBcitVTy6p3wKEPxS+XbpDphnkJtjDKWvz1oZBFt5uB+85+wZz+FjW+UFCe0Ugu283PASHoBNArkNtsmNIOE7geB3nu7oKY/ANobcFuvmTpDQiyHYSxJTNcEnYBcht8M6uRUkDCIEB0njqSj4DBwYcgf8LfeChCFDcJgmlqqCL8AxJHfEMm0ECaOQ4ChtHJUFX0OCbzoKEn4QQ1fBd0RdweKL30KwEBTKP/Pn4UrUR7csAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-menu
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAmklEQVRo3u3asQ2AIBRFUUZzTedwGiucghYh0cZQGDs/p3iVjScx4k1MtdYUeQkQEBAQEPAFMOfct7RtbaWt/mzluvduGAL7hf2HsOe6YRkB1wC4e+sIeAQCHlMCwz+i4V8y4Y+JUAMEBAQEBPwA1IN6UA/qQT2oB/WgLxlAQEBAQD2oB/WgHtSDelAPTnNM+NMJEBAQEHBC4AnLhkK/Aq4o6wAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-menu
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAm0lEQVRo3u3asQ2AIBRFUfZhCdd0DqexcwpahEQbQ2Hs/JziVTaexIg3MdVaU+QlQEBAQEDAF8Ccc9/StrWVtvqzleveu2EI7Bf2H8Ke64ZlBFwD4O6tI+ARCHhMCQz/iIZ/yYQ/JkINEBAQEBDwA1AP6kE9qAf1oB7Ug75kAAEBAQH1oB7Ug3pQD+pBPTjNMeFPJ0BAQEDACYEn3z0eQC9MRLsAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-money
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAD20lEQVRo3u1av0sjQRReC7mVEETIHxAUrrKztTpCCIQ0QkJII2eRKk1I4R8QBTFpU6QJVhYpIhZyhP0HrrCQsxALUdAmRQ5stdh7gW/gsWw2O78iuld8kMzOvPe+nTfvvZkdx/d95yvDSQzBx8dHU3AJu4QGoUcYE+4IU8I7MEXbGH0aGOOassM0wRVCgdAlXBN8RVxDRgEyP5xgirBPuAwYekMYEJqEImGbkCGsAhm0FdFngDFcxiVkpz6K4B7hghl0S+jg7buKrl2AjFsm9wK6lkZwC0a8woDfhBYhy/rMflcIx4QRZmdCeAMmaBuhTyVkfAuyfejqQLdVgnnCFZS+ENpMaZpQJZwRnhXW3zPGViFLvMw2dPnQnbdFsEb4A0W/CCW0rxEOEBF9QxhD5hp0lKDThw010wR/Ep6goE/4jvYfhHODxII4hw4HOvtof4JNRgjWGLlTwjraZ7nr3iI5gXvocqD7lJGs6RLMM7ecCf6G9XGEhC1jaFC2zNh36EzDhlPmrnlVglssoPTx9tJIxCozoUNQoAsb1pm7XoVF1zgEOyygiDV3pOFqJgj6sEGsSRF4OrIE95B7Xli0bCi4pQ2C72xNlmDja7AYiCKYYhVKm0XLe8Xa8oRQjghih+jzIBl4RHRts4onFYfgPqtQtpCLzhWI5STLq5xCClmDjaLi2V9EcIUVzi20HUgq7isW7jkFDznA2BYr0FeiCBZY4ZxFxBpLzpyzRIJj2JhlBXohimA3EJWqkgrnueUG1lmwP1+fOcWgUw1E/e48gi7brBYw6MzA7G3ECCDXc15AHJwFvG8myw0juMs2qy6mXWZXMJxDsG65lHuGrS7bNO+GEWzg4QCGVQwFl/IS6tUKdA3wvxFGsIeHTXQ+llQyjAggnmWCx9DTxP9eGEERLYvoPJJU8ndBlDy0SHAEHUURXcMI3uHhNjrfKCiKk9xP8DJMEryB7G38vwsjOMXDDDpPFBQ9IGrGyXt1yfIsChPIzOD/NIygKKRX0flNUZknQdLRSA8cb5C1KgpymwTFTMrUojuabhuLoAkXDYuscYmWbbuoiSATVanUY5Ac2gwyumnChOuWbaYJ3UQvg3kb4E2biV63VJOdSZMEY5VqusW2J1GSmSQYu9jW3S55EruHQ4NrMPZ2SXfD64UkcE8ymvZtbnh1jyw8za/EO8s4stA5dNIhuKlYl0ofOukcGz4okqsrlmlKx4YmDn6HWH+LSjSdbZPWwe+XP7pPxMeXRHw++/IfQBPxCTsRlxAScY0kEReBEnGVKxGX8RJznTIRF2I/z5Xm/7fuPyn+AbgsqpB0YXDRAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-money
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAD2UlEQVRo3u1av0sjQRReC7mVICLkDwgK15jONtURQiDYCAkhjZxFqjSSIn9AFMSktUgTUlmkiFjIEfYfuMJCzkIsBCE2KXJgq8XeC3wDj2Wz7vyK6F7xQTI78977dt6892Z2HN/3na8MJzEEd3Z2TMEl5AgNwjlhTLgnzAhvwAxtY/RpYIxryg7TBFcIRUKXcEPwFXEDGUXI/HCCKcIB4Spg6C2hTzgilAhZQpqwCqTRVkKfPsZwGVeQnfoogvuES2bQHaGDt+8qunYRMu6Y3EvoWhrBbRjxAgN+E5qEDOsz/10hnBBGmJ0p4RWYom2EPpWQ8U3I9qGrA91WCRYI11D6TGgzpeuEKmFAmCisvwnGViFLvMw2dPnQXbBFsEb4A0W/CHtoXyMcIiL6hjCGzDXo2INOHzbUTBP8SXiCgh7hO9p/EC4MEgviAjoc6Oyh/Qk2GSFYY+TOCBton+euB4vkBB6gy4HuM0aypkuwwNxyLvgb1scxEraMoUHZMmPfoHMdNpwxdy2oEtxmAaWHt7eORKwyEzoEBbqwYYO563VYdI1DsMMCilhzxxquZoKgDxvEmhSBpyNLcB+555lFy4aCW9og+MbW5B5sfAkWA1EEU6xCabNo+aBYW54SyhFBrIU+j5KBR0TXNqt4UnEIHrAKZRu56EKBWF6yvMorpJA12CgqnoP3CK6wwrmJtkNJxT3Fwj2v4CGHGNtkBfpKFMEiK5wziFhjyZlzlkhwDBszrEAvRhHsBqJSVVLhIrfcxDoL9ufrM68YdKqBqN9dRNBlm9UiBg0MzN5mjABys+AFxMEg4H1zWW4YwRzbrLqYdpldwXABwbrlUm4CW122ac6FEWzgYR+GVQwFl/IS6tUKdPXxvxFG8BwPj9D5RFLJMCKAeJYJnkDPEf6fhxEU0bKEziNJJX/fiZItiwRH0FES0TWM4D0eZtH5VkFRnOR+ipdhkuAtZGfx/z6M4AwP0+g8VVD0iKgZJ+/VJcuzKEwhM43/szCCopBeRedXRWWeBElHIz1wvELWqijIbRIUMylTi+5qum0sgiZcNCyyxiVatu2iJoJMVKVSj0FyaDPI6KYJE65btpkmdBO9DBZtgLdsJnrdUk12Jk0SjFWq6RbbnkRJZpJg7GJbd7vkSeweWgbXYOztku6G1wtJ4J5kNO3Z3PDqHll4ml+Jd5dxZKFz6KRDcEuxLpU+dNI5NnxUJFdXLNOUjg1NHPwOsf7yFrdNWge/X/7oPhEfXxLx+ezLfwBNxCfsRFxCSMQ1kkRcBErEVa5EXMZLzHXKRFyI/TxXmv/fuv+k+Ae4NWGGfrzG3wAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-music
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABWUlEQVRo3u3aLU/DUBTG8X8bJAq/pSgUCckUn2BziH4ONJIEh+OLTFTW4VBNSFAoGioXMOCLuRiS3q3hntuXPE9yTXey7Lf23LObLGnbljknZeYRUEABBTTNUdcLdV0P9ZmOgTPgHFi6dQGcAie/RVmWJf8CjgFhegenhLAEjgJhCfzSLiqggALql8zI8g28Ai/Au1vPwBvwMRWgD/E5lTsYDRELeDcUIhbwVruogAIKKKCAAgoooIAC6kQ/aBZADqyBlbtWAeUcgJfADXD15/rGrUk/oosO3Gx6MA+NO/QRDdoTnqyH2GSC94Qnq9hjwqQnAmUXAphHxlUWtWnsnvCktKhNY/eEJ1ugOKCucLVRx8QuwHs0wP0eZOFqmhC7aNVjp6wCfVFPwDXw2DGWtn1w+4BlD2DImdgAD26ZjgmTnhjTccmkJ8Z2XAreE7GT6C/NAgoooGV+ABqtV27lkOv+AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-music
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABWUlEQVRo3u3asUrDUBTG8X+Co5N7C04uEYROPkHdHPIczo6Cm5sv0iFjNjengGAWp4IZiy66x+W6CEkbvOfmJnwf3CU9lP6anHt6oUnbtsw5KTOPgAIKKKBpjrpeyLJsrM90DJwB58DSrQvgFDj5LarrOvkXMAaE6R2cEsISGAXCEvilXVRAAQXUL5nI8g28Aa/Au1svwBb4mAqwD/E5lTsYDBEKeD8WIhTwTruogAIKKKCAAgoooIAC6kQ/ahZADqyBlbtWAeUcgJfALXD95/qVW5N+RBcduNn0YO4bd+gj6rUnerIeY5Px3hM9WYUeEyY94Sk7H8A8MK6yqE1D90RPSovaNHRP9GQDFAfUFa426JjYeXiPBnjYgyxcTeNjF60G7JSVpy/qGbgBnjrG0mYIbh+wHAD0ORMb4NEt0zFh0hMxHZdMeiK245L3ngidRH9pFlBAAS3zA8kPV24DkBX4AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-percent
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABoUlEQVRo3u3azwmDMBQGcOfoxe7QHRzFMYq96xQdpEcn8OwKQgewT0gvIVh8f74XSw4fFAlpfhDNe2K1rmv1z6kKsAALsABdgPM855yOMoVsvy8awIYyUEbKEjKGaw0Qd6esUToJ8ErpKe/ExN+8w5irA27LxAVuC37uwOI8DZH3nf9lA/sDuG96MI69RZvEtnxRWkod0oZr8XZtgLjHNo4DHBK4W2IBtwRyQOK4wDGarN1ZSBuNHZE4LnCJJqx3FlNHYxckjguMJ/21qKPj1XBnArJwZwGycWcAinC5P2TEuJyPCRVcrge9Go4LtCzVVHFcoFWxrY6TALXbJROcBKjZ8JrhpECNVxamOC1ghS6/zgCE4LyAUtyhWwINlOBYDzUkUIpjHUsooHRbsgsLBFDjnmOXhtZAjaelqLi3BGodBaL2zAqoec6JGmwLoPYhLnpFog20qFCyAVqVX1kALWtLd6B14ez6kEF0BW7HBKrlcTnoYf2cR6nWAXEuxfYExsHbpQmMgze8nQMO+srikvhkKtvPu8rHeAVYgAVYgBb5ABfHfWl8THQpAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-percent
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABoElEQVRo3u3aTQqDMBAFYM/Rjd277B08iscodq+n6EG69ATeQ+gBbIR0E4LF+XkTyyweFAlpPohmRqzWda3+OZUDHehAB5oAm6YpOX3IHLP9vkgA25AxZApZYqZ4rQXi7iFrkp4DvIYMIe/MxN+845irAW7LTAVuC37uwNI8FZH3nf8lA4cDuG8GMI68RdvMtnyFdCF1TBevpdu1BeIe2zgKcMzgbpkF3DLIEYmjAqdksm5nIV0ydkLiqMAlmbDeWUydjF2QOCownfTXoo6OF8OdCUjCnQVIxp0ByMKV/pBh40o+JkRwpR70YjgqULNUE8VRgVrFtjiOA5Rul1RwHKBkw6uG4wIlXlmo4qSAFbr8OgMQgrMCcnGHbgk0kIMjPdSQQC6OdCyhgNxtSS4sEECJe45cGmoDJZ6WrOJeEyh1FLDaMy2g5DnHarA1gNKHOOsViTRQo0IpBqhVfhUB1KwtzYHahbPpQwbRFZgdE6iWx+Sgh/VzFqVaD8SZFNszGAdvl2YwDt7w9gY46CuLS+aTqWI/7/KP8RzoQAc6UCMfknmIuWvdsIEAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-photo
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABkklEQVRo3u2avWrDMBCAvQU8ZffSzZAHye6n8JvUiz36CbIECoVCh0I2L34ML1kLbjIk0IJyhvMizoltpVg63fAtRhL6iO70cwmUUgFnAhEUQREUQREUwRGCTdPcIwL2wBFQDzhi2+jBmP/KFMEY+B4hptP12bgg+DZDrufdBcHWQPBsm2AXNx/AxUBqKS4492hIsIu1HwfFdE5d7FOCXwzkeg6U4C8jwT9KUHFCBJ9EDWRAgkksRGL8lmEb5wQrIAXWI/asNbatXBEs8ReaujnH2NdqwVdgZXACWeEYVgqWA3JboMBYa5Eav20HJEvbBCtiWb4AOZ5H751Vc2yrL9fKJsGUkNtN6L8jJFNbBGsiW+YzxsmJ7FrbIJgRMXeeebXSYzKzQTDRJlUYjFVoYyU2COrJpTZc7nqyWVwwfOILQKuNFYqgLFFJMrJNsN/o2R/VvDhss78ueXHh9eLJwotHJy+eDeVlewlB9sWXA/fy2QaLh2wLoH0J+xO4Oih2xbnTJWz5p5MIiqAIiqAIeih4A5brCtF1InK7AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-photo
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABkUlEQVRo3u2avWrDMBCAvQU8ZffSzRC/R3Y/hd+kXuzRT5AlUCgUOhSyedGLZC24yZBAC8oZzos4J/5JsXS64VuMJPQR3ennEmitA84EIiiCIiiCIiiCAwSTJLlHBOyBI6AfcMS20YMx/5UxgjHwPUDMpO2zcUHwbYJcx7sLgs0MwbNtgm3cfACXGVJLccG5R32Cbaz9OChmcmpjnxL8YiDXcaAEfxkJ/lGCmhMi+CQUkAMpJrEQifFbjm2cE6yBDFgP2LPW2LZ2RbDCX2js5hxjX6sFX4HVjBPICsewUrDqkdsCJcZagyj8tu2RrGwTrIll+QIUeB69d1YtsK25XGubBDNCbjei/46QzGwRVES2LCaMUxDZVdkgmBMxd554tTJjMrdBMDUmVc4YqzTGSm0QNJOLmrnczWSzuGD4xBeAxhgrFEFZopJkZJtgv9GzP6p5cdhmf13y4sLrxZOFF49OXjwbysv2EoLsiy8H7uWzDRYP2RZAuxL2J3B1UOyKc6dL2PJPJxEUQREUQRH0UPAGqqLmQ4ty8RsAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-preferences
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACZklEQVRo3u2aParCQBDHhfQWgeAd7AypxDaQyipnEC/wqkDAswgP0geEtB7BysZgHQSbByKRvBFGEMnHbPbD1aT4N2GzMz+ymd2dmUFRFINv1qAH7AE/DDBNU9EKQDtQBrqiMnwWiLanGtAAnUBFhU445mMBZzVwD80+GTAkAIY6Ak5BI8K4LQFwS5jHQptKABegPf4/Xs04E5QTAHMcWzWPi7b2aFsq4A/o/OLgqiJQzAlwD82JS/yMPkgBvE98qXBwU/IVIgbAqOTrxxVjL3WQbQEXJV/uVUeQA/JBa9CNAfCG79zfnYAODePPVcu1DeAU1z/V0YJTOXHcvizwtAG0Gjbrd+lUFsnbLlFXQ0BPdJAJNYJbydomYg3gNnXnV15AkxDhZOrYcCgQcpKZMES6P9zjliAbNETZ+CzCMdQI7ag4qvlEhxIcS5kvIc7pqwBcExz5BY0ZbgFjfKdp3rUsQBPPixFhM08Y4Z4hE8IyjdAXkwfQwItoiNcZln/OT9vf53yGfzJH30L01aACBhwnl0jApTXiONkEFMAdRxhfCgBcctjfUQAzDgO2AECbw35GAbxyGBgKABxy2L/2gF1Yol8fZL5+m/j6jb4TR7XOHbY7dV1yGNKDIi+8OV62pQKamDZ4V8riIDNlYWDC591Jp1gW4EqjtGEoGtDTMPHrigIcaZy6t1QXX3IBjlMjtLDiC7V8dsAwzls+cwiRWmj5jFIAjSUUQDcqC6B1JeyqiMZbwjZKIrfUEnZZE4KroAnBU9mE8Bx4LIVtJCOVbSSdaATqW7m60oynXztl3/HbA/aASvUPVX/AtATLQwoAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-preferences
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACZUlEQVRo3u2aParCQBDHhfQWgeAdtDKkEttAKqucQbzAqwIBzyI8SB8Q0noEKxvBOgg2D0QieSOMIJKP2eyHa5Li34TNzvzIZnZ3ZgZ5ng/arEEP2AN+GeBkMhGtALQHpaAbKsVngWh7qgEN0BmUl+iMY74WcF4B99T8mwFDAmCoI+AMNCKM2xEAd4R5LLSpBHAJOuD/41WMM0EZATDDsWXzuGjrgLalAv6ALm8OrksCxYIA99SCuMQv6IMUwMfE1xIHtwVfIWIAjAq+flwy9loF2RRwWfDl3nUCOSAftAHdGQDv+M7j3SnoWDP+UrZcmwDOcP1THc05lRHHHYoCTxNAq2az/pTORZG86RJ1NQT0RAeZUCO4taxtItYAblt1fuUFNAkRTqZONYcCISeZKUOk+8M9bgWyQUOUjc8iHEON0I6Ko5pPdCjBsZT5EuKcvgrADcGRX9CY4RYwxnfq5t3IAjTxvBgRNvOEEe4VMiEs0wh9MXkADbyIhnidYfnnfI77nM/wT2boW4i+GlTAgOPkEgm4tEYcJ5uAArjnCOMrAYArDvt7CmDKYcAWAGhz2E8pgDcOA0MBgEMO+7cesAtLtPVBpvXbROs3+k4c1Tp32O7UdclhSA+KvPBmeNmWCmhi2uBTKYujzJSFgQmfTyedYlmAa43ShqFoQE/DxK8rCnCkcereUl18yQQ4To3Qwoov1PLZEcM4b/nMIURqoeUzSgE0llAA3aosgFaVsMsiGm8J2yiI3FJL2EVNCK6CJgRPZRPCa+CxFLaRjFS2kXSiEahv5epKM55+7ZR9x28P2AMq1T/lZsOXYvPeTQAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-product
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACWklEQVRo3u2aP0hbURSHv4i0tBS6FMxUo2ALRUFQOtTBgGMhQ7DQ0UKGLg6ZOpROnZy6dijUMYMUKXTIIJjBTA4ZOoQU2nQJTxIyCNVJ4vIL2JcoJu9PzPEeuLwX8u4573u/c859NyTR6XSwbBMYt8nuSb1eD9v3HLACLAPzwAwwpe+OgD/AT+AQOAB+hRk8lUr9DxiipYEskAGmL7nmscaqPv8FvgPfgP1IFAzBZoEc8AZIAse66TJQAWqAp2uTwBNgEXihh7IJvAK+Al+A32HcVKLbZAKm6BqQB14CLaAA7ACla85fBdaB18Aj4AfwCdi7CSmaAT6o1orAZ2B3QB8ljT3grR7UFPBRWTCyFF27ALcNbAHVAP52Nf8dsCHf/4IoORmw5vIX4N4DjRAyoipfCDKvjjtUTQZZB3NKpaKUa4TYsBryWVSMXNwLfVrdsqWaqxK+VeW7pVjpOAGzavWFIRrKoDVZUKxsXIBz6pzHWgqith3Fyih25IArekPZH2CdC2IlxZpW7MgBl3Usx/jOXPbFjhRwXsdKjIAVX+xIAWd0rMUIWPPFjhSwu+XxYgT0fLGHepM5Ae4NMPdkBPvXu8B1foI4Be77FWwa2si3+6WoJcBmP8C2dUDPeoqaV9A1Gaeg66KjTVHXRS2k6JllwDMjKp5q9N0utS3VXz9AC43GuwrQvIJNBzhGHfRWKti2rqBnHdB1UQd4wxf6B9YVXDQA+PAqwAUDgEvWFVyyruDzywDvAM8sK/hUkONuSY0eQAv116PihLH666lDp+C4Aybcv+7H3M4Bu5OW2C7UnIAAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-product
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACVklEQVRo3u2aP0gbcRTHP4pYWoSOZqooqCCpCEoHHQw4FjKECh0rZOjSIVMR6eTk1KVDh0IdHaRItwyCGZrJIUOGkEKlS7iSkEGoTpIu34C9/KFJ7i7J6+/Bj7sjd+/lc9/33u/3C5loNBpYtkmM21TzJB6PB+17EdgCNoA4MA/M6rNfwBVQBC6Bb8D3IIMXi8W/AQO0BJACksBch3ueaGzr+ifwFfgCXISiYAC2AKSBPSAGXOtL54ECUAY83RsDloA1YFMv5Q2wC3wGPgE/RglwB8gAz4Ea8AE4BXId7r/SyOp6G3gBvAT2gVXgPXA+CoBJ4J1qLQt8BM569JHTOAde60XNAofKgqEB7tyDOwaOgNIA/s70/FvglXz/HkTJqQFrLnMP7gCoBJARJflCkBmlc181Ocg8mFYqZaVcJcCGVZHPrGKko57oE+qWNdVcieCtJN81xUpECZhSqz/po6H0WpMnipWKCnBRnfNaU0HYdqpYScUOHXBLK5SLLvNckJZTrDnFDh1wQ8d8hGvmvC92qIDNVXkhQsCCL3aogPM6liMELPtihwrY3PJ4EQJ6vth9rWRugIc9PHszhP3rA+BffoK4BR75Fawa2sjX26WoJcBqO8C6dUDPeoqaV9A1Gaeg66LDTVHXRS2k6J1lwDsjKt5qtN0u1S3VXztAC43G6wZoXsGqAxyjDvpfKli3rqBnHdB1UQc44hP9jHUF1wwAPu4G+NQA4Lp1BdetK/isE+A0sGJZwWVBjrvFNFoALdRfi4qTxuqvpQ6dguMOOOH+dT/m9gd7A5Mfx0u1pAAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-refresh
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACJUlEQVRo3u2aoa7CMBRAkSD4hvEFE/sE+IdlGoPBLPhiwOGxKHBzCH4BhcCgEIS87Bcg2d4luUvIwmu7rrcrexXHjPZ2h3Vtd9tOnuedNtNxgk7QCTrBRgSv12sdBkAILIEEOAEp8EBSvJZgmRDrKLdpQrAPRMAGuAF5RW5YN8JY1gj2gDFwUJD6iwPG7DUtOAS2GsXKbLGNRgSnwIVQruCCbfHuhekUfL0fC+BpQK7giW1+ejfZq4wuwVcDK4NiZVYlSVb8pktwUeFm7sAOiIER4AFdxMNrMZa5V4i7KMvpEpxKdsszMAf8CiOxj3XOkt11X75eV3AoMaBkwBoIakzYAcbIqnbfOoI9iangB5jVXP28M8OYRgTHEnITjXIFkyqSqoJ9wQol0/zkPj3JjFIwEgReE8oVHCkFN4LRMiCWY5RddCD4KpjbIqcqGAomcd8WOVXBJSfgziY5VcGEEzA2MLiQf/CeOIKjNgimHEGvDYIPjmC3DYK20eX84Y82CHocwbQNgiOO4KkNgjFHMFERVMmZMELBHafdpQlBSjlfkLcJqQUZcfecC1L+A0pBarlAkIzaqM6DMnJHA4PLWnAPEaVg0ymLQ5EIpuyiTSadxnWWanlFSdNpw+379pqJacJk4vdS3lbTIbi3KHU/1fE18WkqsGnzRZsgs3j7rLYg+4INUGVB0QrFpi1sdwjBHSP5zweBvvMolztt6ASdoBN0ghL8Aqe+EhCwpPzBAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-refresh
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACJElEQVRo3u2aoa7CMBRAkSD4huFJJvYJ8A/LNAaDWfDFgMNjUeDmEPwCCoFBE/KyX4Bke5fkLiELr+263q7sVRwz2tsd1rXdbTt5nnfaTMcJOkEn6AQbERwOh3UYACGwAhLgDKTAA0nxWoJlQqyj3KYJwT4QAVvgBuQVuWHdCGNZI9gDJsBRQeovjhiz17TgCNhpFCuzwzYaEZwBV0K5giu2xbsXplPw9X4sgacBuYIntvnp3WSvMroEXw2sDYqVWZckWfGbLsFlhZu5A3sgBsaAB3QRD6/FWOZeIe6yLKdLcCbZLS/AAvArjMQ+1rlIdtdD+XpdwZHEgJIBGyCoMWEHGCOr2n3rCPYkpoIfYF5z9fPOHGMaEZxIyE01yhVMq0iqCvYFK5RM85P79CQzSsFIEHhDKFdwohTcCkbLgFiOUXbRgeCrYGGLnKpgKJjEfVvkVAVXnIB7m+RUBRNOwNjA4EL+wXvmCI7bIJhyBL02CD44gt02CNpGl/OHP9og6HEE0zYIjjmC5zYIxhzBREVQJWfCCAX3nHZXJgQp5XxB3iakFmTE3XMhSPkPKAWp5QJBMmqrOg/KyJ0MDC4bwT1ElIJNpyyORSKYsos2mXSa1Fmq5RUlTacNd+/bayamCZOJ32t5W02H4MGi1P1Mx9fEp6nAps0XbYLM4u2z2oLsCzZAlQVFKxSbtrDdIQR3jOQ/HwT6zqNc7rShE3SCTtAJSvALIn8dYLZ0RwUAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-remove
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABTUlEQVRo3u3aPU7DQBCG4XepOEOExNTJAWh9CcpQkjvQxGm4Ay6h5BJuOQDUjhTlDFSYZiMlEWAsZ+P1+pvO8njlR17/zHpcXdekHG50wKqq2o4xAZbAHXB5ovP6BJ6BFbBtc6CZnRyYe2CIWPnxewW+A9NAwA9g1jcw9E3s+gZGFQJ6YAY8AjfAReSmL+ANeADK/wAz4AW4GtjF2wBzMyubgE/A/UBnaGFmiyZgBVwPFLi2ozn6E7Ae+EPGjR6o92BqwNinrBNQwBECt0ABvPrtW//1M/nlJELmBwHmvtrej+Uf1XfI/CDAma+292Pqq3vOnB8E6FpW9yHzBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAc8BTH7hNyfxpfukfr5UxNtWsgasKzDmxqACWHQFZsTZ2rUB5kDZFbhDxtKcd9B8d7yzEZhaJA/8Bkf2+KA9krS6AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-remove
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABS0lEQVRo3u3avw7BUBQG8HtNnkEkzHS3egkjI+9gUYt3YGT0El3tZSYRz2BSX+VKkFBNHb29/U7ypRFX019af04dHUWRcrl06YCe56XdRw2ZIAOk+qPjOiNLZIqc0rwwDMOfA30DlKip2X+uwC3SEgLukHbeQOk3sc4baFURaIBdZIZ0kIrlpguyQcZI8A0wxq2QesFO3hHpAxgkAefYDAt6hS4AHCUB99g0Cgo8ANhMAkYF/5DRpQfye9A1oO2XrCaQwBIC4y57gazN45759VN7cxCS60WAvum2H2vyofuWXC8CbJtu+7FaprtXf14vAtQpu3vJ9QQSSCCBBBJIIIEEEkgggQQSSCCBBBJIIIH/ADp/49dXjt+6d+rPl72yd6zkgDSzAm0eDIrP8igrsKvsHO26jW4hQVbgHWnLcN7T8N3rk4lA18p54BX/GfigA18IUgAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-runner
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB4ElEQVRo3u3aPW7DIBQHcA+VKvUOvkAuEHWqcoJOHKF7hs5IzL2Jp2xeuYRn754byZvLgCNkhY+HAb9XMfylCKOEnwI8nLhZlqX5z2kqsAIrsAKLA8dxxJhW5arSq0w6vW5r135Uge8qN5XFkpvuQxLYenAmsqUIvAbg1lyxAJmK1GGevj0A2GMAiicD447+EwA4HQ0UjsFx6kARMEBOdYqG4H6objLC8W2t14TR/3tTxM+YywQLmIoX4zW3DPwLa6GXgM2EewBnjEc1mQD3WF8hn3nEFPUVdB66Q2IE+mLDdSofm3xSA7pwp9j3xQJ0TctTxHkVFdC35t50v8FoG6gAQzaUV933brTdKQBDd8sVOBttM3YgB5wnX6gBITjzTEoCGIsjAWyNIt1ZindnwZFbgyvo2bWLpR010FakIcV73kzh2ZJfXSdZKeB23cmIu4tGD3wBRJYActsHR9wfDtiAth2TAe/wzb6DPsXMR09RHrj1+36j2b3+cwAhuOzI1MAYXFZkSuAeXDZkKmAKnA/JjgKmxLmQ8ghgDlxI/SwCLIkrPkVL40TJTYYMLgZICgcFksNBgCzTIFhOHAQoMw1C5sTtAaYahMyJg05R8P8CiZ+PyQesj1NWYAVWYKr8AeAKyI/e2k8KAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-runner
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB4ElEQVRo3u3aPW7DIBQHcA+VKvUOvkBygKhTlRN04gjdPWRGYu5NPGXzyiV8Cc+N5M1lwBWywsfDgN+rGP5ShFHCTwEeTtwsy9L85zQVWIEVWIHFgefzGWNalU5lUJl0Bt3Wrv2oAt9V7iqLJXfdhySw9eBMZEsR2AXg1nRYgExF6jBP3wEAHDAAxZOBcUf/CQCcjgYKx+A4daAIGCCnOkVDcN9UNxnh+LbWa8Lof9sU8QvmMsECpuLVeM0tA//CWuglYDPhHsAF41FNJsD9ra+QzzxiivoKOg/dITECfbHhepWPTT6pAV24U+z7YgG6puUp4ryKCuhbc2+632i0jVSAIRvKq+77MNoeFIChu+UKnI22GTuQA86TL9SAEJx5JiUBjMWRALZGke4txbu34MitwRX07NrV0o4aaCvSkOI9b6bwbMmPrpOsFHC77mTE3UWjB74AIksAue2DI+4PR2xA247JgHf4Zt9Rn2Lmo6coD9z6fb/R7F7/OYAQXHZkamAMLisyJXAPLhsyFTAFzodkRwFT4lxIeQQwBy6kfhYBlsQVn6KlcaLkJkMGFwMkhYMCyeEgQJZpECwnDgKUmQYhc+L2AFMNQubEQaco+H+BxM/H5APWxykrsAIrMFV+AWI2WjzxI8WdAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-tags
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB+UlEQVRo3u3asWrCQBzH8YBUR6FQENx8BafMTkJx6iDuboKji0sgu7iLTkIforuP0PGrT1AHRzFdLuCQYHP39/JPyfAjEDTJh9zlcv9LkCRJ8J8T1MAaWANrYClAICsdYAQsgT1wAE7ABbiZ7cns35vfjYBuzvHEYwN8Ad6BLXAEEosczf/HQFsTMMUlgvkCpkBTA1Aad59PoFc2cJtxYQAxEAIts43N/qLIb6BfFrCT0ecAJjkHn1gif4BhGcBRxsXED04QOzTZyDdwmXER4YMThI79MvIJ3GdcQOvBCVoCD5/IF/BQwh10RhYBnjz3QRFkEeAlZ4iQfoqKIosAbzknlRwHxZGud7CsRL76oHqk61NUPdJ1HNSQ1TPfZLRk/ax3UfXNtQiw6zCDLw0pMR/Ulg3QsAWOKwBMqwNWwLapoVQBObetqk0rAjwDDRtg0zSBKiBD28JvzxSI1DdTl8p23xSINAMXrqX7oXLgwBUYmMFVI+4KvEoAtSJ3tsNEFZBn4E0aqAV5BT5cls+0I2eu64Oakc6zCc1I5/mgZmQkuYStDRlJr9FrQopW1Vyz0l4Xlchac2VbKhFK1yY0IJ+6uiSdTcHXr5mvL52k0vhj6eN8/25ZJWCauUFk3bVdOiuoMjC9m6HBLoAB8Or1M5L6e9EaWAO95BdDrH8vb52/pAAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-tags
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB+0lEQVRo3u2aMYvCMBSAC3I6CgcHgptrR6fONwmH0w3i7iY4urgEuou76CTcj7jdn3Dj6S84B8fD3gu8gkOK17xn8iIZPgqlbfKRpMl7SVIURfLIJFEwCkbBKOhFME1TEx1gCCyAHbAHjsAZuOD1iPd3+Jx+vlvxPXZsBJ+AN2ADHIDCggO+PwLakgRLuYKRT2ACNCUIcstd8wH0fAtuDBX7BnIgA1p4zfF+XckvoO9LsGMYc1piXPHxsaXkDzDwITg0VCa/UUBO6LLKteDCUInsRgEZcVwql4I7QwVaNwpoMfx8lCvBvYcWJEvWETw6HoMsknUEzxVTBPdflFWyjuClolDOeZBdktqCvlCuxqB4SepfVLwkdR6UwPKeKxkprO61FhXfXesIdgkRvDdJjnhQGmugYSs4CkCwzA5YCbYxhxKC5Mw2qzYJRPCku6qNYBO7QAiSmW3it4cJIvHdlJLZ7mOCSLLgnJq6HwgXfKUKJji5SpT7BZ45BKVKbm2niRAk9RTxwi0oRVJ3zXfK9pl0ySl1f1CyJDmakCxJjgclSyrOLWxpkop7j16SJGtWjcpSel6Ug5XkzDYXKhW6NyFB8q67S9ysay6/pq5OOnHR+Gfq43S9tgxJsGSGEqZW25ZRQciCZWtmKDvXkbgOVp0eI4nnRaNgFHTCH5bPDsBgyBf/AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-tel
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAADG0lEQVRo3u2aPWgUQRiGnz0D2gpGDFosErUICAoWJsZOBRVEJIU2WqiHEgvxBytJipAYLSQQ8CcxFhYJIhFRxMakOC0EFSNCQCF36DUpkkI7A2fht3Ass7uzu7OXueNeCIHcd8M8zOz3s2+cSqVCIytHg6sJWO9q8f+hWCzauM82oAtw5VBKQAEo+wNd1w0HtEwdQA9wHNjp++w98BgYAyraJ2iJHCAPnAN2B8R0yk87cAtYqhfATcBV4Ipm/HX5fUN1kjkL4fpiwFVDnrU9izpycvmE3z8DbLEZMJ/g5PzP5CFbATskoaRVt62APSHZMo522QjYJnXOhLbaCNilKOJJtcZGQNfgWutsBDS5hxUbAUsG1/ptI2BBGmcTKtsIWJapwISKttbBMWC4kQErMvKkhZy1uRddkpHnfIpn8pPt82AFeAi8lsa5W9qv7aoa59NHW5OMSr+AcRmB9gIfNL7zAPhbL4DVOgbsj4hZBt7YPvCq1Apc1oh7GtQw2A54AdgTEbMI3KtFH2ha+4BLGnFPgM/1BtgK3AQ2RMTNAY9q1cmbkiNwBzRiJ4Bv9QZ4EejViJuUFi9USQu9tlcQUyfk9KI0D9wH/pgGTO0VhOgwMAhs1IgdVfWdaQCNeQUBOgLcBrZpxI4IIKYAjXoFCp0E+jXhpoG7cW5ITgOuD4Nege9WXJMN68C9A+4AC3E2kovYgHGvQLRZrtqw5jP3FRhKMkaFAWbiFQBHpX71aq7zHRgAXibZRC4kW5r2ClxJPhOaRdyD6wemkm4gKMmY9ArWA6eBUxqNs/9aDqSBCwI06RXsAJ5rzHOqhDKU9FpGAZr0CtYmgJuWbGnkXakK0F3FPnREysaCqQVbLGnA56U7GU3Y5sUCLNUYblIa59ksFlcBel5BZ8Zgc1IyxlGYJlkCel5BVoCL8poh9FVDloDIyNNe1Tib0DL/335NAW9rdf+DAD2vAAOQJeCFpP+ZWmevsHHJ8wp+SOMc98rOAM+AVyhcHxsAvZP0ewUHZYxy5PMVSRJliSsAX4CfplN+EjnN/9luAjYBV1X/AKdJpqPh2ptLAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-tel
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAADHElEQVRo3u2aPWgUQRiGnz0D2gpGDFocErXIIShYmBg7FVQQkRTaaKEeSizEH6wkKYIxWkgg4E9iLCwSRCKiiI1JcVoIKsYTAgrx0GtSJIV2Bs7Cb+FYZndnd2cvc8e9EAK574Z5mNnvZ984lUqFRlaGBlcTsN7V4v1DLpezcZ9tQBeQlUMpAQWg7A0sFovBgJapA+gBjgLbPZ+9Ax4Bo0BF+wQtkQPkgTPATp+YTvlpB24Ci/UCuAG4DFzSjL8qv6+pTjJjIVxfBLhqyNO2Z1FHTi4f8/ungE02A+ZjnJz3mTxgK2CHJJSk6rYVsCcgW0bRDhsB26TOmdBmGwG7FEU8rlbZCJg1uNYaGwFN7mHZRsCSwbV+2whYkMbZhMo2ApZlKjChH7bWwVFgqJEBKzLyJIWcsbkXXZSR52yCZ/Kj7fNgBXgAvJLGuVvar62qGufRB1uTjEq/gDEZgXYD7zW+cx/4Wy+A1ToC7A2JWQJe2z7wqtQKXNSIe+LXMNgOeA7YFRKzANytRR9oWnuACxpxj4FP9QbYClwH1oXEzQIPa9XJm5IjcPs0YseBr/UGeB7o1YibkBYvUHELvbZXEFHH5PTCNAfcA/6YBkzsFQToIHADWK8RO6LqO5MAGvMKfHQIuAVs0YgdFkBMARr1ChQ6DvRrwk0Bd6LckIwGXB8GvQLPrbgiG9aBewvcBuajbCQTsgHjXoFoo1y1Ic1n7gswGGeMCgJMxSsADkv96tVc5xswALyIs4lMQLY07RVkJfmMaxZxF64fmIy7Ab8kY9IrWAucBE5oNM7eazmQBM4P0KRXsA14pjHPqRLKYNxrGQZo0itYHQNuSrKlkXelKsDsCvahw1I25k0t2GJJAz4n3clIzDYvEmCpxnAT0jjPpLG4CtD1CjpTBpuVkjGGwjRJE9D1CtICXJDXDIGvGtIEREae9qrG2YSW+P/2axJ4U6v77wfoegUYgCwBzyX9T9c6ewWNS65X8F0a56hXdhp4CrxE4frYAOiepNcr2C9jlCOfL0uSKEtcAfgM/DSd8uPIaf7PdhOwCbii+gcSOqaj7997cwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-tips
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACZklEQVRo3u2avWrCUBSA7SQ4ObtYBMkD9AEaEDoWXIuDU6WDD6BDCR3MUheNT9Cxq1OXiksH58zqUsFJcIlQSE/gtITLjebv3nsSMnwgITnnfsm5P7mx5LpuKc+UCsFCMIOC6/U6LE2gC1jAAtgCDrLFYxae04wQNxZpCurABNgAbkg2eI1OWbABjIBdBDGWHcZoUBNsAfMEYixzjElC8B5YBTT0CzCBNqABFUTDYyaew7t2hbGVCrYC5JZAD6iGSF7Fc5cBki1Vgo2AspzhE4raCA2v5ZVrQ4XgiNMY71g5QUPKZ+JKFdQ5o+UsoZxfcsYZXXWZghNOn9NSHPU0Tp+cyBJscibxnoDJucdZDDRlCHY5U0FVgGCVM4V0ZQhaTFJT4BrSZHJZMgQXTNK2QME2k2shQ3DLJNUECmpMrq0MQYdJWhEoWGFy/eRd0M1biZZUCMocZJQIypwmlAjKmuiVCcpaqikTlLHY9nNgctWz/rrEwq5HH7P8wstjzNnGeAKmwBCoZWXLIog74HhmB86gvukUhtczgjbFbcOogkOVgkk2fg94E8ZYirzYgwsx9ihpnOuPFLbuj1iK176YzxFjGFQ/vvh5Q8lBjGttGYKXPp+FaehHzJtzCipXEYJhqOPE/ZnihxtuuaoS/ONGgKRNSdDjJWVBx1+uFAQfBJTpf7lSEJwKFLQpCA7zLljD/mIj+7yVKIudomCfoqCRouA7RUF/yZ4SCn5TFEyzXMkLGnks0aBydWIIdqgLJinXW+AqS4JGRDkyi+24CwLvd9/rZ95ggni/O96TiyxY/OO3ECwEpfEL0/0XGT6eJYQAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-tips
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACZklEQVRo3u2aO2vCUBSA00lwcnaxCJLBsT+gAaFjwbU4OFU6+AN0KKGDLnXx8Qs6dnXqUnHp4JzdLBWcBJcIhfQETku43Ghe996TkOEDCck590vOfeRGzXVdLc9ohWAhmEHBZrMZlgbQBebACrABB7Hx2BzPaUSIG4s0BQ1gCmwBNyRbvMagLFgHRsAughjLDmPUqQm2gGUCMZYlxiQheA9sAhr6BYyBNqADZUTHY2M8h3ftBmMrFWwFyK2BHlAJkbyC564DJFuqBOsBZbnAJxS1ETpeyyvXugrBEacx3rFSgoaUzsSVKmhwRstFQjm/5IIzuhoyBaecPqenOOrpnD45lSXY4EziPQGTc4+zGGjIEOxypoKKAMEKZwrpyhCcM0nHAteQYybXXIbgiknaFijYZnKtZAjaTFJdoKDO5LJlCDpM0rJAwTKT6yfvgm7eSlRTIShzkFEiKHOaUCIoa6JXJihrqaZMUMZi28+ByVXL+usSC7sefczyCy+PCWcb4wmYAUOgmpUtiyDugOOZHTiT+qZTGF7PCFoUtw2jCg5VCibZ+D3gTZhgKfJiDy7E2KOkea4/Uti6P2IpXvtiPkeMYVL9+OLnDSUHMa61ZAhe+nwWpqEfMW/OKahcRQiGoYYT92eKH2645apK8I8bAZIWJUGPl5QFHX+5UhB8EFCm/+VKQXAmUNCiIDjMu2AV+4uF7PNWoixWioJ9ioJmioLvFAX9JXtKKPhNUTDNciUvaOaxRIPK1Ykh2KEumKRcb4GrLAmaEeXILLbjLgi8332vn3mDCeL97nhPLrJg8Y/fQrAQlMYvU0rkfOxllH8AAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-todo
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA/UlEQVRo3u3ZOQ7FIAwE0OEmPikRnDQ34TcUX4gtyiLbGpepeFFk7EkopcBzBQIXdZ7n228otA9EhEACCRwDw01QIZBAAgkkkEACCSSQQAIJJNAkkBs9gQR+C8TX5R0YRSR7BUYASUSCR2AEkOon+inwrSaTARwtzgtwiPMAnOKsA5c4AFlEDsvD9hQH4LC+TUxxmtalWA/1KE4TsNRD5Sdx2oDYRG7jNAJXyEs4rcAR8jJOM7BF7uC6jUoLMNUD9pDYxCUoT9VGyCtTjPrYcAc5G9FM5KIzZNtQzAa/PWSvW5pOtv+Ro6vAfHSfmm7qDrgq/psgkEAC7ZR74A/V5sGgrKWmAwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-todo
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA/UlEQVRo3u3ZOQ7FIAwE0OE+OSMRnNH34TcUX4gtyiLbGpepeFFk7EkopcBzBQIXdRzH228otA9EhEACCRwDw01QIZBAAgkkkEACCSSQQAIJJNAkkBs9gQR+C8TX5R0YRSR7BUYASUSCR2AEkOon+inwrSaTAZwtzgtwiPMAnOKsA5c4AFlETsvD9hQH4LS+TUxxmtalWA/1KE4TsNRD5Sdx2oDYRG7jNAJXyEs4rcAR8jJOM7BF7uC6jUoLMNUD9pDYxCUoT9VGyCtTjPrYcAc5G9FM5KIzZNtQzAa/PWSvW5pOtv+Ro6vAfHSfmm7qDrgq/psgkEAC7ZR74A8fR8Gg8RCTUwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-toolbox
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAADSElEQVRo3u2aPWgUQRSANwiCR1qxuCIQbGIbCAZO1OLAyvIkcF1gC7GJVRoPFsEixbWrcJapBG2CXThECFgcHIGQQIojIBzYJEe0WCKub+AtLOfszHvzs66yxUdCnJ15376ZN7O7BmmaBv8zQS1YC9aC1RCcTCbzLADLwBYwAmaI+D0GOkBDch2Hu8A28B44AX4gJ/i3bWzD7psimLEKDIFUwjugbSj3Gjgv6DfPOba950tQsKKQPAI2DAQ/At8Ighkiq099CeoyeWSYSXHjngF7RMkr4K2p4AIxINV0tVmTYk1/IIr2TASXiYGoMtmxLDqCx8BnW0mZ4BYGTwkiLBg0diAoeAic2UjKBEeYmRVCAEsFA44cCQaKWUKSlAnO8IIhIZNFgjNHcj1GdZVKqgRTQiZDj4JcubxkRuEUTeckV5lFZvSX5P6QlQnGkoZDzNYSEmrWRuxR7hNHUibYcXDnOp7kImwX2Qg2cLO2EXzpUS7gSBYd1dp47LKa/x7lqJKR6iy6UZKkqZzu2ohy2G47mK49T3KqDEacp4kGFo1Y8cD7ykCy52gdR6qbYvK4FBiuh7zkA8vMeXvgdSkZ+ZbzIRjg1KJKigNDYrm9lC7IzeQa8NV15nwLUiTfANex7aIPOd+CFMkvQNOXXBmCFMkpcP9fE3wOvGBI/sRrKi94A9gtKCYDwqlnF/uopOBt4FAS9Cb+uygoBwTJQ+yrUoKPgIuCgMU+t47tmrjmdJIX2GclBCmvF8Q+dwvbt+Y2d1ePXM4FFxmv2lN8kat7WSVjz2afNBW8A5wyghxI+hgwrj/FMUsRfAJcMoI7yJ1Y8lCLTsYlju1N8Bqww3zYnWpOKtSik2cHY3EqeBPYZwaSYEHRBcEpOhn7GJMTwTXiB5B5QsZUCg36P8PYrARb+LGRO/jAoCAMDMa50s0SlWCX+O2cWlR0cItO/tt9lyso7sqxwWC6oqLDpOikGGuLI9g3GCR/JLNh3aDopBgzWXDsuaj4KDpjjmBSQlFxXXQSXxk0LSqui87Yxxr87vmdShPHcL4GKVX0F/GkYksLx3JaRbN98FixHXRLkMvHMlXIdW1OMn2c3wn+7JeUOSex1P8hthasBavBb4EV28YZNEGeAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-toolbox
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAADSUlEQVRo3u2aMWgUQRRANwiCR1qxuCIQbOKVgWDgRC0OrCxPAtcFthCbWKXxYBEsUlx7CmeZStAm2IVDhIDFwREICaQKCAc2yREtjojrH/gLyzk7+//M/HWVLR4JcXfmv/0zf2Z2DeI4Dv5ngkqwEqwEyyHYaDTmWQCWgS1gBEwR9XsfaAM1zX0c7gLbwHvgBPiBnODftvEadtsUwYRVYAjEGt4BLUu518B5RrtpzvHae1KCihWD5BGwYSH4EfhGEExQWX0qJZiXySPLTKoH9wzYI0peAW9tBReIAZmGq8ucVHP6A1G0ayO4TAzElMm2Y9FRPAY+u0rqBLcweEoQYUanfQ+CiofAmYukTnCEmVkhBLCU0eHIk2BgGCUkSZ3gFG8YEjKZJTj1JNdlVFetpEkwJmQyFBTkyqUlEzKHaDwnucosMqO/JPeHrE6wr7lwiNlaQsKcudEXlPvEkdQJtj08ubaQXITXRS6CNVysXQRfCsoFHMmsrVoLt11O419QjioZmfaiGwVJ2srl3RtRNtstD8O1KyRnymDEOU3UsGj0DQfeVxaSXU/zODI9FJvjUmA5H9KSDxwzF0ieB31JRtJyEoIBDi2qpNowzByXl8IFuZlcA776zpy0IEXyDXAdr12UkJMWpEh+AepSckUIUiQnwP1/TfA58IIh+RPvKb3gDWA3o5gMCLueXWyjlIK3gUNN0Jv476qgHBAkD7GtUgk+Ai4yAlbr3DpeV8c5lyd5gW2WQpDyekGtc7fw+ubc4u7ryOVdcJHxqj3GF7l5L6t07Lmsk7aCd4BTRpADTRsDxv2n2Gchgk+AS0ZwB6kdSxpq0Um4xL7FBK8BO8zD7iRnp0ItOml2MBavgjeBfWYgMywoeUFwik7CPsbkRXCN+AFknpAxlEKL9s8wNifBJn5s5HY+sCgIA4t+rvJGiUmwQ/x2Ti0qeXCLTvrbfYcrqJ7KsUVnE8fjj03RiTHWJkewZ9FJekvmwrpF0YkxZrLgWLioSBSdMUdwVkBR8V10ZlIZtC0qvovOWGIOfhd+p1LHPrzPQUoV/UXcqbjSxL68VtFkHTw2LAedAuTSsUwMch2XnUwPx/cMf/YKypyXWKr/EFsJVoLl4DdoF7dKw1u4jAAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-user
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACh0lEQVRo3u2aMUjDQBSGu6ibbi4ugrqIoxRB6qyIio4iTg5SENe4C66iKEVXQafg4CiI6OKgi4NxCt0chApSrYLGP/AXMqQ1udwllzTDtxzvvfDp8e6414LjOIUsU+gYQdu2VTABDGACC9SJxTWDMdK/rVqwBCqgBpx/qDG2lBbBMv9DTkgs5motuAUaAnJNGqyhpWA5opxXsqybYElwW7bbriWdBCsS5ZpUdBGcCNgtw1KLcoTIFDQUyDUxdBA0FQqaOghaCgUtHQQbCgUbSQsOgx+Fgj/8RmKC6wrlmqwnKXgSg+BJkoKPMQg+Jin4HoPgey6Yb9G8yXTuMeEewjcK5W6SPuhd5sED+JUo9sua8zo9WZxJFDzT8U1mEXxIkPtgLS1f1fYkCO7p/Gw4Bi4jyF2yhtYPvzNsEGHlHpibiqf7OXAbQu6WOamZTbiMgyPw3UbsmzHjaRu+eJkFu+AOvJE7rs2q+m4cgiNgCXS1ielizEjaBAfAKbfhBdgERdBHily7YMwpc1IhOAiOBbroMXO1FpwG5xHOwXPW0FJwB7xIuMm8sFasgq1m7V+gnzG2xMu2zZr9/Ebo2X5QwSCz9jkFI7SK58IgNNsPIhh01n7I+CnBK5rflW2KNQ9FZ/v/CYaZtb+CZc9f/DqC3LVnRyyzttBsv52gyKz9HiwwfxRsg+cQ+c/MGWWNBdYUnu23Eowya38CG6CbtYbAKtgHV6AKPkmVa/uMGWJON2s8RZ3ttxKU0SjcLrcCekO09V7mmLIalJ+g7Fm7u8UOwBqY5FWshwxwbY0x97bk2b6foMpZe9wYfoJmhgRNP0ErQ4KWn2A9Q4L1jhR0skQumDnB/Ff3KeUPCPIF4c/2dw4AAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-user
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACiElEQVRo3u2aMUjDQBSGu6ibbi4ugrpYRxFB6qyIio4iTg5SENe4C66iKEVXQafg4CiI6OKgSwfjVLo5CBWkWgWNf+AvZEhrcrlLLmmGbznee+HT491xrznbtnNpJtcxgvl8XgWTwAAmsECdWFwzGCP926oFC6AEasD+hxpjC0kRLPI/ZAfEYq7WgtugISDXpMEaWgoWQ8q5JYu6CRYEt2W77VrQSbAkUa5JSRfBSZ/dMii1MEeITEFDgVwTQwdBU6GgqYOgpVDQ0kGwoVCwEbfgMPhRKPjDb8QmuKFQrslGnIKnEQiexilYjkCwHKfgewSC75lgtkWzJtO5x4RzCN8qlLuN+6B3WACP4Fei2C9rLuj0ZHEuUfBcxzeZJfAhQe6DtbR8VduXILiv87PhGLgKIXfFGlo//M6yQQSVe2RuIp7u58FdALk75iRmNuEwDo7Bdxuxb8aMJ2344mYO7IF78EbuuTan6rtRCI6AZdDVJqaLMSNJExwAZ9yGl2ALTIA+MsG1S8acMScRgoPgRKCLnjBXa8EZcBHiHLxgDS0Fd8GLhJvMC2tFKthq1v4F+hlTkXjZrrBmP78ReLbvV9DPrH1ewQit5LowCM32/Qj6nbUfMX5a8IrmdWWbZs0j0dn+f4JBZu2vYMX1F78JIXfj2hErrC00228nKDJrfwCLzB8FO+A5QP4zc0ZZY5E1hWf7rQTDzNqfwCboZq0hsAYOwDWogk9S5doBY4aY080aT2Fn+60EZTQKp8utgt4Abb2XOaasBuUlKHvW7myxQ7AOpngV6yEDXFtnzENe8mzfS1DlrD1qDC9BM0WCppeglSJBy0uwniLBekcK2mkiE0ydYPar+4TyBwj7vMixcGj1AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-save
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABIElEQVRo3u3aPQrCQBCG4TcqgpVga5NOsEhjayt4Aw/gAQRrS8HKC3gGezvBEygWgl1KK8EDyNpsoUGSSMC46zcQEsJC5mFmNz8kMMbgc1TwPAR0PWrJE3EcA7SBJdC3x+8iKHjtvJM/SIy/AwdgB6yA8/PgMAwzK9gBjsAoBVdmVIEeMAX2dv9Ri86BliMd2LCdtgHqeYEDB6faEFjkBTYdXU8mQNfnVbQKjH2/TQx9B7Z9Bzb1qCaggAIKKGCR98EvRqAKllxBozkooIACCiiggAIKKKCAAgoooIACCijgXwJrDuac/J5q1KICega8/XjOJrGl5v4OuHW4YNs8wBlwdRB3tblnAk9ABKyBiwOwi801srm/3lP0z7aAApYaD5iDKaBZfy2IAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-save
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABH0lEQVRo3u3avwnCQBTH8W9UBKuArQMIEmxsbQU3cAAHEKwtBSsXcAZ7O8EJFAmCG1gJDiBnc4WGkEQE452/ByEhHOR9eO8uf0hgjMHnqOB5COh61JInoigCaAFLoG+P0yL48NpFJ3+QGH8HDsAOWAHn58FxHOdWsA0cgVEGrsyoAj1gCuzt/q0WnQNNRzqwYTttA9SLAgcOTrUhsCgKDB1dTyZAx+dVtAqMfb9NDH0HtnwHhnpUE1BAAQUU8JP3wS9GoAqWXEGjOSiggAIKKKCAAgoooIACCiiggAIKKOBfAmsO5pz8nmrUogJ6Brz9eM4msWXmngbcOlywbRHgDLg6iLva3HOBJ6ALrIGLA7CLzbVrc3+9p+ifbQEFLDUeA3QpoBcfHXoAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon, .dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon
{
  background-size: 100%;
  background-position: 50% 50%;
}
.dx-theme-desktop .dx-lookup .dx-lookup-field:before
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAARUlEQVQY02P4//8/AzGYgfoKJ02apKWtrb0CiM/jwCtAasCqgYwMqOB/NHweJIdiNRbFcEUYbkRSjKIIq2dACtAV0SZ4AP+tAQBYeo5OAAAAAElFTkSuQmCC) no-repeat;
}
.dx-theme-desktop .dx-icon
{
  background-position: 50% 50%;
}
.dx-theme-desktop .dx-scrollview-pulldown
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAyCAYAAABcfPsmAAAAyklEQVRIx2P4//8/Azqu6JjvSwzGppdh1ECKMX0MBHqngRg8aiAdDRwSyeYMMXjUQDoaOCSSzX9i8KiBdDRw8CcbigwEhgU2XAfEl4jAGHpxGTiTyIgZNXDUwJFjoBYQHwDiw0j4OZEGHkbDpTCTo4D4D7HlIA68BYjZkJ0bS4Gh20GGYQvDBDIM2wvEnPgiJY1cw/DFciaREcJJbLIB4RwChvGQkg5huBSLYcdwGUaMgSBcjWTYSSDmx6eeGANhhp4hZBjYQGrXegAin7Qm0uANIwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-loadindicator-image
{
  background: url(data:image/gif;base64,R0lGODlhIAAgAIQAAIyKjMTGxOTm5KyqrNTW1PT29JyanLy6vMzOzOzu7Nze3JSSlLS2tPz+/KSmpMTCxIyOjMzKzOzq7KyurNza3Pz6/JyenLy+vNTS1PTy9OTi5Ovr6wAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCQAbACwAAAAAIAAgAAAF/uAmjiRJTQNWriwpCOQ1OBMpUVK7EsdBjAfHYDASGAAGmG70YBwuyuBwxABYEctRxHnAbqTEjcJqVWRFggNXs2HMahsHGX7eYNSHQPttJ0OUKxIEGBRKAhd4ClITEgtkFyMZFRUJIhoImBgKORRcCAQzEWNWSRsJDagNFZaYrRgaEgFqbAJsGxZWBAkFqairIgoYCBgRmIUKgEUICqe9qpVFFMXCCDlLvL0ZLRrUGNY62A0FWRIKyHUZBdolEi8atS/fWZKT9ZQa+Pn58i3Nzqjw3gl8dybDv1Tu9L2osyFcqgrrSiTIAG1exCX0KGXBprEFPVUddTgLKWLXJF4VawokqChxg0Fn40ZMUqVqHLZKE0VgyyDJ2boE9lSaSqWuwrOHIl6iiumygFAR2ZT2RPXTaAOWJcKtCjexF8OhqbRJ3WBVHEOtSVNVUnq1Ti9oXEWUvQiO6oi4GySoZUiRhNKKE/l9lduAro4QACH5BAkJABwALAAAAAAgACAAhIyKjMTGxOTm5KSmpNTW1PT29LS2tJyanMzOzOzu7KyurNze3JSWlPz+/Ly+vKSipIyOjMzKzOzq7KyqrNza3Pz6/Ly6vJyenNTS1PTy9LSytOTi5Ovr6wAAAAAAAAAAAAX+ICeOJLk4FlWuLCkJZGQZjrtI7bogyDYGBktNJNEMDLjcCINgJgOW6G8wGaiUIgIPcYXSRItJdeLDciTNCAIGlXIs1EHAPKLwMBiOt0YYK2AsLxsCSWgYaht7RXF5IhEHBwREG4ODODtNFBRRGBtxSBwUFwCkFyICApSVEhJaPRyoIgZiCxsKpLgPI6mpqoQbSSQCFBsEELilCy68C6nBLbe4EHMsqLzPLA64BoAtL4RmEkDKJQkFFQXn5wl0HBkNFfHyCfL18exYCQ37/Pzx8ADvmdHXr585dOrStStQEF4GFgky4MOS4WE+hvsmtqiwr4LGEu/6WczB0d9Heg1nE3wcwS5kvwIkGlaQUJJdRBEYK5bkZ5Fgx5b8CmTg6NGfCJcNYIogOnJnRZ5ORaBssHIERngcrkbs146DzwYPXT7cqdTM1QpH+QFVS8cgTrYcoprdN1IrEbhmJJJwOTEitq5LwbYLAQAh+QQJCQAcACwAAAAAIAAgAISMiozExsTk5uSsqqzU1tScmpz09vS8urzMzszs7uzc3tykoqSUkpS0trT8/vzEwsTMyszs6uysrqzc2tycnpz8+vy8vrzU0tT08vTk4uSkpqSUlpTr6+sAAAAAAAAAAAAF/iAnjiQpXEhWriwZRSSBIJebwW0pZPco0yPBo/HA5UQ7Hk6GGiEOh4biGMzsBCIZpMbJRKFYKifC28F+3AC0gRBXMwos4QJpT76WMMtQwSREZAJmKDQRFmsTPg0NiRwYFZAVfxyCZRkzcV9FHAoHGgMaByIJFQ4GDpAJCUlYEWFqB3EPn7SiIo+okA4YrkZBcQoDoMMNKiMJfLkGkzmzwxJcK8ilFWIInwMBviwJfmIRFwF6x5HlGG4cAQsU7OwaBA7x8vLMORMA+Pn4G/P99S0E9OljgKFfvHNuGjBYyHBDG2nexEQ8gowelVKo/pEoOA9hDozxJJUgZVBViz8cXOcZIGGwQgSMf7qJOLULV8dR80SmNIBLkrxqjlSOoOYRJIaUNneNgpmDJioOTrvNQ8chwU2kHECudOMUaEqU8zSyCDvTYlZ5Ho/Q9BgVkFmJ9b4e40WVRam0R0IAACH5BAkJABoALAAAAAAgACAAhIyKjMTGxOTm5KyqrNTW1PT29Ly6vJSWlMzOzOzu7LSytNze3Pz+/MTCxIyOjMzKzOzq7KyurNza3Pz6/Ly+vJyenNTS1PTy9LS2tOTi5Ovr6wAAAAAAAAAAAAAAAAAAAAX+oCaOJAllmVCuLJlApJBmpgC35TVNySijPgLCcsOJCoxdTyOTjRaIKM143E0Kot9UMHxYVFRNYsJA9lBOjTAqCY8uySsTRct0iThkYanZJRNNGRBRUQsjEg0NhhpwDI4XIglxBScpAhZDeBkBBhgGASKNjkmQBVc9EGBrKQienZ8jSKOOWBd8IycQCxQGr59gkWSztywPvhRtLDqjYRa9GF9UF3thEATRJWNWVpBuCJ0Y4Z4Ls+XELBkD6uvqEeXDYRLqFev0EaKz3WEBEf0D/RgIsEhgq9oDBEVaJJDF4FyJCAAAVLCAAx8DfS0ORIw4YNGIMe8SOBSjwcDGjQZnirybAEFYD4JHHCV4oPEkhUizeDAaVWAZj1ETmFA4iWEEmQn6hF0UteyRiAUQD3hcwTAoQ4KzYhiRNAoS0z483WioGmpUD3wjS8Aba1aEUox5nMaUKQJCWzcF39wVcyGhWBJk4OIIAQAh+QQJCQAcACwAAAAAIAAgAISMiozExsTk5uSsqqzU1tT09vS8urycnpyUkpTMzszs7uy0srTc3tz8/vzEwsSMjozMyszs6uysrqzc2tz8+vy8vrykoqSUlpTU0tT08vS0trTk4uTr6+sAAAAAAAAAAAAF/iAnjiSpUJRSrqypjgVKkZEQtWvWNBlMNTORYLi54Ua73SuGGgk2m+Fx9NsVRLIrJxKFGqeKZEMVAwqh0iksOWPOngKGDVdoFF4RccZNhI82GBgCIjpJPRyFdns8NWg3AgQJkgSEYkA9VT0RL1EMNROSGJNrllcZLzQCCgKhoYImVUmoLaCSCRgMLRmxagwYEBgTX7p3ahEME4MlJzIyh2oEAQ7T0wEblmKzLRsG3RreBhXYsmob3+cV3RWJemoiGBXxDvK5KwqnxgQEwywKdUpTHFgYoGECDnY8pkgYMHBAhQ3LYsnSNiIZhAEYG0L4go1ChCoq7omwAADBBAILbzMOSCAiDBsViQrsArIBgM0DHBQESDkgAJVLP3dkSKTggk0ALDkIqDBAAsQW/8xEzRDg6AVlSo+4FIpIVoQDRw244xA1SKIeGI4CeDolm4ioLyQc9anm3zO4IjY8APAA6xR8I4j+SeB3LIkfz6aEAAAh+QQJCQAaACwAAAAAIAAgAISMiozMyszk5uSsqqzc2tz09vS8urycnpzU0tTs7uy0srSUkpTk4uT8/vzEwsSMjozMzszs6uysrqzc3tz8+vy8vrykpqTU1tT08vS0trTr6+sAAAAAAAAAAAAAAAAAAAAF/qAmjiSZNA1WrqyZkBTalG+7YqgqxihMFbaSrFHjzUQYirIW1BiBTpkooWxQmMGT7GXcKQvQpqggo0R7SfLVRi7UIkMMuVeIrUURASOCjPdRBTgNBRFKP3h6DAwCf2UqPCoRRUt5iomMY0OAGhhYIwkJEYuKo3yfRiieK5cTApg3XU2irQKmNnKqK3kRtqeGhjpiExcIxcUXAppDuSUCEM/QEMXKW2ICCNLZzwiCmsFNBNjixQwsCZ1iEQQEveZzRE0BBhkOE7feTRUG+xkBr1OoUjFbhCDDPH0GENhSRqFQKg0MIPAxYEECgwn6DGbIcGHKkDXdChB4AOAAAwsDaQZk0BDhwr59EEbYCWYEgwEAOC8oQGmhowZnBir8K/HOzM2cCHgqeNWOhp8MOAFciJBhAMoAYjKhMKPhqFQNE3gOGNpimQivPh3w9NlkTjC0IgRIGCCBbAt0IypEtRd3atYWAiw8qPA3BAAh+QQJCQAZACwAAAAAIAAgAISMiozExsTk5uSsqqzU1tT09vS0trSUlpTMzszs7uzc3ty0srT8/vy8vryMjozMyszs6uysrqzc2tz8+vy8urycnpzU0tT08vTk4uTr6+sAAAAAAAAAAAAAAAAAAAAAAAAF/mAmjiSZMMxVrqyZkBPKlG+7XqgqxuiYxBNbScao8WaigkwnzBwLO5noJKs1qajXMYoKNkfKrlOKq9qUhRqEeAnPjsz2pFbOieqFcpo4nfgnUBl1XSo8KhBGORAFfzGBGW4yUBdWJBeIjQwFaSZHWU0XfpoTTCWhUqAMgI82bZU2CZQrP41+pUICuRgCuwJrRESvLBAYxcbGwMFfxLzNuxiDS18ivMe9LLHCK8QK2iZu3iMSCAgWAq3AtyvkFuQS553JCQrwJRgQ4+TsEhAjyRMQBgBwICGDgHcZHlCgwKudhQfkFEwhMicDAgAYDSgYMMAABgoGKATIgI8dgoJRcUiJgHAAI4AADzgOUNAAJAWU+B6Ys9HA5YEEAWRKILDQQIB6/WxgcOCSQIagFWZCCBCSgoVpGRYA2DpARFCOEhXYZDit5VaJCTlWQIvAJsomBrY2GPF1JrWaDeo1seB0BIIBUTGMEEAPKwsBDSIgwBoCACH5BAkJAB0ALAAAAAAgACAAhIyKjMTGxOTm5KyqrNTW1JyanPT29Ly6vJSSlMzOzOzu7LSytNze3KSmpPz+/MTCxIyOjMzKzOzq7KyurNza3JyenPz6/Ly+vJSWlNTS1PTy9LS2tOTi5Ovr6wAAAAAAAAX+YCeOJKk4jlaurKmQFuqUb7tqqCrG6KjEFltJ5qjxZiKDTCfsHA07megkqzWpqNcxigo2R8quU4qr2pSGmoSoCc+OTI3FUivnRHZDOU2cHr12XSo8KhJGORJHYklEKFAaViQaho0OdCaKRU2ZTCVyUk15X22RNm2dfnOqFqimBhYGr7FYlaUsP6urlWZXc5a/sIFLX0mwsLKtHQwBDF8SAhISTQIbAAAQHNMcHNAtEgEI1tYRTdvm3SQEFeLWEALcLNAC7+/b6ALh7BMCDw0TzQIYSCOQIQE0DgzowevAgV2FZgQGNBgQgMOBAw8EJEiQIUOHZ/XmjVgAAEMCEQJxFkxs0PHAhgMcCm7M9pGetBECSCRYuUFChpcbEHKMkOFmh5w2BAyQOIBChwwuLwiUmaAZsX4SH4hIcMFlNo0ZIiQwKkTlUqQ/L1qlsDEDzSYBJJ4UAfUlTQEFMyD9wsCqCAIuD+x9R5YYCQERLhAwHAIAIfkECQkAHQAsAAAAACAAIACEjIqMxMbE5ObkrKqs1NbUnJ6c9Pb0vLq8lJKUzM7M7O7stLK03N7cpKak/P78xMLEjI6MzMrM7OrsrK6s3NrcpKKk/Pr8vL68lJaU1NLU9PL0tLa05OLk6+vrAAAAAAAABf5gJ44kqTiOVq6sqZAW6pRvu2qoKsboqMQWW0nmqPFmIoNMJ+wcDTuZ6CSrNamo1zGKCjZHyq5TiqvalIaahKgJz45MjcVSK+dEdkM5TZwevXZdKjwqEkY5EkdiSUQoUBpWJBqGjQ50JopFTZlMJXJSTXlfbZE2bZ0iBBUFrKwVEV94c7NzCggAuLm4DF9YlRC6uhS9lTIJGBAIEMsQF7EdbjIWqCICGRyxkF8CAQMNA9hCchZpLRIZE97eBJtA5KUMG9/zCwIcEiwCEm2WltMjAtKpaxBAQoQNF7AJ0NfB3kJ+tHRw8PbtADYKGw4cSGAtQQYJHEIKwKMkBpNuC2fYdZBw4UBGCgwSyHQocoqBdyTwjcjg8sIDCRQ8RljIwaHObT0P8Io5U4K9mrESaNwAq0PQDENXFg15VEhLhCM7ML1WrSiDrjYyZFRpFStHERIYLERrgwOvEWPDrmT4bIUEAhmGxQoBACH5BAkJABoALAAAAAAgACAAhIyKjMTGxOTm5KyqrNTW1PT29Ly6vJSWlMzOzOzu7LSytNze3Pz+/MTCxIyOjMzKzOzq7KyurNza3Pz6/Ly+vJyanNTS1PTy9LS2tOTi5Ovr6wAAAAAAAAAAAAAAAAAAAAX+oCaOJJkwzFWurJmQE8qUb7teqCrG6JjEE1tJxqjxZqKCTCfUHAs7megkqzWpqNcxigo2R8quU4qrtiCRgyIzJV7CsyPzMpnUHoC8oyHQlBkFZQVYSD8yXgh5igcWYykaEEY5EEdiIgaKihF+ViQXkURdnQsDmQBsQnA5LQgHeQd9qTJQQhABGAtffoMrEgYYwMEEun51xnUJEQPLzMuoQoShzRXNuVehRAQR29wDAcSqXUwkAgSxTRfjZwgG7ectYXZnBBS/vxJNofIkGQ0Y7f8oQBAAgcWLP7NGCKhnjwICCAQQWOgzsGABZAhXaRBgz0AANhkQiJQAIYOADIZfJtBSRUsDOwrWIFiQiMBkhpsCjtUwVIREwRELREocaBNUjJZfBMyUyOakyT5K6qizIUEovo1OC/4A0snG0okiSj5NUieQrqoIrG28aXLK0a42TvosOiISXGKQTr4TEgIAIfkECQkAGwAsAAAAACAAIACEjIqMxMbE5ObkrKqs1NbU9Pb0vLq8pKKkzM7M7O7stLK03N7clJKU/P78xMLEzMrM7OrsrK6s3Nrc/Pr8vL68pKak1NLU9PL0tLa05OLklJaU6+vrAAAAAAAAAAAAAAAABf7gJo4kmTTNVa4smWXkhDZl0rIUAASjjI4J2eRW0ugYsI2PJirMVETRQAeIiJai08wW3SyoAMJmxlwOuyIM9bBx/i5k7griiAQEIgGDisAuoRsXExNcBBUDFREIEBsOVBFwDQVaPxtBM2cSh4gDCgQQBzpiCVw+FxBLKGcbD5yHFQ4CCAsspJSYchsZFK4VeESpKS0SCocKjESRklEQBHdoF5MrCwEO1tUBEmiBg92DCRQGBhjj5b9Et2QN4uTs4Uno6mQSFPX2FBbbbmQTgCQQC84l89cCggQECCwIZOGDUMEFCBM+gNcilUMSAiwkjGgBggBkNdrIKzACAkILD2sSShAg4AUjUldQXBCkDkrGiBJgQHjBMsiESZhEKFsm4qCFJDtbZhAgSMYtKJca5AK5QWlACE0JDd22IenSlw2cKplBEo3VX3C+BYpjdulHod1KPWm7dARNaZa2bPNIIhoKOVipch1RoN+2EAAh+QQJCQAaACwAAAAAIAAgAISMiozExsTk5uSsqqzU1tT09vS8urykoqTMzszs7uzc3tyUkpS0srT8/vzEwsSMjozMyszs6uysrqzc2tz8+vy8vrykpqTU0tT08vTk4uTr6+sAAAAAAAAAAAAAAAAAAAAF/qAmjiRJLE9QriwpCKQFAEuZtCwyDNd4zI9RgtKg4EoMi0UC0/wAQVGhQcUcR5XdwCF6RhNU6u2qySgHlowTKCJSjWQRxII2rKEacHi8ikAqCBEiAhJoAwReGmENViIYFBRjEwaUBgSCF3QWARAzBnpUIkNhcAoGDJUVChEMOxMaCgptVRFupCMXFZWUgQRqKxgJoKR8GgIBp5VNOFOLjSsKugYVyy3NDQVXCQQI1TgYBcWDBBfl5b5xGo+Q7JEXCPDx8ILai/bw7/nzZMP2Gfr5XsW5RuoZiQgC6F3BYLAFwgwCMii09kbciIcRM0C8Yi9SiYcaISa0KEoDQSrZZkRE0BhRgIKEBSDdSNCoGUNbVVS+zPBS0BBIwSreUrcopTGICqcQSXDtUZhGoxoUm7iOQrZrNBelywMJ242mGmwZXWgVm5Q9RNGSaeYxrdRZOdcCHYFVpVp+xTDcpTlx6wgiDXGEAAA7) center center no-repeat;
}
.dx-theme-desktop .dx-loadindicator-image-small
{
  background: url(data:image/gif;base64,R0lGODlhFAAUAIQAAIyKjMTGxOTm5KyqrNTW1PT29Ly6vJyanMzOzOzu7Nze3LS2tPz+/MTCxKSipJSWlMzKzOzq7KyurNza3Pz6/Ly+vNTS1PTy9OTi5KSmpOvr6wAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCQAaACwAAAAAFAAUAAAFvaAmjmK0SAKpjkpDaEI2TNp0VKtoGYaADRlF5ABw5GA8SGwWAAAQKoxQQ1gYJpnM5AHIiC4FTQRBFlYWBIjLOUlQGIyERoGw1DGEyIhcgDMoIwIEZBg5fhclEYoYGHorCQURCXI+jBgpOX1+FFICCpdHb34MigJ6cjkXFwmrjhoXFBSoJAlwFK5ubwWqtLB+YRoUBcJuDGCycKx+pwVyF3C+z39iBcAjtdPQ0oipyRrQ39Pd3OC11kcisbMqIQAh+QQJCQAaACwAAAAAFAAUAISMiozExsTk5uSsqqzU1tT09vS8urycmpzs7uy0srTc3tzMzsz8/vzEwsSkpqSMjozs6uysrqzc2tz8+vy8vrycnpz08vS0trTk4uTU0tTr6+sAAAAAAAAAAAAAAAAAAAAFwKAmjiLUUAKpjkKGacJlKJpyLasoLYsgGDOIwWHIaSCLjOR3wWQcA4IKIoDUeBiZIjIoQgIUCESBwVQzCwlaMXAoMhUAIHMsmwUKq4ggScgBDikwAmWCJAIPAAc4IgiOVHoqBBkCjhoFE5kTBUYFDJ8MmpsMFp2gnxqOCBalOayrCJGepCsInxORFhOgrCSOu5+cGsC4uxaYtqQWoFYIEwgay6TGt0cFwiPJExqfrN1G0tDf1a603LS22EYimdA5IQAh+QQJCQAZACwAAAAAFAAUAISMiozExsTk5uSsqqzU1tT09vS8urycmpzMzszs7uzc3ty0srT8/vzEwsSkpqTMyszs6uzc2tz8+vy8vrycnpzU0tT08vTk4uS0trTr6+sAAAAAAAAAAAAAAAAAAAAAAAAFs2AmjiJUIRCpjpAgZBCCvFdDrKJwXS1S8Q1MAAe7uGKIC8FgiKgsltxOILtMDEPT41WQSBIZnSASuWAMSoxjoMhYvJJCOCVSKBprx+SVSRS6YCoQAw4LTiIJiVBEBA92RhIMkgxyOAsAmAAUk5ISRA6ZAAcJFqSlRKUEqnxuklEqCZ2BbpGur4hvk5W1EhCRFoCSpJMpCV+tDLkWnTB/sMy2rqjCGdLMOMuv0rGVRCNesyohACH5BAkJABkALAAAAAAUABQAhIyKjMzKzOTm5KyqrNza3PT29Ly6vJyenNTS1Ozu7JSSlLSytOTi5Pz+/MTCxIyOjMzOzOzq7Nze3Pz6/Ly+vKSmpNTW1PTy9LS2tOvr6wAAAAAAAAAAAAAAAAAAAAAAAAW9YCaOYiQwEamOyXRlJwoj0ipe05SYjBBZEIstkyg0CoJTRAKBMFSXQgqnY0giiGAmQkCkGuBXQZcUQBACiQODqV3ADd1rxGBADBhDIEWchFcCeA41Igk7F3MrEgh1KH5wBUMOFZQVGHBgE0MUAxUDAwsJF6KjQwgOVhICI28NiSMSAAAVhBk4cIgkogeyDwYijxMRflE6YAkOD7I1LQm2YcSZGQwYFCoJ0mGtryStzn/SNm9zf9iRQyQ5zjYhACH5BAkJABsALAAAAAAUABQAhIyKjMzKzOTm5KyqrJyenNza3PT29Ly6vJSSlNTS1Ozu7LS2tKSmpOTi5Pz+/MTCxIyOjMzOzOzq7KyurKSipNze3Pz6/Ly+vJSWlNTW1PTy9Ovr6wAAAAAAAAAAAAAAAAW64CaOo2FJZDoqlraxlrJJjaCKhuMokhVLgtrtpTtZdkEhSWNA5RzMWM0mqVRQOujmqGHSGrREJGLTZGOukUCSGUcKqNdRm5JEEonGitcdNgpTPVkOBkMRCweID4MOFkMBiIgXChqUlUMFeRVgI2Z0JA0MAxd6IhpzUGkiCRkLogMBInNGUCYCABAVEROiNiwynqdQCAAMGwIBsSQKRRs6Gg8AABFDnjLPAgQABNV0OoUZCAdDKT4yMykhACH5BAkJABoALAAAAAAUABQAhIyKjMTGxOTm5KyqrNTW1PT29Ly6vKSipMzOzOzu7Nze3JSWlLS2tPz+/MTCxIyOjMzKzOzq7KyurNza3Pz6/Ly+vKSmpNTS1PTy9OTi5Ovr6wAAAAAAAAAAAAAAAAAAAAW7oCaOI9VEZDomFKYlTeMmhatqRZxEsVtQhdsrRuHJWJREClNA5WQ6ClATEQhQMZnGxEwCd4JMBoXJJm2iBCYsvqZN2lREnBGsdhh0ymqNROAxQTcTCBcIhVlEQgQIEIcXamoYSjcKE1ZjI2VxJAIGBgF2IhiAeSQTEw4MnxcicEVcBgcEFgMKBBWrdixKmxgPAAESFhVUF60kMA0UGsABFwMWE0KbSs4CDAMM1HHOGhMSEEIpEgsKIigkIQAh+QQJCQAZACwAAAAAFAAUAISMiozExsTk5uSsqqzU1tT09vS8urycnpzMzszs7uyUkpS0srTc3tz8/vzEwsSMjozMyszs6uysrqz8+vy8vrykpqTU0tT08vTk4uTr6+sAAAAAAAAAAAAAAAAAAAAAAAAFwWAmjuPURGQ6JtOVJU3jsq6aFXESxa452a/YZCeDyVKXAgon4/lEl4QodjQlC8ZEojCZSC9Ubw16uXQnhZXpqOpiV7oyUKuLRNaxtC2C6fepQkAYDAKEGAlRZVI2AhgRAo8jYGwkAggIBChQeBcQmhkMGBaXFgwia0MHAA4QBgwLBoOjCCgsUg4AAAgSFQgUBgEZEQymJBgPABUZEgMWBAauQBQAD6YDFRYRv8E2CAoUIswIGRgUFkDCIw4SGCICKSEAIfkECQkAGgAsAAAAABQAFACEjIqMxMbE5ObkpKak1NbU9Pb0tLa0nJ6czM7M7O7srK6s3N7clJKU/P78vL68jI6MzMrM7OrsrKqs3Nrc/Pr8vLq81NLU9PL0tLK05OLk6+vrAAAAAAAAAAAAAAAAAAAABbigJo4j1URkOibUpSVN47KuqhVxEsWuSdmvGGUng8lSlwIKJ+P5RElR7GhKFoyJi+l4mVKypEvSu9rWUsJzQicGitcJzTZWABYoeAqTbNPqG1cXWRcQKCoCL2sjAgYAAAGHAhkChhoIDI4PFgSVk56TIgeOGBkGAxYWARkICJQZrygIGBOWAxIEFQYErLQCvikCChIOGg4VEwsWCBlAELbMuRMRrARAEwoIIsbVAha0QJUQDswalSIhACH5BAkJABkALAAAAAAUABQAhIyKjMTGxOTm5KyqrNTW1PT29Ly6vJyanMzOzOzu7Nze3LS2tPz+/MTCxJSWlMzKzOzq7KyurNza3Pz6/Ly+vKSmpNTS1PTy9OTi5Ovr6wAAAAAAAAAAAAAAAAAAAAAAAAW9YCaO48RAZDom05UlDOOyrpoVcQLFrjnZr9hkJ4PJUpcCCifj+URJUexoShaMiYvpeJlOsqRL0rva1lLCmgCjUIiB4oQ8cwDYAQsgU+i4AyJ6UzECBIUIFigqCQUXWYkCDwMVFooTLQkjEhGSERISiRkCEAWWLSILFQMNAg0LBAoEAmsQLDgoEg0KGQQGCxgICBjCAi9vJBAGBgEZFsFrGMQ2FgsGxAgPChDDQAoUBCLNGKGyQBmgBBbRoCIhACH5BAkJABkALAAAAAAUABQAhIyKjMTGxOTm5KyqrNTW1PT29JyenLy6vMzOzOzu7Nze3JSSlPz+/MTCxIyOjMzKzOzq7LSytNza3Pz6/KSmpLy+vNTS1PTy9OTi5Ovr6wAAAAAAAAAAAAAAAAAAAAAAAAW6YCaO48RAZDom05UlDOOyrpoVcQLFrjnZr9hkJ4PJUo8K5sbj+USXQgbiACwaGVO0YExcTMcKYGzwki7RGOMnUlDGFpuwBsFgFI8ASpXgJhIZERQUAxQBQDhqE4KFFFg2YGoCCgoYBBJ7KX0XXnsQCAcHBHxCmRIVoQeVmV6RUhkNoQgCFggKdX0TXmooeAoZGAgIdrcFE1IQLSmfCBLAAgJfukAKwih2AkyvKhgWv8AY2V81NpnQmSkhACH5BAkJABkALAAAAAAUABQAhIyKjMTGxOTm5KyqrNTW1PT29Ly6vJyanMzOzOzu7Nze3LS2tPz+/MTCxIyOjMzKzOzq7KyurNza3Pz6/Ly+vKSmpNTS1PTy9OTi5Ovr6wAAAAAAAAAAAAAAAAAAAAAAAAW8YCaO48RAZDoSR5AlDHO906xmBuBgUDybk1sG4wAMYDKkbfUQZCgAgMIHFF0KGcigErEIDoBGoYBMXEyyzGM7WBAaTus1xgiKMJTKgHCL1UQQAhgYFhYoKhcXCYsZDQsGBgsIQgV0dRSRkZM3aHQQCoOghylmiheHEBIICAoqSBOjGKsIXhCjZp1YGQS0EoIYAldlF55Dvhm/EAU1flljKRCDThMTZj5CyRmVP3VCn3HUCRlnujfiImPnKiEAIfkECQkAGAAsAAAAABQAFACEjIqMzMrM5ObkrKqs3Nrc9Pb0vLq8nJqc1NLU7O7stLK05OLk/P78xMLElJaUzM7M7Ors3N7c/Pr8vL68pKak1NbU9PL0tLa06+vrAAAAAAAAAAAAAAAAAAAAAAAAAAAABbggJo4idDgLqY7EhWARAFRYIlmrGFCDsMg0CUOSwwgGg0lsZmEwcCQCQoB58BBAJxFjKWAghsuEIFBQHhdFwpmwCJ+YStjQiExHlq5zOFoELgYROVpQEAKHERUQOXkJjhgID5EPBEUFe0OTD5SWmAyGCz4QiyuNFgmkoKEra0OkXwuxVAkkp28MXhihoRAFN76teXuLh4s2BcFaXwW5IzYSXk7CcIzQtNIYQlusNyLYa81FIhIStDkhADs=) center center no-repeat;
}
.dx-theme-desktop .dx-loadindicator-image-large
{
  background: url(data:image/gif;base64,R0lGODlhQABAAIQAAIyKjMTGxKyqrOTm5JyanNTW1Ly6vPT29JSSlMzOzLSytOzu7KSipNze3MTCxPz+/IyOjMzKzKyurOzq7JyenNza3Ly+vPz6/JSWlNTS1LS2tPTy9KSmpOTi5Ovr6wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCQAeACwAAAAAQABAAAAF/qAnjmRpnt5gCZxSoXAsz+eksPhL7zxdcDigpUeUDSqNCSoCbAoksEEkMSjOCgaDxqIrMYPPJWAMiVhhDW022zEFwK1TZkwHdM+kiEa9D5gSTkBQJRMEdWMaeG5Ze3sGDV6BYSUBh2MciiUJaowGDkojb4EKJQMIlgBDmSMDnVt7BXmSgyMKqBBVqyMZjRZqFrkeEXCkIw2oqbokE76cewkjX060HhyoGMHKHhWOW2ptHqJBxR4JyNDaJAFaFt1+wrMihagUZxMVBQVJJ2lrjgYvpOEYZAEZJBMLNly4cODEgAwJEmSIkAGcpkZ8HJSDYyDFKUvURix4QJLkBRMN/iKqjFggW4pmr7IMGCABTAYPcyzhKjGypM8NJSBOFCoxQYVsvFwZqFKhJpB3BVC9E7HggM+rJ0kUWDllSsQM+zwwY5dl6pGKrD7SwUCi51WfWUd0kEix6ESVaD108LXHgkUUCSDUObjhrWGgyyp47UoXYsSjKbZmcImigQYJwDxUNfy24YkOQil6pftYl1XOP2NMSPlVtN0EoPC4RY14xr3Rd71SJlIY9YXYOx7etRsBuJXZcBfgaeC468FMF97WxnNPaNhVpx9M12VcWXfVM8OLFz/he6aEB9KrX58e8YQBHeB3mE+//vzdeHqjhpuCPvz/8QUIoHlFILcfSQcE/mjfgvXhV0R2B/p0n4AUDtDATBc6SER0EV4lH4MdZDghgUQYeOBv8WWo4kwTxpcOhx0+oMR7LNb4343piHDAQjz22OMByuUo5Bkb7LidbDtecGR+VvHomSILwEjSkj1sxuMDC1HJA4QlXRBkiUlGdyVD0KEGZA8KLYRldE2SqYiUh9FQ5JpqnrbQAVruYCJWWlY15gN2qolYQl/OsMECQcLJWVwlJLlmoGwqF2WXhZ4wqUki6Lcfo1T1iCWdgH4JJ6NFnikCnE9yaVilI4nZJqBPeqBpScpNICVQJn55KWesXvmoqSPw6oGqE8yKKQkKcXZCkk3iaYKqJIlw2ASchB1pbKzIYuksQpx5Fie0D6CQHbYIwQBusNJp1i0MJM6wZ21xyiqskIpiSUK8HiwqpLEkFYovv9rlqO+96Y5QL6eZgFspvuoyXGbBBF+1HbQI41HvCQ6bSG5+EEecWgnG5lmElBvn27HB/OVYpJcwODzCypUOiYKiMctcIFY265KmkjmGAAAh+QQJCQAeACwAAAAAQABAAAAF/qAnjmRpnt4QGYbVoXAsz+fkaAZuNHTv9xWWxoIL/I6ySaMzQSVyFqEDNigUBshZI8HNvEyZIQ5nQWUEHIEgk4V1EhkuHFvK5FjQUwPN53zbJQVdEVwVJk93Q2UlEwppjwJGgIEZhHFcfyJhUHl1kI9TkyQVchGVGRlNI3ZiLIsjExJ9fAmiJAOnclw8q0NCLSUBn2gSdLYipINwCaoerHfAIx2zj2zHsHGWhAmGIohj0SIGwxwazdceDZfKdKxRnR4V5ALd6Ktw23EFmuCKIo3UBLw6MmHAgA4Dzo0YkMAUF4cv3OFZlGCesVsGKDAwcPHfQYQIFSJT1sVDgV9F/lLIGhbBxIQACADIBEBB4ccOOHEmLIEr37aCUcDt2zNMgsIMFGYqHZgC5MGbO0dsqbSMWbp3GqzJo7ZPGgelYDnwzNngYFmnqiasg2PNw4QKV2Ct5KMBlgGweCWMfYoQakgRb7Jl6GiiQh8FXyLExAu2FomCOXPelNxkQIMKFQifUOEgAZYODBjjrbvZ4NmylvlqRhJa9EwMjlEUfPrx41mRRyq4nmlhNSO/qP9OSrC7GMHUIHE2WCCqgWgMXbNMkIz6mASwEGIDmt0XN5IB1wFA6G3Pe/MjGzYcUM9+vfsNzO15WHCgvv379jeIoH+hv///AMZ3zQYPFGjggQhe/uDBARc80OCDDkYI4QUCirIAghhiyKB/BzjY4QUffthfhZN0mOGJBUIY4YoNOgjiA/odYyKKGW4I4I0mUjggjRlS2OCHDwA5Y38xXjMjjwU2Qd99INbXZH0kHrPBjVQeEKV8WPawwJQgXjPBhkXaQuCBClrYooFhZrHAmQemicSRBuqIxJoolgkImwha+QOcGNrZBp8IunnClEgK+sOYNF5g6Hx4nniACPAtasKW8TXaIwqWYqjfBGfKCQOdKUKaKZmTFjoCnn6qp6cIeD4qAqAIkohoj83MaiBznLY5X4YCgnoiiRf2SKKlzPE5ga2hkkBohic06iayBYqQ4QYThpz4rIYozChosNh6MO2CJ2ZroKufwpDpCN9ymycM5tGgrq7Sagrpr1la6ue38faJJbQPVIivB/xKmsWJfnor76mXogMrif/u2rAolrr5MKAFT2LpCQ+/WyC5Yh5cwsMAe3wMmxyTALIHbFYsJoNX5guvCep5mmUMjbY88w/vqnwzElwqKl8IACH5BAkJABsALAAAAABAAEAAhIyKjMTGxOTm5KyqrNTW1PT29Ly6vJyenMzOzOzu7LSytNze3JSSlPz+/MTCxMzKzOzq7KyurNza3Pz6/Ly+vKSipNTS1PTy9LS2tOTi5JSWlOvr6wAAAAAAAAAAAAAAAAX+4CaOZGmeG0QgiCWgcCzPJ2S1LPLSfE9nOcvDQvAZZRABBIJa5IIwgUTCPMoEgox2V3IKvwiUxGDAUCRWGGSbyVZJkifLclqUyRhDJn3Kav9cI15DQ2ElEA53eQaGfCRtbQt+gRtOcnQlBHd4Bg+OJZNZom8bEl+EmCMCFJxmGEWfI0kZkn9tJJZPqSIIeBSLFKSxWFuSbiNxpzePnJywsbKQ0rciTg+6JAGbiwHC0KK1flXJLYWC23cL0H3S4dUs13MiiItmZY1GCRcFEwkoa1tE3VqgbIgIC/V+kaEkQsCDPN1MJJhAkWKBC+wE1NpSSQ6CIhBY1SODT0QCCxH+BlQYMACDsAsUG0yQOaGAPxIAJ0laUnCPnTwJhS1QoJJl0ZIFZCaNaZEUMVrEmADJgaYSGV8G1I3IQKEoy5UsKZTg14BmxYo3NySANCkatRQKXQWQFcDo17sVxJKAabFs0gZL+83b+BZFhjKsKOxAibdohQiPn40gS1Om5YoF5mERkDaGgBsEmAgw4FUl5NOP555IQPZsRZqZY2EA6xh1BAxaYeyz/DewYEcLjK58TDxCBASdYej7y3SmzU8EvBZPzVDGxLOAZcbKgPc0hdxHJmaXiTFWV9MVXkHje3GdgAApjyf/NP+bkX0F8uvff7H+JwkUKBCBgAQOOCAGCDD+IV5ZDDboYHnrOADAhBRWaOEBEMzk4IYO+neEBBaGGCIGHJbIIISfGCDiihNqYKKJKDqCAYssavhih+tYQKOIAyRwo4MTrCNCBTtaqM51riU5QYzQBHCABlBGKSWUGFQn5JX5sLcOBPwsKeQFQMay4In02dggk0b8BaSHMYy5YZCOmOngcz2oWSKcfNjJIZomwPQjnz2AeaOXKLhpYmwX6NODPjfJeScKju6Zgo2/KUepCH4OKtGfI8iJ5wb4pSVnbBvoyWFygt75RqoN+pPhmWqdOoKhOJLgI4eVihCpP6ZCwCqDn4IaaQMnOMrkrwyKsCcEJR67Ialjkbkph7F5SWpqWSioCe1qMAw7gqS3PquGI+E++O2G5SFbFpt8RPqppMriiiWoJXYGL733rvMoCfm6e+W1DSSXb7mwrhMpk/mWKq/BHJ6QMMF+fYmuwxOXgCygVpi57bnmmmBmsOvx42HCI+yT67wxOMouyjwQDDLLafBFqJAhAAAh+QQJCQAdACwAAAAAQABAAISMiozExsTk5uSsqqzU1tScmpz09vS8uryUkpTMzszs7uy0srTc3tykoqT8/vzEwsSMjozMyszs6uysrqzc2tycnpz8+vy8vryUlpTU0tT08vS0trTk4uTr6+sAAAAAAAAF/mAnjmRpnp0kcJwgoXAsz6fK3i+t7/TqtwKeUKbQKGCSG4exQjI4uWFMY6lajibBb8VBMRKZRKIrRSmqDoPjmmUxbycBWCwOlk1qdNVgSmpZTSUSYWIZERkUd3gWa3pYI1xLXCZfYBF0iYokBntreSVcfyyghIWXDJokEoxrDo0aJKKSZCNfYYZgGXapIlRWaAaPkaKxdJdiEbS8InlpjXwiSbOjIwS3lhkZUcsdVGqNVVg/LUwjHMgJx2PcJXl6FtChTIGDhdgEZQqcFrAnZ4zwGh2RNkxEJVyFdqnKEOCBNhNnXEnsV8KXK4B8/sxrkcKSqQSZVBG4cGBDyQDb/jp8k3jxkQh9zwT6KSjnY7aUDAIcKLlzJz4SrFhKDEbCYiMHL4bZOYcwnTIBEXialBqhRFChEzeBgzdChYuuhAxl65qAp1mTGy5ULYoVK7+XAeG5PHGOji4RFEhK3Tm1JCqrbd1G02DACA0JFCgwSKrzLEm0JX+a0BBYqAVeOqdq5nvhwV8YKyvPHcJh89kDFwikNHMV62ghFE7zvJBgtQwqgVMJ4Mv5QABlQigLhaYpAlqSFz4rWklck4QEyFWze607uIHr2LNfN8yuA4cID8KLH/8ggPSIlYVS5JVgQIMB7uG/jx9/w6r0bakPYQBf/oT57v3X3wAB4NfWeopE/vAegPE1MIF8/hmIFYJ3RNBfAxj+J2CG803QmoH6wbbgBBo6aGKJE1yggIQSXcbNBf6dKKOGQfzzy41WUJhKAhv06OOPPgagUHdE8lDEHsuUVkEDF9gmhXAtpsIBBgBUCQAGCWiCnnqabGDllw2EZOSHUSpSwZdoTjCkDKG15eIdZ6L5JQQPOFkUmVwqEoCccmKQAQxbpgeNETqaYZgEE/Ap5wBrdoAnl/e1RERQLgZApaJWTgCRgRS19mY31z3SWjxeYlolcFC6GUWqEg10FSwrulZLophK9lJgbACVn0pYScDqRSUkEKeca35I4a+uiHCgBIFRGAAEaG6Awko6gMaKFTQH8tpWHKUCsEGjI+iH5wjZWjscDMoNYS5LFGXbTWAh3kHmp+52gCuRyDrgUr35FnrHvSTU66ib7LTZagkCr5vVMmRSKLC2lnFD5gkPK5wGN7/q+PC7eTLMUnMBT3jCVZ8uQ1iuFIt8wsnxFinChy27PMO6Jctchi9vsRMCACH5BAkJAB4ALAAAAABAAEAAAAX+oCeOZGme3nJc17GgcCzP6Ho97EvvPL2xLNyhR5QtNrrTDwccoiaTwaQ42zyuj43ygHtwL6jBoEMeUGFW7DU5sraurJO4TJ6eTVw1zrRktkwLY2QdY2Z3JTd6WSULfkImE2UNgoaHI3l6YCQ/N1+aI5Edk5SVlimKV1ptXn5OI3OUk3amIph6SUtBfyMLg4SThLQlqF5tQZ4khcCFs8IeaYo6bjcsrqGFg6XOHomZIhuejym/gqNnKiyqgMRa019O12VjzaANGQUV9CndqSe2WGAaJerkIdIAYKLEQGqQoGHDAvT+wWFzCtWCBUCAvDBIZ16JARkShBwZoQEiYl7+2EBTo2XCOydzEpZJVsFhwwgOK5xEuWiEok8pkIAiRFShiAkMG5IkqXMTTziqGqmhuLCcDnsiHeK82bCDCX4oNbm8sEHfiShiNhbQmiHCUpFN+TyFQyukyK1clXqNITGapQ5Kcb7N0MAsILC3/t7VmtMwGsRXTE1w2HZkBm09Vl5xdagCXpF7LWHifGhChcqFt1Gl5RgFuAOwY8s+IHSbhw52berOkG/fXCzqaBUwQLy4ceIaDGgIMAEyz9VUOihXnlxD9erFNWT4rSf4oQzYp4vHntwCd5bCwCNfL165BffOUUIv0sC9fQ3vq1tIbiCBVO5AmRLBeOzhh5wFZmD+lNGCGXknXAAOQChhhBA64EACrdmmYQxHVCPMAAEkh6EwmgVIxQAKCMCBigoUYAlGqDhIRAAq1riiASYVASMxJhKhgY0qrshBAJjx9VSPPfwoJJACCDCiDH3wJGMPGSxppZAaxHXYb04gMSUkbbk4gQNW1gikBWbFh15zAM0nQgMEACAnB2YUoECZZVqwzlPqgAXUa0kwIOegEhwVAZB4aqNZJrMs+sBG/GhRwaCUuijCAGQiWmOOvPBIEWQvSDQZpYNSUEIDSjKJGWIOOvqACDEOQOqgAZiQgQRA1uoPcCf8p4cTMXogwawAQIDZBBFIwIEEEbQ2n3M+KaLFABCDEKsBDBkawU603YlgAbEAcLoNZEAF68EAGBDLgYausmGuBwmAm4BtPA4jLQkcEItBtjz09ai93Y7QALi60gKZg++KoIG6zkB2QsLnVktqoSTeawLEHnxLasEGq0Eat+iZkO+g69oGzgXzYSxCABJIMO+GMyDmJsw7+LoHzaZwQpZtIQAAIfkECQkAGwAsAAAAAEAAQACEjIqMxMbE5ObkrKqs1NbU9Pb0vLq8nJqczM7M7O7stLK03N7clJaU/P78xMLEjI6MzMrM7OrsrK6s3Nrc/Pr8vL68pKKk1NLU9PL0tLa05OLk6+vrAAAAAAAAAAAAAAAABf7gJo5kaZ5bUjQNlaBwLM8oxd4Yre86dt8UnlCWwLxQqx8LFjEOaT7cKapEYShY1xNGvR1JyaopgV1hv1uwsmXq3k7ZViuXLtnW9FH416aYsQ0FdSV7QIRrDSZZNmZogwmIDXkbhUskV2UsfoMmlSxfbpYiEYA2gJOcIpGCIp5gmaasqZeRR64imJp+DY6zG3dKQRuhia2LcrJCKlioI5CIObe5ZisRJxECAhoC1iVkSs2UiEGhwnGlzdja29vdeuOOz2sJ8lJku1nJo+sa/f0CdiIFQkPsRRdW31qYQoPNn7aH2wIKlERijTBcTkbkayFL3bYF2kBqAAmQ1sQ5Iv7q8SJyx8+RCOxiZtv2UNFJTaMKUMDgLkaRjA3/CfX3z8pNNpzWCRDJ9GFJGJ6U9BICc6RSp+1oJKw1CCvRfz2hABNTp+rHbCTThNK35WpWTmHYbgn6dtZUTmFnYCjAt69fvhl9bVg6YQKBwocNF56gwdrWm+HSLLgAAYHly5gvEyB19MfdIQIuX0AwujRpy6MRTOj8I/KQyZURVJ4tm3Ts0aylpJqAGkJp37Z7kx579LMQDcFrW759m4DKkxdTEej9OzV1gPcWac/iOo2GC+DDiw8/4ang80+KlJkl4IKDAJtnuYne1kEGAwYyOJjwiDiL7jQggN99+RkQgAbp+f5nSB32DeigAQiYN0NUC6YRQIEY3pdBBfHJcAVkgxAwYAUFboifARUsAMNjArFiBIAjRDDBBSpGAMGGBJqoIX4QSCiCgnhswJkmxm2ggQIDDGBBBdYs4EB+JO5YIgJjgPhjMCMIEIACGSAoQgZKJjmAAyIIIGKOGZIoITFAuFOQkQcAIOcDVC6gpAQWhKlimQISCGWBXjoTiRYkKPiCBHIm+oAGE+QpZpIZlLDAhThi6KN/zbApwgOJJtpjknla4CiVkkY5IAFI6ObNKiJ0mmgFGwQAKp605tUeiRzmRcJnQI7gqpywCiDBnRYMO0AAMPjIw3P/+forrBsgQGyYA4UEKpiC0f0KALQCgFnstwNAKxibaGgrLgHDfmssqoINWoK5JFRALJ4DZKDrFlE5Au8IC6RLa57spqJgM/uOIOu8S/qi4AkFl+lvseH6Eko4DYuAwMMDBCzwD3JtULEI8t6J7Hl7EcrwryObQEAA8KGngwW/7ulyiK5KMPMsBAzwwAHizhICACH5BAkJAB4ALAAAAABAAEAAAAX+oCeOZGme3nI8z7WgcCzP6MXeG63v+nbfF55Qtti8UKsfCzbZGIczH+4kVaKqjxz0qnwcSUmraWP7fbfgbrCEvZ3KvwPaBP9pR+HfuNual/JAf3wlE3xZfiQLhncegEtpfGeIjixfbY8ihXyMiCKGciKUJHWBnWyGR6Iilyycph6kLGusI7F9UCoXF64iipuNgx6sXlcHuycLpLyUQZdrn1S60qCQSi4lvl0L2VPcetjSNivHo4YPB2esL1igrIxF0y0tF9QitnYkaiROZ/ojZNJk6WpRT5g5IFq8SdpjZtW4eQPHHXB1z1omYxsm0MiVMYWxcOfkTeNyUFanj/L+kuhagU4GJSULhUwIZyOgrpjIKhKbQyZlSnpDegabk4wexHM4aVwquMWYyJaTbjBFA3Diq15XRyQtdqCr168Tt26ZMKCs2bNmJ2hMVhLfqwEd4sqdS3fAzLYwTU2IC7dvB79+/+JVwgsKXLqI5fYd7BZR2b+QAUNucFhnJL1xKXfQzNksX28l15j627c0abmU19JcLa3wnMeQY5e2m7X2FnhAO02oUKBAA42d2ohGMyBDguMZMnTww7aLax0NkEc4nqDAAFwVh0MxTj3DdOMVru94WQqNce/Su/+OYvnQnOgJ0KdHvhxF85KgCkQooGNCgwrL7SYdeudNl0B4b+D+lUMHDADgIAXiwTCAAwZoYEAAGnUgH3XfUVeBCaA5N0KDDjoowAjFORBAhBRaWGECmTRQIHfxRWAccP8cdAGOCZTo43IDaMCBABxIwF8HFSZpgAENjDBBAd1NZ2ACEfZiyDVOYuBjifw5QOSXAgzQwJIuWhhACcURWGMGONYiYgkGbOkgBNdJMOSdAhQwQZlK8leChlIe9+EJYfDSAQRyAqCBCHjemYEHCVRogaQaWNCmCGKeV8Gl2MAgQaJ0ivAlno8OQOapBjyKQpVDFJAoAGcyOiqRqhaQZKVJsmoKBYlSQEKjtGZiwaRKagBjVhG86qesjarqwZgWRjtpk2+BIZAoByXMOqSzHgQg6akOcIqGBa9SO4K2AhyL6anRGjBoJyRuaYEJwHLALaTfVmrsK/GWCAGn9d47wKQuLqkuIg7IefAIHAB7rwe23srkWxz4KAEKRTZ7QgS47nvVAAFIIMHCJNg568MiwGeubTEYAGx9LL83a6wx+9GAAxKkmlUIACH5BAkJAB4ALAAAAABAAEAAAAX+oCeOZGme3nI8z7WgcCzP6MXeG63v+nbfF55Qtti8UKsfCzbZGIczH+4kVaKqjxz0qnwcSUmraWP7fbfgbrCEvZ3KvwPaBP9pR+HfuNual/JAf3wlE3xZfiQLhncegEtpfGeIjixfbY8ihXyMiCKGciKUJHWBnWyGR6Iilyycph6kLGusI7F9UCoXF64iipuNgx6sXidFuqAlC6S8lEGXa59USmuQ05K+XQvYU9t6bLactiwHZ6wvWKCsjMri1CLiUyNqJE5n83iGpSPDP7u9SpL2mFmVzw6dgqUmHNg1gUauDQ2VIRzHZaI7NJS68KqWL6CQbr8cwiM2h1+Lhjz+yBhCBFKWxx5dkM2JtVFIGJl+4NTc8tIPyh0bDggdSlTok1e9gio9sFSpFokTWyElo6uq1atyRkYyNaFqi682woI1uciUyqtYWxyLqmQnj4UrbCRJErau1mymFMmVVTeu35b5Lvo5q0stWFnkUqBd7A9piqKQh/Z0TFnGAAMUGBgY0GnCgAEdBvycMyEAAgCoAVAYDcVzh9ChWQ8pQCG1bQt+QL/eHRtKBwG2g3PIDRu07t46LgdfLoF4hwagocNGHiMCBgDYs2vHnoD45+K7jcse0YHB9vPYNYiokKGBDtecXfOWLv216BPm0WvH0H2ABg4cCKABZzFMkEECCBb+0NB3xoWm24MmVKCfdhYQaEGAAgSIWyYFJJABgR4ciOCBFYjw2YO7SQcaawlMCIAEIBYQIIAZChCfAwYYoIEFJQ4wYgQIJgCiayrqBh1rDeiHQQEkDCBBjTVy0IEHEWigQY47ghakhxFkkEEJJz5n3IomAKcdBN2VkMCMUUrQUI46wlnBBFxumcCUYB5n3wlOQgAABBWaMECUUaYZ55VXMlnBjxkAmYFsno053gjuoWABoQEqQKCOFnBqAJN0NjoigpWeMKkODWCaIZMiYOkqqw38OCqISGmgqgEk7BinjiV6YGCQombAKlIZsDmjBKV6sKuuw/ooagJAConUAAqIGJthACW4GuewHlTgaJcePvpKBNZyAGO2iGLZq4l2RotnJwaU+2UJV2LZKbfdNqovkOsiEi+hGsh2qAWJEmKnh/jOUSyhCSvrKa8mdMClqO8iMsGlM0aAgq7pNuxtkP12VkAAAYRMwqHqotBBBRVUXBkMAcCpK60vb9EBymnW7EcHAThQsmMhAAAh+QQJCQAbACwAAAAAQABAAISMiozExsTk5uSsqqzU1tT09vS8urycmpzMzszs7uy0srTc3tz8/vzEwsSkpqSMjozMyszs6uysrqzc2tz8+vy8vrycnpzU0tT08vS0trTk4uTr6+sAAAAAAAAAAAAAAAAF/uAmjmRpnltSMAyVoHAszyjF3hit7zp23xSeUJbAvFCrHwsWwRiHMx/uJFWiqowc9KpkHElJqwlj+3234G6whL2dyr8C2gT/aUfh37jbmpfyQH98JRF8WX4kCYZ3G4BLaXxniI4sX22PIoV8jIgihnIilCR1gZ1shkeiIpcsnKYbpCxrrCOxfVAqFBSuIoqbjYMbrF4nRbqgJQmkvJRBl2ufVEprkNOSvl0J2FPbemy2nLYsBWesL1igrIzK4tQi4lMjaiROZ/N4hqUjwz+7vUqS9phZlc8OnYKlIhTYFYFGLgwNlSEcx2WiOzSUuvCqli+gkG6/HMIjNodfi4Y8/sgYQgRSlsceXZDNibVRSBiZfuDU3PLSD0odEQJkUCCBqNGiRStoeDWiSIGnUKM+1aLhAICrWLNqRcDU5LQNA7SK1fpgaaeWBQs8GMv2agBTXvm0bVvBVMaCFuaOJQB34jQCa/VilcD0Lp+GCyQcWMy48WILb5k20kW5cmVykjNvEQAhg4EAP+c4dWEqwgUJAxykzhAaisIWx3bSmJBBte0BA7iWhN2iBeYhGiqkHn677pyFlikXaB0jqITb0AcYR6Ord5LKPUkQQB0d+gQ/7K7bWBEbhgAD3YmnhiBiwYQFQCMIQCmegnjYOEegVx89w3cBARhgQAagySCfBgIg/hjRMbLYQJlvJizAn3oSXIBSgJ4JyF4m7i0gwAgahCjihwRVRx55ukhCwISqDRAAiRtMIOCANH4oAAEI5HjBUhEg6GOCPymEYoMtSKJBegbAN0IEFdCYQQWefTiBjhDkeKAGHo6YjGUMrJDfBg1ApwBfJRBA45kVNJTjmhcggKAAcIYogIfMqdCbDbwAiJsECDB3noBP0niBCAhcAIGhOS6VYIgeLsqcMF7KBqMJCJyZYZqErlkoBDxiGaeckyYzhwZOAlqBkhtQuaZZnyKY5aOINJDhgE1GRmiVhhpq1oFzLopgZjI6CaUBZhGK6KojJKisjxrAulmTs3qm2whsfB7qJgm+ZgnkK2Z65m0FFYTapqbXJqtsgtq+EiCt3pJJwqa5cloCusvCqe6ZAxZYArmJztuqnNwCSiuqJMSLaLHJyvnjK0HRasC0+2raJsIJexoqIhFMiQDBJbSJaJUUmzufZjS0aa2hF5M8hADjVvmdyogIMMEFBITsRwgAIfkECQkAHQAsAAAAAEAAQACEjIqMxMbE5ObkrKqs1NbUnJqc9Pb0vLq8lJKUzM7M7O7stLK03N7cpKKk/P78xMLEjI6MzMrM7OrsrK6s3NrcnJ6c/Pr8vL68lJaU1NLU9PL0tLa05OLk6+vrAAAAAAAABf5gJ45kaZ6dYjiOpaBwLM+oxd4are+6dt8WnlCm0LxQqx8LJtEYhzMf7iRVoqqOHPSqdBxJSatJY/t9t+BusIS9nco/A9oE/2lH4d+425qX8kB/fCUSfFl+JAqGdx2AS2l8Z4iOLF9tjyKFfIyIIoZyIpQkdYGdbIZHoiKXLJymHaQsa6wjsX1QHBsVDRcSJ4qbjYMdrF6/ZBagJQIYAM4AGAlvfEGXa59USmskC8/eDRSEqMB2KYZjtpwV3uwTApBKL1igrIwKFra3Iw3s7BAPvjxpI+HkjBp4hraJCNCvH4YMIshVktHmSDElnCRMaNhvwDsVFjQEJGIgpK97hv6UKCsRoBnHZxM6UeriioSADS+fcfAjcZEOBhtfEvBzscVIHQnWNXw3pycQSTwCQGC3QSZNRDefbWCKCE7NOQxeJeIhIUOAB2jTqn2QYKfYFAbiyp0rV4uABQMaDMi7Vy/fvBOGvio68MLevhP8AvbbwJ0ppylZGOCrmPIExHkFIyLM53DeBo1Df068V5rVyHw28J2QuHVo1wPCduKsjUHf17hdmzY105AvDgE2CB9OXPgFzYPxKV++3ADUt9B1lD2b4SgakCFNSSBwYcMB7wGsD5FA6usOBgEOqPf+HTkUSi6gCIiw/rv9AwH8RHa+o6x97+zZt9sW+UwxAwXd1f5X3wbdyYYGZ9mhIEB6AC7Y3QUHQNSBABxwNUMRRxT4g0IkpKfeehgyqN4FYW2XwIsEiFcCdsmsgposJnDwn4rsMUjAEQS8mEEECYSTiQBIjlSSDfgo09sNklBw330MJjASBwkMmeWLvkjQIQdgnsTkcl+glJIkAvyXIn4elkXki0Rm8A6HYNIpwT34OLBCjQTlcwJ9DHr3gIMjMCBkBBkI+duXdQqAUhJMQnXJSiNIkACGx4knQKIvHmoknQzQ+U5JLSinjyCSyeBhCRQcqmV1InAQqqjvkJfnnhH+MocAcHY6pFsb0ikrkqvs2UKpzyGS6LJERoAcmF9yyFWeyY20EBd0WCbQ7LIeghlqoyPgKYssyW5h6ZZaFllCh6ASiwdzTYplaLpbWgftrB0mYoOx+JQ7RJCHvgjsCMPSekqpSZj3b7pDwrquqHXSUS3Cr8z7ZgYDE8wou+iU2oK/QriopZE5fvvtqqEwea1YXlJAAcoESysqCio8Ed0Mwn4p480hd3gyz50gKfRbIQAAIfkECQkAHQAsAAAAAEAAQACEjIqMxMbE5ObkrKqs1NbUnJqc9Pb0vLq8lJKUzM7M7O7stLK03N7cpKKk/P78xMLEjI6MzMrM7OrsrK6s3NrcnJ6c/Pr8vL68lJaU1NLU9PL0tLa05OLk6+vrAAAAAAAABf5gJ45kaZ6dYjiOpaBwLM+oxd4are+6dt8WnlDGiSQEqNWPBZNoNK+h7AKoQhIn5RLlw0lhmaoYwjB1t2bbL/otDcTihkn7O6l/hrapAhdjSXQ3ZkssQXokG31VGBKAhA4lEo8OOYcjDIpVF46EJYE3bJYdiYoQSCJndSOSj5WiIgIQmRMjn5Ajdz+GryMBmQAEIrYjqT+uvCJ8ihXCj7iPu0ICARsHCY0mBL8BHcMdxaAnChoWFnkmAgsDDesLwSZvihjfhIaT5yXF0SIB6wP/6w6UIcFAliIGCgjlSOgsXy4viACyAzjgwSkRVA6mwIOqFQkF5SbtOzDRHzt2E/6uwcLQZ96IcaHqcZrUokQGkxMa5Mz5z50IbXDewSgWBZxHEtPW7dT5b2KDC40YbJiw4WIMFRY0NAJJk+MJAhOUNhjLE+AmSw8nHUOXIKzOpSWtSmHYdS0MAReWLl03sI1RINh2SBW7c4LcIXSXuGgDljA3S5/sDhHQdkDKw1/uSNaD2VKoGRIIZEhAurTpBBk661FhoLXr160rCXhwoNqB27hz36aA7C+0DhFsV9swvHjtDRdUC0nc9YaB28NxC4eOW+ghW81rU5+uXfsG63rSNncQoDty7sIvcHjFfLwFDtAveKdeW/6fV+JpNqL84EEA//8FEKCAffFCTjkIJv6IoAGfIeOgEBIwkAEBFAS2mgHlbDZEhKOVRoCFUkjwkIY6CNAhahFkEEGBUtiy2GQUkHZiabyFRxODO0QooxEq9hhBjW1gBxERqJ1mhGnr6eEbEBqGVpqPo/k4kAQCgHgVFCLkpxgKBKB4WgJHZrCeBByUyUGVMnBVSEfusfVkinBmkAED2Ahw5p1WaWAAllkugY+Q4ZDAgZdfVjiCnWaauRWGCL7QngNsqDnJZybyGGcGFgpg56YM2NnIgS2UM85vJJAzyVcqPpkkUmZ2umkjK4S0ggKsKDSInydIEKOcdJpA5qaInilCqLFm1c2pWTgng2rBlilAp9iEFColHZfUiisKVvLw652uXhTqgpVg16AowboqLC7mtMCCK+LtIwqZeDproRrlrODKo9TyQmanHPB7Li6xFnJMu8hoCqy8JRQC7kdq8dJsv5qaUG8h+dZCKrncasqBlfSmu5a1yr6CqMb/kkCswLcao2+wEdvR8Ysl5OLuIVRqmm0zCLYw7jcY7vzgHLLq/LMoINkg6tDsuUaiFCEAACH5BAkJABwALAAAAABAAEAAhIyKjMTGxOTm5KyqrNTW1PT29Ly6vJyanMzOzOzu7LSytNze3JSSlPz+/MTCxKSipMzKzOzq7KyurNza3Pz6/Ly+vNTS1PTy9LS2tOTi5JSWlKSmpOvr6wAAAAAAAAAAAAX+ICeOZGmeXDYAgEagcCzPZ3Sw+EvvPA3huE1vKBMQCBGUAcjSwBKXRII4Qww2g8HkhGECGKhEY9y4UGETrHqQMXWZYJOYPJ6eTZWrflMxLeEndGQFd257WRtbJG9AcSRzghSFJQGHWApJI3+NJQKCZGaTIyprG6YWi16OIgWfdaIkEGuIEgKaqo+uZbAkERJXpnoOI4w4q62fkrwkFliHAwsim8YjkIKhy8SWAxjSuKyuykQCFg4BSCcLpXovxSxx1nR2JVAUFIQmERUGGAYGFYpKOFi3QQGHAF4OiNCFr8SFSCYQ8JvIL0AbEgIQHcogwEufeGRMXKDgCpsIB/7++vXzZwCBrRGyLNkiwACHBBEgd1Wzp0uciAArU07EUAEdhwgKSnUTIQBBgGgjkpFApquBTw4ThvKrEPQf1AW/sEiACuOhPBFmq44xeRSCyn0rVfqDkCQDBAcQXspIUIDChSQJSKod07DEApRxtw5FAEvwYLadCHBNOZmi3jM5r+1oqphiv4t30obLxGNBAK1EDVymkpnCPCIT4MLVMckxKFERLOyrYIH0JKqQJ63m9XpGhAULJkwgoJz5cuULhou6cKGA9evYrYfKjaC79+/gQcMSPVgSAQQW0ENIzx69+/S+C2WuWgB8dwgI8OPP7118IfKDjcHeeuu9p96AZP3+FuAn6e13H38O7icdFQCWR86BBVqQYYEBNbYgGUkIMIEFJJZoIokE+DeePSy22GIBxWUj4xARCCAAR/Fh1pdfvNR4I0c4ThKBbTrdUWMGSCbJkYLJxEjDkUjeKOWShRBJB4w8QAmkklHW9tiTQN4YHUfRSTlJhZEEJ4KWGZTZpo1dcgCFk2FEIYKV4aDwowBucrSnLYGxiGUMgZGhDJoQlRABkn3+GGUmO1p1DwnVDcoBkQ1RVVVxcO45ZnSkiWFPK/ZMMSQdZuQ0T6GbKpokn3vGR+oYLE6h6RgRVHjVSLqcIGanw+3YYgP4lBSBLpABWNgIPj4qB0+kthJKSRyI3BrSCVQtm09ZPJFEUkPUZqYts/J9KylJ81DLAZp0/uatuYWpy0FPM44ELa2vyYummnfcKylb8l6a5zIjISNocQFnxi8RBncLWcDVDgyLsMQSG8gnbOU07hm8kuraxZo5hHE2fUm6McR30nEVLHzZiQLKaPXV7owlWDkzzTzEszLOHLO4MBUhAAA7) center center no-repeat;
}
.dx-theme-desktop .dx-gallery .dx-gallery-nav-button-prev:hover:before
{
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAfCAYAAAGdV60fAAAA3klEQVRIx62VURLCMAhEuf8F/XA8S7SdJFJgF6h+ZGyT10e6JaOMMWSOIc/X47w4fs+bOSGiVmXxX4RcOOW62eRSh/UcqYcn8glX3u4p3rWe3PWtHD5lF2lK4TugRZciAsNULQyj1/ClBcjgwMd02GiYYw5Br72BsBs0gKALEEEOsFAIaAgCbSgvp4LEGzdpxxEEn8SHmX032k8LTPvJtQo7f6jS7F7aTmUBa7myoCuCgqooFWSisgAepq7AHZO7gr/uaP//BI3YEjJRS1gRlYQdERXeEYXCX0ROeDz/BqMcKPolWS+EAAAAAElFTkSuQmCC);
}
.dx-theme-desktop .dx-gallery .dx-gallery-nav-button-next:hover:before
{
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAfCAYAAAGdV60fAAAA6klEQVRIS52SWw7DMAgEc/8L9qPKWdqAAuKxYOxImyYwHmOl1/f+/J7rovCNCk/0hQvaUYwf3jZ6sKpYVC0spkkosh134/5KZbkpcLEtuCVO6o9hCNeg6GzxWAiOEIQryMEdpDYEua3i4HBo/RQU+zli6NYCDL3KtI1spVAHUuJKCKYCAhOEwAQgMDURyEeMzTEkAPUhZOeBkAUgFIEEIUChDrAmuviliqxgkn6jqUoS0c0A20JJFB0LK9G2cCUaC6eipXBXVApPRUmo/wMAdcETbYiSQNZPRUmwKyoFU9FSsBKNBVB0IoiiP1LjKPpbYIkCAAAAAElFTkSuQmCC);
}
.dx-clearfix:before, .dx-clearfix:after
{
  display: table;
  line-height: 0;
  content: "";
}
.dx-clearfix:after
{
  clear: both;
}
.dx-translate-disabled
{
  -webkit-transform: none !important;
  -moz-transform: none !important;
  -ms-transform: none !important;
  -o-transform: none !important;
  transform: none !important;
}
.dx-hidden-input
{
  position: fixed;
  left: -10px;
  top: -10px;
  width: 0;
  height: 0;
}
.dx-user-select
{
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  -o-user-select: text;
  user-select: text;
}
.dx-theme-desktop-typography
{
  color: #2b2b2b;
  font-size: 14px;
  font-weight: normal;
  font-family: 'Helvetica Neue','Segoe UI',Helvetica,Verdana,san-serif;
}
.dx-theme-desktop-typography input, .dx-theme-desktop-typography textarea
{
  font-family: 'Helvetica Neue','Segoe UI',Helvetica,Verdana,san-serif;
}
.dx-theme-desktop-typography h1, .dx-theme-desktop-typography .dx-font-xl
{
  font-size: 34px;
  font-weight: normal;
}
.dx-theme-desktop-typography h2, .dx-theme-desktop-typography .dx-font-l
{
  font-size: 28px;
  font-weight: normal;
}
.dx-theme-desktop-typography h3
{
  font-size: 22px;
  font-weight: normal;
}
.dx-theme-desktop-typography .dx-font-m
{
  font-size: 20px;
  font-weight: normal;
}
.dx-theme-desktop-typography h4, .dx-theme-desktop-typography .dx-font-s
{
  font-size: 18px;
  font-weight: normal;
}
.dx-theme-desktop-typography h5
{
  font-size: 16px;
  font-weight: normal;
}
.dx-theme-desktop-typography h6, .dx-theme-desktop-typography small, .dx-theme-desktop-typography .dx-font-xs
{
  font-size: 12px;
  font-weight: normal;
}
.dx-theme-desktop-typography .dx-fieldset .dx-field-label
{
  color: #818181;
}
.dx-theme-desktop .dx-widget
{
  color: #131313;
  font-size: 1em;
  font-weight: normal;
  font-family: 'Helvetica Neue','Segoe UI',Helvetica,Verdana,san-serif;
}
.dx-theme-desktop .dx-field
{
  min-height: 36px;
}
.dx-theme-desktop .dx-field-label
{
  padding-top: 5px;
  padding-bottom: 6px;
}
.dx-theme-desktop .dx-field-value
{
  padding: 5px 9px;
  box-sizing: border-box;
}
.dx-theme-desktop .dx-field-value.dx-widget
{
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0;
}
.dx-theme-desktop .dx-field-value.dx-editbox, .dx-theme-desktop .dx-field-value.dx-switch, .dx-theme-desktop .dx-field-value.dx-checkbox, .dx-theme-desktop .dx-field-value.dx-autocomplete, .dx-theme-desktop .dx-field-value.dx-lookup
{
  padding-top: 0;
  padding-bottom: 0;
}
.dx-theme-desktop .dx-field-value.dx-slider
{
  padding: 0 9px;
  overflow: visible;
}
.dx-theme-desktop .dx-field-value.dx-switch, .dx-theme-desktop .dx-field-value.dx-checkbox
{
  box-sizing: content-box;
  margin-top: 6px;
}
.dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-editbox:not(.dx-textarea), .dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-checkbox, .dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-switch, .dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-lookup, .dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-slider, .dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-autocomplete
{
  right: 5px;
  top: 50%;
  position: absolute;
}
.dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-textarea
{
  margin: -5px -9px;
  position: relative;
}
.dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-checkbox
{
  margin-top: -12px;
}
.dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-switch
{
  margin-top: -12px;
}
.dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-editbox:not(.dx-textarea), .dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-lookup, .dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-slider, .dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-autocomplete
{
  left: 40%;
}
.dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-editbox:not(.dx-textarea), .dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-autocomplete, .dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-lookup
{
  margin-top: -12px;
}
.dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-autocomplete, .dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-lookup
{
  margin-left: 1px;
  margin-right: 1px;
}
.dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-slider
{
  margin-top: -14px;
  box-sizing: border-box;
  padding-left: 9px;
  padding-right: 9px;
}
.dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-button
{
  position: relative;
  margin-top: -4px;
  margin-bottom: -4px;
}
.dx-theme-desktop .dx-button
{
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-shadow: inset 0 2px rgba(255,255,255,.35),0 1px 1px rgba(0,0,0,.1);
  -moz-box-shadow: inset 0 2px rgba(255,255,255,.35),0 1px 1px rgba(0,0,0,.1);
  box-shadow: inset 0 2px rgba(255,255,255,.35),0 1px 1px rgba(0,0,0,.1);
  background-color: #eaeaea;
  background-repeat: no-repeat;
  background-image: -webkit-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: -moz-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: -ms-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: -o-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: linear-gradient(180deg,#eaeaea 0%,#dfdfdf 100%);
  border: 1px solid #4c4c4c;
  padding: 0 5px;
}
.dx-theme-desktop .dx-button .dx-button-text
{
  color: #666565;
  font-size: 14px;
  font-weight: 600;
  line-height: 32px;
}
.dx-theme-desktop .dx-button a
{
  text-decoration: none;
}
.dx-theme-desktop .dx-button .dx-icon
{
  width: 32px;
  height: 32px;
  background-size: 28px 28px;
}
.dx-theme-desktop .dx-button.dx-button-back
{
  width: 20px;
}
.dx-theme-desktop .dx-button.dx-button-back img
{
  width: 20px;
}
.dx-theme-desktop .dx-button.dx-button-back .dx-button-text
{
  display: none;
}
.dx-theme-desktop .dx-button.dx-button-back .dx-button-back-arrow
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAgCAYAAAASYli2AAAA8UlEQVRIx+3WP0oDQRTH8c9qFAIW1ilyAhtBsI2FoEew0SvYpUqOYOMVbHIBC3tBsDCGxT+VRxmbsQjsZjebGRD0wSvny3vzfr83U4QQpIwtieMPAoUQlrJF9HCM3crzHYAX+MQE/U2BI7xggS+cbwI8wGOE/VTYueUB7lHiA7fY6Qrcwx3e8YYZ9muH2gDcxk2sqsQDhitV0gAcx/ta4AmHjbJbAbyKLc7xitNWOq4BnsWq5hF62doYFcAjPMeqSlyv47QqLxcxk3o5actZhpJFNlmEndx6WZZD3fqaptjYJykXbJYnoPGRKv6/Ir8P+A3CxjSpYG5XEQAAAABJRU5ErkJggg==) 0 0 no-repeat;
  width: 30px;
  height: 30px;
  display: block;
}
.dx-theme-desktop .dx-button.dx-button-back .dx-icon
{
  display: none;
}
.dx-theme-desktop .dx-button.dx-state-active
{
  background: #dcdcdc;
  -webkit-box-shadow: inset 0 1px 3px rgba(255,255,255,.1);
  -moz-box-shadow: inset 0 1px 3px rgba(255,255,255,.1);
  box-shadow: inset 0 1px 3px rgba(255,255,255,.1);
  border: 1px solid rgba(0,0,0,.2);
}
.dx-theme-desktop .dx-button.dx-state-disabled .dx-icon, .dx-theme-desktop .dx-button.dx-state-disabled .dx-button-back-arrow
{
  opacity: .15;
}
.dx-theme-desktop .dx-button.dx-state-disabled .dx-button-text
{
  color: #c1c1c1;
}
.dx-theme-desktop .dx-button.dx-button-danger
{
  background-color: #ffdddf;
  background-repeat: no-repeat;
  background-image: -webkit-linear-gradient(-90deg,#ffdddf 0%,#ffaaaf 100%);
  background-image: -moz-linear-gradient(-90deg,#ffdddf 0%,#ffaaaf 100%);
  background-image: -ms-linear-gradient(-90deg,#ffdddf 0%,#ffaaaf 100%);
  background-image: -o-linear-gradient(-90deg,#ffdddf 0%,#ffaaaf 100%);
  background-image: linear-gradient(180deg,#ffdddf 0%,#ffaaaf 100%);
}
.dx-theme-desktop .dx-button.dx-button-success
{
  background-color: #ddffdf;
  background-repeat: no-repeat;
  background-image: -webkit-linear-gradient(-90deg,#ddffdf 0%,#aaffaf 100%);
  background-image: -moz-linear-gradient(-90deg,#ddffdf 0%,#aaffaf 100%);
  background-image: -ms-linear-gradient(-90deg,#ddffdf 0%,#aaffaf 100%);
  background-image: -o-linear-gradient(-90deg,#ddffdf 0%,#aaffaf 100%);
  background-image: linear-gradient(180deg,#ddffdf 0%,#aaffaf 100%);
}
.dx-theme-desktop .dx-button.dx-button-danger.dx-state-active
{
  background: #ffaaaf;
}
.dx-theme-desktop .dx-button.dx-button-success.dx-state-active
{
  background: #aaffaf;
}
.dx-theme-desktop .dx-datagrid
{
  color: #b5b5b5;
  background-color: #303030;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.dx-theme-desktop .dx-datagrid td
{
  padding: 7px;
  border-left: 1px solid #4c4c4c;
  vertical-align: middle;
}
.dx-theme-desktop .dx-datagrid td:first-child
{
  border-left: 0;
}
.dx-theme-desktop .dx-datagrid .dx-columns-separator
{
  position: absolute;
  background-color: #303030;
  border-left: 1px solid #4c4c4c;
  border-right: 1px solid #4c4c4c;
  z-index: 1;
  width: 3px;
}
.dx-theme-desktop .dx-datagrid .dx-columns-separator-transparent
{
  background-color: transparent;
  border-left: 0;
  border-right: 0;
}
.dx-theme-desktop .dx-datagrid .dx-text-content
{
  overflow: hidden;
  -o-text-overflow: ellipsis;
  -ms-text-overflow: ellipsis;
  text-overflow: ellipsis;
}
.dx-theme-desktop .dx-datagrid .dx-editbox .dx-editbox-input
{
  margin-top: 2px;
  margin-bottom: 2px;
  padding: 3px;
}
.dx-theme-desktop .dx-datagrid .dx-drag-header
{
  position: absolute;
  vertical-align: middle;
  -webkit-box-shadow: 0 1px 3px rgba(255,255,255,.25);
  box-shadow: 0 1px 3px rgba(255,255,255,.25);
  padding: 7px;
  border: 1px solid rgba(255,255,255,.15);
  background-color: #303030;
  cursor: pointer;
  z-index: 1;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers
{
  color: gray;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers tr
{
  border-bottom: 1px solid #4c4c4c;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .dx-action td
{
  cursor: pointer;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .filter-row td
{
  padding-top: 0;
  padding-bottom: 0;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .dx-sort
{
  display: inline-block;
  width: 13px;
  height: 13px;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .dx-sort-up
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAAPElEQVQoz2P4//8/A6kYhdPQ0ICM25H5xGgCafiPrJGQJpiG/8ga8WlC1wDXSKyf/pPqp5GtiaxkRCwGAOlro4kAxhD6AAAAAElFTkSuQmCC) no-repeat;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .dx-sort-down
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAAOUlEQVQoz2P4//8/A6kYhdPQ0ICM/yPzRzURoakdqhgdtxOyCV1jO7HOa0fWQIqf2onyE1nJiFgMAPiuo4nWypKjAAAAAElFTkSuQmCC) no-repeat;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .find-button
{
  cursor: pointer;
  float: right;
  width: 24px;
  height: 24px;
  margin-top: -4px;
  margin-bottom: -4px;
  margin-left: 7px;
  margin-right: -7px;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAA6klEQVRIx8WVYQ3EIAyFnwEMIAADGJgBbNTAGcAABiYAAzMwARO1PyVpmrul3ViuybI/pV8f0Afwp4gAPgA2AIf4NgAEIDwpXgDsomgHsCrYDmC5W3wUqaxEK2sip3i3xbqwCCXRChidkTO/WpKD6Cg4Fe+W5MzJzXlmndclK4CcgJXXZSugvgWIYpA8MebFtZ/FOTPNO2SWu51E99kjuQlINljJ5vWloKyg880iNr+uzG/kJK+S8sVJpaMuyreOm7cQiQsR//VA0QzIVdAPldMgUb0dr0DSBSS/DUkzz0NDph62hJD3KX0UJ+tXY/fytmWBAAAAAElFTkSuQmCC) no-repeat;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .find-button-disabled
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAA8klEQVRIx8WVXQ3FIAxGr4EZmAAMYGAGsIGBGZgBDEzADMwA5x1R94UlTbO70f3kkvBCvva0hZbP5x8L6IERWIEi9gpEoLvjPABZOF2AWcEyMFx1vjmZgH4nsyQ0wVqWJkMRSNZBHBltkUWjfmoRdyKizphxbhH7Kk7GO1uqnWsFRCNgrna+FTC9BdjquRoBGSjWegZjzyRrk52+bcCJbveWlJOA+IZRsprmUu2HpOZQrHsUZSxK46yZhJ1JKifqoOZWufIKt1qHmkHQDVXP70FOAog/spyeAvTq73gF4g4g/m2Ie/I+NOS5y1aQaPpK764vNDb0WWO3egAAAAAASUVORK5CYII=) no-repeat;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .dx-filter-operation
{
  float: left;
  cursor: pointer;
  padding: 0 7px 3px 7px;
  margin: 3px 4px 3px 0;
  font-weight: 800;
  font-size: 16px;
  color: #fff;
  background-color: #445e5c;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .dx-filter-operation-long
{
  padding: 0 3px 3px 3px;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .dx-filter-operation-selected
{
  position: relative;
  background-color: #5f9592;
  color: #fff;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .dx-filter-operations
{
  position: absolute;
  display: none;
  z-index: 99999;
  width: 300px;
  top: 28px;
  left: 0;
  overflow: hidden;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .dx-filter-operation-item
{
  clear: both;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .dx-filter-operation-item:hover .dx-filter-operation
{
  position: relative;
  background-color: #5f9592;
  color: #fff;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-rowsview tr
{
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-rowsview .dx-freespace-row
{
  border-top: 0;
  border-bottom: 0;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-rowsview .dx-freespace-row td
{
  padding-top: 0;
  padding-bottom: 0;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-rowsview .dx-selection
{
  border-top-color: #000;
  border-bottom-color: #000;
  background-color: #445e5c;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-rowsview .search-text
{
  color: #fff;
  background-color: #5f9592;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-rowsview-hover tr:hover
{
  border-top-color: #000;
  border-bottom-color: #000;
  background-color: #5f9592;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-rowsview-hover tr:hover td
{
  color: #303030;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-rowsview-hover .dx-freespace-row:hover
{
  background-color: transparent;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-checkbox
{
  padding: 0;
  text-align: center;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-checkbox .dx-checkbox, .dx-theme-desktop .dx-datagrid .dx-datagrid-checkbox .dx-checkbox .dx-checkbox-icon
{
  height: 16px;
  width: 16px;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-pager
{
  border-top: 3px double #4c4c4c;
  padding-top: 13px;
  padding-bottom: 13px;
  display: inline-block;
  width: 100%;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-pager .dx-datagrid-pages
{
  float: right;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-pager .dx-datagrid-pages .dx-page
{
  display: inline;
  padding: 8px 7px;
  margin-left: 1px;
  margin-right: 1px;
  cursor: pointer;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-pager .dx-datagrid-pages .dx-separator
{
  display: inline;
  padding-left: 8px;
  padding-right: 8px;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-pager .dx-datagrid-page-sizes
{
  display: inline-block;
  float: left;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-pager .dx-datagrid-page-sizes .dx-page-size
{
  display: inline;
  background-color: #484848;
  padding: 8px 9px;
  margin-left: 1px;
  margin-right: 1px;
  cursor: pointer;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-pager .dx-datagrid-pages .dx-selection, .dx-theme-desktop .dx-datagrid .dx-datagrid-pager .dx-datagrid-page-sizes .dx-selection
{
  color: #fff;
  background-color: #5f9592;
}
.dx-theme-desktop .dx-checkbox
{
  border: 1px solid #4c4c4c;
  background-color: #484848;
  height: 22px;
  width: 22px;
  box-shadow: 0 1px 4px rgba(0,0,0,.1) inset;
}
.dx-theme-desktop .dx-checkbox .dx-checkbox-icon
{
  width: 22px;
  height: 22px;
}
.dx-theme-desktop .dx-checkbox.dx-checkbox-checked .dx-checkbox-icon
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAl0lEQVQ4y62TwQ2AIAwAHUJdxyXYB/bhzdt51CFqScCgFKSUx30auORCmQBgkuCcU8iObFLRjBwIIFYqs0F0Ias0DwLKz4bkxfmQvG4ZldclK+X1ysg8tqyWx5Lh5aWWl8nwkPb05L1kQRQTNDfvKzPJhUfYmkdlZsIk76zlkQ9ACJvyiq9JCG3r+pRWwXDyfvcsCBXnh9zoASYd6bKUtgAAAABJRU5ErkJggg==) 35% 50% no-repeat;
}
.dx-theme-desktop .dx-checkbox.dx-state-disabled .dx-checkbox-icon
{
  opacity: .2;
}
.dx-theme-desktop .dx-switch
{
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 3px;
  width: 100px;
  height: 22px;
}
.dx-theme-desktop .dx-switch .dx-switch-wrapper
{
  border-radius: inherit;
  overflow: hidden;
}
.dx-theme-desktop .dx-switch .dx-switch-inner
{
  width: 150px;
  height: 100%;
}
.dx-theme-desktop .dx-switch .dx-switch-on, .dx-theme-desktop .dx-switch .dx-switch-off
{
  float: left;
  width: 50px;
  text-align: center;
}
.dx-theme-desktop .dx-switch .dx-switch-on
{
  padding: 1px 0;
}
.dx-theme-desktop .dx-switch .dx-switch-handle
{
  position: relative;
  float: left;
  margin: 1px;
  width: 46px;
  height: 18px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  background-color: #eaeaea;
  background-repeat: no-repeat;
  background-image: -webkit-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: -moz-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: -ms-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: -o-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: linear-gradient(180deg,#eaeaea 0%,#dfdfdf 100%);
  -webkit-box-shadow: inset 0 2px rgba(255,255,255,.35),0 1px 1px rgba(0,0,0,.1);
  -moz-box-shadow: inset 0 2px rgba(255,255,255,.35),0 1px 1px rgba(0,0,0,.1);
  box-shadow: inset 0 2px rgba(255,255,255,.35),0 1px 1px rgba(0,0,0,.1);
  border: 1px solid rgba(0,0,0,.15);
  z-index: 1;
}
.dx-theme-desktop .dx-switch .dx-switch-off
{
  padding: 1px 0;
  color: #c1c1c1;
}
.dx-theme-desktop .dx-switch.dx-state-disabled
{
  border-color: rgba(76,76,76,.15);
}
.dx-theme-desktop .dx-switch.dx-state-disabled .dx-switch-on
{
  color: #929292;
}
.dx-theme-desktop .dx-switch.dx-state-disabled .dx-switch-off
{
  color: #e7e7e7;
}
.dx-theme-desktop .dx-switch.dx-state-disabled .dx-switch-handle
{
  background-color: #f7f7f7;
  background-repeat: no-repeat;
  background-image: -webkit-linear-gradient(-90deg,#f7f7f7 0%,#ececec 100%);
  background-image: -moz-linear-gradient(-90deg,#f7f7f7 0%,#ececec 100%);
  background-image: -ms-linear-gradient(-90deg,#f7f7f7 0%,#ececec 100%);
  background-image: -o-linear-gradient(-90deg,#f7f7f7 0%,#ececec 100%);
  background-image: linear-gradient(180deg,#f7f7f7 0%,#ececec 100%);
}
.dx-theme-desktop .dx-tabs
{
  background: #2b2b2b;
  text-align: left;
}
.dx-theme-desktop .dx-tabs .dx-tab
{
  padding: 10px;
}
.dx-theme-desktop .dx-tabs .dx-tab .dx-icon
{
  width: 32px;
  height: 32px;
  display: inline-block;
}
.dx-theme-desktop .dx-tabs .dx-tab-text
{
  display: inline-block;
  padding: 0 5px;
  color: #2b2b2b;
  font-size: 14px;
  font-weight: normal;
  font-family: 'Helvetica Neue','Segoe UI',Helvetica,Verdana,san-serif;
  color: #dfdfdf;
  vertical-align: 50%;
}
.dx-theme-desktop .dx-tabs .dx-tab-text input, .dx-theme-desktop .dx-tabs .dx-tab-text textarea
{
  font-family: 'Helvetica Neue','Segoe UI',Helvetica,Verdana,san-serif;
}
.dx-theme-desktop .dx-tabs .dx-tab-text h1, .dx-theme-desktop .dx-tabs .dx-tab-text .dx-font-xl
{
  font-size: 34px;
  font-weight: normal;
}
.dx-theme-desktop .dx-tabs .dx-tab-text h2, .dx-theme-desktop .dx-tabs .dx-tab-text .dx-font-l
{
  font-size: 28px;
  font-weight: normal;
}
.dx-theme-desktop .dx-tabs .dx-tab-text h3
{
  font-size: 22px;
  font-weight: normal;
}
.dx-theme-desktop .dx-tabs .dx-tab-text .dx-font-m
{
  font-size: 20px;
  font-weight: normal;
}
.dx-theme-desktop .dx-tabs .dx-tab-text h4, .dx-theme-desktop .dx-tabs .dx-tab-text .dx-font-s
{
  font-size: 18px;
  font-weight: normal;
}
.dx-theme-desktop .dx-tabs .dx-tab-text h5
{
  font-size: 16px;
  font-weight: normal;
}
.dx-theme-desktop .dx-tabs .dx-tab-text h6, .dx-theme-desktop .dx-tabs .dx-tab-text small, .dx-theme-desktop .dx-tabs .dx-tab-text .dx-font-xs
{
  font-size: 12px;
  font-weight: normal;
}
.dx-theme-desktop .dx-tabs .dx-tab-text .dx-fieldset .dx-field-label
{
  color: #818181;
}
.dx-theme-desktop .dx-tabs .dx-tab:first-child
{
  border-left: none;
}
.dx-theme-desktop .dx-tabs .dx-tab.dx-state-active
{
  background: #aaa;
}
.dx-theme-desktop .dx-tabs .dx-tab.dx-state-active .dx-tab-text
{
  color: #2b2b2b;
}
.dx-theme-desktop .dx-tabs .dx-tab.dx-tab-selected
{
  background: #989898;
}
.dx-theme-desktop .dx-tabs .dx-tab.dx-tab-selected .dx-tab-text
{
  color: #2b2b2b;
}
.dx-theme-desktop .dx-editbox .dx-editbox-input
{
  padding: 4px 8px 5px;
  margin: 0;
  font-size: 1em;
  background: #fafafa;
  border: 1px solid #d1d1d1;
}
.dx-theme-desktop .dx-editbox .dx-editbox-input:-moz-placeholder
{
  color: #c1c1c1;
}
.dx-theme-desktop .dx-editbox .dx-editbox-input::-webkit-input-placeholder
{
  color: #c1c1c1;
}
.dx-theme-desktop .dx-editbox.dx-state-disabled .dx-editbox-input
{
  color: #c1c1c1;
  background: #e0e0e0;
}
.dx-theme-desktop .dx-editbox.dx-numberbox .dx-editbox-input
{
  text-align: right;
}
.dx-theme-desktop .dx-placeholder:before
{
  margin: .2em .3em;
}
.dx-theme-desktop .dx-toolbar
{
  height: 80px;
  background-color: #efefef;
  border-bottom: 1px solid #dadada;
}
.dx-theme-desktop .dx-toolbar .dx-toolbar-item
{
  padding: 0 4px;
}
.dx-theme-desktop .dx-toolbar .dx-toolbar-label
{
  font-size: 34px;
  font-weight: normal;
  padding: 15px 5px;
}
.dx-theme-desktop .dx-slider.dx-state-disabled .dx-slider-wrapper .dx-slider-bar
{
  background: #fff;
}
.dx-theme-desktop .dx-slider.dx-state-disabled .dx-slider-wrapper .dx-slider-bar .dx-slider-range
{
  background: #919191;
}
.dx-theme-desktop .dx-slider.dx-state-disabled .dx-slider-wrapper .dx-slider-bar .dx-slider-handle
{
  background-color: #f7f7f7;
  background-repeat: no-repeat;
  background-image: -webkit-linear-gradient(-90deg,#f7f7f7 0%,#ececec 100%);
  background-image: -moz-linear-gradient(-90deg,#f7f7f7 0%,#ececec 100%);
  background-image: -ms-linear-gradient(-90deg,#f7f7f7 0%,#ececec 100%);
  background-image: -o-linear-gradient(-90deg,#f7f7f7 0%,#ececec 100%);
  background-image: linear-gradient(180deg,#f7f7f7 0%,#ececec 100%);
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  border: 1px solid rgba(0,0,0,.07);
}
.dx-theme-desktop .dx-slider .dx-slider-wrapper
{
  height: 28px;
}
.dx-theme-desktop .dx-slider .dx-slider-wrapper .dx-slider-bar
{
  height: 2px;
  margin: 13px 0;
  border: 1px solid #d1d1d1;
  background: #f1f1f1;
}
.dx-theme-desktop .dx-slider .dx-slider-wrapper .dx-slider-bar .dx-slider-range
{
  height: 4px;
  margin: 13px 0;
  background: #2b2b2b;
}
.dx-theme-desktop .dx-slider .dx-slider-wrapper .dx-slider-bar .dx-slider-handle
{
  width: 18px;
  height: 28px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  background-color: #eaeaea;
  background-repeat: no-repeat;
  background-image: -webkit-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: -moz-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: -ms-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: -o-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: linear-gradient(180deg,#eaeaea 0%,#dfdfdf 100%);
  -webkit-box-shadow: inset 0 2px rgba(255,255,255,.35),0 1px 1px rgba(0,0,0,.1);
  -moz-box-shadow: inset 0 2px rgba(255,255,255,.35),0 1px 1px rgba(0,0,0,.1);
  box-shadow: inset 0 2px rgba(255,255,255,.35),0 1px 1px rgba(0,0,0,.1);
  border: 1px solid rgba(0,0,0,.15);
}
.dx-theme-desktop .dx-slider .dx-slider-wrapper .dx-slider-bar .dx-slider-handle.dx-state-active
{
  background-color: #cecece;
  background-repeat: no-repeat;
  background-image: -webkit-linear-gradient(-90deg,#cecece 0%,#cfcfcf 100%);
  background-image: -moz-linear-gradient(-90deg,#cecece 0%,#cfcfcf 100%);
  background-image: -ms-linear-gradient(-90deg,#cecece 0%,#cfcfcf 100%);
  background-image: -o-linear-gradient(-90deg,#cecece 0%,#cfcfcf 100%);
  background-image: linear-gradient(180deg,#cecece 0%,#cfcfcf 100%);
}
.dx-theme-desktop .dx-scrollable-container
{
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  -ms-touch-action: pan-x pan-y;
}
.dx-theme-desktop .dx-scrollable-content
{
  -webkit-backface-visibility: visible;
  -webkit-transform: none;
}
.dx-theme-desktop .dx-scrollable-scroll
{
  margin: 2px 3px;
  background: #474a4f;
}
.dx-theme-desktop .dx-scrollable-scrollbar-vertical .dx-scrollable-scroll
{
  width: 3px;
}
.dx-theme-desktop .dx-scrollable-scrollbar-horizontal .dx-scrollable-scroll
{
  height: 3px;
}
.dx-theme-desktop .dx-scrollview-pull-down-image
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAyCAYAAABcfPsmAAAAyklEQVRIx2P4//8/Azqu6JjvSwzGppdh1ECKMX0MBHqngRg8aiAdDRwSyeYMMXjUQDoaOCSSzX9i8KiBdDRw8CcbigwEhgU2XAfEl4jAGHpxGTiTyIgZNXDUwJFjoBYQHwDiw0j4OZEGHkbDpTCTo4D4D7HlIA68BYjZkJ0bS4Gh20GGYQvDBDIM2wvEnPgiJY1cw/DFciaREcJJbLIB4RwChvGQkg5huBSLYcdwGUaMgSBcjWTYSSDmx6eeGANhhp4hZBjYQGrXegAin7Qm0uANIwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-scrollview-pull-down-text
{
  font-size: 20px;
  font-weight: normal;
}
.dx-theme-desktop .dx-scrollview-pull-down-loading .dx-scrollview-pull-down-image
{
  width: 24px;
  height: 24px;
}
.dx-theme-desktop .dx-scrollview-scrollbottom-loading .dx-scrollview-scrollbottom-image
{
  width: 24px;
  height: 24px;
}
.dx-theme-desktop .dx-swipeable
{
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  -o-user-select: text;
  user-select: text;
}
.dx-theme-desktop .dx-list
{
  border: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.dx-theme-desktop .dx-list.dx-has-next
{
  padding-bottom: 44px;
}
.dx-theme-desktop .dx-list .dx-list-group-header
{
  padding: 10px;
  background: #efefef;
  color: #989898;
  border-top: 2px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}
.dx-theme-desktop .dx-list .dx-list-item, .dx-theme-desktop .dx-list .dx-empty-message
{
  color: #2b2b2b;
  position: relative;
  padding: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-top: 1px solid #e5e5e5;
}
.dx-theme-desktop .dx-list .dx-list-item.dx-state-active
{
  background-color: #f1f1f1;
}
.dx-theme-desktop .dx-list .dx-empty-message
{
  text-align: left;
}
.dx-theme-desktop .dx-popup
{
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  -o-user-select: text;
  user-select: text;
}
.dx-theme-desktop .dx-popup .dx-overlay-content
{
  border: none;
  background: #fff;
  -webkit-box-shadow: 0 10px 35px rgba(0,0,0,.5);
  -moz-box-shadow: 0 10px 35px rgba(0,0,0,.5);
  box-shadow: 0 10px 35px rgba(0,0,0,.5);
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
.dx-theme-desktop .dx-popup .dx-overlay-content .dx-popup-title
{
  min-height: 28px;
  padding: 10px 20px;
  background: #efefef;
  -webkit-border-radius: 5px 5px 0 0;
  -moz-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
  font-size: 20px;
  font-weight: normal;
}
.dx-theme-desktop .dx-popup .dx-overlay-content .dx-popup-content
{
  padding: 10px;
}
.dx-theme-desktop .dx-popup .dx-overlay-shader
{
  opacity: .75;
  background: #000;
}
.dx-theme-desktop .dx-gallery .dx-gallery-indicator
{
  text-align: center;
}
.dx-theme-desktop .dx-gallery .dx-gallery-indicator .dx-gallery-indicator-item
{
  background: #aaa;
  width: 8px;
  height: 8px;
  margin: 1px 6px;
  border: solid 1px #aaa;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
.dx-theme-desktop .dx-gallery .dx-gallery-indicator .dx-gallery-indicator-item-active, .dx-theme-desktop .dx-gallery .dx-gallery-indicator .dx-gallery-indicator-item-selected
{
  background: #fff;
}
.dx-theme-desktop .dx-gallery .dx-gallery-nav-button-prev, .dx-theme-desktop .dx-gallery .dx-gallery-nav-button-next
{
  position: absolute;
  top: 0;
  width: 34%;
  height: 100%;
  cursor: pointer;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0.1)";
  background: #fff;
  background: rgba(255,255,255,.01);
}
.dx-theme-desktop .dx-gallery .dx-gallery-nav-button-prev
{
  left: 0;
}
.dx-theme-desktop .dx-gallery .dx-gallery-nav-button-prev:hover
{
  height: 100%;
}
.dx-theme-desktop .dx-gallery .dx-gallery-nav-button-next
{
  right: 0;
}
.dx-theme-desktop .dx-gallery .dx-gallery-nav-button-next:hover
{
  height: 100%;
}
.dx-theme-desktop .dx-gallery .dx-gallery-nav-button-prev:hover:before, .dx-theme-desktop .dx-gallery .dx-gallery-nav-button-next:hover:before
{
  position: absolute;
  z-index: 10;
  width: 16%;
  height: 100%;
  content: ' ';
  clear: both;
  background-color: #000;
  background-color: rgba(0,0,0,.5);
  background-repeat: no-repeat;
  background-position: center center;
}
.dx-theme-desktop .dx-gallery .dx-gallery-nav-button-prev:hover:before
{
  left: 0;
}
.dx-theme-desktop .dx-gallery .dx-gallery-nav-button-next:hover:before
{
  right: 0;
}
.dx-theme-desktop .dx-lookup
{
  height: 19px;
}
.dx-theme-desktop .dx-lookup.dx-state-active
{
  background-color: #f1f1f1;
}
.dx-theme-desktop .dx-lookup .dx-lookup-field
{
  padding: 4px 12px 5px 8px;
  margin: 1px;
  font-size: 1em;
}
.dx-theme-desktop .dx-lookup .dx-lookup-field:before
{
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  position: absolute;
  right: 4px;
  top: 50%;
  margin-top: -5px;
}
.dx-theme-desktop .dx-lookup-popup .dx-lookup-search
{
  padding-top: 10px;
}
.dx-theme-desktop .dx-lookup-popup .dx-list-item.dx-lookup-selected
{
  background-color: #fafafa;
}
.dx-theme-desktop .dx-autocomplete
{
  background-color: #fff;
}
.dx-theme-desktop .dx-autocomplete .dx-editbox
{
  margin: 0;
}
.dx-theme-desktop .dx-autocomplete .dx-editbox .dx-textbox .dx-editbox-input
{
  padding: .5em 1em;
  font-size: 1em;
}
.dx-theme-desktop .dx-popup.dx-autocomplete-popup .dx-overlay-content
{
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: 0 1px 10px rgba(0,0,0,.1);
  -moz-box-shadow: 0 1px 10px rgba(0,0,0,.1);
  box-shadow: 0 1px 10px rgba(0,0,0,.1);
}
.dx-theme-desktop .dx-popup.dx-autocomplete-popup .dx-overlay-content .dx-popup-content
{
  padding: 0;
  border: 1px solid #d1d1d1;
}
.dx-theme-desktop .dx-popup.dx-autocomplete-popup .dx-overlay-content .dx-popup-content .dx-list
{
  background-color: #fff;
}
.dx-theme-desktop .dx-popup.dx-autocomplete-popup .dx-overlay-content .dx-popup-content .dx-list .dx-list-item
{
  font-size: 1.2em;
  border-top: 0;
  padding: .5em 1em;
}
.dx-theme-desktop .dx-popup.dx-autocomplete-popup .dx-overlay-content .dx-popup-content .dx-list .dx-autocomplete-selected
{
  background-color: #efefef;
}
.dx-theme-desktop .dx-popup.dx-autocomplete-popup .dx-overlay-content .dx-popup-content .dx-list .dx-autocomplete-selected.dx-state-active
{
  background-color: #f1f1f1;
}
.dx-theme-desktop .dx-popup.dx-action-sheet-popup .dx-overlay-content
{
  border-radius: 0;
}
.dx-theme-desktop .dx-popup.dx-action-sheet-popup .dx-overlay-content .dx-popup-title
{
  border-radius: 0;
}
.dx-theme-desktop .dx-loadindicator.dx-loadindicator-small .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment
{
  width: 10%;
  height: 34%;
  -webkit-border-radius: 20%;
  -moz-border-radius: 20%;
  border-radius: 20%;
  -webkit-box-shadow: 0 0 2px rgba(0,0,0,.3);
  -moz-box-shadow: 0 0 2px rgba(0,0,0,.3);
  box-shadow: 0 0 2px rgba(0,0,0,.3);
}
.dx-theme-desktop .dx-loadindicator.dx-loadindicator-large .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment
{
  width: 8%;
  height: 34%;
  -webkit-border-radius: 25%;
  -moz-border-radius: 25%;
  border-radius: 25%;
  -webkit-box-shadow: 0 0 6px rgba(0,0,0,.3);
  -moz-box-shadow: 0 0 6px rgba(0,0,0,.3);
  box-shadow: 0 0 6px rgba(0,0,0,.3);
}
.dx-theme-desktop .dx-loadindicator-wrapper
{
  position: absolute;
  top: 15%;
  left: 15%;
  width: 70%;
  height: 70%;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon
{
  position: relative;
  width: 100%;
  height: 100%;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment
{
  position: absolute;
  width: 11%;
  height: 30%;
  left: 44.5%;
  top: 37%;
  opacity: 0;
  background: #898989;
  -webkit-border-radius: 40%;
  -moz-border-radius: 40%;
  border-radius: 40%;
  -webkit-box-shadow: 0 0 3px rgba(0,0,0,.2);
  -moz-box-shadow: 0 0 3px rgba(0,0,0,.2);
  box-shadow: 0 0 3px rgba(0,0,0,.2);
  -webkit-animation: dx-loadindicator-opacity 1s linear infinite;
  -moz-animation: dx-loadindicator-opacity 1s linear infinite;
  -o-animation: dx-loadindicator-opacity 1s linear infinite;
  animation: dx-loadindicator-opacity 1s linear infinite;
}
@-webkit-keyframes dx-loadindicator-opacity
{
  from
  {
    opacity: 1;
  }
  to
  {
    opacity: .25;
  }
}
@-moz-keyframes dx-loadindicator-opacity
{
  from
  {
    opacity: 1;
  }
  to
  {
    opacity: .25;
  }
}
@-ms-keyframes dx-loadindicator-opacity
{
  from
  {
    opacity: 1;
  }
  to
  {
    opacity: .25;
  }
}
@-o-keyframes dx-loadindicator-opacity{from{opacity:1;}to{opacity:.25;}}
@keyframes dx-loadindicator-opacity
{
  from
  {
    opacity: 1;
  }
  to
  {
    opacity: .25;
  }
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment1
{
  -webkit-transform: rotate(0) translate(0,-142%);
  -moz-transform: rotate(0) translate(0,-142%);
  -ms-transform: rotate(0) translate(0,-142%);
  -o-transform: rotate(0) translate(0,-142%);
  transform: rotate(0) translate(0,-142%);
  -webkit-animation-delay: 0;
  -moz-animation-delay: 0;
  -o-animation-delay: 0;
  animation-delay: 0;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment2
{
  -webkit-transform: rotate(30deg) translate(0,-142%);
  -moz-transform: rotate(30deg) translate(0,-142%);
  -ms-transform: rotate(30deg) translate(0,-142%);
  -o-transform: rotate(30deg) translate(0,-142%);
  transform: rotate(30deg) translate(0,-142%);
  -webkit-animation-delay: -.9167s;
  -moz-animation-delay: -.9167s;
  -o-animation-delay: -.9167s;
  animation-delay: -.9167s;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment3
{
  -webkit-transform: rotate(60deg) translate(0,-142%);
  -moz-transform: rotate(60deg) translate(0,-142%);
  -ms-transform: rotate(60deg) translate(0,-142%);
  -o-transform: rotate(60deg) translate(0,-142%);
  transform: rotate(60deg) translate(0,-142%);
  -webkit-animation-delay: -.833s;
  -moz-animation-delay: -.833s;
  -o-animation-delay: -.833s;
  animation-delay: -.833s;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment4
{
  -webkit-transform: rotate(90deg) translate(0,-142%);
  -moz-transform: rotate(90deg) translate(0,-142%);
  -ms-transform: rotate(90deg) translate(0,-142%);
  -o-transform: rotate(90deg) translate(0,-142%);
  transform: rotate(90deg) translate(0,-142%);
  -webkit-animation-delay: -.75s;
  -moz-animation-delay: -.75s;
  -o-animation-delay: -.75s;
  animation-delay: -.75s;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment5
{
  -webkit-transform: rotate(120deg) translate(0,-142%);
  -moz-transform: rotate(120deg) translate(0,-142%);
  -ms-transform: rotate(120deg) translate(0,-142%);
  -o-transform: rotate(120deg) translate(0,-142%);
  transform: rotate(120deg) translate(0,-142%);
  -webkit-animation-delay: -.667s;
  -moz-animation-delay: -.667s;
  -o-animation-delay: -.667s;
  animation-delay: -.667s;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment6
{
  -webkit-transform: rotate(150deg) translate(0,-142%);
  -moz-transform: rotate(150deg) translate(0,-142%);
  -ms-transform: rotate(150deg) translate(0,-142%);
  -o-transform: rotate(150deg) translate(0,-142%);
  transform: rotate(150deg) translate(0,-142%);
  -webkit-animation-delay: -.5833s;
  -moz-animation-delay: -.5833s;
  -o-animation-delay: -.5833s;
  animation-delay: -.5833s;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment7
{
  -webkit-transform: rotate(180deg) translate(0,-142%);
  -moz-transform: rotate(180deg) translate(0,-142%);
  -ms-transform: rotate(180deg) translate(0,-142%);
  -o-transform: rotate(180deg) translate(0,-142%);
  transform: rotate(180deg) translate(0,-142%);
  -webkit-animation-delay: -.5s;
  -moz-animation-delay: -.5s;
  -o-animation-delay: -.5s;
  animation-delay: -.5s;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment8
{
  -webkit-transform: rotate(210deg) translate(0,-142%);
  -moz-transform: rotate(210deg) translate(0,-142%);
  -ms-transform: rotate(210deg) translate(0,-142%);
  -o-transform: rotate(210deg) translate(0,-142%);
  transform: rotate(210deg) translate(0,-142%);
  -webkit-animation-delay: -.41667s;
  -moz-animation-delay: -.41667s;
  -o-animation-delay: -.41667s;
  animation-delay: -.41667s;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment9
{
  -webkit-transform: rotate(240deg) translate(0,-142%);
  -moz-transform: rotate(240deg) translate(0,-142%);
  -ms-transform: rotate(240deg) translate(0,-142%);
  -o-transform: rotate(240deg) translate(0,-142%);
  transform: rotate(240deg) translate(0,-142%);
  -webkit-animation-delay: -.333s;
  -moz-animation-delay: -.333s;
  -o-animation-delay: -.333s;
  animation-delay: -.333s;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment10
{
  -webkit-transform: rotate(270deg) translate(0,-142%);
  -moz-transform: rotate(270deg) translate(0,-142%);
  -ms-transform: rotate(270deg) translate(0,-142%);
  -o-transform: rotate(270deg) translate(0,-142%);
  transform: rotate(270deg) translate(0,-142%);
  -webkit-animation-delay: -.25s;
  -moz-animation-delay: -.25s;
  -o-animation-delay: -.25s;
  animation-delay: -.25s;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment11
{
  -webkit-transform: rotate(300deg) translate(0,-142%);
  -moz-transform: rotate(300deg) translate(0,-142%);
  -ms-transform: rotate(300deg) translate(0,-142%);
  -o-transform: rotate(300deg) translate(0,-142%);
  transform: rotate(300deg) translate(0,-142%);
  -webkit-animation-delay: -.1667s;
  -moz-animation-delay: -.1667s;
  -o-animation-delay: -.1667s;
  animation-delay: -.1667s;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment12
{
  -webkit-transform: rotate(330deg) translate(0,-142%);
  -moz-transform: rotate(330deg) translate(0,-142%);
  -ms-transform: rotate(330deg) translate(0,-142%);
  -o-transform: rotate(330deg) translate(0,-142%);
  transform: rotate(330deg) translate(0,-142%);
  -webkit-animation-delay: -.0833s;
  -moz-animation-delay: -.0833s;
  -o-animation-delay: -.0833s;
  animation-delay: -.0833s;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment0, .dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment13, .dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment14, .dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment15, .dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-win8-segment
{
  display: none;
}
.dx-theme-desktop .dx-popup.dx-dropdownmenu-popup .dx-overlay-content
{
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: 0 1px 10px rgba(0,0,0,.1);
  -moz-box-shadow: 0 1px 10px rgba(0,0,0,.1);
  box-shadow: 0 1px 10px rgba(0,0,0,.1);
}
.dx-theme-desktop .dx-popup.dx-dropdownmenu-popup .dx-overlay-content .dx-popup-content
{
  padding: 0;
  border: 1px solid #d1d1d1;
  background-color: #fff;
}
.dx-theme-desktop .dx-popup.dx-dropdownmenu-popup .dx-overlay-content .dx-popup-content .dx-list-item
{
  padding: .5em;
  border-top: 0;
}
.dx-theme-desktop .dx-toast .dx-toast-content
{
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 32px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-box-shadow: 0 2px 3px 0 rgba(0,0,0,.1);
  -moz-box-shadow: 0 2px 3px 0 rgba(0,0,0,.1);
  box-shadow: 0 2px 3px 0 rgba(0,0,0,.1);
}
.dx-theme-desktop .dxdbRootFullScreenMode
{
  background: #2b2b2b;
}
.dx-theme-desktop .dx-dashboard-panel
{
  -webkit-box-shadow: 0 1px 5px rgba(0,0,0,.25);
  -moz-box-shadow: 0 1px 5px rgba(0,0,0,.25);
  box-shadow: 0 1px 5px rgba(0,0,0,.25);
  border: 1px solid #404040;
  border: 1px solid rgba(255,255,255,.1);
  background-color: #303030;
}
.dx-theme-desktop .dx-dashboard-title
{
  color: #c7c7c7;
  font-family: 'Segoe UI Light','Helvetica Neue Light','Segoe UI','Helvetica Neue',Helvetica,'Trebuchet MS',Verdana,sans-serif;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-dashboard-splitter-pane
{
  -webkit-box-shadow: 0 1px 5px rgba(0,0,0,.25);
  -moz-box-shadow: 0 1px 5px rgba(0,0,0,.25);
  box-shadow: 0 1px 5px rgba(0,0,0,.25);
  border: 1px solid #404040;
  border: 1px solid rgba(255,255,255,.1);
  background-color: #303030;
}
.dx-theme-desktop .dx-dashboard-item-header
{
  background: #303030;
  font-family: 'Segoe UI',Helvetica,'Droid Sans',Tahoma,Geneva,sans-serif;
}
.dx-theme-desktop .dx-dashboard-item-header .dx-dashboard-item-header-text
{
  color: #c7c7c7;
}
.dx-theme-desktop .dx-dashboard-item-header .dx-dashboard-item-header-text b
{
  font-weight: normal;
}
.dx-theme-desktop .dx-hover-toolbar-container
{
  -webkit-box-shadow: 0 1px 5px rgba(0,0,0,.25);
  -moz-box-shadow: 0 1px 5px rgba(0,0,0,.25);
  box-shadow: 0 1px 5px rgba(0,0,0,.25);
  border: 1px solid #404040;
  border: 1px solid rgba(255,255,255,.1);
  background-color: #303030;
}
.dx-theme-desktop .dx-dashboard-bar
{
  height: 18px;
  background-color: #955f71;
}
.dx-theme-desktop .dx-dashboard-message
{
  color: #c7c7c7;
  font-family: 'Segoe UI',Helvetica,'Droid Sans',Tahoma,Geneva,sans-serif;
  font-size: 24px;
  display: inline-block;
}
.dx-theme-desktop .dx-dashboard-loading
{
  color: #c7c7c7;
  font-family: 'Segoe UI',Helvetica,'Droid Sans',Tahoma,Geneva,sans-serif;
  font-size: 24px;
  display: inline-block;
}
.dx-theme-desktop .dx-dashboard-item-loading
{
  background-image: url(data:image/gif;base64,R0lGODlhGAAYAOZqAEVFRUJCQjU1NTMzMzExMURERDs7Ozk5OUFBQTQ0ND8/Pzo6Oj4+Pj09PUBAQEpKSsHBwVxcXL6+voCAgEZGRn9/f1NTU1JSUjY2NoyMjLi4uG1tba+vrzc3N7GxsUNDQ0tLS4iIiE9PT2hoaFVVVZSUlHx8fKSkpHNzc15eXjIyMlFRUUlJSWpqamJiYnFxcU5OTmVlZWdnZ1lZWZubm6WlpYqKimRkZDw8PFRUVIuLi3V1dYKCgqampoODg2xsbFtbW46OjsfHx6mpqVhYWJqamre3t11dXbKysrm5uYeHh5iYmK6urkxMTJeXl3BwcHt7e5+fn6Ojo7q6upmZmWBgYG9vb3d3d2NjY4WFhaKiooGBgZGRkVdXV6GhoWZmZqqqqo+Pj0dHR2tra2FhYU1NTVZWVl9fX52dnVBQUDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAABqACwAAAAAGAAYAAAH/4BqgoOEhYaHgx0URD8VNiFQNwCIhAMIJDFPJiElUUMeJzsIlAIfFhEyKBU6S1JMRhIQJReHAg4gFkcjKBMZVCccSRBCEBsChQMKALgRESsFGB1NVjSxPAAKA4QGAAAPFw8HhgATFd0ABoMJAd0sHyqICQ3nAQmCB/THlJbn4moM5xZQGrTgHANB7LrpGyiAnqAC5wgMFETgXIGHESeqqdjtopqEABaScvgvoMaC3Q6qwdcNgbZ9CPoJWneugcRDBOZ1qzeIW82XlXR2Szco2TkACBYIIEBAwIKY57IVsnW0alUHIgcJUGa1qoKslQyArBrAAFBKCQ4wCFCgQAAGBwbsaZxbKBAAIfkEBQAAagAsBQABABIACwAAB32AamoJBwwBBQUBDjgCgo6CBgEAkwAUDzAXKwAYjwqUk5YiOTMpWF0Kjp+TDyIkQC4jGy8xAYKUCAsYKgMGLCkvVyYTLQZqkw0Dj5ARW0oZQVXGDQTKjgJfXE5FGQEIydWODlleNT0u4NUtYBwePujKMEgaU1rvjwcaEhAagQAh+QQFAABqACwKAAEADQATAAAHhYBqgmoMBwmDiGoAiwABBgOJjJIKAoiSkg6VagIEBAILASwPICAfkIkCHxcWrAiJgioPEUcRJB2vagcRIzIxFLhqKygoT0TABRMVJj/AGBk6IRXAHVRLJTbATSdSUSHAVhxMQ1C4ADRJRh43rwkTEhASJwC4FRBCEDvAajwQJa76Gy4ICgQAIfkEBQAAagAsDAAFAAsAEgAAB3+AaoIIAIUACoKJAw2GAAaJggSMhQEJkGoDhIUHl2oLhgydGIYBnSoPFAAFnQMiqKuXBiSupZcsQDkwDrEpLjMXOJACES8jKSsCiQ5fW1cbWABqBzAtWVxKJi9dGGoaSGBeThkTMYhqEhocNUVBLbVqEFMePRlVj4kaWj4u74mBACH5BAUAAGoALAQACgATAA0AAAeFgGqCg4SEAoWIiQQAAImOaouMj4gCjI2ThAuWDJiCAgGWB4MJjiofLIwBpGoVE5eEBw8XD4wGgjwQEjRWTR0YBSsRERYgAAoDahsQQhBJHCdUGRMoI0fEDodqFyW5RkxSSzoVKDLDH9mCCDsnHkNRJSEmTzEkCMiIADdQITYVP0QUOiAKBAAh+QQFAABqACwBAAwAEgALAAAHfYAaEBIaB2qHiImIWlMaSDCKkYc+HhxgLZKRLj01XlkOmYcDCAEZRU5cXwKZBA0AalVBGUpbEQaRA66vBi0TJlcvKSwGAyoYCwgAyocBMS8bIy5AJCIPytevhwpdWCkzOdUU2AAKiRgAKxcwD+LXAbeRAjgOAQUFAQwHCYeBACH5BAUAAGoALAEABAANABMAAAeEgGpqFxuChodqCCUQPIiHOxBCEBWOagAnEhASEwmONx5GSTQAlVBDTBxWlWohUVInTas2JUtUHasVIToZGKs/JhUTBatETygoK6sUMTIjEQeVHSQRRxEPKpUIFtsXHwKOAx8gIA8sAQsCBATfagIOAPDx8IcCCvLxiAMGAfKrCQcMDgUCACH5BAUAAGoALAEAAQALABIAAAd/gGqCgwhkE2hIg2oLZzo1HBoSgwFjYTQ9HlMQggoyPkFFj5FqGDM7ExlONhtpC2piMi8mSi0Bgxg5WBtXVQKKDWYpIzc4imoBFzMuZcZqBTA5QA3NBQ8iJAPUFNbZxgEA2x3NDADlxcYH5QAICcYJ3+UNBMYG6gAN3YMK9giDgQA7);
}
.dx-theme-desktop .dx-dashboard-clear-master-filter
{
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAn0lEQVRIx+3V2wmAMAwF0CyQlQQnM7iFE3WsWiGVEHy08fqlHxekJDm1KlLOmd4M/UAXkFKSkhyMtABRZOuhVqAXkdrXA7QiYnt6gTtEfH0EOEPkqDYKeETO6p4AZAAKA1epgN2M3xgM0IFDCZs7YF2DAGPJUjLpYNbrbW1EAHbgrNlB1BGxGVwhRh0RHnAY/ogcgH/IBx8k9jX97j95Be5ZkH3YBRfSAAAAAElFTkSuQmCC);
}
.dx-theme-desktop .dx-dashboard-content-selection
{
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAg0lEQVRIx+2Vyw2AIBBEKVBqgjasaMpaL5oQw/7VeOAw1/cY2A2FiMqbKUvwHwEALg0AGdO9AhccgKuBG+4RhOBWQQS+AdjPVEmQht9bjIJH4KzgamGdbw6uCiYn01In19slQRo+tpBqh+GsIPAOTduHqSC7bBZBCq4J0nBRsH60zwUHVu2mBjusbAcAAAAASUVORK5CYII=);
}
.dx-theme-desktop .dx-dashboard-item-header-drill-up
{
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAnElEQVRIx2P4//8/Ay0xw6gFZFtw/Pjx/0TiBiCmmQVgw2llAdxwWljwBohTaGkBCL9GtoRWcXATiJ1oaQEIL6KGBY1AHAvEe7FY8BeI3SmxADm1qAHxbCyWtJNrAUpShGIRLJbsJccCbIYj+wQ5uJ6SYwEhHItkwR9aWMAExDto6QMQrqAkDojBTpSkImIwNxDfA2L50Spz8FoAANPSpPsD7K2ZAAAAAElFTkSuQmCC);
}
.dx-theme-desktop .dx-dashboard-export
{
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABBUlEQVRYw+3XTQsBQRzH8VFKUhy4OSohxdHBwcFhj5RsKSfJgVUODkqt1+LN7GvxKsZvNWmWtc87/y17+MSg5mtmH1rGOWeUWGYDLMviCTCBuVEV8DMiTACLyDNCdcBXBEWAI4Iq4B1BGfCKoA7gKgI8w/IAR4DPHrp9N4Gbj1QDgkSkHmBbUQa0YU8V0IIN1Rb0YKviIHzAXRqXYAwnj0mPSQZ0pPdd0H3+8RKa0tkRO6ACA1jA1WPiC0yh9nGKhgqwl7cuDq4RzOAQYJ91sTrRr4QY7AJMJDvDHPpQjH0pxqAMQ9BgDYZYVlO8GuJzTfyuoepmVIBqfjvOQkAqsh/wN0/HTyvKCQCI9L3uAAAAAElFTkSuQmCC);
}
.dx-theme-desktop .dx-dashboard-item-export
{
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAoUlEQVRIx2P4//8/Ay0xw6gFZFlw/Pjx/0TielpbQNASvBbg00isJdSyAKcl1LTgP7UtQMaD3AIg2xeIZyJjYh1ErAWSQNxKbQuuIhmeQm0frAZiVyA2AuICJIMbgDidbAuAijiAWA6InYA4FYgnIxkOMlgTGqm+5FoQDcTVQDwJiquhYiZAzIaccigNIj4QJrbEJDsVkYoHjwWjVSZdLQAARTTH0u5+hkkAAAAASUVORK5CYII=);
}
.dx-theme-desktop .dx-dashboard-clear-master-filter.dxdbEnabled:hover, .dx-theme-desktop .dx-dashboard-content-selection:hover, .dx-theme-desktop .dx-dashboard-item-export:hover, .dx-theme-desktop .dx-dashboard-export:hover, .dx-theme-desktop .dx-dashboard-item-header-drill-up.dxdbEnabled:hover
{
  border: 1px solid #383838;
  background-color: #454545;
}
.dx-theme-desktop .dx-dashboard-menu-background
{
  color: #c7c7c7;
  padding: 0;
  border: 1px solid #404040;
  border: 1px solid rgba(0,0,0,.15);
  box-shadow: 0 4px 8px rgba(0,0,0,.35);
  -moz-box-shadow: 0 4px 8px rgba(0,0,0,.35);
  -webkit-box-shadow: 0 4px 8px rgba(0,0,0,.35);
  background-color: #454545;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}
.dx-theme-desktop .dx-dashboard-menu-item-selected
{
  background-color: #5f5f5f;
}
.dx-theme-desktop .dx-dashboard-menu-background li
{
  font-family: 'Segoe UI',Helvetica,'Droid Sans',Tahoma,Geneva,sans-serif;
}
.dx-theme-desktop .dx-dashboard-splitter-resizing
{
  background: url(data:image/gif;base64,R0lGODlh9AH0AYAAAMzMzP///yH5BAEAAAEALAAAAAD0AfQBAAL/RIynyesNn4x02oqvznz7Dn5iSI5miZ5qyq5uG74yPNf0bef4rvf87wsCYUOhsYg8KpPMpbMJfZqk0Sr1as1it9oud+INf8XksbmMPivV6Tb77Y7D51W5nY6/6/P8e/+/Fwg4KFg4Y4hIqJjIuMjn2BgJOSlZKWSJSamZybkp4dkZCjoqGlhKinqqmnrFuvrqGgtLJFs7a4t725DLq9v7y+krDEw8bFiMbJy8HKbszAz9HBVNLV19TWKtjc293dEN7h3OLF4+bi5+ro6+7sr+3g4PG08vX09on3+v37jvz/9vDMCBAQmmKYjQYEIfChsudJjkoUSIEz9QvFgRY4mM/xw1ZvQIsiNHkSFLPjSJkmRAlSlb1nMJk6U6mTFrdrOJkyY1nTl7JvMJlOcvoUGL2jKKlCgrpUmbgnIKlekkqVGr4qOK1WqirFy1AvIKtqsasWHLcjGLlqwUtWnbHnELl20PuXHrHqKL1y6QvHz12vALuK8GwYELPzCMmHAAxYkLN2YMedfjyWwpWxYbOfPky5yxav6MuLNopaBLAx6NWqfp1XVTu1bJOnbb17RH1r59UrbusLt7a8UNHKHv4VCDG/dHPDnS48zpKX8OtLn0mdOr34SO3Wb27TCte7/GPTzK7+ShiT8Psrx6ZOjbX1wPf2j8+Ufd21d4P/9A+vxj6f//n09/AqICYIHvDIigJwYuWE6CDk71YIRXSUjhIxVeSAeGGr7BYIfabAiiGR6O6EyIJm5BYorCnMjiWi2++JaKMs4DY40MzYjjKTnuGIqNPubAY5CY/EikDEIeGUmRSqqAZJOILAmlCE5OaQqVVspxZZZtRMnlYF1+eZiWYooxZpldgImmAmauWQebbkaUJppxvinlnF/aSWcGee65A55d8gkoLX4GquagUBpKqAGJLgoCoksyCikGjhIaaaUQTFqkpZoigCmgm27a6Y+fyjlqpaXeeSqkqXIZ6p6rMtqqja8eOiulsb55K4y1Kpmrm7sG2muLvxIZ7JrD8lnsicf/+phsmcvm2WyIz9YYrZjT4nqtsNVquG2W2bLZLYbfshiuleOaWW6F55qY7pTrjtmuhO+CGG+T82pZ74P3cruvufkK+W+C/V4YcJADU1nwgAdTmPCOCzvZcH8PRxgxjhMjWTF9FzuYsYwbA/yxwh3DN3KKIfNY8nonC5jyiCvn2HJ5L/MXc4czz1jzdzfPl/OCO6vYs3U/kzy0y0EDePR0RauX9H9Le9h0c0+TF3V+UzNY9XFXe5e1fVsb2HVwX1cXdntjI3221GXftvZ5aevXdm1vMxd3eHPfV/drdxuX93Z7u9d3an8DFzh2g6NX+GiHs7243Ykr93hnjdMWeXKT/3NX+WWXu5b5cJtn1zlln6MWem+jQ1f6Y6eLlrpuq0P+uuathxa757OzdrthtVuW+2q7+9Z7YL9vNrzrwYN2vF/FN5b8Z8vL1rxdz9MePWTT43698NXDtb313c+WfWnhnza+898Tdn5a5euVvmDra9a+We+3Nr/39YMfP173M5Y/b/3T9T+v7A9/A+RLAdESQLkcsC8JtMoCy9JAtTwwLxGMygTBUkHMZLApG+TKBQH4QQd2cDkhlOAIqXJCo5SwKimUygrJ0sKgvLA4M/RgDIlyQ5/UkIM79EwOefLDnPSQhEGUyRBReEQZFrEmSzRiE7uTRNI8kSRTdEkUo3NFof9ksSdVFMkWgfhF7XRxPGF0YhmhOMaKnJElaTTJGtH4RtvEkYxtlMgcO1LHkNyRjnu0Yx5z80eM9LEkgVzIICdSSEEmsiCLpMgh0/NIQzbyH5N0SCQ1UknkZNIgm7zHJRPSSYJ88j2jXEko43FKgJQSIqlsxyop+Ur8tDJAsfTkLM9xS3vUkpO7dE4uw/FLePRyP8N0ZTCvc0xzFJMfyeTGMtfRTGVGsxrTTEc1o3HNbTyTltlcxjZx+U1hdlMa4/RmOUsUTnCk80DrdOY5i/FOZbQTHfEkxjyxUc9h3LNB+9xJPnvxT1/00xsB5cVAsXlQaySUHAt9RkN/8lB5FnRVFhPFRUTheVF9VvQVG61FRoHR0VV8dEUjNWhI3VHSW6Q0FyfVUUtT8VJRrJSiM/VoTElx007UlKM79U9On9JTlwYVpkOV6U+HVFQCHXUTS7VEUkNRAAA7) repeat;
}
.dx-theme-desktop .dx-scrollable-customizable-scrollbars
{
  scrollbar-track-color: #2b2b2b;
  scrollbar-shadow-color: #2b2b2b;
  scrollbar-highlight-color: #2b2b2b;
  scrollbar-3dlight-color: #2b2b2b;
  scrollbar-darkshadow-color: #2b2b2b;
}
.dx-theme-desktop .dx-dashboard-splitter-pane .dx-scrollable-customizable-scrollbars
{
  scrollbar-track-color: #303030;
  scrollbar-shadow-color: #303030;
  scrollbar-highlight-color: #303030;
  scrollbar-3dlight-color: #303030;
  scrollbar-darkshadow-color: #303030;
}
.dx-theme-desktop .dx-pivotgrid
{
  font-family: 'Segoe UI',Helvetica,'Droid Sans',Tahoma,Geneva,sans-serif;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-emptyspace
{
  border-bottom: 1px solid #4c4c4c;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-splitter
{
  position: relative;
  border-left: 1px solid #4c4c4c;
  width: 15px;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-splitter .button
{
  padding-top: 10px;
  padding-bottom: 10px;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-splitter .button .collapse
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAATUlEQVQoz2NgGBTg////0qRqkGpo7gdS/wWI1SAP0kC0JqAiMZgGqCZ+Qhq4kTVANXGS5DSoJnZi/cSFpImFlNATh2piJjXYeQc2pQAAy0pZ6fOGjg4AAAAASUVORK5CYII=) no-repeat;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-splitter .button .expand
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAALklEQVQY02PIyck5DMT/8eDDDCCGgYEBTgySx1CEjU+aImzuoaF1hHxHKJyOAAD0cpolJA/c4wAAAABJRU5ErkJggg==) no-repeat;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-splitter .button .collapse, .dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-splitter .button .expand
{
  cursor: pointer;
  display: inline-block;
  height: 13px;
  width: 13px;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-splitter .buttonDisable
{
  opacity: .4;
  filter: alpha(opacity=40);
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-area td
{
  color: gray;
  padding: 7px 5px;
  overflow: hidden;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-area-data
{
  border-left: 1px solid #4c4c4c;
  border-bottom: 1px solid #4c4c4c;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-area-data td
{
  text-align: right;
  color: #b5b5b5;
  white-space: nowrap;
  border-left: 1px solid #4c4c4c;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-area-data tr:first-child td
{
  border-top: 0;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-area-data td:first-child
{
  border-left: 0;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-vertical-headers
{
  border-bottom: 1px solid #4c4c4c;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-vertical-headers .expandBorder
{
  border-top: 1px solid #4c4c4c;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-vertical-headers .lastCell
{
  border-right: 0;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-vertical-headers td
{
  max-width: 150px;
  min-width: 50px;
  border-right: 1px solid #4c4c4c;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-vertical-headers tr:first-child td
{
  border-top: 0;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-vertical-headers .total, .dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-area-data .total, .dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-vertical-headers .grandtotal, .dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-area-data .grandtotal
{
  border-top: 1px solid #4c4c4c;
  border-bottom: 1px solid #4c4c4c;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-horizontal-headers
{
  border-left: 1px solid #4c4c4c;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-horizontal-headers table
{
  width: 100%;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-horizontal-headers td
{
  text-align: center;
  border: 1px solid #4c4c4c;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-horizontal-headers td:first-child
{
  border-left: 0;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-horizontal-headers tr:first-child td
{
  border-top: 0;
}
.dx-theme-desktop .dx-pivotgrid .total
{
  background-color: #383838;
}
.dx-theme-desktop .dx-pivotgrid .grandtotal
{
  background-color: #404040;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-collapsed, .dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-expanded
{
  cursor: pointer;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-collapsed .image, .dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-expanded .image
{
  float: left;
  height: 9px;
  width: 9px;
  margin-right: 5px;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAALklEQVQY02PIyck5DMT/8eDDDCCGgYEBTgySx1CEjU+aImzuoaF1hHxHKJyOAAD0cpolJA/c4wAAAABJRU5ErkJggg==) no-repeat;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-expanded .image
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAKUlEQVQY02PIyck5DMT/8eDDDCCGgYEBTgySp4EibO6hoXWEFBEKpyMAHrOXVZYIDsgAAAAASUVORK5CYII=) no-repeat;
}
.dx-theme-desktop .dx-pivotgrid .vertical-scrollbar-spacing
{
  float: left;
  border-left: 1px solid #4c4c4c;
  border-bottom: 1px solid #4c4c4c;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-datagrid td
{
  padding: 7px;
  border-left: 1px solid #4c4c4c;
  vertical-align: middle;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-datagrid td:first-child
{
  border-left: 0;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-datagrid .dx-datagrid-headers div.dx-text-content
{
  color: #b5b5b5 !important;
  fill-opacity: 1 !important;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-datagrid .dx-datagrid-rowsview div.dx-text-content
{
  color: #b5b5b5 !important;
  fill-opacity: 1 !important;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-datagrid .dx-datagrid-rowsview .dx-selection
{
  background-color: #5f8b95 !important;
  color: #fff !important;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-dashboard-item.dx-banded-rows .dx-datagrid-rowsview tr:nth-child(even)
{
  background-color: #f5f5f5;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-dashboard-item.dx-banded-rows .dx-datagrid-rowsview tr.dx-selection
{
  background-color: #445e5c;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-dashboard-item.dx-banded-rows .dx-datagrid-rowsview tr.dx-freespace-row
{
  background-color: transparent;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-dashboard-item.dx-horizontal-border .dx-datagrid-rowsview tr
{
  border-bottom: 1px solid #4c4c4c;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-dashboard-item.dx-horizontal-border .dx-datagrid-rowsview .dx-freespace-row
{
  border-bottom-width: 0;
}
.dx-theme-desktop circle.warningColor
{
  fill: #af8a53;
}
.dx-theme-desktop path.positiveColor
{
  fill: #859666;
}
.dx-theme-desktop path.negativeColor
{
  fill: #ba4d51;
}
.dx-theme-desktop text.positiveColor tspan
{
  fill: #859666;
}
.dx-theme-desktop text.warningColor tspan
{
  fill: #af8a53;
}
.dx-theme-desktop text.negativeColor tspan
{
  fill: #ba4d51;
}
.dx-theme-desktop text.noneColor tspan
{
  fill: #9f9f9f;
}
.dx-theme-desktop text.defaultColor tspan
{
  fill: #c7c7c7;
}
.dx-theme-desktop span.positiveColor
{
  color: #859666;
}
.dx-theme-desktop span.negativeColor
{
  color: #ba4d51;
}
.dx-theme-desktop span.warningColor
{
  color: #af8a53;
}
.dx-theme-desktop span.noneColor
{
  color: #9f9f9f;
}
.dx-theme-desktop span.defaultColor
{
  color: #c7c7c7;
}
.dx-theme-desktop .widget-viewer-container .viewerItem
{
  background-color: rgba(102,153,136,.53);
  border: solid 1px;
  overflow: hidden;
  position: relative;
  -webkit-tap-highlight-color: transparent;
}
.dx-theme-desktop .widget-viewer-container .widgetItem
{
  background-color: rgba(102,153,136,.53);
  border: solid 1px;
  overflow: hidden;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  background-color: transparent;
  border-color: transparent;
}
.dx-theme-desktop .widget-viewer-container .fontProperties
{
  font-family: Segoe UI,HelveticaNeue,Trebuchet MS,Verdana;
  font-weight: normal;
}
.dx-theme-desktop .widget-viewer-container .ellipsisProperties
{
  text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
  -moz-binding: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.dx-theme-desktop .widget-viewer-container .cardItem
{
  background-color: rgba(102,153,136,.53);
  border: solid 1px;
  overflow: hidden;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  -webkit-box-shadow: 0 1px 5px rgba(0,0,0,.25);
  -moz-box-shadow: 0 1px 5px rgba(0,0,0,.25);
  box-shadow: 0 1px 5px rgba(0,0,0,.25);
  border: 1px solid #404040;
  border: 1px solid rgba(255,255,255,.1);
  background-color: #303030;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}
.dx-theme-desktop .widget-viewer-container .cardItem .title
{
  color: #c7c7c7;
  line-height: 100%;
  font-family: Segoe UI,HelveticaNeue,Trebuchet MS,Verdana;
  font-weight: normal;
  text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
  -moz-binding: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.dx-theme-desktop .widget-viewer-container .cardItem .subTitle
{
  color: #b6b6b6;
  font-family: Segoe UI,HelveticaNeue,Trebuchet MS,Verdana;
  font-weight: normal;
  width: 50%;
  line-height: 100%;
  text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
  -moz-binding: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.dx-theme-desktop .widget-viewer-container .cardItem .variableValue1
{
  position: absolute;
  right: 0;
}
.dx-theme-desktop .widget-viewer-container .cardItem .variableValue2
{
  right: 0;
  position: absolute;
}
.dx-theme-desktop .widget-viewer-container .cardItem .mainValue
{
  right: 0;
  bottom: 0;
  position: absolute;
}
.dx-theme-desktop .widget-viewer-container .cardItem span
{
  font-family: Segoe UI,HelveticaNeue,Trebuchet MS,Verdana;
  font-weight: normal;
}
.dx-theme-desktop .widget-viewer-container .selectedItem
{
  background-color: rgba(84,120,120,.25) !important;
  border: #a6a6aa solid 1px !important;
}
.dx-theme-desktop .widget-viewer-container .widgetItem.selected
{
  background-color: rgba(84,120,120,.25) !important;
  border: #a6a6aa solid 1px !important;
}
.dx-theme-desktop .widget-viewer-container .cardItem.selected
{
  background-color: rgba(84,120,120,.25) !important;
  border: #a6a6aa solid 1px !important;
}
.dx-theme-desktop .widget-viewer-container .dx-widgetsviewer-item-hovered
{
  background-color: rgba(82,120,100,.22);
  border: #4e7845 solid 1px;
}
.dx-theme-desktop .widget-viewer-container .cardItem.hoveredItem:hover
{
  background-color: rgba(82,120,100,.22);
  border: #4e7845 solid 1px;
}
.dx-theme-desktop .widget-viewer-container .widgetItem.hoveredItem:hover
{
  background-color: rgba(82,120,100,.22);
  border: #4e7845 solid 1px;
}
.dx-theme-desktop .dx-dashboard-viewer .spindle circle.dx-spindle-hole
{
  fill: #303030;
}
.dx-theme-desktop .dx-dashboard-viewer .spindle circle.dx-spindle-border
{
  fill: #b5b5b5;
}
.dx-theme-desktop .dx-dashboard-viewer .spindle vml\:oval:first-child
{
  background-color: #b5b5b5;
}
.dx-theme-desktop .dx-dashboard-viewer .spindle vml\:oval
{
  background-color: #303030;
}
.dx-theme-desktop .dx-dashboard-viewer .needle path.dx-needle-hole
{
  fill: #303030;
}
.dx-theme-desktop .dx-dashboard-viewer .needle path.dx-needle-part1
{
  fill: #b5b5b5;
}
.dx-theme-desktop .dx-dashboard-viewer .needle path.dx-needle-part2
{
  fill: #ba544d;
}
.dx-theme-desktop .dx-dashboard-viewer .needle vml\:shape
{
  background-color: #b5b5b5;
}
.dx-theme-desktop .dx-dashboard-viewer .scale .dx-major-ticks path.dx-major-tick
{
  fill: #303030;
}
.dx-theme-desktop .dx-dashboard-viewer .scale .dx-major-ticks vml\:shape
{
  background-color: #303030;
}
.dx-theme-desktop .dx-dashboard-viewer .scale .minor-ticks path.dx-minor-tick
{
  fill: #303030;
}
.dx-theme-desktop .dx-dashboard-viewer .scale .minor-ticks vml\:shape
{
  background-color: #303030;
}
.dx-theme-desktop .dx-dashboard-viewer .scale .labels text.dx-gauge-scale-label
{
  fill: #6f6f6f !important;
  fill-opacity: 1 !important;
  font-weight: Normal !important;
}
.dx-theme-desktop .dx-dashboard-viewer .scale .labels span
{
  color: #6f6f6f !important;
  opacity: 1 !important;
  font-weight: Normal !important;
}
.dx-theme-desktop .dx-dashboard-viewer .range-container path.dx-background-range
{
  fill: #b5b5b5;
}
.dx-theme-desktop .dx-dashboard-viewer .range-container vml\:shape
{
  background-color: #b5b5b5;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-gauge-title text
{
  fill: #b5b5b5 !important;
  fill-opacity: 1 !important;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-gauge-title span
{
  color: #b5b5b5 !important;
  opacity: 1 !important;
}
.dx-theme-desktop .dx-dashboard-viewer .marker path.dx-marker-element
{
  fill: #ba544d;
  stroke: #303030;
}
.dx-theme-desktop .dx-dashboard-viewer .marker vml\:shape
{
  background-color: #ba544d;
  color: #303030;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .slidersContainer .sliderArea rect
{
  fill: #2b2b2b;
  fill-opacity: .9;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .slidersContainer .sliderArea>vml\:rect
{
  background-color: #2b2b2b;
  opacity: .9;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .slidersContainer .sliderArea .slider .sliderMarker path
{
  fill: #b5b5b5;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .slidersContainer .sliderArea .slider .sliderMarker vml\:shape
{
  background-color: #b5b5b5;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .slidersContainer .sliderArea .slider .sliderMarker text
{
  fill: #303030 !important;
  fill-opacity: 1 !important;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .slidersContainer .sliderArea .slider .sliderMarker span
{
  color: #303030 !important;
  opacity: 1 !important;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .slidersContainer .sliderArea .slider path.dx-range-selector-slider
{
  stroke: white;
  stroke-opacity: .35;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .slidersContainer .sliderArea .slider>vml\:shape
{
  color: #fff;
  opacity: .35;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .scale text.dx-range-selector-scale
{
  fill-opacity: 1 !important;
  fill: #6f6f6f !important;
  font-size: 11px !important;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .scale span
{
  color: #6f6f6f !important;
  opacity: 1 !important;
  font-size: 11px !important;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .scale path.dx-range-selector-tick
{
  stroke: white;
  stroke-opacity: .05;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .scale vml\:shape
{
  color: #fff;
  opacity: .05;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .view rect.dx-range-selector-background, .dx-theme-desktop .dx-dashboard-viewer .rangeContainer .view vml\:rect
{
  opacity: 0;
}
.dx-theme-desktop .dx-dashboard-viewer g.series g.series-markers path.dx-chart-hovered-point
{
  stroke: white !important;
}
.dx-theme-desktop .dx-dashboard-viewer .h-axis .axis-elements text, .dx-theme-desktop .dx-dashboard-viewer .v-axis .axis-elements text
{
  fill: #6f6f6f !important;
  fill-opacity: 1 !important;
  font-size: 11px !important;
}
.dx-theme-desktop .dx-dashboard-viewer .h-axis .axis-elements span, .dx-theme-desktop .dx-dashboard-viewer .v-axis .axis-elements span
{
  color: #6f6f6f !important;
  opacity: 1 !important;
  font-size: 11px !important;
}
.dx-theme-desktop .dx-dashboard-viewer .h-axis .axis-elements text.dx-chart-axis-title, .dx-theme-desktop .dx-dashboard-viewer .v-axis .axis-elements text.dx-chart-axis-title
{
  fill: #6f6f6f !important;
}
.dx-theme-desktop .dx-dashboard-viewer .h-axis .axis-elements span.dx-chart-axis-title, .dx-theme-desktop .dx-dashboard-viewer .v-axis .axis-elements span.dx-chart-axis-title
{
  fill: #6f6f6f !important;
}
.dx-theme-desktop .dx-dashboard-viewer .h-axis .axis-grid path, .dx-theme-desktop .dx-dashboard-viewer .v-axis .axis-grid path, .dx-theme-desktop .dx-dashboard-viewer .h-axis .axis-line path, .dx-theme-desktop .dx-dashboard-viewer .v-axis .axis-line path
{
  stroke: #4c4c4c;
  stroke-opacity: .9;
}
.dx-theme-desktop .dx-dashboard-viewer .h-axis .axis-grid vml\:shape, .dx-theme-desktop .dx-dashboard-viewer .v-axis .axis-grid vml\:shape, .dx-theme-desktop .dx-dashboard-viewer .h-axis .axis-line vml\:shape, .dx-theme-desktop .dx-dashboard-viewer .v-axis .axis-line vml\:shape
{
  color: #4c4c4c;
  opacity: .9;
}
.dx-theme-desktop .dx-dashboard-viewer .dxLegendSeries text
{
  fill: #b5b5b5 !important;
  fill-opacity: 1 !important;
  font-size: 11px !important;
}
.dx-theme-desktop .dx-dashboard-viewer .dxLegendSeries span
{
  color: #b5b5b5 !important;
  opacity: 1 !important;
  font-size: 11px !important;
}
.dx-theme-desktop .dx-dashboard-viewer .dxChartTitle text
{
  fill: #6f6f6f !important;
}
.dx-theme-desktop .dx-dashboard-viewer .dxChartTitle span
{
  color: #6f6f6f !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.series g.series-markers .hovered-point
{
  fill: #5f8b95 !important;
  stroke: #5f8b95 !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.series g.series-markers path.dx-candle-default
{
  fill: #5f8b95 !important;
  stroke: #5f8b95 !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.series g.series-markers path.dx-candle-default.dx-chart-hovered-point
{
  fill: #5f8b95 !important;
  stroke: #5f8b95 !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.series g.series-markers path.dx-candle-reduction
{
  fill: #ba4d51 !important;
  stroke: #ba4d51 !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.series g.series-markers path.dx-candle-reduction.dx-chart-hovered-point
{
  fill: #5f8b95 !important;
  stroke: #5f8b95 !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.series g.series-markers path.dx-candle-default.dx-candle-positive
{
  fill: transparent !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.series g.series-markers path.dx-candle-default.dx-candle-positive.dx-chart-hovered-point
{
  fill: #5f8b95 !important;
  stroke: #5f8b95 !important;
  fill: transparent !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.series g.series-markers path.dx-candle-reduction.dx-candle-positive
{
  fill: transparent !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.series g.series-markers path.dx-candle-reduction.dx-candle-positive.dx-chart-hovered-point
{
  fill: #5f8b95 !important;
  stroke: #5f8b95 !important;
  fill: transparent !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.dxLegend g g.dxLegendSeries rect.dx-candle-default
{
  fill: #5f8b95 !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.dxTooltip path.dx-candle-default
{
  fill: #5f8b95 !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.dxTooltip path.dx-candle-default+text
{
  fill: white !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.dxTooltip path.dx-candle-reduction
{
  fill: #ba4d51 !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.dxTooltip path.dx-candle-reduction+text
{
  fill: white !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.labels g.labels g g rect.dx-candle-default
{
  fill: #5f8b95 !important;
  stroke: #5f8b95 !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.labels g.labels g g rect.dx-candle-reduction
{
  fill: #ba4d51 !important;
  stroke: #ba4d51 !important;
}��/* 
* DevExpress PhoneJS
* Version: 13.1.2
* Build date: Jun 5, 2013
*
* Copyright (c) 2012 - 2013 Developer Express Inc. ALL RIGHTS RESERVED
* EULA: http://phonejs.devexpress.com/EULA
*/
.dx-theme-desktop .dx-lookup .dx-lookup-field:before
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAARUlEQVQY02P4//8/AzGYgfoKJ02apKWtrb0CiM/jwCtAasCqgYwMqOB/NHweJIdiNRbFcEUYbkRSjKIIq2dACtAV0SZ4AP+tAQBYeo5OAAAAAElFTkSuQmCC) no-repeat;
}
.dx-theme-desktop .dx-scrollview-pulldown
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAyCAYAAABcfPsmAAAAyklEQVRIx2P4//8/Azqu6JjvSwzGppdh1ECKMX0MBHqngRg8aiAdDRwSyeYMMXjUQDoaOCSSzX9i8KiBdDRw8CcbigwEhgU2XAfEl4jAGHpxGTiTyIgZNXDUwJFjoBYQHwDiw0j4OZEGHkbDpTCTo4D4D7HlIA68BYjZkJ0bS4Gh20GGYQvDBDIM2wvEnPgiJY1cw/DFciaREcJJbLIB4RwChvGQkg5huBSLYcdwGUaMgSBcjWTYSSDmx6eeGANhhp4hZBjYQGrXegAin7Qm0uANIwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-loadindicator-image
{
  background: url(data:image/gif;base64,R0lGODlhIAAgAIQAAIyKjMTGxOTm5KyqrNTW1PT29JyanLy6vMzOzOzu7Nze3JSSlLS2tPz+/KSmpMTCxIyOjMzKzOzq7KyurNza3Pz6/JyenLy+vNTS1PTy9OTi5Ovr6wAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCQAbACwAAAAAIAAgAAAF/uAmjiRJTQNWriwpCOQ1OBMpUVK7EsdBjAfHYDASGAAGmG70YBwuyuBwxABYEctRxHnAbqTEjcJqVWRFggNXs2HMahsHGX7eYNSHQPttJ0OUKxIEGBRKAhd4ClITEgtkFyMZFRUJIhoImBgKORRcCAQzEWNWSRsJDagNFZaYrRgaEgFqbAJsGxZWBAkFqairIgoYCBgRmIUKgEUICqe9qpVFFMXCCDlLvL0ZLRrUGNY62A0FWRIKyHUZBdolEi8atS/fWZKT9ZQa+Pn58i3Nzqjw3gl8dybDv1Tu9L2osyFcqgrrSiTIAG1exCX0KGXBprEFPVUddTgLKWLXJF4VawokqChxg0Fn40ZMUqVqHLZKE0VgyyDJ2boE9lSaSqWuwrOHIl6iiumygFAR2ZT2RPXTaAOWJcKtCjexF8OhqbRJ3WBVHEOtSVNVUnq1Ti9oXEWUvQiO6oi4GySoZUiRhNKKE/l9lduAro4QACH5BAkJABwALAAAAAAgACAAhIyKjMTGxOTm5KSmpNTW1PT29LS2tJyanMzOzOzu7KyurNze3JSWlPz+/Ly+vKSipIyOjMzKzOzq7KyqrNza3Pz6/Ly6vJyenNTS1PTy9LSytOTi5Ovr6wAAAAAAAAAAAAX+ICeOJLk4FlWuLCkJZGQZjrtI7bogyDYGBktNJNEMDLjcCINgJgOW6G8wGaiUIgIPcYXSRItJdeLDciTNCAIGlXIs1EHAPKLwMBiOt0YYK2AsLxsCSWgYaht7RXF5IhEHBwREG4ODODtNFBRRGBtxSBwUFwCkFyICApSVEhJaPRyoIgZiCxsKpLgPI6mpqoQbSSQCFBsEELilCy68C6nBLbe4EHMsqLzPLA64BoAtL4RmEkDKJQkFFQXn5wl0HBkNFfHyCfL18exYCQ37/Pzx8ADvmdHXr585dOrStStQEF4GFgky4MOS4WE+hvsmtqiwr4LGEu/6WczB0d9Heg1nE3wcwS5kvwIkGlaQUJJdRBEYK5bkZ5Fgx5b8CmTg6NGfCJcNYIogOnJnRZ5ORaBssHIERngcrkbs146DzwYPXT7cqdTM1QpH+QFVS8cgTrYcoprdN1IrEbhmJJJwOTEitq5LwbYLAQAh+QQJCQAcACwAAAAAIAAgAISMiozExsTk5uSsqqzU1tScmpz09vS8urzMzszs7uzc3tykoqSUkpS0trT8/vzEwsTMyszs6uysrqzc2tycnpz8+vy8vrzU0tT08vTk4uSkpqSUlpTr6+sAAAAAAAAAAAAF/iAnjiQpXEhWriwZRSSBIJebwW0pZPco0yPBo/HA5UQ7Hk6GGiEOh4biGMzsBCIZpMbJRKFYKifC28F+3AC0gRBXMwos4QJpT76WMMtQwSREZAJmKDQRFmsTPg0NiRwYFZAVfxyCZRkzcV9FHAoHGgMaByIJFQ4GDpAJCUlYEWFqB3EPn7SiIo+okA4YrkZBcQoDoMMNKiMJfLkGkzmzwxJcK8ilFWIInwMBviwJfmIRFwF6x5HlGG4cAQsU7OwaBA7x8vLMORMA+Pn4G/P99S0E9OljgKFfvHNuGjBYyHBDG2nexEQ8gowelVKo/pEoOA9hDozxJJUgZVBViz8cXOcZIGGwQgSMf7qJOLULV8dR80SmNIBLkrxqjlSOoOYRJIaUNneNgpmDJioOTrvNQ8chwU2kHECudOMUaEqU8zSyCDvTYlZ5Ho/Q9BgVkFmJ9b4e40WVRam0R0IAACH5BAkJABoALAAAAAAgACAAhIyKjMTGxOTm5KyqrNTW1PT29Ly6vJSWlMzOzOzu7LSytNze3Pz+/MTCxIyOjMzKzOzq7KyurNza3Pz6/Ly+vJyenNTS1PTy9LS2tOTi5Ovr6wAAAAAAAAAAAAAAAAAAAAX+oCaOJAllmVCuLJlApJBmpgC35TVNySijPgLCcsOJCoxdTyOTjRaIKM143E0Kot9UMHxYVFRNYsJA9lBOjTAqCY8uySsTRct0iThkYanZJRNNGRBRUQsjEg0NhhpwDI4XIglxBScpAhZDeBkBBhgGASKNjkmQBVc9EGBrKQienZ8jSKOOWBd8IycQCxQGr59gkWSztywPvhRtLDqjYRa9GF9UF3thEATRJWNWVpBuCJ0Y4Z4Ls+XELBkD6uvqEeXDYRLqFev0EaKz3WEBEf0D/RgIsEhgq9oDBEVaJJDF4FyJCAAAVLCAAx8DfS0ORIw4YNGIMe8SOBSjwcDGjQZnirybAEFYD4JHHCV4oPEkhUizeDAaVWAZj1ETmFA4iWEEmQn6hF0UteyRiAUQD3hcwTAoQ4KzYhiRNAoS0z483WioGmpUD3wjS8Aba1aEUox5nMaUKQJCWzcF39wVcyGhWBJk4OIIAQAh+QQJCQAcACwAAAAAIAAgAISMiozExsTk5uSsqqzU1tT09vS8urycnpyUkpTMzszs7uy0srTc3tz8/vzEwsSMjozMyszs6uysrqzc2tz8+vy8vrykoqSUlpTU0tT08vS0trTk4uTr6+sAAAAAAAAAAAAF/iAnjiSpUJRSrqypjgVKkZEQtWvWNBlMNTORYLi54Ua73SuGGgk2m+Fx9NsVRLIrJxKFGqeKZEMVAwqh0iksOWPOngKGDVdoFF4RccZNhI82GBgCIjpJPRyFdns8NWg3AgQJkgSEYkA9VT0RL1EMNROSGJNrllcZLzQCCgKhoYImVUmoLaCSCRgMLRmxagwYEBgTX7p3ahEME4MlJzIyh2oEAQ7T0wEblmKzLRsG3RreBhXYsmob3+cV3RWJemoiGBXxDvK5KwqnxgQEwywKdUpTHFgYoGECDnY8pkgYMHBAhQ3LYsnSNiIZhAEYG0L4go1ChCoq7omwAADBBAILbzMOSCAiDBsViQrsArIBgM0DHBQESDkgAJVLP3dkSKTggk0ALDkIqDBAAsQW/8xEzRDg6AVlSo+4FIpIVoQDRw244xA1SKIeGI4CeDolm4ioLyQc9anm3zO4IjY8APAA6xR8I4j+SeB3LIkfz6aEAAAh+QQJCQAaACwAAAAAIAAgAISMiozMyszk5uSsqqzc2tz09vS8urycnpzU0tTs7uy0srSUkpTk4uT8/vzEwsSMjozMzszs6uysrqzc3tz8+vy8vrykpqTU1tT08vS0trTr6+sAAAAAAAAAAAAAAAAAAAAF/qAmjiSZNA1WrqyZkBTalG+7YqgqxihMFbaSrFHjzUQYirIW1BiBTpkooWxQmMGT7GXcKQvQpqggo0R7SfLVRi7UIkMMuVeIrUURASOCjPdRBTgNBRFKP3h6DAwCf2UqPCoRRUt5iomMY0OAGhhYIwkJEYuKo3yfRiieK5cTApg3XU2irQKmNnKqK3kRtqeGhjpiExcIxcUXAppDuSUCEM/QEMXKW2ICCNLZzwiCmsFNBNjixQwsCZ1iEQQEveZzRE0BBhkOE7feTRUG+xkBr1OoUjFbhCDDPH0GENhSRqFQKg0MIPAxYEECgwn6DGbIcGHKkDXdChB4AOAAAwsDaQZk0BDhwr59EEbYCWYEgwEAOC8oQGmhowZnBir8K/HOzM2cCHgqeNWOhp8MOAFciJBhAMoAYjKhMKPhqFQNE3gOGNpimQivPh3w9NlkTjC0IgRIGCCBbAt0IypEtRd3atYWAiw8qPA3BAAh+QQJCQAZACwAAAAAIAAgAISMiozExsTk5uSsqqzU1tT09vS0trSUlpTMzszs7uzc3ty0srT8/vy8vryMjozMyszs6uysrqzc2tz8+vy8urycnpzU0tT08vTk4uTr6+sAAAAAAAAAAAAAAAAAAAAAAAAF/mAmjiSZMMxVrqyZkBPKlG+7XqgqxuiYxBNbScao8WaigkwnzBwLO5noJKs1qajXMYoKNkfKrlOKq9qUhRqEeAnPjsz2pFbOieqFcpo4nfgnUBl1XSo8KhBGORAFfzGBGW4yUBdWJBeIjQwFaSZHWU0XfpoTTCWhUqAMgI82bZU2CZQrP41+pUICuRgCuwJrRESvLBAYxcbGwMFfxLzNuxiDS18ivMe9LLHCK8QK2iZu3iMSCAgWAq3AtyvkFuQS553JCQrwJRgQ4+TsEhAjyRMQBgBwICGDgHcZHlCgwKudhQfkFEwhMicDAgAYDSgYMMAABgoGKATIgI8dgoJRcUiJgHAAI4AADzgOUNAAJAWU+B6Ys9HA5YEEAWRKILDQQIB6/WxgcOCSQIagFWZCCBCSgoVpGRYA2DpARFCOEhXYZDit5VaJCTlWQIvAJsomBrY2GPF1JrWaDeo1seB0BIIBUTGMEEAPKwsBDSIgwBoCACH5BAkJAB0ALAAAAAAgACAAhIyKjMTGxOTm5KyqrNTW1JyanPT29Ly6vJSSlMzOzOzu7LSytNze3KSmpPz+/MTCxIyOjMzKzOzq7KyurNza3JyenPz6/Ly+vJSWlNTS1PTy9LS2tOTi5Ovr6wAAAAAAAAX+YCeOJKk4jlaurKmQFuqUb7tqqCrG6KjEFltJ5qjxZiKDTCfsHA07megkqzWpqNcxigo2R8quU4qr2pSGmoSoCc+OTI3FUivnRHZDOU2cHr12XSo8KhJGORJHYklEKFAaViQaho0OdCaKRU2ZTCVyUk15X22RNm2dfnOqFqimBhYGr7FYlaUsP6urlWZXc5a/sIFLX0mwsLKtHQwBDF8SAhISTQIbAAAQHNMcHNAtEgEI1tYRTdvm3SQEFeLWEALcLNAC7+/b6ALh7BMCDw0TzQIYSCOQIQE0DgzowevAgV2FZgQGNBgQgMOBAw8EJEiQIUOHZ/XmjVgAAEMCEQJxFkxs0PHAhgMcCm7M9pGetBECSCRYuUFChpcbEHKMkOFmh5w2BAyQOIBChwwuLwiUmaAZsX4SH4hIcMFlNo0ZIiQwKkTlUqQ/L1qlsDEDzSYBJJ4UAfUlTQEFMyD9wsCqCAIuD+x9R5YYCQERLhAwHAIAIfkECQkAHQAsAAAAACAAIACEjIqMxMbE5ObkrKqs1NbUnJ6c9Pb0vLq8lJKUzM7M7O7stLK03N7cpKak/P78xMLEjI6MzMrM7OrsrK6s3NrcpKKk/Pr8vL68lJaU1NLU9PL0tLa05OLk6+vrAAAAAAAABf5gJ44kqTiOVq6sqZAW6pRvu2qoKsboqMQWW0nmqPFmIoNMJ+wcDTuZ6CSrNamo1zGKCjZHyq5TiqvalIaahKgJz45MjcVSK+dEdkM5TZwevXZdKjwqEkY5EkdiSUQoUBpWJBqGjQ50JopFTZlMJXJSTXlfbZE2bZ0iBBUFrKwVEV94c7NzCggAuLm4DF9YlRC6uhS9lTIJGBAIEMsQF7EdbjIWqCICGRyxkF8CAQMNA9hCchZpLRIZE97eBJtA5KUMG9/zCwIcEiwCEm2WltMjAtKpaxBAQoQNF7AJ0NfB3kJ+tHRw8PbtADYKGw4cSGAtQQYJHEIKwKMkBpNuC2fYdZBw4UBGCgwSyHQocoqBdyTwjcjg8sIDCRQ8RljIwaHObT0P8Io5U4K9mrESaNwAq0PQDENXFg15VEhLhCM7ML1WrSiDrjYyZFRpFStHERIYLERrgwOvEWPDrmT4bIUEAhmGxQoBACH5BAkJABoALAAAAAAgACAAhIyKjMTGxOTm5KyqrNTW1PT29Ly6vJSWlMzOzOzu7LSytNze3Pz+/MTCxIyOjMzKzOzq7KyurNza3Pz6/Ly+vJyanNTS1PTy9LS2tOTi5Ovr6wAAAAAAAAAAAAAAAAAAAAX+oCaOJJkwzFWurJmQE8qUb7teqCrG6JjEE1tJxqjxZqKCTCfUHAs7megkqzWpqNcxigo2R8quU4qrtiCRgyIzJV7CsyPzMpnUHoC8oyHQlBkFZQVYSD8yXgh5igcWYykaEEY5EEdiIgaKihF+ViQXkURdnQsDmQBsQnA5LQgHeQd9qTJQQhABGAtffoMrEgYYwMEEun51xnUJEQPLzMuoQoShzRXNuVehRAQR29wDAcSqXUwkAgSxTRfjZwgG7ectYXZnBBS/vxJNofIkGQ0Y7f8oQBAAgcWLP7NGCKhnjwICCAQQWOgzsGABZAhXaRBgz0AANhkQiJQAIYOADIZfJtBSRUsDOwrWIFiQiMBkhpsCjtUwVIREwRELREocaBNUjJZfBMyUyOakyT5K6qizIUEovo1OC/4A0snG0okiSj5NUieQrqoIrG28aXLK0a42TvosOiISXGKQTr4TEgIAIfkECQkAGwAsAAAAACAAIACEjIqMxMbE5ObkrKqs1NbU9Pb0vLq8pKKkzM7M7O7stLK03N7clJKU/P78xMLEzMrM7OrsrK6s3Nrc/Pr8vL68pKak1NLU9PL0tLa05OLklJaU6+vrAAAAAAAAAAAAAAAABf7gJo4kmTTNVa4smWXkhDZl0rIUAASjjI4J2eRW0ugYsI2PJirMVETRQAeIiJai08wW3SyoAMJmxlwOuyIM9bBx/i5k7griiAQEIgGDisAuoRsXExNcBBUDFREIEBsOVBFwDQVaPxtBM2cSh4gDCgQQBzpiCVw+FxBLKGcbD5yHFQ4CCAsspJSYchsZFK4VeESpKS0SCocKjESRklEQBHdoF5MrCwEO1tUBEmiBg92DCRQGBhjj5b9Et2QN4uTs4Uno6mQSFPX2FBbbbmQTgCQQC84l89cCggQECCwIZOGDUMEFCBM+gNcilUMSAiwkjGgBggBkNdrIKzACAkILD2sSShAg4AUjUldQXBCkDkrGiBJgQHjBMsiESZhEKFsm4qCFJDtbZhAgSMYtKJca5AK5QWlACE0JDd22IenSlw2cKplBEo3VX3C+BYpjdulHod1KPWm7dARNaZa2bPNIIhoKOVipch1RoN+2EAAh+QQJCQAaACwAAAAAIAAgAISMiozExsTk5uSsqqzU1tT09vS8urykoqTMzszs7uzc3tyUkpS0srT8/vzEwsSMjozMyszs6uysrqzc2tz8+vy8vrykpqTU0tT08vTk4uTr6+sAAAAAAAAAAAAAAAAAAAAF/qAmjiRJLE9QriwpCKQFAEuZtCwyDNd4zI9RgtKg4EoMi0UC0/wAQVGhQcUcR5XdwCF6RhNU6u2qySgHlowTKCJSjWQRxII2rKEacHi8ikAqCBEiAhJoAwReGmENViIYFBRjEwaUBgSCF3QWARAzBnpUIkNhcAoGDJUVChEMOxMaCgptVRFupCMXFZWUgQRqKxgJoKR8GgIBp5VNOFOLjSsKugYVyy3NDQVXCQQI1TgYBcWDBBfl5b5xGo+Q7JEXCPDx8ILai/bw7/nzZMP2Gfr5XsW5RuoZiQgC6F3BYLAFwgwCMii09kbciIcRM0C8Yi9SiYcaISa0KEoDQSrZZkRE0BhRgIKEBSDdSNCoGUNbVVS+zPBS0BBIwSreUrcopTGICqcQSXDtUZhGoxoUm7iOQrZrNBelywMJ242mGmwZXWgVm5Q9RNGSaeYxrdRZOdcCHYFVpVp+xTDcpTlx6wgiDXGEAAA7) center center no-repeat;
}
.dx-theme-desktop .dx-loadindicator-image-small
{
  background: url(data:image/gif;base64,R0lGODlhFAAUAIQAAIyKjMTGxOTm5KyqrNTW1PT29Ly6vJyanMzOzOzu7Nze3LS2tPz+/MTCxKSipJSWlMzKzOzq7KyurNza3Pz6/Ly+vNTS1PTy9OTi5KSmpOvr6wAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCQAaACwAAAAAFAAUAAAFvaAmjmK0SAKpjkpDaEI2TNp0VKtoGYaADRlF5ABw5GA8SGwWAAAQKoxQQ1gYJpnM5AHIiC4FTQRBFlYWBIjLOUlQGIyERoGw1DGEyIhcgDMoIwIEZBg5fhclEYoYGHorCQURCXI+jBgpOX1+FFICCpdHb34MigJ6cjkXFwmrjhoXFBSoJAlwFK5ubwWqtLB+YRoUBcJuDGCycKx+pwVyF3C+z39iBcAjtdPQ0oipyRrQ39Pd3OC11kcisbMqIQAh+QQJCQAaACwAAAAAFAAUAISMiozExsTk5uSsqqzU1tT09vS8urycmpzs7uy0srTc3tzMzsz8/vzEwsSkpqSMjozs6uysrqzc2tz8+vy8vrycnpz08vS0trTk4uTU0tTr6+sAAAAAAAAAAAAAAAAAAAAFwKAmjiLUUAKpjkKGacJlKJpyLasoLYsgGDOIwWHIaSCLjOR3wWQcA4IKIoDUeBiZIjIoQgIUCESBwVQzCwlaMXAoMhUAIHMsmwUKq4ggScgBDikwAmWCJAIPAAc4IgiOVHoqBBkCjhoFE5kTBUYFDJ8MmpsMFp2gnxqOCBalOayrCJGepCsInxORFhOgrCSOu5+cGsC4uxaYtqQWoFYIEwgay6TGt0cFwiPJExqfrN1G0tDf1a603LS22EYimdA5IQAh+QQJCQAZACwAAAAAFAAUAISMiozExsTk5uSsqqzU1tT09vS8urycmpzMzszs7uzc3ty0srT8/vzEwsSkpqTMyszs6uzc2tz8+vy8vrycnpzU0tT08vTk4uS0trTr6+sAAAAAAAAAAAAAAAAAAAAAAAAFs2AmjiJUIRCpjpAgZBCCvFdDrKJwXS1S8Q1MAAe7uGKIC8FgiKgsltxOILtMDEPT41WQSBIZnSASuWAMSoxjoMhYvJJCOCVSKBprx+SVSRS6YCoQAw4LTiIJiVBEBA92RhIMkgxyOAsAmAAUk5ISRA6ZAAcJFqSlRKUEqnxuklEqCZ2BbpGur4hvk5W1EhCRFoCSpJMpCV+tDLkWnTB/sMy2rqjCGdLMOMuv0rGVRCNesyohACH5BAkJABkALAAAAAAUABQAhIyKjMzKzOTm5KyqrNza3PT29Ly6vJyenNTS1Ozu7JSSlLSytOTi5Pz+/MTCxIyOjMzOzOzq7Nze3Pz6/Ly+vKSmpNTW1PTy9LS2tOvr6wAAAAAAAAAAAAAAAAAAAAAAAAW9YCaOYiQwEamOyXRlJwoj0ipe05SYjBBZEIstkyg0CoJTRAKBMFSXQgqnY0giiGAmQkCkGuBXQZcUQBACiQODqV3ADd1rxGBADBhDIEWchFcCeA41Igk7F3MrEgh1KH5wBUMOFZQVGHBgE0MUAxUDAwsJF6KjQwgOVhICI28NiSMSAAAVhBk4cIgkogeyDwYijxMRflE6YAkOD7I1LQm2YcSZGQwYFCoJ0mGtryStzn/SNm9zf9iRQyQ5zjYhACH5BAkJABsALAAAAAAUABQAhIyKjMzKzOTm5KyqrJyenNza3PT29Ly6vJSSlNTS1Ozu7LS2tKSmpOTi5Pz+/MTCxIyOjMzOzOzq7KyurKSipNze3Pz6/Ly+vJSWlNTW1PTy9Ovr6wAAAAAAAAAAAAAAAAW64CaOo2FJZDoqlraxlrJJjaCKhuMokhVLgtrtpTtZdkEhSWNA5RzMWM0mqVRQOujmqGHSGrREJGLTZGOukUCSGUcKqNdRm5JEEonGitcdNgpTPVkOBkMRCweID4MOFkMBiIgXChqUlUMFeRVgI2Z0JA0MAxd6IhpzUGkiCRkLogMBInNGUCYCABAVEROiNiwynqdQCAAMGwIBsSQKRRs6Gg8AABFDnjLPAgQABNV0OoUZCAdDKT4yMykhACH5BAkJABoALAAAAAAUABQAhIyKjMTGxOTm5KyqrNTW1PT29Ly6vKSipMzOzOzu7Nze3JSWlLS2tPz+/MTCxIyOjMzKzOzq7KyurNza3Pz6/Ly+vKSmpNTS1PTy9OTi5Ovr6wAAAAAAAAAAAAAAAAAAAAW7oCaOI9VEZDomFKYlTeMmhatqRZxEsVtQhdsrRuHJWJREClNA5WQ6ClATEQhQMZnGxEwCd4JMBoXJJm2iBCYsvqZN2lREnBGsdhh0ymqNROAxQTcTCBcIhVlEQgQIEIcXamoYSjcKE1ZjI2VxJAIGBgF2IhiAeSQTEw4MnxcicEVcBgcEFgMKBBWrdixKmxgPAAESFhVUF60kMA0UGsABFwMWE0KbSs4CDAMM1HHOGhMSEEIpEgsKIigkIQAh+QQJCQAZACwAAAAAFAAUAISMiozExsTk5uSsqqzU1tT09vS8urycnpzMzszs7uyUkpS0srTc3tz8/vzEwsSMjozMyszs6uysrqz8+vy8vrykpqTU0tT08vTk4uTr6+sAAAAAAAAAAAAAAAAAAAAAAAAFwWAmjuPURGQ6JtOVJU3jsq6aFXESxa452a/YZCeDyVKXAgon4/lEl4QodjQlC8ZEojCZSC9Ubw16uXQnhZXpqOpiV7oyUKuLRNaxtC2C6fepQkAYDAKEGAlRZVI2AhgRAo8jYGwkAggIBChQeBcQmhkMGBaXFgwia0MHAA4QBgwLBoOjCCgsUg4AAAgSFQgUBgEZEQymJBgPABUZEgMWBAauQBQAD6YDFRYRv8E2CAoUIswIGRgUFkDCIw4SGCICKSEAIfkECQkAGgAsAAAAABQAFACEjIqMxMbE5ObkpKak1NbU9Pb0tLa0nJ6czM7M7O7srK6s3N7clJKU/P78vL68jI6MzMrM7OrsrKqs3Nrc/Pr8vLq81NLU9PL0tLK05OLk6+vrAAAAAAAAAAAAAAAAAAAABbigJo4j1URkOibUpSVN47KuqhVxEsWuSdmvGGUng8lSlwIKJ+P5RElR7GhKFoyJi+l4mVKypEvSu9rWUsJzQicGitcJzTZWABYoeAqTbNPqG1cXWRcQKCoCL2sjAgYAAAGHAhkChhoIDI4PFgSVk56TIgeOGBkGAxYWARkICJQZrygIGBOWAxIEFQYErLQCvikCChIOGg4VEwsWCBlAELbMuRMRrARAEwoIIsbVAha0QJUQDswalSIhACH5BAkJABkALAAAAAAUABQAhIyKjMTGxOTm5KyqrNTW1PT29Ly6vJyanMzOzOzu7Nze3LS2tPz+/MTCxJSWlMzKzOzq7KyurNza3Pz6/Ly+vKSmpNTS1PTy9OTi5Ovr6wAAAAAAAAAAAAAAAAAAAAAAAAW9YCaO48RAZDom05UlDOOyrpoVcQLFrjnZr9hkJ4PJUpcCCifj+URJUexoShaMiYvpeJlOsqRL0rva1lLCmgCjUIiB4oQ8cwDYAQsgU+i4AyJ6UzECBIUIFigqCQUXWYkCDwMVFooTLQkjEhGSERISiRkCEAWWLSILFQMNAg0LBAoEAmsQLDgoEg0KGQQGCxgICBjCAi9vJBAGBgEZFsFrGMQ2FgsGxAgPChDDQAoUBCLNGKGyQBmgBBbRoCIhACH5BAkJABkALAAAAAAUABQAhIyKjMTGxOTm5KyqrNTW1PT29JyenLy6vMzOzOzu7Nze3JSSlPz+/MTCxIyOjMzKzOzq7LSytNza3Pz6/KSmpLy+vNTS1PTy9OTi5Ovr6wAAAAAAAAAAAAAAAAAAAAAAAAW6YCaO48RAZDom05UlDOOyrpoVcQLFrjnZr9hkJ4PJUo8K5sbj+USXQgbiACwaGVO0YExcTMcKYGzwki7RGOMnUlDGFpuwBsFgFI8ASpXgJhIZERQUAxQBQDhqE4KFFFg2YGoCCgoYBBJ7KX0XXnsQCAcHBHxCmRIVoQeVmV6RUhkNoQgCFggKdX0TXmooeAoZGAgIdrcFE1IQLSmfCBLAAgJfukAKwih2AkyvKhgWv8AY2V81NpnQmSkhACH5BAkJABkALAAAAAAUABQAhIyKjMTGxOTm5KyqrNTW1PT29Ly6vJyanMzOzOzu7Nze3LS2tPz+/MTCxIyOjMzKzOzq7KyurNza3Pz6/Ly+vKSmpNTS1PTy9OTi5Ovr6wAAAAAAAAAAAAAAAAAAAAAAAAW8YCaO48RAZDoSR5AlDHO906xmBuBgUDybk1sG4wAMYDKkbfUQZCgAgMIHFF0KGcigErEIDoBGoYBMXEyyzGM7WBAaTus1xgiKMJTKgHCL1UQQAhgYFhYoKhcXCYsZDQsGBgsIQgV0dRSRkZM3aHQQCoOghylmiheHEBIICAoqSBOjGKsIXhCjZp1YGQS0EoIYAldlF55Dvhm/EAU1flljKRCDThMTZj5CyRmVP3VCn3HUCRlnujfiImPnKiEAIfkECQkAGAAsAAAAABQAFACEjIqMzMrM5ObkrKqs3Nrc9Pb0vLq8nJqc1NLU7O7stLK05OLk/P78xMLElJaUzM7M7Ors3N7c/Pr8vL68pKak1NbU9PL0tLa06+vrAAAAAAAAAAAAAAAAAAAAAAAAAAAABbggJo4idDgLqY7EhWARAFRYIlmrGFCDsMg0CUOSwwgGg0lsZmEwcCQCQoB58BBAJxFjKWAghsuEIFBQHhdFwpmwCJ+YStjQiExHlq5zOFoELgYROVpQEAKHERUQOXkJjhgID5EPBEUFe0OTD5SWmAyGCz4QiyuNFgmkoKEra0OkXwuxVAkkp28MXhihoRAFN76teXuLh4s2BcFaXwW5IzYSXk7CcIzQtNIYQlusNyLYa81FIhIStDkhADs=) center center no-repeat;
}
.dx-theme-desktop .dx-loadindicator-image-large
{
  background: url(data:image/gif;base64,R0lGODlhQABAAIQAAIyKjMTGxKyqrOTm5JyanNTW1Ly6vPT29JSSlMzOzLSytOzu7KSipNze3MTCxPz+/IyOjMzKzKyurOzq7JyenNza3Ly+vPz6/JSWlNTS1LS2tPTy9KSmpOTi5Ovr6wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCQAeACwAAAAAQABAAAAF/qAnjmRpnt5gCZxSoXAsz+eksPhL7zxdcDigpUeUDSqNCSoCbAoksEEkMSjOCgaDxqIrMYPPJWAMiVhhDW022zEFwK1TZkwHdM+kiEa9D5gSTkBQJRMEdWMaeG5Ze3sGDV6BYSUBh2MciiUJaowGDkojb4EKJQMIlgBDmSMDnVt7BXmSgyMKqBBVqyMZjRZqFrkeEXCkIw2oqbokE76cewkjX060HhyoGMHKHhWOW2ptHqJBxR4JyNDaJAFaFt1+wrMihagUZxMVBQVJJ2lrjgYvpOEYZAEZJBMLNly4cODEgAwJEmSIkAGcpkZ8HJSDYyDFKUvURix4QJLkBRMN/iKqjFggW4pmr7IMGCABTAYPcyzhKjGypM8NJSBOFCoxQYVsvFwZqFKhJpB3BVC9E7HggM+rJ0kUWDllSsQM+zwwY5dl6pGKrD7SwUCi51WfWUd0kEix6ESVaD108LXHgkUUCSDUObjhrWGgyyp47UoXYsSjKbZmcImigQYJwDxUNfy24YkOQil6pftYl1XOP2NMSPlVtN0EoPC4RY14xr3Rd71SJlIY9YXYOx7etRsBuJXZcBfgaeC468FMF97WxnNPaNhVpx9M12VcWXfVM8OLFz/he6aEB9KrX58e8YQBHeB3mE+//vzdeHqjhpuCPvz/8QUIoHlFILcfSQcE/mjfgvXhV0R2B/p0n4AUDtDATBc6SER0EV4lH4MdZDghgUQYeOBv8WWo4kwTxpcOhx0+oMR7LNb4343piHDAQjz22OMByuUo5Bkb7LidbDtecGR+VvHomSILwEjSkj1sxuMDC1HJA4QlXRBkiUlGdyVD0KEGZA8KLYRldE2SqYiUh9FQ5JpqnrbQAVruYCJWWlY15gN2qolYQl/OsMECQcLJWVwlJLlmoGwqF2WXhZ4wqUki6Lcfo1T1iCWdgH4JJ6NFnikCnE9yaVilI4nZJqBPeqBpScpNICVQJn55KWesXvmoqSPw6oGqE8yKKQkKcXZCkk3iaYKqJIlw2ASchB1pbKzIYuksQpx5Fie0D6CQHbYIwQBusNJp1i0MJM6wZ21xyiqskIpiSUK8HiwqpLEkFYovv9rlqO+96Y5QL6eZgFspvuoyXGbBBF+1HbQI41HvCQ6bSG5+EEecWgnG5lmElBvn27HB/OVYpJcwODzCypUOiYKiMctcIFY265KmkjmGAAAh+QQJCQAeACwAAAAAQABAAAAF/qAnjmRpnt4QGYbVoXAsz+fkaAZuNHTv9xWWxoIL/I6ySaMzQSVyFqEDNigUBshZI8HNvEyZIQ5nQWUEHIEgk4V1EhkuHFvK5FjQUwPN53zbJQVdEVwVJk93Q2UlEwppjwJGgIEZhHFcfyJhUHl1kI9TkyQVchGVGRlNI3ZiLIsjExJ9fAmiJAOnclw8q0NCLSUBn2gSdLYipINwCaoerHfAIx2zj2zHsHGWhAmGIohj0SIGwxwazdceDZfKdKxRnR4V5ALd6Ktw23EFmuCKIo3UBLw6MmHAgA4Dzo0YkMAUF4cv3OFZlGCesVsGKDAwcPHfQYQIFSJT1sVDgV9F/lLIGhbBxIQACADIBEBB4ccOOHEmLIEr37aCUcDt2zNMgsIMFGYqHZgC5MGbO0dsqbSMWbp3GqzJo7ZPGgelYDnwzNngYFmnqiasg2PNw4QKV2Ct5KMBlgGweCWMfYoQakgRb7Jl6GiiQh8FXyLExAu2FomCOXPelNxkQIMKFQifUOEgAZYODBjjrbvZ4NmylvlqRhJa9EwMjlEUfPrx41mRRyq4nmlhNSO/qP9OSrC7GMHUIHE2WCCqgWgMXbNMkIz6mASwEGIDmt0XN5IB1wFA6G3Pe/MjGzYcUM9+vfsNzO15WHCgvv379jeIoH+hv///AMZ3zQYPFGjggQhe/uDBARc80OCDDkYI4QUCirIAghhiyKB/BzjY4QUffthfhZN0mOGJBUIY4YoNOgjiA/odYyKKGW4I4I0mUjggjRlS2OCHDwA5Y38xXjMjjwU2Qd99INbXZH0kHrPBjVQeEKV8WPawwJQgXjPBhkXaQuCBClrYooFhZrHAmQemicSRBuqIxJoolgkImwha+QOcGNrZBp8IunnClEgK+sOYNF5g6Hx4nniACPAtasKW8TXaIwqWYqjfBGfKCQOdKUKaKZmTFjoCnn6qp6cIeD4qAqAIkohoj83MaiBznLY5X4YCgnoiiRf2SKKlzPE5ga2hkkBohic06iayBYqQ4QYThpz4rIYozChosNh6MO2CJ2ZroKufwpDpCN9ymycM5tGgrq7Sagrpr1la6ue38faJJbQPVIivB/xKmsWJfnor76mXogMrif/u2rAolrr5MKAFT2LpCQ+/WyC5Yh5cwsMAe3wMmxyTALIHbFYsJoNX5guvCep5mmUMjbY88w/vqnwzElwqKl8IACH5BAkJABsALAAAAABAAEAAhIyKjMTGxOTm5KyqrNTW1PT29Ly6vJyenMzOzOzu7LSytNze3JSSlPz+/MTCxMzKzOzq7KyurNza3Pz6/Ly+vKSipNTS1PTy9LS2tOTi5JSWlOvr6wAAAAAAAAAAAAAAAAX+4CaOZGmeG0QgiCWgcCzPJ2S1LPLSfE9nOcvDQvAZZRABBIJa5IIwgUTCPMoEgox2V3IKvwiUxGDAUCRWGGSbyVZJkifLclqUyRhDJn3Kav9cI15DQ2ElEA53eQaGfCRtbQt+gRtOcnQlBHd4Bg+OJZNZom8bEl+EmCMCFJxmGEWfI0kZkn9tJJZPqSIIeBSLFKSxWFuSbiNxpzePnJywsbKQ0rciTg+6JAGbiwHC0KK1flXJLYWC23cL0H3S4dUs13MiiItmZY1GCRcFEwkoa1tE3VqgbIgIC/V+kaEkQsCDPN1MJJhAkWKBC+wE1NpSSQ6CIhBY1SODT0QCCxH+BlQYMACDsAsUG0yQOaGAPxIAJ0laUnCPnTwJhS1QoJJl0ZIFZCaNaZEUMVrEmADJgaYSGV8G1I3IQKEoy5UsKZTg14BmxYo3NySANCkatRQKXQWQFcDo17sVxJKAabFs0gZL+83b+BZFhjKsKOxAibdohQiPn40gS1Om5YoF5mERkDaGgBsEmAgw4FUl5NOP555IQPZsRZqZY2EA6xh1BAxaYeyz/DewYEcLjK58TDxCBASdYej7y3SmzU8EvBZPzVDGxLOAZcbKgPc0hdxHJmaXiTFWV9MVXkHje3GdgAApjyf/NP+bkX0F8uvff7H+JwkUKBCBgAQOOCAGCDD+IV5ZDDboYHnrOADAhBRWaOEBEMzk4IYO+neEBBaGGCIGHJbIIISfGCDiihNqYKKJKDqCAYssavhih+tYQKOIAyRwo4MTrCNCBTtaqM51riU5QYzQBHCABlBGKSWUGFQn5JX5sLcOBPwsKeQFQMay4In02dggk0b8BaSHMYy5YZCOmOngcz2oWSKcfNjJIZomwPQjnz2AeaOXKLhpYmwX6NODPjfJeScKju6Zgo2/KUepCH4OKtGfI8iJ5wb4pSVnbBvoyWFygt75RqoN+pPhmWqdOoKhOJLgI4eVihCpP6ZCwCqDn4IaaQMnOMrkrwyKsCcEJR67Ialjkbkph7F5SWpqWSioCe1qMAw7gqS3PquGI+E++O2G5SFbFpt8RPqppMriiiWoJXYGL733rvMoCfm6e+W1DSSXb7mwrhMpk/mWKq/BHJ6QMMF+fYmuwxOXgCygVpi57bnmmmBmsOvx42HCI+yT67wxOMouyjwQDDLLafBFqJAhAAAh+QQJCQAdACwAAAAAQABAAISMiozExsTk5uSsqqzU1tScmpz09vS8uryUkpTMzszs7uy0srTc3tykoqT8/vzEwsSMjozMyszs6uysrqzc2tycnpz8+vy8vryUlpTU0tT08vS0trTk4uTr6+sAAAAAAAAF/mAnjmRpnp0kcJwgoXAsz6fK3i+t7/TqtwKeUKbQKGCSG4exQjI4uWFMY6lajibBb8VBMRKZRKIrRSmqDoPjmmUxbycBWCwOlk1qdNVgSmpZTSUSYWIZERkUd3gWa3pYI1xLXCZfYBF0iYokBntreSVcfyyghIWXDJokEoxrDo0aJKKSZCNfYYZgGXapIlRWaAaPkaKxdJdiEbS8InlpjXwiSbOjIwS3lhkZUcsdVGqNVVg/LUwjHMgJx2PcJXl6FtChTIGDhdgEZQqcFrAnZ4zwGh2RNkxEJVyFdqnKEOCBNhNnXEnsV8KXK4B8/sxrkcKSqQSZVBG4cGBDyQDb/jp8k3jxkQh9zwT6KSjnY7aUDAIcKLlzJz4SrFhKDEbCYiMHL4bZOYcwnTIBEXialBqhRFChEzeBgzdChYuuhAxl65qAp1mTGy5ULYoVK7+XAeG5PHGOji4RFEhK3Tm1JCqrbd1G02DACA0JFCgwSKrzLEm0JX+a0BBYqAVeOqdq5nvhwV8YKyvPHcJh89kDFwikNHMV62ghFE7zvJBgtQwqgVMJ4Mv5QABlQigLhaYpAlqSFz4rWklck4QEyFWze607uIHr2LNfN8yuA4cID8KLH/8ggPSIlYVS5JVgQIMB7uG/jx9/w6r0bakPYQBf/oT57v3X3wAB4NfWeopE/vAegPE1MIF8/hmIFYJ3RNBfAxj+J2CG803QmoH6wbbgBBo6aGKJE1yggIQSXcbNBf6dKKOGQfzzy41WUJhKAhv06OOPPgagUHdE8lDEHsuUVkEDF9gmhXAtpsIBBgBUCQAGCWiCnnqabGDllw2EZOSHUSpSwZdoTjCkDKG15eIdZ6L5JQQPOFkUmVwqEoCccmKQAQxbpgeNETqaYZgEE/Ap5wBrdoAnl/e1RERQLgZApaJWTgCRgRS19mY31z3SWjxeYlolcFC6GUWqEg10FSwrulZLophK9lJgbACVn0pYScDqRSUkEKeca35I4a+uiHCgBIFRGAAEaG6Awko6gMaKFTQH8tpWHKUCsEGjI+iH5wjZWjscDMoNYS5LFGXbTWAh3kHmp+52gCuRyDrgUr35FnrHvSTU66ib7LTZagkCr5vVMmRSKLC2lnFD5gkPK5wGN7/q+PC7eTLMUnMBT3jCVZ8uQ1iuFIt8wsnxFinChy27PMO6Jctchi9vsRMCACH5BAkJAB4ALAAAAABAAEAAAAX+oCeOZGme3nJc17GgcCzP6Ho97EvvPL2xLNyhR5QtNrrTDwccoiaTwaQ42zyuj43ygHtwL6jBoEMeUGFW7DU5sraurJO4TJ6eTVw1zrRktkwLY2QdY2Z3JTd6WSULfkImE2UNgoaHI3l6YCQ/N1+aI5Edk5SVlimKV1ptXn5OI3OUk3amIph6SUtBfyMLg4SThLQlqF5tQZ4khcCFs8IeaYo6bjcsrqGFg6XOHomZIhuejym/gqNnKiyqgMRa019O12VjzaANGQUV9CndqSe2WGAaJerkIdIAYKLEQGqQoGHDAvT+wWFzCtWCBUCAvDBIZ16JARkShBwZoQEiYl7+2EBTo2XCOydzEpZJVsFhwwgOK5xEuWiEok8pkIAiRFShiAkMG5IkqXMTTziqGqmhuLCcDnsiHeK82bCDCX4oNbm8sEHfiShiNhbQmiHCUpFN+TyFQyukyK1clXqNITGapQ5Kcb7N0MAsILC3/t7VmtMwGsRXTE1w2HZkBm09Vl5xdagCXpF7LWHifGhChcqFt1Gl5RgFuAOwY8s+IHSbhw52berOkG/fXCzqaBUwQLy4ceIaDGgIMAEyz9VUOihXnlxD9erFNWT4rSf4oQzYp4vHntwCd5bCwCNfL165BffOUUIv0sC9fQ3vq1tIbiCBVO5AmRLBeOzhh5wFZmD+lNGCGXknXAAOQChhhBA64EACrdmmYQxHVCPMAAEkh6EwmgVIxQAKCMCBigoUYAlGqDhIRAAq1riiASYVASMxJhKhgY0qrshBAJjx9VSPPfwoJJACCDCiDH3wJGMPGSxppZAaxHXYb04gMSUkbbk4gQNW1gikBWbFh15zAM0nQgMEACAnB2YUoECZZVqwzlPqgAXUa0kwIOegEhwVAZB4aqNZJrMs+sBG/GhRwaCUuijCAGQiWmOOvPBIEWQvSDQZpYNSUEIDSjKJGWIOOvqACDEOQOqgAZiQgQRA1uoPcCf8p4cTMXogwawAQIDZBBFIwIEEEbQ2n3M+KaLFABCDEKsBDBkawU603YlgAbEAcLoNZEAF68EAGBDLgYausmGuBwmAm4BtPA4jLQkcEItBtjz09ai93Y7QALi60gKZg++KoIG6zkB2QsLnVktqoSTeawLEHnxLasEGq0Eat+iZkO+g69oGzgXzYSxCABJIMO+GMyDmJsw7+LoHzaZwQpZtIQAAIfkECQkAGwAsAAAAAEAAQACEjIqMxMbE5ObkrKqs1NbU9Pb0vLq8nJqczM7M7O7stLK03N7clJaU/P78xMLEjI6MzMrM7OrsrK6s3Nrc/Pr8vL68pKKk1NLU9PL0tLa05OLk6+vrAAAAAAAAAAAAAAAABf7gJo5kaZ5bUjQNlaBwLM8oxd4Yre86dt8UnlCWwLxQqx8LFjEOaT7cKapEYShY1xNGvR1JyaopgV1hv1uwsmXq3k7ZViuXLtnW9FH416aYsQ0FdSV7QIRrDSZZNmZogwmIDXkbhUskV2UsfoMmlSxfbpYiEYA2gJOcIpGCIp5gmaasqZeRR64imJp+DY6zG3dKQRuhia2LcrJCKlioI5CIObe5ZisRJxECAhoC1iVkSs2UiEGhwnGlzdja29vdeuOOz2sJ8lJku1nJo+sa/f0CdiIFQkPsRRdW31qYQoPNn7aH2wIKlERijTBcTkbkayFL3bYF2kBqAAmQ1sQ5Iv7q8SJyx8+RCOxiZtv2UNFJTaMKUMDgLkaRjA3/CfX3z8pNNpzWCRDJ9GFJGJ6U9BICc6RSp+1oJKw1CCvRfz2hABNTp+rHbCTThNK35WpWTmHYbgn6dtZUTmFnYCjAt69fvhl9bVg6YQKBwocNF56gwdrWm+HSLLgAAYHly5gvEyB19MfdIQIuX0AwujRpy6MRTOj8I/KQyZURVJ4tm3Ts0aylpJqAGkJp37Z7kx579LMQDcFrW759m4DKkxdTEej9OzV1gPcWac/iOo2GC+DDiw8/4ang80+KlJkl4IKDAJtnuYne1kEGAwYyOJjwiDiL7jQggN99+RkQgAbp+f5nSB32DeigAQiYN0NUC6YRQIEY3pdBBfHJcAVkgxAwYAUFboifARUsAMNjArFiBIAjRDDBBSpGAMGGBJqoIX4QSCiCgnhswJkmxm2ggQIDDGBBBdYs4EB+JO5YIgJjgPhjMCMIEIACGSAoQgZKJjmAAyIIIGKOGZIoITFAuFOQkQcAIOcDVC6gpAQWhKlimQISCGWBXjoTiRYkKPiCBHIm+oAGE+QpZpIZlLDAhThi6KN/zbApwgOJJtpjknla4CiVkkY5IAFI6ObNKiJ0mmgFGwQAKp605tUeiRzmRcJnQI7gqpywCiDBnRYMO0AAMPjIw3P/+forrBsgQGyYA4UEKpiC0f0KALQCgFnstwNAKxibaGgrLgHDfmssqoINWoK5JFRALJ4DZKDrFlE5Au8IC6RLa57spqJgM/uOIOu8S/qi4AkFl+lvseH6Eko4DYuAwMMDBCzwD3JtULEI8t6J7Hl7EcrwryObQEAA8KGngwW/7ulyiK5KMPMsBAzwwAHizhICACH5BAkJAB4ALAAAAABAAEAAAAX+oCeOZGme3nI8z7WgcCzP6MXeG63v+nbfF55Qtti8UKsfCzbZGIczH+4kVaKqjxz0qnwcSUmraWP7fbfgbrCEvZ3KvwPaBP9pR+HfuNual/JAf3wlE3xZfiQLhncegEtpfGeIjixfbY8ihXyMiCKGciKUJHWBnWyGR6Iilyycph6kLGusI7F9UCoXF64iipuNgx6sXlcHuycLpLyUQZdrn1S60qCQSi4lvl0L2VPcetjSNivHo4YPB2esL1igrIxF0y0tF9QitnYkaiROZ/ojZNJk6WpRT5g5IFq8SdpjZtW4eQPHHXB1z1omYxsm0MiVMYWxcOfkTeNyUFanj/L+kuhagU4GJSULhUwIZyOgrpjIKhKbQyZlSnpDegabk4wexHM4aVwquMWYyJaTbjBFA3Diq15XRyQtdqCr168Tt26ZMKCs2bNmJ2hMVhLfqwEd4sqdS3fAzLYwTU2IC7dvB79+/+JVwgsKXLqI5fYd7BZR2b+QAUNucFhnJL1xKXfQzNksX28l15j627c0abmU19JcLa3wnMeQY5e2m7X2FnhAO02oUKBAA42d2ohGMyBDguMZMnTww7aLax0NkEc4nqDAAFwVh0MxTj3DdOMVru94WQqNce/Su/+OYvnQnOgJ0KdHvhxF85KgCkQooGNCgwrL7SYdeudNl0B4b+D+lUMHDADgIAXiwTCAAwZoYEAAGnUgH3XfUVeBCaA5N0KDDjoowAjFORBAhBRaWGECmTRQIHfxRWAccP8cdAGOCZTo43IDaMCBABxIwF8HFSZpgAENjDBBAd1NZ2ACEfZiyDVOYuBjifw5QOSXAgzQwJIuWhhACcURWGMGONYiYgkGbOkgBNdJMOSdAhQwQZlK8leChlIe9+EJYfDSAQRyAqCBCHjemYEHCVRogaQaWNCmCGKeV8Gl2MAgQaJ0ivAlno8OQOapBjyKQpVDFJAoAGcyOiqRqhaQZKVJsmoKBYlSQEKjtGZiwaRKagBjVhG86qesjarqwZgWRjtpk2+BIZAoByXMOqSzHgQg6akOcIqGBa9SO4K2AhyL6anRGjBoJyRuaYEJwHLALaTfVmrsK/GWCAGn9d47wKQuLqkuIg7IefAIHAB7rwe23srkWxz4KAEKRTZ7QgS47nvVAAFIIMHCJNg568MiwGeubTEYAGx9LL83a6wx+9GAAxKkmlUIACH5BAkJAB4ALAAAAABAAEAAAAX+oCeOZGme3nI8z7WgcCzP6MXeG63v+nbfF55Qtti8UKsfCzbZGIczH+4kVaKqjxz0qnwcSUmraWP7fbfgbrCEvZ3KvwPaBP9pR+HfuNual/JAf3wlE3xZfiQLhncegEtpfGeIjixfbY8ihXyMiCKGciKUJHWBnWyGR6Iilyycph6kLGusI7F9UCoXF64iipuNgx6sXidFuqAlC6S8lEGXa59USmuQ05K+XQvYU9t6bLactiwHZ6wvWKCsjMri1CLiUyNqJE5n83iGpSPDP7u9SpL2mFmVzw6dgqUmHNg1gUauDQ2VIRzHZaI7NJS68KqWL6CQbr8cwiM2h1+Lhjz+yBhCBFKWxx5dkM2JtVFIGJl+4NTc8tIPyh0bDggdSlTok1e9gio9sFSpFokTWyElo6uq1atyRkYyNaFqi682woI1uciUyqtYWxyLqmQnj4UrbCRJErau1mymFMmVVTeu35b5Lvo5q0stWFnkUqBd7A9piqKQh/Z0TFnGAAMUGBgY0GnCgAEdBvycMyEAAgCoAVAYDcVzh9ChWQ8pQCG1bQt+QL/eHRtKBwG2g3PIDRu07t46LgdfLoF4hwagocNGHiMCBgDYs2vHnoD45+K7jcse0YHB9vPYNYiokKGBDtecXfOWLv216BPm0WvH0H2ABg4cCKABZzFMkEECCBb+0NB3xoWm24MmVKCfdhYQaEGAAgSIWyYFJJABgR4ciOCBFYjw2YO7SQcaawlMCIAEIBYQIIAZChCfAwYYoIEFJQ4wYgQIJgCiayrqBh1rDeiHQQEkDCBBjTVy0IEHEWigQY47ghakhxFkkEEJJz5n3IomAKcdBN2VkMCMUUrQUI46wlnBBFxumcCUYB5n3wlOQgAABBWaMECUUaYZ55VXMlnBjxkAmYFsno053gjuoWABoQEqQKCOFnBqAJN0NjoigpWeMKkODWCaIZMiYOkqqw38OCqISGmgqgEk7BinjiV6YGCQombAKlIZsDmjBKV6sKuuw/ooagJAConUAAqIGJthACW4GuewHlTgaJcePvpKBNZyAGO2iGLZq4l2RotnJwaU+2UJV2LZKbfdNqovkOsiEi+hGsh2qAWJEmKnh/jOUSyhCSvrKa8mdMClqO8iMsGlM0aAgq7pNuxtkP12VkAAAYRMwqHqotBBBRVUXBkMAcCpK60vb9EBymnW7EcHAThQsmMhAAAh+QQJCQAbACwAAAAAQABAAISMiozExsTk5uSsqqzU1tT09vS8urycmpzMzszs7uy0srTc3tz8/vzEwsSkpqSMjozMyszs6uysrqzc2tz8+vy8vrycnpzU0tT08vS0trTk4uTr6+sAAAAAAAAAAAAAAAAF/uAmjmRpnltSMAyVoHAszyjF3hit7zp23xSeUJbAvFCrHwsWwRiHMx/uJFWiqowc9KpkHElJqwlj+3234G6whL2dyr8C2gT/aUfh37jbmpfyQH98JRF8WX4kCYZ3G4BLaXxniI4sX22PIoV8jIgihnIilCR1gZ1shkeiIpcsnKYbpCxrrCOxfVAqFBSuIoqbjYMbrF4nRbqgJQmkvJRBl2ufVEprkNOSvl0J2FPbemy2nLYsBWesL1igrIzK4tQi4lMjaiROZ/N4hqUjwz+7vUqS9phZlc8OnYKlIhTYFYFGLgwNlSEcx2WiOzSUuvCqli+gkG6/HMIjNodfi4Y8/sgYQgRSlsceXZDNibVRSBiZfuDU3PLSD0odEQJkUCCBqNGiRStoeDWiSIGnUKM+1aLhAICrWLNqRcDU5LQNA7SK1fpgaaeWBQs8GMv2agBTXvm0bVvBVMaCFuaOJQB34jQCa/VilcD0Lp+GCyQcWMy48WILb5k20kW5cmVykjNvEQAhg4EAP+c4dWEqwgUJAxykzhAaisIWx3bSmJBBte0BA7iWhN2iBeYhGiqkHn677pyFlikXaB0jqITb0AcYR6Ord5LKPUkQQB0d+gQ/7K7bWBEbhgAD3YmnhiBiwYQFQCMIQCmegnjYOEegVx89w3cBARhgQAagySCfBgIg/hjRMbLYQJlvJizAn3oSXIBSgJ4JyF4m7i0gwAgahCjihwRVRx55ukhCwISqDRAAiRtMIOCANH4oAAEI5HjBUhEg6GOCPymEYoMtSKJBegbAN0IEFdCYQQWefTiBjhDkeKAGHo6YjGUMrJDfBg1ApwBfJRBA45kVNJTjmhcggKAAcIYogIfMqdCbDbwAiJsECDB3noBP0niBCAhcAIGhOS6VYIgeLsqcMF7KBqMJCJyZYZqErlkoBDxiGaeckyYzhwZOAlqBkhtQuaZZnyKY5aOINJDhgE1GRmiVhhpq1oFzLopgZjI6CaUBZhGK6KojJKisjxrAulmTs3qm2whsfB7qJgm+ZgnkK2Z65m0FFYTapqbXJqtsgtq+EiCt3pJJwqa5cloCusvCqe6ZAxZYArmJztuqnNwCSiuqJMSLaLHJyvnjK0HRasC0+2raJsIJexoqIhFMiQDBJbSJaJUUmzufZjS0aa2hF5M8hADjVvmdyogIMMEFBITsRwgAIfkECQkAHQAsAAAAAEAAQACEjIqMxMbE5ObkrKqs1NbUnJqc9Pb0vLq8lJKUzM7M7O7stLK03N7cpKKk/P78xMLEjI6MzMrM7OrsrK6s3NrcnJ6c/Pr8vL68lJaU1NLU9PL0tLa05OLk6+vrAAAAAAAABf5gJ45kaZ6dYjiOpaBwLM+oxd4are+6dt8WnlCm0LxQqx8LJtEYhzMf7iRVoqqOHPSqdBxJSatJY/t9t+BusIS9nco/A9oE/2lH4d+425qX8kB/fCUSfFl+JAqGdx2AS2l8Z4iOLF9tjyKFfIyIIoZyIpQkdYGdbIZHoiKXLJymHaQsa6wjsX1QHBsVDRcSJ4qbjYMdrF6/ZBagJQIYAM4AGAlvfEGXa59USmskC8/eDRSEqMB2KYZjtpwV3uwTApBKL1igrIwKFra3Iw3s7BAPvjxpI+HkjBp4hraJCNCvH4YMIshVktHmSDElnCRMaNhvwDsVFjQEJGIgpK97hv6UKCsRoBnHZxM6UeriioSADS+fcfAjcZEOBhtfEvBzscVIHQnWNXw3pycQSTwCQGC3QSZNRDefbWCKCE7NOQxeJeIhIUOAB2jTqn2QYKfYFAbiyp0rV4uABQMaDMi7Vy/fvBOGvio68MLevhP8AvbbwJ0ppylZGOCrmPIExHkFIyLM53DeBo1Df068V5rVyHw28J2QuHVo1wPCduKsjUHf17hdmzY105AvDgE2CB9OXPgFzYPxKV++3ADUt9B1lD2b4SgakCFNSSBwYcMB7wGsD5FA6usOBgEOqPf+HTkUSi6gCIiw/rv9AwH8RHa+o6x97+zZt9sW+UwxAwXd1f5X3wbdyYYGZ9mhIEB6AC7Y3QUHQNSBABxwNUMRRxT4g0IkpKfeehgyqN4FYW2XwIsEiFcCdsmsgposJnDwn4rsMUjAEQS8mEEECYSTiQBIjlSSDfgo09sNklBw330MJjASBwkMmeWLvkjQIQdgnsTkcl+glJIkAvyXIn4elkXki0Rm8A6HYNIpwT34OLBCjQTlcwJ9DHr3gIMjMCBkBBkI+duXdQqAUhJMQnXJSiNIkACGx4knQKIvHmoknQzQ+U5JLSinjyCSyeBhCRQcqmV1InAQqqjvkJfnnhH+MocAcHY6pFsb0ikrkqvs2UKpzyGS6LJERoAcmF9yyFWeyY20EBd0WCbQ7LIeghlqoyPgKYssyW5h6ZZaFllCh6ASiwdzTYplaLpbWgftrB0mYoOx+JQ7RJCHvgjsCMPSekqpSZj3b7pDwrquqHXSUS3Cr8z7ZgYDE8wou+iU2oK/QriopZE5fvvtqqEwea1YXlJAAcoESysqCio8Ed0Mwn4p480hd3gyz50gKfRbIQAAIfkECQkAHQAsAAAAAEAAQACEjIqMxMbE5ObkrKqs1NbUnJqc9Pb0vLq8lJKUzM7M7O7stLK03N7cpKKk/P78xMLEjI6MzMrM7OrsrK6s3NrcnJ6c/Pr8vL68lJaU1NLU9PL0tLa05OLk6+vrAAAAAAAABf5gJ45kaZ6dYjiOpaBwLM+oxd4are+6dt8WnlDGiSQEqNWPBZNoNK+h7AKoQhIn5RLlw0lhmaoYwjB1t2bbL/otDcTihkn7O6l/hrapAhdjSXQ3ZkssQXokG31VGBKAhA4lEo8OOYcjDIpVF46EJYE3bJYdiYoQSCJndSOSj5WiIgIQmRMjn5Ajdz+GryMBmQAEIrYjqT+uvCJ8ihXCj7iPu0ICARsHCY0mBL8BHcMdxaAnChoWFnkmAgsDDesLwSZvihjfhIaT5yXF0SIB6wP/6w6UIcFAliIGCgjlSOgsXy4viACyAzjgwSkRVA6mwIOqFQkF5SbtOzDRHzt2E/6uwcLQZ96IcaHqcZrUokQGkxMa5Mz5z50IbXDewSgWBZxHEtPW7dT5b2KDC40YbJiw4WIMFRY0NAJJk+MJAhOUNhjLE+AmSw8nHUOXIKzOpSWtSmHYdS0MAReWLl03sI1RINh2SBW7c4LcIXSXuGgDljA3S5/sDhHQdkDKw1/uSNaD2VKoGRIIZEhAurTpBBk661FhoLXr160rCXhwoNqB27hz36aA7C+0DhFsV9swvHjtDRdUC0nc9YaB28NxC4eOW+ghW81rU5+uXfsG63rSNncQoDty7sIvcHjFfLwFDtAveKdeW/6fV+JpNqL84EEA//8FEKCAffFCTjkIJv6IoAGfIeOgEBIwkAEBFAS2mgHlbDZEhKOVRoCFUkjwkIY6CNAhahFkEEGBUtiy2GQUkHZiabyFRxODO0QooxEq9hhBjW1gBxERqJ1mhGnr6eEbEBqGVpqPo/k4kAQCgHgVFCLkpxgKBKB4WgJHZrCeBByUyUGVMnBVSEfusfVkinBmkAED2Ahw5p1WaWAAllkugY+Q4ZDAgZdfVjiCnWaauRWGCL7QngNsqDnJZybyGGcGFgpg56YM2NnIgS2UM85vJJAzyVcqPpkkUmZ2umkjK4S0ggKsKDSInydIEKOcdJpA5qaInilCqLFm1c2pWTgng2rBlilAp9iEFColHZfUiisKVvLw652uXhTqgpVg16AowboqLC7mtMCCK+LtIwqZeDproRrlrODKo9TyQmanHPB7Li6xFnJMu8hoCqy8JRQC7kdq8dJsv5qaUG8h+dZCKrncasqBlfSmu5a1yr6CqMb/kkCswLcao2+wEdvR8Ysl5OLuIVRqmm0zCLYw7jcY7vzgHLLq/LMoINkg6tDsuUaiFCEAACH5BAkJABwALAAAAABAAEAAhIyKjMTGxOTm5KyqrNTW1PT29Ly6vJyanMzOzOzu7LSytNze3JSSlPz+/MTCxKSipMzKzOzq7KyurNza3Pz6/Ly+vNTS1PTy9LS2tOTi5JSWlKSmpOvr6wAAAAAAAAAAAAX+ICeOZGmeXDYAgEagcCzPZ3Sw+EvvPA3huE1vKBMQCBGUAcjSwBKXRII4Qww2g8HkhGECGKhEY9y4UGETrHqQMXWZYJOYPJ6eTZWrflMxLeEndGQFd257WRtbJG9AcSRzghSFJQGHWApJI3+NJQKCZGaTIyprG6YWi16OIgWfdaIkEGuIEgKaqo+uZbAkERJXpnoOI4w4q62fkrwkFliHAwsim8YjkIKhy8SWAxjSuKyuykQCFg4BSCcLpXovxSxx1nR2JVAUFIQmERUGGAYGFYpKOFi3QQGHAF4OiNCFr8SFSCYQ8JvIL0AbEgIQHcogwEufeGRMXKDgCpsIB/7++vXzZwCBrRGyLNkiwACHBBEgd1Wzp0uciAArU07EUAEdhwgKSnUTIQBBgGgjkpFApquBTw4ThvKrEPQf1AW/sEiACuOhPBFmq44xeRSCyn0rVfqDkCQDBAcQXspIUIDChSQJSKod07DEApRxtw5FAEvwYLadCHBNOZmi3jM5r+1oqphiv4t30obLxGNBAK1EDVymkpnCPCIT4MLVMckxKFERLOyrYIH0JKqQJ63m9XpGhAULJkwgoJz5cuULhou6cKGA9evYrYfKjaC79+/gQcMSPVgSAQQW0ENIzx69+/S+C2WuWgB8dwgI8OPP7118IfKDjcHeeuu9p96AZP3+FuAn6e13H38O7icdFQCWR86BBVqQYYEBNbYgGUkIMIEFJJZoIokE+DeePSy22GIBxWUj4xARCCAAR/Fh1pdfvNR4I0c4ThKBbTrdUWMGSCbJkYLJxEjDkUjeKOWShRBJB4w8QAmkklHW9tiTQN4YHUfRSTlJhZEEJ4KWGZTZpo1dcgCFk2FEIYKV4aDwowBucrSnLYGxiGUMgZGhDJoQlRABkn3+GGUmO1p1DwnVDcoBkQ1RVVVxcO45ZnSkiWFPK/ZMMSQdZuQ0T6GbKpokn3vGR+oYLE6h6RgRVHjVSLqcIGanw+3YYgP4lBSBLpABWNgIPj4qB0+kthJKSRyI3BrSCVQtm09ZPJFEUkPUZqYts/J9KylJ81DLAZp0/uatuYWpy0FPM44ELa2vyYummnfcKylb8l6a5zIjISNocQFnxi8RBncLWcDVDgyLsMQSG8gnbOU07hm8kuraxZo5hHE2fUm6McR30nEVLHzZiQLKaPXV7owlWDkzzTzEszLOHLO4MBUhAAA7) center center no-repeat;
}
.dx-theme-desktop .dx-gallery .dx-gallery-nav-button-prev:hover:before
{
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAfCAYAAAGdV60fAAAA3klEQVRIx62VURLCMAhEuf8F/XA8S7SdJFJgF6h+ZGyT10e6JaOMMWSOIc/X47w4fs+bOSGiVmXxX4RcOOW62eRSh/UcqYcn8glX3u4p3rWe3PWtHD5lF2lK4TugRZciAsNULQyj1/ClBcjgwMd02GiYYw5Br72BsBs0gKALEEEOsFAIaAgCbSgvp4LEGzdpxxEEn8SHmX032k8LTPvJtQo7f6jS7F7aTmUBa7myoCuCgqooFWSisgAepq7AHZO7gr/uaP//BI3YEjJRS1gRlYQdERXeEYXCX0ROeDz/BqMcKPolWS+EAAAAAElFTkSuQmCC);
}
.dx-theme-desktop .dx-gallery .dx-gallery-nav-button-next:hover:before
{
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAfCAYAAAGdV60fAAAA6klEQVRIS52SWw7DMAgEc/8L9qPKWdqAAuKxYOxImyYwHmOl1/f+/J7rovCNCk/0hQvaUYwf3jZ6sKpYVC0spkkosh134/5KZbkpcLEtuCVO6o9hCNeg6GzxWAiOEIQryMEdpDYEua3i4HBo/RQU+zli6NYCDL3KtI1spVAHUuJKCKYCAhOEwAQgMDURyEeMzTEkAPUhZOeBkAUgFIEEIUChDrAmuviliqxgkn6jqUoS0c0A20JJFB0LK9G2cCUaC6eipXBXVApPRUmo/wMAdcETbYiSQNZPRUmwKyoFU9FSsBKNBVB0IoiiP1LjKPpbYIkCAAAAAElFTkSuQmCC);
}
.dx-theme-desktop .dx-toast-info .dx-toast-icon
{
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAAB3UlEQVRYw82YMUvDUBDHHyiITl2yKMRRB8cMgqtQB8EMbg6ig1+jS7v4EQQHEVzUIdBJ8Dt0KHWQ9jMEC4pWU//BS4kxuVzee5UUfkPp692vr8ndvagoilQFHOCDDgjAAITRzyuk9wF97tN6cXzpQg+0QQ9MK9Cj73k2ZFzQAsOKElmGFMfVlWmCrqFEli7FrSRzBPqWRRL6FF8kEy8czUkkYZQnlPfX9Ocskt6hZpGMa3CNvII3zWvIzZNpCQO8gztwCrbAcirGCtgEJ+AefAjitbIynuD2/QKXYLVCIYvXXlBR5G57Ly3TLhF5AXsVq3WafTBm4rcTGaeksn6CXQORhANmh+L8jqIewu3KlQWRhGsmj6+oqXEy2xZldpg8HUVdlpNpWJRpMHkCRW2fk1m3KLPG5BkomkM4mWOLMmdMnlCV1ICYJ7BkQSQuiM9MnkiyMzE3YNFAZAHcluQIJddMwmPZcMRU4QdB/IHkbso2xHPqP2USG7R2LIwdSOpM4S9hRA6FTfJPnfENZhJbIrMK7GhM/UUyuiKz3iTp2hIZXZFfXVs6z3AyscjE4Bjj6U56WRkTkdxJT3cGNhUpnIF1TgeTeZ0Oanduqt2JsnZn7do9hajd85l/fXL1DbQMEW/+kmqVAAAAAElFTkSuQmCC);
}
.dx-theme-desktop .dx-toast-warning .dx-toast-icon
{
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAABT0lEQVRYw82YMQ6CMBRAewlWBq8gRzBhZXHyII4skHgFr+DWhI0rODAQNjiC4QTVT/xNSMWk9H/IN3mDsX6f/bT/t8oYo1YQARlQAhrogNF8XyO+1/h5huO94/sOTIACaID3Chr8XsIhEwM50K+UcOkxThwqkwIVUcKlwrirZC5AyyxiaTG+l8w0cNhIxDIsCS2lpt1YZD5D6T+ZeINnxOcZipdk8p1FLLkrkwQu35uT5kfgsk/mMkXgv3Jl6sA4hZWJAnZWbpnp9yOFNSQ033dH5kmIlSksalwylLJRKqyyEmS0wrIfGqB2ZF6EWJ3CPoRLhrLfjAobIwkyhjozPffMdEwyB6JMR11NnGjqPsNJSd2BpzQdMU0n4tLOqLXp7DzAV2ptolRtLpmCo5/hSNNPPyOq0xPXA4s6HYg7N4k7UYo7a4u7hRB3P7PrzdUHF4TJFBhJqfsAAAAASUVORK5CYII=);
}
.dx-theme-desktop .dx-toast-error .dx-toast-icon
{
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAABpUlEQVRYw82YvWrDMBCA1aV0SxfTzQ9R/AaFZvWesQ8Rb4Ziv0Oh0HcwZOgLdOoSgsmWvEFbD22hi9Q7egKj2vj046DAN4Qo5w9ZdydJSCmFBQmQAzXQAHugk3+fjr439HtO49nxuQMzoAK2gLJgS//LQsikQAkcLCVMDhQndZVZAhtPCZMNxbWSWQFtYBFNS/FZMjjwOJOI5jgkNPRq2plF+jO0HJNJZ1gjnDWUDsmUJxbRlKZMZpG+3xYP+mSmfdaXqZjBn4Er4JUxtgCugXfG2ErLJMzKiiIXJL+YECp6rx+FPhiVOhHUQzizsjN6zZhQYWQoxv9hxM8FNTUVSMhVBKkFdVkVQMhHBGkEtX3lKXTuKYLsBe1DVAAhHxGkE7Qxci1Yd4bIGfDiGEv6zEwx0vEXzDo0ODMua2ZtCNwy035yzTSeInqN7DyFGts6s55YrD5CtU0FfmRmjSl0CbxxKzC3N30BN8z01UKYXQ/MU0Ri27VR6J5ZR1DoiRm3ct3PhObffiaqnV50e+CoTgfRnZuiO1FGd9aO7hYiuvuZk95c/QKaSplMUgs/ewAAAABJRU5ErkJggg==);
}
.dx-theme-desktop .dx-toast-success .dx-toast-icon
{
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAAByElEQVRYw82YMUvDQBSArwgOLk5ZA4K4uWV0cJE6Btz0DzgK/oBYSaA/wcl/4BDazUFwcS0Su7UOLupiFlFBYl/wBR5HcnmXXMIVPmibl8uXy7t3dxFZlgkNHMAHIiAG5kCa/X9S/B3jcR/j2e1zAz0gBGbAnwYzPM8zIeMCAbDQlJBZYDtuU5khMG0pITPFdrVkToDEsEhBgu2zZPLAZUciBcsyobJHk3QsQntoWCXjdpAjnBxyy2SCnkUKAlnGMzB8q3gFvmuGvUdlwo5EPvFCe8CbIi4sZJwGlZVD/jkmabAD/CgqtSNwDumiV8bSSL2qifcFTmqmRSbAGhE5ZZwTCZxlORd4BL4YcU/AJhHZVzweSixw2q8LfMALHNYIfQDbRGQLeGfe7FzgOkQV9CLdaZXQL3BA4jawN7mPNhWY9XWBl1IylgmdkeMD4EZ39HF6pmCkELqWjl00SPqUmzMqoTtgnfx3xOzt0pyJNU+ShQbk+y5W3SblIG5aZ0YVi/XnFrUpalOBz4lI/phuWxZKv+3cFDBLPWcX4ZiYte8NTB9hX+sZzjbGs3alZ90a2KrdgXX7Jut2lNbtta17C2Hd+5le31ytAImlsydVlHY1AAAAAElFTkSuQmCC);
}
.dx-theme-desktop .dx-icon-add
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB+klEQVRo3u2aMbKCMBBAtWOGQ1BwBFtqh9rSxvmF/IYLeAQGWs7hWFhwBysLHTsvQEFNwV9nloZJwv9kE3Tzi9eoCfuYmGySXXRdt+DMwhnB7/2eCg+IgBQogQq4AzXQIjV+VuFvUmzjUcVBLbgEYqAALkA3kQv2EWOfswv6wA44aUjJOGHf/lyCG+BoQGzIEZ9lTTAEcqCxINfT4DND04Jr4GxRbMgZYzAiuAWuM8r1XDEWUsEv4Kk5OyZAgCSas+0TYyIR3GrKPYCVoN8VfqcjudUVXBMMy4Pi5R0Ihut6qmBINKEECsGAaOIJpwjmRJPC2P+b4hn5XwU3hOucDcFmmAyoBH3iDMWGYJ/x+L8R3BGvW7YEO4xdKbg0kDjbFDz1uxCZYGwg87Ap2KGDVLBgIFjIBD3N9OldBF8OnkgwMpQc2xZ8EYkEU0aCqUiwZCRYigSrkUavk7BsJLc0TYAx1COxViLBu6LBTbLlmYsVxiSL9y4SVL2V5I3kehLVaBMJthO3PHMOV1m8rZOC7Ico+0mG/TLBfqFnn6qxT7bZb5fYb3idOLJgf+jE/tjQiYNf9kf3Tly+OHF9RnUBmikEszkvQKmusGvFFXat0S/JFTZVEcJNUIRwe5ciBCfKSJwoBHKilMuJYjxnyimdKIj9nJLm/6r7D+UHDIrnUsXU2IEAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-airplane
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAADMUlEQVRo3u2aT2QcURzHh2VZSgklVJeylFJKKK2wlUtLr6EsPa20CdGwpxBGhxIqh7Jacq3uqYRSSog2pIcSltDTEkL0EJYQSnSb6e/Hb3imOzO/92/mbc3hSySb995n37zv+77fGy8MQ+9/llcCloAloDuAzxYWJkFToBaoC9oCbYN6oDXQbfyMbUAf9BHUsAD2GvQLFCZoDyFtAvpCZziQl6CagXbnQMMUMFFrtgD9hA6PQPMa7S6BRkw4VM8GoM/oeAd0U7LdjgRYpG3TgCLct4zOR7SOLjPafawAh9oyCSjCBfS7TcYgTkDtlHaboHNFwK5JQITaFeBQFbJtzmC+g2Zibd4CnSrCoVp57INV2io4A8KZukH/VydTUoVD557Ka6OvkbFkDeqJsM8daMCFtL5zTTKX6DFMGtC6MONfNeGG9CXlHtWSZuaz8Jl3mnAjCgNeEYCoadBAGNAPml3826omXEhhwCsSMDKQY3qUopz60ABcJ95XkacJdMt79DOmmjMNsHMKA55LgOK6HGjAnVIY8FwErGg65hGFAc9VwK4G3AGtZc9VwKeaW8E1Tj9FAeoE6EhtVwHrKSfyCwnAfRcBMZP2Ewb8R2EWZ1wD7BmEQ711CbBj4LGM60yIeYUCziUUiy4MxLN20YB1Kktw4dBdF1PWqpTZ2Aas0QC4cEMhds2aMBvbgDJnu/6YZMKt52wWAbghU6BNqHpfZZ4yEs3GFuCGROTqZLS1qmM2NgC5cCdiaSGjKjdQNRvTgC8knK8u0e4jVbPhAmLV+hD0ikoLVcU7iZCMR+WW6ZOK2XAA/YSiKna4ArrOhPsNWtZ49BuME8g/ZpMF6BtIGpHeGHDmdVmzSQO8bwgMN/XnBovHxzJmkzWDgQHAB4ZzbUvGbDhrUAfyjqVjV59rNlwXVYFsWKwKzHLNRmYfDCT2uOkcilY9jtnIbvRZkDtZB1CDysqp+6pJJkgJzNWcXwRKy6krOlEtGHfZWIDwC/05JoTMm8iiTSr6NAt+net97MB817XLF1Pv5AzGOfckA/qxNzSuuHp9pqovBPch7XQyyYAB3U5VlKpq5Ru/JaB7+gug6zIu2ju6bwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-arrowdown
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABBElEQVRo3u3XSQ7DIAwFUHPZqKcoak4RcdeKrlopLUnA2Azu9x6kx+DBxRjJcri/Ad6WhbuH9gk5zqItBAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAArQMfRHQnG+G3ENbUDVpAeiJaz57ozEhPRGvOH5wR+cHlJpmZkDtcSRadAfmDKy0TIyOTOE4dHBF5iOMW+pGQp7iaTmYE5CWutlXriczCSfSiPZDZOKlmuyWyCCc5TbRAFuOkxyVNJAsnDdRCsnEaQGlkFU4LKIWsxmkCa5EiOG0gFymGawEsRYriWgFzkeK4lsArpAquNfAIqYbrAfxGquJ6Ad/IpzYuCbQa5oEvIi6RoCPS4QwAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-arrowleft
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABG0lEQVRo3uXa0QnDMAxFUXnZ0ilS0imCl01/EgghjiUb3N5XLWAO+rAtvbSuqylX+hvg8/EYcd5kZu8RBy05DwdOZjabWVIE7jhTBB5xcsAzTgp4hZMBlnASwDscHljDoYEeHBboxSGBERwOGMWhgC04DLAVN6yWnFMr8OdxPUAErhWIwbUAUbgoEIeLAJE4LxCL8wDRuBoQj7sDSuBKQBlcCThvHZQF2tbBSRkog6xdE3ik56JHI71PNSwy8thGIqPfJRyy5cOLQraOLDDInqETAtkDRCB7gT1I1Oi+BYlbvkSRyPVZBIldgHqR6BW2B4kPIdSQEjGSO6RMEKiElIpyXSHlwnhnpGSc8oiUBB6RssAd+foKULXkgR9Tb3eghvb7LgAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-arrowright
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA9UlEQVRo3u3aOw7CQAyE4Vw2mltEmpMvEgUSgpAlWRP7D4Vr62v2Yc/UWpvINV0GqHn+VS3RPc4GtmhkBmAoMgswDJkJGILMBhyOzAgciswKHIbMDByCzA48jKwAPISsAtyNrATchawG/Bq5BmzJa6EDu5GVgV3I6sBNJAH4EUkBriJJwLdIGvAFSQQ+IanAB5IMvCPpwPYHFi+TgSYfMiZfEyZf9CY/1Ux+bJv8XTL5w2vyyGITVxnYhas6+LXAk20LPLq3wMsXC7w+s8ALUAu8wrbAIQQLHCOxwEEgCxzlssBhPEf1yAB0ZI+zgY7ucc1QOrVuka0NN0s/mwQAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-arrowup
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA/UlEQVRo3u3YawrCMBAE4OaypadQ7ClK7yoxgohimuaxs3k4Awv7b/l+zhpr7TRyzN8Al3nWuHdzc3ezog9t+64OfOIur/2KRmoDP3GTBlIT6MPBkVrAEA6K1ADG4GBINDAFB0EigTk4cSQKWIITRSKAEjgxpDRQEieClAQicMVIKSASV4SUAGrgspGlQE1cFrIEWAOXjMwF1sQlIXOALeCikanAlnBRyBRgi7hTZCywZVwQGQPsAXeIPAP2hPMiQ8AecT/II2DPuC+kDzgC7o10wFWqLqF//6Z2HySQQAIJJJBAAgkkkEACCSSQQAIJJJBAAgkksEXgqBke+ABo/JGgYp299wAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-plus
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAMAAACfWMssAAADAFBMVEUAAABnZWUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACaTvfTAAABAHRSTlP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AU/cHJQAAADRJREFUSMdj+E8mYBgGGhmhYFTjqMZRjaMaqa2RkUQwqnFwahxN5KMaRzWOahxojcOoTQ4AbZV5yCfFU8cAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-bookmark
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA2UlEQVRo3u3asQ3CMBCF4ZeThwiLpGWbiAkoiUTJBCgTsAYtS5kmRUQXYZ8v0f8kFy5O9qc7d+5yzjpyTAdP2lpwGcezpIekwfmuH0nX5zy/qwIlvST1DZoxLGefao9o33Diet4gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAATrlviy3JGfctNrfjtTBX9zk1UlrgHNFWiOcG9Ia4lyQ1hhXHWkBcFWRFgRXDWmBcFWQFgxXHGkBcUWRFhRXDGmBcUWQFhz3NzLtALdGbk7Hr/ud5wsF/Cx1BbOswwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-box
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAdklEQVRo3u3aMQ6AMAgFUDCetfFIppfFyVEnh7a+vzK9QFoGsqpi5WyxeAABAQEBAV+yPxWO1qbaAM7e04gCAgICAn71D0ZE6uDkHbwz+kaTHhlAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwFGS7kUBAQEBAX8MvAD/hgtwTkW+YAAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-car
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACRklEQVRo3u2aPYrCQBiGrbbyApIbWNjYiJgbbGm5YCULHkC0cq3srEXsLBdyhgUrT6C9hY2iIAtuk+wXeANumCTfxDhmslM8IGLme59kfpKJJc/zSkWmZASNoBE0gkbQCDIE37vdNDSIAeEQW+IbeCkJjt+izQFqSGe7V9AmZsTpDhkuJ9SyVQn2cIb94jtiQXSIGlEGaXtEcHwNbS5Qw0PN3qMFh8SVcIk50bxDhksTtVzUHj5KsIcCR6KvQCxMH7WvnCspK2iji7hPkruVdJHFzlJwhnEwf6JcwBxZZlkJNjCT7RSNOc6Y3CFTIwvBAc7YIgdyAQtkGmQh6KCxTo4EO8jkZCF4QGO1HAnWkOkgI1gnPogvTMdHfA7uKMo5Eizf5Arn9R3qIkEn4ZYpr4IiHJHgNOGgUs6IyzoVCbaIjYKb50fjO7SiJpk3zSU3cIidRV+JvYZye2SPXSZeiLXGV3ANh0jBSQHG4CRK0CJ+CiDoO1giwbHgx/6jyZJoExXQxneuwtCyOcYiwZWg0VHMOjRSJJkmx0okGJ45l4zFdqlAME2OvUgw3HCb0XBbgWCqHBzBCqPhigLBVDmM4H/oojpPMixBnZcJlqDOCz1bUFtEgucCCZ7T7MnohHBPpoqdKd3lfIdq1POgVQBBK2nLQqar5mEH7U/X5OxsVzUWrHK37nUVZL+b4CwZF4WCF87SICPoyPR3BUjnSRJMWjKOt/1dAdJ5OK/P/On2M7SVscd31hPeRUjlMf9VM4JG0AgawSz4Bcvn2/Y8wzZSAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-card
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABZUlEQVRo3u3aMUvCQRjH8XMIoaUlWoIaBbfWFtElWoNeglRTBEFrr8GXoEsguuvkO5Deg2QOQRDSEHI9B89/iQe58y94z9Nv+I7+7z543P3xdN57ZzkHIIAAAggggAD+A+BNux06pl6oGeWVNeO5B4MIrFEfCmF/C4a6BOwbwBUNJeCnIeCXBPSWAjCyCdWjutSI+rECXFLX1D5V4apUI5cjpgzwO2zDfG5KHeWALAO8W4MramkFrqjDCGBYrm8agQtqLwJY4U1HHXDAk3cRPUc+05Vsq8DHhIEvNAKfEga+1LhExwlLtKP1mLiPQF7xjqtuiRadrxnwNPFZWQLfqRNhsAPq1crL9koALqy8bE+ppgBsbvANZrFEA+g2ceAz/sw0d+ADv1tuOoEqPyPbJeq2FIAAAgggfjYEEMAdAs1fvgytX5/VrV+AFlfY4SJ0rhA257nLV9j4lwWAAAIIIIAAAqiuX9iKYx4pWZdQAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-cart
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACL0lEQVRo3u2aMUvDQBSAA4WCIBQEFzsJro4OBQcXoavQH9CliNAf0Eni1B9QFDP5AwqugggKQqeCONwkSIVOglBQxEIh3sEp4byX5i7vkku84VvK8d59yeW9y6VeGIZemfGcoBN0gk7QCWIIHnY6GxSfQighAOFj2FjPZmSCfoyYiF9EQaIgSMouGJZ9iTK2iyaYpMhE6RdNEGITEHwuiyBjBEg2yiLYBQQHkrGqSx2T3z6tKrhOWUgCvlIqwlg/B7E/fVpVkHENBNsXxhELBImOYBsIdmGh4IeOYI3yKQk2o6xYtkTPdQQZQyBgy5Iiw3jUKTI/tICgw4zbAFsxU8k82Aqr67SJaOAZELiWoWBv2e5KV9DjRUUWvJ2R3Bpwkd+iFzmNYBMQvMpIcADk76bZyUSp8AYvJljwDYFJuS3KXJL7iVLFEkx8FQ2QpIqjCDaARCODcko50woyXoCEO4YE74F8u6YE+0DCGwNyB0CuS6zXJRmnQNIvZLkqLyJinjkvOkYEjzM8cTsC8pxhvvAmlcM+M13lDVzM8c4bPrrgMrk75FNv6DnvYR9ZJJE7QV6adX6nxDxTfmfRBNkdubXgHU9pz6si6Fsk9yA5A0otSCwSbJo4NrRFUKn9FHGJ+qYE8z5j0froirFVK9znMycoYY8SUCacgP+WVxxUQTaBseSZGStODisOumAQUxiCHOKgC05iJjbJIY4TdEv0vxWZYrUJ929DJ+gEnaAJvgGhKqD85AlRMQAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-chart
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABOklEQVRo3u3aSwqDMBSF4WxWugvhrjylYKGUGO8rJ6k9gzM08kHAf2CptZY7rxBIIIEEEkgggX8AfGybd/uxstKygC9YPbbfDfiJWw4ZBbZwSyEjwB5uGaQXqMEtgfQALbjpSCvQg5uKtAAjuGlILTADNwWpAWpxcgyN7BbUFdCCez+DRF4WVA/owSGRqoI6A3pw31dlJFJdUC2gF9d6wQikqaBawAhuNNJcUB6gOK5KBtJVUFagBGI7gnR/hy1ASYhtDzIUGVqgJMa2BRkuKA1QBsS2JKZft6CugDIwtiUJ1z2vBxRAbEsS7vS8M+AoXBZSXVAt4GhcFGkqqIzYRiLNBRWNbSTSVVCR2EYiBR3bSKSgYxuJFHRso5HQ2J6FhMT2LCQktn96BBJIIIEEEkgggTcC8m/DH90TeGKuElxNX14AAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-clock
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAC1UlEQVRo3u2av2sqQRCAFSII9lZ2Qlr/AcFObLVTApIipLFLF0He1dqJpbUYSUIKCwv/g1RpLF8qO4ukeI2Fbw5m4RjmzN7deLu6KT4Iy97MfrLZ35nD4ZC5ZDLOCN7f3UmRB6pAD5gAK2AD7IA9ssOyFdbp4Td5qXZIC2aBBjAC3oFDTN4xRgNjGhcsAF3gLYFUGG8Yu2BKsAW8nkCM8oq5UhMsA0Pg60ij/gJz4BFoAhWgCOSQIpY1sc4cvwmL94U5y6cWrAPLkEZ8AzPsVqUYPaKE384wFpdjiW04iWAH+GCS/gOmuokj/JBTjE3zfWBbRAVvgU8m2RpoC4pR2piD5v3ENokIdkLkxsD1CeUU15iLk+wkFawz3dL//+gDVynIKa4w5zfTXetxBcvMgOIneEhRjPLASC650VVHcMh0i75BOUWfadcwqmCLmefGKXdLnwFCu+uYmSdbuoIFZoWyTmlAoXIq/4AZeNbMiqegI9hl5rm2QTkfL2QKofNk9yfBLLNwnloop5gyC/TsMcEGM2rWLZVT0xgdVRvHBEek8sxiOcWMfDcKE8wzm9Wu5XLcmOE75DnBKrPlKVkup3YhdKtV5QR7pNL8DOQUcxKnxwlOSKVHIQl/VLsBFsAW8f9+FpLLYFuDsSac4IpUagrJ/dE4lvAS5mmSeCtOcEMqVQQEbzTkXgTyVEjMDSe4I5WKAokXgXhPQA15CpQvBPIUSdt3nOCeVMoJJN4G4tUC5bVA+VYgT460fe+k4MV3UVODzHNag4zJaWKQxjSR9kT/IiipNdGbWKp5QpJaSzVTi+2kktqLbZPbpSSS2tsl0xveuJLaG14bjiyiSkY+srDh0MmLsMuIfOhky7GhpyEX69jQpoPfn26cYh/82nR0H3bTlOjo3onLFyeuzy7+AtSJK2wnHiE48YzEiYdATjzlcuIxnjPPKZ14EHs+T5p/X92fKf8Bhf+Aj27cjNYAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-close
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABWUlEQVRo3u3ZQQ7CMAwEQPNZxCtA9BUony2XHBAqIbZ3NwI5FxCXZdRCbe1p33f753MqYAELWMACFjABvJzP7x9d++sm/q6HuY/WoMCrmd37+5sQ+TEXCXwNMSFymIsCHoUokF9zEcBRCBM5lftobcsC7y8/cBVyBmf9Ct4Qt6gSOY3rVxD2J6NAunCMxwQT6cYxgCxkCMcCopFhHBOIQqZwbGAWmcYpgFEkBKcCepGGwimBHqShcGogCjmNWwHMIl24VcAo0o1bCfQiQ7jVwNlHQWpAXwX04FLIFcAILoxUAzO4EFIJRODcSBXQM1sacp9UACODM2yfZAMzWwEEyQQiVp40kgWE7XNZJAOIxKWRzHYJPVuGkOx2CTo4R5CKdgmFCyFV7RIK50aq2iUkzoOUtEsM3AxS0i4xcVO5zHZJgfuay2qXTIgb5qaBv34KWMACFrCABRycJ02RpaDOMppIAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-comment
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACE0lEQVRo3u3aMUsCYRzHcdsCoaE30NBge4tIYxxNEQUOLhIoQTUEbkIvIK4hiLbIFsGhiIaIFpcmIRASCWxpcBIcxCKQ7Pod/J/luDv0nue5O5+n4TsUdj4f0ufunucSlmUlVC6hDXCvWBRREmVQAZnoBjXQBxqgH2pAv2vQa0z6mwwdg3ssIoFLKI8uURtZnLXpWHk6dmTAdXSGOgJQXnXoPdbDBBroCg0lwpwN6T0NmcAUOkG9EGHOejSGlGjgDqpHCHNWpzEJAR6hboxwrC6NjQt4jEYxxLFGNMZAwHKMYc7K0wILIc+SImbZwqTANdSaIRyrRWP3Bc6hygziWBUyeAKzM4xjZf2ANQWANS9gGn0pALQNaTdgSQEcq+QGrCoErLoBmwoBm27AvkLAvhtwrBBwrOV/UPnvoPKzqPLnQeWvZJS/FtXibkL5+0Hl7+i1WJPRYlVNi3VRLVa2tdib0GJ3SYv9Qa8d3nfVdnidLQtGxWaPnrUoAGV/Cg7i+pTFCifOfqRkW9BjLFKABifQFI0TDdznwD3QdzjWwPOAuNdppv0ogc8BcPZjXDlZOJHAVfQdALcrEycSWArwsczJxokEPk45oRhh4EQBN9HvhOc5U9ZsKRN4PQHuTsZJPAzgFvr0gd3TtWQyChwvcAHduqBe0CnaYEt3UcYDPERv6Ald0M/2ct181Chf4P9T9zPaH41oc0sXEECZAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-doc
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAn0lEQVRo3u3ROwqAQAxF0TebFVeh4CpkNjs2Ioi/0ULJ894mVYqTpFKKnEu/B7ZN89YF0jw7SUPt0phzOGCR1NciowJVi4wMrEJGB14iHYCnSBfgIdIJuIt0A26QjsAV0hW4IJ2BktSPOQ/RgLeK+EFboB4CE0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ4PfA6NkDJ0C9jqCEmZ85AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-download
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACEklEQVRo3u2aMa7CMAxAy1apx+g1mFFnRhb0B/SXnsEXgJVzIAaG3oGJhZULdGBm6DeSK6EqoY3jNGn6h7cgSPJQlDi2k6ZpkphJZiP4u9tJkSJLpESOSIXckRp5ETV9VtF3SvpNKrUOacEFUiAH5Io0TK40RkFjehfMkC1ytpDScaaxM1+Ca+TkQKzLieYaTTBH9shzBLmWJ82ZuxZcIZcRxbpcaA1OBDfIzaNcy43WIir4gzwCkGt50JpEBDeByX1KbmwFVwbbMhFm6HZdcQVzwwPFh2B78OQcwb3hlvEl2NBajQTXjHvOp+CzGwx8E8xGilBcRDzZEMHtBOVatn2CC4vA2ecW/QzQF98EC4t/LwTBhhy0gocIBA86wdTysRqK4NshVQkuJ3y4dFmqBMuIBEuV4NFy0FC26JujSrCKSLBSCd4jEryrBOuIBGuV4CsiwdcsBaPfotEfMn3XBDiQ4AKca2LIRQ8TkNNe9ENDNQhcThuqmQTbELCcNtg2fS5BoHLa5xLnwQuByX198HJTFhCQXG/Kgpt0gkDkepNONmlD8Cw3KG1om/gFj3KDE7/c1L2EJFfOKHXPLb7YSoLFfMbFF075zEbSRo5dPjMtgHIlbeSsCqBSJWxwJCdSwpZqQgAHcmJNCFJtJCC4LcXbSKQagUDgQHHWCDSLVq5ZNOPNpp1yFg2x02lp/u+6nyh/KbFizDLuEKUAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-edit
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABdUlEQVRo3u3azYnDMBAFYKezbB+5hnQhVoWkApMa0k3a8JrFhmWx4pnRvPkJPryLwUYfkvVk8DBN0/DJGQ7gJwFv12vEXOaMc15LxuXaqXVPJmCZMzXy3UJGAJYlUtyaR0Tg34GXDlzzGZ7AQhjgmYHbfIYXsDBmoQqQj/Wd9AD+x9UNxF0B+bvxWAO3cC2ExkxeLIHvcGueysjRCkjBFcA7+bIA9uB6kXCgBq4HCV2imjgpErbJIHBcZEHVBBJHRRbUScYCt4esqKOaJa6F/EIdtj1we18hakBP3JozChgBV5EzWCPjtJZojYpDfg+GwKGAYXAWRe+KQxe9Ow5Z9CFwqKIPg0MUfShcLzA8rgeYAicFpsFJgKlwXGA6HAeYEkcFpsVRgKlxe8D0uD1gehwVWLPiqMBBEWmK4wA1kOY4LrAH6YKTACVINxwVWDqQrjhOTUiQ7jhuD3KQIXCSoqcgw+AQJ5lQOG1gONxb4PHP9gGMlx9GSwwlRAp8OAAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-email
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABVklEQVRo3u3azQmEMBAFYPvYAgSL2G7ELgLpZkGwKsHTgh1kFRR0dxLzM7qZcQ7v/PJBnMPEwhhTcE4hQAEKUIACFKAAbwBs6nrOY8prSj/FEEu/nH02gMByypsg7DuzoYSALQPcmhYCjoyAIwQ0nAIBNSOgtk1RDkhtm6IckHp1QEBFHKk351e2IUMVucPZhowhivzBHQEpIUGcD5AC0orzBeaMdOJCgDkiD3GhwJyQXrgYYA5Ib1ws8J/IIFwKcFt0FTKqMwa4LXpehIzuDAVCV+Ts65rUGQJ03f+zkMmdvkCfjxsbidLpAwyZXFhItM4jYPBYRkCidrqAMUWpSPROGzClCCoMDUandm3VUotSkJid2rV0Ug3dpZNyLZ2o43ZI21aNy+JX3XJ1z/7xpWME7CBgxegBtHI9Yc8PoQNB2LCcHX7Clr8sBChAAQpQgAIUILl8AH+x4sg2bybQAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-event
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA4ElEQVRo3u3aQQqDMBCF4dzDAxS8l/RqBcFTCa4KQg8QU0h3M6iNTTPJv3gLQYb5FpkQGOe9dzXHNQO8D8NefIxLSLYaAAEaBXYhj5BZKKR9H0mOGnPsvdOAt5Dnn5q7ssbb0EvAsYDmrqoxScC1IuBLAu4V1g77meay1QBoPQABGgRWlSaBnEGAANsCHn3YfvU/QIAAGTIAASYCfzoEShgyAAEWDmSKAgTIPcgUBcg9yBQFCNDKPQgQIMA04FrRkBEXgaaKgOIqV68s41mLuoz3WaccjcKW2Lu8TsnWvdFsYLVH8PZUGKkAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-favorites
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACYUlEQVRo3u3awYcCURwH8BgilmUYomt0iiVi6brsKZZOsXRp99IpIrp2jYiI/oCIJZaue4pYlrl2WiKWGOYUMfsevyFjpnkzb+b35o0OX9a2O+99mOb93m9exrKsTJqTuQHTAnxvtzHyRPKMMZYIoELyA1HSCHwlsSCttAFzJPsLIP35Lk3A/gXOTj8tQJXEdAHS32lpAE5dcHamsgOLJKcrwDP8jbTAjys4OytZgTUGnJ2ajMBtAOBWNmAzAM5OUxZglmQXAriD/008sBsCZ6ebdCBd1I8cwCNcI3HAPGyDFhw4Owu4Vl4UkC7MDZIhyZrkEAHKKwcYYwhjFqMGlmGbMyb5IjFixLDGgLmMYW5lVmCV5I1kRvINZZQlSc4w5xkYqm7AjkQgv3S8btFBCnADv+/gSGLciPUhM5cQNw/yFKVdr6VEuKWzU8eyTGRhDUo6bu1Ww7Kug7QbtkkwbgNz5Kpk7qFZmzScDnOLpFTTQm6B4srOryMXphYtOJq3orKHucRSbNNi908gjo5dins38SCo6DZgbJT94KNPvzPqnIJ23qLY8JqIQBN7R68JuEU1TGBFALCCCWwIADYwgT0BwB4mcCIAOMEErgQAPzGBuqDiGg1oCgCaWEBVYC2qYgArIUutORTKJehfnuJcC3mALwFvq5HH9qYAn5lxrIU8QJbXY0foT6qMt/yA8a1UFwN4bQ38hQ55LuRpqA5cg3st5AGuPB7hrYgO2SlwLZ3nRAYPUHd0teoxHiKqO7p6OgbQgF5kLUaY25GUdZC1MCxQ8Xofh5Qy69fgdmb7BpQk/wJg65YtkAkiAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-find
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACDklEQVRo3u2avY6CQBCA6X0LAg2voIWJLbna4gobc29xxsZOchgexf6s7gobikvMXaNUFryAVtyQDI3ZRX52Z3+0+GJCYIdPNzPDoFMUhWMzzsMIvs3nTfGBGZAAOyADLkiGxxI8x2+xrlC6CI6BDXACioac8JqxzoIusALOLcRuOeMarm6CE2DbQ+yWLa6pheALsBcoV7HHtZUKTu7I/QAxMAUCYIAEeCzGc+okJ6oE3ZpteQQWgNcgiIfnHmu2q6tCcMW5oU8g7BAsxGtZa66oBcecbFne4LBHwCFH8iyrhPAEN5xtGQoIGnK264ZK0OcU8YXAwAtOM+BTCM442dITGNjjZNcZhWDCCBxL2D4xI05CIbhjBJ5KEJwy4uwoBDNG4ECCYMCIk1EIXhiBBxIEB4w4l6fgc4s+k4z9ZcL6Qm99q2Z9s/0Qj0vWP/BSjix+VY0sKIZOFe82jg1JJFUNfv+oJFWO7pcUkqpfvvAkv4AUuOJnBIyoBEW/Pls2/JIOwCuloEiaSubA2kTBkm8ZGVcnwVRGWdFJ8Cqjdpr8CzaS1EkwktEF6SQ4wlIgVFInQQfrXC5SUjfBkg+RTbuOgm0KP4+17oJ9JfOqrdNZsK9kmbBGugv2lYxMEOwjmZoi2FXyapJgF8nUNMG2kpGJglUzkNuSRevausO98YbJglWDHtUNqB7vT+m28g8xD29yCwkOEwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-folder
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA+ElEQVRo3u3aMQqDQBBAUStvkEpIG7DyBjmN5EA5gxAIeCrBKiBYWW3GsAYSRjAqcR1+8UsXXzMrmUTOuchyEUCAOwFe8lwrkW5SJbmJVf6ZZOTMvzQFeJIeP8C+659NQwbeF+CGylCBB6lZAdj6s4ICHqViBdxQ4c8MAjhnqITSx3DTgEuHSii9hpsGvBvAvYebBmwMAVsN6CwF0CKwk67SWYq3/I6cWezfvTd0GjDbIWqsjIuei56LnoueexAgQIAAAQIECBAgQIAAAQIECBAgQIAAAS4Dmv/pvrS+fEmtr8+GBWi/Rqt3CKv9u+sLUP7xCxDgJj0Bi1amAADoafoAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-food
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB10lEQVRo3u2aMUvDQBiGn9giOLk5lYI4lIpSiggiggquDhVt/0Eo6uAuiEIFBwcHFekfcLCb3Rzq4iI4CZ38Cc4dXOryBUJQkzTnpS3fC4Hj7nvf5Mldhjvi9Pt9xlkTjLmyYQV11/Wm2AkMxe2PoiVgG9gAFqXvHXgGHoG3oOGu2UwGaFGHwD5QDPSvy1UFboFrozNoScfAGZD5o6YIXAHTwPkofYMucBIC5ykjte6oAJZlWU7G8EyKpzwKgFWgNICvJN6hBpwFKgn8FckYWsA1oJDAX5CMoQVctpGRJuCCjYw0AedsZKQJOGMjI03ALxsZaQJ+2MiIAzhlqMbTqwHAV5OAW4ZqPHUMAHZMAl4ANWnv+fq9dk1qoqoNtBLAtSQj8XapC8zLdQmsADu+8UtgFdgFcj5PmHpA05cdR13x9kzMYMP3wDngCMj7xvPS54drRHzQp0B+VLiGeI1seO+BT9mD7UZYNs2oN7eRn43xpl+AB2ATqAePRuSDb0dZNjbznbBjw7r74+Y5aHIwq8j5YYdOY39sqIAKqIAKqIAKqIAKqIAKqIAKqIAKqIAKqIAKqIAKqIAKqIBjAdj9pW1KxvIH/SH2FDiQ9s0/ABrLd/Sv+xHXN/rnXJozUaVVAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-gift
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABtklEQVRo3u3aMWgUURDG8d+KRhDUKmmuUSFFIJ2NhLRiiiB4QTgsLA4SJDaKpYUo0cbSJgSSIpWVIlootoJdwEq4AyG1lWBjdTZTLIu57MHdHob54MHb2Xkz+9/Z2X3FFoPBwEnWKSdcCfi/6/RRJ+5tbIwSZwF3cT3mv/AFb/EGf45YdxZt3MIyLuI7PmM/5rW0vbMzGmBNFejgKeZL9nO4HWMPz/GjsvYKHqNbsV+NsYYneI3BtB7RTbyswFXVxQvMlWxzYesOWTcfsTen1YNtPECrhu8a1kvH62E7Tq3I0cZM04AdXMYubmIW57GEZzistEInLrgV83J7HMaapYgxGzF3I0cHl8b6kqmhG3iIVxX71xjvojdXw75Yqtpiyf9D9NpByfYb72N8wxZ+4n6TgBfQH3L+AI9wJm4GXKv4fAqf3pA4/ci10HQFixo+Paz8w35nhDwfa+bKD31V49iFF8fEKiaQK/eiCZiACZiACTiO72DR4HUUWcEJVHAcO5q6lZlYjnzJJGACJmACJmACJmACJmACJmACJmACJmACJmACJmACJmACJmCTKvKf7QRMwKnqL+XHQcWnPpqtAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-globe
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAGAklEQVRo3u1afWiVVRi/17vdu+z6cbMajk0TcQ51tWls1AhFWDTSEnFIbZh/NK4F5h8VDGdo/lGQUWqkBkVWiJWWGpSFWDEqKvvULIskXaYmq1bO2pe7PU/8DhwO73vec8773jVkf/y473vvuc/z/s55zvN13lgul4tdyoiNELyUCGZbWqJChjCHsJywkXCQ0EHoJfxB+Jqwk9BKaCBMIaSi0p8vgsWEJYQ9hJwDThPWEmaHJRs1wXLCekKXIzEvfEC4nTDm/yQ4kbCG0O1I4m/pmk32JsJqXIvvPyHUEwqHmiDvmyMOpI4RVoLMLMLL+LxMks3meRfhlPS/TYRJQ0EwjVm2JXaI0CjtrTihiJDQ6LpNkfEDoS6fBK8ibHc0x4cJoyRy9weQi8E0+xQ5/xAWQ0akBNlD7nYgNkA4Q/gcHpZlTce+ZW85TaPzasKgj9w7dSRtCY4l7LAk9gthF6ENe4zvqwilhG8xphefrT56FwXoWBwVwQ0WxNiBVBOuJVTArMVeqsGsM+HvpNU5TLhc0clO50ONnt9hrnVhCTZZkOMMpYwwDv8tIIzGfbMkczocjJg4JvqIZHK8V9dhhb8iHPfQtUlyPJNcCZZrQgHHsE5cn8BsN2L16kE0DpJpXDOWEc4jTPD9Y5BRAZ3seF4C6QF8n1F09xCuIDwjkS10IbhVcRYVMKWxwDjcj5YU8EMnFTlxyWncjAyFw0WJtB8PQEaNQuaix+RehG62hHP4rt6W4FwpQ/mN8BBWwzWd40l4BbM9DytZIj30T5ispQHbQJjmHVjtLVLGM8aG4POS0LOEW4Jijwb84D9LnnMCHuZL5eH5t34NOTbbqch534eDKYOTysEyjAhWKYnzLI+HLjII1AJl0n7NYTWFE3rPwomtwt7jyX5C0t8sJegpE4LrFME3KilWCnFtL+FKQ5I87lbCW4qpT/Dxkl54jTBDmmAhoxB7OIfkQUuQCbR7eK13QOxRQPx2Es7D1FzTyn0BEmvTVTwO767KbcPva4MIVnvY/UfwWj0+Spc57k0mtwKVyZ+GBP8izPeQVYk4zEVzSkcwqwhsx+rplD4nJdKmiMPRsPN5HS0NE4KnsBeT0sQmMFnvYswUHcHNDgn1m5YhRAT8Ew665mHPtSFheFC6fwNjGnQE9zso3W65gtWoMFzKrkXQ9TRM8mNcD0iL06ojeNRB6T0W5JIonVx7NZ3w6kmkcAnpt/P43Kkj2Omg9ICFibaEbEbt8rAW7g29gPLpv/6OjmCfo+JWzYqJPktTNny3bZWPHiY9WVQ1+SDYg9QpoQT3T5HHvorkOAy5QwGWUixSvqhNVIDN5EWQHKVUIxdA9DPCF47yFwaY/zUY1xG1k1ExFaFgPFodXMrsQ0ydiApg0EFucQDB2Rh3MOowoeIwquwkVvJupHT9WMH5MN1zhvKE1w3Kexdi3MaoA70OS1E9TFa62L0OstIBBFdi3HKbVC0K8MrdQKhFMyqFZlQjak1TOSsCsqOnMG6OjmBNHgiKNsM+Dy9YjH5Ov4EMdlTXo+N2HayjRCqZRG2ZsS2XosKzPildIc4oTK2hC6nZIEw9I1UTe1wK3igwgGpcl8JtI3xvKfdHrKioB5eYEKyL+KxPmOgMgyqjCNukw0J2CdLFLhFKbJtOUaHZMF9NofNtKvdxfK636aotCHGw6YdvDFx9DNWCjdyTeNbyMI3fqLA6oP04Hn1YW7lrXDrbtY6nuCYm5UdS1/vxwxGkgE6HL/fmgeDbPj3VBPJWW3kNYU6XeKafzEM8jHuQ2+to8qHPB0sdDkBtA34lYqVtLygd1RH2TMcjbC9UepxdnLWUsRv5bKQvIcyMaCULFHK24WhHUG0Y5jWS0pB7chBnFOKQ54Ll/zfgbDKvLwLF4V1dQkg3Vk3uRJuGgqahfpWrFslAtyXBDEj+ajh+q8+By5C9jLcAuatpgj4NdV0vCBzzGNMFmXOH0+uUdSi1gurJBwj3+TSe2iGjaji+Lyrv0Rq0PzajkXUULck+oBPf7ceYLM4s4tl8vhA78s72CMHhh38BwV9rrqqh5bkAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-group
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAEYklEQVRo3u2aW0hUQRjHdyvSLhZIJZlEkNE96EZWD73YBbpBQWkURbIEXSiKfRBKfSjBwkAiIipcCaQrJT30EJRGFhU9WIKVhBTlgz50WSujcvsG/gPDcNZz++bslj38YJnLd+a358zsN3M2lEgkQv8yoQEjuCsS8cJCIkpcI9qIr6ANZVG0CQWNX8ElxGmii0jY0IW2S/4WwX24QwmXtKFv2gpmEZUexHQqESutBIcQVQxykirETBvBKKOcJJougmuJDwYEPyB2SgWziQaLwfURd4hyYg2RTwzTyEddOdr2WcRpwDVSJrjbYlCXiQ0eLroBffV4u1MlKL7ZRmUgP4gjRAbqw0QhUUHcItqJb6AdZRVoE0afDMT4ocRtNHEXnQhusZCTA91EXHcx366jj/xidMktqRCsVQbQjIENIvYQvR4WlV70HYRYzUpdbdCCucRbZQDVKB9PdPtYObsRI4SYsvwtrhmY4DptYHtRvoDh52EBYu3VytcFKXhYufAnokCZe34F5VwUMa8SB4hFyuIViOB5ZUBiRRyF8jMMgmcQayhIyQ/9DWVALUr5EwbBs0q8MXhUm7S5/YV4RhwlppoQbLAQFCvfe59yItYyxJtP3HXQ57XyWLMJ1ie5g899yIlUbRfizCPeuOjbQ2zlFDyhBH9JZKL8og/BeuWxvO+hfye+GBbBndpv1yyUFxG/PApu7Ce/dUqd032knaD6e/db2btlYnfw0eXAxB0bTIzEguJVUJzvzOAQHK6du4jFZbtSX+phBy/6TfGZCfU5XXCc5KIXtOBCcj3qxhJPXQxsOWMmdJBLcIdF8IeQC2Eb1OlwcchizIROcQlOIl5pwcV8PKRM9M3Eu34G8w5tQoyZ0CNiNNeO/iTxk7iNhabAoo1Yui9ph8BdKNOXdY5M6DOOQ1gEpxErbYJNxFZnOh7bQnzORV2IMROSzDF9dC/IwYSvxtwSUiPAdJRVo80QhkxI8t1JfsohWOZiUDMZMiHJC2RDLIJ5RAkRQ04aV3berR6Wdj+ZkOQ4jj18CYr5EtHOTSQTPAjW+cyE5MFXTLm+Z8Fsm/cQxR4e0TJtAKUeBG9y7CbCDl6yXMFCkoNdR3+P3C+0ydGOJNxmQuJnZzGHYMTFKzC5Morj+RriMc5vPuFzDerk26ljyn7QTSYkHs39HBvevCRzLhnncFhkd7FFaCs3zyuUOrtMqAen4xkcgiUe5kUHzli2EbOxHRqJz9tQ16H1adIkrTIhcSbzgFitnKb7FowZeEWWjHLMS6tMaBUxF/WTOU/VWpglWjEPi7BJlVnOONwVN5lQDodgnEmsA3conzETKuMQ5JC7p6ycnJlQq/LOJI5YMcTOC0pQyC01lAlJwQkWdc24Vpg72e7vtbepTKjY5twn27SgyUxoBPraHW6FTQqazISc/gkpYkowiEzICWIMeSYEg8qEnFBiQjDITMiOmAnBljQSbDEhGE8jwbgJwUQ6MfAE///r/i/lD9ew719ky82mAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-help
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACx0lEQVRo3u2aP2siQRTAtTkE03qthXBwKWzShGCRSra2tFmuiNdsbesH0Cpgoex3CClSbJUvYJVmW0HuOg+S1iPeE95CMG/G9b15s+Y2xQ9k3Zl5Pxxn3vypbLfbyv9MpTSCP29uXFEDOkAETIEESIE1sEHW+CzBdyIsU3MVh2vBKhAAE2ABbJkssI4A6yxcsA6EwL1AysQ91l0vSrAH3CmI7XOHbXkTbAFj4NmDXMYzttnSFuwCDx7F9nnAGFQE+8BTgXIZTxiLU8EfwPIE5DKWGJMTwb5AbgXEOBq2gTOkjc9ifIcr2ZcKdpnd8hWYA1c5uv4VvvvK7K5drmCLOaDsspQhY9oZYlnOwNPiCI6Zv9xQkIEMmb/k+FjBHnOemzvII+fMebKXV7DOzFBWOf9zef6TK2bGU88jGDJHtdgS9DUww5FviZ+vLe/HzBjCQ4JVQeIcWuQWhpWDSTIUJOhVm2AgmHy/G4KdWcrMDGXagjgCm+BEUPEXQ7DLA5M1VeZMEMfEJFgTLla/EoE2gN+eBXcONUqwI8wPz4lAd8/+eO6iOzqUYCSsdEQEOsLv/noaZDIiSnAqrPQXCp0jI3xGdUutaSJjSgkmisubt/JaE/1bEkowVRQcKadq+6SU4FpR8Jtysv1uRUMJbhQFG4rLJYqNb0GtBe9RgusCBGMHA0ruLpoWIKjVXup7mvAtmGhM9McOMg3F9qYaqZqNS0LwUrG9SCPZtnFLCN4qttfRWC7ZeCHy1BeltozLJemC91SYaG1ZnAqB1qaTjUdgADSRAT7TOBWuam0b2uQuiEHmQkHy4LahZOPXxMAy0Q8cH3Xn2viVbN1TNC2CTYdH3Lm37iWHL0UJHn34Ijk+891F2cdnkgNQX4OM6ADUxRG25jTh5Ai7FJcQSnGNpBQXgUpxlasUl/FKc52yFBdiP86V5s9b9x+Uf/4nq7iNsVR/AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-home
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABYUlEQVRo3u3aQQqDMBAFUC/hndx5BTeltxB6Aq/TE/QgvYPQXZpCFqVEm8z8H5N2Fh9BopnHQEjQzjnX/XK6vwGeT6cSmUPocx0BfMFcyFw70G0kBVcEWRI474yfWwfu4ajIEsAUHA3JAF6EOAoSDdTi4EgkEIWDIlFANA6GRAAluEsIHakFSnHvz1ORqK2aBFcEiQBKcJ+bbRpSC5TiYgVTkBqgFlcEKQWicHSkBIjGUZG5QBaOhswBsnEUZCqwFA6OTAGWxkGR34BH4WDIPeDROAhyC1gLTo2MAWvDqZAx4LVCXAyZMu81BlwrxUmQa24Hj8blIqMdnHweBNzdZ/EZfPqQIdy7E5Avw7S1ik6hk2u4anE3n3FnGziGMVrke82T9DQh6dyY8N5R2En4cSm3gCXjEL20CBwygEOLwD4D2LcIRH2xMqABDWhAAxrQgAY0oAENaEADGlAOtL/uG80TNJjiVeB/r2IAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-image
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA9klEQVRo3u3aQQ6DIBAFULwnW9NbTLwP9+IaU5q4MI0lKB+aGf/ib4wGX9QPCQZVDZ4TCCSQQAIJJLAB+FpX9RQCCXQADMZCIBq4lMSSVJL3pP3YYh34AWyVb2QbgJwKjA1FEC0DUwMwWQbmBmB+OlD2uHxF5XCeeCsZOTlXvEwTUrlGrE/00vDUxepSTS4spGUW8GrLIXA1JBR4p+VQuF/jwoB3Ww6JOxsXAuxpOTTu+z67gb0tNwIHAyJabgQOAkS13AgcBIgogFG4vwL1MFeqV+CMEEgggQQSSOCMxTY3X6wBucNLIIETgfzTiUACCSSQwAcC35LLSVAaMD/pAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-info
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACEElEQVRo3u2aPa6CQBCApSPhEBYewZaaUFvSmFfIa7iJtJzDWFBQvQtY2dB6AQprChyT2cSQlR+ZmUX2FV9DdGe/ZLOzOzurpmlWS2ZljeDv4UCFC/hAAmRAAZRABdRIhd8K/E2C/3Gp5kEt6AAhkAIXoPmQC44R4pjGBT1gD5wnSL3jjGN7pgR3wIlBrM0JY4kJboAjcBeQU9wx5oZbMAByQbE2Oc6BRTACrgblFFecC6ngD3CbgZzihnMiEYxmJvcqGU0VDIiW5R8QA2skxm8UyzX4VHBDtKE8Rbaa8bdEkrludx0ieCRaSnHH8o+JYhzHCu4I89y6Q3BNmCd3QwU94hOKhKA68XhDBPfEu53EElXs+wQdhoMz9ybTPqA7XYIhU87iShM6wi7BdIYJfSzpO0F34mV1LjwdXJ2gvwA5ha8TTBYkmOgEM8aAkpvMk0wnWDDKSaUJRaETLJmCSSZ6RakTrJiCSR3VXql0gjVTsL5qAUfM2krBakGCleQmY0KwlEwTJgQLyURvQjCTPKqZEEwkD9smBH3J65K04NvrEteFV1owlS5ZSAuG0kUnScHeohNH2VBSsLdsyFH4lRIcXPilLt1LCI4q3VM/vkjcB0c/vlA+n3Hf6D9+PqN6AOWsyUx6AKV8wuaoqpE8YVvRhGBFG4kVjUBWtHJZ0YxnTTulFQ2x39PS/N91/6U8AC04C2S+OuOtAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-key
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABtElEQVRo3u3aMW6DMBQGYF+CJSdhyc7GKaJIOQFdKjgBK1t7Ao6RpXMk5syVOiGxuS/SS4Y2Nhg78Bu94V+QY/PJzjNYKK212nKUAAUoQCzg8XBAzo5SUi6ckq892sQO/KDoPym3Anx/gtM8k9EDTbhNAG246JfoGO4z5iIzhtPcRsUInIJ7iowB6IL7h0QHzsHdc9sjd8jAMVzFsVZUVOAU3L2tDXlBBM6pllUswNnVkvdA6CXqVS1NbxYoQO9qaeobARikWqICg1VLRKALbrRaogHn4KzVEgnog5t0DrMm0BfnHF9gSikoLaWj9JyOrxXcZhWcD3BPaSg/E/apW5uvNXBzgSeeIR0o1Su3IlfgG2WIBecKPMWGcwHuAy/Lb+4TBthYbvZKqSkZJeFkfO1q+V2DAkwt1fJMyS0D5NzGVF1TBGBhmbl8wiC5ZSYLBGBruLnaYaDa0EeLADQVl8xhoMzQR4cA7A03lzgMlBj66AUoS1SKjGwTm9/oN/+o9oqH7Q7tYTvk69LAfSk0YIgX3oH7UKhAnyOLbsmZW/rQqVnqP7fmsaGCBMr3ogIUoABD5hfZL4jEy8D2rgAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-like
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACZklEQVRo3u2aUURDURjHL2NcRkRERPQaERExxhgjYk8xYlp6iojoKWJPEaOnGNFTRE89xYiIPUVERIwYI2KMcfsO3+Gac7dz7v3OudtxH34v25z/+bFz7jnfdx3P8xybcRLBRDARTAQTQQrB/b29ccwCFeARaAF9wAPegHvgCJiTGEeGDaAK1H1510ANvxs7horgDHDhExpFHycyH0LKBY6Bb4mcH/ytG1Uwi4N5ivwCZQW5PPAZIucDWAsruAX0QoT6qUnIHQKDCBlsjkVVwXzEUFnJE6IMtjTWZQXZRtElCuZUBXI7xBlfuF+MFbwhDmb8Acu+jGX8jDqnMU5wkfCvOcyzT7CpKWOADoGCl5qCOQXcEHRm1IMEXQ1rb5gWojOD7aquSLCgOdgkRZHgmUWC5yLBB4sEH0WCbxYJvosEuxYJ/ooE+xYJDmwX7IsEOxYJdkSCLYsEX0SCDYsE6yLBku0nGdeSdchqOqmg24QNx7XKqOtSBmhPsdyTzI0+q/HSq/X0wi+7MkWnypTJsfLHpmrZ8GBa5VQKv2VNxSEqWOF3JWrpnlXAXidQ7oqidM9JYwF3Is6ZWHUna774ycX8GGGdpgXq7tIwGSwvmnyUdBWbOZEEOauG1uZtmL4jhSCnig9ZarG2qGsUhyBjifg+2QzZRNUmyHfaOlHpPR11PjoEOaWQh4Oe6kYSl6CDbeWuolyecg66Bfku25GUy1HnmxB08JzYMS1nUpBL9gKalUVduSYFg/rxpzozTQsOd4/vdOfFIZjGl33aeJ61TpCxDeyayIpLMDXqkqpVMHlfNBGcTP4B/73CfqDLL9kAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-map
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACH0lEQVRo3u2aPWvCQBiAhUKhOHTq2iEkFDIVOtpBcJVOhToKIh39AQ5uOkez+wNchY511rWDm2ZSnJxEQUjfg/cgyF3Ml+flvOFZzrv3zUPO+0zB9/2CyhS0oBZUTPC72YyKBdQBF5gAHrBHPCxzsY4VNa4MgmWgDywBPyJLbFOWWdAAusAqhtgpK4xhyCZYAcYpxE4ZY0wpBD+AWYZylBnGvqpg5YzcH+AANcAGioiNZQ7WCZOsXEvQCOmWC6ADmBEGJRPrLkK6q3ENwS7ngX6BaozphFLFtqyYXdGCZc5oSR6wlECOUuJIrugUIkqwz+mW1RRywTfJ6q59UYIWZxLvZCBH6XAWA5YIwTpntDQzFDQ5o2tdhKDLSOxkKEdxGHlcEYITRuLaBQRrjDwTEYIeI7F9AUGbkccTIbhnJC5eQLDIyLPXgrqL6kFG/WlC+Yle+aWa8ovtm9guKb/hvYkjC+UPnW7i2DD4JqcZyk1lOvgN/ifXGcitZTy6p3xmIPgl8+3SHTBPITfHGFJfnzVSCDbycD94z9kznsPDttILEloJBFt5ueElPACbGHIbbJMbQUI7hmA7T3f0lEdgG0Fui3VzJ0joRRDsxYkpm+ATsAuR22Gd3AoSBiGCg7jxZBR8Bg4MuQP+lntBwpAhOEwSS1bBF+AYkDtimTKChFFAcJQ0jsyCrwHBNxUFCT9IQVXBd0ReQf3FrxbUgpnyD4MbAZUQW9NvAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-menu
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAnElEQVRo3u3asQmAMBRF0YzmMuJMzuE0dpnCNiagjaQQO39O8SobD4jxgqmUkiIvAQICAgICvgAu89w21W11R1352Y7r3puhC2wX9h/CnmuGqQdcA+DurT1gDgTMQwLDP6LhXzLhj4lQAwQEBAQE/ADUg3pQD+pBPagH9aAvGUBAQEBAPagH9aAe1IN6UA8Oc0z40wkQEBAQcEDgCTEqtItU9YrUAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-money
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAD2UlEQVRo3u1av0sjQRTeFHIrQUTIHyAKV9nZWh0hBIKNkBDSyAWMTRpJkT8gBsSktUgTrCxSRCzkCPsPXGEhZyEWgqBNihzYmmLvBb6Bx7JZd35FdK/4IJmdee99O2/eezM7ju/7zleGkxiChwcHpuASdgh1whlhRLgnTAhTYIK2EfrUMcY1ZYdpgilCntAl3BB8RdxARh4yP5xgmrBPuAoYekvoE44IBcIWIUNYAjJoK6BPH2O4jCvITn8UwT3CJTPojtDB23cVXTsPGXdM7iV0LYzgJox4hQG/CQ3COusz+10itAlDzM6Y8AaM0TZEn1LI+AZk+9DVgW6rBHOEayh9IbSY0hVCmXBOeFZYf88YW4Ys8TJb0OVDd84WwQrhDxT9IuyifZlQRUT0DWEEmcvQsQudPmyomCb4k/AEBT3Cd7T/IFwYJBbEBXQ40NlD+xNsMkKwwsidElbRPstdDxbJCTxAlwPdp4xkRZdgjrnlTPA3rI9jJGwZQ4OyZcZOoXMFNpwyd82pEtxkAaWHt7eCRKwyEzoEBbqwYZW563VYdI1DsMMCilhzxxquZoKgDxvEmhSBpyNLcA+554VFy7qCW9ogOGVrchc2vgaLgSiCaVahtFi0fFCsLU8IxYgg1kSfR8nAI6Jri1U86TgE91mFsolcdKFALCtZXmUVUsgybBQVz/57BFOscG6grSqpuKdYuGcVPKSKsQ1WoKeiCOZZ4byOiDWSnDlngQRHsHGdFej5KILdQFQqSyqc55ZrWGfB/nx9ZhWDTjkQ9bvzCLpss5rHoHMDs7cWI4DczHkBcXAe8L6ZLDeM4A7brLqYdpldwWAOwZrlUu4Ztrps07wTRrCOh30YVjIUXIoLqFdL0NXH/3oYwTM8PELntqSSQUQA8SwTbEPPEf6fhREU0bKAzkNJJX/fiZJNiwSH0FEQ0TWM4D0ebqHzrYKiOMn9BC/DJMFbyN7C//swghM8zKDzWEHRI6JmnLxXkyzPojCGzAz+T8IIikJ6CZ3fFJV5EiQdjfTA8QZZS6Igt0lQzKRMLbqt6baxCJpw0bDIGpdo0baLmggyUZVKLQbJgc0go5smTLhu0Waa0E30Mpi3Ad6wmeh1SzXZmTRJMFappltsexIlmUmCsYtt3e2SJ7F7aBpcg7G3S7obXi8kgXuS0bRnc8Ore2ThaX4l3l7EkYXOoZMOwQ3FulT60Enn2PBRkVxNsUxTOjY0cfA7wPrLWtw2aR38fvmj+0R8fEnE57Mv/wE0EZ+wE3EJIRHXSBJxESgRV7kScRkvMdcpE3Eh9vNcaf5/6/6T4h+8QqTvePicbQAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-music
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABXElEQVRo3u3aMUvDQBjG8X+Co5N7BScnQejkJ6ibQ75DcXF2FNzcHKXfoUPGbG5OAcHJSTBj0UX3uJyLkGuD914u4XnglvSl9NfkvbcHzdq2ZcrJmXgEFFBAAU2z1/XC5XI51GfaB46BE+DQrVPgCDj4LXpYrbJ/AVNAmN7BMSEsgUkgLIFf2kUFFFBA/ZJJLN/AK/ACvLv1DLwBH2MB+hCfY7mD0RCxgLdDIWIBb7SLCiiggAIKKKCAAgoooE70g2YGFMACmLtrNVBNAXgGXAMXf66fuzXqR3TWgZtMDxahcbs+okF7wpPFEJtM8J7wZB57TJj0RKBsQgCLyLjaojaP3ROeVBa1eeye8GQNlDvUla426pjYBHiPBrjbgixdTRNiF6177JR1oC/qCbgCHjvG0roPbhuw6gEMORMb4N4t0zFh0hMpHZdMeiK141LwnoidTH9pFlBAAS3zAzceV249VVjDAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-percent
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABoUlEQVRo3u3a3wmDMBAGcOfoi92hO7hJ7RbFvusUHaSPTuAeQgewEdKXECzen+9iuYcPioQ0P4jmTqyWZan+OZUDHehAB5oAb9dryelCppj190kC2IQMIWPIHDPGaw0Qdw9ZknQc4DmkD3lnJv7mHcecDXBrJipwXfBzA5bmqYi8b/wvGdjvwH3Tg3HkLdpktuUrpA2pY9p4Ld2uDRD3WMdRgEMGd8ks4JJBDkgcFTgmk7UbC2mTsSMSRwXOyYT1xmLqZOyMxFGB6aS/FrV3vBjuSEAS7ihAMu4IQBau9IcMG1fyMSGCK/WgF8NRgZqlmiiOCtQqtsVxHKB0u6SC4wAlG141HBco8cpCFScFrNDl1xGAEJwVkIvbdUuggRwc6aGGBHJxpGMJBeRuS3JhgQBK3HPk0lAbKPG0ZBX3mkCpo4DVnmkBJc85VoOtAZQ+xFmvSKSBGhVKMUCt8qsIoGZtaQ7ULpxNHzKIrsDsmEC1PCYHPayfsyjVOiDOpNiewDh4uzSBcfCGtzPAQV9ZnDKfTBX7eZd/jOdABzrQgRr5AM7svASNoONTAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-photo
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABkUlEQVRo3u2avWrDMBCAvQU8ZffSzZAHye6HCH6TerFHP0GWQqFQ6FDI5kUvkrXgJkMCLahnOC/inNhWiqXTDd9iJKGP6E4/l0hrHXEmEkERFEERFEERHCGY73a3SIAX4AjoOxyxbXJnzH9limAKfI0QM+n6bHwQfJ0h1/Pmg2BrIXh2TbCLm3fgYiG1FBecezIk2MXat4diJqcu9inBTwZyPQdK8IeR4C8lqDkhgg9CAQWQYRKLkRS/FdjGO8EGyIH1iD1rjW0bXwRr/IWmbs4p9nVa8BlYWZxAVjiGk4L1gNwWqDDWWkTht+2AZO2aYEMsyyegxPPorbNqiW3N5dq4JJgTcvsJ/feEZO6KoCKyZTljnJLIrsoFwYKIufPMq5UZk4ULgpkxqcpirMoYK3NB0EwuynK5m8lmccH4gS8ArTFWLIKyRCXJyDbBfqNnf1QL4rDN/roUxIU3iCeLIB6dgng2lJftJQTZF18O3MtnGywesi2A9iXsD+DqodgV506XsOWfTiIogiIogiIYoOAf/IB8nc/ctnoAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-preferences
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACZklEQVRo3u2avYrCQBDHhfQWgeA7XGdIJbaBVFZ5BT1f4KpAwGcRDtIHhLQ+gpWNYB0EmwORSG6EEUTyMZv9cE1S/Juw2Zkf2czuzswgz/NBmzXoAXvADwP8ns9FKwDtQCnoikrxWSDanmpAA3QC5SU64ZiPBZxWwD00/WTAkAAY6gg4AY0I47YEwC1hHgttKgFcgPb4/3gV40xQRgDMcGzZPC7a2qNtqYA/oPOLg6uSQDEjwD00Iy7xM/ogBfA+8aXEwU3BV4gYAKOCrx+XjL1UQTYFXBR8uVcdQQ7IB61BNwbAG75zf3cMOtSMP5ct1yaAE1z/VEdzTmXEcfuiwNME0KrZrN+lU1Ekb7pEXQ0BPdFBJtQIbiVrm4g1gNtUnV95AU1ChJOpY82hQMhJZswQ6f5wj1uCbNAQZeOzCMdQI7Sj4qjmEx1KcCxlvoQ4p68CcE1w5Bf0xXAL+MJ36uZdywI08bwYETbzhBHuGTIhLNMIfTF5AA28iIZ4nWH553yO+5zP8E9m6FuIvhpUwIDj5BIJuLRGHCebgAK44wjjSwGASw77OwpgymHAFgBoc9hPKYBXDgNDAYBDDvvXHrALS7T1Qab120TrN/pOHNU6d9ju1HXJYUgPirzwZnjZlgpoYtrgXSmLg8yUhYEJn3cnnWJZgCuN0oahaEBPw8SvKwpwpHHq3lJdfMkEOE6N0MKKL9Ty2QHDOG/5zCFEaqHlM0oBNJZQAN2oLIBWlbDLIhpvCdsoiNxSS9hFTQiugiYET2UTwnPgsRS2kYxUtpF0ohGob+XqSjOefu2UfcdvD9gDKtU/PDTz8fDYAHUAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-product
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACVklEQVRo3u2aP0gbcRTHP4pUWgqOZlIsWKHYIigOdTDgKGQILThaCOLSIVMppZOTk4uDiNCODlKkWwbBDM3UIUOHkELFJVxJyCCok6TLV7CXP5jk7pI8fw9+3B25ey+f+773fr9fyFCtVsOyDWPcRm5PNjc2gvY9DSwBC8AsMAWM67O/wBnwC/gJ/AB+Bxl8b3//f8AALQ4kgQQw2eSeCY1lXZ8D34FvwGkoCgZgz4AU8A6IARf60jkgDxQBT/fGgOfAHPBaL+U98Bb4AhwAf/oJcAVIA6tABdgFjoBsk/vPNDK6XgbeAGvAR+AVsAOc9ANgAvisWssAe8Bxmz6yGifApl7UOLClLOgZ4ModuK/ANlDowt+xnv8ArMv3ZTdKjnRZc+k7cJ+AUgAZUZAvBJlWOndUk93MgymlUkbKlQJsWCX5zChGKuqJPq5uWVHNFQjeCvJdUax4lIBJtfrDDhpKuzV5qFjJqACn1TkvNBWEbUeKlVDs0AGXtEI5bTHPBWlZxZpU7NABF3TMRbhmzvlihwo4q2M+QsC8L3aogFM6FiMELPpihwp4u+XxIgT0fLE7WslcAY/bePaqB/vXUeA+P0FcA0/8CpYNbeSrjVLUEmC5EWDVOqBnPUXNK+iajFPQddHepqjrohZS9MYy4I0RFa81Gm6XqpbqrxGghUbjtQI0r2DZAQ5QB32QClatK+hZB3Rd1AH2+UT/1LqCcwYAx1oBvjQAOG9dwXnrCi42A3wEvLCs4IwgB91iGnWAFuqvTsVhY/VXV4dOwUEHHHL/uh9w+wcKEpMfhYBTBQAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-refresh
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACJUlEQVRo3u2aoa7CMBRAkSD4hvEFE/sE+IdlmoRgMAu+GHB4LArcHIJfQCEwaEJe9guQbO+S3CVk4bVd19uVvYpjRnu7w7q2u20nz/NOm+k4QSfoBJ1gI4LTyaQOAyAEVkACnIEUeCApXkuwTIh1lNs0IdgHImAL3IC8IjesG2EsawR7wBg4Kkj9xRFj9poWHAI7jWJldthGI4Iz4EooV3DFtnj3wnQKvt6PJfA0IFfwxDY/vZvsVUaX4KuBtUGxMuuSJCt+0yW4rHAzd2APxMAI8IAu4uG1GMvcK8RdluV0Cc4ku+UFWAB+hZHYxzoXye56KF+vKziUGFAyYAMENSbsAGNkVbtvHcGexFTwA8xrrn7emWNMI4JjCbmpRrmCaRVJVcG+YIWSaX5yn55kRikYCQJvCOUKTpSCW8FoGRDLMcouOhB8FSxskVMVDAWTuG+LnKrgihNwb5OcqmDCCRgbGFzIP3jPHMFRGwRTjqDXBsEHR7DbBkHb6HL+8EcbBD2OYNoGwRFH8NwGwZgjmKgIquRMGKHgntPuyoQgpZwvyNuE1IKMuHsuBCn/AaUgtVwgSEZtVedBGbmTgcFlI7iHiFKw6ZTFsUgEU3bRJpNO4zpLtbyipOm04e59e83ENGEy8Xstb6vpEDxYlLqf6fia+DQV2LT5ok2QWbx9VluQfcEGqLKgaIVi0xa2O4TgjpH854NA33mUy502dIJO0Ak6QQl+AV7yUKtBpf5HAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-remove
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABcElEQVRo3u2aMW6DMBSGP6IOnKGKlM70BN3YcgKGDumIeovSW1SMzdAhJ8jWKb1B51aKcoYuCV2MhCKiGGrApP+TLKGnh3kf9rOf4QVFUXDJMuHC5epY8ZimTfu4Bp6AByB05NcP8Ao8A7smN77kufMRTE0LHb74sNLv4FM06XCGJT4ARh0CRs5jsIUEWkU9BIyBDbAHCs/b3vga2wLGwBK4G8kIT4yvyzrIOoB7YDrC2Tg1vp8FnI845OY2gLMRA86Ui/q+r2kfbJHJ+H5gDJTJCPAfAu6ADLg1LTtz8u7a3vlxKTefE0opr7OB7J2P4MpS15e9c8BPS11f9lpkBChAAQpQgAIUoAAFKEABClCAAhSgAAUoQAF2DRhZ6vqydw6YWOr6sj8pbf9NlFWAq8rD0wHtT0pwXPFbUy/6hb+VF9/ATVXRpl507fEasnYRg2/A1kO4rfHtz4DvwAL4AA4egB2MLwvjW7MY1D44MvkFUW10U04xFu0AAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-runner
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB4ElEQVRo3u3aPWrDMBQHcA+FQu/gC+QCoVPJCTrpCKZrhswCzb2Jp2xedQlfwnMD3lwNchEm+niyJL9XNPwhyCLRj0h6cuJmWZbmP6epwAqswAosDvzqOoxpVa4qg8qkM+i2du1HFfiucldZLLnrPiSBrQdnIluKwGsAbs0VC5CpSB3m6TsAgAMGoHgyMO7oPwGA09FA4Rgcpw4UAQPkVKdoCO6b6iYjHN/Wek0Y/W+bIn7GXCZYwFS8GK+5ZeAd1kIvAZsJ9wDOGI9qMgHub32FfOYRU9RX0HnoDokR6IsN16t8bPJJDejCnWLfFwvQNS1PEedVVEDfmnvT/UajbaQCDNlQXnXfh9H2oAAM3S1X4Gy0zdiBHHCefKEGhODMMykJYCyOBLA1inRvKd69BUduDa6gZ9culnbUQFuRhhTveTOFZ0t+dJ1kpYDbdScj7i4aPfAFEFkCyG0fHHF/OGID2nZMBrzDN/uO+hQzHz1FeeDW7/uNZvf6zwGE4LIjUwNjcFmRKYF7cNmQqYApcD4kOwqYEudCyiOAOXAh9bMIsCSu+BQtjRMlNxkyuBggKRwUSA4HAbJMg2A5cRCgzDQImRO3B5hqEDInDjpFwf8LJH4+Jh+wPk5ZgRVYganyC4yUCKa19NuDAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-tags
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB/ElEQVRo3u2aMYvCMBSAC3I6CgcHgpt/wanzTcLhdIO4FxfB0cUl0F3cRSfhfsTt/oQbT3/BOTge9l7gFRxSvOY9kxfJ8FEobZOPJE3eS5KiKJJHJomCUTAKRkEvgpMsM9EBhsAC2AF74AicgQtej3h/h8/p57sV32PHRvAJeAM2wAEoLDjg+yOgLUmwlCsY+QQyoClBkFvumg+g51twY6jYN5ADKdDCa47360p+AX1fgh3DmNMS44qPjy0lf4CBD8GhoTL5jQJyQpdVrgUXhkqkNwpIieNSuRTcGSrQulFAi+Hno1wJ7j20IFmyjuDR8RhkkawjeK6YIrj/oqySdQQvFYVyzoPsktQW9IVyNQbFS1L/ouIlqfOgBJb3XMlIYXWvtaj47lpHsEuI4L1JcsSD0lgDDVvBUQCCZXbASrCNOZQQJGe2WbUsEMGT7qo2gk3sAiFIpraJ3x4miMR3U0pmu48JIsmCc2rqfiBc8JUqmODkKlHuF3jmEJQqubWdJkKQ1FPEC7egFEndNd8p22fSJafU/UHJkuRoQrIkOR6ULKk4t7ClSSruPXpJkqxZNSpL6XlRDlaSM9tcqInQvQkJknfdXeJmXXP5NXV10omLxj9TH6frtWVIgiUzlDC12raMCkIWLFszRdm5jsR1sOr0GEk8LxoFo6AT/gCQCb3L819sAAAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-tel
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAADHElEQVRo3u2aPWgUQRiGnz0D2gpGDFocErUICAoWJsZOBRVEJIU2WuidSizEH6wkKYIxWkggEM/EWFgkiEREERuT4rQQVIwIAYV46DUpkkI7A2vhd3Ass7uzu7OXueNeCIHcd8M8zOz3s28c13VpZGVocDUB610t3j+cz+Vs3Gcb0AVk5VBKQBEoewNHC4VgQMvUAfQAx4Gdns/eAY+AMcDVPkFL5AB54Byw2yemU37agdvAUr0AbgKuAlc046/L7xuqk8xYCNcXAa4a8qztWdSRk8vH/P4ZYIvNgPkYJ+d9Jg/ZCtghCSWpum0F7AnIllG0y0bANqlzJrTVRsAuRRGPqzU2AmYNrrXORkCTe1ixEbBkcK3fNgIWpXE2obKNgGWZCkzoh611cAwYamRAV0aepJCzNveiSzLy5BI8kx9tnwdd4AHwShrnbmm/tqtqnEcfbE0yKv0CxmUE2gu81/hOAfhbL4DVOgbsD4lZBl7bPvCq1Apc1oh74tcw2A54AdgTErMIjNaiDzStfcAljbjHwKd6A2wFbgIbQuLmgIe16uRNyRG4AxqxE8DXegO8CPRqxE1KixeouIVe2yuIqBNyemGaB+4Df0wDJvYKAnQYuAVs1IgdUfWdSQCNeQU+OgLcAbZpxA4LIKYAjXoFCp0E+jXhpoF7UW5IRgOuD4NegedWXJMN68C9Be4CC1E2kgnZgHGvQLRZrtqQ5jP3BRiMM0YFAabiFQBHpX71aq7zDRgAXsTZRCYgW5r2CrKSfCY0i3gFrh+YirsBvyRj0itYD5wGTmk0zt5rOZAEzg/QpFewA3imMc+pEspg3GsZBmjSK1gbA25asqWRd6UqwOwq9qHDUjYWTC3YYkkDPi/dyUjMNi8SYKnGcJPSOM+msbgKsOIVdKYMNiclYxyFaZImYMUrSAtwUV4zBL5qSBMQGXnaqxpnE1rm/9uvKeBNre6/H2DFK8AAZAl4Lul/ptbZK2hcqngF36VxjnplZ4CnwEsUro8NgJWT9HoFB2WMcuTzFUkSZYkrAp+Bn6ZTfhw5zf/ZbgI2AVdV/wCWOqajbQI4OwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-tips
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACZklEQVRo3u2avWrCUBSA00lwcnaxCJIH6ANUEDoWXIuDiw0dfAAdSuigS138eYKOXZ26VFw6OGc3SwUnwSVCIT2B0xIuN5q/e+9JyPCBhOSc+yXn/uRGzXVdLc9ohWAhmEFBo9cLSwPoAnNgBdiAg9h4bI7nNCLEjUWagk1gCmwBNyRbvKZJWbAOjIBdBDGWHcaoUxNsAcsEYixLjElC8B7YBDT0CxgDbUAHyoiOx8Z4Du/aDcZWKtgKkFsDBlAJkbyC564DJFuqBOsBZbnAJxS1ETpeyyvXugrBEacx3rFSgoaUzsSVKtjkjJaLhHJ+yQVndG3KFJxy+pye4qinc/rkVJZggzOJGwImZ4OzGGjIEOxypoKKAMEKZwrpyhCcM0nHAteQYybXXIbgiknaFijYZnKtZAjaTFJdoKDO5LJlCDpM0rJAwTKT6yfvgm7eSlRTIShzkFEiKHOaUCIoa6JXJihrqaZMUMZi28+ByVXL+usSC7sefczyCy+PCWcb4wmYAUOgmpUtiyDugOOZHTiT+qZTGF7PCFoUtw2jCg5VCibZ+D3gTZhgKfJiDy7E2KOkea4/Uti6P2IpXvtiPkeMYVL9+OLnDSUHMa61ZAhe+nwWpqEfMW/OKahcRQiGoYYT92eKH2645apK8I8bAZIWJUGPl5QFHX+5UhB8EFCm/+VKQXAmUNCiIDjMu2AV+4uF7PNWoixWioJ9ioJmioLvFAX9JXtKKPhNUTDNciUvaOaxRIPK1Ykh2KEumKRcb4GrLAmaEeXILLbjLgi8332vn3mDCeL97nhPLrJg8Y/fQrAQlMYv8RLS1hU3JaEAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-todo
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABBElEQVRo3u3aQQ6EIAwF0DLxrGZOgYFTGC/LbCckKIT+guQ3ceNCfZb+MBldSklWro8sXlvvBb77jl4CLj9xXhc7SCBnsGFmGiuxgwQSSCCBBBJIIIEEEkggga/8PZjYQQIJNJ1Bxw7qll8Z6EUkrApsxmkBE+gIvbiZOxhF5OjFzQpUw80IrMHF0XtRBwyU/xfw2iWqhkMD/WgcGhgakeo4iyVai4TgrGbwCQnDWYZMCQnFWadojqzB+ZmB8QZZiwu9D7EBgaUuBIstmtUSPSq3VhCc1Qw+IfNACZo3twqZElItLWdI0RwJx6FD5i54xAI3AmgGQwL53wSBBNaX41f3L68fv3JW3bJUv1YAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-toolbox
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAADSUlEQVRo3u2aMWgUQRRANwiCR1qxuCIQbGIbCAZO1OLAyvIkcJ3khGATqzQeLIJFimtP4SxTCdoEu3CIELA4OAIhgVSBwIFNckSLJeL6B/7Ccs7O/j8zf11li0dC3J35b//Mn5ldgziOg/+ZoBKsBCvBcgg+W1+fZQ5YBDaBETBF1O99oAXUNPdxuAtsAR+AY+AHcox/28Jr2G1TBBOWgSEQa3gPNC3l3gDnGe2mOcdr70kJKpYMkofAmoXgJ+AbQTBBZXVDSjAvk4eWmVQP7jmwS5S8At7ZCs4RAzINV5c5qeb0R6Jo10ZwkRiIKZMtx6KjeAx8cZXUCW5i8JQgOhmd9j0IKh4Cpy6SOsERZmaJEMBCRocjT4KBYZSQJHWCU7xhSMhkluDUk1yXUV21kibBmJDJjqAgVy4tmZA5ROMZyWVmkRn9Jbk/ZHWCfc2FQ8zWAtLJmRt9QbnPHEmdYMvDk2sJyYV4XegiWMPF2kXwlaBcwJHM2qo1cdvlNP4F5aiSoWkvulaQpK1c3r0hZbPd9DBcu0JypgyGnNNEDYtG33DgfW0h2fU0j0PTQ7E5LgWW8yEt+cAxc4HkedCXZCgtJyEY4NCiSqoNQ+S4vBQuyM3kCnDmO3PSghTJt8B1vHZeQk5akCL5FahLyRUhSJGcAPf/NcEXwEuG5E+8p/SCN4CdjGIyIOx6drCNUgreBg40QT/Ff1cFZZ8geYBtlUrwEXCREbBa51bxujrOuTzJC2yzFIKU1wtqnbuF1zdmFndfRy7vgvOMV+0xvsjNe1mlY9dlnbQVvAOcMIIcaNoYMO4/wT4LEXwCXDKC20/tWNJQi07CJfYtJngN2GYedic5OxVq0UmzjbF4FbwJ7DEDibCg5AXBKToJexiTF8EV4geQWTqModSxaP8UY3MSbODHRm7nA4uCMLDo5ypvlJgE28Rv59Sikge36KS/3be5guqpHFl0NnE8/tgUnRhjbXAEexadpLdkLqxaFJ0YYyYLjoWLikTRGXMEowKKiu+iE0ll0Lao+C46Y4k5+F34nUod+/A+BylV9Bdxp+JKA/vyWkWTdfDIsBy0C5BLxzIxyLVddjI9HN8R/uwVlDkvsVT/IbYSrATLwW+Sf0fziuxZOQAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-user
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACiElEQVRo3u2aMUjDQBSGu6ibbi4ugrqIoxRB6qyIio4iTopSENe4C66iKEVXQafg4CiI6OJgFwfTSdwchApSrYLGP/AXMqQ1udwllzTDtxzvvfDp8e6415xt27k0k2sbwbXVVRWMAQOYwAI1YnHNYIz0b6sWLIASqAL7H6qMLSRFsMj/kB0Qi7laC26BuoBcgzpraClYDCnnlizqJlgQ3JattmtBJ8GSRLkGJV0Ex3x2y6BUwxwhMgUNBXINDB0ETYWCpg6ClkJBSwfBukLBetyCg+BHoeAPvxGb4LpCuQbrcQqeRCB4EqfgQwSCD3EKvkcg+J4JZls0azLte0w4h/CNQrmbuA96h1lQBr8SxX5Zc1anJ4sziYJnOr7JzIMPCXIfrKXlq9qeBME9nZ8NR8BlCLlL1tD64XeKDSKoXJm5iXi6nwG3AeRumZOY2YTDKDgC3y3EvhkzmrThi5tpsAvuwBu549q0qu9GITgEFkBHi5gOxgwlTbAPnHIbXoBNkAc9JM+1C8acMicRgv3gWKCLHjNXa8FJcB7iHDxnDS0Fd8CLhJvMC2tFKths1v4FehnzJPGy/cSavfxG4Nm+X0E/s/YZBSO0kuvCIDTb9yPod9Z+yPgJwSua15VtgjUPRWf7/wkGmbW/gkXXX/w6hNy1a0cssrbQbL+VoMis/R7MMX8YbINKgPwKc4ZZY441hWf7zQTDzNofwQboZK0BsAz2wRV4Bp/kmWv7jBlgTidrPIad7TcTlNEonC63BLoDtPVu5piyGpSXoOxZu7PFDsAKGOdVrIv0cW2FMfdrkmf7XoIqZ+1RY3gJmikSNL0ErRQJWl6CtRQJ1tpS0E4TmWDqBLNf3SeUPw0IAEAx8JAwAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-save
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABIElEQVRo3u3aPQrCQBCG4TcqgpVg6wEEizS2toI38ACC2AnWloKVveQM9naCJ1AsBG9gJXgAWZstNEgSCRh3/QZCQljIPMzs5ocExhh8jhKeh4CuRyV+YjwaATSBJdC1x+8iyHntrJM/iI2/AwdgB0TA+XnwKopSK9gCjsAgAVdklIEOMAX2dv9Ri86BhiMdWLOdtgGqWYE9B6daH1hkBdYdXU8mQNvnVbQMDH2/TfR9BzZ9B9b1qCaggAIKKGCe98EvRqAKFlxBozkooIACCiiggAIKKKCAAgoooIACCijgXwIrDuYc/55q1KICega8/XjOJrYl5v4OuHW4YNsswBlwdRB3tbmnAk9ACKyBiwOwi801tLm/3lP0z7aAAhYaD4d0KaCD5yhyAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-icon-overflow
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAkUlEQVRo3u3XwQ2AIAwFUFiWuIW4hWFZPHFUE9QE9fXehEcP7Y+11vDlioCAgICAgID7NaWUQwjzoO9f1lLyVeDQI15LiYCAgIBDAz+/JtpPdb2g9R9MoFs3pXTaD3i1ngQOcYsCAgKKS041QEBAQHFJmhCX3KKAgIDikksGEBAQUFy6dU28vQABAQEBAf8M3ABiQE+gqVHjNwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-plus
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAgElEQVRo3u3awQnAIBAEQC9YiP1XZSfmHwJ55DBRZp9+loETQY0xRtk5R9k8gKunXhd679kdT5s8Mstaa0YUEBAQEBAQEBAQEBAQEBDw76k3a7MvSrP7wogCAgICAr44ByO5Y+rbhBEFBAQEBAQEBAQEBAQEBARcIOHPNiDgpzkBlRENbxLjS1UAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-plus
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAgElEQVRo3u3awQnAIBAEQC9Yjv1XYj/mHwJ55DBRZp9+loETQY0xRtk5R9k8gKunXhdaa9kdT5s8Mst670YUEBAQEBAQEBAQEBAQEBDw76k3a7MvSrP7wogCAgICAr44ByO5Y+rbhBEFBAQEBAQEBAQEBAQEBARcIOHPNiDgpzkBAAINb80J7QQAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-add
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB+UlEQVRo3u2aMbKCMBBAsWOGQ1BwBFtrh9qSxvkNFRfwCA60nMOhsOAOVhY4v9ILUFhb8NeZpWGS8D/ZBNz84jVqwj4mJptkva7rPM54zgje73cqfGADZEAJ1MANaIEX0uJnNf4mwzY+VRzUgisgBgrgAnQTuWAfMfY5u2AA7IFKQ0pGhX0HcwnugJMBsSEnfJY1wQjIgacFuZ4nPjMyLbgFzhbFhpwxBiOCCXCdUa7nirGQCn4BD83ZMQVCJNWcbR8YE4lgoin3DawF/a7xOx3JRFdwSzAsD4qXdyAYrtupghHRhBIqBEOiiSeaIpgTTQpj/2+KZ+R/FdwRrnM2BJ/DZEAlGBBnKDYE+4wn+I3gnnjdsiXYYexKwZWBxNmmYNXvQmSCsYHMw6Zghw5SwYKBYCET9DXTp6UIvh18keDGUHJsW/DNRiSYMRLMRIIlI8FSJFiPNHqfhB1HckvThBhDOxJrLRK8KRo0ki3PXKwxJlm8N5Gg6q2kC5LrSVWjTST4mrjlmXO4yuJ9OSnIfoiyn2TYLxPsF3r2qRr7ZJv9don9hteJIwv2h07sjw2dOPhlf3TvxOWLE9dnVBegR4Xgcc4LUKor7FZxhd1q9EtyhU1VhNAIihCapRQhOFFG4kQhkBOlXE4U4zlTTulEQeznlDT/V91/KD8IdOzz/SbSpgAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-add
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB+klEQVRo3u2aIbKDMBBAqWOGQyCQldhqproS0/kGxQV6BKbYnqNTUcEdqipgvusFEOgK/jKzmE4S/ieb0G6+eKZtwj4mTTbJen3fe5zxnBFcr9dU+MAGyIETUAEN0AJPpMXPKvxNjm18qjioBVfAFiiBG9DP5IZ9bLHPxQUDYA9cNKRkXLDvYCnBHXA2IPbKGZ9lTTACjkBnQW6kw2dGpgUT4GpR7JUrxmBEMAXuC8qN3DEWUsEv4KE5O2ZAiGSas+0DYyIRTDXlvoFY0G+M3+lIprqCCcGwPChe3oFguCZzBSOiCSVUCIZEE080R/BINClM/b8pnnH8q+COcJ2zIdi9JgMqwYA4Q7EhOGY8wW8E98Trli3BHmNXCq4MJM42BS/jLkQmuDWQedgU7NFBKlgyECxlgr5m+vQugoODLxLcGEqObQsObESCOSPBXCR4YiR4EglWE42Gk7BiIrc0TYgxtBOxViLBRtGglmx5liLGmGTxNiJB1VvJ3khuJFONNpHgc+aWZ8nhKov36aQg+yHKfpJhv0ywX+jZp2rsk2322yX2G14njizYHzqxPzZ04uCX/dG9E5cvTlyfUV2AFgrBYskLUKor7FZxhd1q9EtyhU1VhFALihDqdylCcKKMxIlCICdKuZwoxnOmnNKJgtjPKWn+r7r/UH4ACH2j6T/WD0QAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-airplane
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAADMUlEQVRo3u2aT2QcURzHh2VZSgklVJeylFJCKK2wlUtLr6EsPS2VUA17CmF0KKFyKKsl1+qeSiilhEhLeyhhCTktXSF6CEsIJbrN9PfjNzzTnZnf+zfztubwJZLNe++zb973fd/vjReGofc/yysBS8AS0B3A4XA4DZoBtUBd0DZoB9QDrYPm8DO2AX3QB1DDAtgr0C9QmKCvCGkT0Bc6w4G8ANUMtLsIGqWAiVq3BegndHgEWtJodwU0ZsKhejYAfUbHu6Cbku12JMAi7ZgGFOG+ZXQ+pnV0mdHuIwU41LZJQBEuoN9tMQZxAmqntNsEnSsCdk0CItQXAQ5VIdvmDOY7aD7W5i3QqSIcqpXHPlilrYIzIJypG/R/dTIlVTh07pm8NvoaGUvWoB4L+9yBBlxI6zvXJHOJHsOkAW0IM/5ZE25EX1LuUS1pZj4Jn3mrCTemMOAVAYiaBQ2EAR3S7OLf1jThQgoDXpGAkYEc06MU5dQHBuA68b6KPE2gW96lnzHVnGmAnVMY8FwCFNflQAPulMKA5yJgRdMxjygMeK4CdjXgDmgte64CPtHcCq5x+ikKUCdAR2q7ClhPOZFfSADuuwiImbSfMOA/CrM47xpgzyAc6o1LgB0Dj2VcZ0LMKxRwMaFYdGEgnrWLBqxTWYILh+66nLJWpczGNmCNBsCFGwmxa8GE2dgGlDnb9SckE249Z6sIwE2ZAm1C1fsq85SRaDa2ADclIlcno601HbOxAciFOxFLCxlVuYGq2ZgGfC7hfHWJdh+qmg0XEKvWP0AvqbRQVbyTCMl4VG6ZPqqYDQfQTyiqYoeroOtMuN+gpxqPfoNxAvnHbLIAfQNJI9JrA868IWs2aYD3DIHhpv7MYPH4WMZssmYwMAB433CubcmYDWcN6kDetnTs6nPNhuuiKpCNob2qwALXbGT2wUBij5vNoWjV45iN7EafBbmbdQA1qKycuq+aZIKUwFzN+UWgtJy6qhPVgkmXjQUIv9CfE0LIkoks2qSiT7Pg17nexQ7Md1y7fDH1Ts5gknNPM6Afe0PjiqvXZ6raI7j3aaeTaQYM6HaqolRVK9/4LQHd01/8Todx1JEf+wAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-airplane
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAADMElEQVRo3u2aT2QcURzHh2VZSgklVJeylK4SQmmFrVxaeg1l6WmplkjYUwijQwmVQ1ktuVb3VEIpIURb2kMJS+hpKSFyCEsIJbrN9PfjNzzTnZnf+zfztubwJZLNe++zb973fd/vjReGofc/yysBS8AS0B3AZrM5DZoBtUE90DZoF9QHrYPm8DO2AX3QB1DDAtgr0C9QmKCvCGkT0Bc6w4G8ANUMtLsIGqWAiVq3BegndHgIWtJo9xlozIRD9W0A+oyO90A3JdvtSoBF2jUNKMJ9y+h8TOvoMqPdRwpwqG2TgCJcQL/bYgziBNRJabcFOlcE7JkERKgvAhyqQrbNGcx30HyszVugU0U4VDuPfbBKWwVnQDhTN+j/6mRKqnDo3DN5bfQ1MpasQT0W9rkDDbiQ1neuSeYSPYZJA9oQZvyzJtyIvqTco1rSzOwIn3mrCTemMOAVAYiaBQ2FAf2g2cW/rWnChRQGvCIBIwM5okcpyqkPDMB1430VeZpAt7xLP2OqOdMAO6cw4LkEKK7LoQbcKYUBz0XAiqZjHlIY8FwF7GnAHdBa9lwFfKK5FVzj9FMUoE6AjtRxFbCeciK/kADcdxEQM+kgYcB/FGZx3jXAvkE41BuXALsGHsu4zoSYVyjgYkKx6MJAPOsUDVinsgQXDt31acpalTIb24A1GgAXbiTErgUTZmMbUOZsN5iQTLj1nK0iADdlCrQJVe+rzFNGotnYAtyUiFzdjLbWdMzGBiAX7kQsLWRU5YaqZmMa8LmE89Ul2n2oajZcQKxa/wS9pNJCVfFOIiTjUbll+qhiNhxAP6Goih2ugq4z4X6DljUe/QbjBPKP2WQB+gaSRqTXBpx5Q9Zs0gDvGQLDTX3FYPH4SMZssmYwMAB433CubcuYDWcN6kDetnTsGnDNhuuiKpANi1WBBa7ZyOyDgcQeN5tD0arPMRvZjT4Lci/rAGpQWTl1XzXJBCmBuZrzi0BpOXVVJ6oFky4bCxB+occTQsiSiSzaoqJPq+DXud7FDsx3XLt8MfVOznCSc08zoB97Q+OKq9dnqvpEcO/TTifTDBjQ7VRFqapWvvFbArqnvxg6v8WA6SRSAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-arrowdown
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABAUlEQVRo3u3XWQ4CIQwG4HITTiqRk3IRg0+aqMwMlJal/n2H5GPp4nLOZDnc3wBTStw9tE/IcRZ57wEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABtA68E9GNbETw3sfSDVpABiKKZ090Z2QgoljzB3dEvnG1SWYn5AeuJYvugPzBtZaJlZFFHKcOrog8xHEL/UrIU1xPJ7MC8hLX26rNRFbhJHrRGchqnFSzPRLZhJOcJkYgm3HS45ImkoWTBmoh2TgNoDSyC6cFlEJ24zSBvUgRnDaQixTDjQC2IkVxo4C1SHHcSOAVUgU3GniEVMPNAH4jVXGzgC/kQxtXBFoN88AnOLKRoBkO6TEAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-arrowdown
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABAUlEQVRo3u3XWQ4CIQwG4HIfziiRM3Idg0+aqMwMlJal/n2H5GPp4nLOZDnc3wC999w9tE/IcRallAAEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABtA68E9GNbERIKcXSDVpABiKKZ090Z2QgoljzB3dEvnG1SWYn5AeuJYvugPzBtZaJlZFFHKcOrog8xHEL/UrIU1xPJ7MC8hLX26rNRFbhJHrRGchqnFSzPRLZhJOcJkYgm3HS45ImkoWTBmoh2TgNoDSyC6cFlEJ24zSBvUgRnDaQixTDjQC2IkVxo4C1SHHcSOAVUgU3GniEVMPNAH4jVXGzgC/kQxtXBFoN88AnFHuRoLnJUxAAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-arrowleft
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABGUlEQVRo3uXa0Q2DMAxFUWeTTEpFJ2UT+gMSQoTYjkR7X71AdOSPJPYr67qacpW/AS7L8sR5k5m9nzio1vo4cDKz2cyKInDHmSLwiJMDnnFSwCucDLCFkwDe4fDAHg4N9OCwQC8OCYzgcMAoDgXM4DDALO6xqrWWLPDncSNABC4LxOAyQBQuCsThIkAkzgvE4jxANK4HxOPugBK4FlAG1wLOWwdlgbZ1cFIGyiB71wQe6bno0UjvUw2LjDy2kcjodwmHzHx4UcjsyAKDHBk6IZAjQARyFDiCRI3uM0jc8iWKRK7PIkjsAtSLRK+wPUh8CKGHlIiR3CFlgkAtpFSU6wopF8Y7IyXjlEekJPCIlAXuyNdXgKolD/wAafN3oN7AGW0AAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-arrowleft
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABGUlEQVRo3uXa0Q2DMAxFUWcfZqSiM2Yf+gMSQoTYjkR7X71AdOSPJPYr67qacpW/AU7T9MR5s5m9nzio1vo4cDazxcyKInDHmSLwiJMDnnFSwCucDLCFkwDe4fDAHg4N9OCwQC8OCYzgcMAoDgXM4DDALO6xqrWWLPDncSNABC4LxOAyQBQuCsThIkAkzgvE4jxANK4HxOPugBK4FlAG1wIuWwdlgbZ1cFYGyiB71wQe6bno0UjvUw2LjDy2kcjodwmHzHx4UcjsyAKDHBk6IZAjQARyFDiCRI3uM0jc8iWKRK7PIkjsAtSLRK+wPUh8CKGHlIiR3CFlgkAtpFSU6wopF8Y7IyXjlEekJPCIlAXuyNdXgKolD/wARbx3oKAWLcMAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-arrowright
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA80lEQVRo3u3aOw6DUAxEUVaONCudpThdJJQQCDwH+5LCtXWa97FnioiJXNNtgLZ/VXN2j6uBkY2sAExFVgGmISsBU5DVgMORFYFDkVWBw5CVgUOQ1YGnkR2Ap5BdgIeRnYCHkN2AXyPXgFG8ZjpwN7IzcBeyO3ATSQB+RFKAq0gS8C2SBnxBEoELJBX4RJKBYXumA+MPbF4iA0U+ZES+JkS+6EV+qon82Bb5uyTyh1fkkcUmrjNwF67r4FcGT7Zl8OheBi9fZPD6TAYvQGXwClsGhxBkcIxEBgeBZHCUSwaH8ZTVowJQmT2uBiq7xz1D6dR6AOd2yNnY2fy+AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-arrowright
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA80lEQVRo3u3aOw6DUAxEUfYze0SalTtdJJQQCDwH+5LCtXWa97FnioiJXNNtgJJ+VXN2j6uBkY2sAExFVgGmISsBU5DVgMORFYFDkVWBw5CVgUOQ1YGnkR2Ap5BdgIeRnYCHkN2AXyPXgFG8ZjpwN7IzcBeyO3ATSQB+RFKAq0gS8C2SBnxBEoELJBX4RJKBIWmmA+MPbF4mA00+ZEy+Jky+6E1+qpn82Db5u2Tyh9fkkcUmrjNwF67r4NcCT7Yt8OjeAi9fLPD6zAIvQC3wCtsChxAscIzEAgeBLHCUywKH8ZzVowLQmT2uBjq7xz1D6dR6AF0m7X9rxzelAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-arrowup
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA+0lEQVRo3u3YSw7CMAwEUOcmOSmoPWkvgsIGIRBpmo/H+TCz8m70lmMXQpCV4/4GeByHRd8mIg8R2dFF3ntz4CYit9d9RyOtgZ84sUBaAmM4ONIKmMJBkRbAHBwMiQaW4CBIJLAGp45EAVtwqkgEUAOnhtQGauJUkJpABK4ZqQVE4pqQGkALXDWyFWiJq0K2AHvgipG1wJ64ImQNcARcNrIUOBIuC1kCHBF3icwFjoxLInOAM+BOkVfAmXBRZAo4I+4HeQacGfeFjAFXwL2R3vtday6hf/+u9x4kkEACCSSQQAIJJJBAAgkkkEACCSSQQAIJJHBE4KpZHvgEf4CRoPZ8JQUAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-arrowup
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA+0lEQVRo3u3YSw7CMAwEUOc+PSOoPWOug8IGIRBpmo/H+TCz8m70lmMXQpCV4/4GuG2bRd8uIg8ROdBF3ntz4C4it9d9RyOtgZ84sUBaAmM4ONIKmMJBkRbAHBwMiQaW4CBIJLAGp45EAVtwqkgEUAOnhtQGauJUkJpABK4ZqQVE4pqQGkALXDWyFWiJq0K2AHvgipG1wJ64ImQNcARcNrIUOBIuC1kCHBF3icwFjoxLInOAM+BOkVfAmXBRZAo4I+4HeQacGfeFjAFXwL2R3vtDay6hf/+u9x4kkEACCSSQQAIJJJBAAgkkkEACCSSQQAIJJHBE4KpZHvgEW0mRoBW+1aYAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-bookmark
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA10lEQVRo3u3asQ3CMBCF4ZdThjBdpkjLVpREomQS1qBlCm8SmhQRXYR9vlj/k1y4ONmf7tx5WNdVPcfUecajBTnnq6SnpNn5rh9Jt2ma3lWBkl6SUoNmzNvZl9ojmhpOXOINAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEKBTHttyy+iMW3b7e08d/MUtXp20BjhXpDXCuSGtIc4FaY1x1ZEWAFcVaUFw1ZAWCFcFacFwxZEWEFcUaUFxxZAWGFcEacFxfyPHE+D2yMMZ+HV/8nwBu/wsdSKyQ6kAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-bookmark
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA1klEQVRo3u3asQ3CMBCF4ZdThjA7pE7LVpREomQS1qCl9j6hSRHRRdjni/U/yYWLk/3pzp2HdV3Vc0ydZzxaME3TVdJT0ux814+kW875XRUo6SUpNWjGvJ19qT2iqeHEJd4gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAATrlsS23jM64Zbe/99TBX9zi1UlrgHNFWiOcG9Ia4lyQ1hhXHWkBcFWRFgRXDWmBcFWQFgxXHGkBcUWRFhRXDGmBcUWQFhz3N3I8AW6PPJyBX/cnzxet7Sx172zqNAAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-box
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAdUlEQVRo3u3asRGAMAgFUPAchP2nyiZYWWplkcT3W6p3cAkF2d2xc47YPICAgICAgC85nwpjjKU2gKpKIwoICAgI+NU/GBGpg4t38M7sG016ZAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBZ0m6FwUEBAQE/DHwAvnVC3CLEzO6AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-box
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAdUlEQVRo3u3asRGAMAgFUPAch/0nyT5YWWplkcT3W6p3cAkF2d2xc47YPICAgICAgC85nwpVtdQGMMZIIwoICAgI+NU/GBGpg4t38M7sG016ZAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBZ0m6FwUEBAQE/DHwAoaGC3CgtsEXAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-car
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACRUlEQVRo3u2aPYrCQBiGU23lBSQ3SGFjI6I32DLlgr0HEK1cK7utRewsF3KGBStPoJ2FhY2iIAtuk+wXeANumJhvYhwz2SkeEDHzvU8yP8lEKwgCq8xYRtAIGkEjaASNIENws9lkoUH0CY9YE98gyEh0/Bpt9lFDOtu9gm1iQhzvkOFyRK22KsEuznBYfEvMiA5RIyoga4+Ijq+hzRlqBKjZfbTggLgQPjElmnfIcGmilo/ag0cJdlHgQPQUiMXpofaFcyVlBdvoIv6T5K4lfWRp5yk4wTiYPlEuYoosk7wEG5jJtorGHGdMbpGpkYdgH2dsVgC5iBky9fMQ9NBYp0CCHWTy8hDco7FagQRryLSXEawT78QXpuMDPkd3FJUCCVaucsXzhg51kaCXcstUVEERnkjwI+Ugq2DcyvohEmwRKwU3z48mdGglTTJvmkuu4HBzFn0ldhrK7ZD95jLxQiw1voJLOCQKjkswBsdJgjbxUwLB0MEWCY4EPw4fTeaES1SBi+98haFlc4xEggtBo8Mb69BQkWSWHAuRYHzmnDMW27kCwSw5diLBeMMuo2FXgWCmHBzBKqPhqgLBTDmM4H/oojpPMixBnZcJlqDOCz1bUFtEgqcSCZ6y7MnohHBPxsHOlO5yoYOT9Dxol0DQTtuykOmqRdhB+9M1OTvbjsaCDnfrXldB9rsJzpJxVih45iwNMoKeTH9XgHSeNMG0JeNw3d8VIJ2H8/osnG4/Y1sZO3xnP+FdhFQe8181I2gEjaARzINfq+T+ChUlcKoAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-car
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACRElEQVRo3u2aPYrCQBiGU23lBSQ3UEhjI6I32NJywd4DiFauld3WIuksF3KGBStPoL1FGkVBFtwm2S/wBtwwmm9iHDPZKR4QMfO9TzI/yUQrDEOrzFhG0AgaQSNoBI0gQ7Ber2ehSQwJj9gQ3yDMSHz8Bm0OUUM6272CHWJGHO6Q4XJArY4qwT7OcFR8S7hEj3CICsjaI+LjHbTpokaImv1HC46IMxEQc6J1hwyXFmoFqD16lGAfBfbEQIFYkgFqnzlXUlawgy4SPEnuUjJAlk6egjOMg/kT5WLmyDLLS7CJmWyraMxxxuQWmZp5CA5xxtwCyMW4yDTMQ9BDY70CCfaQyctDcIfGnAIJOsi0kxFsEO/EF6bjPT7HdxSVAglWLnIl80YODZGgl3LLVFRBEZ5I8CPlIKtg3Mr6IRJsE2sFN8+PJnJoX5tk3jSXXMPh5iz6SvgayvnIfnOZeCFWGl/BFRyuCk5LMAan1wRt4qcEgpGDLRKcCH4cPZosiC5RBV18FygMLZtjIhJcChod31iHxooks+RYigSTM+eCsdguFAhmyeGLBJMNdxkNdxUIZsrBEawyGq4qEMyUwwj+hy6q8yTDEtR5mWAJ6rzQswW1RSR4LJHgMcuejE4I92Rq2JnSXS5yqF17HrRLIGinbVnIdNUi7KD96Zqcne2axoI17ta9roLsdxOcJeOkUPDEWRpkBD2Z/q4A6TxpgmlLxv6yvytAOg/n9Vk03X4mtjJ8fGc/4V2EVB7zXzUjaASNoBHMg19XMf4c7rb4xgAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-card
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABZUlEQVRo3u3asUpDMRTG8XQoBReX4iLoKHTr2kXqUroWfAc7iSC49hl8hLoIYned+gbFJ7hLsXYQCiIOUuIJnLvIoSS9BXOO3/Afe5MfDcmlqfPeO8s5AAEEEEAAAQTwHwCLoggdUvfUnPLKmvPcg0EEnlDvCmG/C4aWBHwwgCubSMCVIeCHBPSWAjCyKXVHjakn6tsK8JM6p/aoGtegTnM5YqoAv8I2zOem1EEOyCrA4QZc2ZlW4JpqRgDDcn3VCFxS9QhgjTcddcBHnryLaBT5TFexnQKvEwbuaQTeJAzc17hEnxOW6K3WY+IyAjngHVfdEi3rbBjwOPFZWQLfqCNhsH3qxcrL9loALq28bM+orgDsbvENZrFEA+giceA2f2aWO/CK3y23nUCDn5HtEnU7CkAAAQQQPxsCCOAfAs1fvkysX5+1rF+AllfY4SJ0oRC24LnLV9j4lwWAAAIIIIAAAqiuH/0WyXTcT3mtAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-card
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABZUlEQVRo3u3asUpDMRTG8XSQgouLuAg6Cr2Ta5fSLsW14DvoJILg6jP4CLoUSru3k29Q+g6ltYMgiDhIiSdw7iKHkvQWzDl+w3/sTX40JJemznvvLOcABBBAAAEEEMB/ACyKInRM9ak55ZU157kHgwg8o94Uwn4XDA0JODCAKxtJwHdDwA8J6C0FYGQv1DP1RI2pbyvAT+qS2qdqXJ1q5XLEVAF+hW2Yz02poxyQVYDXG3BlHa3ANXUYAQzLdaERuKL2IoA13nTUAYc8eRfRQ+QzXcV2CrxLGLirEXifMPCFxiU6SViij1qPiZsIZI93XHVLtKy5YcDTxGdlCXylToTBDqiZlZfttQBcWXnZnlJtAdje4hvMYokG0FXiwOf8mWnuwFt+t9x2AnV+RrZL1O0oAAEEEED8bAgggH8INH/5MrJ+fdawfgFaXmGHi9ClQtiS5y5fYeNfFgACCCCAAAIIoLp+AMIMW9Oa/X6lAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-cart
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACLUlEQVRo3u2aMUvDQBSAA4WCIBQEFzsJro4OBQcXoavQH9BV6A/oJHHqDyiKmfwBBVdBBAWhU0EcbhJshU6CUFDEQiG9g1PCeS/NXd4ll3jDt5TjvfuSy3uXS70wDL0y4zlBJ+gEnaATxBAcj8dbFJ9CKCEA4WPYWM9mZIJ+jJiIX0RBoiBIyi4Yln2JMnaLJpikyETpFU0QYhsQfCmLIGMISDbKItgBBPuSsapLHZPfPq0quElZSAK+USrCWD8HsT99WlWQcQMEOxTGEQsEiY5gGwh2aaHgp45gjfIlCTajrFm2RC90BBkDIGDLkiLDeNIpMj+0gKCDjNsAWzFTyTzYCqvrtIlo4BkQuJahYHfV7kpX0ONFRRa8nZHcBnCR36MXOY1gExC8zkiwD+TvpNnJRKnwBi8mWPANgUm5HcpckvuZUsUSTHwVDZCkiqMINoBEQ4NySjnTCjJegYR7hgQfgHz7pgR7QMJbA3JHQK4rrNclGWdA0m9kuSovImKeOS86RgRPMjxxOwbynGO+8CaVwz4zXecNXMzxwRs+uuAquXvkU2/oOe9iH1kkkTtFXpp1fqfEPFN+Z9EE2R25s+AdT2nPqyLoWyT3KDkDSi1ILBJsmjg2tEVQqf0UcYn6pgTzPmPR+uiKsVUr3OczJyjhgBJQJpyA/5ZXHFRBNoGR5JkZKU4OKw66YBBTGIIc4qALTmImNskhjhN0S/S/FZlitQn3b0Mn6ASdoAmWvJFW/yC6a1wAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-cart
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACLklEQVRo3u2aMUvDQBSAA4WCIBQEFzsJbsXRoeDgInQV+gO6Cv0BnSRO/QFFMZM/oOAqiKAgdCqIw02CROgkCAVFLBTSOzglnPfa3OVdcok3fEs53rsvubx3udSLosgrM54TdIJO0Ak6QQzBRqOxRfEphBIBED6GjfVsRiboLxET8YsoSBQESdkFo7IvUcZu0QSTFJk4/aIJQmwDgi9lEWSMAMlmWQS7gOBAMlZ1qWPy26dVBTcpc0nAN0pFGOvnIPanT6sKMm6AYIfCOGKBINER7ADBLi0U/NQRrFG+JMGmlDXLluiFjiBjCARsW1JkGE86ReaHNhB0mHEbYCtmIpkHW2F1nTYRDzwFAtcyFOyt2l3pCnq8qMiCdzKS2wAu8nv8IqcRbAGC1xkJDoD83TQ7mTgV3uDFBHO+ITApt0OZSXI/U6pYgomvogGSVHEUwSaQaGRQTilnWkHGK5Bwz5DgA5Bv35RgH0h4a0DuCMh1hfW6JOMMSPqNLFflRUTMM+NFx4jgSYYnbsdAnnPMF96kcthnpuu8gYs5PnjDRxdcJXePfOoNPec97COLJHKnyEuzzu+UmGfC7yyaILsjdxa84ynteVUEfYvkHiVnQKkFiUWCLRPHhrYIKrWfIi5R35Rg3mcsWh9dMbZqhft85gQlHFACSsgJ+G95xUEVZBMYS56ZseLksOKgCwZLCkOQQxx0wXDJxMIc4jhBt0T/W5EpVptw/zZ0gk7QCZpgAenme6I2GKVJAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-chart
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABPElEQVRo3u3aQQrDMAxEUZ88oJP6KCmFFEpxHGkky046i1km5oEhf5Gy73t58gqBBBJIIIEEEvgHwForuu1YWWlRwDdsP7Y9DfiNWw7pBbZwSyE9wB5uGSQK1OCWQCJAC2460gpEcFORFqAHNw2pBUbgpiA1QC1OjmUjuwV1BbTgPs9kIi8LqgdEcJlIVUGdARHc71UZiVQXVAuI4loHjECaCqoF9OBGI80FhQAFuCoRSKigrEBxxLYHCX+HLUAJiG0E6YoMLVACY9uCdBeUBigDYlsC069bUFdAqeNiW4Jw3ff1gNG4aKSqoM6Ao3BRSHVBtYCjcV6kqaAiYjsTaS4ob2xnIqGC8sR2JhIuKDS2M5GugloJ2EK6C2o14NTYnoVMie1ZyJTYvvUIJJBAAgkkkEACHwTk34Y33Qu1TWQV/xq9oQAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-chart
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABOUlEQVRo3u3aSwqDMBSF4ezHPQp35SkFC6XEeF85ifYMztDIBwH/gaXWWp68QiCBBBJIIIEE/gFw2zbv9mNlpWUB37B6bH8a8Bu3HDIKbOGWQkaAPdwySC9Qg1sC6QFacNORVqAHNxVpAUZw05BaYAZuClID1OLkGBrZLagroAX3eQaJvCyoHtCDQyJVBXUG9OB+r8pIpLqgWkAvrvWCEUhTQbWAEdxopLmgPEBxXJUMpKugrEAJxHYE6f4OW4CSENseZCgytEBJjG0LMlxQGqAMiG1JTL9uQV0BZWBsSxKue14PKIDYliTc6XlnwFG4LKS6oFrA0bgo0lRQGbGNRJoLKhrbSKSroCKxjUQKOraRSEHHNhIp6NhGI6GxPQsJie1ZSEhs33oEEkgggQQSSCCBDwLyb8Ob7gVDOYi4T24vnwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-clock
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAC0klEQVRo3u2aPWsyQRCAFSII9lZ2Qlr/gGAnttopAUlvly6CvFdrJ5bWYiQJKSws/Aep0liays4iKdJY+M7BLBzDnNm7G29XN4EHwrI3s0/Y7HfmeDxmrpmMM4Lb7VaKPFAFesAEWAEbYA8ckD2WrbBOD7/JS7VDWjALNIAR8A4cY/KOMRoY07hgAegCbwmkwnjD2AVTgi3g9QxilFfMlZpgGRgCXyca5f/MgUegCVSAIpBDiljWxDpz/CYs3hfmLJ9bsA4sQxrxDcywW5Vi9IgSfjvDWFyOJbbhLIId4INJ+gNMdRNH+ENOMTbN94FtERW8Bz6ZZGugLShGaWMOmvcT2yQi2AmRGwO3Z5RT3GIuTrKTVLDOdEv//6MP3KQgp7jBnN9Md63HFSwzA4qf4CFFMcoDI7nkRlcdwSHTLfoG5RR9pl3DqIItZp4bp9wtfQYI7a5jZp5s6QoWmBXKOqUBhcqp/ANm4FkzK56CjmCXmefaBuV8vJAphM6T3d8Es8zCeWqhnGLKLNCzpwQbzKhZt1ROTWN0VG2cEhyRyjOL5RQz8t0oTDDPbFa7lstxY4bvkOcEq8yWp2S5nNqF0K1WlRPskUrzC5BTzEmcHic4IZUehST8Ue0OWAA7xP/9WUgug20NxppwgitSqSkk90/jWMJLmKdJ4q04wQ2pVBEQvNOQexHIUyExN5zgnlQqCiReBOI9ATXkKVC+EMhTJG3fc4IHUiknkHgXiFcLlNcC5TuBPDnS9oOTglffRU0NMs9pDTImp4lBGtNE2hP9i6Ck1kRvYqnmCUlqLdVMLbaTSmovtk1ul5JIam+XTG9440pqb3htOLKIKhn5yMKGQycvwi4j8qGTLceGnoZcrGNDmw5+f7txin3wa9PRfdhNU6KjeycuX5y4Prv6C1AnrrCdeITgxDMSJx4COfGUy4nHeM48p3TiQezlPGn+e3V/ofwHgemGMPwAIisAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-clock
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAC00lEQVRo3u2av2sqQRCAFSII9lZ2QhoL/wHBTmy1UwLyert0EeRdrZ1YWouRJKSwsPA/SJXGMqnsLJIijYVvDmbhGObM3t14u7qv+CAsezP7yWZ/Z47HY+aayTgjWKlUpMgDNaAPTIE1sAX2wAHZY9ka6/Txm7xUO6QFs0ATGANvwDEmbxijiTGNCxaAHvCaQCqMV4xdMCXYBl7OIEZ5wVypCZaBEfB1olEfwAJ4AFpAFSgCOaSIZS2ss8BvwuJ9Yc7yuQUbwCqkEd/AHLtVKUaPKOG3c4zF5VhhG84i2AXemaQ/wEw3cYQfcoaxab53bIuo4B/gk0m2ATqCYpQO5qB5P7FNIoLdELkJcHtGOcUt5uIku0kFG0y39P8/BsBNCnKKG8z5zXTXRlzBMjOg+AnuUxSj3DOSK2501REcMd1iYFBOMWDaNYoq2GbmuUnK3dJniNDuOmHmybauYIFZoWxSGlConMo/ZAaeDbPiKegI9ph5rmNQzscLmULoPNn7TTDLLJxnFsopZswCPXtKsMmMmg1L5dQ0RkfV5inBMak8t1hOMSffjcME88xmtWe5HDdm+A55TrDGbHlKlsupXQjdatU4wT6ptLgAOcWCxOlzglNS6UFIwh/V7oAlsEP8v5+E5DLY1mCsKSe4JpVaQnJ/NY4lvIR5WiTemhPckkpVAcE7DblngTxVEnPLCe5JpaJA4mUg3iNQRx4D5UuBPEXS9j0neCCVcgKJd4F49UB5PVC+E8iTI20/OCl49V3U1CDzlNYgY3KaGKYxTaQ90T8LSmpN9CaWap6QpNZSzdRiO6mk9mLb5HYpiaT2dsn0hjeupPaG14Yji6iSkY8sbDh08iLsMiIfOtlybOhpyMU6NrTp4Pe3G6fYB782Hd2H3TQlOrp34vLFieuzq78AdeIK24lHCE48I3HiIZATT7mceIznzHNKJx7EXs6T5v+v7i+Uf4HyPSaeYRG9AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-close
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABV0lEQVRo3u3ZQQ6CUAwE0HKTf1IInpSb4IYFMQi/7cz8aPo3GjfjCyhtZtr33f75TAUsYAELWMACJoDbtn1+NB+vL/F3vcxtrUGBs5mtx/tFiPyaiwSeQ0yIvM1FAa9CFMjHXATwLoSJ7Mptrb2ywPX0A1che3B2XMEFcYsqkd244wrC/mQUSBeO8ZhgIt04BpCFDOFYQDQyjGMCUcgUjg3MItM4BTCKhOBUQC/SUDgl0IM0FE4NRCG7cSOAWaQLNwoYRbpxI4FeZAg3Gtj7KEgN6KOAHlwKOQIYwYWRamAGF0IqgQicG6kCemZLQ+6TCmBkcIbtk2xgZiuAIJlAxMqTRrKAsH0ui2QAkbg0ktkuoWfLEJLdLkEH5whS0S6hcCGkql1C4dxIVbuExHmQknaJgetBStolJq4rl9kuKXCPuax2yYS429w08NdPAQtYwAIWsIA35w3bnqWgR9wcRwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-close
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABV0lEQVRo3u3ZQQ6CUAwE0HIfzgjBM/774IYFMQi/7cz8aPo3GjfjCyhtZtr33f75TAUsYAELWMACJoDzPH9+tByvL/F3vcxtrUGBi5ltx/tViPyaiwSeQ0yIvM1FAa9CFMjHXATwLoSJ7Mptrb2ywO30A1che3B2XMEVcYsqkd244wrC/mQUSBeO8ZhgIt04BpCFDOFYQDQyjGMCUcgUjg3MItM4BTCKhOBUQC/SUDgl0IM0FE4NRCG7cSOAWaQLNwoYRbpxI4FeZAg3Gtj7KEgN6KOAHlwKOQIYwYWRamAGF0IqgQicG6kCemZLQ+6TCmBkcIbtk2xgZiuAIJlAxMqTRrKAsH0ui2QAkbg0ktkuoWfLEJLdLkEH5whS0S6hcCGkql1C4dxIVbuExHmQknaJgetBStolJq4rl9kuKXCPuax2yYS429w08NdPAQtYwAIWsIA35w0ckqWgrNKlUAAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-comment
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACE0lEQVRo3u3aMUsCYRzHcdsCoaE30NBge4tIoxxNEQUOLhI4VUPgJvQC4hqCaItsERyKaIhocWkSAiGRwAYbnAQHsQgku34H/2c57g6953nuzudp+A6Fnc+H9Lm757mEZVkJlUtoA+x2uyJKogwqIhPdoAb6QEP0Qw3pdw16jUl/k6FjcI9FJHAFFdAlaiOLszYdq0DHjgyYRWeoIwDlVYfeIxsm0EBXaCQR5mxE72nIBKbQCeqHCHPWpzGkRAN3UT1CmLM6jUkI8Aj1YoRj9WhsXMBjNI4hjjWmMQYClmMMc1aeFVgMeZYUMcsWpwVuoNYc4VgtGrsvcAFV5hDHqpDBE5ibYxwr5wesKQCseQHT6EsBoG1IuwFLCuBYJTdgVSFg1Q3YVAjYdAMOFAIO3IAThYATLf+Dyn8HlZ9FlT8PKn8lo/y1qBZ3E8rfDyp/R6/FmowWq2parItqsbKtxd6EFrtLWuwPeu3wvqu2w+tsVTAqNnv0rGUBKPtTcBDXpyzWOHH2IyU7gh5jkQI0OIGmaJxo4D4H7oG+w7EGngfEvc4y7UcJfA6Asx/jysvCiQSuo+8AuD2ZOJHAUoCPZV42TiTwccYJxQgDJwq4hX6nPM+ZsmZLmcDrKXB3Mk7iYQC30acP7J6uJZNR4HiBS+jWBfWCTtEmW7qLMh7gIXpDT+iCfraX6xajRvkC/5+6n9P+AIlSeOyA81MXAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-comment
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACE0lEQVRo3u3aMUsCYRzHcdsCoaE30NBg4Ngi0ihHU0SBg4sETtUQuAm9gLiGINoiWwSHIhoiWlyahEBIJLClwUlwEItAsut38H+W4+7Qe57n7nyehu9Q2Pl8SJ+7e55LWJaVULmENsB0Oi2iJMqiEjLRDWqiDzREP9SQftek15j0N1k6BvdYRAJXUBFdog6yOOvQsYp07MiAOXSGugJQXnXpPXJhAg10hUYSYc5G9J6GTGAKnaB+iDBnfRpDSjRwFzUihDlr0JiEAI9QL0Y4Vo/GxgU8RuMY4lhjGmMgYCXGMGeVWYGlkGdJEbNsaVrgBmrPEY7VprH7AhdQdQ5xrCoZPIH5Ocax8n7AugLAuhcwg74UANqGjBuwrACOVXYD1hQC1tyALYWALTfgQCHgwA04UQg40fI/qPx3UPlZVPnzoPJXMspfi2pxN6H8/aDyd/RarMlosaqmxbqoFivbWuxNaLG7pMX+oNcO77tqO7zOVgWjYrNHz1oWgLI/BQdxfcpijRNnP1KyI+gxFilAgxNoisaJBu5z4B7oOxxr4HlA3Oss036UwOcAOPsxroIsnEjgOvoOgNuTiRMJLAf4WBZk40QCH2ecUIwwcKKAW+h3yvOcKWu2lAm8ngJ3J+MkHgZwG336wO7pWjIZBY4XuIRuXVAv6BRtsqW7KOMBHqI39IQu6Gd7uW4xapQv8P+p+zntD4lbL+LdUYuNAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-doc
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAnklEQVRo3u3ROw6EQAwE0Z6b+KQgcdK5yZAgpNXyGQhAbqoSRw6eXVprcq58HlhrfeoCZZmDpKl3KSLSAZuksReZFaheZGZgFzI78BTpADxEugB3kU7ATaQb8A/pCPxBugJXpDNQksaImLIBL5Xxg7ZA3QQWgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDA94HZswfOeW+OoKksVdwAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-doc
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAnklEQVRo3u3ROw6EQAwE0Z77zBlB4oy+z5AgpNXyGQhAbqoSRw6eXVprcq58HlhrfeoCZZmDpKl3KSLSAZuksReZFaheZGZgFzI78BTpADxEugB3kU7ATaQb8A/pCPxBugJXpDNQksaImLIBL5Xxg7ZA3QQWgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDA94HZswfO52SOoNa20u0AAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-download
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACEUlEQVRo3u2aMa7CMAxAy1apx+g1mBEzIwv6e8/gC3xWzoEYGHoHJhZGuEAHZoZ+I7kSqhra2E6Tpn94C4IkD0WJYzup6zqJmWQ2gvf7XYsUWSIFckBK5IZUyIuo6LOSvlPQb1KtdWgLLpA1skcuSM3kQmOsaUzvghmyQ04CKRMnGjvzJbhBjg7E2hxprtEEc+QXeY4g1/CkOXPXgivkPKJYmzOtwYngFrl6lGu40lpUBX+QRwByDQ9ak4rgNjC5T8mtVHBlsS0TZYZu1xVXMLc8UHwINgdPzhH8tdwyvgRrWquV4IZxz/kUfLaDgW+C2UgRiouIJxsiuJugXMOuT3AhCJx9btHPAH3xTXAt+PdCEKzJwSi4j0BwbxJMhY/VUATfDmmX4HLCh0ubZZdgEZFg0SV4EA4ayhZ9c+gSLCMSLLsEbxEJ3roEq4gEqy7BV0SCr1kKRr9Foz9k+q4JcCDBBTjXxJCLHiYgZ7zoh4ZqELicMVSzCbYhYDljsG37XIJA5YzPJc6DFwKT+/rg5aYsICC53pQFN+kEgcj1Jp0kaUPwLDcobShN/IJHucGJX27qXkOSK2eVuucWX6SSIJjPuvjCKZ9JJCVy7PKZbQGUKymRExVAtUrY4EhOpYSt1YQADuTUmhC02khAcVuqt5FoNQKBwoHirBFoFq1cs2jGm0075SwaYqfT0vzfdT9R/gAlm2ht3UdF/gAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-download
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACEUlEQVRo3u2aMa7CMAxAy1apx+jIFZgRMyML+nvP4AvAyjkQA0PvwMTC+i/QgZmh30iuhKqUNrbTpOkf3oIgyUNR4thO6rpOYiaZjeByudQiRVZIgZyQEnkgFfIiKvqspO8U9JtUax3aggtkgxyRG1IzudEYGxrTu2CG7JGLQKqLC42d+RLcImcHYm3ONNdogjlyQJ4jyDU8ac7cteAauY4o1uZKa3AiuEPuHuUa7rQWVcEf5DcAuYZfWpOK4C4wuU/JnVRwbbEtE2WGbtc1VzC3PFB8CDYHT84RPFhuGV+CNa3VSnDLuOd8Cj7bwcA3wWykCMVFxJMNEdxPUK5h3ye4EATOPrfoZ4C++Ca4Efx7IQjW5NApeIxA8NglmAofq6EIvh1Sk+BqwodLm5VJsIhIsDAJnoSDhrJF35xMgmVEgqVJ8BGR4MMkWEUkWJkEXxEJvmYpGP0Wjf6Q6bsmwIEEF+BcE0MuepiAXOdFPzRUg8DlOkM1m2AbApbrDLZtn0sQqFznc4nz4IXA5L4+eLkpCwhIrjdlwU06QSByvUknSdoQPMsNShtKE7/gUW5w4pebuteQ5MpZpe65xRepJAjmsy6+cMpnEkmJHLt8ZlsA5UpK5EQFUK0SNjiSUylhazUhgAM5tSYErTYSUNyW6m0kWo1AoHCgOGsEmkUr1yya8WbTTjmLhtjptDT/d91PlD8lpB9jVjtwXwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-edit
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABdElEQVRo3u3azY2DMBAFYLazpI/UMloXshWg1LClcEsbBK1AilY4zNjz5ifi8C5IIH+y8TMSwzzPwydnOIGfBJymKWJuS8YljzXjeu2rdk8mIC2ZK/muISMAaU0rbss9IvB14NSBqz7DE0iMAV4EuN1neAFJMAulAXnf3kkP4H9c2UH8KCD/Nh5r4B6uhtCYyZsl8B1uy68ycrQCcnAEeCcfFsAeXC8SDtTA9SChS1QT14qEbTIInBRJqJpA4rhIQp1kLHBHyII6qlniasgr6rDtgTv6ClEDeuK2XFDACLiCnMESGae1REtUHPJ7MAQOBQyDsyh6Vxy66N1xyKIPgUMVfRgcouhD4XqB4XE9wBS4VmAaXAswFU4KTIeTAFPiuMC0OA4wNe4ImB53BEyP4wJLVhwXOCgiTXESoAbSHCcF9iBdcC3AFqQbjgukDqQrTlITLUh3nLQHJcgQuJai5yDD4BAnmVA4bWA43Fvg+c/2CYyXJ86a75gtKENKAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-edit
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABdElEQVRo3u3a3Y2DMBAEYK4emsj1kVqscyGpAKWG6yZtEHQCKTrhsLve2Z+Ih3lBAvmTjcdIDPM8D5+c4QR+EnAcx4i5LpmWPNZM67Wv1j2ZgGXJ3MhPCxkBWNZIcVvuEYGvAy8duOYzPIGFMMALA7f7DC9gYcxCFSDv2zvpAfyPqzuImwLyb+OxBu7hWgiNmbxaAt/htvwqIycrIAVXAO/kwwLYg+tFwoEauB4kdIlq4qRI2CaDwHGRBVUTSBwVWVAnGQvcEbKijmqWuBbyG3XY9sAdfYWoAT1xWy4oYARcRc5gjYzTWqI1Kg75PRgChwKGwVkUvSsOXfTuOGTRh8Chij4MDlH0oXC9wPC4HmAKnBSYBicBpsJxgelwHGBKHBWYFkcBpsYdAdPjjoDpcVRgzYqjAgdFpCmOA9RAmuO4wB6kC04ClCDdcFRg6UC64jg1IUG647g9yEGGwEmKnoIMg0OcZELhtIHhcG+B5z/bJzBenss6VPxUW7ciAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-email
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABVElEQVRo3u3aTQqDMBAFYO/RAwgeokcL5DYFwSu5EVwVvEEaQUHbSczPaDPjLN765YM4i4mVMabinEqAAhSgAAUoQAHeANj3/ZyHzctmsDHEMixnnw0gsLZ5E4R9ZzbUELBlgFvTQsCJEXCCgIZTIKBmBNSuKcoBqV1TlANSrw4IqIgj9eb8yjVkqCJ3ONeQMUSRP7gjICUkiAsBUkA6caHAkpFeXAywROQhLhZYEjIIlwIsARmMSwX+ExmFywFui65CJnWmALdFz4uQyZ2xQOiKnH1dszpjgL77fxYyuzMUGPJxYyNROkOAMZMLC4nWeQSMHssISNROHzClKBeJ3ukC5hRBhbHB6NS+rVpuUQ4Ss1P7lk6qp7t0Ur6lE3XcDunaqnFZ/Kpbru7ZP750jIAdBGwYPYA2vifs+SF0JAgbl7PDT9jyl4UABShAAQpQgAIklw+kPUkt9KvgqQAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-email
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABU0lEQVRo3u3aTQqDMBAFYO/RAwh6hx4tkNsUBE8luCp4gzSCgraTmJ/RZsZZvPXLB3EWEytjTMU5lQAFKEABClCAArwBsG3bOQ+bl81gY4hlWM4+G0BgbfMmCPvObKghYMcAt6aDgBMj4AQBDadAQM0IqF1TlANSu6YoB6ReHRBQEUfqzfmVa8hQRe5wriFjiCJ/cEdASkgQFwKkgHTiQoElI724GGCJyENcLLAkZBAuBVgCMhiXCvwnMgqXA9wWXYVM6kwBboueFyGTO2OB0BU5+7pmdcYAfff/LGR2Zygw5OPGRqJ0hgBjJhcWEq3zCBg9lhGQqJ0+YEpRLhK90wXMKYIKY4PRqX1btdyiHCRmp/YtnVRLd+mkfEsn6rgd0rVV47L4Vbdc3bN/fOkZAXsI2DB6AG18T9jzQ+hIEDYuZ4efsOUvCwEKUIACFKAABUguH2kz232wcsPAAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-event
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA4ElEQVRo3u3aMQrDMAyFYd8jByjk5IVAruQlkCkQ6AFcF9xNJmmdupb8D28IBKFvsIxBLoTgLMd1A/TeHyWkuIJUqwEQoFLgEHOPWYRCue8zqVFjSb0POeAtZvtTc1fWeBlGCTg10NxVNWYJuBsCPiTgUeHcYf+kuWo1AGoPQIAKgabSJZAzCBBgX8CzD9uv/gcIECBDBiDAQuBPh0ALQwYgwMaBTFGAALkHmaIAuQeZogABarkHAQIEWAbcDQ0ZcRFoNgQUV7lGLy/jaUt2Ge+9Tjkpha2pd3mdkq17pXkCXJ9NkSfLbVMAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-event
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA3klEQVRo3u3aQQrDIBCFYe+RAxTixQuBnCqQVSDQA1gLdjeStKbWGf/FWwTCMN/CEWFcCMFZjusG6L0/SkhxBalWAyBApcAh5h6zCIVy32dSo8aSeh9ywFvM9qfmrqzxMowScGqguatqzBJwNwR8SMCjwrnD/klz1WoA1B6AABUCTaVLIGcQIMC+gGcftl/9DxAgQIYMQICFwJ8OgRaGDECAjQOZogABcg8yRQFyDzJFAQLUcg8CBAiwDLgbGjLiItBsCCiuco2ZZTxtyS7jvdcpJ6WwNfUur1Oyda80T1yoBIcDgIRhAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-favorites
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACYUlEQVRo3u3awYcCURwH8BgilmUYomt0iiVi6brsKZZOsXTaU6eIpWvXiIjoD4hYYum6p4hlmWuHLBFLxJwiZt/jN2TMNG/mzfu9eaPDl7Xtznsfpnm/95uXsW07k+ZkbsC0ALfbLUaeSJ4xxpIB1Eh+IFoaga8kNqSVNmCOZHcBpD/fpQn4foFz8p4WoE5ieQDp74w0AMceOCdj1YFFktMV4Bn+RlngxxWck4WqwBoDzklNReA6BHCtGrAZAuekqQowS7KJANzA/yYe2ImAc9JJOpAu6gcO4AGukThgHrZBMw6ckxlcKy8LSBfmBkmfZEmyjwHllz2M0Ycxi3EDy7DNGZJ8kRwFYlhzhLkMYW5lVmCV5I1kQvINZZStSM4w5wkYql7AtkKgoLT9btFeCnC9oO/gQGHcgPUhM1UQNw3zFKVdr7lCuLm7U8eyTGRhDUo6bulVw7Kug7QbtkowbgVz5Kpk7qFZmzScCXOLpVQzIm6BRGUT1JGLUosWXM1bWdnBXIQU27TY/ZOIo2OXRO8mHiQV3UcYG2U/+BjQ74w7p7Cdtzg2vBYi0MLe0RsSblEDE1iRAKxgAhsSgA1MYFcCsIsJHEkAjjCBCwnAT0ygKam4RgNaEoAWFlCXWIvqGMBKxFJrCoVyCfqXJ5FrIQ/wJeRtNfDZ3hTgM0vEWsgDZHk9doD+pM54y/cY30p1MIDX1sBf6JDnIp6GasM1uNdCHuDC5xHeiumQnQbXMnlOZPAATVdXqy7wEFHd1dUzMYBH6EXWBMK8jqQsw6yFUYGa3/s4pJRZvwa3M9s3oCL5B8NTXVd0IjszAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-favorites
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACYUlEQVRo3u3awYcCURwH8BgiliWG6BodEkvE0nXZUyydYum0p06xRNeuERHRHxCxxNJ1TxHLMtdOS8QSw5wiZt/wGzJmmjfz5v3evKfDl7Xtznsfpnm/95uXsW07o3IyN6AqwEqlgpEnkmeMsUQANZIfiKYi8JXEhnRUA+ZI9hdA5+c7lYD9C5ybvirAPInlA3R+p6sAnPrg3ExlB5ZITleAZ/gbaYEfV3BuVrICGxQ4Nw0ZgdsIwK1swHYEnJu2LMAsyS4GcAf/m3pgLwbOTS/tQGdRPzIAj3CN1AELsA1aMODcLOBaBVFAZ2FukQxJ1iSHBFBBOcAYQxizlDSwCtucMckXickRQxsT5jKGuVVpgXWSN5IZyTeUUbYkOcOcZ2Co+wG7EoHC0g26RQcK4AZh38GRxLgR7UNmLiFuHuUp6nS9lhLhlt5OHc0ykYU1KO24tV8NS7sOOt2wTYpxG5gjUyVzD83atOEMmFsipZoecwvEK7uwjlycWrToad6Kyh7mwqXYdordP4E4Z+wy793Eg6Ci24SxUfaDjyH9zqRzitp5S2LDayECLewdvS7gFtUxgTUBwBomsCUA2MIEvgsAvmMCJwKAE0zgSgDwExNoCCqu0YCWAKCFBcwLrEXzGMBazFJrDoVyGfqXJ55rIQvwJeJtNQrY3hThM4vHWsgCpHk9doT+ZJ7ylh9QvpXqYQCvrYG/0CHPxTwN1YVrMK+FLMBVwCO8k9AhOw2uZbCcyGABGp6uVpPjIaKmp6tnYABN6EU2OML8jqSso6yFcYFa0Ps4pFRpvwa3M9s3oCT5BxwD763xKf8RAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-find
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACDElEQVRo3u2avY6CQBCA6X0LAg2voIWJLbna4gqf5IyNneQwPIr9Wd0VNhQm5q5BKgteQCtuSIbG7CI/u7M/avLFhOAOn25mhkGnLEvHZpynEcyyrC0+sAASYA/kwBXJ8ViC5/gd1hVKH8EpsAXOQNmSM35mqrOgC6yBSwexey64hqub4AzYDRC7Z4draiH4BhwEytUccG2lgrMHckcgBuZAAIyQAI/FeE6T5EyVoNuwLavXEvBaBPHw3Kxhu7oqBNecC/oCwh7BQvwsa801teCUky2rCxwPCDjmSF5klRCe4JazLUMBQUPOdt1SCfqcIr4UGHjJaQZ8CsEFJ1t6AgN7nOy6oBBMGIFjCdsnZsRJKAT3jMBzCYJzRpw9hWDOCBxIEAwYcXIKwSsj8EiC4IgR5/oSfG3RV5Kxv0xYX+itb9Wsb7af4nbJ+hteypHFr6qRBcXQqebDxrEhiaSqwe8flaTK0f2KQlL1wxee5DeQAjd8j4AJlaDox2erll/SCXinFBRJW8kC2JgoWPEjI+PqJJjKKCs6Cd5k1E6Tf8FWkjoJRjK6IJ0EJ1gKhErqJOhgnStESuomWPEpsmnXUbBL4eex0V1wqGRRt3U6Cw6VrBLWRHfBoZKRCYJDJFNTBPtK3kwS7COZmibYVTIyUbBuBgpbsmhTW3d6NN4wWbBu0KOmAdXz/SndVv4BLPl1Ey607DkAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-find
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACDElEQVRo3u2avY6CQBCA6X0LAg0+ghYmtuRqiyt8kjM2dpLD8Cj2Z3VX2FCYmLtGqSx4Aa24IRkas4v87M7+aPHFhMAOn25mhkGnKArHZpynERwOh03xgTmQADsgA65IhscSPMdvsa5QughOgA1wBoqGnPGaic6CLrACLi3E7rngGq5uglNg20Psni2uqYXgG7AXKFexx7WVCk4fyB2AGJgBATBAAjwW4zl1klNVgm7NtjwBC8BrEMTDc08129VVIbji3NAXEHYIFuK1rDVX1IITTrYsb3DUI+CII3mRVUJ4ghvOtgwFBA0523VDJehzivhCYOAFpxnwKQTnnGzpCQzscbLrnEIwYQSOJWyfmBEnoRDcMQLPJAjOGHF2FIIZI3AgQTBgxMkoBK+MwAMJggNGnOtL8LVFX0nG/jJhfaG3vlWzvtl+iscl6x94KUcWv6pGFhRDp4oPG8eGJJKqBr9/VJIqR/dLCknVL194kt9ACtzwMwLGVIKiX58tG35JR+CdUlAkTSVzYG2iYMmPjIyrk2Aqo6zoJHiTUTtN/gUbSeokGMnognQSHGMpECqpk6CDdS4XKambYMmnyKZdR8E2hZ/HWnfBvpJ51dbpLNhXskxYY90F+0pGJgj2kUxNEewqeTNJsItkappgW8nIRMGqGchtyaJ1bd3x0XjDZMGqQY/qBlTP96d0W/kHLQIsCT+lrB8AAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-folder
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA9klEQVRo3u3aMQqDQBBAUStvkEpIG7DyBjlkziAEBK9kI1gFBCurzRjWQMIIRiWuwy9+6eJrZiWTyDkXWS4CCPAgwKqqtBLpLtWSm1ntn0kmzvxLc4AX6fED7Lvh2TRkYLECN1aGCjxJ7QbAzp8VFPAs5RvgxnJ/ZhDAJUMllD6GmwZcO1RC6TXcNGBhAPcebhqwNQTsNKCzFECLwF66SVcp3vM7cmGxf/fB0GvA7ICoqTIuei56Lnoueu5BgAABAgQIECBAgAABAgQIECBAgAABAgS4Dmj+p/vS+vIltb4+GxegwxqtOSCs8e+uL0D5xy9AgLv0BBFwg9JEQ8jKAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-folder
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA9UlEQVRo3u3aMQqDQBBAUStvkEpIG9DGG+SQOYMQEDyVYBUQrKw2Y1gDCSMYlbgOv/ili6+ZlUwi51xkuQggwIMAsyzTSqS7VEtuZrV/Jpk48y/NAV6kxw+w74Zn05CB5QrcWBUq8CS1GwA7f1ZQwLNUbIAbK/yZQQCXDJVQ+hhuGnDtUAml13DTgKUB3Hu4acDWELDTgM5SAC0Ce+kmXaV4z+/IhcX+3QdDrwHzA6Kmyrnouei56LnouQcBAgQIECBAgAABAgQIECBAgAABAgQIEOA6oPmf7ivry5fU+vpsXIAOa7TmgLDGv7u+AOUfvwAB7tITwqnxl38ljYoAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-food
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB2klEQVRo3u2aMUvDQBiGn6gUdHFzKqXiUBRFiggiggqOOihV/4GIOrgLolDBoYODivQPuHSzm0OdC05CJ4f8AOcOLnX5AiGgSZrz0pTvhcBx971v8nCX4Y5zer0ew6wRhlxjYQWu63pT7ASG4vZH0RKwA2wAC9L3AbwBL8B70FAsFpMBWtQZcALMBvrX5TkAHoF7ozNoSRfANTD6R80scAdMAjdZ+gePgMsQOE+jUnuUFcCyLMtcDE9OPOUsAB4Ai334FsU70IDTwG4C/65kDCzgGlBK4C9JxsACLtvISBNw3kZGmoAzNjLSBJyykZEm4LeNjDQBP21kxAEcN1TjqW0AsG0ScMtQjaeWAcCWScBb4FDa+75+r30oNVHVBBoJ4BqSkXi71AHm5KkBK8Ceb7wGrAIVIO/zhKkL1H3ZcdQRb9fEDFZ9H5wHzoGCb7wgfX64asQPfQ3kR4WritfIhvcZ+JI9WCXCsqlHfbmNfCfsVM11Xa85AWwDm8BxoOxJfvhmlGXzi/rKDzuTiQPoV9DkYFaR88MAh/7YUAEVUAEVUAEVUAEVUAEVUAEVUAEVUAEVUAEVUAEVUAEVUAGHArDzS9uUjOX3eyH2CjiV9sM/ABrLd/TWfcb1A4b9XuqesQBiAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-food
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB2ElEQVRo3u2aMUvDQBiGn1gpOLk5FUEcpBIpRQQRQQVXB6W2/6CIOrgLolDBwcFBRfoHHHTTzaEuLgUnSyd/gnMHl7p8gRDUJOa8NOV7IXDcfe/bPL0L5I44/X6fYdYIQ67RsALXdb0pdgJDcfujaB7YAFaBOel7A56BB+A1aOh0OskALWof2AWKgf4VuarANXBpdAYt6RA4AXK/1BSBC2AcOM3SM1gHjkLgPOWktp4VwLIsy3wMT1485SwAVoHSH3wl8Q404BSwmcC/KRkDC7gMzCTwz0jGwAIu2MhIE9C1kZEm4LSNjDQBJ2xkpAn4aSMjTcB3GxlxAMcM1XhqGwBsmwRcN1TjqWUAsGUS8AyoSXvb1++1a1ITVY/AfQK4e8lIvF3qArNynQOLwJZv/BxYAipAwecJUw9o+rLjqCvenokZbPhuuAAcAJO+8Unp88M1It7oUyA/KlxDvEY2vLfAh+zBKhGWTTPqj9vIH43xT78Ad8AasBMYv5EH/jHKsrGZ74QdG7rut697QZODWUXODzt0GvpjQwVUQAVUQAVUQAVUQAVUQAVUQAVUQAVUQAVUQAVUQAVUQAUcCsDuD21TMpb/1w9ij4E9aV/9A6CxfEe/us+4vgAe51yafYbOPQAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-gift
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABrklEQVRo3u3asUscURDH8c8GTaqYSptrLoKF4B8gklbSSCCX5qoUgo1plJQWoiRpUlprkSqVEpImpA2kE1IFFOSsUwlprM5miuXIXla9O6PMDxbezs2bed99N/O22KLb7brLuueOKwFvu8aqfuh0OpeJM4uXWIzxGb7jAPs4r5j3AC08xxM8wi98w4cY11Kz2fyrvahqMjUBC7SxhZkKnz28xUmPfRobWK6Yd4xNfET3qoDX/Yuu4n0fOAHwDlMl21TYlvvMm4nYqzdVgy2soVHD9wVWSvcrYfuXGpGjhfujBmzjMXbxDJN4iAVs47Sn1tux4EaMy/V/GnMWIsZkxNyNHG00B9pkaugp1rHTY/8R16eozaWwz5V2ba7k/yVq7bBk+4PPcf3EG/zGq1ECTkQjqNIhXmM8HgbM9/h8DZ+jPnGOI9fsVRZ53S7632hYXfT2HvR1zp6a52S/WMUQcuW7aAImYAImYAIO4hwsRriOIndwCDs4iDeaujsztBzZZBIwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARNwlCrym+0ETMAb1QVIWkrxwGLMGgAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-gift
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABr0lEQVRo3u3asUscURDH8c8GTSpNpc01iWAh3B8gkjakCUIuzVUpBBttDJYWokSblKm1SJUqQZImpA2kEwIHQoSAtVUgjdWlGWE53MtG784o84OFt7Pvzbzvvp15r9ii2+26zbrjlisBb7rGqh40m81/8TOHF3gc7V/4ig94j7OKcffQwjM8wn0c4QveRruWOp3OhfaiqsjUBCzQxhZmK/rsYwc/e+wz2MBSxbhjbOIdupcFvOonuoLXfeAEwC6mS7bpsC31GTcbvleuKwdbWEOjRt/nWC7dL4ftb2pEjBbujhqwjYfYwyKmMIEFbOOkJ9fbMeFGtMv5fxJjFsLHVPjcixhtPBhokamhJ3iJNz32b3EdRG4+PU/r0qqVE/xT5NphyfYbH+P6jlc4xeooASejEFTpEOsYj5cB8z19PkefH338HEesuctM8qpV9L/RsKrozd3o6+w9NffJfr6KIcTKs2gCJmACJmACDmIfLEY4jyJXcAgrOIgTTd2VGVqMLDIJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJOEoV+c92AibgteoP7k9K8VTtkMIAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-globe
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAF/0lEQVRo3u2aa4hVVRTH587rjjo+Jq3BwUcijqJOjWOM1BCKMOGQlogiNWJ+KLTA/FDBoIbmh4KMUqMsKNJCrLTUoCzECqmo7KVmWSQ/35lMOaVjjjPO7cv/wOZw7jln73vuJOKHxXncfdc6/73WXq+9CzKZTMHVTAXXAF5NAIGkqAKYCCwA1gC7gWNAB3AW2AdsBlqAJmAEkE5Kfr4AVgKzgW1AxoFOASuAulzBJg2wGlgFtDkCC6LPgLuBvv8nwMHAcuC8I4gLxv0+4HZgqe69918BjUBJTwNsAg44gDoELBaY8cCbuvYyeKeB+4ATxv/WAsN6AmC5ZtkW2F5gjrG2UkAZUBQi6y4fj1+BhnwCvB7Y4GiOTwCFBrhHIsAVyDQv+fj8C8wSj0QBVgJbHYB1Ab8D38rDFgCjtW7rgFEhMm8AurPwvTcMpC3AfsAmS2AngS3AMq2xk0AtMAT4SWM6dG3JIndmhIxZSQFcbQFsMTABuAkYI7P21lK9Zn088LOhnf1AH5/MXsDnIXL+krk25Aqw2QLcWWAo0F//LQZ663mewXO0HIw3cd3Ak4bJFQIrpeEfgMMBstYajmeYK8DqkFBwAWjV/RHN9hxpr1FAUwJZrvsUMB84pzCRAp4WjzGSWQS8IdBdel/hk30RuA542QBb4gJwvc9ZjJEp9RP113NvQ0AKKPXxSRlO4w5lKGmgyliPu8Sj3gfmcsDkXpbs0cAZvWu0BTjZyFD+BB6XNlzTud7AW5rtKdJklfHRaLLmRiwDzzTvkbZfNDKevjYAXzOYngamRcWeEOoDHDc850B9zPe+j+8AOkPAdQMjlfN+KgczVE4qI8uIBbDWlziPD/joshiB2qOhxnrNSJueE/rEwokt0dqbBjxryJ9nJOjpOABX+hjf5kux0opr24FBMUEOAu4EPvCZ+sAsXjKI3gHGGhPs8SjRGs4oeQgFmAL2BHitjwTsKZH321E5j7jmWu57LlZiHVeLh+Xd/XyX6fcVUQAnBNj9F/JaF7MIne+4NouBRapM/o4J8B9gagCvGsXhU0A6DOBCH8M90l6Y0FeNRDoupeRojgPvqqURB+AJrcVSY2KLNFkfa8yIMIDrHBLq9y1DiBfwjzjImqI1t0wJw2PG83sa0xQGcKeD0A2WGpygCsOl7JopWS/IJL/UfZehnJYwgAcdhD5oAa5UpZNrr6ZVXr1UKVyR8ds5XTeHAWx1ELrLwkQfyLEZtSXAWgYDG1U+ZYB9YQAvOQpuCdGY12dpJvdu25IscgqB4V5Vkw+AF5U6FfmC+9fKY99WcpwLuL0RllLppXxJm6hHG4HXBbLQV420C+g3wHeO/GdEmP+NGncsaSfjp5EKBQPU6mgEdiimDlYF0O3AtzICYJ3G7U46TPhpv6rsUmnyfqV0ndLgVJnumZj8PK8blffO0Lg1SQf6MJqr6mG4r4vd4cCrPALgYo1bYJOqJUGdwK3AJDWj0mpGzVGtGZfPoojs6HmNmxgGsD4PAL02w44AL1ipfk5nDB7twC3quN0s66gySiavtqywLZeSoleypHQl2qOIaw1tSs26ZeoVRjWxzaXgTYK6VI2HpXAvAb9Y8v1NGvXqwdlxADYkvNfnmejYGFVGmZbJMQveVUoX27xQYtt0SormxcxX0+p8x+X7jK6rbLpq03PY2MxGP8Zw9QWqFmz4HtW3VufS+E2Klka0HweoD2vLd7lLZ3uS4y5uHJPKBjKs95ONDigFdNp8eSgPAD/M0lMtUt5qy68pl92lFPBcHuJhKgDcdkeTz3l/cIjDBqhtwK9RrLTtBZUntYU9znELO4hqAvYuTlvy2Kp8NtFDCOMS0mSxD5xtONoUVRvmcoxkSI5rslt7FN4mT7vl/1drbzKvB4FS8q4uIeS8tGZ2ouOGguaePso1ScnAeUuAFQL5R8zx67NsuPTYYbzpyl3jJuijVNd1CMChgDFt4jn5SjpO2aBSK6qefBR4OEvjaY941F6J50XNNVqv9sc6NbIOqiV5SdSqdzs1ZqH2LFLk80DstTPb1wBeefQfSb1PMDABBdwAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-globe
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAF/0lEQVRo3u2aa4hVVRTH587r+hgfk9bg4CMRdfCnpWPMUEMowoRDWiIOUiPmh0ILzA8VDI6h+aEgo9QoC4q0ECs1NSgLsUIqKnupWRZJvjOZcspHM844ty//A5vDueecve+5k4gfFudx913r/Pdae732LshkMgVXMxVcA3g1AQSSonJgMrAAWA3sBo4BHcBZYB+wCWgGGoCRQDop+fkCWAHMAbYBGQc6BSwHqnMFmzTAMcBKoM0RWBB9CtwN9Ps/AQ4BlgHnHUFcNO73AbcDS3Xvvf8SqAdKehpgA3DAAdQhYLHAjAfe1LW3wTsN3AecMP63BhjeEwDLNMu2wPYCjcbaSgG9gKIQWXf5ePwC1OUT4PXAekdzfAIoNMA9EgGuQKZ5ycfnX2C2eCQKsALY4gCsC/gd+EYetgAYq3VbDYwOkXkD0J2F771hIG0B9gc2WgI7CWwGWrTGTgITgaHAjxrToWtzFrmzImTMTgrgKgtgi4FJwE1AlczaW0s1mvXxwE+GdvYDfX0yewOfhcj5S+ZalyvAJgtwZ4FhwAD9txjoo+d5Bs+xcjDexHUDTxomVwiskIa/Bw4HyFpjOJ7hrgDHhISCi0Cr7o9othulvXoBTQlkme5TwHzgnMJECnhaPKokswh4Q6C79L7cJ7sduA542QBb4gJwnc9ZVMmU+osG6LmPISAFlPr4pAyncYcylDRQaazHXeJR4wNzOWByL0v2WOCM3tXbApxiZCh/Ao9LG67pXB/gLc32VGmy0vjo3zRZcyOWgWea90jbLxoZTz8bgK8ZTE8D06NiTwj1BY4bnnOQPuY738d3AJ0h4LqBUcp5P5GDGSYnlZFlxAI40Zc4jw/46F4xArVHw4z1mpE2PSf0sYUTW6K1Nx141pA/z0jQ03EArvAxvs2XYqUV17YDg2OCHAzcCbzvM/VBWbxkEG0FxhkT7PEo0RrOKHkIBZgC9gR4rQ8F7CmR99tROY+45lrmey5WYh1Xi4fl3f18W/T78iiAkwLs/nN5rfYsQuc7rs1iYJEqk79jAvwHmBbAa4Li8CkgHQZwoY/hHmkvTOirRiIdl1JyNMeBd9TSiAPwhNZiqTGxRZqsjzRmZBjAtQ4J9XuWIcQL+EccZE3VmmtRwvCY8fyuxjSEAdzpIHS9pQYnqcJwKbtmSdYLMskvdN9lKKc5DOBBB6EPWoArVenk2qtplVcvVQpXZPx2TtdNYQBbHYTusjDRB3JsRm0OsJYhwAaVTxlgXxjAS46Cm0M05vVZmsi927Yki5xCYIRX1eQDYLtSpyJfcP9KeezbSo5zAbc3wlIqvJQvaRP1aAPwukAW+qqRCwL6NfCtI/+ZEeZ/o8YdS9rJ+GmUQsFAtTrqgR2KqUNUAXQ78K2IAFitcbuTDhN+2q8qu1SavF8pXac0OE2meyYmP8/rRuW9MzVuddKBPozmqnoY4etidzjwKosAuFjjFtikaklQJ3ArUKtmVFrNqEbVmnH5LIrIjp7XuMlhAGvyANBrM+wI8IIV6ud0xuBxAbhFHbebZR2VRsnk1ZbltuVSUvRKlpSuRHsUca2hTalZt0y93KgmtrkUvElQl6rxsBTuJeBnS76/SqNePTgnDsC6hPf6PBMdF6PK6KVlcsyCd6XSxTYvlNg2nZKieTHz1bQ633H5PqPrSpuu2owcNjaz0Q8xXH2BqgUbvkf1rWNyafwmRUsj2o8D1Ye15bvMpbNd67iLG8eksoEM6/1kowNKAZ02Xx7KA8APsvRUi5S32vJryGV3KQU8l4d4mAoAt93R5HPeHxzqsAFqG/AnKFba9oLKktrCxnELO4gmBOxdnLbksUX5bKKHEEhIk8U+cLbhaGNUbZjLMZKhOa7Jbu1ReJs8Fyz/v0p7k3k9CJSSd3UJIeelNbMTHTcUNPX0Ua5aJQPnLQGWC+QfMcevy7Lh0mOH8WYod42boI9WXdchAIcCxrSJ55Qr6ThlnUqtqHryUeDhLI2nPeIx8Uo8L2qu0Rq1P9aqkXVQLclLola926kxC7VnkSKfB2Kvndm+BvDKo/8ARl20hX86CbAAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-group
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAEYklEQVRo3u2aW0hUQRjHd0vSygqkkkoiyCi7QTe0eujFLtANCiolKRIJrCgKH4RSHyqoMJAIiQpXAulKSQ89BN3IoqIHS7CSWJT0wR6y1kqp3L6B/8AwHD23b85ul4cfLHP5zvz2nJn9Zs6G4vF46G8m9M8IRqNRLywhyojrRCvxFbSirAxtQkHjV3AZcZboJuI2dKPtsj9FcB/uUNwlreibtIJjiOMexHSOI1ZSCaYQJxjkJCcQM2kEyxjlJGXJIrie6DQg2InYCRXMIBotBjdA3CUqiXVENjFSIxt1lWg7YBGnEddImGCpxaCuEJs8XHQT+urxShMlKL7ZB8pA+okjRCrqw0Q+UUXcJtqIb6ANZVVoE0afVMToV+I+MHEXnQgWWsjJgW4hbriYbzfQR34xumRhIgTrlAE0YWDDiD1En4dFpQ99hyFWk1JXF7TgZKJdGUA1yicRH32snB8RI4SYsrwd1wxMcIM2sL0oX8zw87AYsfZq5RuCFDysXLiHyFPmnl9BORdFzGvEASJXWbwCEbygDEisiGNRXssgWItYI0BCfuhvKgNqVsqfMwieU+KNx6P6UJvbX4iXxFFipgnBRgtBsfJ98CknYq1AvEXEPQd93imPNZtgwyB38JUPOZGq7UachcR7F317ie2cgqeU4G+INJRf8iHYoDyWjzz078IXwyK4S/vtmovybcRPj4Kbh8hvnVLvdB9pJ6j+3v1S9m5p2B18cjkwcceGE+lYULwKivOd2RyCo7RzF7G47FDqyz3s4EW/GT4zoQGnC46TXPSiFlxIbkTdBOKFi4GtZMyEDnIJ7rQI/gRyIWyDuhwuDmMYM6EzXILTiLdacDEfDykTfSvRMcRgOtAmxJgJPSXGce3oTxM/iDtYaPIs2oil+7J2CNyNMn1Z58iEPuM4hEVwFrHaJthUbHVy8Njm4/Nk1IUYMyHJfNNH94JMTPhqzC0hNRrkoKwabVIYMiHJdyf5KYdghYtBzWHIhCSvkQ2xCGYRxUQEOWlM2Xm3eFja/WRCkpM49vAlKOZLiXZuIpniQbDeZyYkD74iyvU9C2bYvIco8PCIVmgDKPcgeItjNxF28JLlKhaSTOw6hnrkfqJNpnYk4TYTEj87SzkES1y8ApMrozieryGe4fymB59rUCffTh1T9oNuMiHxaO7n2PBmDTLnBuM8DovsLpaLtnLzvEqps8uEenE6nsohWOxhXkRxxlJEzMN2KB2fi1AX1fo81CStMiFxJvOYWKucpvsWjBh4RTYYlZiXVpnQGmIB6qdznqo1M0u0YB5uwyZVZjkTcVfcZEKZHIIxJrEo7lA2YyZUwSHIIXdfWTk5M6EW5Z1JDLEiiJ0VlKCQW24oE5KCUyzqmnCtMHeyPdRrb1OZUIHNuU+GaUGTmdBo9LU73AqbFDSZCTn9E1KJKcEgMiEniDFkmRAMKhNyQrEJwSAzITsiJgSbk0iw2YRgLIkEYyYE48nEvyf4/1/3fyi/AdOa9QDDijZ8AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-group
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAEY0lEQVRo3u2abWjNURzH72XZmFELN3aTMjFDeQrzwhtPhSmKbVlkLeUhor1Yse0FCk1JktDuUsvTYnnhhcJkhLy4rIaltYUX88LD9Rh2/U59T51O/+3/9Dv/ez28+NTtPPz+53P//3Pu75z/DSWTydDfTOifESwsLPTCXKKKuEx0EJ9BB8qq0CYUNH4Fi4gTRC+RtKEXbYv+FMEduENJl3Sgb9oK5hAHPYjpHESstBLMIA4xyEkOIWbaCFYxykmq0kVwFfHagOBrxE6pYC7RYjG4PuIGUUusJPKJoRr5qKtF2z6LOC24RsoEt1oM6gKxxsNF16CvHm9rqgTFN3tbGch3Yh+RifowsZioI64RncQX0ImyOrQJo08mYnxX4t42cRedCJZZyMmBriOaXcy3ZvSRX4wuWZYKwQZlAG0Y2CBiG/HNw6LyDX0HIVabUtcQtOA4olsZQD3KxxJvfaycbxEjhJiyvBvXDEywWBvYdpTPYfh5mINY27Xy4iAF9yoXfk/MV+aeX0E5F0XMS8QuYp6yeAUieEYZkFgRR6D8JIPgScQaAlLyQ39FGVBcKX/IIHhKiTcKj2qrNrc/Eo+J/cRkE4ItFoJi5XvlU07EWoR4s4mbDvq8UB5rNsGmfu7gEx9yIlXbgjiziJcu+n4iNnAKHlGCPyOyUH7Oh2CT8lje8dD/Db4YFsHN2m/XNJSXED89Cq4dIL91SqPTfaSdoPp790vZu2Vhd/DO5cDEHRtMDMeC4lVQnO9M5RAcpp27iMVlo1Jf7WEHL/pN8pkJ9TldcJzkome14EJyNepGE49cDGwJYya0m0twk0Xwe5ALYRv0xuHikMOYCR3nEpxAPNeCi/m4R5no64meAQbTgzYhxkzoPjGSa0d/lPhBXMdCM9+ijVi6z2uHwL0o05d1jkzoA45DWASnEMtsgo3HVqcAj+1ifB6HuhBjJiSZYfroXhDBhK/H3BJS2aAAZfVok8GQCUm+OslPOQRrXAyqkCETkjxFNsQiGCUqiBhy0oSy8273sLT7yYQkh3Hs4UtQzJdK7dxEkudBsNFnJiQPvmLK9T0L5tq8hyj18IjWaAOo9iB4lWM3EXbwkuUiFpIIdh0DPXI/0SaiHUm4zYTEz84CDsFKF6/A5MoojuePEQ9wfvMen4+hTr6dOqDsB91kQuLR3Mmx4Y32M+f64zQOi+wuNg9t5eZ5qVJnlwl9wul4JodghYd50YUzlnJiOrZDw/G5HHVdWp9WTdIqExJnMneJFcppum/BmIFXZP1Ri3lplQktJ2aifiLnqVqcWaId87AEm1SZ5YzBXXGTCUU4BBNMYl24Q/mMmVANhyCH3C1l5eTMhNqVdyYJxIohdjQoQSG30FAmJAXzLOracK0wd7I90GtvU5lQqc25T65pQZOZUDb62h1uhU0KmsyEnP4JqdKUYBCZkBPEGKImBIPKhJxQYUIwyEzIjpgJwXgaCcZNCCbSSDBhQjCZTvx7gv//df+H8hvTo6v2BdhENwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-help
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACyElEQVRo3u2aP2siQRTAtTkE03qthRBICps0IVikkq0tbeQaq61t/QBaBSyU/Q7BIsVW+QJWabZUkLvOg6Q1xHvCWwjem3F9b96sub3iB2HdmXm/OM68+VPa7Xalf5lSYQSXy6UrKkALCIEJEAMJsAG2yAafxfhOiGUqruJwLVgGAmAMLIAdkwXWEWCduQtWgR4wF0iZmGPd1bwEO8Cjgtghj9iWN8EGMAJePcilvGKbDW3BNvDkUeyQJ4xBRbALvOQol/KCsTgV/AGszkAuZYUxORHsCuTWQISjYRO4QJr4LMJ3uJJdqWCb2S0/gBlwl6Hr3+G7H8zu2uYKNpgDyj5LGTCmnQGW5Qw8DY7giPnNDQQZyID5TY5OFeww57mZgzxyxpwnO1kFq8wMZZ3xN5flN7lmZjzVLII95qgWWYK+B6Y48q3w73vL+xEzht4xwbIgce5Z5BaGlYNJkvtPnqerEJNgIJh8rwzBTi1lpoYyTUEcgU1wLKj4myHY1ZHJmipzIYhjbBKsCBer34lAa8Avz4J7hwol2BLmh9dEoPtnvz130T0tSjAUVjokAh3iZ++eBpmUkBKcCCv9iULXyBCfUd1Sa5pImVCCseLy5rO81kT/mZgSTBQFh8qp2iEJJbhRFLxUTrb/WtFQgltFwZricoli61tQa8F7kuAmB8HIwYCSuYsmOQhqtZf4niZ8C8YaE/2pg0xNsb2JRqpm45YQvFVsL9RItm08EIIPiu21NJZLNt6IPPVNqS3jckm64D0XxlpbFudCoLXpZOMZ6AN1pI/PNE6Fy1rbhja5G2KQuVGQPLptKNn4NdG3TPR9x0fdmTZ+JVv3FHWLYN3hEXfmrXvJ4UtegicfvkiOz3x3UfbxmeQA1NcgIzoAdXGErTlNODnCLsQlhEJcIynERaBCXOUqxGW8wlynLMSF2K9zpfn/rfsvyh/6EbFZWfOfjQAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-help
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACxklEQVRo3u2aP2siQRTAtTkE03qthXBwEWzShGCRSra2tFmusdra1g+gVcBC2e8QUqTY6r6AVZptBbnrPEhaj3hPeAvBezOu782bNdkUP5B1Z+b9cJx586ey2+0qH5lKaQTb7bYrakAXiIAZkAApsAG2yAafJfhOhGVqruJwLVgFAmAKLIEdkyXWEWCdhQvWgRB4EEiZeMC660UJ9oF7BbFD7rEtb4ItYAI8e5DLeMY2W9qCPeDRo9ghjxiDiuAAeCpQLuMJY3Eq+ANYnYFcxgpjciI4EMitgRhHww5wgXTwWYzvcCUHUsEes1u+AgvgJkfXv8F3X5ndtccVbDEHlH2WMmJMOyMsyxl4WhzBCfOXGwkykBHzl5ycKthnznMLB3nkgjlP9vMK1pkZyjrnfy7Pf3LNzHjqeQRD5qgWW4K+BeY48q3w863l/ZgZQ3hMsCpInEOL3NKwcjBJhoIEvWoTDAST73dDsHNLmbmhTEcQR2ATnAoq/mIIdnVksqbKXAjimJoEa8LF6lci0Abw27Pg3qFGCXaF+eElEej+2R/PXXRPlxKMhJWOiUDH+N1fT4NMRkQJzoSV/kKhS2SMz6huqTVNZMwowURxefNWXmuif0tCCaaKgmPlVO2QlBLcKAp+U062/1vRUIJbRcGG4nKJYutbUGvBe5LgpgDB2MGAkruLpgUIarWX+p4mfAsmGhP9qYNMQ7G9mUaqZuOaELxWbC/SSLZt3BGCd4rtdTWWSzZeiDz1Rakt43JJuuA9F6ZaWxbnQqC16WTjJzAEmsgQn2mcCle1tg1tclfEIHOlIHl021Cy8WtiaJnoh46PunNt/Eq27imaFsGmwyPu3Fv3ksOXogRPPnyRHJ/57qLs4zPJAaivQUZ0AOriCFtzmnByhF2KSwiluEZSiotApbjKVYrLeKW5TlmKC7Hv50rz5637d8o/+hpoT5ELhEAAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-home
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABX0lEQVRo3u3a0QmDMBAGYJdwJ99cwUmETuA6naBrCN1B6FuaQh5KiTa5+/+YtPfwI0g093EQErRzznW/nO5vgOu6lsgcQp/rDOAL5kLm2oFuJym4IsiSwPlg/Nw68AhHRZYApuBoSAbwIsRRkGigFgdHIoEoHBSJAqJxMCQCKMFdQuhILVCKe3+eikRt1SS4IkgEUIL73GzTkFqgFBcrmILUALW4IkgpEIWjIyVANI6KzAWycDRkDpCNoyBTgaVwcGQKsDQOivwGPAsHQx4Bz8ZBkHvAWnBqZAxYG06FjAGvFeJiyJR5rzHgVilOgtxyO3g2LhcZ7eDk8yDg7j6Lz+DThwzh3p2AfBmmvVV0Cp3cwlWLu/mMB9vAMYzRIt9rnqSnCUnnxoT3jsJOwo9LuQUsGYfopUXgkAEcWgT2GcC+RSDqi5UBDWhAAxrQgAY0oAENaEADGtCAcqD9dd9onjCC5/YbEJ4uAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-home
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABYElEQVRo3u3a0QmDMBAGYJdwChfxzRWcROgErtMJOkh3EPqWppCHUqJN7v4/Ju09/AgSzX0chATtnHPdL6f7G+AwDCWyhNDnOgP4grmQpXag20kKrgiyJHA5GL+0DjzCUZElgCk4GpIBvAhxFCQaqMXBkUggCgdFooBoHAyJAEpwlxA6UguU4t6fpyJRWzUJrggSAZTgPjfbNKQWKMXFCqYgNUAtrghSCkTh6EgJEI2jInOBLBwNmQNk4yjIVGApHByZAiyNgyK/Ac/CwZBHwLNxEOQesBacGhkD1oZTIWPAa4W4GDJl3msMuFWKkyC33A6ejctFRjs4+zwIuLvP6jP69CFjuHcnIF+GeW8VnUMnt3DV4m4+08E2cApjtMj3mmfpaULSuSnhvZOwk/DjUm4Ba8Yhem0ROGYAxxaBfQawbxGI+mJlQAMa0IAGNKABDWhAAxrQgAY0oBxof903micwi57sAiGxWgAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-image
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA9UlEQVRo3u3aQQqDMBSE4XhPz/LwPjmUO6+RWnBRipWok5T3/BezESV+qJNATKWUFDkJIECAAAECrADO81wiBSDAAMDkLADVwGHNuCavWbbk7djgHfgGTAffyNQA2RU4VhTB6BmYK4DZM3CpAC5PB9qWkK+ofZxn0UrGds61KNOEHVxj3id6q3jq5nWpZicW0tYLeLblFLgjpBR4peVUuF/jyoBXW06J2xtXArzTcmrc933eBt5tuRY4GVDRci1wEqCq5VrgJEBFAbTC/RVYPubKEhXYIwABAgQIEGCPxTabL96A7PACBNgRyJ9OAAECBAjwgcAXLTbXdRw/6/EAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-image
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA9klEQVRo3u3aUQqDMBCE4Xger+RZFu+Te3mN1IIPpViJOknZ9X+YF1HihzoJxFRKSZGTAAIECBAgwArgOI4lUgACDABMzgJQDRzWTGvymmVL3o4N3oFvwHzwjcwNkF2BU0URTJ6BuQKYPQOXCuDydKBtCfmK2sd5Fq1kbOdcizJN2ME15n2it4qnbl6XanZiIW29gGdbToE7QkqBV1pOhfs1rgx4teWUuL1xJcA7LafGfd/nbeDdlmuBkwEVLdcCJwGqWq4FTgJUFEAr3F+B5WOuLFGBPQIQIECAAAH2WGyz+eINyA4vQIAdgfzpBBAgQIAAHwh8AUDtsvatpQEIAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-info
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACDklEQVRo3u2aLa6DQBCAW0fCISp6hFp0g0bWNM+guAlYztFUIFDvAlU1yPYCiGoEb0hmk6ZZ/mdmKfvEZ0i7s1+y2dmdnU1d15s1s7FG8PF4UOEAHhABKZADBVACFVLitxx/E+F/HKp5UAtuAR9IgBtQT+SGY/g4pnFBFzgD1xlSbVxxbNeUYABcGMQ+uWAsMcE9EAMvATnFC2PuuQWPQCYo9kmGc2ARPAF3g3KKO86FVPAHeC5ATvHEOZEInhYm9y55mit4JFqWv0AI7JAQv1Es1+NUwT3RhtKIHDTjH4gkM93uOkQwJlpKYcfyD4lixGMFA8I8t+sQ3BHmyWCooEt8QpEQVCced4jgmXi3k1iiinOf4Jbh4My9yXwe0Lddgj5TzuJKEzr8LsFkgQl9LEmboDPzsroUGgdHJ+itQE7h6QSjFQlGOsGUMaDkJtOQ6gRzRjmpNKHIdYIFUzDJRK8odIIlUzCpo9o7pU6wYgrWVy3giFlZKViuSLCU3GRMCBaSacKEYC6Z6E0IppJHNROCkeRh24SgJ3ldkhZsvS5xXXilBRPpkoW0oC9ddJIU7C06cZQNJQV7y4YchV8pwcGFX+rSvYTgqNI99eOLxH1w9OML5fMZ941+8vMZ1QMoZ01m1gMo5RM2R1WN5AnbiiYEK9pIrGgEsqKVy4pmPGvaKa1oiP2elub/rvsv5Q8pIhEFgtIDIwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-info
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACD0lEQVRo3u2aLa6DQBCAiyPhEIjKylp0g0bWNM+guAlYztFUVKDeBapqsL0AohrBG5LZpCFbfsrMLGWf+Axpd/ZLNju7s7NpmmazZjbWCO52OypcIAASIAcKoAQqoEYq/FbgbxL8j0s1D2pBBwiBDLgBzYfccIwQxzQu6AEn4DJD6h0XHNszJRgBZwaxLmeMJSa4BVLgKSCneGLMLbfgAbgKinW54hxYBI/A3aCc4o5zIRX8AR4LkFM8cE4kgseFyb1KHucKHoiW5S8QAz4S4zeK5Xr4VHBLtKG0InvN+Hsiyatudx0jmBItpbhn+cdEMdKpghFhnvN7BH3CPBmNFfSITygSgurE440RPBHvdhJLVHEaEnQYDs7cm0z3gO70CYZMOYsrTegI+wSzBSb0qWTvBN2Zl9Wl0Dq4OsFgBXKKQCeYrEgw0QnmjAElN5mWXCdYMMpJpQlFoRMsmYJJJnpFqROsmIJJHdVeqXSCNVOwoWoBR8zaSsFqRYKV5CZjQrCUTBMmBAvJRG9CMJc8qpkQTCQP2yYEA8nrkrTg2+sS14VXWjCTLllIC4bSRSdJwcGiE0fZUFJwsGzIUfiVEhxd+KUu3UsITirdUz++SNwHJz++UD6fcd/oP34+o3oA5azJzHoApXzC5qiqkTxhW9GEYEUbiRWNQFa0clnRjGdNO6UVDbHf09L833X/pfwBKSvH7GcgBX8AAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-key
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABs0lEQVRo3u3aMW6DMBQGYF+CJSdhyc7GPXICulRwAla29gQcI0vnSGxImSt1QmJzX6SXDk1sMHbgN3rDvyDH5pOdZ7BQWmu15ygBClCAWMC+75FzoJSUC6fka39tYgd+UPS/lHsBvj/BaZ7J6IEm3C6ANlz0S3QK9xlzkZnCaW6jYgTOwT1FxgB0wT0g0YFLcPfc9sgDMnAKV3GsFRUVOAd3b2tDXhCBS6plFQtwcbXkPRB6iXpVS9ObBQrQu1qa+kYABqmWqMBg1RIR6IKbrJZowCU4a7VEAvrgZp3DbAn0xTnHF5hSCkpL6SgDp+NrBbfZBOcDPFIays+MferW5msL3FLgiWdIB0r1yq3IFfhGGWPBuQJPseFcgMfAy/Kb+4QBNpabvVJqSkZJOBlfu1p+16AAU0u1PFNyywA5tzFV1xQBWFhmLp8xSG6ZyQIB2BpurnYYqDb00SIATcUlcxgoM/TRIQAHw80lDgMlhj4GAcoSlSIj28TuN/rdP6q94mG7Q3vYDvm6NHJfCg0Y4oV35D4UKtDnyKJbc+bWPnRq1vrPbXlsqCCB8r2oAAUowJD5BbwazPh43KsbAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-key
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABs0lEQVRo3u3aMW6DMBQGYF+CJVfgAizZ2bhHTkCXCk7AytacgGNk6RyJOXOlTkhs7ov00qGNDcYO/EZv+Bfk2Hyy8wwWSmut9hwlQAEKEAuYpilyDpSKcuVUfO23TezAD4r+k2ovwPcnOM0zGT3QhNsF0IaLfolO4c4xF5kpnOY2KkbgHNxTZAxAF9w/JDpwCe6R+x55QAZO4WqOtaKiAufgHm1tyCsicEm1rGMBLq6WvAdCL1Gvaml6s0ABeldLU98IwCDVEhUYrFoiAl1wk9USDbgEZ62WSEAf3KxzmC2Bvjjn+AIzSknpKD1l4PR8reQ2m+B8gEdKS/mesU/d23xugVsKPPEM6UCpX7kVuQLfKGMsOFfgKTacC/AYeFl+cZ8wwNZyszdKQ8kpCSfnazfL71oUYGaplhdKYRmg4Dam6pohAEvLzBUzBiksM1kiADvDzTUOAzWGPjoEoKm45A4D5YY+egTgYLi5xGGgxNDHIEBZolJkZJvY/Ua/+0e1Vzxs92gP2yFfl0buS6EBQ7zwjtyHQgX6HFn0a87c2odO7Vr/uS2PDRUkUL4XFaAABRgyPztnmmolfK7EAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-like
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACZUlEQVRo3u2aUURDURjHL2NcRkREROw1IiJijDFGRE8RMUZPERE9RewpYvQUI3qK6KmnGBGxp4iIJkaMMWKMcfsO3+Gac7dz7v3OudtxH34v25z/+bFz7jnfdx3P8xybcRLBRDARTAQTQQrBVqs1iXmgDDwBTWAAeMA78AAcAwsS48iwCVSAmi/vBqjidxPHUBGcAy59QuMY4EQWQ0i5wAnwI5Hzi791owrmcDBPkR6wryBXAL5C5HwC62EFt4F+iFA/VQm5I2AYIYPNsaQqWIgYKit5SpTBlsaGrCDbKLpEwZyKQG6POOMb94uJgrfEwYw/IOvLyOJn1Dn1SYLLhH/NUV58gg1NGUN0CBS80hTMKeKGoDOjFiToalh7ozQRnRlsV3VFgkXNwSYpiQTPLRK8EAk+WiT4JBJ8t0jwQyTYtUiwJxIcWCQ4tF1wIBLsWCTYEQk2LRJ8FQnWLRKsiQR3bT/JuJasQ1bTSQXdJmw4rpXHXZcyQHuG5Z5lbvQ5jZderacXftmVKTqVZ0yOlT+2VMuGh7Mqp1L43ddUHKKCFX5Xo5buWQXsbQrlrilK95w0FnCn4pyJVXey5ouffMyPEdZpWqLuLo2SwfKiyUdJV7GZE0mQs2Zobd6F6TtSCHIq+JClFmuLukZxCDJWiO+TjZBNVG2CfKetEZXe01Hno0OQsxvycNBX3UjiEnSwrdxVlCtQzkG3IN9lO5Jyeep8E4IOnhM7puVMCnLJfkCzsqQr16RgUD/+TGemacHR7vG97rw4BNP4sk8bz7PWCTJ2gAMTWXEJpsZdUrUKJu+LJoLTyT9iSwxwQFpNiAAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-like
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACZUlEQVRo3u2aUUQEQRjHlziWiIiIiHs7EREREUccET3FEcfRU0RETxH3FLH0FBE9RfR0TxERcU9HREQccRxHHMuxfcM3rDN7N7P7zezd2Iffy92Z//y4mZ35vnWCIHBsxskEM8FMMBPMBCkEC4XCKGaBClAHGoAPBEATeASOgTmJcWRYB6qAF8q7AWr43cgxVARngMuQ0DB8nMh8DCkXOAF+JHJ+8bduUsFNHCxQpAuUFeSKwFeMnE9gNa7gDtCLERqmJiF3BPQTZLA5llQFiwlDZSVPiTLY0liTFWQbRYcomFMVyO0TZ3zjfjFS8I44mPEH5EMZefyMOud2lOAi4V9zkNeQ4IumjD46RApeaQrmbOOGoDPDixJ0Nay9QRqIzgy2q7oiwW3NwSYpiQTPLRK8EAk+WSRYFwk2LRL8EAl2LBLsigR9iwT7tgv6IsG2RYJtkWDDIsE3keCtRYKeSHDP9pOMa8k6ZDWdqajbhA3Htcqw69I00JpguWeZG/2mxkuv1tMLv+zKFJ0qEybHyh8bqmXDw0mVUyn8ljUVh6hghd/lpKV7VgF7H0O5a4rSPSeHBdyxOGdi1Z2s+RJmK+XHCOs0LVB3lwaZxvKiyUdJR7GZk0iQs2Jobd7H6TtSCHKq+JClFmuJukZpCDKWiO+TLzGbqNoE+U7rEZXec0nno0OQsxfzcNBT3UjSEnSwrdxRlCtSzkG3IN9l25JyW9T5JgQdPCe2TcuZFOSSvYhmZUlXrknBqH78mc5M04KD3eMH3XlpCObwZZ8WnmetE2TsAgcmstISnBp2SdUqmL0vmgmOJ/+3NFWkassB+wAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-map
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACHklEQVRo3u2aPWvCQBiAA4VCcejUtUNIKGQqdLSD4CqdCnUU/AH+AAc3O0ez+wNchY511rWDW8ykODmJgpC+B+9BkLuYj/O8nBGe5bx73zzkvE+NMAwNnTFKwVJQM0Hf95NiAy3AA6ZAAOyRAMs8rGMnjauCYA0YAEsgTMgS29RUFjSBPrBKIXbKCmOYqgnWgUkOsVMmGFMJwQ9gLlCOMsfYVxWsn5H7A1ygCThABXGwzMU6cZL1awmaMd2SfHqAlWBQsrCuH9NdzWsI9jkP9As0UkwnlAa2ZcXsyxascUZL8oDVDHKUKkdyRacQWYIDTrds5JCLvklWdx3IErQ5k3hPgBylx1kM2DIEW5zR0hIoaHFG15YMQY+R2BUoR3EZeTwZglNG4uYFBJuMPFMZggEjsXMBQYeRJ5AhuGckrlxAsMLIsy8Fyy5aDjL6TxPaT/TaL9W0X2zfxHZJ+w3vTRxZaH/odBPHhtE3ORMoN1Pp4Df6m1wLkFureHRP+RQg+KXy7dIdsMght8AYSl+ftXMItotwP3jP2TOeI8C2ygsSOhkEO0W54SU8AJsUchtsUxhBQjeFYLdId/SUR2CbQG6LdQsnSPhOIPidJqZqgk/ALkZuh3UKK0gYxggO08ZTUfAZODDkDvhd4QUJI4bgKEssVQVfgGNE7ohl2ggSxhHBcdY4Kgu+RgTfdBQk/CCGroLviLqC5T9+S8FSUCj/6UiKDWGJnSAAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-map
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACH0lEQVRo3u2aPWvCQBiAA4VCcejUtUNIKMSl0NEOgqt0KtRR8Af4Azq46RzN7g9wFTrWWdcObppJcXISBSF9D96DIHcxH+d5OTM8y3n3vnnIeZ8xgiAwdMYoBAtBzQTL5XJcbKAJeMAE8IE94mOZh3XsuHFVEKwCfWAJBDFZYpuqyoIm0AVWCcROWWEMUzXBGjDOIHbKGGMqIfgBzATKUWYY+6qCtTNyf4ALNAAHKCEOlrlYJ0qydi1BM6JbLoAOYMUYlCysu4joruY1BLucB/oF6gmmE0od27JidmULVjmjJXnASgo5SoUjuaJTiCzBPqdb1jPIhd8kq7v2ZQnanEm8I0CO0uEsBmwZgk3OaGkJFLQ4o2tThqDHSOwKlKO4jDyeDMEJI3HjAoINRp6JDEGfkdi5gKDDyOPLENwzEpcuIFhi5NkXgkUXLQYZ/acJ7Sd67Zdq2i+2b2K7pP2G9yaOLLQ/dLqJY8Pwm5wKlJuqdPAb/k+uBcitVTy6p3wKEPxS+XbpDphnkJtjDKWvz1oZBFt5uB+85+wZz+FjW+UFCe0Ugu283PASHoBNArkNtsmNIOE7geB3nu7oKY/ANobcFuvmTpDQiyHYSxJTNcEnYBcht8M6uRUkDCIEB0njqSj4DBwYcgf8LfeChCFDcJgmlqqCL8AxJHfEMm0ECaOQ4ChtHJUFX0OCbzoKEn4QQ1fBd0RdweKL30KwEBTKP/Pn4UrUR7csAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-menu
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAmklEQVRo3u3asQ2AIBRFUUZzTedwGiucghYh0cZQGDs/p3iVjScx4k1MtdYUeQkQEBAQEPAFMOfct7RtbaWt/mzluvduGAL7hf2HsOe6YRkB1wC4e+sIeAQCHlMCwz+i4V8y4Y+JUAMEBAQEBPwA1IN6UA/qQT2oB/WgLxlAQEBAQD2oB/WgHtSDelAPTnNM+NMJEBAQEHBC4AnLhkK/Aq4o6wAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-menu
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAm0lEQVRo3u3asQ2AIBRFUfZhCdd0DqexcwpahEQbQ2Hs/JziVTaexIg3MdVaU+QlQEBAQEDAF8Ccc9/StrWVtvqzleveu2EI7Bf2H8Ke64ZlBFwD4O6tI+ARCHhMCQz/iIZ/yYQ/JkINEBAQEBDwA1AP6kE9qAf1oB7Ug75kAAEBAQH1oB7Ug3pQD+pBPTjNMeFPJ0BAQEDACYEn3z0eQC9MRLsAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-money
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAD20lEQVRo3u1av0sjQRReC7mVEETIHxAUrrKztTpCCIQ0QkJII2eRKk1I4R8QBTFpU6QJVhYpIhZyhP0HrrCQsxALUdAmRQ5stdh7gW/gsWw2O78iuld8kMzOvPe+nTfvvZkdx/d95yvDSQzBx8dHU3AJu4QGoUcYE+4IU8I7MEXbGH0aGOOassM0wRVCgdAlXBN8RVxDRgEyP5xgirBPuAwYekMYEJqEImGbkCGsAhm0FdFngDFcxiVkpz6K4B7hghl0S+jg7buKrl2AjFsm9wK6lkZwC0a8woDfhBYhy/rMflcIx4QRZmdCeAMmaBuhTyVkfAuyfejqQLdVgnnCFZS+ENpMaZpQJZwRnhXW3zPGViFLvMw2dPnQnbdFsEb4A0W/CCW0rxEOEBF9QxhD5hp0lKDThw010wR/Ep6goE/4jvYfhHODxII4hw4HOvtof4JNRgjWGLlTwjraZ7nr3iI5gXvocqD7lJGs6RLMM7ecCf6G9XGEhC1jaFC2zNh36EzDhlPmrnlVglssoPTx9tJIxCozoUNQoAsb1pm7XoVF1zgEOyygiDV3pOFqJgj6sEGsSRF4OrIE95B7Xli0bCi4pQ2C72xNlmDja7AYiCKYYhVKm0XLe8Xa8oRQjghih+jzIBl4RHRts4onFYfgPqtQtpCLzhWI5STLq5xCClmDjaLi2V9EcIUVzi20HUgq7isW7jkFDznA2BYr0FeiCBZY4ZxFxBpLzpyzRIJj2JhlBXohimA3EJWqkgrnueUG1lmwP1+fOcWgUw1E/e48gi7brBYw6MzA7G3ECCDXc15AHJwFvG8myw0juMs2qy6mXWZXMJxDsG65lHuGrS7bNO+GEWzg4QCGVQwFl/IS6tUKdA3wvxFGsIeHTXQ+llQyjAggnmWCx9DTxP9eGEERLYvoPJJU8ndBlDy0SHAEHUURXcMI3uHhNjrfKCiKk9xP8DJMEryB7G38vwsjOMXDDDpPFBQ9IGrGyXt1yfIsChPIzOD/NIygKKRX0flNUZknQdLRSA8cb5C1KgpymwTFTMrUojuabhuLoAkXDYuscYmWbbuoiSATVanUY5Ac2gwyumnChOuWbaYJ3UQvg3kb4E2biV63VJOdSZMEY5VqusW2J1GSmSQYu9jW3S55EruHQ4NrMPZ2SXfD64UkcE8ymvZtbnh1jyw8za/EO8s4stA5dNIhuKlYl0ofOukcGz4okqsrlmlKx4YmDn6HWH+LSjSdbZPWwe+XP7pPxMeXRHw++/IfQBPxCTsRlxAScY0kEReBEnGVKxGX8RJznTIRF2I/z5Xm/7fuPyn+AbgsqpB0YXDRAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-money
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAD2UlEQVRo3u1av0sjQRReC7mVICLkDwgK15jONtURQiDYCAkhjZxFqjSSIn9AFMSktUgTUlmkiFjIEfYfuMJCzkIsBCE2KXJgq8XeC3wDj2Wz7vyK6F7xQTI78977dt6892Z2HN/3na8MJzEEd3Z2TMEl5AgNwjlhTLgnzAhvwAxtY/RpYIxryg7TBFcIRUKXcEPwFXEDGUXI/HCCKcIB4Spg6C2hTzgilAhZQpqwCqTRVkKfPsZwGVeQnfoogvuES2bQHaGDt+8qunYRMu6Y3EvoWhrBbRjxAgN+E5qEDOsz/10hnBBGmJ0p4RWYom2EPpWQ8U3I9qGrA91WCRYI11D6TGgzpeuEKmFAmCisvwnGViFLvMw2dPnQXbBFsEb4A0W/CHtoXyMcIiL6hjCGzDXo2INOHzbUTBP8SXiCgh7hO9p/EC4MEgviAjoc6Oyh/Qk2GSFYY+TOCBton+euB4vkBB6gy4HuM0aypkuwwNxyLvgb1scxEraMoUHZMmPfoHMdNpwxdy2oEtxmAaWHt7eORKwyEzoEBbqwYYO563VYdI1DsMMCilhzxxquZoKgDxvEmhSBpyNLcB+555lFy4aCW9og+MbW5B5sfAkWA1EEU6xCabNo+aBYW54SyhFBrIU+j5KBR0TXNqt4UnEIHrAKZRu56EKBWF6yvMorpJA12CgqnoP3CK6wwrmJtkNJxT3Fwj2v4CGHGNtkBfpKFMEiK5wziFhjyZlzlkhwDBszrEAvRhHsBqJSVVLhIrfcxDoL9ufrM68YdKqBqN9dRNBlm9UiBg0MzN5mjABys+AFxMEg4H1zWW4YwRzbrLqYdpldwXABwbrlUm4CW122ac6FEWzgYR+GVQwFl/IS6tUKdPXxvxFG8BwPj9D5RFLJMCKAeJYJnkDPEf6fhxEU0bKEziNJJX/fiZItiwRH0FES0TWM4D0eZtH5VkFRnOR+ipdhkuAtZGfx/z6M4AwP0+g8VVD0iKgZJ+/VJcuzKEwhM43/szCCopBeRedXRWWeBElHIz1wvELWqijIbRIUMylTi+5qum0sgiZcNCyyxiVatu2iJoJMVKVSj0FyaDPI6KYJE65btpkmdBO9DBZtgLdsJnrdUk12Jk0SjFWq6RbbnkRJZpJg7GJbd7vkSeweWgbXYOztku6G1wtJ4J5kNO3Z3PDqHll4ml+Jd5dxZKFz6KRDcEuxLpU+dNI5NnxUJFdXLNOUjg1NHPwOsf7yFrdNWge/X/7oPhEfXxLx+ezLfwBNxCfsRFxCSMQ1kkRcBErEVa5EXMZLzHXKRFyI/TxXmv/fuv+k+Ae4NWGGfrzG3wAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-music
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABWUlEQVRo3u3aLU/DUBTG8X8bJAq/pSgUCckUn2BziH4ONJIEh+OLTFTW4VBNSFAoGioXMOCLuRiS3q3hntuXPE9yTXey7Lf23LObLGnbljknZeYRUEABBTTNUdcLdV0P9ZmOgTPgHFi6dQGcAie/RVmWJf8CjgFhegenhLAEjgJhCfzSLiqggALql8zI8g28Ai/Au1vPwBvwMRWgD/E5lTsYDRELeDcUIhbwVruogAIKKKCAAgoooIAC6kQ/aBZADqyBlbtWAeUcgJfADXD15/rGrUk/oosO3Gx6MA+NO/QRDdoTnqyH2GSC94Qnq9hjwqQnAmUXAphHxlUWtWnsnvCktKhNY/eEJ1ugOKCucLVRx8QuwHs0wP0eZOFqmhC7aNVjp6wCfVFPwDXw2DGWtn1w+4BlD2DImdgAD26ZjgmTnhjTccmkJ8Z2XAreE7GT6C/NAgoooGV+ABqtV27lkOv+AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-music
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABWUlEQVRo3u3asUrDUBTG8X+Co5N7C04uEYROPkHdHPIczo6Cm5sv0iFjNjengGAWp4IZiy66x+W6CEkbvOfmJnwf3CU9lP6anHt6oUnbtsw5KTOPgAIKKKBpjrpeyLJsrM90DJwB58DSrQvgFDj5LarrOvkXMAaE6R2cEsISGAXCEvilXVRAAQXUL5nI8g28Aa/Au1svwBb4mAqwD/E5lTsYDBEKeD8WIhTwTruogAIKKKCAAgoooIAC6kQ/ahZADqyBlbtWAeUcgJfALXD95/qVW5N+RBcduNn0YO4bd+gj6rUnerIeY5Px3hM9WYUeEyY94Sk7H8A8MK6yqE1D90RPSovaNHRP9GQDFAfUFa426JjYeXiPBnjYgyxcTeNjF60G7JSVpy/qGbgBnjrG0mYIbh+wHAD0ORMb4NEt0zFh0hMxHZdMeiK245L3ngidRH9pFlBAAS3zA8kPV24DkBX4AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-overflow
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAe0lEQVRo3u3XwRHAIAgEQOyETmM6pRNTQSaPPHR0rwJ2eMC1MUbsnAYICAgICAj4nqrqEXEtOv+dmf0vcOkVZ2YDBAQEXBq495n4SlXN3mAAAgICAk4DqkteNUBAQEB1yScDCAgICKguedUAAQEBnYnNAggICAgIeDLwAUVoN6AvGxqQAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-overflow
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAe0lEQVRo3u3XwRHAIAgEQOyHHmN6pB9TQSaPPHR0rwJ2eMC1MUbsnAYICAgICAj4nszsEXEtOv9dVf0vcOkVV1UDBAQEXBq495n4SmbO3mAAAgICAk4DqkteNUBAQEB1yScDCAgICKguedUAAQEBnYnNAggICAgIeDLwAdqnN6ArmOZFAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-percent
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABoUlEQVRo3u3azwmDMBQGcOfoxe7QHRzFMYq96xQdpEcn8OwKQgewT0gvIVh8f74XSw4fFAlpfhDNe2K1rmv1z6kKsAALsABdgPM855yOMoVsvy8awIYyUEbKEjKGaw0Qd6esUToJ8ErpKe/ExN+8w5irA27LxAVuC37uwOI8DZH3nf9lA/sDuG96MI69RZvEtnxRWkod0oZr8XZtgLjHNo4DHBK4W2IBtwRyQOK4wDGarN1ZSBuNHZE4LnCJJqx3FlNHYxckjguMJ/21qKPj1XBnArJwZwGycWcAinC5P2TEuJyPCRVcrge9Go4LtCzVVHFcoFWxrY6TALXbJROcBKjZ8JrhpECNVxamOC1ghS6/zgCE4LyAUtyhWwINlOBYDzUkUIpjHUsooHRbsgsLBFDjnmOXhtZAjaelqLi3BGodBaL2zAqoec6JGmwLoPYhLnpFog20qFCyAVqVX1kALWtLd6B14ez6kEF0BW7HBKrlcTnoYf2cR6nWAXEuxfYExsHbpQmMgze8nQMO+srikvhkKtvPu8rHeAVYgAVYgBb5ABfHfWl8THQpAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-percent
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABoElEQVRo3u3aTQqDMBAFYM/Rjd277B08iscodq+n6EG69ATeQ+gBbIR0E4LF+XkTyyweFAlpPohmRqzWda3+OZUDHehAB5oAm6YpOX3IHLP9vkgA25AxZApZYqZ4rQXi7iFrkp4DvIYMIe/MxN+845irAW7LTAVuC37uwNI8FZH3nf8lA4cDuG8GMI68RdvMtnyFdCF1TBevpdu1BeIe2zgKcMzgbpkF3DLIEYmjAqdksm5nIV0ydkLiqMAlmbDeWUydjF2QOCownfTXoo6OF8OdCUjCnQVIxp0ByMKV/pBh40o+JkRwpR70YjgqULNUE8VRgVrFtjiOA5Rul1RwHKBkw6uG4wIlXlmo4qSAFbr8OgMQgrMCcnGHbgk0kIMjPdSQQC6OdCyhgNxtSS4sEECJe45cGmoDJZ6WrOJeEyh1FLDaMy2g5DnHarA1gNKHOOsViTRQo0IpBqhVfhUB1KwtzYHahbPpQwbRFZgdE6iWx+Sgh/VzFqVaD8SZFNszGAdvl2YwDt7w9gY46CuLS+aTqWI/7/KP8RzoQAc6UCMfknmIuWvdsIEAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-photo
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABkklEQVRo3u2avWrDMBCAvQU8ZffSzZAHye6n8JvUiz36CbIECoVCh0I2L34ML1kLbjIk0IJyhvMizoltpVg63fAtRhL6iO70cwmUUgFnAhEUQREUQREUwRGCTdPcIwL2wBFQDzhi2+jBmP/KFMEY+B4hptP12bgg+DZDrufdBcHWQPBsm2AXNx/AxUBqKS4492hIsIu1HwfFdE5d7FOCXwzkeg6U4C8jwT9KUHFCBJ9EDWRAgkksRGL8lmEb5wQrIAXWI/asNbatXBEs8ReaujnH2NdqwVdgZXACWeEYVgqWA3JboMBYa5Eav20HJEvbBCtiWb4AOZ5H751Vc2yrL9fKJsGUkNtN6L8jJFNbBGsiW+YzxsmJ7FrbIJgRMXeeebXSYzKzQTDRJlUYjFVoYyU2COrJpTZc7nqyWVwwfOILQKuNFYqgLFFJMrJNsN/o2R/VvDhss78ueXHh9eLJwotHJy+eDeVlewlB9sWXA/fy2QaLh2wLoH0J+xO4Oih2xbnTJWz5p5MIiqAIiqAIeih4A5brCtF1InK7AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-photo
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABkUlEQVRo3u2avWrDMBCAvQU8ZffSzRC/R3Y/hd+kXuzRT5AlUCgUOhSyedGLZC24yZBAC8oZzos4J/5JsXS64VuMJPQR3ennEmitA84EIiiCIiiCIiiCAwSTJLlHBOyBI6AfcMS20YMx/5UxgjHwPUDMpO2zcUHwbYJcx7sLgs0MwbNtgm3cfACXGVJLccG5R32Cbaz9OChmcmpjnxL8YiDXcaAEfxkJ/lGCmhMi+CQUkAMpJrEQifFbjm2cE6yBDFgP2LPW2LZ2RbDCX2js5hxjX6sFX4HVjBPICsewUrDqkdsCJcZagyj8tu2RrGwTrIll+QIUeB69d1YtsK25XGubBDNCbjei/46QzGwRVES2LCaMUxDZVdkgmBMxd554tTJjMrdBMDUmVc4YqzTGSm0QNJOLmrnczWSzuGD4xBeAxhgrFEFZopJkZJtgv9GzP6p5cdhmf13y4sLrxZOFF49OXjwbysv2EoLsiy8H7uWzDRYP2RZAuxL2J3B1UOyKc6dL2PJPJxEUQREUQRH0UPAGqqLmQ4ty8RsAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-preferences
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACZklEQVRo3u2aParCQBDHhfQWgeAd7AypxDaQyipnEC/wqkDAswgP0geEtB7BysZgHQSbByKRvBFGEMnHbPbD1aT4N2GzMz+ymd2dmUFRFINv1qAH7AE/DDBNU9EKQDtQBrqiMnwWiLanGtAAnUBFhU445mMBZzVwD80+GTAkAIY6Ak5BI8K4LQFwS5jHQptKABegPf4/Xs04E5QTAHMcWzWPi7b2aFsq4A/o/OLgqiJQzAlwD82JS/yMPkgBvE98qXBwU/IVIgbAqOTrxxVjL3WQbQEXJV/uVUeQA/JBa9CNAfCG79zfnYAODePPVcu1DeAU1z/V0YJTOXHcvizwtAG0Gjbrd+lUFsnbLlFXQ0BPdJAJNYJbydomYg3gNnXnV15AkxDhZOrYcCgQcpKZMES6P9zjliAbNETZ+CzCMdQI7ag4qvlEhxIcS5kvIc7pqwBcExz5BY0ZbgFjfKdp3rUsQBPPixFhM08Y4Z4hE8IyjdAXkwfQwItoiNcZln/OT9vf53yGfzJH30L01aACBhwnl0jApTXiONkEFMAdRxhfCgBcctjfUQAzDgO2AECbw35GAbxyGBgKABxy2L/2gF1Yol8fZL5+m/j6jb4TR7XOHbY7dV1yGNKDIi+8OV62pQKamDZ4V8riIDNlYWDC591Jp1gW4EqjtGEoGtDTMPHrigIcaZy6t1QXX3IBjlMjtLDiC7V8dsAwzls+cwiRWmj5jFIAjSUUQDcqC6B1JeyqiMZbwjZKIrfUEnZZE4KroAnBU9mE8Bx4LIVtJCOVbSSdaATqW7m60oynXztl3/HbA/aASvUPVX/AtATLQwoAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-preferences
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACZUlEQVRo3u2aParCQBDHhfQWgeAdtDKkEttAKqucQbzAqwIBzyI8SB8Q0noEKxvBOgg2D0QieSOMIJKP2eyHa5Li34TNzvzIZnZ3ZgZ5ng/arEEP2AN+GeBkMhGtALQHpaAbKsVngWh7qgEN0BmUl+iMY74WcF4B99T8mwFDAmCoI+AMNCKM2xEAd4R5LLSpBHAJOuD/41WMM0EZATDDsWXzuGjrgLalAv6ALm8OrksCxYIA99SCuMQv6IMUwMfE1xIHtwVfIWIAjAq+flwy9loF2RRwWfDl3nUCOSAftAHdGQDv+M7j3SnoWDP+UrZcmwDOcP1THc05lRHHHYoCTxNAq2az/pTORZG86RJ1NQT0RAeZUCO4taxtItYAblt1fuUFNAkRTqZONYcCISeZKUOk+8M9bgWyQUOUjc8iHEON0I6Ko5pPdCjBsZT5EuKcvgrADcGRX9CY4RYwxnfq5t3IAjTxvBgRNvOEEe4VMiEs0wh9MXkADbyIhnidYfnnfI77nM/wT2boW4i+GlTAgOPkEgm4tEYcJ5uAArjnCOMrAYArDvt7CmDKYcAWAGhz2E8pgDcOA0MBgEMO+7cesAtLtPVBpvXbROs3+k4c1Tp32O7UdclhSA+KvPBmeNmWCmhi2uBTKYujzJSFgQmfTyedYlmAa43ShqFoQE/DxK8rCnCkcereUl18yQQ4To3Qwoov1PLZEcM4b/nMIURqoeUzSgE0llAA3aosgFaVsMsiGm8J2yiI3FJL2EVNCK6CJgRPZRPCa+CxFLaRjFS2kXSiEahv5epKM55+7ZR9x28P2AMq1T/lZsOXYvPeTQAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-product
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACWklEQVRo3u2aP0hbURSHv4i0tBS6FMxUo2ALRUFQOtTBgGMhQ7DQ0UKGLg6ZOpROnZy6dijUMYMUKXTIIJjBTA4ZOoQU2nQJTxIyCNVJ4vIL2JcoJu9PzPEeuLwX8u4573u/c859NyTR6XSwbBMYt8nuSb1eD9v3HLACLAPzwAwwpe+OgD/AT+AQOAB+hRk8lUr9DxiipYEskAGmL7nmscaqPv8FvgPfgP1IFAzBZoEc8AZIAse66TJQAWqAp2uTwBNgEXihh7IJvAK+Al+A32HcVKLbZAKm6BqQB14CLaAA7ACla85fBdaB18Aj4AfwCdi7CSmaAT6o1orAZ2B3QB8ljT3grR7UFPBRWTCyFF27ALcNbAHVAP52Nf8dsCHf/4IoORmw5vIX4N4DjRAyoipfCDKvjjtUTQZZB3NKpaKUa4TYsBryWVSMXNwLfVrdsqWaqxK+VeW7pVjpOAGzavWFIRrKoDVZUKxsXIBz6pzHWgqith3Fyih25IArekPZH2CdC2IlxZpW7MgBl3Usx/jOXPbFjhRwXsdKjIAVX+xIAWd0rMUIWPPFjhSwu+XxYgT0fLGHepM5Ae4NMPdkBPvXu8B1foI4Be77FWwa2si3+6WoJcBmP8C2dUDPeoqaV9A1Gaeg66KjTVHXRS2k6JllwDMjKp5q9N0utS3VXz9AC43GuwrQvIJNBzhGHfRWKti2rqBnHdB1UQd4wxf6B9YVXDQA+PAqwAUDgEvWFVyyruDzywDvAM8sK/hUkONuSY0eQAv116PihLH666lDp+C4Aybcv+7H3M4Bu5OW2C7UnIAAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-product
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACVklEQVRo3u2aP0gbcRTHP4pYWoSOZqooqCCpCEoHHQw4FjKECh0rZOjSIVMR6eTk1KVDh0IdHaRItwyCGZrJIUOGkEKlS7iSkEGoTpIu34C9/KFJ7i7J6+/Bj7sjd+/lc9/33u/3C5loNBpYtkmM21TzJB6PB+17EdgCNoA4MA/M6rNfwBVQBC6Bb8D3IIMXi8W/AQO0BJACksBch3ueaGzr+ifwFfgCXISiYAC2AKSBPSAGXOtL54ECUAY83RsDloA1YFMv5Q2wC3wGPgE/RglwB8gAz4Ea8AE4BXId7r/SyOp6G3gBvAT2gVXgPXA+CoBJ4J1qLQt8BM569JHTOAde60XNAofKgqEB7tyDOwaOgNIA/s70/FvglXz/HkTJqQFrLnMP7gCoBJARJflCkBmlc181Ocg8mFYqZaVcJcCGVZHPrGKko57oE+qWNdVcieCtJN81xUpECZhSqz/po6H0WpMnipWKCnBRnfNaU0HYdqpYScUOHXBLK5SLLvNckJZTrDnFDh1wQ8d8hGvmvC92qIDNVXkhQsCCL3aogPM6liMELPtihwrY3PJ4EQJ6vth9rWRugIc9PHszhP3rA+BffoK4BR75Fawa2sjX26WoJcBqO8C6dUDPeoqaV9A1Gaeg66LDTVHXRS2k6J1lwDsjKt5qtN0u1S3VXztAC43G6wZoXsGqAxyjDvpfKli3rqBnHdB1UQc44hP9jHUF1wwAPu4G+NQA4Lp1BdetK/isE+A0sGJZwWVBjrvFNFoALdRfi4qTxuqvpQ6dguMOOOH+dT/m9gd7A5Mfx0u1pAAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-refresh
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACJUlEQVRo3u2aoa7CMBRAkSD4hvEFE/sE+IdlGoPBLPhiwOGxKHBzCH4BhcCgEIS87Bcg2d4luUvIwmu7rrcrexXHjPZ2h3Vtd9tOnuedNtNxgk7QCTrBRgSv12sdBkAILIEEOAEp8EBSvJZgmRDrKLdpQrAPRMAGuAF5RW5YN8JY1gj2gDFwUJD6iwPG7DUtOAS2GsXKbLGNRgSnwIVQruCCbfHuhekUfL0fC+BpQK7giW1+ejfZq4wuwVcDK4NiZVYlSVb8pktwUeFm7sAOiIER4AFdxMNrMZa5V4i7KMvpEpxKdsszMAf8CiOxj3XOkt11X75eV3AoMaBkwBoIakzYAcbIqnbfOoI9iangB5jVXP28M8OYRgTHEnITjXIFkyqSqoJ9wQol0/zkPj3JjFIwEgReE8oVHCkFN4LRMiCWY5RddCD4KpjbIqcqGAomcd8WOVXBJSfgziY5VcGEEzA2MLiQf/CeOIKjNgimHEGvDYIPjmC3DYK20eX84Y82CHocwbQNgiOO4KkNgjFHMFERVMmZMELBHafdpQlBSjlfkLcJqQUZcfecC1L+A0pBarlAkIzaqM6DMnJHA4PLWnAPEaVg0ymLQ5EIpuyiTSadxnWWanlFSdNpw+379pqJacJk4vdS3lbTIbi3KHU/1fE18WkqsGnzRZsgs3j7rLYg+4INUGVB0QrFpi1sdwjBHSP5zweBvvMolztt6ASdoBN0ghL8Aqe+EhCwpPzBAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-refresh
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACJElEQVRo3u2aoa7CMBRAkSD4huFJJvYJ8A/LNAaDWfDFgMNjUeDmEPwCCoFBE/KyX4Bke5fkLiELr+263q7sVRwz2tsd1rXdbTt5nnfaTMcJOkEn6AQbERwOh3UYACGwAhLgDKTAA0nxWoJlQqyj3KYJwT4QAVvgBuQVuWHdCGNZI9gDJsBRQeovjhiz17TgCNhpFCuzwzYaEZwBV0K5giu2xbsXplPw9X4sgacBuYIntvnp3WSvMroEXw2sDYqVWZckWfGbLsFlhZu5A3sgBsaAB3QRD6/FWOZeIe6yLKdLcCbZLS/AAvArjMQ+1rlIdtdD+XpdwZHEgJIBGyCoMWEHGCOr2n3rCPYkpoIfYF5z9fPOHGMaEZxIyE01yhVMq0iqCvYFK5RM85P79CQzSsFIEHhDKFdwohTcCkbLgFiOUXbRgeCrYGGLnKpgKJjEfVvkVAVXnIB7m+RUBRNOwNjA4EL+wXvmCI7bIJhyBL02CD44gt02CNpGl/OHP9og6HEE0zYIjjmC5zYIxhzBREVQJWfCCAX3nHZXJgQp5XxB3iakFmTE3XMhSPkPKAWp5QJBMmqrOg/KyJ0MDC4bwT1ElIJNpyyORSKYsos2mXSa1Fmq5RUlTacNd+/bayamCZOJ32t5W02H4MGi1P1Mx9fEp6nAps0XbYLM4u2z2oLsCzZAlQVFKxSbtrDdIQR3jOQ/HwT6zqNc7rShE3SCTtAJSvALIn8dYLZ0RwUAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-remove
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABTUlEQVRo3u3aPU7DQBCG4XepOEOExNTJAWh9CcpQkjvQxGm4Ay6h5BJuOQDUjhTlDFSYZiMlEWAsZ+P1+pvO8njlR17/zHpcXdekHG50wKqq2o4xAZbAHXB5ovP6BJ6BFbBtc6CZnRyYe2CIWPnxewW+A9NAwA9g1jcw9E3s+gZGFQJ6YAY8AjfAReSmL+ANeADK/wAz4AW4GtjF2wBzMyubgE/A/UBnaGFmiyZgBVwPFLi2ozn6E7Ae+EPGjR6o92BqwNinrBNQwBECt0ABvPrtW//1M/nlJELmBwHmvtrej+Uf1XfI/CDAma+292Pqq3vOnB8E6FpW9yHzBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAc8BTH7hNyfxpfukfr5UxNtWsgasKzDmxqACWHQFZsTZ2rUB5kDZFbhDxtKcd9B8d7yzEZhaJA/8Bkf2+KA9krS6AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-remove
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABS0lEQVRo3u3avw7BUBQG8HtNnkEkzHS3egkjI+9gUYt3YGT0El3tZSYRz2BSX+VKkFBNHb29/U7ypRFX019af04dHUWRcrl06YCe56XdRw2ZIAOk+qPjOiNLZIqc0rwwDMOfA30DlKip2X+uwC3SEgLukHbeQOk3sc4baFURaIBdZIZ0kIrlpguyQcZI8A0wxq2QesFO3hHpAxgkAefYDAt6hS4AHCUB99g0Cgo8ANhMAkYF/5DRpQfye9A1oO2XrCaQwBIC4y57gazN45759VN7cxCS60WAvum2H2vyofuWXC8CbJtu+7FaprtXf14vAtQpu3vJ9QQSSCCBBBJIIIEEEkgggQQSSCCBBBJIIIH/ADp/49dXjt+6d+rPl72yd6zkgDSzAm0eDIrP8igrsKvsHO26jW4hQVbgHWnLcN7T8N3rk4lA18p54BX/GfigA18IUgAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-runner
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB4ElEQVRo3u3aPW7DIBQHcA+VKvUOvkAuEHWqcoJOHKF7hs5IzL2Jp2xeuYRn754byZvLgCNkhY+HAb9XMfylCKOEnwI8nLhZlqX5z2kqsAIrsAKLA8dxxJhW5arSq0w6vW5r135Uge8qN5XFkpvuQxLYenAmsqUIvAbg1lyxAJmK1GGevj0A2GMAiicD447+EwA4HQ0UjsFx6kARMEBOdYqG4H6objLC8W2t14TR/3tTxM+YywQLmIoX4zW3DPwLa6GXgM2EewBnjEc1mQD3WF8hn3nEFPUVdB66Q2IE+mLDdSofm3xSA7pwp9j3xQJ0TctTxHkVFdC35t50v8FoG6gAQzaUV933brTdKQBDd8sVOBttM3YgB5wnX6gBITjzTEoCGIsjAWyNIt1ZindnwZFbgyvo2bWLpR010FakIcV73kzh2ZJfXSdZKeB23cmIu4tGD3wBRJYActsHR9wfDtiAth2TAe/wzb6DPsXMR09RHrj1+36j2b3+cwAhuOzI1MAYXFZkSuAeXDZkKmAKnA/JjgKmxLmQ8ghgDlxI/SwCLIkrPkVL40TJTYYMLgZICgcFksNBgCzTIFhOHAQoMw1C5sTtAaYahMyJg05R8P8CiZ+PyQesj1NWYAVWYKr8AeAKyI/e2k8KAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-runner
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB4ElEQVRo3u3aPW7DIBQHcA+VKvUOvkBygKhTlRN04gjdPWRGYu5NPGXzyiV8Cc+N5M1lwBWywsfDgN+rGP5ShFHCTwEeTtwsy9L85zQVWIEVWIHFgefzGWNalU5lUJl0Bt3Wrv2oAt9V7iqLJXfdhySw9eBMZEsR2AXg1nRYgExF6jBP3wEAHDAAxZOBcUf/CQCcjgYKx+A4daAIGCCnOkVDcN9UNxnh+LbWa8Lof9sU8QvmMsECpuLVeM0tA//CWuglYDPhHsAF41FNJsD9ra+QzzxiivoKOg/dITECfbHhepWPTT6pAV24U+z7YgG6puUp4ryKCuhbc2+632i0jVSAIRvKq+77MNoeFIChu+UKnI22GTuQA86TL9SAEJx5JiUBjMWRALZGke4txbu34MitwRX07NrV0o4aaCvSkOI9b6bwbMmPrpOsFHC77mTE3UWjB74AIksAue2DI+4PR2xA247JgHf4Zt9Rn2Lmo6coD9z6fb/R7F7/OYAQXHZkamAMLisyJXAPLhsyFTAFzodkRwFT4lxIeQQwBy6kfhYBlsQVn6KlcaLkJkMGFwMkhYMCyeEgQJZpECwnDgKUmQYhc+L2AFMNQubEQaco+H+BxM/H5APWxykrsAIrMFV+AWI2WjzxI8WdAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-tags
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB+UlEQVRo3u3asWrCQBzH8YBUR6FQENx8BafMTkJx6iDuboKji0sgu7iLTkIforuP0PGrT1AHRzFdLuCQYHP39/JPyfAjEDTJh9zlcv9LkCRJ8J8T1MAaWANrYClAICsdYAQsgT1wAE7ABbiZ7cns35vfjYBuzvHEYwN8Ad6BLXAEEosczf/HQFsTMMUlgvkCpkBTA1Aad59PoFc2cJtxYQAxEAIts43N/qLIb6BfFrCT0ecAJjkHn1gif4BhGcBRxsXED04QOzTZyDdwmXER4YMThI79MvIJ3GdcQOvBCVoCD5/IF/BQwh10RhYBnjz3QRFkEeAlZ4iQfoqKIosAbzknlRwHxZGud7CsRL76oHqk61NUPdJ1HNSQ1TPfZLRk/ax3UfXNtQiw6zCDLw0pMR/Ulg3QsAWOKwBMqwNWwLapoVQBObetqk0rAjwDDRtg0zSBKiBD28JvzxSI1DdTl8p23xSINAMXrqX7oXLgwBUYmMFVI+4KvEoAtSJ3tsNEFZBn4E0aqAV5BT5cls+0I2eu64Oakc6zCc1I5/mgZmQkuYStDRlJr9FrQopW1Vyz0l4Xlchac2VbKhFK1yY0IJ+6uiSdTcHXr5mvL52k0vhj6eN8/25ZJWCauUFk3bVdOiuoMjC9m6HBLoAB8Or1M5L6e9EaWAO95BdDrH8vb52/pAAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-tags
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAB+0lEQVRo3u2aMYvCMBSAC3I6CgcHgptrR6fONwmH0w3i7iY4urgEuou76CTcj7jdn3Dj6S84B8fD3gu8gkOK17xn8iIZPgqlbfKRpMl7SVIURfLIJFEwCkbBKOhFME1TEx1gCCyAHbAHjsAZuOD1iPd3+Jx+vlvxPXZsBJ+AN2ADHIDCggO+PwLakgRLuYKRT2ACNCUIcstd8wH0fAtuDBX7BnIgA1p4zfF+XckvoO9LsGMYc1piXPHxsaXkDzDwITg0VCa/UUBO6LLKteDCUInsRgEZcVwql4I7QwVaNwpoMfx8lCvBvYcWJEvWETw6HoMsknUEzxVTBPdflFWyjuClolDOeZBdktqCvlCuxqB4SepfVLwkdR6UwPKeKxkprO61FhXfXesIdgkRvDdJjnhQGmugYSs4CkCwzA5YCbYxhxKC5Mw2qzYJRPCku6qNYBO7QAiSmW3it4cJIvHdlJLZ7mOCSLLgnJq6HwgXfKUKJji5SpT7BZ45BKVKbm2niRAk9RTxwi0oRVJ3zXfK9pl0ySl1f1CyJDmakCxJjgclSyrOLWxpkop7j16SJGtWjcpSel6Ug5XkzDYXKhW6NyFB8q67S9ysay6/pq5OOnHR+Gfq43S9tgxJsGSGEqZW25ZRQciCZWtmKDvXkbgOVp0eI4nnRaNgFHTCH5bPDsBgyBf/AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-tel
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAADG0lEQVRo3u2aPWgUQRiGnz0D2gpGDFosErUICAoWJsZOBRVEJIU2WqiHEgvxBytJipAYLSQQ8CcxFhYJIhFRxMakOC0EFSNCQCF36DUpkkI7A2fht3Ass7uzu7OXueNeCIHcd8M8zOz3s2+cSqVCIytHg6sJWO9q8f+hWCzauM82oAtw5VBKQAEo+wNd1w0HtEwdQA9wHNjp++w98BgYAyraJ2iJHCAPnAN2B8R0yk87cAtYqhfATcBV4Ipm/HX5fUN1kjkL4fpiwFVDnrU9izpycvmE3z8DbLEZMJ/g5PzP5CFbATskoaRVt62APSHZMo522QjYJnXOhLbaCNilKOJJtcZGQNfgWutsBDS5hxUbAUsG1/ptI2BBGmcTKtsIWJapwISKttbBMWC4kQErMvKkhZy1uRddkpHnfIpn8pPt82AFeAi8lsa5W9qv7aoa59NHW5OMSr+AcRmB9gIfNL7zAPhbL4DVOgbsj4hZBt7YPvCq1Apc1oh7GtQw2A54AdgTEbMI3KtFH2ha+4BLGnFPgM/1BtgK3AQ2RMTNAY9q1cmbkiNwBzRiJ4Bv9QZ4EejViJuUFi9USQu9tlcQUyfk9KI0D9wH/pgGTO0VhOgwMAhs1IgdVfWdaQCNeQUBOgLcBrZpxI4IIKYAjXoFCp0E+jXhpoG7cW5ITgOuD4Nege9WXJMN68C9A+4AC3E2kovYgHGvQLRZrtqw5jP3FRhKMkaFAWbiFQBHpX71aq7zHRgAXibZRC4kW5r2ClxJPhOaRdyD6wemkm4gKMmY9ArWA6eBUxqNs/9aDqSBCwI06RXsAJ5rzHOqhDKU9FpGAZr0CtYmgJuWbGnkXakK0F3FPnREysaCqQVbLGnA56U7GU3Y5sUCLNUYblIa59ksFlcBel5BZ8Zgc1IyxlGYJlkCel5BVoCL8poh9FVDloDIyNNe1Tib0DL/335NAW9rdf+DAD2vAAOQJeCFpP+ZWmevsHHJ8wp+SOMc98rOAM+AVyhcHxsAvZP0ewUHZYxy5PMVSRJliSsAX4CfplN+EjnN/9luAjYBV1X/AKdJpqPh2ptLAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-tel
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAADHElEQVRo3u2aPWgUQRiGnz0D2gpGDFocErXIIShYmBg7FVQQkRTaaKEeSizEH6wkKYIxWkgg4E9iLCwSRCKiiI1JcVoIKsYTAgrx0GtSJIV2Bs7Cb+FYZndnd2cvc8e9EAK574Z5mNnvZ984lUqFRlaGBlcTsN7V4v1DLpezcZ9tQBeQlUMpAQWg7A0sFovBgJapA+gBjgLbPZ+9Ax4Bo0BF+wQtkQPkgTPATp+YTvlpB24Ci/UCuAG4DFzSjL8qv6+pTjJjIVxfBLhqyNO2Z1FHTi4f8/ungE02A+ZjnJz3mTxgK2CHJJSk6rYVsCcgW0bRDhsB26TOmdBmGwG7FEU8rlbZCJg1uNYaGwFN7mHZRsCSwbV+2whYkMbZhMo2ApZlKjChH7bWwVFgqJEBKzLyJIWcsbkXXZSR52yCZ/Kj7fNgBXgAvJLGuVvar62qGufRB1uTjEq/gDEZgXYD7zW+cx/4Wy+A1ToC7A2JWQJe2z7wqtQKXNSIe+LXMNgOeA7YFRKzANytRR9oWnuACxpxj4FP9QbYClwH1oXEzQIPa9XJm5IjcPs0YseBr/UGeB7o1YibkBYvUHELvbZXEFHH5PTCNAfcA/6YBkzsFQToIHADWK8RO6LqO5MAGvMKfHQIuAVs0YgdFkBMARr1ChQ6DvRrwk0Bd6LckIwGXB8GvQLPrbgiG9aBewvcBuajbCQTsgHjXoFoo1y1Ic1n7gswGGeMCgJMxSsADkv96tVc5xswALyIs4lMQLY07RVkJfmMaxZxF64fmIy7Ab8kY9IrWAucBE5oNM7eazmQBM4P0KRXsA14pjHPqRLKYNxrGQZo0itYHQNuSrKlkXelKsDsCvahw1I25k0t2GJJAz4n3clIzDYvEmCpxnAT0jjPpLG4CtD1CjpTBpuVkjGGwjRJE9D1CtICXJDXDIGvGtIEREae9qrG2YSW+P/2axJ4U6v77wfoegUYgCwBzyX9T9c6ewWNS65X8F0a56hXdhp4CrxE4frYAOiepNcr2C9jlCOfL0uSKEtcAfgM/DSd8uPIaf7PdhOwCbii+gcSOqaj7997cwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-tips
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACZklEQVRo3u2avWrCUBSA7SQ4ObtYBMkD9AEaEDoWXIuDU6WDD6BDCR3MUheNT9Cxq1OXiksH58zqUsFJcIlQSE/gtITLjebv3nsSMnwgITnnfsm5P7mx5LpuKc+UCsFCMIOC6/U6LE2gC1jAAtgCDrLFYxae04wQNxZpCurABNgAbkg2eI1OWbABjIBdBDGWHcZoUBNsAfMEYixzjElC8B5YBTT0CzCBNqABFUTDYyaew7t2hbGVCrYC5JZAD6iGSF7Fc5cBki1Vgo2AspzhE4raCA2v5ZVrQ4XgiNMY71g5QUPKZ+JKFdQ5o+UsoZxfcsYZXXWZghNOn9NSHPU0Tp+cyBJscibxnoDJucdZDDRlCHY5U0FVgGCVM4V0ZQhaTFJT4BrSZHJZMgQXTNK2QME2k2shQ3DLJNUECmpMrq0MQYdJWhEoWGFy/eRd0M1biZZUCMocZJQIypwmlAjKmuiVCcpaqikTlLHY9nNgctWz/rrEwq5HH7P8wstjzNnGeAKmwBCoZWXLIog74HhmB86gvukUhtczgjbFbcOogkOVgkk2fg94E8ZYirzYgwsx9ihpnOuPFLbuj1iK176YzxFjGFQ/vvh5Q8lBjGttGYKXPp+FaehHzJtzCipXEYJhqOPE/ZnihxtuuaoS/ONGgKRNSdDjJWVBx1+uFAQfBJTpf7lSEJwKFLQpCA7zLljD/mIj+7yVKIudomCfoqCRouA7RUF/yZ4SCn5TFEyzXMkLGnks0aBydWIIdqgLJinXW+AqS4JGRDkyi+24CwLvd9/rZ95ggni/O96TiyxY/OO3ECwEpfEL0/0XGT6eJYQAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-tips
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACZklEQVRo3u2aO2vCUBSA00lwcnaxCJLBsT+gAaFjwbU4OFU6+AN0KKGDLnXx8Qs6dnXqUnHp4JzdLBWcBJcIhfQETku43Ghe996TkOEDCck590vOfeRGzXVdLc9ohWAhmEHBZrMZlgbQBebACrABB7Hx2BzPaUSIG4s0BQ1gCmwBNyRbvMagLFgHRsAughjLDmPUqQm2gGUCMZYlxiQheA9sAhr6BYyBNqADZUTHY2M8h3ftBmMrFWwFyK2BHlAJkbyC564DJFuqBOsBZbnAJxS1ETpeyyvXugrBEacx3rFSgoaUzsSVKmhwRstFQjm/5IIzuhoyBaecPqenOOrpnD45lSXY4EziPQGTc4+zGGjIEOxypoKKAMEKZwrpyhCcM0nHAteQYybXXIbgiknaFijYZnKtZAjaTFJdoKDO5LJlCDpM0rJAwTKT6yfvgm7eSlRTIShzkFEiKHOaUCIoa6JXJihrqaZMUMZi28+ByVXL+usSC7sefczyCy+PCWcb4wmYAUOgmpUtiyDugOOZHTiT+qZTGF7PCFoUtw2jCg5VCibZ+D3gTZhgKfJiDy7E2KOkea4/Uti6P2IpXvtiPkeMYVL9+OLnDSUHMa61ZAhe+nwWpqEfMW/OKahcRQiGoYYT92eKH2645apK8I8bAZIWJUGPl5QFHX+5UhB8EFCm/+VKQXAmUNCiIDjMu2AV+4uF7PNWoixWioJ9ioJmioLvFAX9JXtKKPhNUTDNciUvaOaxRIPK1Ykh2KEumKRcb4GrLAmaEeXILLbjLgi8332vn3mDCeL97nhPLrJg8Y/fQrAQlMYvU0rkfOxllH8AAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-todo
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA/UlEQVRo3u3ZOQ7FIAwE0OEmPikRnDQ34TcUX4gtyiLbGpepeFFk7EkopcBzBQIXdZ7n228otA9EhEACCRwDw01QIZBAAgkkkEACCSSQQAIJJNAkkBs9gQR+C8TX5R0YRSR7BUYASUSCR2AEkOon+inwrSaTARwtzgtwiPMAnOKsA5c4AFlEDsvD9hQH4LC+TUxxmtalWA/1KE4TsNRD5Sdx2oDYRG7jNAJXyEs4rcAR8jJOM7BF7uC6jUoLMNUD9pDYxCUoT9VGyCtTjPrYcAc5G9FM5KIzZNtQzAa/PWSvW5pOtv+Ro6vAfHSfmm7qDrgq/psgkEAC7ZR74A/V5sGgrKWmAwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-todo
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAA/UlEQVRo3u3ZOQ7FIAwE0OE+OSMRnNH34TcUX4gtyiLbGpepeFFk7EkopcBzBQIXdRzH228otA9EhEACCRwDw01QIZBAAgkkkEACCSSQQAIJJNAkkBs9gQR+C8TX5R0YRSR7BUYASUSCR2AEkOon+inwrSaTAZwtzgtwiPMAnOKsA5c4AFlETsvD9hQH4LS+TUxxmtalWA/1KE4TsNRD5Sdx2oDYRG7jNAJXyEs4rcAR8jJOM7BF7uC6jUoLMNUD9pDYxCUoT9VGyCtTjPrYcAc5G9FM5KIzZNtQzAa/PWSvW5pOtv+Ro6vAfHSfmm7qDrgq/psgkEAC7ZR74A8fR8Gg8RCTUwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-toolbox
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAADSElEQVRo3u2aPWgUQRSANwiCR1qxuCIQbGIbCAZO1OLAyvIkcF1gC7GJVRoPFsEixbWrcJapBG2CXThECFgcHIGQQIojIBzYJEe0WCKub+AtLOfszHvzs66yxUdCnJ15376ZN7O7BmmaBv8zQS1YC9aC1RCcTCbzLADLwBYwAmaI+D0GOkBDch2Hu8A28B44AX4gJ/i3bWzD7psimLEKDIFUwjugbSj3Gjgv6DfPOba950tQsKKQPAI2DAQ/At8Ighkiq099CeoyeWSYSXHjngF7RMkr4K2p4AIxINV0tVmTYk1/IIr2TASXiYGoMtmxLDqCx8BnW0mZ4BYGTwkiLBg0diAoeAic2UjKBEeYmRVCAEsFA44cCQaKWUKSlAnO8IIhIZNFgjNHcj1GdZVKqgRTQiZDj4JcubxkRuEUTeckV5lFZvSX5P6QlQnGkoZDzNYSEmrWRuxR7hNHUibYcXDnOp7kImwX2Qg2cLO2EXzpUS7gSBYd1dp47LKa/x7lqJKR6iy6UZKkqZzu2ohy2G47mK49T3KqDEacp4kGFo1Y8cD7ykCy52gdR6qbYvK4FBiuh7zkA8vMeXvgdSkZ+ZbzIRjg1KJKigNDYrm9lC7IzeQa8NV15nwLUiTfANex7aIPOd+CFMkvQNOXXBmCFMkpcP9fE3wOvGBI/sRrKi94A9gtKCYDwqlnF/uopOBt4FAS9Cb+uygoBwTJQ+yrUoKPgIuCgMU+t47tmrjmdJIX2GclBCmvF8Q+dwvbt+Y2d1ePXM4FFxmv2lN8kat7WSVjz2afNBW8A5wyghxI+hgwrj/FMUsRfAJcMoI7yJ1Y8lCLTsYlju1N8Bqww3zYnWpOKtSik2cHY3EqeBPYZwaSYEHRBcEpOhn7GJMTwTXiB5B5QsZUCg36P8PYrARb+LGRO/jAoCAMDMa50s0SlWCX+O2cWlR0cItO/tt9lyso7sqxwWC6oqLDpOikGGuLI9g3GCR/JLNh3aDopBgzWXDsuaj4KDpjjmBSQlFxXXQSXxk0LSqui87Yxxr87vmdShPHcL4GKVX0F/GkYksLx3JaRbN98FixHXRLkMvHMlXIdW1OMn2c3wn+7JeUOSex1P8hthasBavBb4EV28YZNEGeAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-toolbox
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAADSUlEQVRo3u2aMWgUQRRANwiCR1qxuCIQbOKVgWDgRC0OrCxPAtcFthCbWKXxYBEsUlx7CmeZStAm2IVDhIDFwREICaQKCAc2yREtjojrH/gLyzk7+//M/HWVLR4JcXfmv/0zf2Z2DeI4Dv5ngkqwEqwEyyHYaDTmWQCWgS1gBEwR9XsfaAM1zX0c7gLbwHvgBPiBnODftvEadtsUwYRVYAjEGt4BLUu518B5RrtpzvHae1KCihWD5BGwYSH4EfhGEExQWX0qJZiXySPLTKoH9wzYI0peAW9tBReIAZmGq8ucVHP6A1G0ayO4TAzElMm2Y9FRPAY+u0rqBLcweEoQYUanfQ+CiofAmYukTnCEmVkhBLCU0eHIk2BgGCUkSZ3gFG8YEjKZJTj1JNdlVFetpEkwJmQyFBTkyqUlEzKHaDwnucosMqO/JPeHrE6wr7lwiNlaQsKcudEXlPvEkdQJtj08ubaQXITXRS6CNVysXQRfCsoFHMmsrVoLt11O419QjioZmfaiGwVJ2srl3RtRNtstD8O1KyRnymDEOU3UsGj0DQfeVxaSXU/zODI9FJvjUmA5H9KSDxwzF0ieB31JRtJyEoIBDi2qpNowzByXl8IFuZlcA776zpy0IEXyDXAdr12UkJMWpEh+AepSckUIUiQnwP1/TfA58IIh+RPvKb3gDWA3o5gMCLueXWyjlIK3gUNN0Jv476qgHBAkD7GtUgk+Ai4yAlbr3DpeV8c5lyd5gW2WQpDyekGtc7fw+ubc4u7ryOVdcJHxqj3GF7l5L6t07Lmsk7aCd4BTRpADTRsDxv2n2Gchgk+AS0ZwB6kdSxpq0Um4xL7FBK8BO8zD7iRnp0ItOml2MBavgjeBfWYgMywoeUFwik7CPsbkRXCN+AFknpAxlEKL9s8wNifBJn5s5HY+sCgIA4t+rvJGiUmwQ/x2Ti0qeXCLTvrbfYcrqJ7KsUVnE8fjj03RiTHWJkewZ9FJekvmwrpF0YkxZrLgWLioSBSdMUdwVkBR8V10ZlIZtC0qvovOWGIOfhd+p1LHPrzPQUoV/UXcqbjSxL68VtFkHTw2LAedAuTSsUwMch2XnUwPx/cMf/YKypyXWKr/EFsJVoLl4DdoF7dKw1u4jAAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-user
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACh0lEQVRo3u2aMUjDQBSGu6ibbi4ugrqIoxRB6qyIio4iTg5SENe4C66iKEVXQafg4CiI6OKgi4NxCt0chApSrYLGP/AXMqQ1udwllzTDtxzvvfDp8e6414LjOIUsU+gYQdu2VTABDGACC9SJxTWDMdK/rVqwBCqgBpx/qDG2lBbBMv9DTkgs5motuAUaAnJNGqyhpWA5opxXsqybYElwW7bbriWdBCsS5ZpUdBGcCNgtw1KLcoTIFDQUyDUxdBA0FQqaOghaCgUtHQQbCgUbSQsOgx+Fgj/8RmKC6wrlmqwnKXgSg+BJkoKPMQg+Jin4HoPgey6Yb9G8yXTuMeEewjcK5W6SPuhd5sED+JUo9sua8zo9WZxJFDzT8U1mEXxIkPtgLS1f1fYkCO7p/Gw4Bi4jyF2yhtYPvzNsEGHlHpibiqf7OXAbQu6WOamZTbiMgyPw3UbsmzHjaRu+eJkFu+AOvJE7rs2q+m4cgiNgCXS1ielizEjaBAfAKbfhBdgERdBHily7YMwpc1IhOAiOBbroMXO1FpwG5xHOwXPW0FJwB7xIuMm8sFasgq1m7V+gnzG2xMu2zZr9/Ebo2X5QwSCz9jkFI7SK58IgNNsPIhh01n7I+CnBK5rflW2KNQ9FZ/v/CYaZtb+CZc9f/DqC3LVnRyyzttBsv52gyKz9HiwwfxRsg+cQ+c/MGWWNBdYUnu23Eowya38CG6CbtYbAKtgHV6AKPkmVa/uMGWJON2s8RZ3ttxKU0SjcLrcCekO09V7mmLIalJ+g7Fm7u8UOwBqY5FWshwxwbY0x97bk2b6foMpZe9wYfoJmhgRNP0ErQ4KWn2A9Q4L1jhR0skQumDnB/Ff3KeUPCPIF4c/2dw4AAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-user
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAACiElEQVRo3u2aMUjDQBSGu6ibbi4ugrpYRxFB6qyIio4iTg5SENe4C66iKEVXQafg4CiI6OKgSwfjVLo5CBWkWgWNf+AvZEhrcrlLLmmGbznee+HT491xrznbtnNpJtcxgvl8XgWTwAAmsECdWFwzGCP926oFC6AEasD+hxpjC0kRLPI/ZAfEYq7WgtugISDXpMEaWgoWQ8q5JYu6CRYEt2W77VrQSbAkUa5JSRfBSZ/dMii1MEeITEFDgVwTQwdBU6GgqYOgpVDQ0kGwoVCwEbfgMPhRKPjDb8QmuKFQrslGnIKnEQiexilYjkCwHKfgewSC75lgtkWzJtO5x4RzCN8qlLuN+6B3WACP4Fei2C9rLuj0ZHEuUfBcxzeZJfAhQe6DtbR8VduXILiv87PhGLgKIXfFGlo//M6yQQSVe2RuIp7u58FdALk75iRmNuEwDo7Bdxuxb8aMJ2344mYO7IF78EbuuTan6rtRCI6AZdDVJqaLMSNJExwAZ9yGl2ALTIA+MsG1S8acMScRgoPgRKCLnjBXa8EZcBHiHLxgDS0Fd8GLhJvMC2tFKthq1v4F+hlTkXjZrrBmP78ReLbvV9DPrH1ewQit5LowCM32/Qj6nbUfMX5a8IrmdWWbZs0j0dn+f4JBZu2vYMX1F78JIXfj2hErrC00228nKDJrfwCLzB8FO+A5QP4zc0ZZY5E1hWf7rQTDzNqfwCboZq0hsAYOwDWogk9S5doBY4aY080aT2Fn+60EZTQKp8utgt4Abb2XOaasBuUlKHvW7myxQ7AOpngV6yEDXFtnzENe8mzfS1DlrD1qDC9BM0WCppeglSJBy0uwniLBekcK2mkiE0ydYPar+4TyBwj7vMixcGj1AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon-save
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABIElEQVRo3u3aPQrCQBCG4TcqgpVga5NOsEhjayt4Aw/gAQRrS8HKC3gGezvBEygWgl1KK8EDyNpsoUGSSMC46zcQEsJC5mFmNz8kMMbgc1TwPAR0PWrJE3EcA7SBJdC3x+8iKHjtvJM/SIy/AwdgB6yA8/PgMAwzK9gBjsAoBVdmVIEeMAX2dv9Ri86BliMd2LCdtgHqeYEDB6faEFjkBTYdXU8mQNfnVbQKjH2/TQx9B7Z9Bzb1qCaggAIKKGCR98EvRqAKllxBozkooIACCiiggAIKKKCAAgoooIACCijgXwJrDuac/J5q1KICega8/XjOJrGl5v4OuHW4YNs8wBlwdRB3tblnAk9ABKyBiwOwi801srm/3lP0z7aAApYaD5iDKaBZfy2IAAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon-save
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAABH0lEQVRo3u3avwnCQBTH8W9UBKuArQMIEmxsbQU3cAAHEKwtBSsXcAZ7O8EJFAmCG1gJDiBnc4WGkEQE452/ByEhHOR9eO8uf0hgjMHnqOB5COh61JInoigCaAFLoG+P0yL48NpFJ3+QGH8HDsAOWAHn58FxHOdWsA0cgVEGrsyoAj1gCuzt/q0WnQNNRzqwYTttA9SLAgcOTrUhsCgKDB1dTyZAx+dVtAqMfb9NDH0HtnwHhnpUE1BAAQUU8JP3wS9GoAqWXEGjOSiggAIKKKCAAgoooIACCiiggAIKKOBfAmsO5pz8nmrUogJ6Brz9eM4msWXmngbcOlywbRHgDLg6iLva3HOBJ6ALrIGLA7CLzbVrc3+9p+ifbQEFLDUeA3QpoBcfHXoAAAAASUVORK5CYII=) 0 0 no-repeat;
}
.dx-theme-desktop .dx-tab .dx-icon, .dx-theme-desktop .dx-tab.dx-tab-selected .dx-icon
{
  background-size: 100%;
  background-position: 50% 50%;
}
.dx-theme-desktop .dx-icon
{
  background-position: 50% 50%;
}
.dx-clearfix:before, .dx-clearfix:after
{
  display: table;
  line-height: 0;
  content: "";
}
.dx-clearfix:after
{
  clear: both;
}
.dx-translate-disabled
{
  -webkit-transform: none !important;
  -moz-transform: none !important;
  -ms-transform: none !important;
  -o-transform: none !important;
  transform: none !important;
}
.dx-hidden-input
{
  position: fixed;
  left: -10px;
  top: -10px;
  width: 0;
  height: 0;
}
.dx-user-select
{
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  -o-user-select: text;
  user-select: text;
}
.dx-theme-desktop-typography
{
  color: #2b2b2b;
  font-size: 14px;
  font-weight: normal;
  font-family: 'Helvetica Neue','Segoe UI',Helvetica,Verdana,san-serif;
}
.dx-theme-desktop-typography input, .dx-theme-desktop-typography textarea
{
  font-family: 'Helvetica Neue','Segoe UI',Helvetica,Verdana,san-serif;
}
.dx-theme-desktop-typography h1, .dx-theme-desktop-typography .dx-font-xl
{
  font-size: 34px;
  font-weight: normal;
}
.dx-theme-desktop-typography h2, .dx-theme-desktop-typography .dx-font-l
{
  font-size: 28px;
  font-weight: normal;
}
.dx-theme-desktop-typography h3
{
  font-size: 22px;
  font-weight: normal;
}
.dx-theme-desktop-typography .dx-font-m
{
  font-size: 20px;
  font-weight: normal;
}
.dx-theme-desktop-typography h4, .dx-theme-desktop-typography .dx-font-s
{
  font-size: 18px;
  font-weight: normal;
}
.dx-theme-desktop-typography h5
{
  font-size: 16px;
  font-weight: normal;
}
.dx-theme-desktop-typography h6, .dx-theme-desktop-typography small, .dx-theme-desktop-typography .dx-font-xs
{
  font-size: 12px;
  font-weight: normal;
}
.dx-theme-desktop-typography .dx-fieldset .dx-field-label
{
  color: #818181;
}
.dx-theme-desktop .dx-widget
{
  color: #131313;
  font-size: 1em;
  font-weight: normal;
  font-family: 'Helvetica Neue','Segoe UI',Helvetica,Verdana,san-serif;
}
.dx-theme-desktop .dx-field
{
  min-height: 36px;
}
.dx-theme-desktop .dx-field-label
{
  padding-top: 8px;
  padding-bottom: 9px;
}
.dx-theme-desktop .dx-field-value
{
  padding: 8px 15px;
  box-sizing: border-box;
}
.dx-theme-desktop .dx-field-value.dx-widget
{
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0;
}
.dx-theme-desktop .dx-field-value.dx-editbox, .dx-theme-desktop .dx-field-value.dx-switch, .dx-theme-desktop .dx-field-value.dx-checkbox, .dx-theme-desktop .dx-field-value.dx-autocomplete, .dx-theme-desktop .dx-field-value.dx-lookup
{
  padding-top: 0;
  padding-bottom: 0;
}
.dx-theme-desktop .dx-field-value.dx-slider
{
  padding: 0 9px;
  overflow: visible;
}
.dx-theme-desktop .dx-field-value.dx-switch, .dx-theme-desktop .dx-field-value.dx-checkbox
{
  box-sizing: content-box;
  margin-top: 6px;
}
.dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-editbox:not(.dx-textarea), .dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-checkbox, .dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-switch, .dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-lookup, .dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-slider, .dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-autocomplete
{
  right: 5px;
  top: 50%;
  position: absolute;
}
.dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-textarea
{
  margin: -8px -15px;
  position: relative;
}
.dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-checkbox
{
  margin-top: -12px;
}
.dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-switch
{
  margin-top: -12px;
}
.dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-editbox:not(.dx-textarea), .dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-lookup, .dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-slider, .dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-autocomplete
{
  left: 40%;
}
.dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-editbox:not(.dx-textarea), .dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-autocomplete, .dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-lookup
{
  margin-top: -18px;
}
.dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-autocomplete, .dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-lookup
{
  margin-left: 1px;
  margin-right: 1px;
}
.dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-slider
{
  margin-top: -14px;
  box-sizing: border-box;
  padding-left: 9px;
  padding-right: 9px;
}
.dx-theme-desktop .dx-field-value:not(.dx-widget)>.dx-button
{
  position: relative;
  margin-top: -7px;
  margin-bottom: -7px;
}
.dx-theme-desktop .dx-button
{
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-shadow: inset 0 2px rgba(255,255,255,.35),0 1px 1px rgba(0,0,0,.1);
  -moz-box-shadow: inset 0 2px rgba(255,255,255,.35),0 1px 1px rgba(0,0,0,.1);
  box-shadow: inset 0 2px rgba(255,255,255,.35),0 1px 1px rgba(0,0,0,.1);
  background-color: #eaeaea;
  background-repeat: no-repeat;
  background-image: -webkit-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: -moz-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: -ms-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: -o-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: linear-gradient(180deg,#eaeaea 0%,#dfdfdf 100%);
  border: 1px solid rgba(0,0,0,.18);
  padding: 0 5px;
}
.dx-theme-desktop .dx-button .dx-button-text
{
  color: #666565;
  font-size: 14px;
  font-weight: 600;
  line-height: 32px;
}
.dx-theme-desktop .dx-button a
{
  text-decoration: none;
}
.dx-theme-desktop .dx-button .dx-icon
{
  width: 32px;
  height: 32px;
  background-size: 28px 28px;
}
.dx-theme-desktop .dx-button.dx-button-back
{
  width: 20px;
}
.dx-theme-desktop .dx-button.dx-button-back img
{
  width: 20px;
}
.dx-theme-desktop .dx-button.dx-button-back .dx-button-text
{
  display: none;
}
.dx-theme-desktop .dx-button.dx-button-back .dx-button-back-arrow
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAgCAYAAAASYli2AAAA8UlEQVRIx+3WP0oDQRTH8c9qFAIW1ilyAhtBsI2FoEew0SvYpUqOYOMVbHIBC3tBsDCGxT+VRxmbsQjsZjebGRD0wSvny3vzfr83U4QQpIwtieMPAoUQlrJF9HCM3crzHYAX+MQE/U2BI7xggS+cbwI8wGOE/VTYueUB7lHiA7fY6Qrcwx3e8YYZ9muH2gDcxk2sqsQDhitV0gAcx/ta4AmHjbJbAbyKLc7xitNWOq4BnsWq5hF62doYFcAjPMeqSlyv47QqLxcxk3o5actZhpJFNlmEndx6WZZD3fqaptjYJykXbJYnoPGRKv6/Ir8P+A3CxjSpYG5XEQAAAABJRU5ErkJggg==) 0 0 no-repeat;
  width: 30px;
  height: 30px;
  display: block;
}
.dx-theme-desktop .dx-button.dx-button-back .dx-icon
{
  display: none;
}
.dx-theme-desktop .dx-button.dx-state-active
{
  background: #dcdcdc;
  -webkit-box-shadow: inset 0 1px 3px rgba(255,255,255,.1);
  -moz-box-shadow: inset 0 1px 3px rgba(255,255,255,.1);
  box-shadow: inset 0 1px 3px rgba(255,255,255,.1);
  border: 1px solid rgba(0,0,0,.2);
}
.dx-theme-desktop .dx-button.dx-state-disabled .dx-icon, .dx-theme-desktop .dx-button.dx-state-disabled .dx-button-back-arrow
{
  opacity: .15;
}
.dx-theme-desktop .dx-button.dx-state-disabled .dx-button-text
{
  color: #c1c1c1;
}
.dx-theme-desktop .dx-button.dx-button-danger
{
  background-color: #ffdddf;
  background-repeat: no-repeat;
  background-image: -webkit-linear-gradient(-90deg,#ffdddf 0%,#ffaaaf 100%);
  background-image: -moz-linear-gradient(-90deg,#ffdddf 0%,#ffaaaf 100%);
  background-image: -ms-linear-gradient(-90deg,#ffdddf 0%,#ffaaaf 100%);
  background-image: -o-linear-gradient(-90deg,#ffdddf 0%,#ffaaaf 100%);
  background-image: linear-gradient(180deg,#ffdddf 0%,#ffaaaf 100%);
}
.dx-theme-desktop .dx-button.dx-button-success
{
  background-color: #ddffdf;
  background-repeat: no-repeat;
  background-image: -webkit-linear-gradient(-90deg,#ddffdf 0%,#aaffaf 100%);
  background-image: -moz-linear-gradient(-90deg,#ddffdf 0%,#aaffaf 100%);
  background-image: -ms-linear-gradient(-90deg,#ddffdf 0%,#aaffaf 100%);
  background-image: -o-linear-gradient(-90deg,#ddffdf 0%,#aaffaf 100%);
  background-image: linear-gradient(180deg,#ddffdf 0%,#aaffaf 100%);
}
.dx-theme-desktop .dx-button.dx-button-danger.dx-state-active
{
  background: #ffaaaf;
}
.dx-theme-desktop .dx-button.dx-button-success.dx-state-active
{
  background: #aaffaf;
}
.dx-theme-desktop .dx-datagrid
{
  color: #000;
  background-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.dx-theme-desktop .dx-datagrid td
{
  padding: 7px;
  border-left: 1px solid #d3d3d3;
  vertical-align: middle;
}
.dx-theme-desktop .dx-datagrid td:first-child
{
  border-left: 0;
}
.dx-theme-desktop .dx-datagrid .dx-columns-separator
{
  position: absolute;
  background-color: #fff;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  z-index: 1;
  width: 3px;
}
.dx-theme-desktop .dx-datagrid .dx-columns-separator-transparent
{
  background-color: transparent;
  border-left: 0;
  border-right: 0;
}
.dx-theme-desktop .dx-datagrid .dx-text-content
{
  overflow: hidden;
  -o-text-overflow: ellipsis;
  -ms-text-overflow: ellipsis;
  text-overflow: ellipsis;
}
.dx-theme-desktop .dx-datagrid .dx-editbox .dx-editbox-input
{
  margin-top: 2px;
  margin-bottom: 2px;
  padding: 3px;
}
.dx-theme-desktop .dx-datagrid .dx-drag-header
{
  position: absolute;
  vertical-align: middle;
  -webkit-box-shadow: 0 1px 3px rgba(0,0,0,.25);
  box-shadow: 0 1px 3px rgba(0,0,0,.25);
  padding: 7px;
  border: 1px solid rgba(0,0,0,.15);
  background-color: #fff;
  cursor: pointer;
  z-index: 1;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers
{
  color: #989898;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers tr
{
  border-bottom: 1px solid #d3d3d3;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .dx-action td
{
  cursor: pointer;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .filter-row td
{
  padding-top: 0;
  padding-bottom: 0;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .dx-sort
{
  display: inline-block;
  width: 13px;
  height: 13px;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .dx-sort-up
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAASklEQVQoz2P4//8/A6kYhbNr1y5k3I4sToymdiD+D6WJ0gTT8B9ZIz5N6BrgGnFqun79OhyDFCOLDwJNaP77T1Q8DYwmopMRsRgAViPsNy3t5JcAAAAASUVORK5CYII=) no-repeat;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .dx-sort-down
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAARUlEQVQoz2P4//8/A6mYgaqadu3a9X+Qabp+/TocI2sC8QeBJqDCdpBiLLgdnyZsGkF8BkKakDW2w8SI0cSA7CS8mojFAP5Q7DewaT94AAAAAElFTkSuQmCC) no-repeat;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .find-button
{
  cursor: pointer;
  float: right;
  width: 24px;
  height: 24px;
  margin-top: -4px;
  margin-bottom: -4px;
  margin-left: 7px;
  margin-right: -7px;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAA6klEQVRIx8WVYQ3EIAyFnwEMIAADGJgBbNTAGcAABiYAAzMwARO1PyVpmrul3ViuybI/pV8f0Afwp4gAPgA2AIf4NgAEIDwpXgDsomgHsCrYDmC5W3wUqaxEK2sip3i3xbqwCCXRChidkTO/WpKD6Cg4Fe+W5MzJzXlmndclK4CcgJXXZSugvgWIYpA8MebFtZ/FOTPNO2SWu51E99kjuQlINljJ5vWloKyg880iNr+uzG/kJK+S8sVJpaMuyreOm7cQiQsR//VA0QzIVdAPldMgUb0dr0DSBSS/DUkzz0NDph62hJD3KX0UJ+tXY/fytmWBAAAAAElFTkSuQmCC) no-repeat;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .find-button-disabled
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAA8klEQVRIx8WVXQ3FIAxGr4EZmAAMYGAGsIGBGZgBDEzADMwA5x1R94UlTbO70f3kkvBCvva0hZbP5x8L6IERWIEi9gpEoLvjPABZOF2AWcEyMFx1vjmZgH4nsyQ0wVqWJkMRSNZBHBltkUWjfmoRdyKizphxbhH7Kk7GO1uqnWsFRCNgrna+FTC9BdjquRoBGSjWegZjzyRrk52+bcCJbveWlJOA+IZRsprmUu2HpOZQrHsUZSxK46yZhJ1JKifqoOZWufIKt1qHmkHQDVXP70FOAog/spyeAvTq73gF4g4g/m2Ie/I+NOS5y1aQaPpK764vNDb0WWO3egAAAAAASUVORK5CYII=) no-repeat;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .dx-filter-operation
{
  float: left;
  cursor: pointer;
  padding: 0 7px 3px 7px;
  margin: 3px 4px 3px 0;
  font-weight: 800;
  font-size: 16px;
  color: #fff;
  background-color: #abdcd3;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .dx-filter-operation-long
{
  padding: 0 3px 3px 3px;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .dx-filter-operation-selected
{
  position: relative;
  background-color: #5f9592;
  color: #fff;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .dx-filter-operations
{
  position: absolute;
  display: none;
  z-index: 99999;
  width: 300px;
  top: 28px;
  left: 0;
  overflow: hidden;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .dx-filter-operation-item
{
  clear: both;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-headers .dx-filter-operation-item:hover .dx-filter-operation
{
  position: relative;
  background-color: #5f9592;
  color: #fff;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-rowsview tr
{
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-rowsview .dx-freespace-row
{
  border-top: 0;
  border-bottom: 0;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-rowsview .dx-freespace-row td
{
  padding-top: 0;
  padding-bottom: 0;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-rowsview .dx-selection
{
  border-top-color: #fff;
  border-bottom-color: #fff;
  background-color: #abdcd3;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-rowsview .search-text
{
  color: #fff;
  background-color: #5f9592;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-rowsview-hover tr:hover
{
  border-top-color: #fff;
  border-bottom-color: #fff;
  background-color: #5f9592;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-rowsview-hover tr:hover td
{
  color: #000;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-rowsview-hover .dx-freespace-row:hover
{
  background-color: transparent;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-checkbox
{
  padding: 0;
  text-align: center;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-checkbox .dx-checkbox, .dx-theme-desktop .dx-datagrid .dx-datagrid-checkbox .dx-checkbox .dx-checkbox-icon
{
  height: 16px;
  width: 16px;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-pager
{
  border-top: 3px double #d3d3d3;
  padding-top: 13px;
  padding-bottom: 13px;
  display: inline-block;
  width: 100%;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-pager .dx-datagrid-pages
{
  float: right;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-pager .dx-datagrid-pages .dx-page
{
  display: inline;
  padding: 8px 7px;
  margin-left: 1px;
  margin-right: 1px;
  cursor: pointer;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-pager .dx-datagrid-pages .dx-separator
{
  display: inline;
  padding-left: 8px;
  padding-right: 8px;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-pager .dx-datagrid-page-sizes
{
  display: inline-block;
  float: left;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-pager .dx-datagrid-page-sizes .dx-page-size
{
  display: inline;
  background-color: #e2e2e2;
  padding: 8px 9px;
  margin-left: 1px;
  margin-right: 1px;
  cursor: pointer;
}
.dx-theme-desktop .dx-datagrid .dx-datagrid-pager .dx-datagrid-pages .dx-selection, .dx-theme-desktop .dx-datagrid .dx-datagrid-pager .dx-datagrid-page-sizes .dx-selection
{
  color: #fff;
  background-color: #5f9592;
}
.dx-theme-desktop .dx-checkbox
{
  border: 1px solid rgba(0,0,0,.18);
  background-color: #fafafa;
  height: 22px;
  width: 22px;
  box-shadow: 0 1px 4px rgba(0,0,0,.1) inset;
}
.dx-theme-desktop .dx-checkbox .dx-checkbox-icon
{
  width: 22px;
  height: 22px;
}
.dx-theme-desktop .dx-checkbox.dx-checkbox-checked .dx-checkbox-icon
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAnklEQVQ4y6XT6w2AIAxGUYZQl2AIl2Af3IchnEcdotYEEigFof3xJcbEE68PAwDGWquZw5243SixBXfhABe0WIjQg9s0mIsQxGMjxYq8dF6KFXkarMqTYmyeFGPzJFgzr8DSvhMNfO3lcXfm46bzKOazBD+bR7EjuyAHh/K4TA5MeXcvr/U2KTiU1/s0KBhGv8MKI89wKO8PS6Cb+W9fzHMxWoC5OnwAAAAASUVORK5CYII=) 35% 50% no-repeat;
}
.dx-theme-desktop .dx-checkbox.dx-state-disabled .dx-checkbox-icon
{
  opacity: .2;
}
.dx-theme-desktop .dx-switch
{
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 3px;
  width: 100px;
  height: 22px;
}
.dx-theme-desktop .dx-switch .dx-switch-wrapper
{
  border-radius: inherit;
  overflow: hidden;
}
.dx-theme-desktop .dx-switch .dx-switch-inner
{
  width: 150px;
  height: 100%;
}
.dx-theme-desktop .dx-switch .dx-switch-on, .dx-theme-desktop .dx-switch .dx-switch-off
{
  float: left;
  width: 50px;
  text-align: center;
}
.dx-theme-desktop .dx-switch .dx-switch-on
{
  padding: 1px 0;
}
.dx-theme-desktop .dx-switch .dx-switch-handle
{
  position: relative;
  float: left;
  margin: 1px;
  width: 46px;
  height: 18px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  background-color: #eaeaea;
  background-repeat: no-repeat;
  background-image: -webkit-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: -moz-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: -ms-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: -o-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: linear-gradient(180deg,#eaeaea 0%,#dfdfdf 100%);
  -webkit-box-shadow: inset 0 2px rgba(255,255,255,.35),0 1px 1px rgba(0,0,0,.1);
  -moz-box-shadow: inset 0 2px rgba(255,255,255,.35),0 1px 1px rgba(0,0,0,.1);
  box-shadow: inset 0 2px rgba(255,255,255,.35),0 1px 1px rgba(0,0,0,.1);
  border: 1px solid rgba(0,0,0,.15);
  z-index: 1;
}
.dx-theme-desktop .dx-switch .dx-switch-off
{
  padding: 1px 0;
  color: #c1c1c1;
}
.dx-theme-desktop .dx-switch.dx-state-disabled
{
  border-color: rgba(76,76,76,.15);
}
.dx-theme-desktop .dx-switch.dx-state-disabled .dx-switch-on
{
  color: #929292;
}
.dx-theme-desktop .dx-switch.dx-state-disabled .dx-switch-off
{
  color: #e7e7e7;
}
.dx-theme-desktop .dx-switch.dx-state-disabled .dx-switch-handle
{
  background-color: #f7f7f7;
  background-repeat: no-repeat;
  background-image: -webkit-linear-gradient(-90deg,#f7f7f7 0%,#ececec 100%);
  background-image: -moz-linear-gradient(-90deg,#f7f7f7 0%,#ececec 100%);
  background-image: -ms-linear-gradient(-90deg,#f7f7f7 0%,#ececec 100%);
  background-image: -o-linear-gradient(-90deg,#f7f7f7 0%,#ececec 100%);
  background-image: linear-gradient(180deg,#f7f7f7 0%,#ececec 100%);
}
.dx-theme-desktop .dx-tabs
{
  background: #2b2b2b;
  text-align: left;
}
.dx-theme-desktop .dx-tabs .dx-tab
{
  padding: 10px;
}
.dx-theme-desktop .dx-tabs .dx-tab .dx-icon
{
  width: 32px;
  height: 32px;
  display: inline-block;
}
.dx-theme-desktop .dx-tabs .dx-tab-text
{
  display: inline-block;
  padding: 0 5px;
  color: #2b2b2b;
  font-size: 14px;
  font-weight: normal;
  font-family: 'Helvetica Neue','Segoe UI',Helvetica,Verdana,san-serif;
  color: #dfdfdf;
  vertical-align: 50%;
}
.dx-theme-desktop .dx-tabs .dx-tab-text input, .dx-theme-desktop .dx-tabs .dx-tab-text textarea
{
  font-family: 'Helvetica Neue','Segoe UI',Helvetica,Verdana,san-serif;
}
.dx-theme-desktop .dx-tabs .dx-tab-text h1, .dx-theme-desktop .dx-tabs .dx-tab-text .dx-font-xl
{
  font-size: 34px;
  font-weight: normal;
}
.dx-theme-desktop .dx-tabs .dx-tab-text h2, .dx-theme-desktop .dx-tabs .dx-tab-text .dx-font-l
{
  font-size: 28px;
  font-weight: normal;
}
.dx-theme-desktop .dx-tabs .dx-tab-text h3
{
  font-size: 22px;
  font-weight: normal;
}
.dx-theme-desktop .dx-tabs .dx-tab-text .dx-font-m
{
  font-size: 20px;
  font-weight: normal;
}
.dx-theme-desktop .dx-tabs .dx-tab-text h4, .dx-theme-desktop .dx-tabs .dx-tab-text .dx-font-s
{
  font-size: 18px;
  font-weight: normal;
}
.dx-theme-desktop .dx-tabs .dx-tab-text h5
{
  font-size: 16px;
  font-weight: normal;
}
.dx-theme-desktop .dx-tabs .dx-tab-text h6, .dx-theme-desktop .dx-tabs .dx-tab-text small, .dx-theme-desktop .dx-tabs .dx-tab-text .dx-font-xs
{
  font-size: 12px;
  font-weight: normal;
}
.dx-theme-desktop .dx-tabs .dx-tab-text .dx-fieldset .dx-field-label
{
  color: #818181;
}
.dx-theme-desktop .dx-tabs .dx-tab:first-child
{
  border-left: none;
}
.dx-theme-desktop .dx-tabs .dx-tab.dx-state-active
{
  background: #aaa;
}
.dx-theme-desktop .dx-tabs .dx-tab.dx-state-active .dx-tab-text
{
  color: #2b2b2b;
}
.dx-theme-desktop .dx-tabs .dx-tab.dx-tab-selected
{
  background: #989898;
}
.dx-theme-desktop .dx-tabs .dx-tab.dx-tab-selected .dx-tab-text
{
  color: #2b2b2b;
}
.dx-theme-desktop .dx-editbox .dx-editbox-input
{
  padding: 7px 14px 8px;
  margin: 0;
  font-size: 1em;
  background: #fafafa;
  border: 1px solid #d1d1d1;
}
.dx-theme-desktop .dx-editbox .dx-editbox-input:-moz-placeholder
{
  color: #c1c1c1;
}
.dx-theme-desktop .dx-editbox .dx-editbox-input::-webkit-input-placeholder
{
  color: #c1c1c1;
}
.dx-theme-desktop .dx-editbox.dx-state-disabled .dx-editbox-input
{
  color: #c1c1c1;
  background: #e0e0e0;
}
.dx-theme-desktop .dx-editbox.dx-numberbox .dx-editbox-input
{
  text-align: right;
}
.dx-theme-desktop .dx-placeholder:before
{
  margin: .2em .3em;
}
.dx-theme-desktop .dx-toolbar
{
  height: 80px;
  background-color: #efefef;
  border-bottom: 1px solid #dadada;
}
.dx-theme-desktop .dx-toolbar .dx-toolbar-item
{
  padding: 0 4px;
}
.dx-theme-desktop .dx-toolbar .dx-toolbar-label
{
  font-size: 34px;
  font-weight: normal;
  padding: 15px 5px;
}
.dx-theme-desktop .dx-slider.dx-state-disabled .dx-slider-wrapper .dx-slider-bar
{
  background: #fff;
}
.dx-theme-desktop .dx-slider.dx-state-disabled .dx-slider-wrapper .dx-slider-bar .dx-slider-range
{
  background: #919191;
}
.dx-theme-desktop .dx-slider.dx-state-disabled .dx-slider-wrapper .dx-slider-bar .dx-slider-handle
{
  background-color: #f7f7f7;
  background-repeat: no-repeat;
  background-image: -webkit-linear-gradient(-90deg,#f7f7f7 0%,#ececec 100%);
  background-image: -moz-linear-gradient(-90deg,#f7f7f7 0%,#ececec 100%);
  background-image: -ms-linear-gradient(-90deg,#f7f7f7 0%,#ececec 100%);
  background-image: -o-linear-gradient(-90deg,#f7f7f7 0%,#ececec 100%);
  background-image: linear-gradient(180deg,#f7f7f7 0%,#ececec 100%);
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  border: 1px solid rgba(0,0,0,.07);
}
.dx-theme-desktop .dx-slider .dx-slider-wrapper
{
  height: 28px;
}
.dx-theme-desktop .dx-slider .dx-slider-wrapper .dx-slider-bar
{
  height: 2px;
  margin: 13px 0;
  border: 1px solid #d1d1d1;
  background: #f1f1f1;
}
.dx-theme-desktop .dx-slider .dx-slider-wrapper .dx-slider-bar .dx-slider-range
{
  height: 4px;
  margin: 13px 0;
  background: #2b2b2b;
}
.dx-theme-desktop .dx-slider .dx-slider-wrapper .dx-slider-bar .dx-slider-handle
{
  width: 18px;
  height: 28px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  background-color: #eaeaea;
  background-repeat: no-repeat;
  background-image: -webkit-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: -moz-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: -ms-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: -o-linear-gradient(-90deg,#eaeaea 0%,#dfdfdf 100%);
  background-image: linear-gradient(180deg,#eaeaea 0%,#dfdfdf 100%);
  -webkit-box-shadow: inset 0 2px rgba(255,255,255,.35),0 1px 1px rgba(0,0,0,.1);
  -moz-box-shadow: inset 0 2px rgba(255,255,255,.35),0 1px 1px rgba(0,0,0,.1);
  box-shadow: inset 0 2px rgba(255,255,255,.35),0 1px 1px rgba(0,0,0,.1);
  border: 1px solid rgba(0,0,0,.15);
}
.dx-theme-desktop .dx-slider .dx-slider-wrapper .dx-slider-bar .dx-slider-handle.dx-state-active
{
  background-color: #cecece;
  background-repeat: no-repeat;
  background-image: -webkit-linear-gradient(-90deg,#cecece 0%,#cfcfcf 100%);
  background-image: -moz-linear-gradient(-90deg,#cecece 0%,#cfcfcf 100%);
  background-image: -ms-linear-gradient(-90deg,#cecece 0%,#cfcfcf 100%);
  background-image: -o-linear-gradient(-90deg,#cecece 0%,#cfcfcf 100%);
  background-image: linear-gradient(180deg,#cecece 0%,#cfcfcf 100%);
}
.dx-theme-desktop .dx-scrollable-container
{
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  -ms-touch-action: pan-x pan-y;
}
.dx-theme-desktop .dx-scrollable-content
{
  -webkit-backface-visibility: visible;
  -webkit-transform: none;
}
.dx-theme-desktop .dx-scrollable-scroll
{
  margin: 2px 3px;
  background: #474a4f;
}
.dx-theme-desktop .dx-scrollable-scrollbar-vertical .dx-scrollable-scroll
{
  width: 3px;
}
.dx-theme-desktop .dx-scrollable-scrollbar-horizontal .dx-scrollable-scroll
{
  height: 3px;
}
.dx-theme-desktop .dx-scrollview-pull-down-image
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAyCAYAAABcfPsmAAAAyklEQVRIx2P4//8/Azqu6JjvSwzGppdh1ECKMX0MBHqngRg8aiAdDRwSyeYMMXjUQDoaOCSSzX9i8KiBdDRw8CcbigwEhgU2XAfEl4jAGHpxGTiTyIgZNXDUwJFjoBYQHwDiw0j4OZEGHkbDpTCTo4D4D7HlIA68BYjZkJ0bS4Gh20GGYQvDBDIM2wvEnPgiJY1cw/DFciaREcJJbLIB4RwChvGQkg5huBSLYcdwGUaMgSBcjWTYSSDmx6eeGANhhp4hZBjYQGrXegAin7Qm0uANIwAAAABJRU5ErkJggg==) 0 0 no-repeat;
}
.dx-theme-desktop .dx-scrollview-pull-down-text
{
  font-size: 20px;
  font-weight: normal;
}
.dx-theme-desktop .dx-scrollview-pull-down-loading .dx-scrollview-pull-down-image
{
  width: 24px;
  height: 24px;
}
.dx-theme-desktop .dx-scrollview-scrollbottom-loading .dx-scrollview-scrollbottom-image
{
  width: 24px;
  height: 24px;
}
.dx-theme-desktop .dx-swipeable
{
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  -o-user-select: text;
  user-select: text;
}
.dx-theme-desktop .dx-list
{
  border: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.dx-theme-desktop .dx-list.dx-has-next
{
  padding-bottom: 44px;
}
.dx-theme-desktop .dx-list .dx-list-group-header
{
  padding: 10px;
  background: #efefef;
  color: #989898;
  border-top: 2px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}
.dx-theme-desktop .dx-list .dx-list-item, .dx-theme-desktop .dx-list .dx-empty-message
{
  color: #2b2b2b;
  position: relative;
  padding: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-top: 1px solid #e5e5e5;
}
.dx-theme-desktop .dx-list .dx-list-item.dx-state-active
{
  background-color: #f1f1f1;
}
.dx-theme-desktop .dx-list .dx-empty-message
{
  text-align: left;
}
.dx-theme-desktop .dx-popup
{
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  -o-user-select: text;
  user-select: text;
}
.dx-theme-desktop .dx-popup .dx-overlay-content
{
  border: none;
  background: #fff;
  -webkit-box-shadow: 0 10px 35px rgba(0,0,0,.5);
  -moz-box-shadow: 0 10px 35px rgba(0,0,0,.5);
  box-shadow: 0 10px 35px rgba(0,0,0,.5);
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
.dx-theme-desktop .dx-popup .dx-overlay-content .dx-popup-title
{
  min-height: 28px;
  padding: 10px 20px;
  background: #efefef;
  -webkit-border-radius: 5px 5px 0 0;
  -moz-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
  font-size: 20px;
  font-weight: normal;
}
.dx-theme-desktop .dx-popup .dx-overlay-content .dx-popup-content
{
  padding: 10px;
}
.dx-theme-desktop .dx-popup .dx-overlay-shader
{
  opacity: .75;
  background: #000;
}
.dx-theme-desktop .dx-gallery .dx-gallery-indicator
{
  text-align: center;
}
.dx-theme-desktop .dx-gallery .dx-gallery-indicator .dx-gallery-indicator-item
{
  background: #aaa;
  width: 8px;
  height: 8px;
  margin: 1px 6px;
  border: solid 1px #aaa;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
.dx-theme-desktop .dx-gallery .dx-gallery-indicator .dx-gallery-indicator-item-active, .dx-theme-desktop .dx-gallery .dx-gallery-indicator .dx-gallery-indicator-item-selected
{
  background: #fff;
}
.dx-theme-desktop .dx-gallery .dx-gallery-nav-button-prev, .dx-theme-desktop .dx-gallery .dx-gallery-nav-button-next
{
  position: absolute;
  top: 0;
  width: 34%;
  height: 100%;
  cursor: pointer;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0.1)";
  background: #fff;
  background: rgba(255,255,255,.01);
}
.dx-theme-desktop .dx-gallery .dx-gallery-nav-button-prev
{
  left: 0;
}
.dx-theme-desktop .dx-gallery .dx-gallery-nav-button-prev:hover
{
  height: 100%;
}
.dx-theme-desktop .dx-gallery .dx-gallery-nav-button-next
{
  right: 0;
}
.dx-theme-desktop .dx-gallery .dx-gallery-nav-button-next:hover
{
  height: 100%;
}
.dx-theme-desktop .dx-gallery .dx-gallery-nav-button-prev:hover:before, .dx-theme-desktop .dx-gallery .dx-gallery-nav-button-next:hover:before
{
  position: absolute;
  z-index: 10;
  width: 16%;
  height: 100%;
  content: ' ';
  clear: both;
  background-color: #000;
  background-color: rgba(0,0,0,.5);
  background-repeat: no-repeat;
  background-position: center center;
}
.dx-theme-desktop .dx-gallery .dx-gallery-nav-button-prev:hover:before
{
  left: 0;
}
.dx-theme-desktop .dx-gallery .dx-gallery-nav-button-next:hover:before
{
  right: 0;
}
.dx-theme-desktop .dx-lookup
{
  height: 36px;
}
.dx-theme-desktop .dx-lookup.dx-state-active
{
  background-color: #f1f1f1;
}
.dx-theme-desktop .dx-lookup .dx-lookup-field
{
  padding: 7px 18px 8px 14px;
  margin: 1px;
  font-size: 1em;
}
.dx-theme-desktop .dx-lookup .dx-lookup-field:before
{
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  position: absolute;
  right: 4px;
  top: 50%;
  margin-top: -5px;
}
.dx-theme-desktop .dx-lookup-popup .dx-lookup-search
{
  padding-top: 10px;
}
.dx-theme-desktop .dx-lookup-popup .dx-list-item.dx-lookup-selected
{
  background-color: #fafafa;
}
.dx-theme-desktop .dx-autocomplete
{
  background-color: #fff;
}
.dx-theme-desktop .dx-autocomplete .dx-editbox
{
  margin: 0;
}
.dx-theme-desktop .dx-autocomplete .dx-editbox .dx-textbox .dx-editbox-input
{
  padding: .5em 1em;
  font-size: 1em;
}
.dx-theme-desktop .dx-popup.dx-autocomplete-popup .dx-overlay-content
{
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: 0 1px 10px rgba(0,0,0,.1);
  -moz-box-shadow: 0 1px 10px rgba(0,0,0,.1);
  box-shadow: 0 1px 10px rgba(0,0,0,.1);
}
.dx-theme-desktop .dx-popup.dx-autocomplete-popup .dx-overlay-content .dx-popup-content
{
  padding: 0;
  border: 1px solid #d1d1d1;
}
.dx-theme-desktop .dx-popup.dx-autocomplete-popup .dx-overlay-content .dx-popup-content .dx-list
{
  background-color: #fff;
}
.dx-theme-desktop .dx-popup.dx-autocomplete-popup .dx-overlay-content .dx-popup-content .dx-list .dx-list-item
{
  font-size: 1.2em;
  border-top: 0;
  padding: .5em 1em;
}
.dx-theme-desktop .dx-popup.dx-autocomplete-popup .dx-overlay-content .dx-popup-content .dx-list .dx-autocomplete-selected
{
  background-color: #f4f4f4;
}
.dx-theme-desktop .dx-popup.dx-autocomplete-popup .dx-overlay-content .dx-popup-content .dx-list .dx-autocomplete-selected.dx-state-active
{
  background-color: #f1f1f1;
}
.dx-theme-desktop .dx-popup.dx-action-sheet-popup .dx-overlay-content
{
  border-radius: 0;
}
.dx-theme-desktop .dx-popup.dx-action-sheet-popup .dx-overlay-content .dx-popup-title
{
  border-radius: 0;
}
.dx-theme-desktop .dx-loadindicator.dx-loadindicator-small .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment
{
  width: 10%;
  height: 34%;
  -webkit-border-radius: 20%;
  -moz-border-radius: 20%;
  border-radius: 20%;
  -webkit-box-shadow: 0 0 2px rgba(0,0,0,.3);
  -moz-box-shadow: 0 0 2px rgba(0,0,0,.3);
  box-shadow: 0 0 2px rgba(0,0,0,.3);
}
.dx-theme-desktop .dx-loadindicator.dx-loadindicator-large .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment
{
  width: 8%;
  height: 34%;
  -webkit-border-radius: 25%;
  -moz-border-radius: 25%;
  border-radius: 25%;
  -webkit-box-shadow: 0 0 6px rgba(0,0,0,.3);
  -moz-box-shadow: 0 0 6px rgba(0,0,0,.3);
  box-shadow: 0 0 6px rgba(0,0,0,.3);
}
.dx-theme-desktop .dx-loadindicator-wrapper
{
  position: absolute;
  top: 15%;
  left: 15%;
  width: 70%;
  height: 70%;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon
{
  position: relative;
  width: 100%;
  height: 100%;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment
{
  position: absolute;
  width: 11%;
  height: 30%;
  left: 44.5%;
  top: 37%;
  opacity: 0;
  background: #898989;
  -webkit-border-radius: 40%;
  -moz-border-radius: 40%;
  border-radius: 40%;
  -webkit-box-shadow: 0 0 3px rgba(0,0,0,.2);
  -moz-box-shadow: 0 0 3px rgba(0,0,0,.2);
  box-shadow: 0 0 3px rgba(0,0,0,.2);
  -webkit-animation: dx-loadindicator-opacity 1s linear infinite;
  -moz-animation: dx-loadindicator-opacity 1s linear infinite;
  -o-animation: dx-loadindicator-opacity 1s linear infinite;
  animation: dx-loadindicator-opacity 1s linear infinite;
}
@-webkit-keyframes dx-loadindicator-opacity
{
  from
  {
    opacity: 1;
  }
  to
  {
    opacity: .25;
  }
}
@-moz-keyframes dx-loadindicator-opacity
{
  from
  {
    opacity: 1;
  }
  to
  {
    opacity: .25;
  }
}
@-ms-keyframes dx-loadindicator-opacity
{
  from
  {
    opacity: 1;
  }
  to
  {
    opacity: .25;
  }
}
@-o-keyframes dx-loadindicator-opacity{from{opacity:1;}to{opacity:.25;}}
@keyframes dx-loadindicator-opacity
{
  from
  {
    opacity: 1;
  }
  to
  {
    opacity: .25;
  }
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment1
{
  -webkit-transform: rotate(0) translate(0,-142%);
  -moz-transform: rotate(0) translate(0,-142%);
  -ms-transform: rotate(0) translate(0,-142%);
  -o-transform: rotate(0) translate(0,-142%);
  transform: rotate(0) translate(0,-142%);
  -webkit-animation-delay: 0;
  -moz-animation-delay: 0;
  -o-animation-delay: 0;
  animation-delay: 0;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment2
{
  -webkit-transform: rotate(30deg) translate(0,-142%);
  -moz-transform: rotate(30deg) translate(0,-142%);
  -ms-transform: rotate(30deg) translate(0,-142%);
  -o-transform: rotate(30deg) translate(0,-142%);
  transform: rotate(30deg) translate(0,-142%);
  -webkit-animation-delay: -.9167s;
  -moz-animation-delay: -.9167s;
  -o-animation-delay: -.9167s;
  animation-delay: -.9167s;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment3
{
  -webkit-transform: rotate(60deg) translate(0,-142%);
  -moz-transform: rotate(60deg) translate(0,-142%);
  -ms-transform: rotate(60deg) translate(0,-142%);
  -o-transform: rotate(60deg) translate(0,-142%);
  transform: rotate(60deg) translate(0,-142%);
  -webkit-animation-delay: -.833s;
  -moz-animation-delay: -.833s;
  -o-animation-delay: -.833s;
  animation-delay: -.833s;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment4
{
  -webkit-transform: rotate(90deg) translate(0,-142%);
  -moz-transform: rotate(90deg) translate(0,-142%);
  -ms-transform: rotate(90deg) translate(0,-142%);
  -o-transform: rotate(90deg) translate(0,-142%);
  transform: rotate(90deg) translate(0,-142%);
  -webkit-animation-delay: -.75s;
  -moz-animation-delay: -.75s;
  -o-animation-delay: -.75s;
  animation-delay: -.75s;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment5
{
  -webkit-transform: rotate(120deg) translate(0,-142%);
  -moz-transform: rotate(120deg) translate(0,-142%);
  -ms-transform: rotate(120deg) translate(0,-142%);
  -o-transform: rotate(120deg) translate(0,-142%);
  transform: rotate(120deg) translate(0,-142%);
  -webkit-animation-delay: -.667s;
  -moz-animation-delay: -.667s;
  -o-animation-delay: -.667s;
  animation-delay: -.667s;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment6
{
  -webkit-transform: rotate(150deg) translate(0,-142%);
  -moz-transform: rotate(150deg) translate(0,-142%);
  -ms-transform: rotate(150deg) translate(0,-142%);
  -o-transform: rotate(150deg) translate(0,-142%);
  transform: rotate(150deg) translate(0,-142%);
  -webkit-animation-delay: -.5833s;
  -moz-animation-delay: -.5833s;
  -o-animation-delay: -.5833s;
  animation-delay: -.5833s;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment7
{
  -webkit-transform: rotate(180deg) translate(0,-142%);
  -moz-transform: rotate(180deg) translate(0,-142%);
  -ms-transform: rotate(180deg) translate(0,-142%);
  -o-transform: rotate(180deg) translate(0,-142%);
  transform: rotate(180deg) translate(0,-142%);
  -webkit-animation-delay: -.5s;
  -moz-animation-delay: -.5s;
  -o-animation-delay: -.5s;
  animation-delay: -.5s;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment8
{
  -webkit-transform: rotate(210deg) translate(0,-142%);
  -moz-transform: rotate(210deg) translate(0,-142%);
  -ms-transform: rotate(210deg) translate(0,-142%);
  -o-transform: rotate(210deg) translate(0,-142%);
  transform: rotate(210deg) translate(0,-142%);
  -webkit-animation-delay: -.41667s;
  -moz-animation-delay: -.41667s;
  -o-animation-delay: -.41667s;
  animation-delay: -.41667s;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment9
{
  -webkit-transform: rotate(240deg) translate(0,-142%);
  -moz-transform: rotate(240deg) translate(0,-142%);
  -ms-transform: rotate(240deg) translate(0,-142%);
  -o-transform: rotate(240deg) translate(0,-142%);
  transform: rotate(240deg) translate(0,-142%);
  -webkit-animation-delay: -.333s;
  -moz-animation-delay: -.333s;
  -o-animation-delay: -.333s;
  animation-delay: -.333s;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment10
{
  -webkit-transform: rotate(270deg) translate(0,-142%);
  -moz-transform: rotate(270deg) translate(0,-142%);
  -ms-transform: rotate(270deg) translate(0,-142%);
  -o-transform: rotate(270deg) translate(0,-142%);
  transform: rotate(270deg) translate(0,-142%);
  -webkit-animation-delay: -.25s;
  -moz-animation-delay: -.25s;
  -o-animation-delay: -.25s;
  animation-delay: -.25s;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment11
{
  -webkit-transform: rotate(300deg) translate(0,-142%);
  -moz-transform: rotate(300deg) translate(0,-142%);
  -ms-transform: rotate(300deg) translate(0,-142%);
  -o-transform: rotate(300deg) translate(0,-142%);
  transform: rotate(300deg) translate(0,-142%);
  -webkit-animation-delay: -.1667s;
  -moz-animation-delay: -.1667s;
  -o-animation-delay: -.1667s;
  animation-delay: -.1667s;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment12
{
  -webkit-transform: rotate(330deg) translate(0,-142%);
  -moz-transform: rotate(330deg) translate(0,-142%);
  -ms-transform: rotate(330deg) translate(0,-142%);
  -o-transform: rotate(330deg) translate(0,-142%);
  transform: rotate(330deg) translate(0,-142%);
  -webkit-animation-delay: -.0833s;
  -moz-animation-delay: -.0833s;
  -o-animation-delay: -.0833s;
  animation-delay: -.0833s;
}
.dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment0, .dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment13, .dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment14, .dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-segment15, .dx-theme-desktop .dx-loadindicator-wrapper .dx-loadindicator-icon .dx-loadindicator-win8-segment
{
  display: none;
}
.dx-theme-desktop .dx-popup.dx-dropdownmenu-popup .dx-overlay-content
{
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: 0 1px 10px rgba(0,0,0,.1);
  -moz-box-shadow: 0 1px 10px rgba(0,0,0,.1);
  box-shadow: 0 1px 10px rgba(0,0,0,.1);
}
.dx-theme-desktop .dx-popup.dx-dropdownmenu-popup .dx-overlay-content .dx-popup-content
{
  padding: 0;
  border: 1px solid #d1d1d1;
  background-color: #fff;
}
.dx-theme-desktop .dx-popup.dx-dropdownmenu-popup .dx-overlay-content .dx-popup-content .dx-list-item
{
  padding: .5em;
  border-top: 0;
}
.dx-theme-desktop .dx-toast .dx-toast-content
{
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 32px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-box-shadow: 0 2px 3px 0 rgba(0,0,0,.1);
  -moz-box-shadow: 0 2px 3px 0 rgba(0,0,0,.1);
  box-shadow: 0 2px 3px 0 rgba(0,0,0,.1);
}
.dx-theme-desktop .dxdbRootFullScreenMode
{
  background: #efefef;
}
.dx-theme-desktop .dx-dashboard-panel
{
  -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.15);
  -moz-box-shadow: 0 1px 4px rgba(0,0,0,.15);
  box-shadow: 0 1px 4px rgba(0,0,0,.15);
  border: 1px solid #d9d9d9;
  border: 1px solid rgba(0,0,0,.15);
  background-color: #fff;
}
.dx-theme-desktop .dx-dashboard-title
{
  color: #5d5d5d;
  font-family: 'Segoe UI Light','Helvetica Neue Light','Segoe UI','Helvetica Neue',Helvetica,'Trebuchet MS',Verdana,sans-serif;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-dashboard-splitter-pane
{
  -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.15);
  -moz-box-shadow: 0 1px 4px rgba(0,0,0,.15);
  box-shadow: 0 1px 4px rgba(0,0,0,.15);
  border: 1px solid #d9d9d9;
  border: 1px solid rgba(0,0,0,.15);
  background-color: #fff;
}
.dx-theme-desktop .dx-dashboard-item-header
{
  background: #fff;
  font-family: 'Segoe UI',Helvetica,'Droid Sans',Tahoma,Geneva,sans-serif;
}
.dx-theme-desktop .dx-dashboard-item-header .dx-dashboard-item-header-text
{
  color: #5d5d5d;
}
.dx-theme-desktop .dx-dashboard-item-header .dx-dashboard-item-header-text b
{
  font-weight: normal;
}
.dx-theme-desktop .dx-hover-toolbar-container
{
  -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.15);
  -moz-box-shadow: 0 1px 4px rgba(0,0,0,.15);
  box-shadow: 0 1px 4px rgba(0,0,0,.15);
  border: 1px solid #d9d9d9;
  border: 1px solid rgba(0,0,0,.15);
  background-color: #fff;
}
.dx-theme-desktop .dx-dashboard-bar
{
  height: 18px;
  background-color: #5f8b95;
}
.dx-theme-desktop .dx-dashboard-message
{
  color: #5d5d5d;
  font-family: 'Segoe UI',Helvetica,'Droid Sans',Tahoma,Geneva,sans-serif;
  font-size: 24px;
  display: inline-block;
}
.dx-theme-desktop .dx-dashboard-loading
{
  color: #5d5d5d;
  font-family: 'Segoe UI',Helvetica,'Droid Sans',Tahoma,Geneva,sans-serif;
  font-size: 24px;
  display: inline-block;
}
.dx-theme-desktop .dx-dashboard-item-loading
{
  background-image: url(data:image/gif;base64,R0lGODlhGAAYAOZwAOPj4/j4+PHx8fr6+unp6f39/evr6+jo6Pv7++fn5/Pz8+3t7eTk5O7u7np5edfX19/f3/n5+dbW1rGxsc/Pz97e3rKxsYKBgdDQ0Nvb28bFxYmIiLS0tODg4MvLy6emptLS0oiHh318fNjY2MTDw5WUlJeWlr6+vsbGxvb29vf395uamvz8/Kuqqu/v76moqMjIyKSjo/Dw8Hx7e5KRkbm4uLW0tMXFxZybm9zc3NHR0YGAgHV0dKenp5GQkOzs7MC/v56dneXl5cHBwZKSkq+urqysrIeGhvj397y7u5STk7m5ubCvr52cnJycnI6Ojr29vaCgoMrJyaqqqqWkpOXk5IOCgs3NzYB/f/X19by8vIuKis7OzqKiosrKysfGxtPT07CwsPT09I2MjMnJyfDv76inp/Ly8u/u7snIyLq6utLR0ZqZmdXV1eHh4eLi4v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAABwACwAAAAAGAAYAAAH/4BwgoOEhYaHg0gHEiQTL0ZLXAaIhAgGDzAnHFNRJk8hJUAulAEHDxQoWhY9TUpbViIOMR2HAQQVpxpJEx9ORBs7DjwOJAGFlgC4FCAVPxEBVTc4sUwABgiEAgAAECMAKYYGNhbbAAKDAwnbHQQFiAgN5QkDggryEZRwAwTlCoIL5c7lg6Nt2wJBB8oZGxig3AFBDMq5G1igHAOIEgfCqbjtIpyE2xbma7jtIRyA2wTmKwjgIBx72wjQo7Svn6B05RpMNFQg3rZ5g1gCaDCT0ACfKSsZKAeAgIAABQoEEMCv3LVCtphq1UpAJKEAS7dqNeD1mAB1YhMIwDZwgIIFBwwYMDiwQEFRjXgHBQIAIfkEBQAAcAAsBQABABIACwAAB3mAcHADCgsHDAwHBgIRgo6CAgkAk5MQOSMZB42OBpSUEBkSIFdSDzKOnpWhGB4aQ1BeC4KUBAIqBSwKQhgnNRwTX1lwkw0Dj4JiYGEtH1Q6ww3Hxx5dQStmDQTG0o5lRSU0Phjc0mRjGyEW5McARxdYJuuPKhczDheBACH5BAUAAHAALAoAAQANABMAAAeEgHCCcAsKA4OIggCLCQIIiXCLkgAGAYiTkwSWcJYFAQIJHRAVFQePiREEIw+sBpBwBQAUsw9IrykgGigwB69wFUlaJxK+PxMWHCS+ER89UxO+AU5NUS++VURKJka+NxtbT0uvBjg7ViFckAg2Ig4iJa6QFg48DkC+cEwOMS74cCQdBAUCACH5BAUAAHAALAwABQALABIAAAd6gHCCBACFAAaCiQMNhgACiYmMhQkDkHADhIUKlnAChgucKoYHnAUQhQycLBmnqZYKEqyklkIYEjmIkGIYHiAjj5BgJxpXGRGJZR5hNUNSpKJkRV0tHFAPxxdHYyVBHxNeMoIzFxs0K1RfoIIOWCE+ZjpZkBcmFhgNnIEAIfkEBQAAcAAsBAAKABMADQAAB4KAcIKDhIQBhYiJcACKjQUAjI2IAZCRkoMClQuXghEJlQqDCIoFBB2QCQOCFjYGiCkAIxCQAoJMDiI4N1UBET8VIBQPFQAGoyQOPA47G0ROHxNJGsIVBIdwHTG4VltKTT0WWijCB9eCLkAlIU8mUVMcJzAPxokGXEtGLxMkEgdIiIEAACH5BAUAAHAALAEADAASAAsAAAd5gBcOMxcqcIeIiYgmWBdHAIqRhxYhG2NkkpEYPjQlRWWZhwMEDWYrQV0eoXANkDpUHy1hYGKRA62QWV8THDUnGEIKLAUqAgQAyIcLXlBDGh4YEhkQyNWQhzIPUlcg0tTWAAaJEQcZIznf1QkCkhECBgcMDAcLCgOHgQAh+QQFAABwACwBAAQADQATAAAHgoBwcB0kgoaHcC4xDkyIh0AOPA4WjnAGJSIOIjYIjlwhVjs4BpVLT1sbN5VwRiZKRFWrL1FNTgGrE1M9HxGrJBwWEz+rEidaSRWrBzAoGiAplUgPFNQABZUGD9ojBL2ICAcVFRAdCQIB17dwAQQA7u/uhwEG8PHfAgnvq3ADCguHgQAAIfkEBQAAcAAsAQABAAsAEgAAB32AcIKDaDocK0eDcFlrLzQbFzODCxoxbD4hWA6CMmlFVCuPkXAREmoTH0EtKG4pcAkoUBwtMA2DAQ9SQzUYA4oubVcaHgqKcAQjIB5vxnBCORIYZ80MEBkSLNQA1tnGBwDbrsYL4AAyzQrlBL6KAwnltsYC5QAN7IMG9ASDgQA7);
}
.dx-theme-desktop .dx-dashboard-clear-master-filter
{
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAk0lEQVRIx+3VQQqAIBAF0LnAXCnwTrYuukWnNYVJJlNzZNyEiw8q+B+oIDjnYGRgAiJgtXb3cZ0Je0NHFehFYnkLIEUe5a1AK/IqlwBfSLZcCpSQYnkPkCLV8l4AGAC/ARYfZHOkNRXA+Jw+GxUjjcOa0QB44UGJoNYRISu+IdS8A3UAknL1I+IZcslp5M90/sm5XD5EJwYw46IyAAAAAElFTkSuQmCC);
}
.dx-theme-desktop .dx-dashboard-content-selection
{
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAc0lEQVRIx+2Vuw2AMAwFPSDZJtRkDaY1KUCiiO2HYwSFiyt9p/wUYmZ6E8rAfwJrrRJbh0HaNYcGXHI04JYjgSm5FfDIl85+UrRAiFwKhMmf3CINUY4E7sMWZbC9TQtMy7UVhMijzkCU50s25cNA/mifBQ6kAWZ3gU6vAQAAAABJRU5ErkJggg==);
}
.dx-theme-desktop .dx-dashboard-item-header-drill-up
{
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAm0lEQVRIx2P4//8/Ay0xw6gFZFtQWlLyn0jcAMQ0swBsOK0sgBtOCwveAHEKLS0A4dfIltAqDm4CsRMtLQDhRdSwoBGIY4F4LxYL/gKxOyUWIKcWNSCejcWSdnItQEmKUCyCxZK95FiAzXBknyAH11NyLCCEY5Es+EMLC5iAeActfQDCFZTEATHYiZJURAzmBuJ7QCw/WmUOXgsAjgDq7EQjakYAAAAASUVORK5CYII=);
}
.dx-theme-desktop .dx-dashboard-export
{
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAA/klEQVRYw2P4//8/w0BihgF3QGlJCS78nwq4Hpf59HIATkeQ4gAGMjFeR9DbARiOGAgHoDhioBwAd8RAOgDsiIF2wH96OACvuaMOoNQBDkDcQADTPAQcBtoBIBw1kA5QA+LsgXKAMhAnD1QUaAFxKj0S4UsgXoTEZwdiGyAuxGNpHjUdoIHE1gTicAI+DgNiaaTcQbEDuIFYH4hDgLgGj8WVQOwCxPxoWZQkB4CCVxiauCyAOACIc4iI53Bo6FBUEqYTYREyLgXiQCDWAWIWahTFnEBsAMQeQBwLxLnQYK2H0rlQcQ+oOhF61QWMQMw3WhsOBgfQBA8eB4z43jEALwuVdLLTw60AAAAASUVORK5CYII=);
}
.dx-theme-desktop .dx-dashboard-item-export
{
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAmElEQVRIx2P4//8/Ay0xw6gFJFlQWlICw/+JxPVIemhiAYol5FjAgAdjWEJLC8CW0NqC/9S2AEP9oLbAF4hnomGqWiAJxK3UtuAqkuEp1PbBaiB2BWIjIC5AMrQBiNMpsYADiOWA2AmIU4F4MpLhIIM1keKELAuigbgaiCdBcTVUzASI2aiZivigmObJlCQ88BaMVpkDYgEAy2mM03/fzb0AAAAASUVORK5CYII=);
}
.dx-theme-desktop .dx-dashboard-clear-master-filter.dxdbEnabled:hover, .dx-theme-desktop .dx-dashboard-content-selection:hover, .dx-theme-desktop .dx-dashboard-item-export:hover, .dx-theme-desktop .dx-dashboard-export:hover, .dx-theme-desktop .dx-dashboard-item-header-drill-up.dxdbEnabled:hover
{
  border: 1px solid #d8d8d8;
  background-color: #fff;
}
.dx-theme-desktop .dx-dashboard-menu-background
{
  color: #5c5c5c;
  padding: 1px;
  border: 1px solid #d9d9d9;
  border: 1px solid rgba(0,0,0,.18);
  box-shadow: 0 2px 5px rgba(0,0,0,.15);
  -moz-box-shadow: 0 2px 5px rgba(0,0,0,.15);
  -webkit-box-shadow: 0 2px 5px rgba(0,0,0,.15);
  background-color: #fff;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}
.dx-theme-desktop .dx-dashboard-menu-item-selected
{
  background-color: #e5e5e5;
}
.dx-theme-desktop .dx-dashboard-menu-background li
{
  font-family: 'Segoe UI',Helvetica,'Droid Sans',Tahoma,Geneva,sans-serif;
}
.dx-theme-desktop .dx-dashboard-splitter-resizing
{
  background: url(data:image/gif;base64,R0lGODlh9AH0AYAAAMzMzP///yH5BAEAAAEALAAAAAD0AfQBAAL/RIynyesNn4x02oqvznz7Dn5iSI5miZ5qyq5uG74yPNf0bef4rvf87wsCYUOhsYg8KpPMpbMJfZqk0Sr1as1it9oud+INf8XksbmMPivV6Tb77Y7D51W5nY6/6/P8e/+/Fwg4KFg4Y4hIqJjIuMjn2BgJOSlZKWSJSamZybkp4dkZCjoqGlhKinqqmnrFuvrqGgtLJFs7a4t725DLq9v7y+krDEw8bFiMbJy8HKbszAz9HBVNLV19TWKtjc293dEN7h3OLF4+bi5+ro6+7sr+3g4PG08vX09on3+v37jvz/9vDMCBAQmmKYjQYEIfChsudJjkoUSIEz9QvFgRY4mM/xw1ZvQIsiNHkSFLPjSJkmRAlSlb1nMJk6U6mTFrdrOJkyY1nTl7JvMJlOcvoUGL2jKKlCgrpUmbgnIKlekkqVGr4qOK1WqirFy1AvIKtqsasWHLcjGLlqwUtWnbHnELl20PuXHrHqKL1y6QvHz12vALuK8GwYELPzCMmHAAxYkLN2YMedfjyWwpWxYbOfPky5yxav6MuLNopaBLAx6NWqfp1XVTu1bJOnbb17RH1r59UrbusLt7a8UNHKHv4VCDG/dHPDnS48zpKX8OtLn0mdOr34SO3Wb27TCte7/GPTzK7+ShiT8Psrx6ZOjbX1wPf2j8+Ufd21d4P/9A+vxj6f//n09/AqICYIHvDIigJwYuWE6CDk71YIRXSUjhIxVeSAeGGr7BYIfabAiiGR6O6EyIJm5BYorCnMjiWi2++JaKMs4DY40MzYjjKTnuGIqNPubAY5CY/EikDEIeGUmRSqqAZJOILAmlCE5OaQqVVspxZZZtRMnlYF1+eZiWYooxZpldgImmAmauWQebbkaUJppxvinlnF/aSWcGee65A55d8gkoLX4GquagUBpKqAGJLgoCoksyCikGjhIaaaUQTFqkpZoigCmgm27a6Y+fyjlqpaXeeSqkqXIZ6p6rMtqqja8eOiulsb55K4y1Kpmrm7sG2muLvxIZ7JrD8lnsicf/+phsmcvm2WyIz9YYrZjT4nqtsNVquG2W2bLZLYbfshiuleOaWW6F55qY7pTrjtmuhO+CGG+T82pZ74P3cruvufkK+W+C/V4YcJADU1nwgAdTmPCOCzvZcH8PRxgxjhMjWTF9FzuYsYwbA/yxwh3DN3KKIfNY8nonC5jyiCvn2HJ5L/MXc4czz1jzdzfPl/OCO6vYs3U/kzy0y0EDePR0RauX9H9Le9h0c0+TF3V+UzNY9XFXe5e1fVsb2HVwX1cXdntjI3221GXftvZ5aevXdm1vMxd3eHPfV/drdxuX93Z7u9d3an8DFzh2g6NX+GiHs7243Ykr93hnjdMWeXKT/3NX+WWXu5b5cJtn1zlln6MWem+jQ1f6Y6eLlrpuq0P+uuathxa757OzdrthtVuW+2q7+9Z7YL9vNrzrwYN2vF/FN5b8Z8vL1rxdz9MePWTT43698NXDtb313c+WfWnhnza+898Tdn5a5euVvmDra9a+We+3Nr/39YMfP173M5Y/b/3T9T+v7A9/A+RLAdESQLkcsC8JtMoCy9JAtTwwLxGMygTBUkHMZLApG+TKBQH4QQd2cDkhlOAIqXJCo5SwKimUygrJ0sKgvLA4M/RgDIlyQ5/UkIM79EwOefLDnPSQhEGUyRBReEQZFrEmSzRiE7uTRNI8kSRTdEkUo3NFof9ksSdVFMkWgfhF7XRxPGF0YhmhOMaKnJElaTTJGtH4RtvEkYxtlMgcO1LHkNyRjnu0Yx5z80eM9LEkgVzIICdSSEEmsiCLpMgh0/NIQzbyH5N0SCQ1UknkZNIgm7zHJRPSSYJ88j2jXEko43FKgJQSIqlsxyop+Ur8tDJAsfTkLM9xS3vUkpO7dE4uw/FLePRyP8N0ZTCvc0xzFJMfyeTGMtfRTGVGsxrTTEc1o3HNbTyTltlcxjZx+U1hdlMa4/RmOUsUTnCk80DrdOY5i/FOZbQTHfEkxjyxUc9h3LNB+9xJPnvxT1/00xsB5cVAsXlQaySUHAt9RkN/8lB5FnRVFhPFRUTheVF9VvQVG61FRoHR0VV8dEUjNWhI3VHSW6Q0FyfVUUtT8VJRrJSiM/VoTElx007UlKM79U9On9JTlwYVpkOV6U+HVFQCHXUTS7VEUkNRAAA7) repeat;
}
.dx-theme-desktop .dx-scrollable-customizable-scrollbars
{
  scrollbar-track-color: #efefef;
  scrollbar-shadow-color: #efefef;
  scrollbar-highlight-color: #efefef;
  scrollbar-3dlight-color: #efefef;
  scrollbar-darkshadow-color: #efefef;
}
.dx-theme-desktop .dx-dashboard-splitter-pane .dx-scrollable-customizable-scrollbars
{
  scrollbar-track-color: #fff;
  scrollbar-shadow-color: #fff;
  scrollbar-highlight-color: #fff;
  scrollbar-3dlight-color: #fff;
  scrollbar-darkshadow-color: #fff;
}
.dx-theme-desktop .dx-pivotgrid
{
  font-family: 'Segoe UI',Helvetica,'Droid Sans',Tahoma,Geneva,sans-serif;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-emptyspace
{
  border-bottom: 1px solid #ccc;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-splitter
{
  position: relative;
  border-left: 1px solid #ccc;
  width: 15px;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-splitter .button
{
  padding-top: 10px;
  padding-bottom: 10px;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-splitter .button .collapse
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAAaklEQVQoz2P4//8/A6mYgdqamIHYFoh5idXEBsTe+w8cA1L/C4nRxArEMSANDc39IE1RxGgyg2mAavIhpEkLWQNUkw0hTexAnIFmUwQxzmMBYgkkP6WTEuRu0NBzJkUTKNgDoDRtUwRODADIEPwbZ93upgAAAABJRU5ErkJggg==) no-repeat;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-splitter .button .expand
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAK0lEQVQY02Po7u4+DMT/8eDDDCAGPgCSx1CEjU+aImzuoaF1hHxHKJyOAAD8VAohNdFmWgAAAABJRU5ErkJggg==) no-repeat;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-splitter .button .collapse, .dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-splitter .button .expand
{
  cursor: pointer;
  display: inline-block;
  height: 13px;
  width: 13px;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-splitter .buttonDisable
{
  opacity: .4;
  filter: alpha(opacity=40);
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-area td
{
  color: #767676;
  padding: 7px 5px;
  overflow: hidden;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-area-data
{
  border-left: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-area-data td
{
  text-align: right;
  color: #1b1b1b;
  white-space: nowrap;
  border-left: 1px solid #ccc;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-area-data tr:first-child td
{
  border-top: 0;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-area-data td:first-child
{
  border-left: 0;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-vertical-headers
{
  border-bottom: 1px solid #ccc;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-vertical-headers .expandBorder
{
  border-top: 1px solid #ccc;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-vertical-headers .lastCell
{
  border-right: 0;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-vertical-headers td
{
  max-width: 150px;
  min-width: 50px;
  border-right: 1px solid #ccc;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-vertical-headers tr:first-child td
{
  border-top: 0;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-vertical-headers .total, .dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-area-data .total, .dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-vertical-headers .grandtotal, .dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-area-data .grandtotal
{
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-horizontal-headers
{
  border-left: 1px solid #ccc;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-horizontal-headers table
{
  width: 100%;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-horizontal-headers td
{
  text-align: center;
  border: 1px solid #ccc;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-horizontal-headers td:first-child
{
  border-left: 0;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-horizontal-headers tr:first-child td
{
  border-top: 0;
}
.dx-theme-desktop .dx-pivotgrid .total
{
  background-color: #f7f7f7;
}
.dx-theme-desktop .dx-pivotgrid .grandtotal
{
  background-color: #ebebeb;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-collapsed, .dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-expanded
{
  cursor: pointer;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-collapsed .image, .dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-expanded .image
{
  float: left;
  height: 9px;
  width: 9px;
  margin-right: 5px;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAK0lEQVQY02Po7u4+DMT/8eDDDCAGPgCSx1CEjU+aImzuoaF1hHxHKJyOAAD8VAohNdFmWgAAAABJRU5ErkJggg==) no-repeat;
}
.dx-theme-desktop .dx-pivotgrid .dx-pivotgrid-expanded .image
{
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAJklEQVQY02Po7u4+DMT/8eDDDCAGPgCSp4EibO6hoXWEFBEKpyMAiKAPkXuAFycAAAAASUVORK5CYII=) no-repeat;
}
.dx-theme-desktop .dx-pivotgrid .vertical-scrollbar-spacing
{
  float: left;
  border-left: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-datagrid td
{
  padding: 7px;
  border-left: 1px solid #d3d3d3;
  vertical-align: middle;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-datagrid td:first-child
{
  border-left: 0;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-datagrid .dx-datagrid-headers div.dx-text-content
{
  color: #989898 !important;
  fill-opacity: 1 !important;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-datagrid .dx-datagrid-rowsview div.dx-text-content
{
  color: #000 !important;
  fill-opacity: 1 !important;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-datagrid .dx-datagrid-rowsview .dx-selection
{
  background-color: #abdcd3 !important;
  color: #000 !important;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-dashboard-item.dx-banded-rows .dx-datagrid-rowsview tr:nth-child(even)
{
  background-color: #f5f5f5;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-dashboard-item.dx-banded-rows .dx-datagrid-rowsview tr.dx-selection
{
  background-color: #abdcd3;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-dashboard-item.dx-banded-rows .dx-datagrid-rowsview tr.dx-freespace-row
{
  background-color: transparent;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-dashboard-item.dx-horizontal-border .dx-datagrid-rowsview tr
{
  border-bottom: 1px solid #d3d3d3;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-dashboard-item.dx-horizontal-border .dx-datagrid-rowsview .dx-freespace-row
{
  border-bottom-width: 0;
}
.dx-theme-desktop circle.warningColor
{
  fill: #af8a53;
}
.dx-theme-desktop path.positiveColor
{
  fill: #859666;
}
.dx-theme-desktop path.negativeColor
{
  fill: #ba4d51;
}
.dx-theme-desktop text.positiveColor tspan
{
  fill: #859666;
}
.dx-theme-desktop text.warningColor tspan
{
  fill: #af8a53;
}
.dx-theme-desktop text.negativeColor tspan
{
  fill: #ba4d51;
}
.dx-theme-desktop text.noneColor tspan
{
  fill: #9f9f9f;
}
.dx-theme-desktop text.defaultColor tspan
{
  fill: #5d5d5d;
}
.dx-theme-desktop span.positiveColor
{
  color: #859666;
}
.dx-theme-desktop span.negativeColor
{
  color: #ba4d51;
}
.dx-theme-desktop span.warningColor
{
  color: #af8a53;
}
.dx-theme-desktop span.noneColor
{
  color: #9f9f9f;
}
.dx-theme-desktop span.defaultColor
{
  color: #5d5d5d;
}
.dx-theme-desktop .widget-viewer-container .viewerItem
{
  background-color: #fff;
  border: solid 1px;
  overflow: hidden;
  position: relative;
  -webkit-tap-highlight-color: transparent;
}
.dx-theme-desktop .widget-viewer-container .widgetItem
{
  background-color: #fff;
  border: solid 1px;
  overflow: hidden;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  background-color: transparent;
  border-color: transparent;
}
.dx-theme-desktop .widget-viewer-container .fontProperties
{
  font-family: Segoe UI,HelveticaNeue,Trebuchet MS,Verdana;
  font-weight: normal;
}
.dx-theme-desktop .widget-viewer-container .ellipsisProperties
{
  text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
  -moz-binding: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.dx-theme-desktop .widget-viewer-container .cardItem
{
  background-color: #fff;
  border: solid 1px;
  overflow: hidden;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.15);
  -moz-box-shadow: 0 1px 4px rgba(0,0,0,.15);
  box-shadow: 0 1px 4px rgba(0,0,0,.15);
  border: 1px solid #d9d9d9;
  border: 1px solid rgba(0,0,0,.15);
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}
.dx-theme-desktop .widget-viewer-container .cardItem .title
{
  color: #5d5d5d;
  line-height: 100%;
  font-family: Segoe UI,HelveticaNeue,Trebuchet MS,Verdana;
  font-weight: normal;
  text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
  -moz-binding: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.dx-theme-desktop .widget-viewer-container .cardItem .subTitle
{
  color: #b6b6b6;
  font-family: Segoe UI,HelveticaNeue,Trebuchet MS,Verdana;
  font-weight: normal;
  width: 50%;
  line-height: 100%;
  text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
  -moz-binding: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.dx-theme-desktop .widget-viewer-container .cardItem .variableValue1
{
  position: absolute;
  right: 0;
}
.dx-theme-desktop .widget-viewer-container .cardItem .variableValue2
{
  right: 0;
  position: absolute;
}
.dx-theme-desktop .widget-viewer-container .cardItem .mainValue
{
  right: 0;
  bottom: 0;
  position: absolute;
}
.dx-theme-desktop .widget-viewer-container .cardItem span
{
  font-family: Segoe UI,HelveticaNeue,Trebuchet MS,Verdana;
  font-weight: normal;
}
.dx-theme-desktop .widget-viewer-container .selectedItem
{
  background-color: rgba(95,139,149,.35) !important;
  border: #5f8b95 solid 1px !important;
}
.dx-theme-desktop .widget-viewer-container .widgetItem.selected
{
  background-color: rgba(95,139,149,.35) !important;
  border: #5f8b95 solid 1px !important;
}
.dx-theme-desktop .widget-viewer-container .cardItem.selected
{
  background-color: rgba(95,139,149,.35) !important;
  border: #5f8b95 solid 1px !important;
}
.dx-theme-desktop .widget-viewer-container .dx-widgetsviewer-item-hovered
{
  background-color: rgba(95,139,149,.25);
  border: #5f8b95 solid 1px;
}
.dx-theme-desktop .widget-viewer-container .cardItem.hoveredItem:hover
{
  background-color: rgba(95,139,149,.25);
  border: #5f8b95 solid 1px;
}
.dx-theme-desktop .widget-viewer-container .widgetItem.hoveredItem:hover
{
  background-color: rgba(95,139,149,.25);
  border: #5f8b95 solid 1px;
}
.dx-theme-desktop .dx-dashboard-viewer .spindle circle.dx-spindle-hole
{
  fill: white;
}
.dx-theme-desktop .dx-dashboard-viewer .spindle circle.dx-spindle-border
{
  fill: #c2c2c2;
}
.dx-theme-desktop .dx-dashboard-viewer .spindle vml\:oval:first-child
{
  background-color: #c2c2c2;
}
.dx-theme-desktop .dx-dashboard-viewer .spindle vml\:oval
{
  background-color: #fff;
}
.dx-theme-desktop .dx-dashboard-viewer .needle path.dx-needle-hole
{
  fill: white;
}
.dx-theme-desktop .dx-dashboard-viewer .needle path.dx-needle-part1
{
  fill: #c2c2c2;
}
.dx-theme-desktop .dx-dashboard-viewer .needle path.dx-needle-part2
{
  fill: #e18e92;
}
.dx-theme-desktop .dx-dashboard-viewer .needle vml\:shape
{
  background-color: #c2c2c2;
}
.dx-theme-desktop .dx-dashboard-viewer .scale .dx-major-ticks path.dx-major-tick
{
  fill: white;
}
.dx-theme-desktop .dx-dashboard-viewer .scale .dx-major-ticks vml\:shape
{
  background-color: #fff;
}
.dx-theme-desktop .dx-dashboard-viewer .scale .minor-ticks path.dx-minor-tick
{
  fill: white;
}
.dx-theme-desktop .dx-dashboard-viewer .scale .minor-ticks vml\:shape
{
  background-color: #fff;
}
.dx-theme-desktop .dx-dashboard-viewer .scale .labels text.dx-gauge-scale-label
{
  fill: #7f7f7f !important;
  fill-opacity: 1 !important;
  font-weight: Normal !important;
}
.dx-theme-desktop .dx-dashboard-viewer .scale .labels span
{
  color: #7f7f7f !important;
  opacity: 1 !important;
  font-weight: Normal !important;
}
.dx-theme-desktop .dx-dashboard-viewer .range-container path.dx-background-range
{
  fill: gray;
}
.dx-theme-desktop .dx-dashboard-viewer .range-container vml\:shape
{
  background-color: gray;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-gauge-title text
{
  fill: #232323 !important;
  fill-opacity: 1 !important;
}
.dx-theme-desktop .dx-dashboard-viewer .dx-gauge-title span
{
  color: #232323 !important;
  opacity: 1 !important;
}
.dx-theme-desktop .dx-dashboard-viewer .marker path.dx-marker-element
{
  fill: #679ec5;
  stroke: white;
}
.dx-theme-desktop .dx-dashboard-viewer .marker vml\:shape
{
  background-color: #679ec5;
  color: #fff;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .slidersContainer .sliderArea rect
{
  fill: white;
  fill-opacity: .75;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .slidersContainer .sliderArea>vml\:rect
{
  background-color: #fff;
  opacity: .75;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .slidersContainer .sliderArea .slider .sliderMarker path
{
  fill: #9b9b9b;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .slidersContainer .sliderArea .slider .sliderMarker vml\:shape
{
  background-color: #9b9b9b;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .slidersContainer .sliderArea .slider .sliderMarker text
{
  fill: white !important;
  fill-opacity: 1 !important;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .slidersContainer .sliderArea .slider .sliderMarker span
{
  color: #fff !important;
  opacity: 1 !important;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .slidersContainer .sliderArea .slider path.dx-range-selector-slider
{
  stroke: black;
  stroke-opacity: .1;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .slidersContainer .sliderArea .slider>vml\:shape
{
  color: #fff;
  opacity: .35;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .scale text.dx-range-selector-scale
{
  fill-opacity: .75 !important;
  fill: gray !important;
  font-size: 11px !important;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .scale span
{
  color: gray !important;
  opacity: .75 !important;
  font-size: 11px !important;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .scale path.dx-range-selector-tick
{
  stroke: black;
  stroke-opacity: .1;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .scale vml\:shape
{
  color: #000;
  opacity: .1;
}
.dx-theme-desktop .dx-dashboard-viewer .rangeContainer .view rect.dx-range-selector-background, .dx-theme-desktop .dx-dashboard-viewer .rangeContainer .view vml\:rect
{
  opacity: 0;
}
.dx-theme-desktop .dx-dashboard-viewer g.series g.series-markers path.dx-chart-hovered-point
{
  stroke: white !important;
}
.dx-theme-desktop .dx-dashboard-viewer .h-axis .axis-elements text, .dx-theme-desktop .dx-dashboard-viewer .v-axis .axis-elements text
{
  fill: gray !important;
  fill-opacity: .75 !important;
  font-size: 11px !important;
}
.dx-theme-desktop .dx-dashboard-viewer .h-axis .axis-elements span, .dx-theme-desktop .dx-dashboard-viewer .v-axis .axis-elements span
{
  color: gray !important;
  opacity: .75 !important;
  font-size: 11px !important;
}
.dx-theme-desktop .dx-dashboard-viewer .h-axis .axis-elements text.dx-chart-axis-title, .dx-theme-desktop .dx-dashboard-viewer .v-axis .axis-elements text.dx-chart-axis-title
{
  fill: #6f6f6f !important;
}
.dx-theme-desktop .dx-dashboard-viewer .h-axis .axis-elements span.dx-chart-axis-title, .dx-theme-desktop .dx-dashboard-viewer .v-axis .axis-elements span.dx-chart-axis-title
{
  fill: #6f6f6f !important;
}
.dx-theme-desktop .dx-dashboard-viewer .h-axis .axis-grid path, .dx-theme-desktop .dx-dashboard-viewer .v-axis .axis-grid path, .dx-theme-desktop .dx-dashboard-viewer .h-axis .axis-line path, .dx-theme-desktop .dx-dashboard-viewer .v-axis .axis-line path
{
  stroke: gray !important;
  stroke-opacity: .35 !important;
}
.dx-theme-desktop .dx-dashboard-viewer .h-axis .axis-grid vml\:shape, .dx-theme-desktop .dx-dashboard-viewer .v-axis .axis-grid vml\:shape, .dx-theme-desktop .dx-dashboard-viewer .h-axis .axis-line vml\:shape, .dx-theme-desktop .dx-dashboard-viewer .v-axis .axis-line vml\:shape
{
  color: gray !important;
  opacity: .35 !important;
}
.dx-theme-desktop .dx-dashboard-viewer .dxLegendSeries text
{
  fill: gray !important;
  fill-opacity: .75 !important;
  font-size: 11px !important;
}
.dx-theme-desktop .dx-dashboard-viewer .dxLegendSeries span
{
  color: gray !important;
  opacity: .75 !important;
  font-size: 11px !important;
}
.dx-theme-desktop .dx-dashboard-viewer .dxChartTitle text
{
  fill: gray !important;
}
.dx-theme-desktop .dx-dashboard-viewer .dxChartTitle span
{
  color: gray !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.series g.series-markers .hovered-point
{
  fill: #5f8b95 !important;
  stroke: #5f8b95 !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.series g.series-markers path.dx-candle-default
{
  fill: #5f8b95 !important;
  stroke: #5f8b95 !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.series g.series-markers path.dx-candle-default.dx-chart-hovered-point
{
  fill: #5f8b95 !important;
  stroke: #5f8b95 !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.series g.series-markers path.dx-candle-reduction
{
  fill: black !important;
  stroke: black !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.series g.series-markers path.dx-candle-reduction.dx-chart-hovered-point
{
  fill: #5f8b95 !important;
  stroke: #5f8b95 !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.series g.series-markers path.dx-candle-default.dx-candle-positive
{
  fill: white !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.series g.series-markers path.dx-candle-default.dx-candle-positive.dx-chart-hovered-point
{
  fill: #5f8b95 !important;
  stroke: #5f8b95 !important;
  fill: white !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.series g.series-markers path.dx-candle-reduction.dx-candle-positive
{
  fill: white !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.series g.series-markers path.dx-candle-reduction.dx-candle-positive.dx-chart-hovered-point
{
  fill: #5f8b95 !important;
  stroke: #5f8b95 !important;
  fill: white !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.dxLegend g g.dxLegendSeries rect.dx-candle-default
{
  fill: #5f8b95 !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.dxTooltip path.dx-candle-default
{
  fill: #5f8b95 !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.dxTooltip path.dx-candle-default+text
{
  fill: #6f6f6f;
}
.dx-theme-desktop .dx-dashboard-viewer g.dxTooltip path.dx-candle-reduction
{
  fill: black !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.dxTooltip path.dx-candle-reduction+text
{
  fill: #6f6f6f;
}
.dx-theme-desktop .dx-dashboard-viewer g.labels g.labels g g rect.dx-candle-default
{
  fill: #5f8b95 !important;
  stroke: #5f8b95 !important;
}
.dx-theme-desktop .dx-dashboard-viewer g.labels g.labels g g rect.dx-candle-reduction
{
  fill: black !important;
  stroke: black !important;
}js/* 
* DevExpress PhoneJS
* Version: 13.1.2
* Build date: Jun 5, 2013
*
* Copyright (c) 2012 - 2013 Developer Express Inc. ALL RIGHTS RESERVED
* EULA: http://phonejs.devexpress.com/EULA
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td
{
  font-size: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
}
html, body
{
  width: 100%;
  height: 100%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}
body
{
  background: #fff;
}
.dx-viewport
{
  width: 100%;
  height: 100%;
}
blockquote, q
{
  quotes: none;
}
a
{
  color: #818181;
}
:focus
{
  outline: 0;
}
ins
{
  text-decoration: none;
}
del
{
  text-decoration: line-through;
}
table
{
  border-collapse: collapse;
  border-spacing: 0;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section
{
  display: block;
}
.dx-transition-inner-wrapper
{
  position: absolute;
  overflow: hidden;
}
.dx-transition-outer-wrapper
{
  position: relative;
  overflow: hidden;
}
.dx-transition-inner-wrapper>*
{
  height: 100%;
}
.dx-clearfix:before, .dx-clearfix:after
{
  display: table;
  line-height: 0;
  content: "";
}
.dx-clearfix:after
{
  clear: both;
}
.dx-translate-disabled
{
  -webkit-transform: none !important;
  -moz-transform: none !important;
  -ms-transform: none !important;
  -o-transform: none !important;
  transform: none !important;
}
.dx-hidden-input
{
  position: fixed;
  left: -10px;
  top: -10px;
  width: 0;
  height: 0;
}
.dx-user-select
{
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  -o-user-select: text;
  user-select: text;
}
.dx-widget
{
  padding: 0;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  -ms-content-zooming: none;
  -webkit-text-size-adjust: none;
}
.dx-widget.dx-state-invisible
{
  display: none !important;
}
.dx-fieldset
{
  margin-bottom: 20px;
}
.dx-fieldset .dx-field
{
  padding: .4em;
  position: relative;
}
.dx-fieldset .dx-field:before, .dx-fieldset .dx-field:after
{
  display: table;
  line-height: 0;
  content: "";
}
.dx-fieldset .dx-field:after
{
  clear: both;
}
.dx-fieldset .dx-field-label
{
  float: left;
  width: 40%;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.dx-fieldset .dx-field-value
{
  float: right;
  width: 60%;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  margin: 0;
}
.dx-button
{
  display: inline-block;
  margin: 1px 0;
  cursor: pointer;
  text-align: center;
  vertical-align: middle;
  max-width: 100%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  -moz-user-drag: none;
  -ms-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
}
.dx-button .dx-button-content
{
  text-overflow: ellipsis;
  overflow: hidden;
  max-height: 100%;
}
.dx-button.dx-state-disabled
{
  cursor: default;
}
.dx-button .dx-button-link
{
  text-decoration: none;
}
.dx-button .dx-icon
{
  display: inline-block;
  vertical-align: middle;
}
.dx-button .dx-button-text
{
  display: inline;
  vertical-align: middle;
}
.dx-scrollable
{
  height: 100%;
}
.dx-scrollable-container
{
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  -ms-touch-action: none;
  -webkit-tap-highlight-color: transparent;
}
.dx-scrollable-content
{
  position: relative;
  min-height: 100%;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translate3d(0,0,0);
}
.dx-scrollable-content:before, .dx-scrollable-content:after
{
  display: table;
  line-height: 0;
  content: "";
}
.dx-scrollable-content:after
{
  clear: both;
}
.dx-scrollable-content-horizontal
{
  float: left;
  display: block;
}
.dx-scrollable-scrollbar
{
  position: absolute;
}
.dx-scrollable-scroll
{
  position: relative;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translate3d(0,0,0);
}
.dx-scrollable-scrollbar-vertical
{
  top: 0;
  right: 0;
  width: 9px;
}
.dx-scrollable-scrollbar-horizontal
{
  left: 0;
  bottom: 0;
  height: 9px;
}
.dx-scrollable-scrollbar.dx-state-disabled
{
  display: none;
}
.dx-swipeable
{
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}
.dx-scrollview-pull-down
{
  width: 100%;
  height: 50px;
  padding-top: 30px;
  top: -80px;
  overflow: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  -moz-user-drag: none;
  -ms-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
}
.dx-scrollview-pull-down.dx-scrollview-pull-down-loading .dx-scrollview-pull-down-image
{
  display: none;
}
.dx-scrollview-pull-down.dx-scrollview-pull-down-loading .dx-scrollview-pull-down-indicator
{
  display: inline-block;
  margin: 0 40px;
  width: 20px;
  height: 23px;
  line-height: 30px;
  padding-top: 7px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  -moz-user-drag: none;
  -ms-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
}
.dx-scrollview-pull-down .dx-scrollview-pull-down-indicator
{
  display: none;
}
.dx-scrollview-pull-down-image
{
  display: inline-block;
  vertical-align: middle;
  margin: 0 40px;
  width: 20px;
  height: 50px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  -moz-user-drag: none;
  -ms-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
  -webkit-transform: translate3d(0,0,0) rotate(0);
  -moz-transform: translate3d(0,0,0) rotate(0);
  -ms-transform: translate3d(0,0,0) rotate(0);
  -o-transform: translate3d(0,0,0) rotate(0);
  transform: translate3d(0,0,0) rotate(0);
  -ms-transform: rotate(0);
  -webkit-transition: -webkit-transform .2s linear;
  -moz-transition: -moz-transform .2s linear;
  -o-transition: -o-transform .2s linear;
  transition: transform .2s linear;
}
.dx-scrollview-pull-down-text
{
  display: inline;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  -moz-user-drag: none;
  -ms-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
}
.dx-scrollview-pull-down-ready .dx-scrollview-pull-down-image
{
  -webkit-transform: translate3d(0,0,0) rotate(-180deg);
  -moz-transform: translate3d(0,0,0) rotate(-180deg);
  -ms-transform: translate3d(0,0,0) rotate(-180deg);
  -o-transform: translate3d(0,0,0) rotate(-180deg);
  transform: translate3d(0,0,0) rotate(-180deg);
  -ms-transform: rotate(-180deg);
}
.dx-scrollview-content
{
  position: relative;
}
.dx-scrollview-content:before, .dx-scrollview-content:after
{
  display: table;
  line-height: 0;
  content: "";
}
.dx-scrollview-content:after
{
  clear: both;
}
.dx-scrollview-scrollbottom .dx-scrollview-scrollbottom-indicator
{
  height: 23px;
  line-height: 30px;
  padding-top: 7px;
  margin: 0 10px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  -moz-user-drag: none;
  -ms-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
}
.dx-scrollview-scrollbottom .dx-scrollview-scrollbottom-indicator
{
  display: inline-block;
}
.dx-scrollview-scrollbottom.dx-scrollview-scrollbottom-end .dx-scrollview-scrollbottom-indicator
{
  display: none;
}
.dx-scrollview-scrollbottom-text
{
  display: inline;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  -moz-user-drag: none;
  -ms-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
}
.dx-scrollview-scrollbottom
{
  text-align: center;
  width: 100%;
  padding: 10px 0;
  overflow: hidden;
}
.dx-checkbox
{
  display: inline-block;
  margin: 1px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  -moz-user-drag: none;
  -ms-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
}
.dx-checkbox.dx-state-disabled
{
  cursor: default;
}
.dx-checkbox .dx-checkbox-icon
{
  display: inline-block;
}
.dx-slider
{
  margin: 1px;
  line-height: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}
.dx-slider.dx-state-disabled .dx-slider-wrapper
{
  cursor: default;
}
.dx-slider .dx-slider-wrapper
{
  position: relative;
  display: inline-block;
  width: 100%;
  cursor: pointer;
}
.dx-slider .dx-slider-wrapper .dx-slider-range
{
  position: absolute;
  top: 0;
  height: 100%;
  pointer-events: none;
  -webkit-user-drag: none;
  -moz-user-drag: none;
  -ms-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
}
.dx-slider .dx-slider-wrapper .dx-slider-handle
{
  position: absolute;
  top: 0;
  left: 0;
  -webkit-user-drag: none;
  -moz-user-drag: none;
  -ms-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
}
.dx-switch
{
  position: relative;
  display: inline-block;
  overflow: visible;
  margin: 1px;
  cursor: pointer;
  -webkit-user-drag: none;
  -moz-user-drag: none;
  -ms-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}
.dx-switch.dx-state-disabled
{
  cursor: default;
}
.dx-switch .dx-switch-wrapper
{
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.dx-switch .dx-switch-inner
{
  margin-left: -50px;
}
.dx-tabs
{
  text-align: center;
  display: inline-block;
  font-size: 0 !important;
}
.dx-tabs .dx-tab
{
  display: inline-block;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dx-tabs .dx-tab a
{
  text-decoration: none;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #fff;
  opacity: .001;
}
.dx-tabs .dx-tab .dx-icon
{
  display: block;
  margin: 0 auto;
  -webkit-user-drag: none;
  -moz-user-drag: none;
  -ms-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
}
.dx-tabs .dx-tab .dx-tab-text
{
  display: block;
  text-align: center;
  margin: 0 auto;
  -webkit-user-drag: none;
  -moz-user-drag: none;
  -ms-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}
.dx-map
{
  position: relative;
}
.dx-map .dx-map-container, .dx-map .dx-map-shield
{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.dx-map .dx-map-shield
{
  opacity: .01;
  background: rgba(0,0,0,.01);
}
.dx-tabs.dx-navbar
{
  width: 100%;
  margin: 0;
  -webkit-user-drag: none;
  -moz-user-drag: none;
  -ms-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}
.dx-tabs.dx-navbar .dx-nav-item
{
  vertical-align: bottom;
}
.dx-tabs.dx-navbar .dx-nav-item a
{
  display: block;
  height: 100%;
  text-decoration: none;
}
.dx-tabs.dx-navbar .dx-nav-item-content
{
  position: relative;
}
.dx-editbox
{
  margin: 1px;
}
.dx-editbox .dx-editbox-input
{
  width: 100%;
  border: 0;
  outline: 0;
  -webkit-appearance: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  -o-user-select: text;
  user-select: text;
}
.dx-editbox .dx-placeholder
{
  position: relative;
}
.dx-editbox .dx-placeholder:before
{
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  content: attr(DATA-DX_PLACEHOLDER);
}
.dx-editbox .dx-placeholder.dx-hide:before
{
  display: none;
}
.dx-textarea .dx-editbox-input
{
  resize: none;
  font-family: inherit;
}
.dx-numberbox input[type=number]::-webkit-inner-spin-button
{
  -webkit-appearance: none;
}
.dx-toolbar
{
  position: relative;
  width: 100%;
  overflow: hidden;
  z-index: 1;
}
.dx-toolbar .dx-toolbar-item
{
  display: table-cell;
  padding: 0 5px;
  vertical-align: middle;
}
.dx-toolbar .dx-toolbar-item .dx-tabs
{
  table-layout: auto;
}
.dx-toolbar .dx-toolbar-item img
{
  display: block;
}
.dx-toolbar .dx-toolbar-left, .dx-toolbar .dx-toolbar-right
{
  position: absolute;
}
.dx-toolbar .dx-toolbar-left
{
  left: 0;
}
.dx-toolbar .dx-toolbar-right
{
  right: 0;
}
.dx-toolbar .dx-toolbar-label
{
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  -moz-user-drag: none;
  -ms-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
}
.dx-toolbar .dx-toolbar-center
{
  margin: 0 auto;
  height: 100%;
  text-align: center;
}
.dx-toolbar .dx-toolbar-center, .dx-toolbar .dx-toolbar-left, .dx-toolbar .dx-toolbar-right
{
  display: table;
  top: 0;
  height: 100%;
}
.dx-list
{
  min-height: 3em;
  margin: 0;
}
.dx-list .dx-list-item
{
  cursor: pointer;
  -webkit-backface-visibility: hidden;
}
.dx-list.dx-state-disabled, .dx-list.dx-state-disabled .dx-list-item, .dx-list.dx-state-disabled.dx-list-item
{
  cursor: default;
}
.dx-list .dx-list-next-button
{
  padding: 5px;
  text-align: center;
}
.dx-list .dx-list-next-button .dx-button
{
  padding: 0 3em;
}
.dx-tileview .dx-tile
{
  position: absolute !important;
  -webkit-backface-visibility: hidden;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.dx-tileview .dx-tile.dx-state-active
{
  -webkit-transition: -webkit-transform 100ms linear;
  -moz-transition: -moz-transform 100ms linear;
  -o-transition: -o-transform 100ms linear;
  transition: transform 100ms linear;
  -webkit-transform: scale(.96);
  -moz-transform: scale(.96);
  -ms-transform: scale(.96);
  -o-transform: scale(.96);
  transform: scale(.96);
}
.dx-tileview .dx-tiles-wrapper
{
  position: relative;
  height: 1px;
}
.dx-tileview div.dx-scrollable-container
{
  overflow-y: hidden;
}
.dx-overlay
{
  position: absolute;
  z-index: 1000;
  top: 0;
  left: 0;
  -webkit-transform: translate3d(0,0,0);
  -moz-transform: translate3d(0,0,0);
  -ms-transform: translate3d(0,0,0);
  -o-transform: translate3d(0,0,0);
  transform: translate3d(0,0,0);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}
.dx-overlay.dx-overlay-modal
{
  position: fixed;
  width: 100%;
  height: 100%;
}
.dx-overlay.dx-overlay-shader
{
  background-color: rgba(128,128,128,.5);
}
.dx-overlay .dx-overlay-content
{
  position: absolute;
  z-index: 1000;
  overflow: hidden;
  -webkit-transform: translate3d(0,0,0);
  -moz-transform: translate3d(0,0,0);
  -ms-transform: translate3d(0,0,0);
  -o-transform: translate3d(0,0,0);
  transform: translate3d(0,0,0);
}
.dx-toast .dx-toast-content
{
  display: inline-block;
  padding: 10px;
  vertical-align: middle;
}
.dx-toast .dx-toast-content .dx-toast-icon
{
  display: inline-block;
  width: 35px;
  height: 35px;
  margin-right: 10px;
  vertical-align: middle;
}
.dx-toast .dx-toast-content .dx-toast-message
{
  display: inline;
  vertical-align: middle;
}
.dx-toast .dx-toast-content.dx-toast-info
{
  background-color: #80b9e4;
}
.dx-toast .dx-toast-content.dx-toast-warning
{
  background-color: #ffb277;
}
.dx-toast .dx-toast-content.dx-toast-error
{
  background-color: #f77;
}
.dx-toast .dx-toast-content.dx-toast-success
{
  background-color: #6ec881;
}
.dx-popup .dx-overlay-content .dx-popup-title
{
  min-height: 19px;
  padding: 10px;
  -webkit-user-drag: none;
  -moz-user-drag: none;
  -ms-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}
.dx-popup .dx-overlay-content .dx-popup-content
{
  padding: 10px;
  -webkit-user-drag: none;
  -moz-user-drag: none;
  -ms-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}
.dx-dialog-root .dx-overlay-shader
{
  background-color: #444;
}
.dx-dialog-root .dx-overlay-content .dx-dialog-content
{
  padding: 0;
}
.dx-dialog-root .dx-overlay-content .dx-dialog-message
{
  padding: 10px 10px 5px 10px;
}
.dx-dialog-root .dx-overlay-content .dx-dialog-buttons
{
  width: 95%;
  margin: 0 auto;
  overflow: hidden;
}
.dx-dialog-root .dx-overlay-content .dx-dialog-buttons .dx-button:nth-child(even)
{
  float: right;
}
.dx-dialog-root .dx-overlay-content .dx-dialog-buttons .dx-button:nth-child(odd)
{
  float: left;
}
.dx-dialog-root .dx-overlay-content .dx-dialog-buttons .dx-button:only-child
{
  float: right;
}
.dx-gallery
{
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.dx-gallery .dx-gallery-wrapper
{
  position: relative;
  height: 100%;
}
.dx-gallery .dx-gallery-nav-button-prev, .dx-gallery .dx-gallery-nav-button-next
{
  position: absolute;
  top: 50%;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  background-size: 100%;
}
.dx-gallery.dx-state-disabled .dx-gallery-nav-button-prev, .dx-gallery.dx-state-disabled .dx-gallery-nav-button-next
{
  cursor: default;
}
.dx-gallery .dx-gallery-nav-button-prev
{
  left: 0;
}
.dx-gallery .dx-gallery-nav-button-next
{
  right: 0;
}
.dx-gallery .dx-gallery-item
{
  position: absolute;
  width: 100%;
  height: 100%;
}
.dx-gallery .dx-gallery-indicator
{
  position: absolute;
  bottom: 10px;
  width: 100%;
  height: 10px;
  font-size: 0;
}
.dx-gallery .dx-gallery-indicator-item
{
  display: inline-block;
  height: 10px;
  margin: 0 2px;
}
.dx-lookup
{
  height: 19px;
}
.dx-lookup .dx-lookup-field
{
  cursor: pointer;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  position: relative;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.dx-lookup-popup .dx-list-item
{
  cursor: pointer;
}
.dx-lookup-popup .dx-popup-content
{
  position: absolute;
  top: 40px;
  bottom: 40px;
  left: 0;
  right: 0;
}
.dx-lookup-popup.dx-lookup-popup-search .dx-popup-content
{
  bottom: 85px;
}
.dx-action-sheet-popup .dx-overlay-content
{
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  -moz-user-drag: none;
  -ms-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
  padding-top: 0;
  padding-bottom: 0;
}
.dx-action-sheet-popup .dx-overlay-content .dx-button
{
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0;
}
.dx-action-sheet-popup .dx-overlay-content .dx-action-sheet-item, .dx-action-sheet-popup .dx-overlay-content .dx-action-sheet-cancel
{
  width: 100%;
}
.dx-loadindicator
{
  display: inline-block;
  position: relative;
  width: 32px;
  height: 32px;
  overflow: hidden;
}
.dx-loadindicator.dx-loadindicator-small
{
  width: 20px;
  height: 20px;
}
.dx-loadindicator.dx-loadindicator-medium
{
  width: 32px;
  height: 32px;
}
.dx-loadindicator.dx-loadindicator-large
{
  width: 64px;
  height: 64px;
}
.dx-loadpanel-content
{
  padding: 10px;
  border: 1px solid #ccc;
  background: #fefefe;
  filter: alpha(opacity=90);
  -khtml-opacity: .9;
  -moz-opacity: .9;
  opacity: .9;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-user-drag: none;
  -moz-user-drag: none;
  -ms-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
  text-align: center;
}
.dx-loadpanel-content .dx-loadpanel-image
{
  height: 30px;
}
.dx-loadpanel-content .dx-loadpanel-message
{
  margin: 10px;
  text-align: center;
}
.dx-overlay.dx-loadpanel, .dx-overlay.dx-loadpanel .dx-overlay-shader, .dx-overlay.dx-loadpanel .dx-overlay-content
{
  z-index: 1001;
}
.dx-autocomplete-popup .dx-list
{
  min-height: 35px;
}
.dx-dropdownmenu-popup .dx-dropdownmenu-list
{
  min-height: 40px;
  min-width: 100px;
}
.dx-dropdownmenu-popup .dx-dropdownmenu-list .dx-list-item:last-child
{
  border-bottom: none;
}
.dx-datagrid
{
  font-weight: 400;
  font-family: SegoeUI,'Segoe UI',HelveticaNeue,'Helvetica Neue','Trebuchet MS',Verdana;
  font-size: 12px;
  cursor: default;
}
.dx-datagrid table
{
  border-collapse: collapse;
}
.dx-datagrid .dx-datagrid-table
{
  table-layout: fixed;
  width: 100%;
}
.dx-pivotgrid
{
  font-weight: 400;
  font-size: 12px;
  cursor: default;
  width: 100%;
}
.dx-pivotgrid table
{
  border-collapse: collapse;
}
.disable-select
{
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}
.dxdbRootFullScreenMode
{
  padding: 10px;
}
.dx-dashboard-viewer
{
  background: transparent;
}
.dx-dashboard-title
{
  font-size: 30px;
  overflow: hidden;
  padding-top: 3px;
  padding-bottom: 3px;
}
.dx-dashboard-title .dx-dashboard-title-image
{
  white-space: normal;
}
.dx-dashboard-title .dx-dashboard-title-text
{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
  float: left;
  padding-left: 8px;
  padding-right: 8px;
  padding-top: 0;
  padding-bottom: 0;
}
.dx-dashboard-viewer .dx-viewer-item-table
{
  border-collapse: separate;
}
.dx-dashboard-viewer div, .dx-dashboard-viewer td, .dx-dashboard-viewer tr
{
  vertical-align: top;
}
.dx-dashboard-viewer .dx-dashboard-splitter-pane
{
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  overflow: hidden;
}
.dx-dashboard-viewer .dx-dashboard-splitter-pane-empty
{
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  overflow: visible;
}
.dx-dashboard-icon
{
  background-repeat: no-repeat;
  background-position: center center;
}
.dx-dashboard-button
{
  display: inline-block;
  padding: 0;
  border: 1px solid transparent;
}
.dx-dashboard-small-icon
{
  background-repeat: no-repeat;
  background-position: center center;
  width: 24px;
  height: 24px;
}
.dx-dashboard-big-icon
{
  background-repeat: no-repeat;
  background-position: center center;
  width: 32px;
  height: 32px;
}
.dx-dashboard-small-button-icon
{
  background-repeat: no-repeat;
  background-position: center center;
  width: 24px;
  height: 24px;
  display: inline-block;
  padding: 0;
  border: 1px solid transparent;
}
.dx-dashboard-big-button-icon
{
  background-repeat: no-repeat;
  background-position: center center;
  width: 32px;
  height: 32px;
  display: inline-block;
  padding: 0;
  border: 1px solid transparent;
}
.dx-dashboard-item-header
{
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  display: block;
  float: left;
  clear: both;
  filter: none;
  width: 100%;
  font-size: 14px;
}
.dx-dashboard-item-header .dx-dashboard-item-header-text
{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  float: left;
  font-weight: normal;
  padding-left: 10px;
  padding-top: 7px;
  padding-right: 0;
  padding-bottom: 7px;
}
div.dx-dashboard-item
{
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  width: 100% !important;
  display: block;
  clear: both;
}
.dxdbDashboardWItem>*
{
  padding: 0;
}
.dxdbDashboardWItem>*>*>*>*
{
  margin-left: auto;
  margin-right: auto;
}
.dx-dashboard-item-shield
{
  position: absolute;
}
.dx-dashboard-item-toolbar
{
  border-width: 0;
  display: inline;
  height: 100%;
  float: right;
  padding: 4px;
}
.dx-dashboard-item-toolbar .dx-db-toolbar-internal
{
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  width: 100%;
  white-space: nowrap;
}
.dx-dashboard-item-loading
{
  background-repeat: no-repeat;
  background-position: center center;
  width: 24px;
  height: 24px;
}
.dx-dashboard-clear-master-filter
{
  background-repeat: no-repeat;
  background-position: center center;
  width: 24px;
  height: 24px;
  display: inline-block;
  padding: 0;
  border: 1px solid transparent;
  opacity: .25;
}
.dx-dashboard-content-selection
{
  background-repeat: no-repeat;
  background-position: center center;
  width: 24px;
  height: 24px;
  display: inline-block;
  padding: 0;
  border: 1px solid transparent;
}
.dx-dashboard-item-header-drill-up
{
  background-repeat: no-repeat;
  background-position: center center;
  width: 24px;
  height: 24px;
  display: inline-block;
  padding: 0;
  border: 1px solid transparent;
  opacity: .25;
}
.dx-dashboard-item-export
{
  background-repeat: no-repeat;
  background-position: center center;
  width: 24px;
  height: 24px;
  display: inline-block;
  padding: 0;
  border: 1px solid transparent;
}
.dx-dashboard-export
{
  background-repeat: no-repeat;
  background-position: center center;
  width: 32px;
  height: 32px;
  display: inline-block;
  padding: 0;
  border: 1px solid transparent;
}
.dx-dashboard-clear-master-filter.dxdbEnabled:hover, .dx-dashboard-content-selection:hover, .dx-dashboard-item-export:hover, .dx-dashboard-export:hover, .dx-dashboard-item-header-drill-up.dxdbEnabled:hover
{
  cursor: pointer;
}
.dx-dashboard-clear-master-filter.dxdbEnabled, .dx-dashboard-item-header-drill-up.dxdbEnabled, .dx-dashboard-item-export.dxdbEnabled
{
  opacity: 1;
}
.dx-dashboard-menu-background
{
  display: none;
  position: absolute;
}
.dx-dashboard-menu-background li
{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border: 1px solid transparent;
  border-collapse: separate;
  cursor: pointer;
  font-size: 12px;
  list-style-type: none;
  padding-left: 6px;
  padding-right: 6px;
  padding-top: 3px;
  padding-bottom: 3px;
}
.dx-dashboard-splitter-v-separator, .dx-dashboard-splitter-h-separator
{
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  font-size: 0;
}
.dx-dashboard-splitter-h-separator:hover, .dx-dashboard-splitter-moving-h-separator
{
  cursor: n-resize;
}
.dx-dashboard-splitter-v-separator:hover, .dx-dashboard-splitter-moving-v-separator
{
  cursor: w-resize;
}
.dx-dashboard-splitter-resizing
{
  font-size: 0;
  line-height: 0;
}
div.dx-dashboard-splitter-separator
{
  display: inline-block;
  font-size: 0;
  line-height: 0;
}
div.dx-dashboard-splitter-layout-place
{
  width: 100%;
  height: 100%;
  vertical-align: top;
}
div.dx-dashboard-layout-shield
{
  background-color: transparent;
  z-index: 100;
  position: absolute;
}
.dx-dashboard-item.dx-hide-vertical-border .dx-datagrid-rowsview tr td
{
  border-left: none;
}8BM86(��������������L��V����������������������mqrCEEBDDkop���L��V������������������GGGXXX]]]TTTCCC=AD���Mv�<IV_SMcUN����������OOOsssxxxnnncccUUU@@@>==ojh��������˨��}rk���vzzppp������yyylll]]]EEEB83����������娜����STT��������������TE>�Ӻ������������cUNUWW����dd΄�������TE>�����������ԼcUN{��������������������YOJ���������Ө��������www�����������������XSQ\UR��������Ψ��TRC�������xxx��������鳳�oooB{�5t�:HNJC8IC85P9d;���������}p][WPYTMo_GK��I��9��%��(�d�b�[�O���������~��|�f��FP��M�?��,��1�}�n�b�X���������~��|�f��FP��N�A�/������������������~��|�f��FP��F��:��/������������������~��|�f��F�������������������������~خo͠\��F������������������BSJBv4.0.30319l� #~� `-#StringsPN #USpa#GUID�a#BlobW�		�%3�I���(b
	 I

��



3�_
�
���
*
fP{P�P���_8 dM
v
���m���"K3
��6

�

�
�
!C�&����
`T
�����=�
]S
�
�M
��

L:
c:
�:
�:
�:
�:
�:
:
 

F6
�l
�l
�:
�:
�
:
 :
9:&`R&sR
����
��
��
;

]L
�
"

)
=
_
m��+���9"R$i�{
�
���_&G �&� R� 
T!
x!_
�!L&�!�&�!�."��"�"
#S
#S
#S
&#S
1#S
>#S
E#S
U#S
j#
v#_&�#R�#_
�#
�#�
$�"$�
N$��$��$�
�$��$�"%$
;%�U%��%��%�*d&L&*�&L&�&�&�&�&�'�
�'S
�'S%(_C(_O(_&�(R&�(R�(�(�(
)3)&S)R&l)R|)�)�)�).*�)*O*0*2�*�*6�*�*-Ba{	�{	�{

�B(�B
,�	1&1?
5U{%;o{!@�{)!D�{"G�{-"K�{#N
{1#R-{$US{	$Yb{5'Yv{
J��BAJ��B
J��!/3�EW��V���V�����V���V���V���V��Q�U�Q�f�Q�x�Q���Q�����������	�	�R
$
�:
���V�^
�V�r
�V��
�������������V�#V�)Q�.Q�DQ�`Q��Q���Q���Q���Q���Q���Q��Q�1�Q�>�Q�Q�Q�b�S�u�S���S���S���S���S���S� �S�E�S�n�S���1��1��1��1��1��!-�!5�Z�q����� ��)!��)@!�@;x!�U;�!��M�!��M "�8_X"�X_�"�{i	�"��o
�"��u�"��{�"���
4#�#	�
)$�	8	�
6$��	�
>$��	�
[$��	�c$��	��$��	�$��	�$��	�$��	�$�
��$�!
�$�b
(%�v
]%�	�
v%�	�
�%����%�=#�%�G(�%��-�%��2�"��\�"��\#��\#��\%#��\��V��\��`��h &��2(&�
#1&�
n9&�
sB&��y X&��
2"_&��
2"f&���"o&���#|&��
�#�&��
�#�&��#�&��$�&�1�$�&���$�&�E2$�&�U#$�&�e2%'�v#%'��#&��V'���)���+���/'�E20#'�U#0,'���1��V3���5���7���;<'�E2<D'�U#<M'���=��V@���B���D���H^'�E2If'�U#Io'���J��VL��N��P���T'�	8	�U�'�#	�U�(���U�(��2U�(���U)�2U)�)#U@)�E2VR)�U#Vy)�>�W�)�Q�W�)�d�X�)�}�X�)���Y*���Y#*���Z+*��2Z3*��#Z<*��[J*�%�[b*�8�\z*�K�\�*�^2]�*�h#]�*�r�^�*���_�*���`�*���a�*���b+���c+���d2+��eT+���fx,�6�f�,�G(f�,��-g-�>�h0-�O�i�-�b�k.�p�ml.���o�.��qD/���rG/���rJ/���rM/���rP/��rS/��rV/�*�rY/�;2r`/�nr�/���u40���u�0��u�2��#v�2�	w8�($xP8�j/|�8�#�8��#��8��\�9�����9�����9��;��'��\��'��\��'��\��'��\��'��\�E+�'!�	�:��
��8:����@:��Y�K:����T:��������������������������������������������	�	��������	�	������.��	�	��������	�	������������������������	�	�	�	�BKO\glz�������ll	�9=)�	�!�
!&)�()�-A�#I�#Q�#Y�#a�#i�#q�#y�#��#��#�����������#��#��#��#�����#��#��������e�	��D	i	y	��	$��	,��	4��		��!��<��</�	<3���9�#���	<V�	Af�	I��	I�I���
D�VL��.7/=��I��Q�#Y�Da�#i�Kq��y�#��#A��������A��i��A �i ��1 ��L ��W ��a �il �i| �i� 2i� #i� �i� �i^2ih#�!��!��!�93!2iD!#i��1f!
��!
��!
��!
��!
��!$
��!*
��!0
��#�"5
�V$�V,�V4�V��V�6�A""��E2�VH
�v#�G"2QZ"\�c"�	�l"2�"]
Y"]
��"b
�G"2a�"o
��"u
�#����
��
P#�
)`#216�in9�#�
�#�
i��i�#���#�
I�#�
	V�
Q�#�
��#�
a��a$#-$�
a3$�
aB$�	qX$�
a`$�
�o$�
�}$)����$�$y�$9�$;���$@T��%Q�W �a %^+%qG%e��!\�������`%�i%�W �a �q%k��%k��%r��%r\����%���%�\/�T/��&�y��y"&����yu&����y�&������	���&���	�Q'���	�!
y''�;'���L'\'n'�
�''��'5�';���
��'2��'#�(2�(��/(@AfW[(]�g(c	s(�	|(i��(m�#/s�(z�(�i��!�#)��I��1�K9��I��I�#Y��a��i�6���1*2A'*���$�(�,�0�4�8�<�@�D�p�t�x������������>�U�r�����������1����������f���..��.SA.��.3P.;�.C�.K�.[�.c�.k&.s�.�G.��.�A.�Z.��.��.�A.��.�A.��.��.�9.��.��.�7.��.��.�4.��.��i��	��g
���
���
���

�F*�FJ�F��������R���������	�A	��!;�)��)�GA;�I��I�Ai��i�Mi��i��
����A��������A������;���
��=�A;�!;�A;�`;�a;��;��;��;��;��;��;��;��;�`;��;��;��;��;��;�`	;��	;�@
;�`
;� ;�@;�`;��;��;��;�0	N	l	�	�	�	$;
O
V
h
|
�
�
 �,N�/�R
a�a{0�8�@�H	

 �6?KCUH`MjRv?R
�W
��
��
�����������?�6�A��CF���K,KAK[Oi�|KST���_		



rqts-,vu./xw12;<>=DEKLS!R!Y#Z%['\)]+_-^-a/`/b1c1e3d3f5g5h7i9j9k;l;m=n=o?p?�A8:@	B��	������	�
Gy�
l
�



J
�
4
�$��
-&
�)
f*
�*�*�+p�Y+���+��
�+�,,ؖS,ؙ�,p5�,(� �,�C!"-A'	AE	Ac	A�	A�	<Module>DevExpress.Dashboard.v13.1.Web.dllASPxDashboardServiceDevExpress.DashboardWeb.NativeDashboardExportPageLayoutDevExpress.DashboardWebDashboardExportScaleModeDashboardExportOptionsJSONPropertyValueGetterJSONPropertyInfoDashboardWebStringIdDevExpress.DashboardWeb.LocalizationDashboardWebResLocalizerDashboardWebLocalizerDashboardLoadingEventArgsDashboardLoadingEventHandlerDataLoadingWebEventArgsDataLoadingWebEventHandlerConfigureDataConnectionWebEventArgsConfigureDataConnectionWebEventHandlerCustomFilterExpressionWebEventArgsCustomFilterExpressionWebEventHandlerDashboardThemeASPxDashboardViewerResFinderDXDashboardLicenseProviderReferenceIncluderDevExpress.Dashboard.v13.1.CoreDevExpress.DashboardCommon.ServiceDashboardServicemscorlibSystemEnumObjectSystem.ComponentModelINotifyPropertyChangedDevExpress.Web.v13.1DevExpress.Web.ASPxClasses.InternalIJSONCustomObjectMulticastDelegateDevExpress.Web.ASPxClasses.LocalizationASPxResLocalizerBase`1DevExpress.Data.v13.1DevExpress.Utils.LocalizationXtraLocalizer`1EventArgsDevExpress.DataAccess.v13.1DevExpress.DataAccessDataLoadingEventArgsConfigureDataConnectionEventArgsCustomFilterExpressionEventArgsDevExpress.Web.ASPxClassesASPxWebControlIRequiresLoadPostDataControlDevExpress.Office.v13.1.CoreDevExpress.Office.UtilsIOfficeCoreReferenceDevExpress.Utils.AboutDXLicenseProviderEventHandler`1DevExpress.DashboardCommon.ServerDashboardLoadingServerEventArgsDashboardLoadingEventadd_DashboardLoadingEventremove_DashboardLoadingEventDataLoadingServerEventArgsDataLoadingEventadd_DataLoadingEventremove_DataLoadingEventConfigureDataConnectionServerEventArgsConfigureDataConnectionEventadd_ConfigureDataConnectionEventremove_ConfigureDataConnectionEventCustomFilterExpressionServerEventArgsCustomFilterExpressionEventadd_CustomFilterExpressionEventremove_CustomFilterExpressionEventDashboardLoadingDataLoadingConfigureDataConnectionCustomFilterExpression.ctorvalue__PortraitLandscapeNoneUseScaleFactorAutoFitToPageWidthAutoFitWithinOnePageSystem.DrawingSystem.Drawing.PrintingPaperKindDefaultPaperKindDefaultPageLayoutDefaultScaleModeDefaultScaleFactorDefaultAutoFitPageCountSystem.Collections.GenericList`1jSonPropertyInfopaperKindpageLayoutscaleModescaleFactorautoFitPageCountget_JSonPropertyInfoDevExpress.Web.ASPxClasses.Internal.IJSONCustomObject.get_PropertiesCountget_PropertiesCountget_PaperKindset_PaperKindget_PageLayoutset_PageLayoutget_ScaleModeset_ScaleModeget_ScaleFactorset_ScaleFactorget_AutoFitPageCountset_AutoFitPageCountPropertyChangedEventHandlerpropertyChangedadd_propertyChangedremove_propertyChangedSystem.ComponentModel.INotifyPropertyChanged.add_PropertyChangedadd_PropertyChangedSystem.ComponentModel.INotifyPropertyChanged.remove_PropertyChangedremove_PropertyChangedOnChangedDevExpress.Web.ASPxClasses.Internal.IJSONCustomObject.GetPropertyNameGetPropertyNameDevExpress.Web.ASPxClasses.Internal.IJSONCustomObject.GetPropertyValueGetPropertyValueToStringJSonPropertyInfoDevExpress.Web.ASPxClasses.Internal.IJSONCustomObject.PropertiesCountPageLayoutScaleModeScaleFactorAutoFitPageCountSystem.ComponentModel.INotifyPropertyChanged.PropertyChangedInvokeIAsyncResultAsyncCallbackBeginInvokeEndInvokeget_Nameset_Nameget_Getterset_Getter<Name>k__BackingField<Getter>k__BackingFieldNameGetterIncompatibleBrowserDashboardNotSpecifiedDashboardXmlFileNotExistget_GlobalResourceAssemblyNameget_ResxNameGlobalResourceAssemblyNameResxName.cctorCreateResLocalizerInstanceGetStringCreateResXLocalizerPopulateStringTableget_DashboardIdset_DashboardIdget_DashboardXmlset_DashboardXml<DashboardId>k__BackingField<DashboardXml>k__BackingFieldDashboardIdDashboardXmlDevExpress.DataAccess.ConnectionParametersDataConnectionParametersBaseLightDarkDefaultDashboardThemeDefaultAllowExportDashboardDefaultAllowExportDashboardItemsDefaultRegisterJQueryPropertyDashboardXmlFilePropertyDashboardIdPropertyRegisterJQueryPropertyDashboardThemePropertyAllowExportDashboardPropertyAllowExportDashboardItemsCategoryDataCategoryClientSideCategoryBehaviorCategoryAppearanceDXTremeScriptsResourcePathJQueryResourceNameJQueryCheckerResourceNameGlobalizeScriptResourceNameGlobalizeCulturesScriptResourceNameDXTremeDashboardScriptResourceNameDashboardViewerCommonCssResourceNameDashboardViewerLightThemeCssResourceNameDashboardViewerDarkThemeCssResourceNameDashboardViewerScriptResourceNameservicedashboardLoadingdataLoadingconfigureDataConnectioncustomFilterExpressionSystem.GlobalizationCultureInfocultureexportOptionsDashboardServiceResultdashboardServiceResultfullscreenModeSystem.WebSystem.Web.UI.WebControlsWebControlrootControlIDashboardServiceget_DashboardServiceget_ActualDashboardIdget_DashboardServiceResultget_DashboardXmlFileset_DashboardXmlFileget_FullscreenModeset_FullscreenModeget_AllowExportDashboardset_AllowExportDashboardget_AllowExportDashboardItemsset_AllowExportDashboardItemsget_ExportOptionsget_ClientInstanceNameset_ClientInstanceNameget_RegisterJQueryset_RegisterJQueryget_DashboardThemeset_DashboardThemeget_Themeset_Themeadd_DashboardLoadingremove_DashboardLoadingadd_DataLoadingremove_DataLoadingadd_ConfigureDataConnectionremove_ConfigureDataConnectionadd_CustomFilterExpressionremove_CustomFilterExpressionDisposeCheckDashboardIdOnDashboardLoadingOnDataLoadingOnConfigureDataConnectionOnCustomFilterExpressionLoadDashboardFromFileHasClientInitializationHasFunctionalityScriptsIsCallBacksEnabledHasHoverScriptsHasSelectedScriptsHasContentHasSpriteCssFileGetClientObjectClassNameSystem.TextStringBuilderGetCreateClientObjectScriptRegisterIncludeScriptsRegisterDefaultRenderCssFileSystem.CollectionsHashtableProcessClientRequestOnClientEventExportInfoParseExportInfoScrollingStateCreateScrollingStateDashboardExportFormatSystem.IOMemoryStreamCreateExportResponseRaisePostBackEventRaiseCallbackEventGetCallbackResultCreateControlHierarchyPrepareControlHierarchyTypeGetLicenseTypeActualDashboardIdDashboardXmlFileFullscreenModeAllowExportDashboardAllowExportDashboardItemsExportOptionsClientInstanceNameRegisterJQueryThemeProductKindget_KindKindvalueepropertyNameindexobjectmethodcallbackresultnamegetterlocalizeriddashboardIdsenderdataSourceNameconnectionNameconnectionParamtersfilePathstblocalVarNameclientNamedataeventArgumentexportInfoHashscrollTopscrollPathvirtualSizescrollBarSizeformatserviceResultstreamSystem.Runtime.VersioningTargetFrameworkAttributeSystem.ResourcesNeutralResourcesLanguageAttributeSystem.ReflectionAssemblyTitleAttributeAssemblyDescriptionAttributeAssemblyConfigurationAttributeAssemblyCompanyAttributeAssemblyProductAttributeAssemblyCopyrightAttributeAssemblyTrademarkAttributeAssemblyCultureAttributeCLSCompliantAttributeSystem.SecurityAllowPartiallyTrustedCallersAttributeSystem.Runtime.InteropServicesComVisibleAttributeGuidAttributeAssemblyVersionAttributeAssemblyFileVersionAttributeSatelliteContractVersionAttributeAssemblyDelaySignAttributeAssemblyKeyFileAttributeAssemblyKeyNameAttributeSystem.Web.UITagPrefixAttributeWebResourceAttributeSystem.DiagnosticsDebuggableAttributeDebuggingModesSystem.Runtime.CompilerServicesCompilationRelaxationsAttributeRuntimeCompatibilityAttributeDevExpress.Dashboard.v13.1.WebDelegateCombineSystem.ThreadingInterlockedCompareExchangeRemove<get_JSonPropertyInfo>b__0<get_JSonPropertyInfo>b__1<get_JSonPropertyInfo>b__2<get_JSonPropertyInfo>b__3<get_JSonPropertyInfo>b__4CompilerGeneratedAttributeSingleInt32Addget_CountPropertyChangedEventArgsget_ItemStringFormatDefaultValueAttributeASPxActiveLocalizerProvider`1InstanceActivator`1DevExpress.Utils.Localization.InternalActiveLocalizerProvider`1SetActiveLocalizerProviderget_ActiveGetLocalizedStringAddStringLicenseProviderAttributeToolboxBitmapAttributeDesignerAttributeDevExpress.UtilsToolboxTabNameAttributeBooleanIsNullOrEmptyASPxWebControlBaseget_DesignModeUrlUtilsResolvePhysicalPathEmptyGetStringPropertyop_InequalitySetStringPropertyResetControlHierarchyUnitPercentageset_Widthset_HeightGetBoolPropertySetBoolPropertyget_ClientInstanceNameInternalset_ClientInstanceNameInternalGetEnumPropertySetEnumPropertyControlEventHandlerListget_EventsAddHandlerRemoveHandler<.ctor>b__aget_PropertyNamePropertyChangedRuntimeTypeHandleGetTypeFromHandleLicenseUtilsValidateLicenseop_ImplicitThreadget_CurrentThreadget_CurrentCultureHttpContextget_CurrentHttpRequestget_Requestget_UserLanguagesset_CurrentCultureop_EqualityDashboardServerEventArgsget_DataSourceNameget_Dataset_Dataget_ConnectionNameget_ConnectionParametersset_ConnectionParametersDevExpress.Data.FilteringCriteriaOperatorget_FilterExpressionset_FilterExpressionFileExistsFileStreamFileModeFileAccessStreamReaderStreamSeekOriginSeekTextReaderReadToEndIDisposableHtmlConvertorToJSONAppendLineRegisterIncludeScriptPageget_PageResourceManagerRegisterCssResourceConvertToInt32InitializeResultInitializeActionInfoset_ItemNameActionTypeParseset_ActionTypeset_ContextArrayListToArrayset_ParametersPerformActionReloadDataExportExportDocumentInfoget_DocumentInfoget_FormatFromJSONDashboardExportModeset_ModeDictionary`2ItemViewerClientStateset_ClientStateSizeset_ClientSizeset_TitleHeightIEnumeratorGetEnumeratorClientAreaset_Leftset_Topset_ViewerAreaset_CaptionAreaset_VScrollingStateset_HScrollingStateset_SpecificStateget_SpecificStateExportPivotColumnTotalsLocationExportPivotRowTotalsLocationMoveNextset_FormatDevExpress.Printing.v13.1.CoreDevExpress.XtraPrintingPdfExportOptionsset_PdfOptionsImageExportOptionsset_ImageOptionsDevExpress.DashboardCommon.PrintingDashboardPrintingDocumentOptionsset_LandscapeDashboardPrintingDocumentScaleModeToDoubleset_DocumentOptionsset_DocumentInfoset_VirtualSizeset_ScrollBarSizeset_PositionListSourceRowset_PositionRatioDashboardServiceResultCodeget_ResultCodeSetLengthStreamWriterget_InternalErrorTypeTextWriterWriteLineget_InternalErrorMessageFlushHttpUtilsWriteFileToResponseRenderUtilsBrowserInfoget_Browserget_Contextget_IsIEget_VersionControlCollectionget_ControlsLiteralControlCreateDivAssignAttributesCategoryAttributeEditorAttributeTypeConverterAttributeDesignerSerializationVisibilityAttributeDesignerSerializationVisibilityPersistenceModeAttributePersistenceModeAutoFormatDisableAttributeBrowsableAttributeEditorBrowsableAttributeEditorBrowsableStateDevExpress.Charts.v13.1.CoreDevExpress.Charts.NativeDiagramInfoget_FullNameContainsDevExpress.XtraPrinting.NativeExportOptionsLocalizerDevExpress.RichEdit.v13.1.CoreDevExpress.XtraRichEdit.LocalizationXtraRichEditLocalizerDevExpress.Xpo.v13.1DevExpress.XpoXPViewDevExpress.DashboardWeb.LocalizationRes.resourcesDevExpress.DashboardWeb.ClientControls.Scripts.globalize.jsDevExpress.DashboardWeb.Scripts.DashboardViewer.jsDevExpress.DashboardWeb.ClientControls.Scripts.dx.dashboard.jsDevExpress.DashboardWeb.ClientControls.Scripts.globalize.cultures.jsDevExpress.DashboardWeb.ClientControls.Scripts.jquery-1.9.1.min.jsDevExpress.DashboardWeb.ClientControls.Scripts.jquerychecker.jsDevExpress.DashboardWeb.Css.dx.dashboard.dark.cssDevExpress.DashboardWeb.Css.dx.dashboard.light.cssDevExpress.DashboardWeb.Css.dx.common.cssDevExpress.DashboardWeb.Bitmaps256.ASPxDashboardViewer.bmppaperKindpageLayoutscaleModescaleFactor!autoFitPageCountPaperKindPageLayoutScaleModeScaleFactor!AutoFitPageCount{0}, {1}=DevExpress.Dashboard.v13.1.WebODevExpress.DashboardWeb.LocalizationRes�uDashboard Viewer: The current browser version is not supported.<br/><br/>Currently, the following browsers are supported: Internet Explorer 9, Chrome, Safari, FireFox, Opera, Android 3+.��The dashboard to be displayed in this viewer is not specified.<br/><br/>To specify it, do one of the following:<br/>-- Assign the path to the dashboard XML file to the ASPxDashboardViewer.DashboardXmlFile property.<br/>-- Provide a dashboard at runtime. To do this, introduce a unique dashboard identifier and assign it to the ASPxDashboardViewer.DashboardId property. Then handle the ASPxDashboardViewer.DashboardLoading event to supply the dashboard XML description.��The file at the path assigned to the ASPxDashboardViewer.DashboardXmlFile property does not exist.<br/><br/>Please verify the file path or provide a dashboard at runtime. To do this, assign a unique identifier to the ASPxDashboardViewer.DashboardId property and provide the dashboard XML description when handling the ASPxDashboardViewer.DashboardLoading event.dashboardIdfullScreenallowExport!allowItemsExportexportOptions!DashboardXmlFileDashboardId)AllowExportDashboard3AllowExportDashboardItemsRegisterJQueryDashboardTheme3ASPxClientDashboardViewer/{0}.initOptions = {1};
��DevExpress.DashboardWeb.ClientControls.Scripts.jquery-1.9.1.min.jsDevExpress.DashboardWeb.ClientControls.Scripts.jquerychecker.jswDevExpress.DashboardWeb.ClientControls.Scripts.globalize.js��DevExpress.DashboardWeb.ClientControls.Scripts.globalize.cultures.js}DevExpress.DashboardWeb.ClientControls.Scripts.dx.dashboard.jsSDevExpress.Web.Scripts.StateController.jseDevExpress.DashboardWeb.Scripts.DashboardViewer.jsSDevExpress.DashboardWeb.Css.dx.common.csseDevExpress.DashboardWeb.Css.dx.dashboard.light.csscDevExpress.DashboardWeb.Css.dx.dashboard.dark.css	TaskInitializePerformActionReloadData
ExportRequestMarkerSessionIdActionInfoItemNameActionNameContextParametersExportInfo	Mode
FormatClientStateDocumentOptionsclientSizewidth
heighttitleHeightitemsState	nameposition	lefttopheaderHeight
scrollleftPathtopPathhorizontalvertical	sizevirtualSize3PivotColumnTotalsLocation-PivotRowTotalsLocationLandscapepngpdfimage/pngapplication/pdftxttext/plainExportError({0})c���J(N�Oi�mE��T���z\V4� ! EI	 EIEM	 EMEQ	 EQEU	 EU I M Q U EIEMEQEU�?_�
:Y�?] ]  Y Y       a a    (]((Y(((   ei e   ((  (!   !  ,
 e,i e  4
 e4i m <
 e<i D
 eDiL DashboardXmlFileDashboardIdRegisterJQueryDashboardTheme(AllowExportDashboard2AllowExportDashboardItemsDataClient-SideBehaviorAppearance^DevExpress.DashboardWeb.ClientControls.Scripts.��DevExpress.DashboardWeb.ClientControls.Scripts.jquery-1.9.1.min.js~DevExpress.DashboardWeb.ClientControls.Scripts.jquerychecker.jsvDevExpress.DashboardWeb.ClientControls.Scripts.globalize.js��DevExpress.DashboardWeb.ClientControls.Scripts.globalize.cultures.js|DevExpress.DashboardWeb.ClientControls.Scripts.dx.dashboard.jsRDevExpress.DashboardWeb.Css.dx.common.cssdDevExpress.DashboardWeb.Css.dx.dashboard.light.cssbDevExpress.DashboardWeb.Css.dx.dashboard.dark.cssdDevExpress.DashboardWeb.Scripts.DashboardViewer.jsquy } u    L L 0 8 @ H  I M Q U  �� �� ����
 �� ��u�� ��(}(u(((L ��(�� ����$��$RSA1�͌���$��L�\J��|��-fQ UkK�T���+����VHv)Z"[��to=>T|�[&��n��:�gQ$��y �2�B�MS�Z6���s���YVn8�hBd���MY�8����]�
��'���	�	�	
EIEIEIEI
EMEMEMEM
EQEQEQEQ
EUEUEUEU ] 
aaaa �  ~UtSystem.Drawing.Printing.PaperKind, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a;U1DevExpress.DashboardWeb.DashboardExportPageLayout:U0DevExpress.DashboardWeb.DashboardExportScaleMode�?	 !	�-  �)  �-
�1	�) !   m ��>9DevExpress.DashboardWeb.Native.DXDashboardLicenseProvider ��I!DevExpress.DashboardWeb.ResFinder"Bitmaps256.ASPxDashboardViewer.bmp����DevExpress.DashboardWeb.Design.ASPxDashboardViewerDesigner, DevExpress.Dashboard.v13.1.Web.Design, Version=13.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49aDX.13.1: Data & Analytics  �Q
 �Q     �Y �	���]���Q�e q�i �m  q�e�ia �	0,84 m m@< �u �uHD
 ���� �� 

��	���� �� ��
����L  ���� ��  	 u�� u u���� �� ������������ ��	���� ���� �� �� �� ����
 ��	 ��  �� �� �� ��
 �� ��Y'������������������������������������������ 
���� �� 

������� �i 
 �	 �Uy�yy
Behavior ����System.Web.UI.Design.UrlEditoruSystem.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3azSystem.ComponentModel.ExpandableObjectConverter, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 �! �)Client-Side
Appearance0U&DevExpress.DashboardWeb.DashboardTheme �9	DataG.NETFramework,Version=v4.0TFrameworkDisplayName.NET Framework 4
en-USDevExpress.Dashboard.WebDashboard SuiteDeveloper Express Inc.3.Dashboard(tm) SUITE SOFTWARE COMPONENT PRODUCT3.Copyright (c) 2000-2013 Developer Express Inc.)$2f797ac9-bb93-4dfa-aa46-b1aaa7fcb4bc
13.1.4.0
13.1.0.00+..\..\..\..\..\DevExpress.Key\StrongKey.snkDevExpress.DashboardWebdxG2DevExpress.DashboardWeb.Scripts.DashboardViewer.jstext/javascriptWBDevExpress.DashboardWeb.ClientControls.Scripts.jquery-1.9.1.min.jstext/javascriptT?DevExpress.DashboardWeb.ClientControls.Scripts.jquerychecker.jstext/javascriptP;DevExpress.DashboardWeb.ClientControls.Scripts.globalize.jstext/javascriptYDDevExpress.DashboardWeb.ClientControls.Scripts.globalize.cultures.jstext/javascriptS>DevExpress.DashboardWeb.ClientControls.Scripts.dx.dashboard.jstext/javascriptN)DevExpress.DashboardWeb.Css.dx.common.csstext/cssTPerformSubstitutionW2DevExpress.DashboardWeb.Css.dx.dashboard.light.csstext/cssTPerformSubstitutionV1DevExpress.DashboardWeb.Css.dx.dashboard.dark.csstext/cssTPerformSubstitutionTWrapNonExceptionThrowsC�QL�!L�!RSDS�����M�r�I^"�cc:\Projects\13.1\BuildLabel\Temp\NetStudio.v13.1.2005\ASP\DevExpress.Dashboard.Web\DevExpress.Dashboard.Web\obj\Release\DevExpress.Dashboard.v13.1.Web.pdb��!��! ��!_CorDllMainmscoree.dll�% �0�HX"��4VS_VERSION_INFO��

?DVarFileInfo$Translation�,StringFileInfo000004b08CommentsDashboard SuitePCompanyNameDeveloper Express Inc.\FileDescriptionDevExpress.Dashboard.Web4	FileVersion13.1.4.0h#InternalNameDevExpress.Dashboard.v13.1.Web.dll�/LegalCopyrightCopyright (c) 2000-2013 Developer Express Inc.�/LegalTrademarksDashboard(tm) SUITE SOFTWARE COMPONENT PRODUCTp#OriginalFilenameDevExpress.Dashboard.v13.1.Web.dll�/ProductNameDashboard(tm) SUITE SOFTWARE COMPONENT PRODUCT8	ProductVersion13.1.4.0<	Assembly Version13.1.4.0�!�:�0��	*�H��
���0��10*�H��
0K
+�7�=0;0
+�70	���0 0*�H��
x�ĭd���Ƣͮ���0��0�W�~��|�NY�K�w��;0
	*�H��
0��10	UZA10UWestern Cape10UDurbanville10
U
Thawte10UThawte Certification10UThawte Timestamping CA0
121221000000Z
201230235959Z0^10	UUS10U
Symantec Corporation100.U'Symantec Time Stamping Services CA - G20�"0
	*�H��
�0�
����ITK�
�%y�"W*oܸ&�Csk¿.PZ��v�C%C���E��{�t�"״��M��D$k�_E;�D�Cs��i�+˙�r&Mq�1�QaS���I,xE�/�����W?=ƒ�J�{3�y
��u�A���Q���l��i�e)���`���;���
tޒ"���t|'�J�Þ-����'}a��q��P�K�]���,��e �ؖ��|�NHD��D��h��]jxdE�`F~T�|�y��q���0��0U_��n\��t���}�?��L�.�02+&0$0"+0�http://ocsp.thawte.com0U�0�0?U80604�2�0�.http://crl.thawte.com/ThawteTimestampingCA.crl0U%0
+0U�0(U!0�010UTimeStamp-2048-10
	*�H��
��	��y�Y0��h���	�O�]7_�R����	Dn�m�X|0�i�#soG��9�*����Y���M��1�\*z��zWL�e�y@b%�n��7j�!�A���W?wI�*^�8j"�Q�~�0��0�����8��5n�j�P0
	*�H��
0^10	UUS10U
Symantec Corporation100.U'Symantec Time Stamping Services CA - G20
121018000000Z
201229235959Z0b10	UUS10U
Symantec Corporation1402U+Symantec Time Stamping Services Signer - G40�"0
	*�H��
�0�
��c9D��#�DI����a
S���ۭ,J�n��<SU�?+����پay[�L�v��CK"���+C���h��@O�8��#�dX�2oNW�����*�K��c��2[�^�Z��(P��a;EQ�V�G����f=G�pr��_��ăd��%����"�кz�w�[e��t�A�*�L����-�wDh֨tw�[2�V�3��c�I�:���3���ٳW�;��z"�$�.�pžN�&���O��(r����W0�S0U�00U%�0
+0U��0s+g0e0*+0�http://ts-ocsp.ws.symantec.com07+0�+http://ts-aia.ws.symantec.com/tss-ca-g2.cer0<U50301�/�-�+http://ts-crl.ws.symantec.com/tss-ca-g2.crl0(U!0�010UTimeStamp-2048-20UF�i�J�L�Rc?^6�
�0U#0�_��n\��t���}�?��L�.�0
	*�H��
�x;��*L�b07x��'o��%ܠԔ��N%��@���y�!hڶ2�m��,&c3�Idm
��g��5l|���߲�� �q͕tܶ\޽7Cx�x��( ���KĈ)�����\vnO^EFAn
��8��:�	q�y��{�i�+�[	=�[���m.8
�)�,��Z���,/I�"��x�QÆ���]�=�Q�y3+.{�� 	q�j[��0W,�I?��ɿ>"hcS��it��<��ü�u0��0�Ơ0
	*�H��
0c10	UUS1!0U
The Go Daddy Group, Inc.110/U(Go Daddy Class 2 Certification Authority0
061116015437Z
261116015437Z0��10	UUS10UArizona10U
Scottsdale10U
GoDaddy.com, Inc.1301U*http://certificates.godaddy.com/repository100.U'Go Daddy Secure Certification Authority10U079692870�"0
	*�H��
�0�
��-���&L�25�_�YZ�a�Y;pc���=�*��3�y�:�<0#���0����=�T�ߙ�%!�e)~5��T�29�&U���X�מ���*�BΧ?����R�ifھ�]�,f�k��QJ/Hǘuع)��fm
���x|������z����%.���enj�DSp0�Ü+X+=tJ�Q����L'Xk�5ŝ�1��6���:�%��I�g�E���9�6��~7��q�t0���?�
O��20�.0U��a2�lE���_���v�h��0U#0��İґ�Lq�a�=��ݨj��0U�0�03+'0%0#+0�http://ocsp.godaddy.com0FU?0=0;�9�7�5http://certificates.godaddy.com/repository/gdroot.crl0KU D0B0@U 0806+*http://certificates.godaddy.com/repository0U�0
	*�H��
�҆����g�f�:P�r�Jt�S�7�DI��k3ٖ�V�0<�2!{��
�$���F�%#g��o]{z̟�X*�Ğ!�Z�F��c�/��))�r,)�7'�O�h�!����	���S����Y�;��$I���H�E:6o�E�E�A���DN>�tvբU,Ƈ������u��L�n��=�q���Q@"(I�K��4���Zц6d5oown��P�^�S��#c�͹�c:��h5�S�0�S0�;�r^����0
	*�H��
0��10	UUS10UArizona10U
Scottsdale10U
GoDaddy.com, Inc.1301U*http://certificates.godaddy.com/repository100.U'Go Daddy Secure Certification Authority10U079692870
120127182954Z
150127182954Z010	UUS10	UCA10UGlendale1'0%U
Developer Express Incorporated1'0%UDeveloper Express Incorporated0�"0
	*�H��
�0�
��H���UN�eg�jhU�6�UM��|��;������1>��0���]�}~����U*�5�A/��F0�G9�5�%d�T����@BVh=��DN�$*�0rM���:!}��_�G��%�U�2�q�	�p6���bN��d�����_EI���0������@+�p
hUݤ�(�{g��t9��8ݢ�ͅ�u����-�&��[y9��:�i�:6����X���D����W�WVLaO��&�`93�מ�����0��0U�00U%0
+0U��03U,0*0(�&�$�"http://crl.godaddy.com/gds5-16.crl0SU L0J0H`�H��m0907++http://certificates.godaddy.com/repository/0��+t0r0$+0�http://ocsp.godaddy.com/0J+0�>http://certificates.godaddy.com/repository/gd_intermediate.crt0U#0���a2�lE���_���v�h��0Up��W��m�u�_
-x�Z0
	*�H��
�Z��f�`8lH�u/g\0)���D�"Vᤤ�
y��*J�0��r�d�H�t��� dj�νОDk�U?#��`Rb
�9�v�,1�X��0ka゛Sm$%�Qgָ:��i]�͂	����dr4�Lzoo=�a)�y�Y����Dh�H�B���ճ��#C��*��V�V�8_�-}�	��a�nW����_�n"�"	��ZW���/�R�BL�c�P��� ���c)�`���r
����l�1��0��0��0��10	UUS10UArizona10U
Scottsdale10U
GoDaddy.com, Inc.1301U*http://certificates.godaddy.com/repository100.U'Go Daddy Secure Certification Authority10U07969287r^����0*�H��
���0	*�H��
	1
+�70
+�710
+�70	*�H��
	1�	����Z�V��ܑ��0.
+�71 0��http://www.devexpress.com 0
	*�H��
���ɢ2�d�;�R8H��;�+�d&U�&�
���l:�<h�1��K���f�LQ��6.��`�8�/y��wu9i���j��Ÿ�G��W&�lw����
D?����zsd0�rO��>$��(������<ET�ON�C�-�e��8
Rֲ���/5:���'W���55��6T*ً��$��f�"A�:�a'y5�#x��t��W<��ħ�A��������O֗���#o��6��B��a�O��0�	*�H��
	1��0��0r0^10	UUS10U
Symantec Corporation100.U'Symantec Time Stamping Services CA - G2��8��5n�j�P0	+�]0	*�H��
	1	*�H��
0	*�H��
	1
130606082115Z0#	*�H��
	1:��	_@�o
�x:���c�0
	*�H��
�A%&?�ڦ֎���{gi�C#���O����E�mD�QP�b���#�V�k��.�h�D�*+
�Ɓ}M�|S���r��q/s�X=Q[?>֢�d*@�p|uc���Z�A�E~�M6sty��=Ηf��#�v�`��EM���!�4M3V��E��#f�nŀ��ywy�$@6!�},l���Ȳ�S�͂��edl�2dd�j@Jᙗ��xP"�´a��%!��M��̾!��ΥT��7^eI�K�<�]�