Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 1 | <!DOCTYPE html> |
| 2 | |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 3 | <html> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 4 | |
| 5 | <head> |
| 6 | |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 7 | <meta charset="utf-8" /> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 8 | <meta name="generator" content="pandoc" /> |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 9 | <meta http-equiv="X-UA-Compatible" content="IE=EDGE" /> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10 | |
| 11 | |
| 12 | <meta name="author" content="Hao Zhu" /> |
| 13 | |
Hao Zhu | 4e34cd8 | 2020-08-19 01:54:23 -0400 | [diff] [blame^] | 14 | <meta name="date" content="2020-08-19" /> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 15 | |
| 16 | <title>Create Awesome HTML Table with knitr::kable and kableExtra</title> |
| 17 | |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 18 | <script>// Pandoc 2.9 adds attributes on both header and div. We remove the former (to |
| 19 | // be compatible with the behavior of Pandoc < 2.8). |
| 20 | document.addEventListener('DOMContentLoaded', function(e) { |
| 21 | var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); |
| 22 | var i, h, a; |
| 23 | for (i = 0; i < hs.length; i++) { |
| 24 | h = hs[i]; |
| 25 | if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 |
| 26 | a = h.attributes; |
| 27 | while (a.length > 0) h.removeAttribute(a[0].name); |
| 28 | } |
| 29 | }); |
| 30 | </script> |
Hao Zhu | a171b45 | 2019-01-15 17:14:34 -0600 | [diff] [blame] | 31 | <script>/*! jQuery v1.11.3 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ |
| 32 | !function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.3",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b="length"in a&&a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function qa(){}qa.prototype=d.filters=d.pseudos,d.setFilters=new qa,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function ra(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; |
| 33 | |
| 34 | return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function aa(){return!0}function ba(){return!1}function ca(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},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(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ca()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ca()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?aa:ba):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=aa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=aa,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=aa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=ba;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=ba),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function da(a){var b=ea.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var ea="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fa=/ jQuery\d+="(?:null|\d+)"/g,ga=new RegExp("<(?:"+ea+")[\\s/>]","i"),ha=/^\s+/,ia=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ja=/<([\w:]+)/,ka=/<tbody/i,la=/<|&#?\w+;/,ma=/<(?:script|style|link)/i,na=/checked\s*(?:[^=]|=\s*.checked.)/i,oa=/^$|\/(?:java|ecma)script/i,pa=/^true\/(.*)/,qa=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ra={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:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sa=da(y),ta=sa.appendChild(y.createElement("div"));ra.optgroup=ra.option,ra.tbody=ra.tfoot=ra.colgroup=ra.caption=ra.thead,ra.th=ra.td;function ua(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ua(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function va(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wa(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xa(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function ya(a){var b=pa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function za(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Aa(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Ba(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xa(b).text=a.text,ya(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!ga.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ta.innerHTML=a.outerHTML,ta.removeChild(f=ta.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ua(f),h=ua(a),g=0;null!=(e=h[g]);++g)d[g]&&Ba(e,d[g]);if(b)if(c)for(h=h||ua(a),d=d||ua(f),g=0;null!=(e=h[g]);g++)Aa(e,d[g]);else Aa(a,f);return d=ua(f,"script"),d.length>0&&za(d,!i&&ua(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=da(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(la.test(f)){h=h||o.appendChild(b.createElement("div")),i=(ja.exec(f)||["",""])[1].toLowerCase(),l=ra[i]||ra._default,h.innerHTML=l[1]+f.replace(ia,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&ha.test(f)&&p.push(b.createTextNode(ha.exec(f)[0])),!k.tbody){f="table"!==i||ka.test(f)?"<table>"!==l[1]||ka.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ua(p,"input"),va),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ua(o.appendChild(f),"script"),g&&za(h),c)){e=0;while(f=h[e++])oa.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ua(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&za(ua(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ua(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fa,""):void 0;if(!("string"!=typeof a||ma.test(a)||!k.htmlSerialize&&ga.test(a)||!k.leadingWhitespace&&ha.test(a)||ra[(ja.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ia,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ua(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ua(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&na.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ua(i,"script"),xa),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ua(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,ya),j=0;f>j;j++)d=g[j],oa.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qa,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Ca,Da={};function Ea(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fa(a){var b=y,c=Da[a];return c||(c=Ea(a,b),"none"!==c&&c||(Ca=(Ca||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ca[0].contentWindow||Ca[0].contentDocument).document,b.write(),b.close(),c=Ea(a,b),Ca.detach()),Da[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Ga=/^margin/,Ha=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ia,Ja,Ka=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ia=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Ha.test(g)&&Ga.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ia=function(a){return a.currentStyle},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Ha.test(g)&&!Ka.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function La(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight),b.removeChild(i)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Ma=/alpha\([^)]*\)/i,Na=/opacity\s*=\s*([^)]*)/,Oa=/^(none|table(?!-c[ea]).+)/,Pa=new RegExp("^("+S+")(.*)$","i"),Qa=new RegExp("^([+-])=("+S+")","i"),Ra={position:"absolute",visibility:"hidden",display:"block"},Sa={letterSpacing:"0",fontWeight:"400"},Ta=["Webkit","O","Moz","ms"];function Ua(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Ta.length;while(e--)if(b=Ta[e]+c,b in a)return b;return d}function Va(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fa(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wa(a,b,c){var d=Pa.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xa(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Ya(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ia(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Ja(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ha.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xa(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ja(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ua(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qa.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ua(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Ja(a,b,d)),"normal"===f&&b in Sa&&(f=Sa[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Oa.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Ra,function(){return Ya(a,b,d)}):Ya(a,b,d):void 0},set:function(a,c,d){var e=d&&Ia(a);return Wa(a,c,d?Xa(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Na.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Ma,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Ma.test(f)?f.replace(Ma,e):f+" "+e)}}),m.cssHooks.marginRight=La(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Ja,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Ga.test(a)||(m.cssHooks[a+b].set=Wa)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ia(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Va(this,!0)},hide:function(){return Va(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Za(a,b,c,d,e){ |
| 35 | return new Za.prototype.init(a,b,c,d,e)}m.Tween=Za,Za.prototype={constructor:Za,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Za.propHooks[this.prop];return a&&a.get?a.get(this):Za.propHooks._default.get(this)},run:function(a){var b,c=Za.propHooks[this.prop];return this.options.duration?this.pos=b=m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Za.propHooks._default.set(this),this}},Za.prototype.init.prototype=Za.prototype,Za.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Za.propHooks.scrollTop=Za.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Za.prototype.init,m.fx.step={};var $a,_a,ab=/^(?:toggle|show|hide)$/,bb=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cb=/queueHooks$/,db=[ib],eb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bb.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bb.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fb(){return setTimeout(function(){$a=void 0}),$a=m.now()}function gb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hb(a,b,c){for(var d,e=(eb[b]||[]).concat(eb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fa(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fa(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ab.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fa(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hb(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kb(a,b,c){var d,e,f=0,g=db.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$a||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$a||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);g>f;f++)if(d=db[f].call(j,a,k,j.opts))return d;return m.map(k,hb,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kb,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],eb[c]=eb[c]||[],eb[c].unshift(b)},prefilter:function(a,b){b?db.unshift(a):db.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kb(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),m.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($a=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$a=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_a||(_a=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_a),_a=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lb=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lb,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mb,nb,ob=m.expr.attrHandle,pb=/^(?:checked|selected)$/i,qb=k.getSetAttribute,rb=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nb:mb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rb&&qb||!pb.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qb?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nb={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rb&&qb||!pb.test(c)?a.setAttribute(!qb&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ob[b]||m.find.attr;ob[b]=rb&&qb||!pb.test(b)?function(a,b,d){var e,f;return d||(f=ob[b],ob[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,ob[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rb&&qb||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mb&&mb.set(a,b,c)}}),qb||(mb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},ob.id=ob.name=ob.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mb.set},m.attrHooks.contenteditable={set:function(a,b,c){mb.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sb=/^(?:input|select|textarea|button|object)$/i,tb=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sb.test(a.nodeName)||tb.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var ub=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ub," ").indexOf(b)>=0)return!0;return!1}}),m.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(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vb=m.now(),wb=/\?/,xb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yb,zb,Ab=/#.*$/,Bb=/([?&])_=[^&]*/,Cb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Db=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Eb=/^(?:GET|HEAD)$/,Fb=/^\/\//,Gb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hb={},Ib={},Jb="*/".concat("*");try{zb=location.href}catch(Kb){zb=y.createElement("a"),zb.href="",zb=zb.href}yb=Gb.exec(zb.toLowerCase())||[];function Lb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mb(a,b,c,d){var e={},f=a===Ib;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nb(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Ob(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zb,type:"GET",isLocal:Db.test(yb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jb,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",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nb(Nb(a,m.ajaxSettings),b):Nb(m.ajaxSettings,a)},ajaxPrefilter:Lb(Hb),ajaxTransport:Lb(Ib),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cb.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zb)+"").replace(Ab,"").replace(Fb,yb[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gb.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yb[1]&&c[2]===yb[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yb[3]||("http:"===yb[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mb(Hb,k,b,v),2===t)return v;h=m.event&&k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Eb.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wb.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bb.test(e)?e.replace(Bb,"$1_="+vb++):e+(wb.test(e)?"&":"?")+"_="+vb++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jb+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mb(Ib,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Ob(k,v,c)),u=Pb(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qb=/%20/g,Rb=/\[\]$/,Sb=/\r?\n/g,Tb=/^(?:submit|button|image|reset|file)$/i,Ub=/^(?:input|select|textarea|keygen)/i;function Vb(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rb.test(a)?d(a,e):Vb(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vb(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vb(c,a[c],b,e);return d.join("&").replace(Qb,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Ub.test(this.nodeName)&&!Tb.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sb,"\r\n")}}):{name:b.name,value:c.replace(Sb,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zb()||$b()}:Zb;var Wb=0,Xb={},Yb=m.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Xb)Xb[a](void 0,!0)}),k.cors=!!Yb&&"withCredentials"in Yb,Yb=k.ajax=!!Yb,Yb&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wb;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xb[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xb[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zb(){try{return new a.XMLHttpRequest}catch(b){}}function $b(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _b=[],ac=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_b.pop()||m.expando+"_"+vb++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ac.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ac.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ac,"$1"+e):b.jsonp!==!1&&(b.url+=(wb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_b.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bc=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bc)return bc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cc=a.document.documentElement;function dc(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cc;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cc})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=La(k.pixelPosition,function(a,c){return c?(c=Ja(a,b),Ha.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ec=a.jQuery,fc=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fc),b&&a.jQuery===m&&(a.jQuery=ec),m},typeof b===K&&(a.jQuery=a.$=m),m}); |
| 36 | </script> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 37 | <meta name="viewport" content="width=device-width, initial-scale=1" /> |
Hao Zhu | a171b45 | 2019-01-15 17:14:34 -0600 | [diff] [blame] | 38 | <style type="text/css">@font-face { |
| 39 | font-family: 'Open Sans'; |
| 40 | font-style: normal; |
| 41 | font-weight: 400; |
| 42 | src: url(data:application/x-font-truetype;base64,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ABEAl//XABEAmP/XABEAmf/XABEAmv+FABEAvv+aACQABf9xACQACv9xACQAJv/XACQAKv/XACQALAEKACQAMf/XACQAM//XACQANv9xACQAOP+uACQAOf+uACQAO/+FACQAiP/XACQAj//XACQAkP/XACQAkf/XACQAkv/XACQAk//XACQAlf/XACQAmv+FACQAvv/XACQAxv9xACQAyf9xACUAD/+uACUAEf+uACUAJP/XACUANv/DACUAOP/sACUAOf/sACUAOv/XACUAO//sACUAPP/sACUAgf/XACUAgv/XACUAg//XACUAhP/XACUAhf/XACUAhv/XACUAmv/sACUAx/+uACUAyv+uACYAJv/XACYAKv/XACYAMf/XACYAM//XACYAiP/XACYAj//XACYAkP/XACYAkf/XACYAkv/XACYAk//XACYAlf/XACYAvv/XACcAD/+uACcAEf+uACcAJP/XACcANv/DACcAOP/sACcAOf/sACcAOv/XACcAO//sACcAPP/sACcAgf/XACcAgv/XACcAg//XACcAhP/XACcAhf/XACcAhv/XACcAmv/sACcAx/+uACcAyv+uACgALAB7ACkAD/+FACkAEf+FACkAIgApACkAJP/XACkAgf/XACkAgv/XACkAg//XACkAhP/XACkAhf/XACkAhv/XACkAx/+FACkAyv+FAC0AJv/XAC0AKv/XAC0AMf/XAC0AM//XAC0AiP/XAC0Aj//XAC0AkP/XAC0Akf/XAC0Akv/XAC0Ak//XAC0Alf/XAC0Avv/XAC4ABf9cAC4ACv9cAC4AJv/XAC4AKv/XAC4AMf/XAC4AM//XAC4ANv/XAC4AN//sAC4AOP/XAC4AOf/XAC4AO//DAC4AiP/XAC4Aj//XAC4AkP/XAC4Akf/XAC4Akv/XAC4Ak//XAC4Alf/XAC4Alv/sAC4Al//sAC4AmP/sAC4Amf/sAC4Amv/DAC4Avv/XAC4Axv9cAC4Ayf9cADEAD/+uADEAEf+uADEAJP/XADEANv/DADEAOP/sADEAOf/sADEAOv/XADEAO//sADEAPP/sADEAgf/XADEAgv/XADEAg//XADEAhP/XADEAhf/XADEAhv/XADEAmv/sADEAx/+uADEAyv+uADIAD/72ADIAEf72ADIAJP+aADIAOv/XADIAPP/sADIAgf+aADIAgv+aADIAg/+aADIAhP+aADIAhf+aADIAhv+aADIAx/72ADIAyv72ADMAD/+uADMAEf+uADMAJP/XADMANv/DADMAOP/sADMAOf/sADMAOv/XADMAO//sADMAPP/sADMAgf/XADMAgv/XADMAg//XADMAhP/XADMAhf/XADMAhv/XADMAmv/sADMAx/+uADMAyv+uADYAD/+FADYAEP+uADYAEf+FADYAIgApADYAJP9xADYAJv/XADYAKv/XADYAMf/XADYAM//XADYANgApADYAQ/9cADYARf9xADYARv9xADYAR/9xADYASf9xADYAT/+aADYAUP+aADYAUf9xADYAUv+aADYAU/9xADYAVP+aADYAVf+FADYAV/+aADYAWP/XADYAWf/XADYAWv/XADYAW//XADYAXP+uADYAgf9xADYAgv9xADYAg/9xADYAhP9xADYAhf9xADYAhv9xADYAiP/XADYAj//XADYAkP/XADYAkf/XADYAkv/XADYAk//XADYAlf/XADYAnf9xADYAnv9cADYAn/9cADYAoP9cADYAof9cADYAov9cADYAo/9cADYApP9xADYApf9xADYApv9xADYAp/9xADYAqP9xADYAr/9xADYAsP9xADYAsf9xADYAsv9xADYAs/9xADYAtf9xADYAtv+aADYAt/+aADYAuP+aADYAuf+aADYAuv/XADYAvv/XADYAv/9xADYAw/+uADYAxP+uADYAx/+FADYAyv+FADcAD//XADcAEf/XADcAJP/sADcAgf/sADcAgv/sADcAg//sADcAhP/sADcAhf/sADcAhv/sADcAx//XADcAyv/XADgAD/+aADgAEf+aADgAIgApADgAJP+uADgAJv/sADgAKv/sADgAMf/sADgAM//sADgAQ//XADgARf/XADgARv/XADgAR//XADgASf/sADgAT//sADgAUP/sADgAUf/XADgAUv/sADgAU//XADgAVP/sADgAVf/sADgAV//sADgAgf+uADgAgv+uADgAg/+uADgAhP+uADgAhf+uADgAhv+uADgAiP/sADgAj//sADgAkP/sADgAkf/sADgAkv/sADgAk//sADgAlf/sADgAnf/XADgAnv/XADgAn//XADgAoP/XADgAof/XADgAov/XADgAo//XADgApP/XADgApf/XADgApv/XADgAp//XADgAqP/XADgAr//XADgAsP/XADgAsf/XADgAsv/XADgAs//XADgAtf/XADgAtv/sADgAt//sADgAuP/sADgAuf/sADgAvv/sADgAv//XADgAx/+aADgAyv+aADkAD/+aADkAEf+aADkAIgApADkAJP+uADkAJv/sADkAKv/sADkAMf/sADkAM//sADkAQ//XADkARf/XADkARv/XADkAR//XADkASf/sADkAT//sADkAUP/sADkAUf/XADkAUv/sADkAU//XADkAVP/sADkAVf/sADkAV//sADkAgf+uADkAgv+uADkAg/+uADkAhP+uADkAhf+uADkAhv+uADkAiP/sADkAj//sADkAkP/sADkAkf/sADkAkv/sADkAk//sADkAlf/sADkAnf/XADkAnv/XADkAn//XADkAoP/XADkAof/XADkAov/XADkAo//XADkApP/XADkApf/XADkApv/XADkAp//XADkAqP/XADkAr//XADkAsP/XADkAsf/XADkAsv/XADkAs//XADkAtf/XADkAtv/sADkAt//sADkAuP/sADkAuf/sADkAvv/sADkAv//XADkAx/+aADkAyv+aADoAJv/XADoAKv/XADoAMf/XADoAM//XADoAiP/XADoAj//XADoAkP/XADoAkf/XADoAkv/XADoAk//XADoAlf/XADoAvv/XADsAD/+FADsAEf+FADsAIgApADsAJP+FADsAJv/XADsAKv/XADsAMf/XADsAM//XADsAQ/+aADsARf+aADsARv+aADsAR/+aADsASf/XADsAT//DADsAUP/DADsAUf+aADsAUv/DADsAU/+aADsAVP/DADsAVf+uADsAV//DADsAXP/XADsAgf+FADsAgv+FADsAg/+FADsAhP+FADsAhf+FADsAhv+FADsAiP/XADsAj//XADsAkP/XADsAkf/XADsAkv/XADsAk//XADsAlf/XADsAnf+aADsAnv+aADsAn/+aADsAoP+aADsAof+aADsAov+aADsAo/+aADsApP+aADsApf+aADsApv+aADsAp/+aADsAqP+aADsAr/+aADsAsP+aADsAsf+aADsAsv+aADsAs/+aADsAtf+aADsAtv/DADsAt//DADsAuP/DADsAuf/DADsAvv/XADsAv/+aADsAx/+FADsAyv+FADwAJv/sADwAKv/sADwAMf/sADwAM//sADwAiP/sADwAj//sADwAkP/sADwAkf/sADwAkv/sADwAk//sADwAlf/sADwAvv/sAD0ALAC4AEMABf/sAEMACv/sAEMAxv/sAEMAyf/sAEQABf/sAEQACv/sAEQAWP/XAEQAWf/XAEQAWv/XAEQAW//XAEQAXP/sAEQAuv/XAEQAxv/sAEQAyf/sAEUABQApAEUACgApAEUAxgApAEUAyQApAEcABf/sAEcACv/sAEcAWP/XAEcAWf/XAEcAWv/XAEcAW//XAEcAXP/sAEcAuv/XAEcAxv/sAEcAyf/sAEgABQB7AEgACgB7AEgAxgB7AEgAyQB7AEoABf/sAEoACv/sAEoAxv/sAEoAyf/sAE0ARf/XAE0ARv/XAE0AR//XAE0AUf/XAE0AU//XAE0Anf/XAE0ApP/XAE0Apf/XAE0Apv/XAE0Ap//XAE0AqP/XAE0Ar//XAE0AsP/XAE0Asf/XAE0Asv/XAE0As//XAE0Atf/XAE0Av//XAE8ABf/sAE8ACv/sAE8Axv/sAE8Ayf/sAFAABf/sAFAACv/sAFAAxv/sAFAAyf/sAFEABf/sAFEACv/sAFEAWP/XAFEAWf/XAFEAWv/XAFEAW//XAFEAXP/sAFEAuv/XAFEAxv/sAFEAyf/sAFIABf/sAFIACv/sAFIAWP/XAFIAWf/XAFIAWv/XAFIAW//XAFIAXP/sAFIAuv/XAFIAxv/sAFIAyf/sAFQABQBSAFQACgBSAFQAQ//XAFQARf/XAFQARv/XAFQAR//XAFQASf/sAFQAUf/XAFQAU//XAFQAnf/XAFQAnv/XAFQAn//XAFQAoP/XAFQAof/XAFQAov/XAFQAo//XAFQApP/XAFQApf/XAFQApv/XAFQAp//XAFQAqP/XAFQAr//XAFQAsP/XAFQAsf/XAFQAsv/XAFQAs//XAFQAtf/XAFQAv//XAFQAxgBSAFQAyQBSAFYABQApAFYACgApAFYAxgApAFYAyQApAFgABQBSAFgACgBSAFgAD/+uAFgAEf+uAFgAIgApAFgAxgBSAFgAx/+uAFgAyQBSAFgAyv+uAFkABQBSAFkACgBSAFkAD/+uAFkAEf+uAFkAIgApAFkAxgBSAFkAx/+uAFkAyQBSAFkAyv+uAFoARf/XAFoARv/XAFoAR//XAFoAUf/XAFoAU//XAFoAnf/XAFoApP/XAFoApf/XAFoApv/XAFoAp//XAFoAqP/XAFoAr//XAFoAsP/XAFoAsf/XAFoAsv/XAFoAs//XAFoAtf/XAFoAv//XAFsABQBSAFsACgBSAFsAD/+uAFsAEf+uAFsAIgApAFsAxgBSAFsAx/+uAFsAyQBSAFsAyv+uAF0ALAC4AIEABf9xAIEACv9xAIEAJv/XAIEAKv/XAIEALAEKAIEAMf/XAIEAM//XAIEANv9xAIEAOP+uAIEAOf+uAIEAO/+FAIEAiP/XAIEAj//XAIEAkP/XAIEAkf/XAIEAkv/XAIEAk//XAIEAlf/XAIEAmv+FAIEAvv/XAIEAxv9xAIEAyf9xAIIABf9xAIIACv9xAIIAJv/XAIIAKv/XAIIALAEKAIIAMf/XAIIAM//XAIIANv9xAIIAOP+uAIIAOf+uAIIAO/+FAIIAiP/XAIIAj//XAIIAkP/XAIIAkf/XAIIAkv/XAIIAk//XAIIAlf/XAIIAmv+FAIIAvv/XAIIAxv9xAIIAyf9xAIMABf9xAIMACv9xAIMAJv/XAIMAKv/XAIMALAEKAIMAMf/XAIMAM//XAIMANv9xAIMAOP+uAIMAOf+uAIMAO/+FAIMAiP/XAIMAj//XAIMAkP/XAIMAkf/XAIMAkv/XAIMAk//XAIMAlf/XAIMAmv+FAIMAvv/XAIMAxv9xAIMAyf9xAIQABf9xAIQACv9xAIQAJv/XAIQAKv/XAIQALAEKAIQAMf/XAIQAM//XAIQANv9xAIQAOP+uAIQAOf+uAIQAO/+FAIQAiP/XAIQAj//XAIQAkP/XAIQAkf/XAIQAkv/XAIQAk//XAIQAlf/XAIQAmv+FAIQAvv/XAIQAxv9xAIQAyf9xAIUABf9xAIUACv9xAIUAJv/XAIUAKv/XAIUALAEKAIUAMf/XAIUAM//XAIUANv9xAIUAOP+uAIUAOf+uAIUAO/+FAIUAiP/XAIUAj//XAIUAkP/XAIUAkf/XAIUAkv/XAIUAk//XAIUAlf/XAIUAmv+FAIUAvv/XAIUAxv9xAIUAyf9xAIYABf9xAIYACv9xAIYAJv/XAIYAKv/XAIYALAEKAIYAMf/XAIYAM//XAIYANv9xAIYAOP+uAIYAOf+uAIYAO/+FAIYAiP/XAIYAj//XAIYAkP/XAIYAkf/XAIYAkv/XAIYAk//XAIYAlf/XAIYAmv+FAIYAvv/XAIYAxv9xAIYAyf9xAIcALAB7AIgAJv/XAIgAKv/XAIgAMf/XAIgAM//XAIgAiP/XAIgAj//XAIgAkP/XAIgAkf/XAIgAkv/XAIgAk//XAIgAlf/XAIgAvv/XAIkALAB7AIoALAB7AIsALAB7AIwALAB7AI0AD/+uAI0AEf+uAI0AJP/XAI0ANv/DAI0AOP/sAI0AOf/sAI0AOv/XAI0AO//sAI0APP/sAI0Agf/XAI0Agv/XAI0Ag//XAI0AhP/XAI0Ahf/XAI0Ahv/XAI0Amv/sAI0Ax/+uAI0Ayv+uAI8AD/+uAI8AEf+uAI8AJP/XAI8ANv/DAI8AOP/sAI8AOf/sAI8AOv/XAI8AO//sAI8APP/sAI8Agf/XAI8Agv/XAI8Ag//XAI8AhP/XAI8Ahf/XAI8Ahv/XAI8Amv/sAI8Ax/+uAI8Ayv+uAJAAD/+uAJAAEf+uAJAAJP/XAJAANv/DAJAAOP/sAJAAOf/sAJAAOv/XAJAAO//sAJAAPP/sAJAAgf/XAJAAgv/XAJAAg//XAJAAhP/XAJAAhf/XAJAAhv/XAJAAmv/sAJAAx/+uAJAAyv+uAJEAD/+uAJEAEf+uAJEAJP/XAJEANv/DAJEAOP/sAJEAOf/sAJEAOv/XAJEAO//sAJEAPP/sAJEAgf/XAJEAgv/XAJEAg//XAJEAhP/XAJEAhf/XAJEAhv/XAJEAmv/sAJEAx/+uAJEAyv+uAJIAD/+uAJIAEf+uAJIAJP/XAJIANv/DAJIAOP/sAJIAOf/sAJIAOv/XAJIAO//sAJIAPP/sAJIAgf/XAJIAgv/XAJIAg//XAJIAhP/XAJIAhf/XAJIAhv/XAJIAmv/sAJIAx/+uAJIAyv+uAJMAD/+uAJMAEf+uAJMAJP/XAJMANv/DAJMAOP/sAJMAOf/sAJMAOv/XAJMAO//sAJMAPP/sAJMAgf/XAJMAgv/XAJMAg//XAJMAhP/XAJMAhf/XAJMAhv/XAJMAmv/sAJMAx/+uAJMAyv+uAJUAD/+uAJUAEf+uAJUAJP/XAJUANv/DAJUAOP/sAJUAOf/sAJUAOv/XAJUAO//sAJUAPP/sAJUAgf/XAJUAgv/XAJUAg//XAJUAhP/XAJUAhf/XAJUAhv/XAJUAmv/sAJUAx/+uAJUAyv+uAJYAD//XAJYAEf/XAJYAJP/sAJYAgf/sAJYAgv/sAJYAg//sAJYAhP/sAJYAhf/sAJYAhv/sAJYAx//XAJYAyv/XAJcAD//XAJcAEf/XAJcAJP/sAJcAgf/sAJcAgv/sAJcAg//sAJcAhP/sAJcAhf/sAJcAhv/sAJcAx//XAJcAyv/XAJgAD//XAJgAEf/XAJgAJP/sAJgAgf/sAJgAgv/sAJgAg//sAJgAhP/sAJgAhf/sAJgAhv/sAJgAx//XAJgAyv/XAJkAD//XAJkAEf/XAJkAJP/sAJkAgf/sAJkAgv/sAJkAg//sAJkAhP/sAJkAhf/sAJkAhv/sAJkAx//XAJkAyv/XAJoAD/+FAJoAEf+FAJoAIgApAJoAJP+FAJoAJv/XAJoAKv/XAJoAMf/XAJoAM//XAJoAQ/+aAJoARf+aAJoARv+aAJoAR/+aAJoASf/XAJoAT//DAJoAUP/DAJoAUf+aAJoAUv/DAJoAU/+aAJoAVP/DAJoAVf+uAJoAV//DAJoAXP/XAJoAgf+FAJoAgv+FAJoAg/+FAJoAhP+FAJoAhf+FAJoAhv+FAJoAiP/XAJoAj//XAJoAkP/XAJoAkf/XAJoAkv/XAJoAk//XAJoAlf/XAJoAnf+aAJoAnv+aAJoAn/+aAJoAoP+aAJoAof+aAJoAov+aAJoAo/+aAJoApP+aAJoApf+aAJoApv+aAJoAp/+aAJoAqP+aAJoAr/+aAJoAsP+aAJoAsf+aAJoAsv+aAJoAs/+aAJoAtf+aAJoAtv/DAJoAt//DAJoAuP/DAJoAuf/DAJoAvv/XAJoAv/+aAJoAx/+FAJoAyv+FAJsAD/72AJsAEf72AJsAJP+aAJsAOv/XAJsAPP/sAJsAgf+aAJsAgv+aAJsAg/+aAJsAhP+aAJsAhf+aAJsAhv+aAJsAx/72AJsAyv72AJ0ABf/sAJ0ACv/sAJ0Axv/sAJ0Ayf/sAJ4ABf/sAJ4ACv/sAJ4Axv/sAJ4Ayf/sAJ8ABf/sAJ8ACv/sAJ8Axv/sAJ8Ayf/sAKAABf/sAKAACv/sAKAAxv/sAKAAyf/sAKEABf/sAKEACv/sAKEAxv/sAKEAyf/sAKIABf/sAKIACv/sAKIAxv/sAKIAyf/sAKUABf/sAKUACv/sAKUAWP/XAKUAWf/XAKUAWv/XAKUAW//XAKUAXP/sAKUAuv/XAKUAxv/sAKUAyf/sAKYABf/sAKYACv/sAKYAWP/XAKYAWf/XAKYAWv/XAKYAW//XAKYAXP/sAKYAuv/XAKYAxv/sAKYAyf/sAKcABf/sAKcACv/sAKcAWP/XAKcAWf/XAKcAWv/XAKcAW//XAKcAXP/sAKcAuv/XAKcAxv/sAKcAyf/sAKgABf/sAKgACv/sAKgAWP/XAKgAWf/XAKgAWv/XAKgAW//XAKgAXP/sAKgAuv/XAKgAxv/sAKgAyf/sAK0ABf/sAK0ACv/sAK0AWP/XAK0AWf/XAK0AWv/XAK0AW//XAK0AXP/sAK0Auv/XAK0Axv/sAK0Ayf/sAK8ABf/sAK8ACv/sAK8AWP/XAK8AWf/XAK8AWv/XAK8AW//XAK8AXP/sAK8Auv/XAK8Axv/sAK8Ayf/sALAABf/sALAACv/sALAAWP/XALAAWf/XALAAWv/XALAAW//XALAAXP/sALAAuv/XALAAxv/sALAAyf/sALEABf/sALEACv/sALEAWP/XALEAWf/XALEAWv/XALEAW//XALEAXP/sALEAuv/XALEAxv/sALEAyf/sALMABf/XALMACv/XALMAxv/XALMAyf/XALUABf/sALUACv/sALUAWP/XALUAWf/XALUAWv/XALUAW//XALUAXP/sALUAuv/XALUAxv/sALUAyf/sALoABQBSALoACgBSALoAD/+uALoAEf+uALoAIgApALoAxgBSALoAx/+uALoAyQBSALoAyv+uALsABf/sALsACv/sALsAWP/XALsAWf/XALsAWv/XALsAW//XALsAXP/sALsAuv/XALsAxv/sALsAyf/sALwABQBSALwACgBSALwAD/+uALwAEf+uALwAIgApALwAxgBSALwAx/+uALwAyQBSALwAyv+uAL4ALAB7AAAABwBaAAMAAQQJAAEAEgAAAAMAAQQJAAIADgASAAMAAQQJAAMAPAAgAAMAAQQJAAQAEgAAAAMAAQQJAAUAGABcAAMAAQQJAAYAEAB0AAMAAQQJAA4AVACEAE8AcABlAG4AIABTAGEAbgBzAFIAZQBnAHUAbABhAHIAQQBzAGMAZQBuAGQAZQByACAALQAgAE8AcABlAG4AIABTAGEAbgBzACAAQgB1AGkAbABkACAAMQAwADAAVgBlAHIAcwBpAG8AbgAgADEALgAxADAATwBwAGUAbgBTAGEAbgBzAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBhAHAAYQBjAGgAZQAuAG8AcgBnAC8AbABpAGMAZQBuAHMAZQBzAC8ATABJAEMARQBOAFMARQAtADIALgAwAAAAAgAAAAAAAP9mAGYAAAAAAAAAAAAAAAAAAAAAAAAAAADcAAABAgACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEArACjAIQAhQC9AJYA6ACGAI4AiwCdAKkApAEDAIoBBACDAJMA8gDzAI0AlwCIAMMA3gDxAJ4AqgD1APQA9gCiAK0AyQDHAK4AYgBjAJAAZADLAGUAyADKAOkAZgDTANAA0QCvAGcA8ACRANYA1ADVAGgA6wDtAIkAagBpAGsAbQBsAG4AoABvAHEAcAByAHMAdQB0AHYAdwDqAHgAegB5AHsAfQB8ALgAoQB/AH4AgACBAOwA7gC6ANcAsACxANgA3QDZALIAswC2ALcAxAC0ALUAxQCHAL4AvwC8AQUA7wEGAQcBCAEJAQoBCwAsAM8AzADNAM4EbnVsbAd1bmkwMEFECW92ZXJzY29yZQRFdXJvB3VuaUZCMDEHdW5pRkIwMgxmb3Vyc3VwZXJpb3IHdW5pRkIwMwd1bmlGQjA0AmZmAAAAAQADAAgACgANAAf//wAPAAEAAAAMAAAAAAAAAAIAAQAAANsAAQAAAAEAAAAKAAoACgAAAAEAAAAKAB4ALAABbGF0bgAIAAQAAAAA//8AAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQA2AAEACAAFAAwAFAAcACIAKADVAAMASABOANQAAwBIAEsA1gACAEgA0gACAE4A0QACAEsAAQABAEg=) format('truetype'); |
| 43 | } |
| 44 | @font-face { |
| 45 | font-family: 'Open Sans'; |
| 46 | font-style: normal; |
| 47 | font-weight: 700; |
| 48 | src: url(data:application/x-font-truetype;base64,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AIH/cQAFAIL/cQAFAIP/cQAFAIT/cQAFAIX/cQAFAIb/cQAFAJoAFAAFAJ3/hQAFAJ7/rgAFAJ//rgAFAKD/rgAFAKH/rgAFAKL/rgAFAKP/rgAFAKT/hQAFAKX/hQAFAKb/hQAFAKf/hQAFAKj/hQAFAK//hQAFALD/hQAFALH/hQAFALL/hQAFALP/hQAFALX/hQAFALb/wwAFALf/wwAFALj/wwAFALn/wwAFAL//hQAKACT/cQAKADYAKQAKADgAKQAKADkAKQAKADsAFAAKAEP/rgAKAEX/hQAKAEb/hQAKAEf/hQAKAEn/wwAKAE//wwAKAFD/wwAKAFH/hQAKAFL/wwAKAFP/hQAKAFT/wwAKAFX/wwAKAFf/wwAKAIH/cQAKAIL/cQAKAIP/cQAKAIT/cQAKAIX/cQAKAIb/cQAKAJoAFAAKAJ3/hQAKAJ7/rgAKAJ//rgAKAKD/rgAKAKH/rgAKAKL/rgAKAKP/rgAKAKT/hQAKAKX/hQAKAKb/hQAKAKf/hQAKAKj/hQAKAK//hQAKALD/hQAKALH/hQAKALL/hQAKALP/hQAKALX/hQAKALb/wwAKALf/wwAKALj/wwAKALn/wwAKAL//hQALACwAuAAPACb/mgAPACr/mgAPADH/mgAPADP/mgAPADb/cQAPADf/1wAPADj/hQAPADn/hQAPADv/hQAPAIj/mgAPAI//mgAPAJD/mgAPAJH/mgAPAJL/mgAPAJP/mgAPAJX/mgAPAJb/1wAPAJf/1wAPAJj/1wAPAJn/1wAPAJr/hQAPAL7/mgAQADb/rgARACb/mgARACr/mgARADH/mgARADP/mgARADb/cQARADf/1wARADj/hQARADn/hQARADv/hQARAIj/mgARAI//mgARAJD/mgARAJH/mgARAJL/mgARAJP/mgARAJX/mgARAJb/1wARAJf/1wARAJj/1wARAJn/1wARAJr/hQARAL7/mgAkAAX/cQAkAAr/cQAkACb/1wAkACr/1wAkACwBCgAkADH/1wAkADP/1wAkADb/cQAkADj/rgAkADn/rgAkADv/hQAkAIj/1wAkAI//1wAkAJD/1wAkAJH/1wAkAJL/1wAkAJP/1wAkAJX/1wAkAJr/hQAkAL7/1wAkAMb/cQAkAMn/cQAlAA//rgAlABH/rgAlACT/1wAlADb/wwAlADj/7AAlADn/7AAlADr/1wAlADv/7AAlADz/7AAlAIH/1wAlAIL/1wAlAIP/1wAlAIT/1wAlAIX/1wAlAIb/1wAlAJr/7AAlAMf/rgAlAMr/rgAmACb/1wAmACr/1wAmADH/1wAmADP/1wAmAIj/1wAmAI//1wAmAJD/1wAmAJH/1wAmAJL/1wAmAJP/1wAmAJX/1wAmAL7/1wAnAA//rgAnABH/rgAnACT/1wAnADb/wwAnADj/7AAnADn/7AAnADr/1wAnADv/7AAnADz/7AAnAIH/1wAnAIL/1wAnAIP/1wAnAIT/1wAnAIX/1wAnAIb/1wAnAJr/7AAnAMf/rgAnAMr/rgAoACwAewApAA//hQApABH/hQApACIAKQApACT/1wApAIH/1wApAIL/1wApAIP/1wApAIT/1wApAIX/1wApAIb/1wApAMf/hQApAMr/hQAtACb/1wAtACr/1wAtADH/1wAtADP/1wAtAIj/1wAtAI//1wAtAJD/1wAtAJH/1wAtAJL/1wAtAJP/1wAtAJX/1wAtAL7/1wAuAAX/XAAuAAr/XAAuACb/1wAuACr/1wAuADH/1wAuADP/1wAuADb/1wAuADf/7AAuADj/1wAuADn/1wAuADv/wwAuAIj/1wAuAI//1wAuAJD/1wAuAJH/1wAuAJL/1wAuAJP/1wAuAJX/1wAuAJb/7AAuAJf/7AAuAJj/7AAuAJn/7AAuAJr/wwAuAL7/1wAuAMb/XAAuAMn/XAAxAA//rgAxABH/rgAxACT/1wAxADb/wwAxADj/7AAxADn/7AAxADr/1wAxADv/7AAxADz/7AAxAIH/1wAxAIL/1wAxAIP/1wAxAIT/1wAxAIX/1wAxAIb/1wAxAJr/7AAxAMf/rgAxAMr/rgAyAA/+9gAyABH+9gAyACT/mgAyADr/1wAyADz/7AAyAIH/mgAyAIL/mgAyAIP/mgAyAIT/mgAyAIX/mgAyAIb/mgAyAMf+9gAyAMr+9gAzAA//rgAzABH/rgAzACT/1wAzADb/wwAzADj/7AAzADn/7AAzADr/1wAzADv/7AAzADz/7AAzAIH/1wAzAIL/1wAzAIP/1wAzAIT/1wAzAIX/1wAzAIb/1wAzAJr/7AAzAMf/rgAzAMr/rgA2AA//hQA2ABD/rgA2ABH/hQA2ACIAKQA2ACT/cQA2ACb/1wA2ACr/1wA2ADH/1wA2ADP/1wA2ADYAKQA2AEP/XAA2AEX/cQA2AEb/cQA2AEf/cQA2AEn/cQA2AE//mgA2AFD/mgA2AFH/cQA2AFL/mgA2AFP/cQA2AFT/mgA2AFX/hQA2AFf/mgA2AFj/1wA2AFn/1wA2AFr/1wA2AFv/1wA2AFz/rgA2AIH/cQA2AIL/cQA2AIP/cQA2AIT/cQA2AIX/cQA2AIb/cQA2AIj/1wA2AI//1wA2AJD/1wA2AJH/1wA2AJL/1wA2AJP/1wA2AJX/1wA2AJ3/cQA2AJ7/XAA2AJ//XAA2AKD/XAA2AKH/XAA2AKL/XAA2AKP/XAA2AKT/cQA2AKX/cQA2AKb/cQA2AKf/cQA2AKj/cQA2AK//cQA2ALD/cQA2ALH/cQA2ALL/cQA2ALP/cQA2ALX/cQA2ALb/mgA2ALf/mgA2ALj/mgA2ALn/mgA2ALr/1wA2AL7/1wA2AL//cQA2AMP/rgA2AMT/rgA2AMf/hQA2AMr/hQA3AA//1wA3ABH/1wA3ACT/7AA3AIH/7AA3AIL/7AA3AIP/7AA3AIT/7AA3AIX/7AA3AIb/7AA3AMf/1wA3AMr/1wA4AA//mgA4ABH/mgA4ACIAKQA4ACT/rgA4ACb/7AA4ACr/7AA4ADH/7AA4ADP/7AA4AEP/1wA4AEX/1wA4AEb/1wA4AEf/1wA4AEn/7AA4AE//7AA4AFD/7AA4AFH/1wA4AFL/7AA4AFP/1wA4AFT/7AA4AFX/7AA4AFf/7AA4AIH/rgA4AIL/rgA4AIP/rgA4AIT/rgA4AIX/rgA4AIb/rgA4AIj/7AA4AI//7AA4AJD/7AA4AJH/7AA4AJL/7AA4AJP/7AA4AJX/7AA4AJ3/1wA4AJ7/1wA4AJ//1wA4AKD/1wA4AKH/1wA4AKL/1wA4AKP/1wA4AKT/1wA4AKX/1wA4AKb/1wA4AKf/1wA4AKj/1wA4AK//1wA4ALD/1wA4ALH/1wA4ALL/1wA4ALP/1wA4ALX/1wA4ALb/7AA4ALf/7AA4ALj/7AA4ALn/7AA4AL7/7AA4AL//1wA4AMf/mgA4AMr/mgA5AA//mgA5ABH/mgA5ACIAKQA5ACT/rgA5ACb/7AA5ACr/7AA5ADH/7AA5ADP/7AA5AEP/1wA5AEX/1wA5AEb/1wA5AEf/1wA5AEn/7AA5AE//7AA5AFD/7AA5AFH/1wA5AFL/7AA5AFP/1wA5AFT/7AA5AFX/7AA5AFf/7AA5AIH/rgA5AIL/rgA5AIP/rgA5AIT/rgA5AIX/rgA5AIb/rgA5AIj/7AA5AI//7AA5AJD/7AA5AJH/7AA5AJL/7AA5AJP/7AA5AJX/7AA5AJ3/1wA5AJ7/1wA5AJ//1wA5AKD/1wA5AKH/1wA5AKL/1wA5AKP/1wA5AKT/1wA5AKX/1wA5AKb/1wA5AKf/1wA5AKj/1wA5AK//1wA5ALD/1wA5ALH/1wA5ALL/1wA5ALP/1wA5ALX/1wA5ALb/7AA5ALf/7AA5ALj/7AA5ALn/7AA5AL7/7AA5AL//1wA5AMf/mgA5AMr/mgA6ACb/1wA6ACr/1wA6ADH/1wA6ADP/1wA6AIj/1wA6AI//1wA6AJD/1wA6AJH/1wA6AJL/1wA6AJP/1wA6AJX/1wA6AL7/1wA7AA//hQA7ABH/hQA7ACIAKQA7ACT/hQA7ACb/1wA7ACr/1wA7ADH/1wA7ADP/1wA7AEP/mgA7AEX/mgA7AEb/mgA7AEf/mgA7AEn/1wA7AE//wwA7AFD/wwA7AFH/mgA7AFL/wwA7AFP/mgA7AFT/wwA7AFX/rgA7AFf/wwA7AFz/1wA7AIH/hQA7AIL/hQA7AIP/hQA7AIT/hQA7AIX/hQA7AIb/hQA7AIj/1wA7AI//1wA7AJD/1wA7AJH/1wA7AJL/1wA7AJP/1wA7AJX/1wA7AJ3/mgA7AJ7/mgA7AJ//mgA7AKD/mgA7AKH/mgA7AKL/mgA7AKP/mgA7AKT/mgA7AKX/mgA7AKb/mgA7AKf/mgA7AKj/mgA7AK//mgA7ALD/mgA7ALH/mgA7ALL/mgA7ALP/mgA7ALX/mgA7ALb/wwA7ALf/wwA7ALj/wwA7ALn/wwA7AL7/1wA7AL//mgA7AMf/hQA7AMr/hQA8ACb/7AA8ACr/7AA8ADH/7AA8ADP/7AA8AIj/7AA8AI//7AA8AJD/7AA8AJH/7AA8AJL/7AA8AJP/7AA8AJX/7AA8AL7/7AA9ACwAuABDAAX/7ABDAAr/7ABDAMb/7ABDAMn/7ABEAAX/7ABEAAr/7ABEAFj/1wBEAFn/1wBEAFr/1wBEAFv/1wBEAFz/7ABEALr/1wBEAMb/7ABEAMn/7ABFAAUAKQBFAAoAKQBFAMYAKQBFAMkAKQBHAAX/7ABHAAr/7ABHAFj/1wBHAFn/1wBHAFr/1wBHAFv/1wBHAFz/7ABHALr/1wBHAMb/7ABHAMn/7ABIAAUAewBIAAoAewBIAMYAewBIAMkAewBKAAX/7ABKAAr/7ABKAMb/7ABKAMn/7ABNAEX/1wBNAEb/1wBNAEf/1wBNAFH/1wBNAFP/1wBNAJ3/1wBNAKT/1wBNAKX/1wBNAKb/1wBNAKf/1wBNAKj/1wBNAK//1wBNALD/1wBNALH/1wBNALL/1wBNALP/1wBNALX/1wBNAL//1wBPAAX/7ABPAAr/7ABPAMb/7ABPAMn/7ABQAAX/7ABQAAr/7ABQAMb/7ABQAMn/7ABRAAX/7ABRAAr/7ABRAFj/1wBRAFn/1wBRAFr/1wBRAFv/1wBRAFz/7ABRALr/1wBRAMb/7ABRAMn/7ABSAAX/7ABSAAr/7ABSAFj/1wBSAFn/1wBSAFr/1wBSAFv/1wBSAFz/7ABSALr/1wBSAMb/7ABSAMn/7ABUAAUAUgBUAAoAUgBUAEP/1wBUAEX/1wBUAEb/1wBUAEf/1wBUAEn/7ABUAFH/1wBUAFP/1wBUAJ3/1wBUAJ7/1wBUAJ//1wBUAKD/1wBUAKH/1wBUAKL/1wBUAKP/1wBUAKT/1wBUAKX/1wBUAKb/1wBUAKf/1wBUAKj/1wBUAK//1wBUALD/1wBUALH/1wBUALL/1wBUALP/1wBUALX/1wBUAL//1wBUAMYAUgBUAMkAUgBWAAUAKQBWAAoAKQBWAMYAKQBWAMkAKQBYAAUAUgBYAAoAUgBYAA//rgBYABH/rgBYACIAKQBYAMYAUgBYAMf/rgBYAMkAUgBYAMr/rgBZAAUAUgBZAAoAUgBZAA//rgBZABH/rgBZACIAKQBZAMYAUgBZAMf/rgBZAMkAUgBZAMr/rgBaAEX/1wBaAEb/1wBaAEf/1wBaAFH/1wBaAFP/1wBaAJ3/1wBaAKT/1wBaAKX/1wBaAKb/1wBaAKf/1wBaAKj/1wBaAK//1wBaALD/1wBaALH/1wBaALL/1wBaALP/1wBaALX/1wBaAL//1wBbAAUAUgBbAAoAUgBbAA//rgBbABH/rgBbACIAKQBbAMYAUgBbAMf/rgBbAMkAUgBbAMr/rgBdACwAuACBAAX/cQCBAAr/cQCBACb/1wCBACr/1wCBACwBCgCBADH/1wCBADP/1wCBADb/cQCBADj/rgCBADn/rgCBADv/hQCBAIj/1wCBAI//1wCBAJD/1wCBAJH/1wCBAJL/1wCBAJP/1wCBAJX/1wCBAJr/hQCBAL7/1wCBAMb/cQCBAMn/cQCCAAX/cQCCAAr/cQCCACb/1wCCACr/1wCCACwBCgCCADH/1wCCADP/1wCCADb/cQCCADj/rgCCADn/rgCCADv/hQCCAIj/1wCCAI//1wCCAJD/1wCCAJH/1wCCAJL/1wCCAJP/1wCCAJX/1wCCAJr/hQCCAL7/1wCCAMb/cQCCAMn/cQCDAAX/cQCDAAr/cQCDACb/1wCDACr/1wCDACwBCgCDADH/1wCDADP/1wCDADb/cQCDADj/rgCDADn/rgCDADv/hQCDAIj/1wCDAI//1wCDAJD/1wCDAJH/1wCDAJL/1wCDAJP/1wCDAJX/1wCDAJr/hQCDAL7/1wCDAMb/cQCDAMn/cQCEAAX/cQCEAAr/cQCEACb/1wCEACr/1wCEACwBCgCEADH/1wCEADP/1wCEADb/cQCEADj/rgCEADn/rgCEADv/hQCEAIj/1wCEAI//1wCEAJD/1wCEAJH/1wCEAJL/1wCEAJP/1wCEAJX/1wCEAJr/hQCEAL7/1wCEAMb/cQCEAMn/cQCFAAX/cQCFAAr/cQCFACb/1wCFACr/1wCFACwBCgCFADH/1wCFADP/1wCFADb/cQCFADj/rgCFADn/rgCFADv/hQCFAIj/1wCFAI//1wCFAJD/1wCFAJH/1wCFAJL/1wCFAJP/1wCFAJX/1wCFAJr/hQCFAL7/1wCFAMb/cQCFAMn/cQCGAAX/cQCGAAr/cQCGACb/1wCGACr/1wCGACwBCgCGADH/1wCGADP/1wCGADb/cQCGADj/rgCGADn/rgCGADv/hQCGAIj/1wCGAI//1wCGAJD/1wCGAJH/1wCGAJL/1wCGAJP/1wCGAJX/1wCGAJr/hQCGAL7/1wCGAMb/cQCGAMn/cQCHACwAewCIACb/1wCIACr/1wCIADH/1wCIADP/1wCIAIj/1wCIAI//1wCIAJD/1wCIAJH/1wCIAJL/1wCIAJP/1wCIAJX/1wCIAL7/1wCJACwAewCKACwAewCLACwAewCMACwAewCNAA//rgCNABH/rgCNACT/1wCNADb/wwCNADj/7ACNADn/7ACNADr/1wCNADv/7ACNADz/7ACNAIH/1wCNAIL/1wCNAIP/1wCNAIT/1wCNAIX/1wCNAIb/1wCNAJr/7ACNAMf/rgCNAMr/rgCPAA//rgCPABH/rgCPACT/1wCPADb/wwCPADj/7ACPADn/7ACPADr/1wCPADv/7ACPADz/7ACPAIH/1wCPAIL/1wCPAIP/1wCPAIT/1wCPAIX/1wCPAIb/1wCPAJr/7ACPAMf/rgCPAMr/rgCQAA//rgCQABH/rgCQACT/1wCQADb/wwCQADj/7ACQADn/7ACQADr/1wCQADv/7ACQADz/7ACQAIH/1wCQAIL/1wCQAIP/1wCQAIT/1wCQAIX/1wCQAIb/1wCQAJr/7ACQAMf/rgCQAMr/rgCRAA//rgCRABH/rgCRACT/1wCRADb/wwCRADj/7ACRADn/7ACRADr/1wCRADv/7ACRADz/7ACRAIH/1wCRAIL/1wCRAIP/1wCRAIT/1wCRAIX/1wCRAIb/1wCRAJr/7ACRAMf/rgCRAMr/rgCSAA//rgCSABH/rgCSACT/1wCSADb/wwCSADj/7ACSADn/7ACSADr/1wCSADv/7ACSADz/7ACSAIH/1wCSAIL/1wCSAIP/1wCSAIT/1wCSAIX/1wCSAIb/1wCSAJr/7ACSAMf/rgCSAMr/rgCTAA//rgCTABH/rgCTACT/1wCTADb/wwCTADj/7ACTADn/7ACTADr/1wCTADv/7ACTADz/7ACTAIH/1wCTAIL/1wCTAIP/1wCTAIT/1wCTAIX/1wCTAIb/1wCTAJr/7ACTAMf/rgCTAMr/rgCVAA//rgCVABH/rgCVACT/1wCVADb/wwCVADj/7ACVADn/7ACVADr/1wCVADv/7ACVADz/7ACVAIH/1wCVAIL/1wCVAIP/1wCVAIT/1wCVAIX/1wCVAIb/1wCVAJr/7ACVAMf/rgCVAMr/rgCWAA//1wCWABH/1wCWACT/7ACWAIH/7ACWAIL/7ACWAIP/7ACWAIT/7ACWAIX/7ACWAIb/7ACWAMf/1wCWAMr/1wCXAA//1wCXABH/1wCXACT/7ACXAIH/7ACXAIL/7ACXAIP/7ACXAIT/7ACXAIX/7ACXAIb/7ACXAMf/1wCXAMr/1wCYAA//1wCYABH/1wCYACT/7ACYAIH/7ACYAIL/7ACYAIP/7ACYAIT/7ACYAIX/7ACYAIb/7ACYAMf/1wCYAMr/1wCZAA//1wCZABH/1wCZACT/7ACZAIH/7ACZAIL/7ACZAIP/7ACZAIT/7ACZAIX/7ACZAIb/7ACZAMf/1wCZAMr/1wCaAA//hQCaABH/hQCaACIAKQCaACT/hQCaACb/1wCaACr/1wCaADH/1wCaADP/1wCaAEP/mgCaAEX/mgCaAEb/mgCaAEf/mgCaAEn/1wCaAE//wwCaAFD/wwCaAFH/mgCaAFL/wwCaAFP/mgCaAFT/wwCaAFX/rgCaAFf/wwCaAFz/1wCaAIH/hQCaAIL/hQCaAIP/hQCaAIT/hQCaAIX/hQCaAIb/hQCaAIj/1wCaAI//1wCaAJD/1wCaAJH/1wCaAJL/1wCaAJP/1wCaAJX/1wCaAJ3/mgCaAJ7/mgCaAJ//mgCaAKD/mgCaAKH/mgCaAKL/mgCaAKP/mgCaAKT/mgCaAKX/mgCaAKb/mgCaAKf/mgCaAKj/mgCaAK//mgCaALD/mgCaALH/mgCaALL/mgCaALP/mgCaALX/mgCaALb/wwCaALf/wwCaALj/wwCaALn/wwCaAL7/1wCaAL//mgCaAMf/hQCaAMr/hQCbAA/+9gCbABH+9gCbACT/mgCbADr/1wCbADz/7ACbAIH/mgCbAIL/mgCbAIP/mgCbAIT/mgCbAIX/mgCbAIb/mgCbAMf+9gCbAMr+9gCdAAX/7ACdAAr/7ACdAMb/7ACdAMn/7ACeAAX/7ACeAAr/7ACeAMb/7ACeAMn/7ACfAAX/7ACfAAr/7ACfAMb/7ACfAMn/7ACgAAX/7ACgAAr/7ACgAMb/7ACgAMn/7AChAAX/7AChAAr/7AChAMb/7AChAMn/7ACiAAX/7ACiAAr/7ACiAMb/7ACiAMn/7AClAAX/7AClAAr/7AClAFj/1wClAFn/1wClAFr/1wClAFv/1wClAFz/7AClALr/1wClAMb/7AClAMn/7ACmAAX/7ACmAAr/7ACmAFj/1wCmAFn/1wCmAFr/1wCmAFv/1wCmAFz/7ACmALr/1wCmAMb/7ACmAMn/7ACnAAX/7ACnAAr/7ACnAFj/1wCnAFn/1wCnAFr/1wCnAFv/1wCnAFz/7ACnALr/1wCnAMb/7ACnAMn/7ACoAAX/7ACoAAr/7ACoAFj/1wCoAFn/1wCoAFr/1wCoAFv/1wCoAFz/7ACoALr/1wCoAMb/7ACoAMn/7ACt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) format('truetype'); |
| 49 | } |
| 50 | html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url(data:application/vnd.ms-fontobject;base64,n04AAEFNAAACAAIABAAAAAAABQAAAAAAAAABAJABAAAEAExQAAAAAAAAAAIAAAAAAAAAAAEAAAAAAAAAJxJ/LAAAAAAAAAAAAAAAAAAAAAAAACgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzAAAADgBSAGUAZwB1AGwAYQByAAAAeABWAGUAcgBzAGkAbwBuACAAMQAuADAAMAA5ADsAUABTACAAMAAwADEALgAwADAAOQA7AGgAbwB0AGMAbwBuAHYAIAAxAC4AMAAuADcAMAA7AG0AYQBrAGUAbwB0AGYALgBsAGkAYgAyAC4ANQAuADUAOAAzADIAOQAAADgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzACAAUgBlAGcAdQBsAGEAcgAAAAAAQlNHUAAAAAAAAAAAAAAAAAAAAAADAKncAE0TAE0ZAEbuFM3pjM/SEdmjKHUbyow8ATBE40IvWA3vTu8LiABDQ+pexwUMcm1SMnNryctQSiI1K5ZnbOlXKmnVV5YvRe6RnNMFNCOs1KNVpn6yZhCJkRtVRNzEufeIq7HgSrcx4S8h/v4vnrrKc6oCNxmSk2uKlZQHBii6iKFoH0746ThvkO1kJHlxjrkxs+LWORaDQBEtiYJIR5IB9Bi1UyL4Rmr0BNigNkMzlKQmnofBHviqVzUxwdMb3NdCn69hy+pRYVKGVS/1tnsqv4LL7wCCPZZAZPT4aCShHjHJVNuXbmMrY5LeQaGnvAkXlVrJgKRAUdFjrWEah9XebPeQMj7KS7DIBAFt8ycgC5PLGUOHSE3ErGZCiViNLL5ZARfywnCoZaKQCu6NuFX42AEeKtKUGnr/Cm2Cy8tpFhBPMW5Fxi4Qm4TkDWh4IWFDClhU2hRWosUWqcKLlgyXB+lSHaWaHiWlBAR8SeSgSPCQxdVQgzUixWKSTrIQEbU94viDctkvX+VSjJuUmV8L4CXShI11esnp0pjWNZIyxKHS4wVQ2ime1P4RnhvGw0aDN1OLAXGERsB7buFpFGGBAre4QEQR0HOIO5oYH305G+KspT/FupEGGafCCwxSe6ZUa+073rXHnNdVXE6eWvibUS27XtRzkH838mYLMBmYysZTM0EM3A1fbpCBYFccN1B/EnCYu/TgCGmr7bMh8GfYL+BfcLvB0gRagC09w9elfldaIy/hNCBLRgBgtCC7jAF63wLSMAfbfAlEggYU0bUA7ACCJmTDpEmJtI78w4/BO7dN7JR7J7ZvbYaUbaILSQsRBiF3HGk5fEg6p9unwLvn98r+vnsV+372uf1xBLq4qU/45fTuqaAP+pssmCCCTF0mhEow8ZXZOS8D7Q85JsxZ+Azok7B7O/f6J8AzYBySZQB/QHYUSA+EeQhEWiS6AIQzgcsDiER4MjgMBAWDV4AgQ3g1eBgIdweCQmCjJEMkJ+PKRWyFHHmg1Wi/6xzUgA0LREoKJChwnQa9B+5RQZRB3IlBlkAnxyQNaANwHMowzlYSMCBgnbpzvqpl0iTJNCQidDI9ZrSYNIRBhHtUa5YHMHxyGEik9hDE0AKj72AbTCaxtHPUaKZdAZSnQTyjGqGLsmBStCejApUhg4uBMU6mATujEl+KdDPbI6Ag4vLr+hjY6lbjBeoLKnZl0UZgRX8gTySOeynZVz1wOq7e1hFGYIq+MhrGxDLak0PrwYzSXtcuyhXEhwOYofiW+EcI/jw8P6IY6ed+etAbuqKp5QIapT77LnAe505lMuqL79a0ut4rWexzFttsOsLDy7zvtQzcq3U1qabe7tB0wHWVXji+zDbo8x8HyIRUbXnwUcklFv51fvTymiV+MXLSmGH9d9+aXpD5X6lao41anWGig7IwIdnoBY2ht/pO9mClLo4NdXHAsefqWUKlXJkbqPOFhMoR4aiA1BXqhRNbB2Xwi+7u/jpAoOpKJ0UX24EsrzMfHXViakCNcKjBxuQX8BO0ZqjJ3xXzf+61t2VXOSgJ8xu65QKgtN6FibPmPYsXbJRHHqbgATcSZxBqGiDiU4NNNsYBsKD0MIP/OfKnlk/Lkaid/O2NbKeuQrwOB2Gq3YHyr6ALgzym5wIBnsdC1ZkoBFZSQXChZvlesPqvK2c5oHHT3Q65jYpNxnQcGF0EHbvYqoFw60WNlXIHQF2HQB7zD6lWjZ9rVqUKBXUT6hrkZOle0RFYII0V5ZYGl1JAP0Ud1fZZMvSomBzJ710j4Me8mjQDwEre5Uv2wQfk1ifDwb5ksuJQQ3xt423lbuQjvoIQByQrNDh1JxGFkOdlJvu/gFtuW0wR4cgd+ZKesSV7QkNE2kw6AV4hoIuC02LGmTomyf8PiO6CZzOTLTPQ+HW06H+tx+bQ8LmDYg1pTFrp2oJXgkZTyeRJZM0C8aE2LpFrNVDuhARsN543/FV6klQ6Tv1OoZGXLv0igKrl/CmJxRmX7JJbJ998VSIPQRyDBICzl4JJlYHbdql30NvYcOuZ7a10uWRrgoieOdgIm4rlq6vNOQBuqESLbXG5lzdJGHw2m0sDYmODXbYGTfSTGRKpssTO95fothJCjUGQgEL4yKoGAF/0SrpUDNn8CBgBcSDQByAeNkCXp4S4Ro2Xh4OeaGRgR66PVOsU8bc6TR5/xTcn4IVMLOkXSWiXxkZQCbvKfmoAvQaKjO3EDKwkwqHChCDEM5loQRPd5ACBki1TjF772oaQhQbQ5C0lcWXPFOzrfsDGUXGrpxasbG4iab6eByaQkQfm0VFlP0ZsDkvvqCL6QXMUwCjdMx1ZOyKhTJ7a1GWAdOUcJ8RSejxNVyGs31OKMyRyBVoZFjqIkmKlLQ5eHMeEL4MkUf23cQ/1SgRCJ1dk4UdBT7OoyuNgLs0oCd8RnrEIb6QdMxT2QjD4zMrJkfgx5aDMcA4orsTtKCqWb/Veyceqa5OGSmB28YwH4rFbkQaLoUN8OQQYnD3w2eXpI4ScQfbCUZiJ4yMOIKLyyTc7BQ4uXUw6Ee6/xM+4Y67ngNBknxIPwuppgIhFcwJyr6EIj+LzNj/mfR2vhhRlx0BILZoAYruF0caWQ7YxO66UmeguDREAFHYuC7HJviRgVO6ruJH59h/C/PkgSle8xNzZJULLWq9JMDTE2fjGE146a1Us6PZDGYle6ldWRqn/pdpgHKNGrGIdkRK+KPETT9nKT6kLyDI8xd9A1FgWmXWRAIHwZ37WyZHOVyCadJEmMVz0MadMjDrPho+EIochkVC2xgGiwwsQ6DMv2P7UXqT4x7CdcYGId2BJQQa85EQKmCmwcRejQ9Bm4oATENFPkxPXILHpMPUyWTI5rjNOsIlmEeMbcOCEqInpXACYQ9DDxmFo9vcmsDblcMtg4tqBerNngkIKaFJmrQAPnq1dEzsMXcwjcHdfdCibcAxxA+q/j9m3LM/O7WJka4tSidVCjsvo2lQ/2ewyoYyXwAYyr2PlRoR5MpgVmSUIrM3PQxXPbgjBOaDQFIyFMJvx3Pc5RSYj12ySVF9fwFPQu2e2KWVoL9q3Ayv3IzpGHUdvdPdrNUdicjsTQ2ISy7QU3DrEytIjvbzJnAkmANXjAFERA0MUoPF3/5KFmW14bBNOhwircYgMqoDpUMcDtCmBE82QM2YtdjVLB4kBuKho/bcwQdeboqfQartuU3CsCf+cXkgYAqp/0Ee3RorAZt0AvvOCSI4JICIlGlsV0bsSid/NIEALAAzb6HAgyWHBps6xAOwkJIGcB82CxRQq4sJf3FzA70A+TRqcqjEMETCoez3mkPcpnoALs0ugJY8kQwrC+JE5ik3w9rzrvDRjAQnqgEVvdGrNwlanR0SOKWzxOJOvLJhcd8Cl4AshACUkv9czdMkJCVQSQhp6kp7StAlpVRpK0t0SW6LHeBJnE2QchB5Ccu8kxRghZXGIgZIiSj7gEKMJDClcnX6hgoqJMwiQDigIXg3ioFLCgDgjPtYHYpsF5EiA4kcnN18MZtOrY866dEQAb0FB34OGKHGZQjwW/WDHA60cYFaI/PjpzquUqdaYGcIq+mLez3WLFFCtNBN2QJcrlcoELgiPku5R5dSlJFaCEqEZle1AQzAKC+1SotMcBNyQUFuRHRF6OlimSBgjZeTBCwLyc6A+P/oFRchXTz5ADknYJHxzrJ5pGuIKRQISU6WyKTBBjD8WozmVYWIsto1AS5rxzKlvJu4E/vwOiKxRtCWsDM+eTHUrmwrCK5BIfMzGkD+0Fk5LzBs0jMYXktNDblB06LMNJ09U8pzSLmo14MS0OMjcdrZ31pyQqxJJpRImlSvfYAK8inkYU52QY2FPEVsjoWewpwhRp5yAuNpkqhdb7ku9Seefl2D0B8SMTFD90xi4CSOwwZy9IKkpMtI3FmFUg3/kFutpQGNc3pCR7gvC4sgwbupDu3DyEN+W6YGLNM21jpB49irxy9BSlHrVDlnihGKHwPrbVFtc+h1rVQKZduxIyojccZIIcOCmhEnC7UkY68WXKQgLi2JCDQkQWJRQuk60hZp0D3rtCTINSeY9Ej2kIKYfGxwOs4j9qMM7fYZiipzgcf7TamnehqdhsiMiCawXnz4xAbyCkLAx5EGbo3Ax1u3dUIKnTxIaxwQTHehPl3V491H0+bC5zgpGz7Io+mjdhKlPJ01EeMpM7UsRJMi1nGjmJg35i6bQBAAxjO/ENJubU2mg3ONySEoWklCwdABETcs7ck3jgiuU9pcKKpbgn+3YlzV1FzIkB6pmEDOSSyDfPPlQskznctFji0kpgZjW5RZe6x9kYT4KJcXg0bNiCyif+pZACCyRMmYsfiKmN9tSO65F0R2OO6ytlEhY5Sj6uRKfFxw0ijJaAx/k3QgnAFSq27/2i4GEBA+UvTJKK/9eISNvG46Em5RZfjTYLdeD8kdXHyrwId/DQZUaMCY4gGbke2C8vfjgV/Y9kkRQOJIn/xM9INZSpiBnqX0Q9GlQPpPKAyO5y+W5NMPSRdBCUlmuxl40ZfMCnf2Cp044uI9WLFtCi4YVxKjuRCOBWIb4XbIsGdbo4qtMQnNOQz4XDSui7W/N6l54qOynCqD3DpWQ+mpD7C40D8BZEWGJX3tlAaZBMj1yjvDYKwCJBa201u6nBKE5UE+7QSEhCwrXfbRZylAaAkplhBWX50dumrElePyNMRYUrC99UmcSSNgImhFhDI4BXjMtiqkgizUGCrZ8iwFxU6fQ8GEHCFdLewwxYWxgScAYMdMLmcZR6b7rZl95eQVDGVoUKcRMM1ixXQtXNkBETZkVVPg8LoSrdetHzkuM7DjZRHP02tCxA1fmkXKF3VzfN1pc1cv/8lbTIkkYpqKM9VOhp65ktYk+Q46myFWBapDfyWUCnsnI00QTBQmuFjMZTcd0V2NQ768Fhpby04k2IzNR1wKabuGJqYWwSly6ocMFGTeeI+ejsWDYgEvr66QgqdcIbFYDNgsm0x9UHY6SCd5+7tpsLpKdvhahIDyYmEJQCqMqtCF6UlrE5GXRmbu+vtm3BFSxI6ND6UxIE7GsGMgWqghXxSnaRJuGFveTcK5ZVSPJyjUxe1dKgI6kNF7EZhIZs8y8FVqwEfbM0Xk2ltORVDKZZM40SD3qQoQe0orJEKwPfZwm3YPqwixhUMOndis6MhbmfvLBKjC8sKKIZKbJk8L11oNkCQzCgvjhyyEiQSuJcgCQSG4Mocfgc0Hkwcjal1UNgP0CBPikYqBIk9tONv4kLtBswH07vUCjEaHiFGlLf8MgXKzSgjp2HolRRccAOh0ILHz9qlGgIFkwAnzHJRjWFhlA7ROwINyB5HFj59PRZHFor6voq7l23EPNRwdWhgawqbivLSjRA4htEYUFkjESu67icTg5S0aW1sOkCiIysfJ9UnIWevOOLGpepcBxy1wEhd2WI3AZg7sr9WBmHWyasxMcvY/iOmsLtHSWNUWEGk9hScMPShasUA1AcHOtRZlqMeQ0OzYS9vQvYUjOLrzP07BUAFikcJNMi7gIxEw4pL1G54TcmmmoAQ5s7TGWErJZ2Io4yQ0ljRYhL8H5e62oDtLF8aDpnIvZ5R3GWJyAugdiiJW9hQAVTsnCBHhwu7rkBlBX6r3b7ejEY0k5GGeyKv66v+6dg7mcJTrWHbtMywbedYqCQ0FPwoytmSWsL8WTtChZCKKzEF7vP6De4x2BJkkniMgSdWhbeBSLtJZR9CTHetK1xb34AYIJ37OegYIoPVbXgJ/qDQK+bfCtxQRVKQu77WzOoM6SGL7MaZwCGJVk46aImai9fmam+WpHG+0BtQPWUgZ7RIAlPq6lkECUhZQ2gqWkMYKcYMYaIc4gYCDFHYa2d1nzp3+J1eCBay8IYZ0wQRKGAqvCuZ/UgbQPyllosq+XtfKIZOzmeJqRazpmmoP/76YfkjzV2NlXTDSBYB04SVlNQsFTbGPk1t/I4Jktu0XSgifO2ozFOiwd/0SssJDn0dn4xqk4GDTTKX73/wQyBLdqgJ+Wx6AQaba3BA9CKEzjtQYIfAsiYamapq80LAamYjinlKXUkxdpIDk0puXUEYzSalfRibAeDAKpNiqQ0FTwoxuGYzRnisyTotdVTclis1LHRQCy/qqL8oUaQzWRxilq5Mi0IJGtMY02cGLD69vGjkj3p6pGePKI8bkBv5evq8SjjyU04vJR2cQXQwSJyoinDsUJHCQ50jrFTT7yRdbdYQMB3MYCb6uBzJ9ewhXYPAIZSXfeEQBZZ3GPN3Nbhh/wkvAJLXnQMdi5NYYZ5GHE400GS5rXkOZSQsdZgIbzRnF9ueLnsfQ47wHAsirITnTlkCcuWWIUhJSbpM3wWhXNHvt2xUsKKMpdBSbJnBMcihkoDqAd1Zml/R4yrzow1Q2A5G+kzo/RhRxQS2lCSDRV8LlYLBOOoo1bF4jwJAwKMK1tWLHlu9i0j4Ig8qVm6wE1DxXwAwQwsaBWUg2pOOol2dHxyt6npwJEdLDDVYyRc2D0HbcbLUJQj8gPevQBUBOUHXPrsAPBERICpnYESeu2OHotpXQxRGlCCtLdIsu23MhZVEoJg8Qumj/UMMc34IBqTKLDTp76WzL/dMjCxK7MjhiGjeYAC/kj/jY/Rde7hpSM1xChrog6yZ7OWTuD56xBJnGFE+pT2ElSyCnJcwVzCjkqeNLfMEJqKW0G7OFIp0G+9mh50I9o8k1tpCY0xYqFNIALgIfc2me4n1bmJnRZ89oepgLPT0NTMLNZsvSCZAc3TXaNB07vail36/dBySis4m9/DR8izaLJW6bWCkVgm5T+ius3ZXq4xI+GnbveLbdRwF2mNtsrE0JjYc1AXknCOrLSu7Te/r4dPYMCl5qtiHNTn+TPbh1jCBHH+dMJNhwNgs3nT+OhQoQ0vYif56BMG6WowAcHR3DjQolxLzyVekHj00PBAaW7IIAF1EF+uRIWyXjQMAs2chdpaKPNaB+kSezYt0+CA04sOg5vx8Fr7Ofa9sUv87h7SLAUFSzbetCCZ9pmyLt6l6/TzoA1/ZBG9bIUVHLAbi/kdBFgYGyGwRQGBpkqCEg2ah9UD6EedEcEL3j4y0BQQCiExEnocA3SZboh+epgd3YsOkHskZwPuQ5OoyA0fTA5AXrHcUOQF+zkJHIA7PwCDk1gGVmGUZSSoPhNf+Tklauz98QofOlCIQ/tCD4dosHYPqtPCXB3agggQQIqQJsSkB+qn0rkQ1toJjON/OtCIB9RYv3PqRA4C4U68ZMlZn6BdgEvi2ziU+TQ6NIw3ej+AtDwMGEZk7e2IjxUWKdAxyaw9OCwSmeADTPPleyk6UhGDNXQb++W6Uk4q6F7/rg6WVTo82IoCxSIsFDrav4EPHphD3u4hR53WKVvYZUwNCCeM4PMBWzK+EfIthZOkuAwPo5C5jgoZgn6dUdvx5rIDmd58cXXdKNfw3l+wM2UjgrDJeQHhbD7HW2QDoZMCujgIUkk5Fg8VCsdyjOtnGRx8wgKRPZN5dR0zPUyfGZFVihbFRniXZFOZGKPnEQzU3AnD1KfR6weHW2XS6KbPJxUkOTZsAB9vTVp3Le1F8q5l+DMcLiIq78jxAImD2pGFw0VHfRatScGlK6SMu8leTmhUSMy8Uhdd6xBiH3Gdman4tjQGLboJfqz6fL2WKHTmrfsKZRYX6BTDjDldKMosaSTLdQS7oDisJNqAUhw1PfTlnacCO8vl8706Km1FROgLDmudzxg+EWTiArtHgLsRrAXYWdB0NmToNCJdKm0KWycZQqb+Mw76Qy29iQ5up/X7oyw8QZ75kP5F6iJAJz6KCmqxz8fEa/xnsMYcIO/vEkGRuMckhr4rIeLrKaXnmIzlNLxbFspOphkcnJdnz/Chp/Vlpj2P7jJQmQRwGnltkTV5dbF9fE3/fxoSqTROgq9wFUlbuYzYcasE0ouzBo+dDCDzxKAfhbAZYxQiHrLzV2iVexnDX/QnT1fsT/xuhu1ui5qIytgbGmRoQkeQooO8eJNNZsf0iALur8QxZFH0nCMnjerYQqG1pIfjyVZWxhVRznmmfLG00BcBWJE6hzQWRyFknuJnXuk8A5FRDCulwrWASSNoBtR+CtGdkPwYN2o7DOw/VGlCZPusRBFXODQdUM5zeHDIVuAJBLqbO/f9Qua+pDqEPk230Sob9lEZ8BHiCorjVghuI0lI4JDgHGRDD/prQ84B1pVGkIpVUAHCG+iz3Bn3qm2AVrYcYWhock4jso5+J7HfHVj4WMIQdGctq3psBCVVzupQOEioBGA2Bk+UILT7+VoX5mdxxA5fS42gISQVi/HTzrgMxu0fY6hE1ocUwwbsbWcezrY2n6S8/6cxXkOH4prpmPuFoikTzY7T85C4T2XYlbxLglSv2uLCgFv8Quk/wdesUdWPeHYIH0R729JIisN9Apdd4eB10aqwXrPt+Su9mA8k8n1sjMwnfsfF2j3jMUzXepSHmZ/BfqXvzgUNQQWOXO8YEuFBh4QTYCkOAPxywpYu1VxiDyJmKVcmJPGWk/gc3Pov02StyYDahwmzw3E1gYC9wkupyWfDqDSUMpCTH5e5N8B//lHiMuIkTNw4USHrJU67bjXGqNav6PBuQSoqTxc8avHoGmvqNtXzIaoyMIQIiiUHIM64cXieouplhNYln7qgc4wBVAYR104kO+CvKqsg4yIUlFNThVUAKZxZt1XA34h3TCUUiXVkZ0w8Hh2R0Z5L0b4LZvPd/p1gi/07h8qfwHrByuSxglc9cI4QIg2oqvC/qm0i7tjPLTgDhoWTAKDO2ONW5oe+/eKB9vZB8K6C25yCZ9RFVMnb6NRdRjyVK57CHHSkJBfnM2/j4ODUwRkqrtBBCrDsDpt8jhZdXoy/1BCqw3sSGhgGGy0a5Jw6BP/TExoCmNFYjZl248A0osgPyGEmRA+fAsqPVaNAfytu0vuQJ7rk3J4kTDTR2AlCHJ5cls26opZM4w3jMULh2YXKpcqGBtuleAlOZnaZGbD6DHzMd6i2oFeJ8z9XYmalg1Szd/ocZDc1C7Y6vcALJz2lYnTXiWEr2wawtoR4g3jvWUU2Ngjd1cewtFzEvM1NiHZPeLlIXFbBPawxNgMwwAlyNSuGF3zizVeOoC9bag1qRAQKQE/EZBWC2J8mnXAN2aTBboZ7HewnObE8CwROudZHmUM5oZ/Ugd/JZQK8lvAm43uDRAbyW8gZ+ZGq0EVerVGUKUSm/Idn8AQHdR4m7bue88WBwft9mSCeMOt1ncBwziOmJYI2ZR7ewNMPiCugmSsE4EyQ+QATJG6qORMGd4snEzc6B4shPIo4G1T7PgSm8PY5eUkPdF8JZ0VBtadbHXoJgnEhZQaODPj2gpODKJY5Yp4DOsLBFxWbvXN755KWylJm+oOd4zEL9Hpubuy2gyyfxh8oEfFutnYWdfB8PdESLWYvSqbElP9qo3u6KTmkhoacDauMNNjj0oy40DFV7Ql0aZj77xfGl7TJNHnIwgqOkenruYYNo6h724+zUQ7+vkCpZB+pGA562hYQiDxHVWOq0oDQl/QsoiY+cuI7iWq/ZIBtHcXJ7kks+h2fCNUPA82BzjnqktNts+RLdk1VSu+tqEn7QZCCsvEqk6FkfiOYkrsw092J8jsfIuEKypNjLxrKA9kiA19mxBD2suxQKCzwXGws7kEJvlhUiV9tArLIdZW0IORcxEzdzKmjtFhsjKy/44XYXdI5noQoRcvjZ1RMPACRqYg2V1+OwOepcOknRLLFdYgTkT5UApt/JhLM3jeFYprZV+Zow2g8fP+U68hkKFWJj2yBbKqsrp25xkZX1DAjUw52IMYWaOhab8Kp05VrdNftqwRrymWF4OQSjbdfzmRZirK8FMJELEgER2PHjEAN9pGfLhCUiTJFbd5LBkOBMaxLr/A1SY9dXFz4RjzoU9ExfJCmx/I9FKEGT3n2cmzl2X42L3Jh+AbQq6sA+Ss1kitoa4TAYgKHaoybHUDJ51oETdeI/9ThSmjWGkyLi5QAGWhL0BG1UsTyRGRJOldKBrYJeB8ljLJHfATWTEQBXBDnQexOHTB+Un44zExFE4vLytcu5NwpWrUxO/0ZICUGM7hGABXym0V6ZvDST0E370St9MIWQOTWngeoQHUTdCJUP04spMBMS8LSker9cReVQkULFDIZDFPrhTzBl6sed9wcZQTbL+BDqMyaN3RJPh/anbx+Iv+qgQdAa3M9Z5JmvYlh4qop+Ho1F1W5gbOE9YKLgAnWytXElU4G8GtW47lhgFE6gaSs+gs37sFvi0PPVvA5dnCBgILTwoKd/+DoL9F6inlM7H4rOTzD79KJgKlZO/Zgt22UsKhrAaXU5ZcLrAglTVKJEmNJvORGN1vqrcfSMizfpsgbIe9zno+gBoKVXgIL/VI8dB1O5o/R3Suez/gD7M781ShjKpIIORM/nxG+jjhhgPwsn2IoXsPGPqYHXA63zJ07M2GPEykQwJBYLK808qYxuIew4frk52nhCsnCYmXiR6CuapvE1IwRB4/QftDbEn+AucIr1oxrLabRj9q4ae0+fXkHnteAJwXRbVkR0mctVSwEbqhJiMSZUp9DNbEDMmjX22m3ABpkrPQQTP3S1sib5pD2VRKRd+eNAjLYyT0hGrdjWJZy24OYXRoWQAIhGBZRxuBFMjjZQhpgrWo8SiFYbojcHO8V5DyscJpLTHyx9Fimassyo5U6WNtquUMYgccaHY5amgR3PQzq3ToNM5ABnoB9kuxsebqmYZm0R9qxJbFXCQ1UPyFIbxoUraTJFDpCk0Wk9GaYJKz/6oHwEP0Q14lMtlddQsOAU9zlYdMVHiT7RQP3XCmWYDcHCGbVRHGnHuwzScA0BaSBOGkz3lM8CArjrBsyEoV6Ys4qgDK3ykQQPZ3hCRGNXQTNNXbEb6tDiTDLKOyMzRhCFT+mAUmiYbV3YQVqFVp9dorv+TsLeCykS2b5yyu8AV7IS9cxcL8z4Kfwp+xJyYLv1OsxQCZwTB4a8BZ/5EdxTBJthApqyfd9u3ifr/WILTqq5VqgwMT9SOxbSGWLQJUUWCVi4k9tho9nEsbUh7U6NUsLmkYFXOhZ0kmamaJLRNJzSj/qn4Mso6zb6iLLBXoaZ6AqeWCjHQm2lztnejYYM2eubnpBdKVLORZhudH3JF1waBJKA9+W8EhMj3Kzf0L4vi4k6RoHh3Z5YgmSZmk6ns4fjScjAoL8GoOECgqgYEBYUGFVO4FUv4/YtowhEmTs0vrvlD/CrisnoBNDAcUi/teY7OctFlmARQzjOItrrlKuPO6E2Ox93L4O/4DcgV/dZ7qR3VBwVQxP1GCieA4RIpweYJ5FoYrHxqRBdJjnqbsikA2Ictbb8vE1GYIo9dacK0REgDX4smy6GAkxlH1yCGGsk+tgiDhNKuKu3yNrMdxafmKTF632F8Vx4BNK57GvlFisrkjN9WDAtjsWA0ENT2e2nETUb/n7qwhvGnrHuf5bX6Vh/n3xffU3PeHdR+FA92i6ufT3AlyAREoNDh6chiMWTvjKjHDeRhOa9YkOQRq1vQXEMppAQVwHCuIcV2g5rBn6GmZZpTR7vnSD6ZmhdSl176gqKTXu5E+YbfL0adwNtHP7dT7t7b46DVZIkzaRJOM+S6KcrzYVg+T3wSRFRQashjfU18NutrKa/7PXbtuJvpIjbgPeqd+pjmRw6YKpnANFSQcpzTZgpSNJ6J7uiagAbir/8tNXJ/OsOnRh6iuIexxrmkIneAgz8QoLmiaJ8sLQrELVK2yn3wOHp57BAZJhDZjTBzyoRAuuZ4eoxHruY1pSb7qq79cIeAdOwin4GdgMeIMHeG+FZWYaiUQQyC5b50zKjYw97dFjAeY2I4Bnl105Iku1y0lMA1ZHolLx19uZnRdILcXKlZGQx/GdEqSsMRU1BIrFqRcV1qQOOHyxOLXEGcbRtAEsuAC2V4K3p5mFJ22IDWaEkk9ttf5Izb2LkD1MnrSwztXmmD/Qi/EmVEFBfiKGmftsPwVaIoZanlKndMZsIBOskFYpDOq3QUs9aSbAAtL5Dbokus2G4/asthNMK5UQKCOhU97oaOYNGsTah+jfCKsZnTRn5TbhFX8ghg8CBYt/BjeYYYUrtUZ5jVij/op7V5SsbA4mYTOwZ46hqdpbB6Qvq3AS2HHNkC15pTDIcDNGsMPXaBidXYPHc6PJAkRh29Vx8KcgX46LoUQBhRM+3SW6Opll/wgxxsPgKJKzr5QCmwkUxNbeg6Wj34SUnEzOemSuvS2OetRCO8Tyy+QbSKVJcqkia+GvDefFwMOmgnD7h81TUtMn+mRpyJJ349HhAnoWFTejhpYTL9G8N2nVg1qkXBeoS9Nw2fB27t7trm7d/QK7Cr4uoCeOQ7/8JfKT77KiDzLImESHw/0wf73QeHu74hxv7uihi4fTX+XEwAyQG3264dwv17aJ5N335Vt9sdrAXhPOAv8JFvzqyYXwfx8WYJaef1gMl98JRFyl5Mv5Uo/oVH5ww5OzLFsiTPDns7fS6EURSSWd/92BxMYQ8sBaH+j+wthQPdVgDGpTfi+JQIWMD8xKqULliRH01rTeyF8x8q/GBEEEBrAJMPf25UQwi0b8tmqRXY7kIvNkzrkvRWLnxoGYEJsz8u4oOyMp8cHyaybb1HdMCaLApUE+/7xLIZGP6H9xuSEXp1zLIdjk5nBaMuV/yTDRRP8Y2ww5RO6d2D94o+6ucWIqUAvgHIHXhZsmDhjVLczmZ3ca0Cb3PpKwt2UtHVQ0BgFJsqqTsnzZPlKahRUkEu4qmkJt+kqdae76ViWe3STan69yaF9+fESD2lcQshLHWVu4ovItXxO69bqC5p1nZLvI8NdQB9s9UNaJGlQ5mG947ipdDA0eTIw/A1zEdjWquIsQXXGIVEH0thC5M+W9pZe7IhAVnPJkYCCXN5a32HjN6nsvokEqRS44tGIs7s2LVTvcrHAF+RVmI8L4HUYk4x+67AxSMJKqCg8zrGOgvK9kNMdDrNiUtSWuHFpC8/p5qIQrEo/H+1l/0cAwQ2nKmpWxKcMIuHY44Y6DlkpO48tRuUGBWT0FyHwSKO72Ud+tJUfdaZ4CWNijzZtlRa8+CkmO/EwHYfPZFU/hzjFWH7vnzHRMo+aF9u8qHSAiEkA2HjoNQPEwHsDKOt6hOoK3Ce/+/9boMWDa44I6FrQhdgS7OnNaSzwxWKZMcyHi6LN4WC6sSj0qm2PSOGBTvDs/GWJS6SwEN/ULwpb4LQo9fYjUfSXRwZkynUazlSpvX9e+G2zor8l+YaMxSEomDdLHGcD6YVQPegTaA74H8+V4WvJkFUrjMLGLlvSZQWvi8/QA7yzQ8GPno//5SJHRP/OqKObPCo81s/+6WgLqykYpGAgQZhVDEBPXWgU/WzFZjKUhSFInufPRiMAUULC6T11yL45ZrRoB4DzOyJShKXaAJIBS9wzLYIoCEcJKQW8GVCx4fihqJ6mshBUXSw3wWVj3grrHQlGNGhIDNNzsxQ3M+GWn6ASobIWC+LbYOC6UpahVO13Zs2zOzZC8z7FmA05JhUGyBsF4tsG0drcggIFzgg/kpf3+CnAXKiMgIE8Jk/Mhpkc8DUJEUzDSnWlQFme3d0sHZDrg7LavtsEX3cHwjCYA17pMTfx8Ajw9hHscN67hyo+RJQ4458RmPywXykkVcW688oVUrQhahpPRvTWPnuI0B+SkQu7dCyvLRyFYlC1LG1gRCIvn3rwQeINzZQC2KXq31FaR9UmVV2QeGVqBHjmE+VMd3b1fhCynD0pQNhCG6/WCDbKPyE7NRQzL3BzQAJ0g09aUzcQA6mUp9iZFK6Sbp/YbHjo++7/Wj8S4YNa+ZdqAw1hDrKWFXv9+zaXpf8ZTDSbiqsxnwN/CzK5tPkOr4tRh2kY3Bn9JtalbIOI4b3F7F1vPQMfoDcdxMS8CW9m/NCW/HILTUVWQIPiD0j1A6bo8vsv6P1hCESl2abrSJWDrq5sSzUpwoxaCU9FtJyYH4QFMxDBpkkBR6kn0LMPO+5EJ7Z6bCiRoPedRZ/P0SSdii7ZnPAtVwwHUidcdyspwncz5uq6vvm4IEDbJVLUFCn/LvIHfooUBTkFO130FC7CmmcrKdgDJcid9mvVzsDSibOoXtIf9k6ABle3PmIxejodc4aob0QKS432srrCMndbfD454q52V01G4q913mC5HOsTzWF4h2No1av1VbcUgWAqyoZl+11PoFYnNv2HwAODeNRkHj+8SF1fcvVBu6MrehHAZK1Gm69ICcTKizykHgGFx7QdowTVAsYEF2tVc0Z6wLryz2FI1sc5By2znJAAmINndoJiB4sfPdPrTC8RnkW7KRCwxC6YvXg5ahMlQuMpoCSXjOlBy0Kij+bsCYPbGp8BdCBiLmLSAkEQRaieWo1SYvZIKJGj9Ur/eWHjiB7SOVdqMAVmpBvfRiebsFjger7DC+8kRFGtNrTrnnGD2GAJb8rQCWkUPYHhwXsjNBSkE6lGWUj5QNhK0DMNM2l+kXRZ0KLZaGsFSIdQz/HXDxf3/TE30+DgBKWGWdxElyLccJfEpjsnszECNoDGZpdwdRgCixeg9L4EPhH+RptvRMVRaahu4cySjS3P5wxAUCPkmn+rhyASpmiTaiDeggaIxYBmtLZDDhiWIJaBgzfCsAGUF1Q1SFZYyXDt9skCaxJsxK2Ms65dmdp5WAZyxik/zbrTQk5KmgxCg/f45L0jywebOWUYFJQAJia7XzCV0x89rpp/f3AVWhSPyTanqmik2SkD8A3Ml4NhIGLAjBXtPShwKYfi2eXtrDuKLk4QlSyTw1ftXgwqA2jUuopDl+5tfUWZNwBpEPXghzbBggYCw/dhy0ntds2yeHCDKkF/YxQjNIL/F/37jLPHCKBO9ibwYCmuxImIo0ijV2Wbg3kSN2psoe8IsABv3RNFaF9uMyCtCYtqcD+qNOhwMlfARQUdJ2tUX+MNJqOwIciWalZsmEjt07tfa8ma4cji9sqz+Q9hWfmMoKEbIHPOQORbhQRHIsrTYlnVTNvcq1imqmmPDdVDkJgRcTgB8Sb6epCQVmFZe+jGDiNJQLWnfx+drTKYjm0G8yH0ZAGMWzEJhUEQ4Maimgf/bkvo8PLVBsZl152y5S8+HRDfZIMCbYZ1WDp4yrdchOJw8k6R+/2pHmydK4NIK2PHdFPHtoLmHxRDwLFb7eB+M4zNZcB9NrAgjVyzLM7xyYSY13ykWfIEEd2n5/iYp3ZdrCf7fL+en+sIJu2W7E30MrAgZBD1rAAbZHPgeAMtKCg3NpSpYQUDWJu9bT3V7tOKv+NRiJc8JAKqqgCA/PNRBR7ChpiEulyQApMK1AyqcWnpSOmYh6yLiWkGJ2mklCSPIqN7UypWj3dGi5MvsHQ87MrB4VFgypJaFriaHivwcHIpmyi5LhNqtem4q0n8awM19Qk8BOS0EsqGscuuydYsIGsbT5GHnERUiMpKJl4ON7qjB4fEqlGN/hCky89232UQCiaeWpDYCJINXjT6xl4Gc7DxRCtgV0i1ma4RgWLsNtnEBRQFqZggCLiuyEydmFd7WlogpkCw5G1x4ft2psm3KAREwVwr1Gzl6RT7FDAqpVal34ewVm3VH4qn5mjGj+bYL1NgfLNeXDwtmYSpwzbruDKpTjOdgiIHDVQSb5/zBgSMbHLkxWWgghIh9QTFSDILixVwg0Eg1puooBiHAt7DzwJ7m8i8/i+jHvKf0QDnnHVkVTIqMvIQImOrzCJwhSR7qYB5gSwL6aWL9hERHCZc4G2+JrpgHNB8eCCmcIWIQ6rSdyPCyftXkDlErUkHafHRlkOIjxGbAktz75bnh50dU7YHk+Mz7wwstg6RFZb+TZuSOx1qqP5C66c0mptQmzIC2dlpte7vZrauAMm/7RfBYkGtXWGiaWTtwvAQiq2oD4YixPLXE2khB2FRaNRDTk+9sZ6K74Ia9VntCpN4BhJGJMT4Z5c5FhSepRCRWmBXqx+whVZC4me4saDs2iNqXMuCl6iAZflH8fscC1sTsy4PHeC+XYuqMBMUun5YezKbRKmEPwuK+CLzijPEQgfhahQswBBLfg/GBgBiI4QwAqzJkkyYAWtjzSg2ILgMAgqxYfwERRo3zruBL9WOryUArSD8sQOcD7fvIODJxKFS615KFPsb68USBEPPj1orNzFY2xoTtNBVTyzBhPbhFH0PI5AtlJBl2aSgNPYzxYLw7XTDBDinmVoENwiGzmngrMo8OmnRP0Z0i0Zrln9DDFcnmOoBZjABaQIbPOJYZGqX+RCMlDDbElcjaROLDoualmUIQ88Kekk3iM4OQrADcxi3rJguS4MOIBIgKgXrjd1WkbCdqxJk/4efRIFsavZA7KvvJQqp3Iid5Z0NFc5aiMRzGN3vrpBzaMy4JYde3wr96PjN90AYOIbyp6T4zj8LoE66OGcX1Ef4Z3KoWLAUF4BTg7ug/AbkG5UNQXAMkQezujSHeir2uTThgd3gpyzDrbnEdDRH2W7U6PeRvBX1ZFMP5RM+Zu6UUZZD8hDPHldVWntTCNk7To8IeOW9yn2wx0gmurwqC60AOde4r3ETi5pVMSDK8wxhoGAoEX9NLWHIR33VbrbMveii2jAJlrxwytTHbWNu8Y4N8vCCyZjAX/pcsfwXbLze2+D+u33OGBoJyAAL3jn3RuEcdp5If8O+a4NKWvxOTyDltG0IWoHhwVGe7dKkCWFT++tm+haBCikRUUMrMhYKZJKYoVuv/bsJzO8DwfVIInQq3g3BYypiz8baogH3r3GwqCwFtZnz4xMjAVOYnyOi5HWbFA8n0qz1OjSpHWFzpQOpvkNETZBGpxN8ybhtqV/DMUxd9uFZmBfKXMCn/SqkWJyKPnT6lq+4zBZni6fYRByJn6OK+OgPBGRAJluwGSk4wxjOOzyce/PKODwRlsgrVkdcsEiYrqYdXo0Er2GXi2GQZd0tNJT6c9pK1EEJG1zgDJBoTVuCXGAU8BKTvCO/cEQ1Wjk3Zzuy90JX4m3O5IlxVFhYkSUwuQB2up7jhvkm+bddRQu5F9s0XftGEJ9JSuSk+ZachCbdU45fEqbugzTIUokwoAKvpUQF/CvLbWW5BNQFqFkJg2f30E/48StNe5QwBg8zz3YAJ82FZoXBxXSv4QDooDo79NixyglO9AembuBcx5Re3CwOKTHebOPhkmFC7wNaWtoBhFuV4AkEuJ0J+1pT0tLkvFVZaNzfhs/Kd3+A9YsImlO4XK4vpCo/elHQi/9gkFg07xxnuXLt21unCIpDV+bbRxb7FC6nWYTsMFF8+1LUg4JFjVt3vqbuhHmDKbgQ4e+RGizRiO8ky05LQGMdL2IKLSNar0kNG7lHJMaXr5mLdG3nykgj6vB/KVijd1ARWkFEf3yiUw1v/WaQivVUpIDdSNrrKbjO5NPnxz6qTTGgYg03HgPhDrCFyYZTi3XQw3HXCva39mpLNFtz8AiEhxAJHpWX13gCTAwgm9YTvMeiqetdNQv6IU0hH0G+ZManTqDLPjyrOse7WiiwOJCG+J0pZYULhN8NILulmYYvmVcV2MjAfA39sGKqGdjpiPo86fecg65UPyXDIAOyOkCx5NQsLeD4gGVjTVDwOHWkbbBW0GeNjDkcSOn2Nq4cEssP54t9D749A7M1AIOBl0Fi0sSO5v3P7LCBrM6ZwFY6kp2FX6AcbGUdybnfChHPyu6WlRZ2Fwv9YM0RMI7kISRgR8HpQSJJOyTfXj/6gQKuihPtiUtlCQVPohUgzfezTg8o1b3n9pNZeco1QucaoXe40Fa5JYhqdTspFmxGtW9h5ezLFZs3j/N46f+S2rjYNC2JySXrnSAFhvAkz9a5L3pza8eYKHNoPrvBRESpxYPJdKVUxBE39nJ1chrAFpy4MMkf0qKgYALctGg1DQI1kIymyeS2AJNT4X240d3IFQb/0jQbaHJ2YRK8A+ls6WMhWmpCXYG5jqapGs5/eOJErxi2/2KWVHiPellTgh/fNl/2KYPKb7DUcAg+mCOPQFCiU9Mq/WLcU1xxC8aLePFZZlE+PCLzf7ey46INWRw2kcXySR9FDgByXzfxiNKwDFbUSMMhALPFSedyjEVM5442GZ4hTrsAEvZxIieSHGSgkwFh/nFNdrrFD4tBH4Il7fW6ur4J8Xaz7RW9jgtuPEXQsYk7gcMs2neu3zJwTyUerHKSh1iTBkj2YJh1SSOZL5pLuQbFFAvyO4k1Hxg2h99MTC6cTUkbONQIAnEfGsGkNFWRbuRyyaEZInM5pij73EA9rPIUfU4XoqQpHT9THZkW+oKFLvpyvTBMM69tN1Ydwv1LIEhHsC+ueVG+w+kyCPsvV3erRikcscHjZCkccx6VrBkBRusTDDd8847GA7p2Ucy0y0HdSRN6YIBciYa4vuXcAZbQAuSEmzw+H/AuOx+aH+tBL88H57D0MsqyiZxhOEQkF/8DR1d2hSPMj/sNOa5rxcUnBgH8ictv2J+cb4BA4v3MCShdZ2vtK30vAwkobnEWh7rsSyhmos3WC93Gn9C4nnAd/PjMMtQfyDNZsOPd6XcAsnBE/mRHtHEyJMzJfZFLE9OvQa0i9kUmToJ0ZxknTgdl/XPV8xoh0K7wNHHsnBdvFH3sv52lU7UFteseLG/VanIvcwycVA7+BE1Ulyb20BvwUWZcMTKhaCcmY3ROpvonVMV4N7yBXTL7IDtHzQ4CCcqF66LjF3xUqgErKzolLyCG6Kb7irP/MVTCCwGRxfrPGpMMGvPLgJ881PHMNMIO09T5ig7AzZTX/5PLlwnJLDAPfuHynSGhV4tPqR3gJ4kg4c06c/F1AcjGytKm2Yb5jwMotF7vro4YDLWlnMIpmPg36NgAZsGA0W1spfLSue4xxat0Gdwd0lqDBOgIaMANykwwDKejt5YaNtJYIkrSgu0KjIg0pznY0SCd1qlC6R19g97UrWDoYJGlrvCE05J/5wkjpkre727p5PTRX5FGrSBIfJqhJE/IS876PaHFkx9pGTH3oaY3jJRvLX9Iy3Edoar7cFvJqyUlOhAEiOSAyYgVEGkzHdug+oRHIEOXAExMiTSKU9A6nmRC8mp8iYhwWdP2U/5EkFAdPrZw03YA3gSyNUtMZeh7dDCu8pF5x0VORCTgKp07ehy7NZqKTpIC4UJJ89lnboyAfy5OyXzXtuDRbtAFjZRSyGFTpFrXwkpjSLIQIG3N0Vj4BtzK3wdlkBJrO18MNsgseR4BysJilI0wI6ZahLhBFA0XBmV8d4LUzEcNVb0xbLjLTETYN8OEVqNxkt10W614dd1FlFFVTIgB7/BQQp1sWlNolpIu4ekxUTBV7NmxOFKEBmmN+nA7pvF78/RII5ZHA09OAiE/66MF6HQ+qVEJCHxwymukkNvzqHEh52dULPbVasfQMgTDyBZzx4007YiKdBuUauQOt27Gmy8ISclPmEUCIcuLbkb1mzQSqIa3iE0PJh7UMYQbkpe+hXjTJKdldyt2mVPwywoODGJtBV1lJTgMsuSQBlDMwhEKIfrvsxGQjHPCEfNfMAY2oxvyKcKPUbQySkKG6tj9AQyEW3Q5rpaDJ5Sns9ScLKeizPRbvWYAw4bXkrZdmB7CQopCH8NAmqbuciZChHN8lVGaDbCnmddnqO1PQ4ieMYfcSiBE5zzMz+JV/4eyzrzTEShvqSGzgWimkNxLvUj86iAwcZuIkqdB0VaIB7wncLRmzHkiUQpPBIXbDDLHBlq7vp9xwuC9AiNkIptAYlG7Biyuk8ILdynuUM1cHWJgeB+K3wBP/ineogxkvBNNQ4AkW0hvpBOQGFfeptF2YTR75MexYDUy7Q/9uocGsx41O4IZhViw/2FvAEuGO5g2kyXBUijAggWM08bRhXg5ijgMwDJy40QeY/cQpUDZiIzmvskQpO5G1zyGZA8WByjIQU4jRoFJt56behxtHUUE/om7Rj2psYXGmq3llVOCgGYKNMo4pzwntITtapDqjvQtqpjaJwjHmDzSVGLxMt12gEXAdLi/caHSM3FPRGRf7dB7YC+cD2ho6oL2zGDCkjlf/DFoQVl8GS/56wur3rdV6ggtzZW60MRB3g+U1W8o8cvqIpMkctiGVMzXUFI7FacFLrgtdz4mTEr4aRAaQ2AFQaNeG7GX0yOJgMRYFziXdJf24kg/gBQIZMG/YcPEllRTVNoDYR6oSJ8wQNLuihfw81UpiKPm714bZX1KYjcXJdfclCUOOpvTxr9AAJevTY4HK/G7F3mUc3GOAKqh60zM0v34v+ELyhJZqhkaMA8UMMOU90f8RKEJFj7EqepBVwsRiLbwMo1J2zrE2UYJnsgIAscDmjPjnzI8a719Wxp757wqmSJBjXowhc46QN4RwKIxqEE6E5218OeK7RfcpGjWG1jD7qND+/GTk6M56Ig4yMsU6LUW1EWE+fIYycVV1thldSlbP6ltdC01y3KUfkobkt2q01YYMmxpKRvh1Z48uNKzP/IoRIZ/F6buOymSnW8gICitpJjKWBscSb9JJKaWkvEkqinAJ2kowKoqkqZftRqfRQlLtKoqvTRDi2vg/RrPD/d3a09J8JhGZlEkOM6znTsoMCsuvTmywxTCDhw5dd0GJOHCMPbsj3QLkTE3MInsZsimDQ3HkvthT7U9VA4s6G07sID0FW4SHJmRGwCl+Mu4xf0ezqeXD2PtPDnwMPo86sbwDV+9PWcgFcARUVYm3hrFQrHcgMElFGbSM2A1zUYA3baWfheJp2AINmTJLuoyYD/OwA4a6V0ChBN97E8YtDBerUECv0u0TlxR5yhJCXvJxgyM73Bb6pyq0jTFJDZ4p1Am1SA6sh8nADd1hAcGBMfq4d/UfwnmBqe0Jun1n1LzrgKuZMAnxA3NtCN7Klf4BH+14B7ibBmgt0TGUafVzI4uKlpF7v8NmgNjg90D6QE3tbx8AjSAC+OA1YJvclyPKgT27QpIEgVYpbPYGBsnyCNrGz9XUsCHkW1QAHgL2STZk12QGqmvAB0NFteERkvBIH7INDsNW9KKaAYyDMdBEMzJiWaJHZALqDxQDWRntumSDPcplyFiI1oDpT8wbwe01AHhW6+vAUUBoGhY3CT2tgwehdPqU/4Q7ZLYvhRl/ogOvR9O2+wkkPKW5vCTjD2fHRYXONCoIl4Jh1bZY0ZE1O94mMGn/dFSWBWzQ/VYk+Gezi46RgiDv3EshoTmMSlioUK6MQEN8qeyK6FRninyX8ZPeUWjjbMJChn0n/yJvrq5bh5UcCAcBYSafTFg7p0jDgrXo2QWLb3WpSOET/Hh4oSadBTvyDo10IufLzxiMLAnbZ1vcUmj3w7BQuIXjEZXifwukVxrGa9j+DXfpi12m1RbzYLg9J2wFergEwOxFyD0/JstNK06ZN2XdZSGWxcJODpQHOq4iKqjqkJUmPu1VczL5xTGUfCgLEYyNBCCbMBFT/cUP6pE/mujnHsSDeWxMbhrNilS5MyYR0nJyzanWXBeVcEQrRIhQeJA6Xt4f2eQESNeLwmC10WJVHqwx8SSyrtAAjpGjidcj1E2FYN0LObUcFQhafUKTiGmHWRHGsFCB+HEXgrzJEB5bp0QiF8ZHh11nFX8AboTD0PS4O1LqF8XBks2MpjsQnwKHF6HgaKCVLJtcr0XjqFMRGfKv8tmmykhLRzu+vqQ02+KpJBjaLt9ye1Ab+BbEBhy4EVdIJDrL2naV0o4wU8YZ2Lq04FG1mWCKC+UwkXOoAjneU/xHplMQo2cXUlrVNqJYczgYlaOEczVCs/OCgkyvLmTmdaBJc1iBLuKwmr6qtRnhowngsDxhzKFAi02tf8bmET8BO27ovJKF1plJwm3b0JpMh38+xsrXXg7U74QUM8ZCIMOpXujHntKdaRtsgyEZl5MClMVMMMZkZLNxH9+b8fH6+b8Lev30A9TuEVj9CqAdmwAAHBPbfOBFEATAPZ2CS0OH1Pj/0Q7PFUcC8hDrxESWdfgFRm+7vvWbkEppHB4T/1ApWnlTIqQwjcPl0VgS1yHSmD0OdsCVST8CQVwuiew1Y+g3QGFjNMzwRB2DSsAk26cmA8lp2wIU4p93AUBiUHFGOxOajAqD7Gm6NezNDjYzwLOaSXRBYcWipTSONHjUDXCY4mMI8XoVCR/Rrs/JLKXgEx+qkmeDlFOD1/yTQNDClRuiUyKYCllfMiQiyFkmuTz2vLsBNyRW+xz+5FElFxWB28VjYIGZ0Yd+5wIjkcoMaggxswbT0pCmckRAErbRlIlcOGdBo4djTNO8FAgQ+lT6vPS60BwTRSUAM3ddkEAZiwtEyArrkiDRnS7LJ+2hwbzd2YDQagSgACpsovmjil5wfPuXq3GuH0CyE7FK3M4FgRaFoIkaodORrPx1+JpI9psyNYIFuJogZa0/1AhOWdlHQxdAgbwacsHqPZo8u/ngAH2GmaTdhYnBfSDbBfh8CHq6Bx5bttP2+RdM+MAaYaZ0Y/ADkbNCZuAyAVQa2OcXOeICmDn9Q/eFkDeFQg5MgHEDXq/tVjj+jtd26nhaaolWxs1ixSUgOBwrDhRIGOLyOVk2/Bc0UxvseQCO2pQ2i+Krfhu/WeBovNb5dJxQtJRUDv2mCwYVpNl2efQM9xQHnK0JwLYt/U0Wf+phiA4uw8G91slC832pmOTCAoZXohg1fewCZqLBhkOUBofBWpMPsqg7XEXgPfAlDo2U5WXjtFdS87PIqClCK5nW6adCeXPkUiTGx0emOIDQqw1yFYGHEVx20xKjJVYe0O8iLmnQr3FA9nSIQilUKtJ4ZAdcTm7+ExseJauyqo30hs+1qSW211A1SFAOUgDlCGq7eTIcMAeyZkV1SQJ4j/e1Smbq4HcjqgFbLAGLyKxlMDMgZavK5NAYH19Olz3la/QCTiVelFnU6O/GCvykqS/wZJDhKN9gBtSOp/1SP5VRgJcoVj+kmf2wBgv4gjrgARBWiURYx8xENV3bEVUAAWWD3dYDKAIWk5opaCFCMR5ZjJExiCAw7gYiSZ2rkyTce4eNMY3lfGn+8p6+vBckGlKEXnA6Eota69OxDO9oOsJoy28BXOR0UoXNRaJD5ceKdlWMJlOFzDdZNpc05tkMGQtqeNF2lttZqNco1VtwXgRstLSQ6tSPChgqtGV5h2DcDReIQadaNRR6AsAYKL5gSFsCJMgfsaZ7DpKh8mg8Wz8V7H+gDnLuMxaWEIUPevIbClgap4dqmVWSrPgVYCzAoZHIa5z2Ocx1D/GvDOEqMOKLrMefWIbSWHZ6jbgA8qVBhYNHpx0P+jAgN5TB3haSifDcApp6yymEi6Ij/GsEpDYUgcHATJUYDUAmC1SCkJ4cuZXSAP2DEpQsGUjQmKJfJOvlC2x/pChkOyLW7KEoMYc5FDC4v2FGqSoRWiLsbPCiyg1U5yiHZVm1XLkHMMZL11/yxyw0UnGig3MFdZklN5FI/qiT65T+jOXOdO7XbgWurOAZR6Cv9uu1cm5LjkXX4xi6mWn5r5NjBS0gTliHhMZI2WNqSiSphEtiCAwnafS11JhseDGHYQ5+bqWiAYiAv6Jsf79/VUs4cIl+n6+WOjcgB/2l5TreoAV2717JzZbQIR0W1cl/dEqCy5kJ3ZSIHuU0vBoHooEpiHeQWVkkkOqRX27eD1FWw4BfO9CJDdKoSogQi3hAAwsPRFrN5RbX7bqLdBJ9JYMohWrgJKHSjVl1sy2xAG0E3sNyO0oCbSGOxCNBRRXTXenYKuwAoDLfnDcQaCwehUOIDiHAu5m5hMpKeKM4sIo3vxACakIxKoH2YWF2QM84e6F5C5hJU4g8uxuFOlAYnqtwxmHyNEawLW/PhoawJDrGAP0JYWHgAVUByo/bGdiv2T2EMg8gsS14/rAdzlOYazFE7w4OzxeKiWdm3nSOnQRRKXSlVo8HEAbBfyJMKqoq+SCcTSx5NDtbFwNlh8VhjGGDu7JG5/TAGAvniQSSUog0pNzTim8Owc6QTuSKSTXlQqwV3eiEnklS3LeSXYPXGK2VgeZBqNcHG6tZHvA3vTINhV0ELuQdp3t1y9+ogD8Kk/W7QoRN1UWPqM4+xdygkFDPLoTaumKReKiLWoPHOfY54m3qPx4c+4pgY3MRKKbljG8w4wvz8pxk3AqKsy4GMAkAtmRjRMsCxbb4Q2Ds0Ia9ci8cMT6DmsJG00XaHCIS+o3F8YVVeikw13w+OEDaCYYhC0ZE54kA4jpjruBr5STWeqQG6M74HHL6TZ3lXrd99ZX++7LhNatQaZosuxEf5yRA15S9gPeHskBIq3Gcw81AGb9/O53DYi/5CsQ51EmEh8Rkg4vOciClpy4d04eYsfr6fyQkBmtD+P8sNh6e+XYHJXT/lkXxT4KXU5F2sGxYyzfniMMQkb9OjDN2C8tRRgTyL7GwozH14PrEUZc6oz05Emne3Ts5EG7WolDmU8OB1LDG3VrpQxp+pT0KYV5dGtknU64JhabdqcVQbGZiAxQAnvN1u70y1AnmvOSPgLI6uB4AuDGhmAu3ATkJSw7OtS/2ToPjqkaq62/7WFG8advGlRRqxB9diP07JrXowKR9tpRa+jGJ91zxNTT1h8I2PcSfoUPtd7NejVoH03EUcqSBuFZPkMZhegHyo2ZAITovmm3zAIdGFWxoNNORiMRShgwdYwFzkPw5PA4a5MIIQpmq+nsp3YMuXt/GkXxLx/P6+ZJS0lFyz4MunC3eWSGE8xlCQrKvhKUPXr0hjpAN9ZK4PfEDrPMfMbGNWcHDzjA7ngMxTPnT7GMHar+gMQQ3NwHCv4zH4BIMYvzsdiERi6gebRmerTsVwZJTRsL8dkZgxgRxmpbgRcud+YlCIRpPwHShlUSwuipZnx9QCsEWziVazdDeKSYU5CF7UVPAhLer3CgJOQXl/zh575R5rsrmRnKAzq4POFdgbYBuEviM4+LVC15ssLNFghbTtHWerS1hDt5s4qkLUha/qpZXhWh1C6lTQAqCNQnaDjS7UGFBC6wTu8yFnKJnExCnAs3Ok9yj5KpfZESQ4lTy5pTGTnkAUpxI+yjEldJfSo4y0QhG4i4IwkRFGcjWY8+EzgYYJUK7BXQksLxAww/YYWBMhJILB9e8ePEJ4OP7z+4/wOQDl64iOYDp26DaONPxpKtBxq/aTzRGarm3VkPYTLJKx6Z/Mw2YbBGseJhPMwhhNswrIkyvV2BYzrvZbxLpKwcWJhYmFtVZ+lPEq91FzVp1HlQY1bZVLqeNR9SAUn6n0E28k/UuGkNpP1DBI5ch/EehZfjUQ9aE41NhETExoPT2gGQz0IhWJbEOvTQ4wgcXCHHFBhewYUiFHuhRSAUVmEHeCRQHQkXGFwkAgyzREJCVN7TRnTon36Zw3tPhx4EALwNdwDv+J41YSP4B2CQqz0EFgARZ4ESgBHQgROwAVn9GTI+HYexTUevLUeta4/DqKrbMVS+Yqb8hUwYCrlgKtmAq1YCrFgKrd4qpXiqZcKn1oqdWipjYKpWwVPVYqW6xUpVipKqFR3QKjagVEtAqHpxUMTitsnFaJOKx2cVhswq35RVpyiq9lFVNIKnOQVMkgqtYxVNxiqQjFS7GKlSIVIsQqPIhUWwioigFQ++KkN8VHr49HDw9Ebo9EDo9DTo9Crg9BDg9/Wx7gWx7YWwlobYrOGxWPNisAaAHEyALpkAVDIAeWAArsABVXACYuAD5cAF6wAKFQAQqgAbVAAsoAAlQAUaYAfkwAvogBWQACOgAD9AAHSAAKT4GUdMiOvFngBTwCn2AZ7Dv6B6k/90B8+yRnkV144AIBoAMTQATGgAjNAA4YABgwABZgB/mQCwyAVlwCguASlwCEuAQFwB4uAMlwBYuAJlQAUVAAhUD2KgdpUDaJgaRMDFJgX5MC1JgWJEAokQCWRAHxEAWkQBMRADpEAMkQAYROAEecC484DRpwBDTnwNOdw05tjTmiNOYwtswhYFwLA7BYG4LA2BYGOLAwRYFuLAsxYFQJAohIEyJAMwkAwiQC0JAJgkAeiQBkJAFokAPCQA0JABwcD4Dgc4cDdDgaYcDIDgYgUC6CgWgUClCgUYUAVBQBOFAEYMALgwAgDA9QYAdIn8AZzeBB2L5EcWrenUT1KXienEsuJJ7x5U8XlTjc1NVzUyXFTGb1LlpUtWlTDIjqwE4LsagowoCi2gJLKAkpoBgJQNpAIhNqaEoneI6kiiqQ6Go/n6j0cS+a2gEU8gIHJ+BwfgZX4GL+Bd/gW34FZ+BS/gUH4FN6BTegTvoEv6BJegRnYEF2A79gOvYDl2BdEjCkqkGtwXp0LNToIskOTXzh/F062yJ7AAAAEDAWAAABWhJ+KPEIJgBFxMVP7w2QJBGHASQnOBKXKFIdUK4igKA9IEaYJg);src:url(data:application/vnd.ms-fontobject;base64,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) format('embedded-opentype'),url(data:application/font-woff;base64,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) format('woff'),url(data:application/x-font-truetype;base64,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JbwmFCZ+JuYnUCe8J/goNChwKKwpoCnMKiYqSiqEKworeiwILGgsuizsLRwtiC30LiguZi6iLtgvDi9GL34vsi/4MD4whDDSMRIxYDGuMegyJDJeMpoy3jMiMz4zaDO2NBg0YDSoNNI1LDWeNeg2PjZ8Ntw3GjdON5I31DgQOEI4hjjIOQo5SjmIOcw6HDpsOpo63jugO9w8GDxQPKI8+D0yPew+Oj6MPtQ/KD9uP6o/+kBIQIBAxkECQX5CGEKoQu5DGENCQ3ZDoEPKRBBEYESuRPZFWkW2RgZGdEa0RvZHNkd2R7ZH9kgWSDJITkhqSIZIzEkSSThJXkmESapKAkouSlIAAQAAARcApwARAAAAAAACAAAAAQABAAAAQAAuAAAAAAAAABAAxgABAAAAAAATABIAAAADAAEECQAAAGoAEgADAAEECQABACgAfAADAAEECQACAA4ApAADAAEECQADAEwAsgADAAEECQAEADgA/gADAAEECQAFAHgBNgADAAEECQAGADYBrgADAAEECQAIABYB5AADAAEECQAJABYB+gADAAEECQALACQCEAADAAEECQAMACQCNAADAAEECQATACQCWAADAAEECQDIABYCfAADAAEECQDJADACkgADAAEECdkDABoCwnd3dy5nbHlwaGljb25zLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgAKkAIAAyADAAMQA0ACAAYgB5ACAASgBhAG4AIABLAG8AdgBhAHIAaQBrAC4AIABBAGwAbAAgAHIAaQBnAGgAdABzACAAcgBlAHMAZQByAHYAZQBkAC4ARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzAFIAZQBnAHUAbABhAHIAMQAuADAAMAA5ADsAVQBLAFcATgA7AEcATABZAFAASABJAEMATwBOAFMASABhAGwAZgBsAGkAbgBnAHMALQBSAGUAZwB1AGwAYQByAEcATABZAFAASABJAEMATwBOAFMAIABIAGEAbABmAGwAaQBuAGcAcwAgAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAOQA7AFAAUwAgADAAMAAxAC4AMAAwADkAOwBoAG8AdABjAG8AbgB2ACAAMQAuADAALgA3ADAAOwBtAGEAawBlAG8AdABmAC4AbABpAGIAMgAuADUALgA1ADgAMwAyADkARwBMAFkAUABIAEkAQwBPAE4AUwBIAGEAbABmAGwAaQBuAGcAcwAtAFIAZQBnAHUAbABhAHIASgBhAG4AIABLAG8AdgBhAHIAaQBrAEoAYQBuACAASwBvAHYAYQByAGkAawB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQBXAGUAYgBmAG8AbgB0ACAAMQAuADAAVwBlAGQAIABPAGMAdAAgADIAOQAgADAANgA6ADMANgA6ADAANwAgADIAMAAxADQARgBvAG4AdAAgAFMAcQB1AGkAcgByAGUAbAAAAAIAAAAAAAD/tQAyAAAAAAAAAAAAAAAAAAAAAAAAAAABFwAAAQIBAwADAA0ADgEEAJYBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMA7wEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB+gH7AfwB/QH+Af8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgZnbHlwaDEGZ2x5cGgyB3VuaTAwQTAHdW5pMjAwMAd1bmkyMDAxB3VuaTIwMDIHdW5pMjAwMwd1bmkyMDA0B3VuaTIwMDUHdW5pMjAwNgd1bmkyMDA3B3VuaTIwMDgHdW5pMjAwOQd1bmkyMDBBB3VuaTIwMkYHdW5pMjA1RgRFdXJvB3VuaTIwQkQHdW5pMjMxQgd1bmkyNUZDB3VuaTI2MDEHdW5pMjZGQQd1bmkyNzA5B3VuaTI3MEYHdW5pRTAwMQd1bmlFMDAyB3VuaUUwMDMHdW5pRTAwNQd1bmlFMDA2B3VuaUUwMDcHdW5pRTAwOAd1bmlFMDA5B3VuaUUwMTAHdW5pRTAxMQd1bmlFMDEyB3VuaUUwMTMHdW5pRTAxNAd1bmlFMDE1B3VuaUUwMTYHdW5pRTAxNwd1bmlFMDE4B3VuaUUwMTkHdW5pRTAyMAd1bmlFMDIxB3VuaUUwMjIHdW5pRTAyMwd1bmlFMDI0B3VuaUUwMjUHdW5pRTAyNgd1bmlFMDI3B3VuaUUwMjgHdW5pRTAyOQd1bmlFMDMwB3VuaUUwMzEHdW5pRTAzMgd1bmlFMDMzB3VuaUUwMzQHdW5pRTAzNQd1bmlFMDM2B3VuaUUwMzcHdW5pRTAzOAd1bmlFMDM5B3VuaUUwNDAHdW5pRTA0MQd1bmlFMDQyB3VuaUUwNDMHdW5pRTA0NAd1bmlFMDQ1B3VuaUUwNDYHdW5pRTA0Nwd1bmlFMDQ4B3VuaUUwNDkHdW5pRTA1MAd1bmlFMDUxB3VuaUUwNTIHdW5pRTA1Mwd1bmlFMDU0B3VuaUUwNTUHdW5pRTA1Ngd1bmlFMDU3B3VuaUUwNTgHdW5pRTA1OQd1bmlFMDYwB3VuaUUwNjIHdW5pRTA2Mwd1bmlFMDY0B3VuaUUwNjUHdW5pRTA2Ngd1bmlFMDY3B3VuaUUwNjgHdW5pRTA2OQd1bmlFMDcwB3VuaUUwNzEHdW5pRTA3Mgd1bmlFMDczB3VuaUUwNzQHdW5pRTA3NQd1bmlFMDc2B3VuaUUwNzcHdW5pRTA3OAd1bmlFMDc5B3VuaUUwODAHdW5pRTA4MQd1bmlFMDgyB3VuaUUwODMHdW5pRTA4NAd1bmlFMDg1B3VuaUUwODYHdW5pRTA4Nwd1bmlFMDg4B3VuaUUwODkHdW5pRTA5MAd1bmlFMDkxB3VuaUUwOTIHdW5pRTA5Mwd1bmlFMDk0B3VuaUUwOTUHdW5pRTA5Ngd1bmlFMDk3B3VuaUUxMDEHdW5pRTEwMgd1bmlFMTAzB3VuaUUxMDQHdW5pRTEwNQd1bmlFMTA2B3VuaUUxMDcHdW5pRTEwOAd1bmlFMTA5B3VuaUUxMTAHdW5pRTExMQd1bmlFMTEyB3VuaUUxMTMHdW5pRTExNAd1bmlFMTE1B3VuaUUxMTYHdW5pRTExNwd1bmlFMTE4B3VuaUUxMTkHdW5pRTEyMAd1bmlFMTIxB3VuaUUxMjIHdW5pRTEyMwd1bmlFMTI0B3VuaUUxMjUHdW5pRTEyNgd1bmlFMTI3B3VuaUUxMjgHdW5pRTEyOQd1bmlFMTMwB3VuaUUxMzEHdW5pRTEzMgd1bmlFMTMzB3VuaUUxMzQHdW5pRTEzNQd1bmlFMTM2B3VuaUUxMzcHdW5pRTEzOAd1bmlFMTM5B3VuaUUxNDAHdW5pRTE0MQd1bmlFMTQyB3VuaUUxNDMHdW5pRTE0NAd1bmlFMTQ1B3VuaUUxNDYHdW5pRTE0OAd1bmlFMTQ5B3VuaUUxNTAHdW5pRTE1MQd1bmlFMTUyB3VuaUUxNTMHdW5pRTE1NAd1bmlFMTU1B3VuaUUxNTYHdW5pRTE1Nwd1bmlFMTU4B3VuaUUxNTkHdW5pRTE2MAd1bmlFMTYxB3VuaUUxNjIHdW5pRTE2Mwd1bmlFMTY0B3VuaUUxNjUHdW5pRTE2Ngd1bmlFMTY3B3VuaUUxNjgHdW5pRTE2OQd1bmlFMTcwB3VuaUUxNzEHdW5pRTE3Mgd1bmlFMTczB3VuaUUxNzQHdW5pRTE3NQd1bmlFMTc2B3VuaUUxNzcHdW5pRTE3OAd1bmlFMTc5B3VuaUUxODAHdW5pRTE4MQd1bmlFMTgyB3VuaUUxODMHdW5pRTE4NAd1bmlFMTg1B3VuaUUxODYHdW5pRTE4Nwd1bmlFMTg4B3VuaUUxODkHdW5pRTE5MAd1bmlFMTkxB3VuaUUxOTIHdW5pRTE5Mwd1bmlFMTk0B3VuaUUxOTUHdW5pRTE5Nwd1bmlFMTk4B3VuaUUxOTkHdW5pRTIwMAd1bmlFMjAxB3VuaUUyMDIHdW5pRTIwMwd1bmlFMjA0B3VuaUUyMDUHdW5pRTIwNgd1bmlFMjA5B3VuaUUyMTAHdW5pRTIxMQd1bmlFMjEyB3VuaUUyMTMHdW5pRTIxNAd1bmlFMjE1B3VuaUUyMTYHdW5pRTIxOAd1bmlFMjE5B3VuaUUyMjEHdW5pRTIyMwd1bmlFMjI0B3VuaUUyMjUHdW5pRTIyNgd1bmlFMjI3B3VuaUUyMzAHdW5pRTIzMQd1bmlFMjMyB3VuaUUyMzMHdW5pRTIzNAd1bmlFMjM1B3VuaUUyMzYHdW5pRTIzNwd1bmlFMjM4B3VuaUUyMzkHdW5pRTI0MAd1bmlFMjQxB3VuaUUyNDIHdW5pRTI0Mwd1bmlFMjQ0B3VuaUUyNDUHdW5pRTI0Ngd1bmlFMjQ3B3VuaUUyNDgHdW5pRTI0OQd1bmlFMjUwB3VuaUUyNTEHdW5pRTI1Mgd1bmlFMjUzB3VuaUUyNTQHdW5pRTI1NQd1bmlFMjU2B3VuaUUyNTcHdW5pRTI1OAd1bmlFMjU5B3VuaUUyNjAHdW5pRjhGRgZ1MUY1MTEGdTFGNkFBAAAAAAFUUMMXAAA=) format('truetype'),url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWV0YWRhdGE+PC9tZXRhZGF0YT4KPGRlZnM+Cjxmb250IGlkPSJnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXIiIGhvcml6LWFkdi14PSIxMjAwIiA+Cjxmb250LWZhY2UgdW5pdHMtcGVyLWVtPSIxMjAwIiBhc2NlbnQ9Ijk2MCIgZGVzY2VudD0iLTI0MCIgLz4KPG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjUwMCIgLz4KPGdseXBoIGhvcml6LWFkdi14PSIwIiAvPgo8Z2x5cGggaG9yaXotYWR2LXg9IjQwMCIgLz4KPGdseXBoIHVuaWNvZGU9IiAiIC8+CjxnbHlwaCB1bmljb2RlPSIqIiBkPSJNNjAwIDExMDBxMTUgMCAzNCAtMS41dDMwIC0zLjVsMTEgLTFxMTAgLTIgMTcuNSAtMTAuNXQ3LjUgLTE4LjV2LTIyNGwxNTggMTU4cTcgNyAxOCA4dDE5IC02bDEwNiAtMTA2cTcgLTggNiAtMTl0LTggLTE4bC0xNTggLTE1OGgyMjRxMTAgMCAxOC41IC03LjV0MTAuNSAtMTcuNXE2IC00MSA2IC03NXEwIC0xNSAtMS41IC0zNHQtMy41IC0zMGwtMSAtMTFxLTIgLTEwIC0xMC41IC0xNy41dC0xOC41IC03LjVoLTIyNGwxNTggLTE1OCBxNyAtNyA4IC0xOHQtNiAtMTlsLTEwNiAtMTA2cS04IC03IC0xOSAtNnQtMTggOGwtMTU4IDE1OHYtMjI0cTAgLTEwIC03LjUgLTE4LjV0LTE3LjUgLTEwLjVxLTQxIC02IC03NSAtNnEtMTUgMCAtMzQgMS41dC0zMCAzLjVsLTExIDFxLTEwIDIgLTE3LjUgMTAuNXQtNy41IDE4LjV2MjI0bC0xNTggLTE1OHEtNyAtNyAtMTggLTh0LTE5IDZsLTEwNiAxMDZxLTcgOCAtNiAxOXQ4IDE4bDE1OCAxNThoLTIyNHEtMTAgMCAtMTguNSA3LjUgdC0xMC41IDE3LjVxLTYgNDEgLTYgNzVxMCAxNSAxLjUgMzR0My41IDMwbDEgMTFxMiAxMCAxMC41IDE3LjV0MTguNSA3LjVoMjI0bC0xNTggMTU4cS03IDcgLTggMTh0NiAxOWwxMDYgMTA2cTggNyAxOSA2dDE4IC04bDE1OCAtMTU4djIyNHEwIDEwIDcuNSAxOC41dDE3LjUgMTAuNXE0MSA2IDc1IDZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iKyIgZD0iTTQ1MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMzUwaDM1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zNTB2LTM1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYzNTBoLTM1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNSBoMzUwdjM1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4YTA7IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4YTU7IiBkPSJNODI1IDExMDBoMjUwcTEwIDAgMTIuNSAtNXQtNS41IC0xM2wtMzY0IC0zNjRxLTYgLTYgLTExIC0xOGgyNjhxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMjV2LTEwMGgyNzVxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMjV2LTE3NHEwIC0xMSAtNy41IC0xOC41dC0xOC41IC03LjVoLTE0OHEtMTEgMCAtMTguNSA3LjV0LTcuNSAxOC41djE3NCBoLTI3NXEtMTAgMCAtMTMgNnQzIDE0bDEyMCAxNjBxNiA4IDE4IDE0dDIyIDZoMTI1djEwMGgtMjc1cS0xMCAwIC0xMyA2dDMgMTRsMTIwIDE2MHE2IDggMTggMTR0MjIgNmgxMThxLTUgMTIgLTExIDE4bC0zNjQgMzY0cS04IDggLTUuNSAxM3QxMi41IDVoMjUwcTI1IDAgNDMgLTE4bDE2NCAtMTY0cTggLTggMTggLTh0MTggOGwxNjQgMTY0cTE4IDE4IDQzIDE4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDA7IiBob3Jpei1hZHYteD0iNjUwIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwMTsiIGhvcml6LWFkdi14PSIxMzAwIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwMjsiIGhvcml6LWFkdi14PSI2NTAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMDAzOyIgaG9yaXotYWR2LXg9IjEzMDAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMDA0OyIgaG9yaXotYWR2LXg9IjQzMyIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDU7IiBob3Jpei1hZHYteD0iMzI1IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwNjsiIGhvcml6LWFkdi14PSIyMTYiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMDA3OyIgaG9yaXotYWR2LXg9IjIxNiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDg7IiBob3Jpei1hZHYteD0iMTYyIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwOTsiIGhvcml6LWFkdi14PSIyNjAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMDBhOyIgaG9yaXotYWR2LXg9IjcyIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAyZjsiIGhvcml6LWFkdi14PSIyNjAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMDVmOyIgaG9yaXotYWR2LXg9IjMyNSIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwYWM7IiBkPSJNNzQ0IDExOThxMjQyIDAgMzU0IC0xODlxNjAgLTEwNCA2NiAtMjA5aC0xODFxMCA0NSAtMTcuNSA4Mi41dC00My41IDYxLjV0LTU4IDQwLjV0LTYwLjUgMjR0LTUxLjUgNy41cS0xOSAwIC00MC41IC01LjV0LTQ5LjUgLTIwLjV0LTUzIC0zOHQtNDkgLTYyLjV0LTM5IC04OS41aDM3OWwtMTAwIC0xMDBoLTMwMHEtNiAtNTAgLTYgLTEwMGg0MDZsLTEwMCAtMTAwaC0zMDBxOSAtNzQgMzMgLTEzMnQ1Mi41IC05MXQ2MS41IC01NC41dDU5IC0yOSB0NDcgLTcuNXEyMiAwIDUwLjUgNy41dDYwLjUgMjQuNXQ1OCA0MXQ0My41IDYxdDE3LjUgODBoMTc0cS0zMCAtMTcxIC0xMjggLTI3OHEtMTA3IC0xMTcgLTI3NCAtMTE3cS0yMDYgMCAtMzI0IDE1OHEtMzYgNDggLTY5IDEzM3QtNDUgMjA0aC0yMTdsMTAwIDEwMGgxMTJxMSA0NyA2IDEwMGgtMjE4bDEwMCAxMDBoMTM0cTIwIDg3IDUxIDE1My41dDYyIDEwMy41cTExNyAxNDEgMjk3IDE0MXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMGJkOyIgZD0iTTQyOCAxMjAwaDM1MHE2NyAwIDEyMCAtMTN0ODYgLTMxdDU3IC00OS41dDM1IC01Ni41dDE3IC02NC41dDYuNSAtNjAuNXQwLjUgLTU3di0xNi41di0xNi41cTAgLTM2IC0wLjUgLTU3dC02LjUgLTYxdC0xNyAtNjV0LTM1IC01N3QtNTcgLTUwLjV0LTg2IC0zMS41dC0xMjAgLTEzaC0xNzhsLTIgLTEwMGgyODhxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMzh2LTE3NXEwIC0xMSAtNS41IC0xOCB0LTE1LjUgLTdoLTE0OXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE3NWgtMjY3cS0xMCAwIC0xMyA2dDMgMTRsMTIwIDE2MHE2IDggMTggMTR0MjIgNmgxMTd2MTAwaC0yNjdxLTEwIDAgLTEzIDZ0MyAxNGwxMjAgMTYwcTYgOCAxOCAxNHQyMiA2aDExN3Y0NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNjAwIDEwMDB2LTMwMGgyMDNxNjQgMCA4Ni41IDMzdDIyLjUgMTE5cTAgODQgLTIyLjUgMTE2dC04Ni41IDMyaC0yMDN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjIxMjsiIGQ9Ik0yNTAgNzAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjMxYjsiIGQ9Ik0xMDAwIDEyMDB2LTE1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTEwMHEwIC05MSAtNDkuNSAtMTY1LjV0LTEzMC41IC0xMDkuNXE4MSAtMzUgMTMwLjUgLTEwOS41dDQ5LjUgLTE2NS41di0xNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTE1MGgtODAwdjE1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2MTUwcTAgOTEgNDkuNSAxNjUuNXQxMzAuNSAxMDkuNXEtODEgMzUgLTEzMC41IDEwOS41IHQtNDkuNSAxNjUuNXYxMDBoLTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxNTBoODAwek00MDAgMTAwMHYtMTAwcTAgLTYwIDMyLjUgLTEwOS41dDg3LjUgLTczLjVxMjggLTEyIDQ0IC0zN3QxNiAtNTV0LTE2IC01NXQtNDQgLTM3cS01NSAtMjQgLTg3LjUgLTczLjV0LTMyLjUgLTEwOS41di0xNTBoNDAwdjE1MHEwIDYwIC0zMi41IDEwOS41dC04Ny41IDczLjVxLTI4IDEyIC00NCAzN3QtMTYgNTV0MTYgNTV0NDQgMzcgcTU1IDI0IDg3LjUgNzMuNXQzMi41IDEwOS41djEwMGgtNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDI1ZmM7IiBob3Jpei1hZHYteD0iNTAwIiBkPSJNMCAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDI2MDE7IiBkPSJNNTAzIDEwODlxMTEwIDAgMjAwLjUgLTU5LjV0MTM0LjUgLTE1Ni41cTQ0IDE0IDkwIDE0cTEyMCAwIDIwNSAtODYuNXQ4NSAtMjA2LjVxMCAtMTIxIC04NSAtMjA3LjV0LTIwNSAtODYuNWgtNzUwcS03OSAwIC0xMzUuNSA1N3QtNTYuNSAxMzdxMCA2OSA0Mi41IDEyMi41dDEwOC41IDY3LjVxLTIgMTIgLTIgMzdxMCAxNTMgMTA4IDI2MC41dDI2MCAxMDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyNmZhOyIgZD0iTTc3NCAxMTkzLjVxMTYgLTkuNSAyMC41IC0yN3QtNS41IC0zMy41bC0xMzYgLTE4N2w0NjcgLTc0NmgzMHEyMCAwIDM1IC0xOC41dDE1IC0zOS41di00MmgtMTIwMHY0MnEwIDIxIDE1IDM5LjV0MzUgMTguNWgzMGw0NjggNzQ2bC0xMzUgMTgzcS0xMCAxNiAtNS41IDM0dDIwLjUgMjh0MzQgNS41dDI4IC0yMC41bDExMSAtMTQ4bDExMiAxNTBxOSAxNiAyNyAyMC41dDM0IC01ek02MDAgMjAwaDM3N2wtMTgyIDExMmwtMTk1IDUzNHYtNjQ2eiAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyNzA5OyIgZD0iTTI1IDExMDBoMTE1MHExMCAwIDEyLjUgLTV0LTUuNSAtMTNsLTU2NCAtNTY3cS04IC04IC0xOCAtOHQtMTggOGwtNTY0IDU2N3EtOCA4IC01LjUgMTN0MTIuNSA1ek0xOCA4ODJsMjY0IC0yNjRxOCAtOCA4IC0xOHQtOCAtMThsLTI2NCAtMjY0cS04IC04IC0xMyAtNS41dC01IDEyLjV2NTUwcTAgMTAgNSAxMi41dDEzIC01LjV6TTkxOCA2MThsMjY0IDI2NHE4IDggMTMgNS41dDUgLTEyLjV2LTU1MHEwIC0xMCAtNSAtMTIuNXQtMTMgNS41IGwtMjY0IDI2NHEtOCA4IC04IDE4dDggMTh6TTgxOCA0ODJsMzY0IC0zNjRxOCAtOCA1LjUgLTEzdC0xMi41IC01aC0xMTUwcS0xMCAwIC0xMi41IDV0NS41IDEzbDM2NCAzNjRxOCA4IDE4IDh0MTggLThsMTY0IC0xNjRxOCAtOCAxOCAtOHQxOCA4bDE2NCAxNjRxOCA4IDE4IDh0MTggLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjcwZjsiIGQ9Ik0xMDExIDEyMTBxMTkgMCAzMyAtMTNsMTUzIC0xNTNxMTMgLTE0IDEzIC0zM3QtMTMgLTMzbC05OSAtOTJsLTIxNCAyMTRsOTUgOTZxMTMgMTQgMzIgMTR6TTEwMTMgODAwbC02MTUgLTYxNGwtMjE0IDIxNGw2MTQgNjE0ek0zMTcgOTZsLTMzMyAtMTEybDExMCAzMzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMTsiIGQ9Ik03MDAgNjUwdi01NTBoMjUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtODAwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgyNTB2NTUwbC01MDAgNTUwaDEyMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMjsiIGQ9Ik0zNjggMTAxN2w2NDUgMTYzcTM5IDE1IDYzIDB0MjQgLTQ5di04MzFxMCAtNTUgLTQxLjUgLTk1LjV0LTExMS41IC02My41cS03OSAtMjUgLTE0NyAtNC41dC04NiA3NXQyNS41IDExMS41dDEyMi41IDgycTcyIDI0IDEzOCA4djUyMWwtNjAwIC0xNTV2LTYwNnEwIC00MiAtNDQgLTkwdC0xMDkgLTY5cS03OSAtMjYgLTE0NyAtNS41dC04NiA3NS41dDI1LjUgMTExLjV0MTIyLjUgODIuNXE3MiAyNCAxMzggN3Y2MzlxMCAzOCAxNC41IDU5IHQ1My41IDM0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDM7IiBkPSJNNTAwIDExOTFxMTAwIDAgMTkxIC0zOXQxNTYuNSAtMTA0LjV0MTA0LjUgLTE1Ni41dDM5IC0xOTFsLTEgLTJsMSAtNXEwIC0xNDEgLTc4IC0yNjJsMjc1IC0yNzRxMjMgLTI2IDIyLjUgLTQ0LjV0LTIyLjUgLTQyLjVsLTU5IC01OHEtMjYgLTIwIC00Ni41IC0yMHQtMzkuNSAyMGwtMjc1IDI3NHEtMTE5IC03NyAtMjYxIC03N2wtNSAxbC0yIC0xcS0xMDAgMCAtMTkxIDM5dC0xNTYuNSAxMDQuNXQtMTA0LjUgMTU2LjV0LTM5IDE5MSB0MzkgMTkxdDEwNC41IDE1Ni41dDE1Ni41IDEwNC41dDE5MSAzOXpNNTAwIDEwMjJxLTg4IDAgLTE2MiAtNDN0LTExNyAtMTE3dC00MyAtMTYydDQzIC0xNjJ0MTE3IC0xMTd0MTYyIC00M3QxNjIgNDN0MTE3IDExN3Q0MyAxNjJ0LTQzIDE2MnQtMTE3IDExN3QtMTYyIDQzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDU7IiBkPSJNNjQ5IDk0OXE0OCA2OCAxMDkuNSAxMDR0MTIxLjUgMzguNXQxMTguNSAtMjB0MTAyLjUgLTY0dDcxIC0xMDAuNXQyNyAtMTIzcTAgLTU3IC0zMy41IC0xMTcuNXQtOTQgLTEyNC41dC0xMjYuNSAtMTI3LjV0LTE1MCAtMTUyLjV0LTE0NiAtMTc0cS02MiA4NSAtMTQ1LjUgMTc0dC0xNTAgMTUyLjV0LTEyNi41IDEyNy41dC05My41IDEyNC41dC0zMy41IDExNy41cTAgNjQgMjggMTIzdDczIDEwMC41dDEwNCA2NHQxMTkgMjAgdDEyMC41IC0zOC41dDEwNC41IC0xMDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwNjsiIGQ9Ik00MDcgODAwbDEzMSAzNTNxNyAxOSAxNy41IDE5dDE3LjUgLTE5bDEyOSAtMzUzaDQyMXEyMSAwIDI0IC04LjV0LTE0IC0yMC41bC0zNDIgLTI0OWwxMzAgLTQwMXE3IC0yMCAtMC41IC0yNS41dC0yNC41IDYuNWwtMzQzIDI0NmwtMzQyIC0yNDdxLTE3IC0xMiAtMjQuNSAtNi41dC0wLjUgMjUuNWwxMzAgNDAwbC0zNDcgMjUxcS0xNyAxMiAtMTQgMjAuNXQyMyA4LjVoNDI5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDc7IiBkPSJNNDA3IDgwMGwxMzEgMzUzcTcgMTkgMTcuNSAxOXQxNy41IC0xOWwxMjkgLTM1M2g0MjFxMjEgMCAyNCAtOC41dC0xNCAtMjAuNWwtMzQyIC0yNDlsMTMwIC00MDFxNyAtMjAgLTAuNSAtMjUuNXQtMjQuNSA2LjVsLTM0MyAyNDZsLTM0MiAtMjQ3cS0xNyAtMTIgLTI0LjUgLTYuNXQtMC41IDI1LjVsMTMwIDQwMGwtMzQ3IDI1MXEtMTcgMTIgLTE0IDIwLjV0MjMgOC41aDQyOXpNNDc3IDcwMGgtMjQwbDE5NyAtMTQybC03NCAtMjI2IGwxOTMgMTM5bDE5NSAtMTQwbC03NCAyMjlsMTkyIDE0MGgtMjM0bC03OCAyMTF6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwODsiIGQ9Ik02MDAgMTIwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTI1MHEwIC00NiAtMzEgLTk4dC02OSAtNTJ2LTc1cTAgLTEwIDYgLTIxLjV0MTUgLTE3LjVsMzU4IC0yMzBxOSAtNSAxNSAtMTYuNXQ2IC0yMS41di05M3EwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTExNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5M3EwIDEwIDYgMjEuNXQxNSAxNi41bDM1OCAyMzBxOSA2IDE1IDE3LjV0NiAyMS41djc1cS0zOCAwIC02OSA1MiB0LTMxIDk4djI1MHEwIDEyNCA4OCAyMTJ0MjEyIDg4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDk7IiBkPSJNMjUgMTEwMGgxMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTA1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTExNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxMDUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEwMCAxMDAwdi0xMDBoMTAwdjEwMGgtMTAwek04NzUgMTAwMGgtNTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMzUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoNTUwIHExMCAwIDE3LjUgNy41dDcuNSAxNy41djM1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6TTEwMDAgMTAwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwIDgwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwMCA4MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMDAgNjAwdi0xMDBoMTAwdjEwMGgtMTAwek04NzUgNTAwaC01NTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di0zNTBxMCAtMTAgNy41IC0xNy41IHQxNy41IC03LjVoNTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MzUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXpNMTAwIDQwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCAyMDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTA7IiBkPSJNNTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek02NTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCA1MDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMTsiIGQ9Ik01MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTEwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNODUwIDcwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAzMDBoMjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTg1MCAzMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41IHQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMjsiIGQ9Ik01MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAxMTAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC03MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNDUwIDcwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAzMDBoNzAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC03MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMzsiIGQ9Ik00NjUgNDc3bDU3MSA1NzFxOCA4IDE4IDh0MTcgLThsMTc3IC0xNzdxOCAtNyA4IC0xN3QtOCAtMThsLTc4MyAtNzg0cS03IC04IC0xNy41IC04dC0xNy41IDhsLTM4NCAzODRxLTggOCAtOCAxOHQ4IDE3bDE3NyAxNzdxNyA4IDE3IDh0MTggLThsMTcxIC0xNzFxNyAtNyAxOCAtN3QxOCA3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTQ7IiBkPSJNOTA0IDEwODNsMTc4IC0xNzlxOCAtOCA4IC0xOC41dC04IC0xNy41bC0yNjcgLTI2OGwyNjcgLTI2OHE4IC03IDggLTE3LjV0LTggLTE4LjVsLTE3OCAtMTc4cS04IC04IC0xOC41IC04dC0xNy41IDhsLTI2OCAyNjdsLTI2OCAtMjY3cS03IC04IC0xNy41IC04dC0xOC41IDhsLTE3OCAxNzhxLTggOCAtOCAxOC41dDggMTcuNWwyNjcgMjY4bC0yNjcgMjY4cS04IDcgLTggMTcuNXQ4IDE4LjVsMTc4IDE3OHE4IDggMTguNSA4dDE3LjUgLTggbDI2OCAtMjY3bDI2OCAyNjhxNyA3IDE3LjUgN3QxOC41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTU7IiBkPSJNNTA3IDExNzdxOTggMCAxODcuNSAtMzguNXQxNTQuNSAtMTAzLjV0MTAzLjUgLTE1NC41dDM4LjUgLTE4Ny41cTAgLTE0MSAtNzggLTI2MmwzMDAgLTI5OXE4IC04IDggLTE4LjV0LTggLTE4LjVsLTEwOSAtMTA4cS03IC04IC0xNy41IC04dC0xOC41IDhsLTMwMCAyOTlxLTExOSAtNzcgLTI2MSAtNzdxLTk4IDAgLTE4OCAzOC41dC0xNTQuNSAxMDN0LTEwMyAxNTQuNXQtMzguNSAxODh0MzguNSAxODcuNXQxMDMgMTU0LjUgdDE1NC41IDEwMy41dDE4OCAzOC41ek01MDYuNSAxMDIzcS04OS41IDAgLTE2NS41IC00NHQtMTIwIC0xMjAuNXQtNDQgLTE2NnQ0NCAtMTY1LjV0MTIwIC0xMjB0MTY1LjUgLTQ0dDE2NiA0NHQxMjAuNSAxMjB0NDQgMTY1LjV0LTQ0IDE2NnQtMTIwLjUgMTIwLjV0LTE2NiA0NHpNNDI1IDkwMGgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di03NWg3NXExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41IHQtMTcuNSAtNy41aC03NXYtNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY3NWgtNzVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg3NXY3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTY7IiBkPSJNNTA3IDExNzdxOTggMCAxODcuNSAtMzguNXQxNTQuNSAtMTAzLjV0MTAzLjUgLTE1NC41dDM4LjUgLTE4Ny41cTAgLTE0MSAtNzggLTI2MmwzMDAgLTI5OXE4IC04IDggLTE4LjV0LTggLTE4LjVsLTEwOSAtMTA4cS03IC04IC0xNy41IC04dC0xOC41IDhsLTMwMCAyOTlxLTExOSAtNzcgLTI2MSAtNzdxLTk4IDAgLTE4OCAzOC41dC0xNTQuNSAxMDN0LTEwMyAxNTQuNXQtMzguNSAxODh0MzguNSAxODcuNXQxMDMgMTU0LjUgdDE1NC41IDEwMy41dDE4OCAzOC41ek01MDYuNSAxMDIzcS04OS41IDAgLTE2NS41IC00NHQtMTIwIC0xMjAuNXQtNDQgLTE2NnQ0NCAtMTY1LjV0MTIwIC0xMjB0MTY1LjUgLTQ0dDE2NiA0NHQxMjAuNSAxMjB0NDQgMTY1LjV0LTQ0IDE2NnQtMTIwLjUgMTIwLjV0LTE2NiA0NHpNMzI1IDgwMGgzNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0zNTBxLTEwIDAgLTE3LjUgNy41IHQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxNzsiIGQ9Ik01NTAgMTIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04MDAgOTc1djE2NnExNjcgLTYyIDI3MiAtMjA5LjV0MTA1IC0zMzEuNXEwIC0xMTcgLTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNSB0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHEwIDE4NCAxMDUgMzMxLjV0MjcyIDIwOS41di0xNjZxLTEwMyAtNTUgLTE2NSAtMTU1dC02MiAtMjIwcTAgLTExNiA1NyAtMjE0LjV0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXEwIDEyMCAtNjIgMjIwdC0xNjUgMTU1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTg7IiBkPSJNMTAyNSAxMjAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTExNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxMTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTcyNSA4MDBoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NzUwIHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek00MjUgNTAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTQ1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djQ1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0xMjUgMzAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTI1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41IHYyNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDE5OyIgZD0iTTYwMCAxMTc0cTMzIDAgNzQgLTVsMzggLTE1Mmw1IC0xcTQ5IC0xNCA5NCAtMzlsNSAtMmwxMzQgODBxNjEgLTQ4IDEwNCAtMTA1bC04MCAtMTM0bDMgLTVxMjUgLTQ0IDM5IC05M2wxIC02bDE1MiAtMzhxNSAtNDMgNSAtNzNxMCAtMzQgLTUgLTc0bC0xNTIgLTM4bC0xIC02cS0xNSAtNDkgLTM5IC05M2wtMyAtNWw4MCAtMTM0cS00OCAtNjEgLTEwNCAtMTA1bC0xMzQgODFsLTUgLTNxLTQ0IC0yNSAtOTQgLTM5bC01IC0ybC0zOCAtMTUxIHEtNDMgLTUgLTc0IC01cS0zMyAwIC03NCA1bC0zOCAxNTFsLTUgMnEtNDkgMTQgLTk0IDM5bC01IDNsLTEzNCAtODFxLTYwIDQ4IC0xMDQgMTA1bDgwIDEzNGwtMyA1cS0yNSA0NSAtMzggOTNsLTIgNmwtMTUxIDM4cS02IDQyIC02IDc0cTAgMzMgNiA3M2wxNTEgMzhsMiA2cTEzIDQ4IDM4IDkzbDMgNWwtODAgMTM0cTQ3IDYxIDEwNSAxMDVsMTMzIC04MGw1IDJxNDUgMjUgOTQgMzlsNSAxbDM4IDE1MnE0MyA1IDc0IDV6TTYwMCA4MTUgcS04OSAwIC0xNTIgLTYzdC02MyAtMTUxLjV0NjMgLTE1MS41dDE1MiAtNjN0MTUyIDYzdDYzIDE1MS41dC02MyAxNTEuNXQtMTUyIDYzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjA7IiBkPSJNNTAwIDEzMDBoMzAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di0xMDBoMjc1cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzVoLTExMDB2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNzV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNNTAwIDEyMDB2LTEwMGgzMDB2MTAwaC0zMDB6TTExMDAgOTAwdi04MDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTcwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjUgdjgwMGg5MDB6TTMwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTUwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTcwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTkwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyMTsiIGQ9Ik0xOCA2MThsNjIwIDYwOHE4IDcgMTguNSA3dDE3LjUgLTdsNjA4IC02MDhxOCAtOCA1LjUgLTEzdC0xMi41IC01aC0xNzV2LTU3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM3NWgtMzAwdi0zNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1NzVoLTE3NXEtMTAgMCAtMTIuNSA1dDUuNSAxM3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDIyOyIgZD0iTTYwMCAxMjAwdi00MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDMwMHYtNjUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djExMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ1MHpNMTAwMCA4MDBoLTI1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjM7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTYwMCAxMDI3cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjUgdDE1NS41IC0xNTUuNXQyMTQuNSAtNTd0MjE0LjUgNTd0MTU1LjUgMTU1LjV0NTcgMjE0LjV0LTU3IDIxNC41dC0xNTUuNSAxNTUuNXQtMjE0LjUgNTd6TTUyNSA5MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0yNzVoMTc1cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI0OyIgZD0iTTEzMDAgMGgtNTM4bC00MSA0MDBoLTI0MmwtNDEgLTQwMGgtNTM4bDQzMSAxMjAwaDIwOWwtMjEgLTMwMGgxNjJsLTIwIDMwMGgyMDh6TTUxNSA4MDBsLTI3IC0zMDBoMjI0bC0yNyAzMDBoLTE3MHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI1OyIgZD0iTTU1MCAxMjAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDUwaDE5MXEyMCAwIDI1LjUgLTExLjV0LTcuNSAtMjcuNWwtMzI3IC00MDBxLTEzIC0xNiAtMzIgLTE2dC0zMiAxNmwtMzI3IDQwMHEtMTMgMTYgLTcuNSAyNy41dDI1LjUgMTEuNWgxOTF2NDUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTEyNSA0MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0zNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41IGgtMTA1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTc1aDkwMHYxNzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI2OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek01MjUgOTAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTI3NWgxMzdxMjEgMCAyNiAtMTEuNXQtOCAtMjcuNWwtMjIzIC0yNzVxLTEzIC0xNiAtMzIgLTE2dC0zMiAxNmwtMjIzIDI3NXEtMTMgMTYgLTggMjcuNXQyNiAxMS41aDEzN3YyNzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyNzsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNjAwIDEwMjdxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41dDU3IC0yMTQuNSB0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXQtNTcgMjE0LjV0LTE1NS41IDE1NS41dC0yMTQuNSA1N3pNNjMyIDkxNGwyMjMgLTI3NXExMyAtMTYgOCAtMjcuNXQtMjYgLTExLjVoLTEzN3YtMjc1cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2Mjc1aC0xMzdxLTIxIDAgLTI2IDExLjV0OCAyNy41bDIyMyAyNzVxMTMgMTYgMzIgMTYgdDMyIC0xNnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI4OyIgZD0iTTIyNSAxMjAwaDc1MHExMCAwIDE5LjUgLTd0MTIuNSAtMTdsMTg2IC02NTJxNyAtMjQgNyAtNDl2LTQyNXEwIC0xMiAtNCAtMjd0LTkgLTE3cS0xMiAtNiAtMzcgLTZoLTExMDBxLTEyIDAgLTI3IDR0LTE3IDhxLTYgMTMgLTYgMzhsMSA0MjVxMCAyNSA3IDQ5bDE4NSA2NTJxMyAxMCAxMi41IDE3dDE5LjUgN3pNODc4IDEwMDBoLTU1NnEtMTAgMCAtMTkgLTd0LTExIC0xOGwtODcgLTQ1MHEtMiAtMTEgNCAtMTh0MTYgLTdoMTUwIHExMCAwIDE5LjUgLTd0MTEuNSAtMTdsMzggLTE1MnEyIC0xMCAxMS41IC0xN3QxOS41IC03aDI1MHExMCAwIDE5LjUgN3QxMS41IDE3bDM4IDE1MnEyIDEwIDExLjUgMTd0MTkuNSA3aDE1MHExMCAwIDE2IDd0NCAxOGwtODcgNDUwcS0yIDExIC0xMSAxOHQtMTkgN3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI5OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek01NDAgODIwbDI1MyAtMTkwcTE3IC0xMiAxNyAtMzB0LTE3IC0zMGwtMjUzIC0xOTBxLTE2IC0xMiAtMjggLTYuNXQtMTIgMjYuNXY0MDBxMCAyMSAxMiAyNi41dDI4IC02LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMDsiIGQ9Ik05NDcgMTA2MGwxMzUgMTM1cTcgNyAxMi41IDV0NS41IC0xM3YtMzYycTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMzYycS0xMSAwIC0xMyA1LjV0NSAxMi41bDEzMyAxMzNxLTEwOSA3NiAtMjM4IDc2cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjV0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNWgxNTBxMCAtMTE3IC00NS41IC0yMjQgdC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXExOTIgMCAzNDcgLTExN3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDMxOyIgZD0iTTk0NyAxMDYwbDEzNSAxMzVxNyA3IDEyLjUgNXQ1LjUgLTEzdi0zNjFxMCAtMTEgLTcuNSAtMTguNXQtMTguNSAtNy41aC0zNjFxLTExIDAgLTEzIDUuNXQ1IDEyLjVsMTM0IDEzNHEtMTEwIDc1IC0yMzkgNzVxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41aC0xNTBxMCAxMTcgNDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXExOTIgMCAzNDcgLTExN3pNMTAyNyA2MDBoMTUwIHEwIC0xMTcgLTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41cS0xOTIgMCAtMzQ4IDExOGwtMTM0IC0xMzRxLTcgLTggLTEyLjUgLTUuNXQtNS41IDEyLjV2MzYwcTAgMTEgNy41IDE4LjV0MTguNSA3LjVoMzYwcTEwIDAgMTIuNSAtNS41dC01LjUgLTEyLjVsLTEzMyAtMTMzcTExMCAtNzYgMjQwIC03NnExMTYgMCAyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDMyOyIgZD0iTTEyNSAxMjAwaDEwNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTA1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djExNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMTA3NSAxMDAwaC04NTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di04NTBxMCAtMTAgNy41IC0xNy41dDE3LjUgLTcuNWg4NTBxMTAgMCAxNy41IDcuNXQ3LjUgMTcuNXY4NTAgcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXpNMzI1IDkwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01MjUgOTAwaDQ1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNDUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTAgcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTMyNSA3MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNTI1IDcwMGg0NTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTQ1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwIHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0zMjUgNTAwaDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTUyNSA1MDBoNDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC00NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMzI1IDMwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01MjUgMzAwaDQ1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNDUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTAgcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMzsiIGQ9Ik05MDAgODAwdjIwMHEwIDgzIC01OC41IDE0MS41dC0xNDEuNSA1OC41aC0zMDBxLTgyIDAgLTE0MSAtNTl0LTU5IC0xNDF2LTIwMGgtMTAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di02MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDkwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2NjAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41aC0xMDB6TTQwMCA4MDB2MTUwcTAgMjEgMTUgMzUuNXQzNSAxNC41aDIwMCBxMjAgMCAzNSAtMTQuNXQxNSAtMzUuNXYtMTUwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzNDsiIGQ9Ik0xMjUgMTEwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTEwNzVoLTEwMHYxMDc1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEwNzUgMTA1MnE0IDAgOSAtMnExNiAtNiAxNiAtMjN2LTQyMXEwIC02IC0zIC0xMnEtMzMgLTU5IC02Ni41IC05OXQtNjUuNSAtNTh0LTU2LjUgLTI0LjV0LTUyLjUgLTYuNXEtMjYgMCAtNTcuNSA2LjV0LTUyLjUgMTMuNXQtNjAgMjFxLTQxIDE1IC02MyAyMi41dC01Ny41IDE1dC02NS41IDcuNSBxLTg1IDAgLTE2MCAtNTdxLTcgLTUgLTE1IC01cS02IDAgLTExIDNxLTE0IDcgLTE0IDIydjQzOHEyMiA1NSA4MiA5OC41dDExOSA0Ni41cTIzIDIgNDMgMC41dDQzIC03dDMyLjUgLTguNXQzOCAtMTN0MzIuNSAtMTFxNDEgLTE0IDYzLjUgLTIxdDU3IC0xNHQ2My41IC03cTEwMyAwIDE4MyA4N3E3IDggMTggOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDM1OyIgZD0iTTYwMCAxMTc1cTExNiAwIDIyNyAtNDkuNXQxOTIuNSAtMTMxdDEzMSAtMTkyLjV0NDkuNSAtMjI3di0zMDBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djMwMHEwIDEyNyAtNzAuNSAyMzEuNXQtMTg0LjUgMTYxLjV0LTI0NSA1N3QtMjQ1IC01N3QtMTg0LjUgLTE2MS41dC03MC41IC0yMzEuNXYtMzAwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTAgcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MzAwcTAgMTE2IDQ5LjUgMjI3dDEzMSAxOTIuNXQxOTIuNSAxMzF0MjI3IDQ5LjV6TTIyMCA1MDBoMTYwcTggMCAxNCAtNnQ2IC0xNHYtNDYwcTAgLTggLTYgLTE0dC0xNCAtNmgtMTYwcS04IDAgLTE0IDZ0LTYgMTR2NDYwcTAgOCA2IDE0dDE0IDZ6TTgyMCA1MDBoMTYwcTggMCAxNCAtNnQ2IC0xNHYtNDYwcTAgLTggLTYgLTE0dC0xNCAtNmgtMTYwcS04IDAgLTE0IDZ0LTYgMTR2NDYwIHEwIDggNiAxNHQxNCA2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMzY7IiBkPSJNMzIxIDgxNGwyNTggMTcycTkgNiAxNSAyLjV0NiAtMTMuNXYtNzUwcTAgLTEwIC02IC0xMy41dC0xNSAyLjVsLTI1OCAxNzJxLTIxIDE0IC00NiAxNGgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MzUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMjUwcTI1IDAgNDYgMTR6TTkwMCA2NjhsMTIwIDEyMHE3IDcgMTcgN3QxNyAtN2wzNCAtMzRxNyAtNyA3IC0xN3QtNyAtMTdsLTEyMCAtMTIwbDEyMCAtMTIwcTcgLTcgNyAtMTcgdC03IC0xN2wtMzQgLTM0cS03IC03IC0xNyAtN3QtMTcgN2wtMTIwIDExOWwtMTIwIC0xMTlxLTcgLTcgLTE3IC03dC0xNyA3bC0zNCAzNHEtNyA3IC03IDE3dDcgMTdsMTE5IDEyMGwtMTE5IDEyMHEtNyA3IC03IDE3dDcgMTdsMzQgMzRxNyA4IDE3IDh0MTcgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzNzsiIGQ9Ik0zMjEgODE0bDI1OCAxNzJxOSA2IDE1IDIuNXQ2IC0xMy41di03NTBxMCAtMTAgLTYgLTEzLjV0LTE1IDIuNWwtMjU4IDE3MnEtMjEgMTQgLTQ2IDE0aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNTBxMjUgMCA0NiAxNHpNNzY2IDkwMGg0cTEwIC0xIDE2IC0xMHE5NiAtMTI5IDk2IC0yOTBxMCAtMTU0IC05MCAtMjgxcS02IC05IC0xNyAtMTBsLTMgLTFxLTkgMCAtMTYgNiBsLTI5IDIzcS03IDcgLTguNSAxNi41dDQuNSAxNy41cTcyIDEwMyA3MiAyMjlxMCAxMzIgLTc4IDIzOHEtNiA4IC00LjUgMTh0OS41IDE3bDI5IDIycTcgNSAxNSA1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMzg7IiBkPSJNOTY3IDEwMDRoM3ExMSAtMSAxNyAtMTBxMTM1IC0xNzkgMTM1IC0zOTZxMCAtMTA1IC0zNCAtMjA2LjV0LTk4IC0xODUuNXEtNyAtOSAtMTcgLTEwaC0zcS05IDAgLTE2IDZsLTQyIDM0cS04IDYgLTkgMTZ0NSAxOHExMTEgMTUwIDExMSAzMjhxMCA5MCAtMjkuNSAxNzZ0LTg0LjUgMTU3cS02IDkgLTUgMTl0MTAgMTZsNDIgMzNxNyA1IDE1IDV6TTMyMSA4MTRsMjU4IDE3MnE5IDYgMTUgMi41dDYgLTEzLjV2LTc1MHEwIC0xMCAtNiAtMTMuNSB0LTE1IDIuNWwtMjU4IDE3MnEtMjEgMTQgLTQ2IDE0aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNTBxMjUgMCA0NiAxNHpNNzY2IDkwMGg0cTEwIC0xIDE2IC0xMHE5NiAtMTI5IDk2IC0yOTBxMCAtMTU0IC05MCAtMjgxcS02IC05IC0xNyAtMTBsLTMgLTFxLTkgMCAtMTYgNmwtMjkgMjNxLTcgNyAtOC41IDE2LjV0NC41IDE3LjVxNzIgMTAzIDcyIDIyOXEwIDEzMiAtNzggMjM4IHEtNiA4IC00LjUgMTguNXQ5LjUgMTYuNWwyOSAyMnE3IDUgMTUgNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDM5OyIgZD0iTTUwMCA5MDBoMTAwdi0xMDBoLTEwMHYtMTAwaC00MDB2LTEwMGgtMTAwdjYwMGg1MDB2LTMwMHpNMTIwMCA3MDBoLTIwMHYtMTAwaDIwMHYtMjAwaC0zMDB2MzAwaC0yMDB2MzAwaC0xMDB2MjAwaDYwMHYtNTAwek0xMDAgMTEwMHYtMzAwaDMwMHYzMDBoLTMwMHpNODAwIDExMDB2LTMwMGgzMDB2MzAwaC0zMDB6TTMwMCA5MDBoLTEwMHYxMDBoMTAwdi0xMDB6TTEwMDAgOTAwaC0xMDB2MTAwaDEwMHYtMTAwek0zMDAgNTAwaDIwMHYtNTAwIGgtNTAwdjUwMGgyMDB2MTAwaDEwMHYtMTAwek04MDAgMzAwaDIwMHYtMTAwaC0xMDB2LTEwMGgtMjAwdjEwMGgtMTAwdjEwMGgxMDB2MjAwaC0yMDB2MTAwaDMwMHYtMzAwek0xMDAgNDAwdi0zMDBoMzAwdjMwMGgtMzAwek0zMDAgMjAwaC0xMDB2MTAwaDEwMHYtMTAwek0xMjAwIDIwMGgtMTAwdjEwMGgxMDB2LTEwMHpNNzAwIDBoLTEwMHYxMDBoMTAwdi0xMDB6TTEyMDAgMGgtMzAwdjEwMGgzMDB2LTEwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQwOyIgZD0iTTEwMCAyMDBoLTEwMHYxMDAwaDEwMHYtMTAwMHpNMzAwIDIwMGgtMTAwdjEwMDBoMTAwdi0xMDAwek03MDAgMjAwaC0yMDB2MTAwMGgyMDB2LTEwMDB6TTkwMCAyMDBoLTEwMHYxMDAwaDEwMHYtMTAwMHpNMTIwMCAyMDBoLTIwMHYxMDAwaDIwMHYtMTAwMHpNNDAwIDBoLTMwMHYxMDBoMzAwdi0xMDB6TTYwMCAwaC0xMDB2OTFoMTAwdi05MXpNODAwIDBoLTEwMHY5MWgxMDB2LTkxek0xMTAwIDBoLTIwMHY5MWgyMDB2LTkxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNDE7IiBkPSJNNTAwIDEyMDBsNjgyIC02ODJxOCAtOCA4IC0xOHQtOCAtMThsLTQ2NCAtNDY0cS04IC04IC0xOCAtOHQtMTggOGwtNjgyIDY4MmwxIDQ3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDQ3NHpNMzE5LjUgMTAyNC41cS0yOS41IDI5LjUgLTcxIDI5LjV0LTcxIC0yOS41dC0yOS41IC03MS41dDI5LjUgLTcxLjV0NzEgLTI5LjV0NzEgMjkuNXQyOS41IDcxLjV0LTI5LjUgNzEuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQyOyIgZD0iTTUwMCAxMjAwbDY4MiAtNjgycTggLTggOCAtMTh0LTggLTE4bC00NjQgLTQ2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTY4MiA2ODJsMSA0NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg0NzR6TTgwMCAxMjAwbDY4MiAtNjgycTggLTggOCAtMTh0LTggLTE4bC00NjQgLTQ2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTU2IDU2bDQyNCA0MjZsLTcwMCA3MDBoMTUwek0zMTkuNSAxMDI0LjVxLTI5LjUgMjkuNSAtNzEgMjkuNXQtNzEgLTI5LjUgdC0yOS41IC03MS41dDI5LjUgLTcxLjV0NzEgLTI5LjV0NzEgMjkuNXQyOS41IDcxLjV0LTI5LjUgNzEuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQzOyIgZD0iTTMwMCAxMjAwaDgyNXE3NSAwIDc1IC03NXYtOTAwcTAgLTI1IC0xOCAtNDNsLTY0IC02NHEtOCAtOCAtMTMgLTUuNXQtNSAxMi41djk1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjVoLTcwMHEtMjUgMCAtNDMgLTE4bC02NCAtNjRxLTggLTggLTUuNSAtMTN0MTIuNSAtNWg3MDBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di05NTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC04NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5NzUgcTAgMjUgMTggNDNsMTM5IDEzOXExOCAxOCA0MyAxOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQ0OyIgZD0iTTI1MCAxMjAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTE1MGwtNDUwIDQ0NGwtNDUwIC00NDV2MTE1MXEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NTsiIGQ9Ik04MjIgMTIwMGgtNDQ0cS0xMSAwIC0xOSAtNy41dC05IC0xNy41bC03OCAtMzAxcS03IC0yNCA3IC00NWw1NyAtMTA4cTYgLTkgMTcuNSAtMTV0MjEuNSAtNmg0NTBxMTAgMCAyMS41IDZ0MTcuNSAxNWw2MiAxMDhxMTQgMjEgNyA0NWwtODMgMzAxcS0xIDEwIC05IDE3LjV0LTE5IDcuNXpNMTE3NSA4MDBoLTE1MHEtMTAgMCAtMjEgLTYuNXQtMTUgLTE1LjVsLTc4IC0xNTZxLTQgLTkgLTE1IC0xNS41dC0yMSAtNi41aC01NTAgcS0xMCAwIC0yMSA2LjV0LTE1IDE1LjVsLTc4IDE1NnEtNCA5IC0xNSAxNS41dC0yMSA2LjVoLTE1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTY1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDc1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41IHQ3LjUgMTcuNXY2NTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41ek04NTAgMjAwaC01MDBxLTEwIDAgLTE5LjUgLTd0LTExLjUgLTE3bC0zOCAtMTUycS0yIC0xMCAzLjUgLTE3dDE1LjUgLTdoNjAwcTEwIDAgMTUuNSA3dDMuNSAxN2wtMzggMTUycS0yIDEwIC0xMS41IDE3dC0xOS41IDd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NjsiIGQ9Ik01MDAgMTEwMGgyMDBxNTYgMCAxMDIuNSAtMjAuNXQ3Mi41IC01MHQ0NCAtNTl0MjUgLTUwLjVsNiAtMjBoMTUwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di02MDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTEwMDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djYwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMTUwcTIgOCA2LjUgMjEuNXQyNCA0OHQ0NSA2MXQ3MiA0OHQxMDIuNSAyMS41ek05MDAgODAwdi0xMDAgaDEwMHYxMDBoLTEwMHpNNjAwIDczMHEtOTUgMCAtMTYyLjUgLTY3LjV0LTY3LjUgLTE2Mi41dDY3LjUgLTE2Mi41dDE2Mi41IC02Ny41dDE2Mi41IDY3LjV0NjcuNSAxNjIuNXQtNjcuNSAxNjIuNXQtMTYyLjUgNjcuNXpNNjAwIDYwM3E0MyAwIDczIC0zMHQzMCAtNzN0LTMwIC03M3QtNzMgLTMwdC03MyAzMHQtMzAgNzN0MzAgNzN0NzMgMzB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NzsiIGQ9Ik02ODEgMTE5OWwzODUgLTk5OHEyMCAtNTAgNjAgLTkycTE4IC0xOSAzNi41IC0yOS41dDI3LjUgLTExLjVsMTAgLTJ2LTY2aC00MTd2NjZxNTMgMCA3NSA0My41dDUgODguNWwtODIgMjIyaC0zOTFxLTU4IC0xNDUgLTkyIC0yMzRxLTExIC0zNCAtNi41IC01N3QyNS41IC0zN3Q0NiAtMjB0NTUgLTZ2LTY2aC0zNjV2NjZxNTYgMjQgODQgNTJxMTIgMTIgMjUgMzAuNXQyMCAzMS41bDcgMTNsMzk5IDEwMDZoOTN6TTQxNiA1MjFoMzQwIGwtMTYyIDQ1N3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQ4OyIgZD0iTTc1MyA2NDFxNSAtMSAxNC41IC00LjV0MzYgLTE1LjV0NTAuNSAtMjYuNXQ1My41IC00MHQ1MC41IC01NC41dDM1LjUgLTcwdDE0LjUgLTg3cTAgLTY3IC0yNy41IC0xMjUuNXQtNzEuNSAtOTcuNXQtOTguNSAtNjYuNXQtMTA4LjUgLTQwLjV0LTEwMiAtMTNoLTUwMHY4OXE0MSA3IDcwLjUgMzIuNXQyOS41IDY1LjV2ODI3cTAgMjQgLTAuNSAzNHQtMy41IDI0dC04LjUgMTkuNXQtMTcgMTMuNXQtMjggMTIuNXQtNDIuNSAxMS41djcxIGw0NzEgLTFxNTcgMCAxMTUuNSAtMjAuNXQxMDggLTU3dDgwLjUgLTk0dDMxIC0xMjQuNXEwIC01MSAtMTUuNSAtOTYuNXQtMzggLTc0LjV0LTQ1IC01MC41dC0zOC41IC0zMC41ek00MDAgNzAwaDEzOXE3OCAwIDEzMC41IDQ4LjV0NTIuNSAxMjIuNXEwIDQxIC04LjUgNzAuNXQtMjkuNSA1NS41dC02Mi41IDM5LjV0LTEwMy41IDEzLjVoLTExOHYtMzUwek00MDAgMjAwaDIxNnE4MCAwIDEyMSA1MC41dDQxIDEzMC41cTAgOTAgLTYyLjUgMTU0LjUgdC0xNTYuNSA2NC41aC0xNTl2LTQwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQ5OyIgZD0iTTg3NyAxMjAwbDIgLTU3cS04MyAtMTkgLTExNiAtNDUuNXQtNDAgLTY2LjVsLTEzMiAtODM5cS05IC00OSAxMyAtNjl0OTYgLTI2di05N2gtNTAwdjk3cTE4NiAxNiAyMDAgOThsMTczIDgzMnEzIDE3IDMgMzB0LTEuNSAyMi41dC05IDE3LjV0LTEzLjUgMTIuNXQtMjEuNSAxMHQtMjYgOC41dC0zMy41IDEwcS0xMyAzIC0xOSA1djU3aDQyNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDUwOyIgZD0iTTEzMDAgOTAwaC01MHEwIDIxIC00IDM3dC05LjUgMjYuNXQtMTggMTcuNXQtMjIgMTF0LTI4LjUgNS41dC0zMSAydC0zNyAwLjVoLTIwMHYtODUwcTAgLTIyIDI1IC0zNC41dDUwIC0xMy41bDI1IC0ydi0xMDBoLTQwMHYxMDBxNCAwIDExIDAuNXQyNCAzdDMwIDd0MjQgMTV0MTEgMjQuNXY4NTBoLTIwMHEtMjUgMCAtMzcgLTAuNXQtMzEgLTJ0LTI4LjUgLTUuNXQtMjIgLTExdC0xOCAtMTcuNXQtOS41IC0yNi41dC00IC0zN2gtNTB2MzAwIGgxMDAwdi0zMDB6TTE3NSAxMDAwaC03NXYtODAwaDc1bC0xMjUgLTE2N2wtMTI1IDE2N2g3NXY4MDBoLTc1bDEyNSAxNjd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MTsiIGQ9Ik0xMTAwIDkwMGgtNTBxMCAyMSAtNCAzN3QtOS41IDI2LjV0LTE4IDE3LjV0LTIyIDExdC0yOC41IDUuNXQtMzEgMnQtMzcgMC41aC0yMDB2LTY1MHEwIC0yMiAyNSAtMzQuNXQ1MCAtMTMuNWwyNSAtMnYtMTAwaC00MDB2MTAwcTQgMCAxMSAwLjV0MjQgM3QzMCA3dDI0IDE1dDExIDI0LjV2NjUwaC0yMDBxLTI1IDAgLTM3IC0wLjV0LTMxIC0ydC0yOC41IC01LjV0LTIyIC0xMXQtMTggLTE3LjV0LTkuNSAtMjYuNXQtNCAtMzdoLTUwdjMwMCBoMTAwMHYtMzAwek0xMTY3IDUwbC0xNjcgLTEyNXY3NWgtODAwdi03NWwtMTY3IDEyNWwxNjcgMTI1di03NWg4MDB2NzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MjsiIGQ9Ik01MCAxMTAwaDYwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDgwMGgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA1MDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTgwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMjAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MzsiIGQ9Ik0yNTAgMTEwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMjUwIDUwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCAyMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDU0OyIgZD0iTTUwMCA5NTB2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg2MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXpNMTAwIDY1MHYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41ek0zMDAgMzUwdjEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTgwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV6TTAgNTB2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDU1OyIgZD0iTTUwIDExMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMjAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1NjsiIGQ9Ik01MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTM1MCAxMTAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMzUwIDgwMGg4MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTM1MCA1MDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zNTAgMjAwaDgwMCBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNTc7IiBkPSJNNDAwIDBoLTEwMHYxMTAwaDEwMHYtMTEwMHpNNTUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTUwIDgwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMjY3IDU1MGwtMTY3IC0xMjV2NzVoLTIwMHYxMDBoMjAwdjc1ek01NTAgNTAwaDMwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTU1MCAyMDBoNjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1ODsiIGQ9Ik01MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTkwMCAwaC0xMDB2MTEwMGgxMDB2LTExMDB6TTUwIDgwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTEwMCA2MDBoMjAwdi0xMDBoLTIwMHYtNzVsLTE2NyAxMjVsMTY3IDEyNXYtNzV6TTUwIDUwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCAyMDBoNjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1OTsiIGQ9Ik03NSAxMDAwaDc1MHEzMSAwIDUzIC0yMnQyMiAtNTN2LTY1MHEwIC0zMSAtMjIgLTUzdC01MyAtMjJoLTc1MHEtMzEgMCAtNTMgMjJ0LTIyIDUzdjY1MHEwIDMxIDIyIDUzdDUzIDIyek0xMjAwIDMwMGwtMzAwIDMwMGwzMDAgMzAwdi02MDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA2MDsiIGQ9Ik00NCAxMTAwaDExMTJxMTggMCAzMSAtMTN0MTMgLTMxdi0xMDEycTAgLTE4IC0xMyAtMzF0LTMxIC0xM2gtMTExMnEtMTggMCAtMzEgMTN0LTEzIDMxdjEwMTJxMCAxOCAxMyAzMXQzMSAxM3pNMTAwIDEwMDB2LTczN2wyNDcgMTgybDI5OCAtMTMxbC03NCAxNTZsMjkzIDMxOGwyMzYgLTI4OHY1MDBoLTEwMDB6TTM0MiA4ODRxNTYgMCA5NSAtMzl0MzkgLTk0LjV0LTM5IC05NXQtOTUgLTM5LjV0LTk1IDM5LjV0LTM5IDk1dDM5IDk0LjUgdDk1IDM5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjI7IiBkPSJNNjQ4IDExNjlxMTE3IDAgMjE2IC02MHQxNTYuNSAtMTYxdDU3LjUgLTIxOHEwIC0xMTUgLTcwIC0yNThxLTY5IC0xMDkgLTE1OCAtMjI1LjV0LTE0MyAtMTc5LjVsLTU0IC02MnEtOSA4IC0yNS41IDI0LjV0LTYzLjUgNjcuNXQtOTEgMTAzdC05OC41IDEyOHQtOTUuNSAxNDhxLTYwIDEzMiAtNjAgMjQ5cTAgODggMzQgMTY5LjV0OTEuNSAxNDJ0MTM3IDk2LjV0MTY2LjUgMzZ6TTY1Mi41IDk3NHEtOTEuNSAwIC0xNTYuNSAtNjUgdC02NSAtMTU3dDY1IC0xNTYuNXQxNTYuNSAtNjQuNXQxNTYuNSA2NC41dDY1IDE1Ni41dC02NSAxNTd0LTE1Ni41IDY1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjM7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTYwMCAxNzN2ODU0cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjUgdDE1NS41IC0xNTUuNXQyMTQuNSAtNTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA2NDsiIGQ9Ik01NTQgMTI5NXEyMSAtNzIgNTcuNSAtMTQzLjV0NzYgLTEzMHQ4MyAtMTE4dDgyLjUgLTExN3Q3MCAtMTE2dDQ5LjUgLTEyNnQxOC41IC0xMzYuNXEwIC03MSAtMjUuNSAtMTM1dC02OC41IC0xMTF0LTk5IC04MnQtMTE4LjUgLTU0dC0xMjUuNSAtMjNxLTg0IDUgLTE2MS41IDM0dC0xMzkuNSA3OC41dC05OSAxMjV0LTM3IDE2NC41cTAgNjkgMTggMTM2LjV0NDkuNSAxMjYuNXQ2OS41IDExNi41dDgxLjUgMTE3LjV0ODMuNSAxMTkgdDc2LjUgMTMxdDU4LjUgMTQzek0zNDQgNzEwcS0yMyAtMzMgLTQzLjUgLTcwLjV0LTQwLjUgLTEwMi41dC0xNyAtMTIzcTEgLTM3IDE0LjUgLTY5LjV0MzAgLTUydDQxIC0zN3QzOC41IC0yNC41dDMzIC0xNXEyMSAtNyAzMiAtMXQxMyAyMmw2IDM0cTIgMTAgLTIuNSAyMnQtMTMuNSAxOXEtNSA0IC0xNCAxMnQtMjkuNSA0MC41dC0zMi41IDczLjVxLTI2IDg5IDYgMjcxcTIgMTEgLTYgMTFxLTggMSAtMTUgLTEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjU7IiBkPSJNMTAwMCAxMDEzbDEwOCAxMTVxMiAxIDUgMnQxMyAydDIwLjUgLTF0MjUgLTkuNXQyOC41IC0yMS41cTIyIC0yMiAyNyAtNDN0MCAtMzJsLTYgLTEwbC0xMDggLTExNXpNMzUwIDExMDBoNDAwcTUwIDAgMTA1IC0xM2wtMTg3IC0xODdoLTM2OHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNTAwcTAgLTQxIDI5LjUgLTcwLjV0NzAuNSAtMjkuNWg1MDBxNDEgMCA3MC41IDI5LjV0MjkuNSA3MC41djE4MmwyMDAgMjAwdi0zMzIgcTAgLTE2NSAtOTMuNSAtMjU3LjV0LTI1Ni41IC05Mi41aC00MDBxLTE2NSAwIC0yNTcuNSA5Mi41dC05Mi41IDI1Ny41djQwMHEwIDE2NSA5Mi41IDI1Ny41dDI1Ny41IDkyLjV6TTEwMDkgODAzbC0zNjIgLTM2MmwtMTYxIC01MGw1NSAxNzBsMzU1IDM1NXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDY2OyIgZD0iTTM1MCAxMTAwaDM2MXEtMTY0IC0xNDYgLTIxNiAtMjAwaC0xOTVxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNWwyMDAgMTUzdi0xMDNxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXogTTgyNCAxMDczbDMzOSAtMzAxcTggLTcgOCAtMTcuNXQtOCAtMTcuNWwtMzQwIC0zMDZxLTcgLTYgLTEyLjUgLTR0LTYuNSAxMXYyMDNxLTI2IDEgLTU0LjUgMHQtNzguNSAtNy41dC05MiAtMTcuNXQtODYgLTM1dC03MCAtNTdxMTAgNTkgMzMgMTA4dDUxLjUgODEuNXQ2NSA1OC41dDY4LjUgNDAuNXQ2NyAyNC41dDU2IDEzLjV0NDAgNC41djIxMHExIDEwIDYuNSAxMi41dDEzLjUgLTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDY3OyIgZD0iTTM1MCAxMTAwaDM1MHE2MCAwIDEyNyAtMjNsLTE3OCAtMTc3aC0zNDlxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNXY2OWwyMDAgMjAwdi0yMTlxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXogTTY0MyA2MzlsMzk1IDM5NXE3IDcgMTcuNSA3dDE3LjUgLTdsMTAxIC0xMDFxNyAtNyA3IC0xNy41dC03IC0xNy41bC01MzEgLTUzMnEtNyAtNyAtMTcuNSAtN3QtMTcuNSA3bC0yNDggMjQ4cS03IDcgLTcgMTcuNXQ3IDE3LjVsMTAxIDEwMXE3IDcgMTcuNSA3dDE3LjUgLTdsMTExIC0xMTFxOCAtNyAxOCAtN3QxOCA3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjg7IiBkPSJNMzE4IDkxOGwyNjQgMjY0cTggOCAxOCA4dDE4IC04bDI2MCAtMjY0cTcgLTggNC41IC0xM3QtMTIuNSAtNWgtMTcwdi0yMDBoMjAwdjE3M3EwIDEwIDUgMTJ0MTMgLTVsMjY0IC0yNjBxOCAtNyA4IC0xNy41dC04IC0xNy41bC0yNjQgLTI2NXEtOCAtNyAtMTMgLTV0LTUgMTJ2MTczaC0yMDB2LTIwMGgxNzBxMTAgMCAxMi41IC01dC00LjUgLTEzbC0yNjAgLTI2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTI2NCAyNjRxLTggOCAtNS41IDEzIHQxMi41IDVoMTc1djIwMGgtMjAwdi0xNzNxMCAtMTAgLTUgLTEydC0xMyA1bC0yNjQgMjY1cS04IDcgLTggMTcuNXQ4IDE3LjVsMjY0IDI2MHE4IDcgMTMgNXQ1IC0xMnYtMTczaDIwMHYyMDBoLTE3NXEtMTAgMCAtMTIuNSA1dDUuNSAxM3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDY5OyIgZD0iTTI1MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDM4bDQ2NCA0NTNxMTUgMTQgMjUuNSAxMHQxMC41IC0yNXYtMTAwMHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ2NCA0NTN2LTQzOHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDcwOyIgZD0iTTUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MzhsNDY0IDQ1M3ExNSAxNCAyNS41IDEwdDEwLjUgLTI1di00MzhsNDY0IDQ1M3ExNSAxNCAyNS41IDEwdDEwLjUgLTI1di0xMDAwcTAgLTIxIC0xMC41IC0yNXQtMjUuNSAxMGwtNDY0IDQ1M3YtNDM4cTAgLTIxIC0xMC41IC0yNXQtMjUuNSAxMGwtNDY0IDQ1M3YtNDM4cTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXYxMDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDcxOyIgZD0iTTEyMDAgMTA1MHYtMTAwMHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ2NCA0NTN2LTQzOHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ5MiA0ODBxLTE1IDE0IC0xNSAzNXQxNSAzNWw0OTIgNDgwcTE1IDE0IDI1LjUgMTB0MTAuNSAtMjV2LTQzOGw0NjQgNDUzcTE1IDE0IDI1LjUgMTB0MTAuNSAtMjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3MjsiIGQ9Ik0yNDMgMTA3NGw4MTQgLTQ5OHExOCAtMTEgMTggLTI2dC0xOCAtMjZsLTgxNCAtNDk4cS0xOCAtMTEgLTMwLjUgLTR0LTEyLjUgMjh2MTAwMHEwIDIxIDEyLjUgMjh0MzAuNSAtNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDczOyIgZD0iTTI1MCAxMDAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtODAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCAxMDAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtODAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNzQ7IiBkPSJNMTEwMCA5NTB2LTgwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY4MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDc1OyIgZD0iTTUwMCA2MTJ2NDM4cTAgMjEgMTAuNSAyNXQyNS41IC0xMGw0OTIgLTQ4MHExNSAtMTQgMTUgLTM1dC0xNSAtMzVsLTQ5MiAtNDgwcS0xNSAtMTQgLTI1LjUgLTEwdC0xMC41IDI1djQzOGwtNDY0IC00NTNxLTE1IC0xNCAtMjUuNSAtMTB0LTEwLjUgMjV2MTAwMHEwIDIxIDEwLjUgMjV0MjUuNSAtMTB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3NjsiIGQ9Ik0xMDQ4IDExMDJsMTAwIDFxMjAgMCAzNSAtMTQuNXQxNSAtMzUuNWw1IC0xMDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41bC0xMDAgLTFxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41bC0yIDQzN2wtNDYzIC00NTRxLTE0IC0xNSAtMjQuNSAtMTAuNXQtMTAuNSAyNS41bC0yIDQzN2wtNDYyIC00NTVxLTE1IC0xNCAtMjUuNSAtOS41dC0xMC41IDI0LjVsLTUgMTAwMHEwIDIxIDEwLjUgMjUuNXQyNS41IC0xMC41bDQ2NiAtNDUwIGwtMiA0MzhxMCAyMCAxMC41IDI0LjV0MjUuNSAtOS41bDQ2NiAtNDUxbC0yIDQzOHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3NzsiIGQ9Ik04NTAgMTEwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDM4bC00NjQgLTQ1M3EtMTUgLTE0IC0yNS41IC0xMHQtMTAuNSAyNXYxMDAwcTAgMjEgMTAuNSAyNXQyNS41IC0xMGw0NjQgLTQ1M3Y0MzhxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNzg7IiBkPSJNNjg2IDEwODFsNTAxIC01NDBxMTUgLTE1IDEwLjUgLTI2dC0yNi41IC0xMWgtMTA0MnEtMjIgMCAtMjYuNSAxMXQxMC41IDI2bDUwMSA1NDBxMTUgMTUgMzYgMTV0MzYgLTE1ek0xNTAgNDAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDc5OyIgZD0iTTg4NSA5MDBsLTM1MiAtMzUzbDM1MiAtMzUzbC0xOTcgLTE5OGwtNTUyIDU1Mmw1NTIgNTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwODA7IiBkPSJNMTA2NCA1NDdsLTU1MSAtNTUxbC0xOTggMTk4bDM1MyAzNTNsLTM1MyAzNTNsMTk4IDE5OHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDgxOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02NTAgOTAwaC0xMDBxLTIxIDAgLTM1LjUgLTE0LjV0LTE0LjUgLTM1LjV2LTE1MGgtMTUwIHEtMjEgMCAtMzUuNSAtMTQuNXQtMTQuNSAtMzUuNXYtMTAwcTAgLTIxIDE0LjUgLTM1LjV0MzUuNSAtMTQuNWgxNTB2LTE1MHEwIC0yMSAxNC41IC0zNS41dDM1LjUgLTE0LjVoMTAwcTIxIDAgMzUuNSAxNC41dDE0LjUgMzUuNXYxNTBoMTUwcTIxIDAgMzUuNSAxNC41dDE0LjUgMzUuNXYxMDBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTE1MHYxNTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4MjsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNODUwIDcwMGgtNTAwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xMDBxMCAtMjEgMTQuNSAtMzUuNSB0MzUuNSAtMTQuNWg1MDBxMjEgMCAzNS41IDE0LjV0MTQuNSAzNS41djEwMHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDgzOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek03NDEuNSA5MTNxLTEyLjUgMCAtMjEuNSAtOWwtMTIwIC0xMjBsLTEyMCAxMjBxLTkgOSAtMjEuNSA5IHQtMjEuNSAtOWwtMTQxIC0xNDFxLTkgLTkgLTkgLTIxLjV0OSAtMjEuNWwxMjAgLTEyMGwtMTIwIC0xMjBxLTkgLTkgLTkgLTIxLjV0OSAtMjEuNWwxNDEgLTE0MXE5IC05IDIxLjUgLTl0MjEuNSA5bDEyMCAxMjBsMTIwIC0xMjBxOSAtOSAyMS41IC05dDIxLjUgOWwxNDEgMTQxcTkgOSA5IDIxLjV0LTkgMjEuNWwtMTIwIDEyMGwxMjAgMTIwcTkgOSA5IDIxLjV0LTkgMjEuNWwtMTQxIDE0MXEtOSA5IC0yMS41IDl6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4NDsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNTQ2IDYyM2wtODQgODVxLTcgNyAtMTcuNSA3dC0xOC41IC03bC0xMzkgLTEzOXEtNyAtOCAtNyAtMTh0NyAtMTggbDI0MiAtMjQxcTcgLTggMTcuNSAtOHQxNy41IDhsMzc1IDM3NXE3IDcgNyAxNy41dC03IDE4LjVsLTEzOSAxMzlxLTcgNyAtMTcuNSA3dC0xNy41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwODU7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTU4OCA5NDFxLTI5IDAgLTU5IC01LjV0LTYzIC0yMC41dC01OCAtMzguNXQtNDEuNSAtNjN0LTE2LjUgLTg5LjUgcTAgLTI1IDIwIC0yNWgxMzFxMzAgLTUgMzUgMTFxNiAyMCAyMC41IDI4dDQ1LjUgOHEyMCAwIDMxLjUgLTEwLjV0MTEuNSAtMjguNXEwIC0yMyAtNyAtMzR0LTI2IC0xOHEtMSAwIC0xMy41IC00dC0xOS41IC03LjV0LTIwIC0xMC41dC0yMiAtMTd0LTE4LjUgLTI0dC0xNS41IC0zNXQtOCAtNDZxLTEgLTggNS41IC0xNi41dDIwLjUgLTguNWgxNzNxNyAwIDIyIDh0MzUgMjh0MzcuNSA0OHQyOS41IDc0dDEyIDEwMHEwIDQ3IC0xNyA4MyB0LTQyLjUgNTd0LTU5LjUgMzQuNXQtNjQgMTh0LTU5IDQuNXpNNjc1IDQwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MTUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDg2OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02NzUgMTAwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNSB0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djE1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6TTY3NSA3MDBoLTI1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoNzV2LTIwMGgtNzVxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di01MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDM1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djUwcTAgMTAgLTcuNSAxNy41IHQtMTcuNSA3LjVoLTc1djI3NXEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4NzsiIGQ9Ik01MjUgMTIwMGgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xOTRxMTAzIC0yNyAxNzguNSAtMTAyLjV0MTAyLjUgLTE3OC41aDE5NHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE5NHEtMjcgLTEwMyAtMTAyLjUgLTE3OC41dC0xNzguNSAtMTAyLjV2LTE5NHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE5NCBxLTEwMyAyNyAtMTc4LjUgMTAyLjV0LTEwMi41IDE3OC41aC0xOTRxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxOTRxMjcgMTAzIDEwMi41IDE3OC41dDE3OC41IDEwMi41djE5NHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek03MDAgODkzdi0xNjhxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNjhxLTY4IC0yMyAtMTE5IC03NCB0LTc0IC0xMTloMTY4cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTY4cTIzIC02OCA3NCAtMTE5dDExOSAtNzR2MTY4cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTY4cTY4IDIzIDExOSA3NHQ3NCAxMTloLTE2OHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDE2OCBxLTIzIDY4IC03NCAxMTl0LTExOSA3NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDg4OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek03NTkgODIzbDY0IC02NHE3IC03IDcgLTE3LjV0LTcgLTE3LjVsLTEyNCAtMTI0bDEyNCAtMTI0cTcgLTcgNyAtMTcuNXQtNyAtMTcuNWwtNjQgLTY0cS03IC03IC0xNy41IC03dC0xNy41IDdsLTEyNCAxMjRsLTEyNCAtMTI0cS03IC03IC0xNy41IC03dC0xNy41IDdsLTY0IDY0IHEtNyA3IC03IDE3LjV0NyAxNy41bDEyNCAxMjRsLTEyNCAxMjRxLTcgNyAtNyAxNy41dDcgMTcuNWw2NCA2NHE3IDcgMTcuNSA3dDE3LjUgLTdsMTI0IC0xMjRsMTI0IDEyNHE3IDcgMTcuNSA3dDE3LjUgLTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4OTsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNjAwIDEwMjdxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41dDU3IC0yMTQuNSB0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXQtNTcgMjE0LjV0LTE1NS41IDE1NS41dC0yMTQuNSA1N3pNNzgyIDc4OGwxMDYgLTEwNnE3IC03IDcgLTE3LjV0LTcgLTE3LjVsLTMyMCAtMzIxcS04IC03IC0xOCAtN3QtMTggN2wtMjAyIDIwM3EtOCA3IC04IDE3LjV0OCAxNy41bDEwNiAxMDZxNyA4IDE3LjUgOHQxNy41IC04bDc5IC03OWwxOTcgMTk3cTcgNyAxNy41IDd0MTcuNSAtN3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDkwOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjVxMCAtMTIwIDY1IC0yMjUgbDU4NyA1ODdxLTEwNSA2NSAtMjI1IDY1ek05NjUgODE5bC01ODQgLTU4NHExMDQgLTYyIDIxOSAtNjJxMTE2IDAgMjE0LjUgNTd0MTU1LjUgMTU1LjV0NTcgMjE0LjVxMCAxMTUgLTYyIDIxOXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDkxOyIgZD0iTTM5IDU4Mmw1MjIgNDI3cTE2IDEzIDI3LjUgOHQxMS41IC0yNnYtMjkxaDU1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC01NTB2LTI5MXEwIC0yMSAtMTEuNSAtMjZ0LTI3LjUgOGwtNTIyIDQyN3EtMTYgMTMgLTE2IDMydDE2IDMyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwOTI7IiBkPSJNNjM5IDEwMDlsNTIyIC00MjdxMTYgLTEzIDE2IC0zMnQtMTYgLTMybC01MjIgLTQyN3EtMTYgLTEzIC0yNy41IC04dC0xMS41IDI2djI5MWgtNTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDU1MHYyOTFxMCAyMSAxMS41IDI2dDI3LjUgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA5MzsiIGQ9Ik02ODIgMTE2MWw0MjcgLTUyMnExMyAtMTYgOCAtMjcuNXQtMjYgLTExLjVoLTI5MXYtNTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djU1MGgtMjkxcS0yMSAwIC0yNiAxMS41dDggMjcuNWw0MjcgNTIycTEzIDE2IDMyIDE2dDMyIC0xNnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDk0OyIgZD0iTTU1MCAxMjAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTUwaDI5MXEyMSAwIDI2IC0xMS41dC04IC0yNy41bC00MjcgLTUyMnEtMTMgLTE2IC0zMiAtMTZ0LTMyIDE2bC00MjcgNTIycS0xMyAxNiAtOCAyNy41dDI2IDExLjVoMjkxdjU1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA5NTsiIGQ9Ik02MzkgMTEwOWw1MjIgLTQyN3ExNiAtMTMgMTYgLTMydC0xNiAtMzJsLTUyMiAtNDI3cS0xNiAtMTMgLTI3LjUgLTh0LTExLjUgMjZ2MjkxcS05NCAtMiAtMTgyIC0yMHQtMTcwLjUgLTUydC0xNDcgLTkyLjV0LTEwMC41IC0xMzUuNXE1IDEwNSAyNyAxOTMuNXQ2Ny41IDE2N3QxMTMgMTM1dDE2NyA5MS41dDIyNS41IDQydjI2MnEwIDIxIDExLjUgMjZ0MjcuNSAtOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDk2OyIgZD0iTTg1MCAxMjAwaDMwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMzAwcTAgLTIxIC0xMC41IC0yNXQtMjQuNSAxMGwtOTQgOTRsLTI0OSAtMjQ5cS04IC03IC0xOCAtN3QtMTggN2wtMTA2IDEwNnEtNyA4IC03IDE4dDcgMThsMjQ5IDI0OWwtOTQgOTRxLTE0IDE0IC0xMCAyNC41dDI1IDEwLjV6TTM1MCAwaC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djMwMHEwIDIxIDEwLjUgMjV0MjQuNSAtMTBsOTQgLTk0bDI0OSAyNDkgcTggNyAxOCA3dDE4IC03bDEwNiAtMTA2cTcgLTggNyAtMTh0LTcgLTE4bC0yNDkgLTI0OWw5NCAtOTRxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDk3OyIgZD0iTTEwMTQgMTEyMGwxMDYgLTEwNnE3IC04IDcgLTE4dC03IC0xOGwtMjQ5IC0yNDlsOTQgLTk0cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTMwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MzAwcTAgMjEgMTAuNSAyNXQyNC41IC0xMGw5NCAtOTRsMjQ5IDI0OXE4IDcgMTggN3QxOCAtN3pNMjUwIDYwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTk0IDk0IGwtMjQ5IC0yNDlxLTggLTcgLTE4IC03dC0xOCA3bC0xMDYgMTA2cS03IDggLTcgMTh0NyAxOGwyNDkgMjQ5bC05NCA5NHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTAxOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek03MDQgOTAwaC0yMDhxLTIwIDAgLTMyIC0xNC41dC04IC0zNC41bDU4IC0zMDJxNCAtMjAgMjEuNSAtMzQuNSB0MzcuNSAtMTQuNWg1NHEyMCAwIDM3LjUgMTQuNXQyMS41IDM0LjVsNTggMzAycTQgMjAgLTggMzQuNXQtMzIgMTQuNXpNNjc1IDQwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MTUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTAyOyIgZD0iTTI2MCAxMjAwcTkgMCAxOSAtMnQxNSAtNGw1IC0ycTIyIC0xMCA0NCAtMjNsMTk2IC0xMThxMjEgLTEzIDM2IC0yNHEyOSAtMjEgMzcgLTEycTExIDEzIDQ5IDM1bDE5NiAxMThxMjIgMTMgNDUgMjNxMTcgNyAzOCA3cTIzIDAgNDcgLTE2LjV0MzcgLTMzLjVsMTMgLTE2cTE0IC0yMSAxOCAtNDVsMjUgLTEyM2w4IC00NHExIC05IDguNSAtMTQuNXQxNy41IC01LjVoNjFxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MCBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTE3NWgtNDAwdjMwMGgtMjAwdi0zMDBoLTQwMHYxNzVxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNjFxMTEgMCAxOCAzdDcgOHEwIDQgOSA1MmwyNSAxMjhxNSAyNSAxOSA0NXEyIDMgNSA3dDEzLjUgMTV0MjEuNSAxOS41dDI2LjUgMTUuNSB0MjkuNSA3ek05MTUgMTA3OWwtMTY2IC0xNjJxLTcgLTcgLTUgLTEydDEyIC01aDIxOXExMCAwIDE1IDd0MiAxN2wtNTEgMTQ5cS0zIDEwIC0xMSAxMnQtMTUgLTZ6TTQ2MyA5MTdsLTE3NyAxNTdxLTggNyAtMTYgNXQtMTEgLTEybC01MSAtMTQzcS0zIC0xMCAyIC0xN3QxNSAtN2gyMzFxMTEgMCAxMi41IDV0LTUuNSAxMnpNNTAwIDBoLTM3NXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM3NWg0MDB2LTQwMHpNMTEwMCA0MDB2LTM3NSBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0zNzV2NDAwaDQwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTAzOyIgZD0iTTExNjUgMTE5MHE4IDMgMjEgLTYuNXQxMyAtMTcuNXEtMiAtMTc4IC0yNC41IC0zMjMuNXQtNTUuNSAtMjQ1LjV0LTg3IC0xNzQuNXQtMTAyLjUgLTExOC41dC0xMTggLTY4LjV0LTExOC41IC0zM3QtMTIwIC00LjV0LTEwNSA5LjV0LTkwIDE2LjVxLTYxIDEyIC03OCAxMXEtNCAxIC0xMi41IDB0LTM0IC0xNC41dC01Mi41IC00MC41bC0xNTMgLTE1M3EtMjYgLTI0IC0zNyAtMTQuNXQtMTEgNDMuNXEwIDY0IDQyIDEwMnE4IDggNTAuNSA0NSB0NjYuNSA1OHExOSAxNyAzNSA0N3QxMyA2MXEtOSA1NSAtMTAgMTAyLjV0NyAxMTF0MzcgMTMwdDc4IDEyOS41cTM5IDUxIDgwIDg4dDg5LjUgNjMuNXQ5NC41IDQ1dDExMy41IDM2dDEyOSAzMXQxNTcuNSAzN3QxODIgNDcuNXpNMTExNiAxMDk4cS04IDkgLTIyLjUgLTN0LTQ1LjUgLTUwcS0zOCAtNDcgLTExOSAtMTAzLjV0LTE0MiAtODkuNWwtNjIgLTMzcS01NiAtMzAgLTEwMiAtNTd0LTEwNCAtNjh0LTEwMi41IC04MC41dC04NS41IC05MSB0LTY0IC0xMDQuNXEtMjQgLTU2IC0zMSAtODZ0MiAtMzJ0MzEuNSAxNy41dDU1LjUgNTkuNXEyNSAzMCA5NCA3NS41dDEyNS41IDc3LjV0MTQ3LjUgODFxNzAgMzcgMTE4LjUgNjl0MTAyIDc5LjV0OTkgMTExdDg2LjUgMTQ4LjVxMjIgNTAgMjQgNjB0LTYgMTl6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNDsiIGQ9Ik02NTMgMTIzMXEtMzkgLTY3IC01NC41IC0xMzF0LTEwLjUgLTExNC41dDI0LjUgLTk2LjV0NDcuNSAtODB0NjMuNSAtNjIuNXQ2OC41IC00Ni41dDY1IC0zMHEtNCA3IC0xNy41IDM1dC0xOC41IDM5LjV0LTE3IDM5LjV0LTE3IDQzdC0xMyA0MnQtOS41IDQ0LjV0LTIgNDJ0NCA0M3QxMy41IDM5dDIzIDM4LjVxOTYgLTQyIDE2NSAtMTA3LjV0MTA1IC0xMzh0NTIgLTE1NnQxMyAtMTU5dC0xOSAtMTQ5LjVxLTEzIC01NSAtNDQgLTEwNi41IHQtNjggLTg3dC03OC41IC02NC41dC03Mi41IC00NXQtNTMgLTIycS03MiAtMjIgLTEyNyAtMTFxLTMxIDYgLTEzIDE5cTYgMyAxNyA3cTEzIDUgMzIuNSAyMXQ0MSA0NHQzOC41IDYzLjV0MjEuNSA4MS41dC02LjUgOTQuNXQtNTAgMTA3dC0xMDQgMTE1LjVxMTAgLTEwNCAtMC41IC0xODl0LTM3IC0xNDAuNXQtNjUgLTkzdC04NCAtNTJ0LTkzLjUgLTExdC05NSAyNC41cS04MCAzNiAtMTMxLjUgMTE0dC01My41IDE3MXEtMiAyMyAwIDQ5LjUgdDQuNSA1Mi41dDEzLjUgNTZ0MjcuNSA2MHQ0NiA2NC41dDY5LjUgNjguNXEtOCAtNTMgLTUgLTEwMi41dDE3LjUgLTkwdDM0IC02OC41dDQ0LjUgLTM5dDQ5IC0ycTMxIDEzIDM4LjUgMzZ0LTQuNSA1NXQtMjkgNjQuNXQtMzYgNzV0LTI2IDc1LjVxLTE1IDg1IDIgMTYxLjV0NTMuNSAxMjguNXQ4NS41IDkyLjV0OTMuNSA2MXQ4MS41IDI1LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNTsiIGQ9Ik02MDAgMTA5NHE4MiAwIDE2MC41IC0yMi41dDE0MCAtNTl0MTE2LjUgLTgyLjV0OTQuNSAtOTV0NjggLTk1dDQyLjUgLTgyLjV0MTQgLTU3LjV0LTE0IC01Ny41dC00MyAtODIuNXQtNjguNSAtOTV0LTk0LjUgLTk1dC0xMTYuNSAtODIuNXQtMTQwIC01OXQtMTU5LjUgLTIyLjV0LTE1OS41IDIyLjV0LTE0MCA1OXQtMTE2LjUgODIuNXQtOTQuNSA5NXQtNjguNSA5NXQtNDMgODIuNXQtMTQgNTcuNXQxNCA1Ny41dDQyLjUgODIuNXQ2OCA5NSB0OTQuNSA5NXQxMTYuNSA4Mi41dDE0MCA1OXQxNjAuNSAyMi41ek04ODggODI5cS0xNSAxNSAtMTggMTJ0NSAtMjJxMjUgLTU3IDI1IC0xMTlxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4dC0yMTIgODh0LTg4IDIxMnEwIDU5IDIzIDExNHE4IDE5IDQuNSAyMnQtMTcuNSAtMTJxLTcwIC02OSAtMTYwIC0xODRxLTEzIC0xNiAtMTUgLTQwLjV0OSAtNDIuNXEyMiAtMzYgNDcgLTcxdDcwIC04MnQ5Mi41IC04MXQxMTMgLTU4LjV0MTMzLjUgLTI0LjUgdDEzMy41IDI0dDExMyA1OC41dDkyLjUgODEuNXQ3MCA4MS41dDQ3IDcwLjVxMTEgMTggOSA0Mi41dC0xNCA0MS41cS05MCAxMTcgLTE2MyAxODl6TTQ0OCA3MjdsLTM1IC0zNnEtMTUgLTE1IC0xOS41IC0zOC41dDQuNSAtNDEuNXEzNyAtNjggOTMgLTExNnExNiAtMTMgMzguNSAtMTF0MzYuNSAxN2wzNSAzNHExNCAxNSAxMi41IDMzLjV0LTE2LjUgMzMuNXEtNDQgNDQgLTg5IDExN3EtMTEgMTggLTI4IDIwdC0zMiAtMTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNjsiIGQ9Ik01OTIgMGgtMTQ4bDMxIDEyMHEtOTEgMjAgLTE3NS41IDY4LjV0LTE0My41IDEwNi41dC0xMDMuNSAxMTl0LTY2LjUgMTEwdC0yMiA3NnEwIDIxIDE0IDU3LjV0NDIuNSA4Mi41dDY4IDk1dDk0LjUgOTV0MTE2LjUgODIuNXQxNDAgNTl0MTYwLjUgMjIuNXE2MSAwIDEyNiAtMTVsMzIgMTIxaDE0OHpNOTQ0IDc3MGw0NyAxODFxMTA4IC04NSAxNzYuNSAtMTkydDY4LjUgLTE1OXEwIC0yNiAtMTkuNSAtNzF0LTU5LjUgLTEwMnQtOTMgLTExMiB0LTEyOSAtMTA0LjV0LTE1OCAtNzUuNWw0NiAxNzNxNzcgNDkgMTM2IDExN3Q5NyAxMzFxMTEgMTggOSA0Mi41dC0xNCA0MS41cS01NCA3MCAtMTA3IDEzMHpNMzEwIDgyNHEtNzAgLTY5IC0xNjAgLTE4NHEtMTMgLTE2IC0xNSAtNDAuNXQ5IC00Mi41cTE4IC0zMCAzOSAtNjB0NTcgLTcwLjV0NzQgLTczdDkwIC02MXQxMDUgLTQxLjVsNDEgMTU0cS0xMDcgMTggLTE3OC41IDEwMS41dC03MS41IDE5My41cTAgNTkgMjMgMTE0cTggMTkgNC41IDIyIHQtMTcuNSAtMTJ6TTQ0OCA3MjdsLTM1IC0zNnEtMTUgLTE1IC0xOS41IC0zOC41dDQuNSAtNDEuNXEzNyAtNjggOTMgLTExNnExNiAtMTMgMzguNSAtMTF0MzYuNSAxN2wxMiAxMWwyMiA4NmwtMyA0cS00NCA0NCAtODkgMTE3cS0xMSAxOCAtMjggMjB0LTMyIC0xMnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTA3OyIgZD0iTS05MCAxMDBsNjQyIDEwNjZxMjAgMzEgNDggMjguNXQ0OCAtMzUuNWw2NDIgLTEwNTZxMjEgLTMyIDcuNSAtNjcuNXQtNTAuNSAtMzUuNWgtMTI5NHEtMzcgMCAtNTAuNSAzNHQ3LjUgNjZ6TTE1NSAyMDBoMzQ1djc1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzVoMzQ1bC00NDUgNzIzek00OTYgNzAwaDIwOHEyMCAwIDMyIC0xNC41dDggLTM0LjVsLTU4IC0yNTIgcS00IC0yMCAtMjEuNSAtMzQuNXQtMzcuNSAtMTQuNWgtNTRxLTIwIDAgLTM3LjUgMTQuNXQtMjEuNSAzNC41bC01OCAyNTJxLTQgMjAgOCAzNC41dDMyIDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwODsiIGQ9Ik02NTAgMTIwMHE2MiAwIDEwNiAtNDR0NDQgLTEwNnYtMzM5bDM2MyAtMzI1cTE1IC0xNCAyNiAtMzguNXQxMSAtNDQuNXYtNDFxMCAtMjAgLTEyIC0yNi41dC0yOSA1LjVsLTM1OSAyNDl2LTI2M3ExMDAgLTkzIDEwMCAtMTEzdi02NHEwIC0yMSAtMTMgLTI5dC0zMiAxbC0yMDUgMTI4bC0yMDUgLTEyOHEtMTkgLTkgLTMyIC0xdC0xMyAyOXY2NHEwIDIwIDEwMCAxMTN2MjYzbC0zNTkgLTI0OXEtMTcgLTEyIC0yOSAtNS41dC0xMiAyNi41djQxIHEwIDIwIDExIDQ0LjV0MjYgMzguNWwzNjMgMzI1djMzOXEwIDYyIDQ0IDEwNnQxMDYgNDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwOTsiIGQ9Ik04NTAgMTIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwaDUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoLTExMDB2MTUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGg1MDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMTAwIDgwMHYtNzUwcTAgLTIxIC0xNC41IC0zNS41IHQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NzUwaDExMDB6TTEwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTMwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTUwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTcwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTkwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTMwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTUwMCA0MDAgdi0xMDBoMTAwdjEwMGgtMTAwek03MDAgNDAwdi0xMDBoMTAwdjEwMGgtMTAwek05MDAgNDAwdi0xMDBoMTAwdjEwMGgtMTAwek0xMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek0zMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek01MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek03MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek05MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTA7IiBkPSJNMTEzNSAxMTY1bDI0OSAtMjMwcTE1IC0xNCAxNSAtMzV0LTE1IC0zNWwtMjQ5IC0yMzBxLTE0IC0xNCAtMjQuNSAtMTB0LTEwLjUgMjV2MTUwaC0xNTlsLTYwMCAtNjAwaC0yOTFxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMjA5bDYwMCA2MDBoMjQxdjE1MHEwIDIxIDEwLjUgMjV0MjQuNSAtMTB6TTUyMiA4MTlsLTE0MSAtMTQxbC0xMjIgMTIyaC0yMDlxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDI5MXpNMTEzNSA1NjVsMjQ5IC0yMzBxMTUgLTE0IDE1IC0zNXQtMTUgLTM1bC0yNDkgLTIzMHEtMTQgLTE0IC0yNC41IC0xMHQtMTAuNSAyNXYxNTBoLTI0MWwtMTgxIDE4MWwxNDEgMTQxbDEyMiAtMTIyaDE1OXYxNTBxMCAyMSAxMC41IDI1dDI0LjUgLTEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTE7IiBkPSJNMTAwIDExMDBoMTAwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNjAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC01OTZsLTMwNCAtMzAwdjMwMGgtMTAwcS00MSAwIC03MC41IDI5LjV0LTI5LjUgNzAuNXY2MDBxMCA0MSAyOS41IDcwLjV0NzAuNSAyOS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTI7IiBkPSJNMTUwIDEyMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yNTBoLTMwMHYyNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTIwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTI1MGgtMzAwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTExMDAgODAwdi0zMDBxMCAtNDEgLTMgLTc3LjV0LTE1IC04OS41dC0zMiAtOTZ0LTU4IC04OXQtODkgLTc3dC0xMjkgLTUxdC0xNzQgLTIwdC0xNzQgMjAgdC0xMjkgNTF0LTg5IDc3dC01OCA4OXQtMzIgOTZ0LTE1IDg5LjV0LTMgNzcuNXYzMDBoMzAwdi0yNTB2LTI3di00Mi41dDEuNSAtNDF0NSAtMzh0MTAgLTM1dDE2LjUgLTMwdDI1LjUgLTI0LjV0MzUgLTE5dDQ2LjUgLTEydDYwIC00dDYwIDQuNXQ0Ni41IDEyLjV0MzUgMTkuNXQyNSAyNS41dDE3IDMwLjV0MTAgMzV0NSAzOHQyIDQwLjV0LTAuNSA0MnYyNXYyNTBoMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTM7IiBkPSJNMTEwMCA0MTFsLTE5OCAtMTk5bC0zNTMgMzUzbC0zNTMgLTM1M2wtMTk3IDE5OWw1NTEgNTUxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTQ7IiBkPSJNMTEwMSA3ODlsLTU1MCAtNTUxbC01NTEgNTUxbDE5OCAxOTlsMzUzIC0zNTNsMzUzIDM1M3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTE1OyIgZD0iTTQwNCAxMDAwaDc0NnEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTUxaDE1MHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNWwtMjMwIC0yNDlxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI0OXEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNWgxNTB2NDAxaC0zODF6TTEzNSA5ODRsMjMwIC0yNDlxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNWgtMTUwdi00MDBoMzg1bDIxNSAtMjAwaC03NTBxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXY1NTBoLTE1MHEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIzMCAyNDlxMTQgMTUgMzUgMTV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTY7IiBkPSJNNTYgMTIwMGg5NHExNyAwIDMxIC0xMXQxOCAtMjdsMzggLTE2Mmg4OTZxMjQgMCAzOSAtMTguNXQxMCAtNDIuNWwtMTAwIC00NzVxLTUgLTIxIC0yNyAtNDIuNXQtNTUgLTIxLjVoLTYzM2w0OCAtMjAwaDUzNXEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41dC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1MGgtMzAwdi01MCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjV0LTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaC0zMXEtMTggMCAtMzIuNSAxMHQtMjAuNSAxOWwtNSAxMGwtMjAxIDk2MWgtNTRxLTIwIDAgLTM1IDE0LjV0LTE1IDM1LjV0MTUgMzUuNXQzNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTc7IiBkPSJNMTIwMCAxMDAwdi0xMDBoLTEyMDB2MTAwaDIwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMzAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41aDUwMHpNMCA4MDBoMTIwMHYtODAwaC0xMjAwdjgwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTE4OyIgZD0iTTIwMCA4MDBsLTIwMCAtNDAwdjYwMGgyMDBxMCA0MSAyOS41IDcwLjV0NzAuNSAyOS41aDMwMHE0MiAwIDcxIC0yOS41dDI5IC03MC41aDUwMHYtMjAwaC0xMDAwek0xNTAwIDcwMGwtMzAwIC03MDBoLTEyMDBsMzAwIDcwMGgxMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTk7IiBkPSJNNjM1IDExODRsMjMwIC0yNDlxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNWgtMTUwdi02MDFoMTUwcTIxIDAgMjUgLTEwLjV0LTEwIC0yNC41bC0yMzAgLTI0OXEtMTQgLTE1IC0zNSAtMTV0LTM1IDE1bC0yMzAgMjQ5cS0xNCAxNCAtMTAgMjQuNXQyNSAxMC41aDE1MHY2MDFoLTE1MHEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIzMCAyNDlxMTQgMTUgMzUgMTV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMjA7IiBkPSJNOTM2IDg2NGwyNDkgLTIyOXExNCAtMTUgMTQgLTM1LjV0LTE0IC0zNS41bC0yNDkgLTIyOXEtMTUgLTE1IC0yNS41IC0xMC41dC0xMC41IDI0LjV2MTUxaC02MDB2LTE1MXEwIC0yMCAtMTAuNSAtMjQuNXQtMjUuNSAxMC41bC0yNDkgMjI5cS0xNCAxNSAtMTQgMzUuNXQxNCAzNS41bDI0OSAyMjlxMTUgMTUgMjUuNSAxMC41dDEwLjUgLTI1LjV2LTE0OWg2MDB2MTQ5cTAgMjEgMTAuNSAyNS41dDI1LjUgLTEwLjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyMTsiIGQ9Ik0xMTY5IDQwMGwtMTcyIDczMnEtNSAyMyAtMjMgNDUuNXQtMzggMjIuNWgtNjcycS0yMCAwIC0zOCAtMjB0LTIzIC00MWwtMTcyIC03MzloMTEzOHpNMTEwMCAzMDBoLTEwMDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTEwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoMTAwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2MTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek04MDAgMTAwdjEwMGgxMDB2LTEwMGgtMTAwIHpNMTAwMCAxMDB2MTAwaDEwMHYtMTAwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyMjsiIGQ9Ik0xMTUwIDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTg1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNXQtMzUuNSAxNC41dC0xNC41IDM1LjV2ODUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTAwMCAyMDBsLTY3NSAyMDBoLTM4bDQ3IC0yNzZxMyAtMTYgLTUuNSAtMjB0LTI5LjUgLTRoLTdoLTg0cS0yMCAwIC0zNC41IDE0dC0xOC41IDM1cS01NSAzMzcgLTU1IDM1MXYyNTB2NnEwIDE2IDEgMjMuNXQ2LjUgMTQgdDE3LjUgNi41aDIwMGw2NzUgMjUwdi04NTB6TTAgNzUwdi0yNTBxLTQgMCAtMTEgMC41dC0yNCA2dC0zMCAxNXQtMjQgMzB0LTExIDQ4LjV2NTBxMCAyNiAxMC41IDQ2dDI1IDMwdDI5IDE2dDI1LjUgN3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTIzOyIgZD0iTTU1MyAxMjAwaDk0cTIwIDAgMjkgLTEwLjV0MyAtMjkuNWwtMTggLTM3cTgzIC0xOSAxNDQgLTgyLjV0NzYgLTE0MC41bDYzIC0zMjdsMTE4IC0xNzNoMTdxMTkgMCAzMyAtMTQuNXQxNCAtMzV0LTEzIC00MC41dC0zMSAtMjdxLTggLTQgLTIzIC05LjV0LTY1IC0xOS41dC0xMDMgLTI1dC0xMzIuNSAtMjB0LTE1OC41IC05cS01NyAwIC0xMTUgNXQtMTA0IDEydC04OC41IDE1LjV0LTczLjUgMTcuNXQtNTQuNSAxNnQtMzUuNSAxMmwtMTEgNCBxLTE4IDggLTMxIDI4dC0xMyA0MC41dDE0IDM1dDMzIDE0LjVoMTdsMTE4IDE3M2w2MyAzMjdxMTUgNzcgNzYgMTQwdDE0NCA4M2wtMTggMzJxLTYgMTkgMy41IDMydDI4LjUgMTN6TTQ5OCAxMTBxNTAgLTYgMTAyIC02cTUzIDAgMTAyIDZxLTEyIC00OSAtMzkuNSAtNzkuNXQtNjIuNSAtMzAuNXQtNjMgMzAuNXQtMzkgNzkuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTI0OyIgZD0iTTgwMCA5NDZsMjI0IDc4bC03OCAtMjI0bDIzNCAtNDVsLTE4MCAtMTU1bDE4MCAtMTU1bC0yMzQgLTQ1bDc4IC0yMjRsLTIyNCA3OGwtNDUgLTIzNGwtMTU1IDE4MGwtMTU1IC0xODBsLTQ1IDIzNGwtMjI0IC03OGw3OCAyMjRsLTIzNCA0NWwxODAgMTU1bC0xODAgMTU1bDIzNCA0NWwtNzggMjI0bDIyNCAtNzhsNDUgMjM0bDE1NSAtMTgwbDE1NSAxODB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyNTsiIGQ9Ik02NTAgMTIwMGg1MHE0MCAwIDcwIC00MC41dDMwIC04NC41di0xNTBsLTI4IC0xMjVoMzI4cTQwIDAgNzAgLTQwLjV0MzAgLTg0LjV2LTEwMHEwIC00NSAtMjkgLTc0bC0yMzggLTM0NHEtMTYgLTI0IC0zOCAtNDAuNXQtNDUgLTE2LjVoLTI1MHEtNyAwIC00MiAyNXQtNjYgNTBsLTMxIDI1aC02MXEtNDUgMCAtNzIuNSAxOHQtMjcuNSA1N3Y0MDBxMCAzNiAyMCA2M2wxNDUgMTk2bDk2IDE5OHExMyAyOCAzNy41IDQ4dDUxLjUgMjB6IE02NTAgMTEwMGwtMTAwIC0yMTJsLTE1MCAtMjEzdi0zNzVoMTAwbDEzNiAtMTAwaDIxNGwyNTAgMzc1djEyNWgtNDUwbDUwIDIyNXYxNzVoLTUwek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTI2OyIgZD0iTTYwMCAxMTAwaDI1MHEyMyAwIDQ1IC0xNi41dDM4IC00MC41bDIzOCAtMzQ0cTI5IC0yOSAyOSAtNzR2LTEwMHEwIC00NCAtMzAgLTg0LjV0LTcwIC00MC41aC0zMjhxMjggLTExOCAyOCAtMTI1di0xNTBxMCAtNDQgLTMwIC04NC41dC03MCAtNDAuNWgtNTBxLTI3IDAgLTUxLjUgMjB0LTM3LjUgNDhsLTk2IDE5OGwtMTQ1IDE5NnEtMjAgMjcgLTIwIDYzdjQwMHEwIDM5IDI3LjUgNTd0NzIuNSAxOGg2MXExMjQgMTAwIDEzOSAxMDB6IE01MCAxMDAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTYzNiAxMDAwbC0xMzYgLTEwMGgtMTAwdi0zNzVsMTUwIC0yMTNsMTAwIC0yMTJoNTB2MTc1bC01MCAyMjVoNDUwdjEyNWwtMjUwIDM3NWgtMjE0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMjc7IiBkPSJNMzU2IDg3M2wzNjMgMjMwcTMxIDE2IDUzIC02bDExMCAtMTEycTEzIC0xMyAxMy41IC0zMnQtMTEuNSAtMzRsLTg0IC0xMjFoMzAycTg0IDAgMTM4IC0zOHQ1NCAtMTEwdC01NSAtMTExdC0xMzkgLTM5aC0xMDZsLTEzMSAtMzM5cS02IC0yMSAtMTkuNSAtNDF0LTI4LjUgLTIwaC0zNDJxLTcgMCAtOTAgODF0LTgzIDk0djUyNXEwIDE3IDE0IDM1LjV0MjggMjguNXpNNDAwIDc5MnYtNTAzbDEwMCAtODloMjkzbDEzMSAzMzkgcTYgMjEgMTkuNSA0MXQyOC41IDIwaDIwM3EyMSAwIDMwLjUgMjV0MC41IDUwdC0zMSAyNWgtNDU2aC03aC02aC01LjV0LTYgMC41dC01IDEuNXQtNSAydC00IDIuNXQtNCA0dC0yLjUgNC41cS0xMiAyNSA1IDQ3bDE0NiAxODNsLTg2IDgzek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NTAwIHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyODsiIGQ9Ik00NzUgMTEwM2wzNjYgLTIzMHEyIC0xIDYgLTMuNXQxNCAtMTAuNXQxOCAtMTYuNXQxNC41IC0yMHQ2LjUgLTIyLjV2LTUyNXEwIC0xMyAtODYgLTk0dC05MyAtODFoLTM0MnEtMTUgMCAtMjguNSAyMHQtMTkuNSA0MWwtMTMxIDMzOWgtMTA2cS04NSAwIC0xMzkuNSAzOXQtNTQuNSAxMTF0NTQgMTEwdDEzOCAzOGgzMDJsLTg1IDEyMXEtMTEgMTUgLTEwLjUgMzR0MTMuNSAzMmwxMTAgMTEycTIyIDIyIDUzIDZ6TTM3MCA5NDVsMTQ2IC0xODMgcTE3IC0yMiA1IC00N3EtMiAtMiAtMy41IC00LjV0LTQgLTR0LTQgLTIuNXQtNSAtMnQtNSAtMS41dC02IC0wLjVoLTZoLTYuNWgtNmgtNDc1di0xMDBoMjIxcTE1IDAgMjkgLTIwdDIwIC00MWwxMzAgLTMzOWgyOTRsMTA2IDg5djUwM2wtMzQyIDIzNnpNMTA1MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjUgdjUwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyOTsiIGQ9Ik01NTAgMTI5NHE3MiAwIDExMSAtNTV0MzkgLTEzOXYtMTA2bDMzOSAtMTMxcTIxIC02IDQxIC0xOS41dDIwIC0yOC41di0zNDJxMCAtNyAtODEgLTkwdC05NCAtODNoLTUyNXEtMTcgMCAtMzUuNSAxNHQtMjguNSAyOGwtOSAxNGwtMjMwIDM2M3EtMTYgMzEgNiA1M2wxMTIgMTEwcTEzIDEzIDMyIDEzLjV0MzQgLTExLjVsMTIxIC04NHYzMDJxMCA4NCAzOCAxMzh0MTEwIDU0ek02MDAgOTcydjIwM3EwIDIxIC0yNSAzMC41dC01MCAwLjUgdC0yNSAtMzF2LTQ1NnYtN3YtNnYtNS41dC0wLjUgLTZ0LTEuNSAtNXQtMiAtNXQtMi41IC00dC00IC00dC00LjUgLTIuNXEtMjUgLTEyIC00NyA1bC0xODMgMTQ2bC04MyAtODZsMjM2IC0zMzloNTAzbDg5IDEwMHYyOTNsLTMzOSAxMzFxLTIxIDYgLTQxIDE5LjV0LTIwIDI4LjV6TTQ1MCAyMDBoNTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTUwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMDsiIGQ9Ik0zNTAgMTEwMGg1MDBxMjEgMCAzNS41IDE0LjV0MTQuNSAzNS41djEwMHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNWgtNTAwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xMDBxMCAtMjEgMTQuNSAtMzUuNXQzNS41IC0xNC41ek02MDAgMzA2di0xMDZxMCAtODQgLTM5IC0xMzl0LTExMSAtNTV0LTExMCA1NHQtMzggMTM4djMwMmwtMTIxIC04NHEtMTUgLTEyIC0zNCAtMTEuNXQtMzIgMTMuNWwtMTEyIDExMCBxLTIyIDIyIC02IDUzbDIzMCAzNjNxMSAyIDMuNSA2dDEwLjUgMTMuNXQxNi41IDE3dDIwIDEzLjV0MjIuNSA2aDUyNXExMyAwIDk0IC04M3Q4MSAtOTB2LTM0MnEwIC0xNSAtMjAgLTI4LjV0LTQxIC0xOS41ek0zMDggOTAwbC0yMzYgLTMzOWw4MyAtODZsMTgzIDE0NnEyMiAxNyA0NyA1cTIgLTEgNC41IC0yLjV0NCAtNHQyLjUgLTR0MiAtNXQxLjUgLTV0MC41IC02di01LjV2LTZ2LTd2LTQ1NnEwIC0yMiAyNSAtMzF0NTAgMC41dDI1IDMwLjUgdjIwM3EwIDE1IDIwIDI4LjV0NDEgMTkuNWwzMzkgMTMxdjI5M2wtODkgMTAwaC01MDN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMTsiIGQ9Ik02MDAgMTE3OHExMTggMCAyMjUgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNXQtNDUuNSAtMjI1dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjUgLTQ1LjV0LTIyNSA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjV0NDUuNSAyMjV0MTIzIDE4NC41dDE4NC41IDEyM3QyMjUgNDUuNXpNOTE0IDYzMmwtMjc1IDIyM3EtMTYgMTMgLTI3LjUgOHQtMTEuNSAtMjZ2LTEzN2gtMjc1IHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTE1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDI3NXYtMTM3cTAgLTIxIDExLjUgLTI2dDI3LjUgOGwyNzUgMjIzcTE2IDEzIDE2IDMydC0xNiAzMnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTMyOyIgZD0iTTYwMCAxMTc4cTExOCAwIDIyNSAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI1dC00NS41IC0yMjV0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNSAtNDUuNXQtMjI1IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNXQ0NS41IDIyNXQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNSA0NS41ek01NjEgODU1bC0yNzUgLTIyM3EtMTYgLTEzIC0xNiAtMzJ0MTYgLTMybDI3NSAtMjIzcTE2IC0xMyAyNy41IC04IHQxMS41IDI2djEzN2gyNzVxMTAgMCAxNy41IDcuNXQ3LjUgMTcuNXYxNTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41aC0yNzV2MTM3cTAgMjEgLTExLjUgMjZ0LTI3LjUgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMzsiIGQ9Ik02MDAgMTE3OHExMTggMCAyMjUgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNXQtNDUuNSAtMjI1dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjUgLTQ1LjV0LTIyNSA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjV0NDUuNSAyMjV0MTIzIDE4NC41dDE4NC41IDEyM3QyMjUgNDUuNXpNODU1IDYzOWwtMjIzIDI3NXEtMTMgMTYgLTMyIDE2dC0zMiAtMTZsLTIyMyAtMjc1cS0xMyAtMTYgLTggLTI3LjUgdDI2IC0xMS41aDEzN3YtMjc1cTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2Mjc1aDEzN3EyMSAwIDI2IDExLjV0LTggMjcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTM0OyIgZD0iTTYwMCAxMTc4cTExOCAwIDIyNSAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI1dC00NS41IC0yMjV0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNSAtNDUuNXQtMjI1IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNXQ0NS41IDIyNXQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNSA0NS41ek02NzUgOTAwaC0xNTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di0yNzVoLTEzN3EtMjEgMCAtMjYgLTExLjUgdDggLTI3LjVsMjIzIC0yNzVxMTMgLTE2IDMyIC0xNnQzMiAxNmwyMjMgMjc1cTEzIDE2IDggMjcuNXQtMjYgMTEuNWgtMTM3djI3NXEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzNTsiIGQ9Ik02MDAgMTE3NnExMTYgMCAyMjIuNSAtNDZ0MTg0IC0xMjMuNXQxMjMuNSAtMTg0dDQ2IC0yMjIuNXQtNDYgLTIyMi41dC0xMjMuNSAtMTg0dC0xODQgLTEyMy41dC0yMjIuNSAtNDZ0LTIyMi41IDQ2dC0xODQgMTIzLjV0LTEyMy41IDE4NHQtNDYgMjIyLjV0NDYgMjIyLjV0MTIzLjUgMTg0dDE4NCAxMjMuNXQyMjIuNSA0NnpNNjI3IDExMDFxLTE1IC0xMiAtMzYuNSAtMjAuNXQtMzUuNSAtMTJ0LTQzIC04dC0zOSAtNi41IHEtMTUgLTMgLTQ1LjUgMHQtNDUuNSAtMnEtMjAgLTcgLTUxLjUgLTI2LjV0LTM0LjUgLTM0LjVxLTMgLTExIDYuNSAtMjIuNXQ4LjUgLTE4LjVxLTMgLTM0IC0yNy41IC05MXQtMjkuNSAtNzlxLTkgLTM0IDUgLTkzdDggLTg3cTAgLTkgMTcgLTQ0LjV0MTYgLTU5LjVxMTIgMCAyMyAtNXQyMy41IC0xNXQxOS41IC0xNHExNiAtOCAzMyAtMTV0NDAuNSAtMTV0MzQuNSAtMTJxMjEgLTkgNTIuNSAtMzJ0NjAgLTM4dDU3LjUgLTExIHE3IC0xNSAtMyAtMzR0LTIyLjUgLTQwdC05LjUgLTM4cTEzIC0yMSAyMyAtMzQuNXQyNy41IC0yNy41dDM2LjUgLTE4cTAgLTcgLTMuNSAtMTZ0LTMuNSAtMTR0NSAtMTdxMTA0IC0yIDIyMSAxMTJxMzAgMjkgNDYuNSA0N3QzNC41IDQ5dDIxIDYzcS0xMyA4IC0zNyA4LjV0LTM2IDcuNXEtMTUgNyAtNDkuNSAxNXQtNTEuNSAxOXEtMTggMCAtNDEgLTAuNXQtNDMgLTEuNXQtNDIgLTYuNXQtMzggLTE2LjVxLTUxIC0zNSAtNjYgLTEyIHEtNCAxIC0zLjUgMjUuNXQwLjUgMjUuNXEtNiAxMyAtMjYuNSAxNy41dC0yNC41IDYuNXExIDE1IC0wLjUgMzAuNXQtNyAyOHQtMTguNSAxMS41dC0zMSAtMjFxLTIzIC0yNSAtNDIgNHEtMTkgMjggLTggNThxNiAxNiAyMiAyMnE2IC0xIDI2IC0xLjV0MzMuNSAtNHQxOS41IC0xMy41cTcgLTEyIDE4IC0yNHQyMS41IC0yMC41dDIwIC0xNXQxNS41IC0xMC41bDUgLTNxMiAxMiA3LjUgMzAuNXQ4IDM0LjV0LTAuNSAzMnEtMyAxOCAzLjUgMjkgdDE4IDIyLjV0MTUuNSAyNC41cTYgMTQgMTAuNSAzNXQ4IDMxdDE1LjUgMjIuNXQzNCAyMi41cS02IDE4IDEwIDM2cTggMCAyNCAtMS41dDI0LjUgLTEuNXQyMCA0LjV0MjAuNSAxNS41cS0xMCAyMyAtMzEgNDIuNXQtMzcuNSAyOS41dC00OSAyN3QtNDMuNSAyM3EwIDEgMiA4dDMgMTEuNXQxLjUgMTAuNXQtMSA5LjV0LTQuNSA0LjVxMzEgLTEzIDU4LjUgLTE0LjV0MzguNSAyLjVsMTIgNXE1IDI4IC05LjUgNDZ0LTM2LjUgMjR0LTUwIDE1IHQtNDEgMjBxLTE4IC00IC0zNyAwek02MTMgOTk0cTAgLTE3IDggLTQydDE3IC00NXQ5IC0yM3EtOCAxIC0zOS41IDUuNXQtNTIuNSAxMHQtMzcgMTYuNXEzIDExIDE2IDI5LjV0MTYgMjUuNXExMCAtMTAgMTkgLTEwdDE0IDZ0MTMuNSAxNC41dDE2LjUgMTIuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTM2OyIgZD0iTTc1NiAxMTU3cTE2NCA5MiAzMDYgLTlsLTI1OSAtMTM4bDE0NSAtMjMybDI1MSAxMjZxNiAtODkgLTM0IC0xNTYuNXQtMTE3IC0xMTAuNXEtNjAgLTM0IC0xMjcgLTM5LjV0LTEyNiAxNi41bC01OTYgLTU5NnEtMTUgLTE2IC0zNi41IC0xNnQtMzYuNSAxNmwtMTExIDExMHEtMTUgMTUgLTE1IDM2LjV0MTUgMzcuNWw2MDAgNTk5cS0zNCAxMDEgNS41IDIwMS41dDEzNS41IDE1NC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMzc7IiBob3Jpei1hZHYteD0iMTIyMCIgZD0iTTEwMCAxMTk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNMTEwMCAxMDk2aC0yMDB2LTEwMGgyMDB2MTAwek0xMDAgNzk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMCBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djEwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTExMDAgNjk2aC01MDB2LTEwMGg1MDB2MTAwek0xMDAgMzk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNMTEwMCAyOTZoLTMwMHYtMTAwaDMwMHYxMDB6ICIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMzg7IiBkPSJNMTUwIDEyMDBoOTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41dC0xNC41IC0zNS41dC0zNS41IC0xNC41aC05MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTcwMCA1MDB2LTMwMGwtMjAwIC0yMDB2NTAwbC0zNTAgNTAwaDkwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTM5OyIgZD0iTTUwMCAxMjAwaDIwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtMTAwaDMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNDAwaC01MDB2MTAwaC0yMDB2LTEwMGgtNTAwdjQwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMzAwdjEwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTUwMCAxMTAwdi0xMDBoMjAwdjEwMGgtMjAwek0xMjAwIDQwMHYtMjAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC0xMDAwIHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MjAwaDEyMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0MDsiIGQ9Ik01MCAxMjAwaDMwMHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNWwtOTQgLTk0bDE5OSAtMTk5cTcgLTggNyAtMTh0LTcgLTE4bC0xMDYgLTEwNnEtOCAtNyAtMTggLTd0LTE4IDdsLTE5OSAxOTlsLTk0IC05NHEtMTQgLTE0IC0yNC41IC0xMHQtMTAuNSAyNXYzMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTIwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTk0IDk0IGwtMTk5IC0xOTlxLTggLTcgLTE4IC03dC0xOCA3bC0xMDYgMTA2cS03IDggLTcgMTh0NyAxOGwxOTkgMTk5bC05NCA5NHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXpNMzY0IDQ3MGwxMDYgLTEwNnE3IC04IDcgLTE4dC03IC0xOGwtMTk5IC0xOTlsOTQgLTk0cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTMwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MzAwcTAgMjEgMTAuNSAyNXQyNC41IC0xMGw5NCAtOTRsMTk5IDE5OSBxOCA3IDE4IDd0MTggLTd6TTEwNzEgMjcxbDk0IDk0cTE0IDE0IDI0LjUgMTB0MTAuNSAtMjV2LTMwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0yNSAxMC41dDEwIDI0LjVsOTQgOTRsLTE5OSAxOTlxLTcgOCAtNyAxOHQ3IDE4bDEwNiAxMDZxOCA3IDE4IDd0MTggLTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0MTsiIGQ9Ik01OTYgMTE5MnExMjEgMCAyMzEuNSAtNDcuNXQxOTAgLTEyN3QxMjcgLTE5MHQ0Ny41IC0yMzEuNXQtNDcuNSAtMjMxLjV0LTEyNyAtMTkwLjV0LTE5MCAtMTI3dC0yMzEuNSAtNDd0LTIzMS41IDQ3dC0xOTAuNSAxMjd0LTEyNyAxOTAuNXQtNDcgMjMxLjV0NDcgMjMxLjV0MTI3IDE5MHQxOTAuNSAxMjd0MjMxLjUgNDcuNXpNNTk2IDEwMTBxLTExMiAwIC0yMDcuNSAtNTUuNXQtMTUxIC0xNTF0LTU1LjUgLTIwNy41dDU1LjUgLTIwNy41IHQxNTEgLTE1MXQyMDcuNSAtNTUuNXQyMDcuNSA1NS41dDE1MSAxNTF0NTUuNSAyMDcuNXQtNTUuNSAyMDcuNXQtMTUxIDE1MXQtMjA3LjUgNTUuNXpNNDU0LjUgOTA1cTIyLjUgMCAzOC41IC0xNnQxNiAtMzguNXQtMTYgLTM5dC0zOC41IC0xNi41dC0zOC41IDE2LjV0LTE2IDM5dDE2IDM4LjV0MzguNSAxNnpNNzU0LjUgOTA1cTIyLjUgMCAzOC41IC0xNnQxNiAtMzguNXQtMTYgLTM5dC0zOCAtMTYuNXEtMTQgMCAtMjkgMTBsLTU1IC0xNDUgcTE3IC0yMyAxNyAtNTFxMCAtMzYgLTI1LjUgLTYxLjV0LTYxLjUgLTI1LjV0LTYxLjUgMjUuNXQtMjUuNSA2MS41cTAgMzIgMjAuNSA1Ni41dDUxLjUgMjkuNWwxMjIgMTI2bDEgMXEtOSAxNCAtOSAyOHEwIDIzIDE2IDM5dDM4LjUgMTZ6TTM0NS41IDcwOXEyMi41IDAgMzguNSAtMTZ0MTYgLTM4LjV0LTE2IC0zOC41dC0zOC41IC0xNnQtMzguNSAxNnQtMTYgMzguNXQxNiAzOC41dDM4LjUgMTZ6TTg1NC41IDcwOXEyMi41IDAgMzguNSAtMTYgdDE2IC0zOC41dC0xNiAtMzguNXQtMzguNSAtMTZ0LTM4LjUgMTZ0LTE2IDM4LjV0MTYgMzguNXQzOC41IDE2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDI7IiBkPSJNNTQ2IDE3M2w0NjkgNDcwcTkxIDkxIDk5IDE5MnE3IDk4IC01MiAxNzUuNXQtMTU0IDk0LjVxLTIyIDQgLTQ3IDRxLTM0IDAgLTY2LjUgLTEwdC01Ni41IC0yM3QtNTUuNSAtMzh0LTQ4IC00MS41dC00OC41IC00Ny41cS0zNzYgLTM3NSAtMzkxIC0zOTBxLTMwIC0yNyAtNDUgLTQxLjV0LTM3LjUgLTQxdC0zMiAtNDYuNXQtMTYgLTQ3LjV0LTEuNSAtNTYuNXE5IC02MiA1My41IC05NXQ5OS41IC0zM3E3NCAwIDEyNSA1MWw1NDggNTQ4IHEzNiAzNiAyMCA3NXEtNyAxNiAtMjEuNSAyNnQtMzIuNSAxMHEtMjYgMCAtNTAgLTIzcS0xMyAtMTIgLTM5IC0zOGwtMzQxIC0zMzhxLTE1IC0xNSAtMzUuNSAtMTUuNXQtMzQuNSAxMy41dC0xNCAzNC41dDE0IDM0LjVxMzI3IDMzMyAzNjEgMzY3cTM1IDM1IDY3LjUgNTEuNXQ3OC41IDE2LjVxMTQgMCAyOSAtMXE0NCAtOCA3NC41IC0zNS41dDQzLjUgLTY4LjVxMTQgLTQ3IDIgLTk2LjV0LTQ3IC04NC41cS0xMiAtMTEgLTMyIC0zMiB0LTc5LjUgLTgxdC0xMTQuNSAtMTE1dC0xMjQuNSAtMTIzLjV0LTEyMyAtMTE5LjV0LTk2LjUgLTg5dC01NyAtNDVxLTU2IC0yNyAtMTIwIC0yN3EtNzAgMCAtMTI5IDMydC05MyA4OXEtNDggNzggLTM1IDE3M3Q4MSAxNjNsNTExIDUxMXE3MSA3MiAxMTEgOTZxOTEgNTUgMTk4IDU1cTgwIDAgMTUyIC0zM3E3OCAtMzYgMTI5LjUgLTEwM3Q2Ni41IC0xNTRxMTcgLTkzIC0xMSAtMTgzLjV0LTk0IC0xNTYuNWwtNDgyIC00NzYgcS0xNSAtMTUgLTM2IC0xNnQtMzcgMTR0LTE3LjUgMzR0MTQuNSAzNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTQzOyIgZD0iTTY0OSA5NDlxNDggNjggMTA5LjUgMTA0dDEyMS41IDM4LjV0MTE4LjUgLTIwdDEwMi41IC02NHQ3MSAtMTAwLjV0MjcgLTEyM3EwIC01NyAtMzMuNSAtMTE3LjV0LTk0IC0xMjQuNXQtMTI2LjUgLTEyNy41dC0xNTAgLTE1Mi41dC0xNDYgLTE3NHEtNjIgODUgLTE0NS41IDE3NHQtMTUwIDE1Mi41dC0xMjYuNSAxMjcuNXQtOTMuNSAxMjQuNXQtMzMuNSAxMTcuNXEwIDY0IDI4IDEyM3Q3MyAxMDAuNXQxMDQgNjR0MTE5IDIwIHQxMjAuNSAtMzguNXQxMDQuNSAtMTA0ek04OTYgOTcycS0zMyAwIC02NC41IC0xOXQtNTYuNSAtNDZ0LTQ3LjUgLTUzLjV0LTQzLjUgLTQ1LjV0LTM3LjUgLTE5dC0zNiAxOXQtNDAgNDUuNXQtNDMgNTMuNXQtNTQgNDZ0LTY1LjUgMTlxLTY3IDAgLTEyMi41IC01NS41dC01NS41IC0xMzIuNXEwIC0yMyAxMy41IC01MXQ0NiAtNjV0NTcuNSAtNjN0NzYgLTc1bDIyIC0yMnExNSAtMTQgNDQgLTQ0dDUwLjUgLTUxdDQ2IC00NHQ0MSAtMzV0MjMgLTEyIHQyMy41IDEydDQyLjUgMzZ0NDYgNDR0NTIuNSA1MnQ0NCA0M3E0IDQgMTIgMTNxNDMgNDEgNjMuNSA2MnQ1MiA1NXQ0NiA1NXQyNiA0NnQxMS41IDQ0cTAgNzkgLTUzIDEzMy41dC0xMjAgNTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTQ0OyIgZD0iTTc3Ni41IDEyMTRxOTMuNSAwIDE1OS41IC02NmwxNDEgLTE0MXE2NiAtNjYgNjYgLTE2MHEwIC00MiAtMjggLTk1LjV0LTYyIC04Ny41bC0yOSAtMjlxLTMxIDUzIC03NyA5OWwtMTggMThsOTUgOTVsLTI0NyAyNDhsLTM4OSAtMzg5bDIxMiAtMjEybC0xMDUgLTEwNmwtMTkgMThsLTE0MSAxNDFxLTY2IDY2IC02NiAxNTl0NjYgMTU5bDI4MyAyODNxNjUgNjYgMTU4LjUgNjZ6TTYwMCA3MDZsMTA1IDEwNXExMCAtOCAxOSAtMTdsMTQxIC0xNDEgcTY2IC02NiA2NiAtMTU5dC02NiAtMTU5bC0yODMgLTI4M3EtNjYgLTY2IC0xNTkgLTY2dC0xNTkgNjZsLTE0MSAxNDFxLTY2IDY2IC02NiAxNTkuNXQ2NiAxNTkuNWw1NSA1NXEyOSAtNTUgNzUgLTEwMmwxOCAtMTdsLTk1IC05NWwyNDcgLTI0OGwzODkgMzg5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDU7IiBkPSJNNjAzIDEyMDBxODUgMCAxNjIgLTE1dDEyNyAtMzh0NzkgLTQ4dDI5IC00NnYtOTUzcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC02MDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djk1M3EwIDIxIDMwIDQ2LjV0ODEgNDh0MTI5IDM3LjV0MTYzIDE1ek0zMDAgMTAwMHYtNzAwaDYwMHY3MDBoLTYwMHpNNjAwIDI1NHEtNDMgMCAtNzMuNSAtMzAuNXQtMzAuNSAtNzMuNXQzMC41IC03My41dDczLjUgLTMwLjV0NzMuNSAzMC41IHQzMC41IDczLjV0LTMwLjUgNzMuNXQtNzMuNSAzMC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDY7IiBkPSJNOTAyIDExODVsMjgzIC0yODJxMTUgLTE1IDE1IC0zNnQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNXQtMzUgMTVsLTM2IDM1bC0yNzkgLTI2N3YtMzAwbC0yMTIgMjEwbC0zMDggLTMwN2wtMjgwIC0yMDNsMjAzIDI4MGwzMDcgMzA4bC0yMTAgMjEyaDMwMGwyNjcgMjc5bC0zNSAzNnEtMTUgMTQgLTE1IDM1dDE0LjUgMzUuNXQzNS41IDE0LjV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDg7IiBkPSJNNzAwIDEyNDh2LTc4cTM4IC01IDcyLjUgLTE0LjV0NzUuNSAtMzEuNXQ3MSAtNTMuNXQ1MiAtODR0MjQgLTExOC41aC0xNTlxLTQgMzYgLTEwLjUgNTl0LTIxIDQ1dC00MCAzNS41dC02NC41IDIwLjV2LTMwN2w2NCAtMTNxMzQgLTcgNjQgLTE2LjV0NzAgLTMydDY3LjUgLTUyLjV0NDcuNSAtODB0MjAgLTExMnEwIC0xMzkgLTg5IC0yMjR0LTI0NCAtOTd2LTc3aC0xMDB2NzlxLTE1MCAxNiAtMjM3IDEwM3EtNDAgNDAgLTUyLjUgOTMuNSB0LTE1LjUgMTM5LjVoMTM5cTUgLTc3IDQ4LjUgLTEyNnQxMTcuNSAtNjV2MzM1bC0yNyA4cS00NiAxNCAtNzkgMjYuNXQtNzIgMzZ0LTYzIDUydC00MCA3Mi41dC0xNiA5OHEwIDcwIDI1IDEyNnQ2Ny41IDkydDk0LjUgNTd0MTEwIDI3djc3aDEwMHpNNjAwIDc1NHYyNzRxLTI5IC00IC01MCAtMTF0LTQyIC0yMS41dC0zMS41IC00MS41dC0xMC41IC02NXEwIC0yOSA3IC01MC41dDE2LjUgLTM0dDI4LjUgLTIyLjV0MzEuNSAtMTR0MzcuNSAtMTAgcTkgLTMgMTMgLTR6TTcwMCA1NDd2LTMxMHEyMiAyIDQyLjUgNi41dDQ1IDE1LjV0NDEuNSAyN3QyOSA0MnQxMiA1OS41dC0xMi41IDU5LjV0LTM4IDQ0LjV0LTUzIDMxdC02Ni41IDI0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0OTsiIGQ9Ik01NjEgMTE5N3E4NCAwIDE2MC41IC00MHQxMjMuNSAtMTA5LjV0NDcgLTE0Ny41aC0xNTNxMCA0MCAtMTkuNSA3MS41dC00OS41IDQ4LjV0LTU5LjUgMjZ0LTU1LjUgOXEtMzcgMCAtNzkgLTE0LjV0LTYyIC0zNS41cS00MSAtNDQgLTQxIC0xMDFxMCAtMjYgMTMuNSAtNjN0MjYuNSAtNjF0MzcgLTY2cTYgLTkgOSAtMTRoMjQxdi0xMDBoLTE5N3E4IC01MCAtMi41IC0xMTV0LTMxLjUgLTk1cS00NSAtNjIgLTk5IC0xMTIgcTM0IDEwIDgzIDE3LjV0NzEgNy41cTMyIDEgMTAyIC0xNnQxMDQgLTE3cTgzIDAgMTM2IDMwbDUwIC0xNDdxLTMxIC0xOSAtNTggLTMwLjV0LTU1IC0xNS41dC00MiAtNC41dC00NiAtMC41cS0yMyAwIC03NiAxN3QtMTExIDMyLjV0LTk2IDExLjVxLTM5IC0zIC04MiAtMTZ0LTY3IC0yNWwtMjMgLTExbC01NSAxNDVxNCAzIDE2IDExdDE1LjUgMTAuNXQxMyA5dDE1LjUgMTJ0MTQuNSAxNHQxNy41IDE4LjVxNDggNTUgNTQgMTI2LjUgdC0zMCAxNDIuNWgtMjIxdjEwMGgxNjZxLTIzIDQ3IC00NCAxMDRxLTcgMjAgLTEyIDQxLjV0LTYgNTUuNXQ2IDY2LjV0MjkuNSA3MC41dDU4LjUgNzFxOTcgODggMjYzIDg4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTA7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTkzNSAxMTg0bDIzMCAtMjQ5cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTE1MHYtOTAwaC0yMDB2OTAwaC0xNTBxLTIxIDAgLTI1IDEwLjV0MTAgMjQuNWwyMzAgMjQ5cTE0IDE1IDM1IDE1dDM1IC0xNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTUxOyIgZD0iTTEwMDAgNzAwaC0xMDB2MTAwaC0xMDB2LTEwMGgtMTAwdjUwMGgzMDB2LTUwMHpNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTgwMSAxMTAwdi0yMDBoMTAwdjIwMGgtMTAwek0xMDAwIDM1MGwtMjAwIC0yNTBoMjAwdi0xMDBoLTMwMHYxNTBsMjAwIDI1MGgtMjAwdjEwMGgzMDB2LTE1MHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE1MjsiIGQ9Ik00MDAgMzAwaDE1MHEyMSAwIDI1IC0xMXQtMTAgLTI1bC0yMzAgLTI1MHEtMTQgLTE1IC0zNSAtMTV0LTM1IDE1bC0yMzAgMjUwcS0xNCAxNCAtMTAgMjV0MjUgMTFoMTUwdjkwMGgyMDB2LTkwMHpNMTAwMCAxMDUwbC0yMDAgLTI1MGgyMDB2LTEwMGgtMzAwdjE1MGwyMDAgMjUwaC0yMDB2MTAwaDMwMHYtMTUwek0xMDAwIDBoLTEwMHYxMDBoLTEwMHYtMTAwaC0xMDB2NTAwaDMwMHYtNTAwek04MDEgNDAwdi0yMDBoMTAwdjIwMGgtMTAweiAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTUzOyIgZD0iTTQwMCAzMDBoMTUwcTIxIDAgMjUgLTExdC0xMCAtMjVsLTIzMCAtMjUwcS0xNCAtMTUgLTM1IC0xNXQtMzUgMTVsLTIzMCAyNTBxLTE0IDE0IC0xMCAyNXQyNSAxMWgxNTB2OTAwaDIwMHYtOTAwek0xMDAwIDcwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNMTEwMCAwaC0xMDB2MTAwaC0yMDB2NDAwaDMwMHYtNTAwek05MDEgNDAwdi0yMDBoMTAwdjIwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTQ7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTExMDAgNzAwaC0xMDB2MTAwaC0yMDB2NDAwaDMwMHYtNTAwek05MDEgMTEwMHYtMjAwaDEwMHYyMDBoLTEwMHpNMTAwMCAwaC0xMDB2NDAwaC0xMDB2MTAwaDIwMHYtNTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTU7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTkwMCAxMDAwaC0yMDB2MjAwaDIwMHYtMjAwek0xMDAwIDcwMGgtMzAwdjIwMGgzMDB2LTIwMHpNMTEwMCA0MDBoLTQwMHYyMDBoNDAwdi0yMDB6TTEyMDAgMTAwaC01MDB2MjAwaDUwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTY7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTEyMDAgMTAwMGgtNTAwdjIwMGg1MDB2LTIwMHpNMTEwMCA3MDBoLTQwMHYyMDBoNDAwdi0yMDB6TTEwMDAgNDAwaC0zMDB2MjAwaDMwMHYtMjAwek05MDAgMTAwaC0yMDB2MjAwaDIwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTc7IiBkPSJNMzUwIDExMDBoNDAwcTE2MiAwIDI1NiAtOTMuNXQ5NCAtMjU2LjV2LTQwMHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41ek04MDAgOTAwaC01MDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNSB2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTg7IiBkPSJNMzUwIDExMDBoNDAwcTE2NSAwIDI1Ny41IC05Mi41dDkyLjUgLTI1Ny41di00MDBxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTYzIDAgLTI1Ni41IDkyLjV0LTkzLjUgMjU3LjV2NDAwcTAgMTYzIDk0IDI1Ni41dDI1NiA5My41ek04MDAgOTAwaC01MDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNSB2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek00NDAgNzcwbDI1MyAtMTkwcTE3IC0xMiAxNyAtMzB0LTE3IC0zMGwtMjUzIC0xOTBxLTE2IC0xMiAtMjggLTYuNXQtMTIgMjYuNXY0MDBxMCAyMSAxMiAyNi41dDI4IC02LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE1OTsiIGQ9Ik0zNTAgMTEwMGg0MDBxMTYzIDAgMjU2LjUgLTk0dDkzLjUgLTI1NnYtNDAwcTAgLTE2NSAtOTIuNSAtMjU3LjV0LTI1Ny41IC05Mi41aC00MDBxLTE2NSAwIC0yNTcuNSA5Mi41dC05Mi41IDI1Ny41djQwMHEwIDE2MyA5Mi41IDI1Ni41dDI1Ny41IDkzLjV6TTgwMCA5MDBoLTUwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNTAwcTAgLTQxIDI5LjUgLTcwLjV0NzAuNSAtMjkuNWg1MDBxNDEgMCA3MC41IDI5LjV0MjkuNSA3MC41IHY1MDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjV6TTM1MCA3MDBoNDAwcTIxIDAgMjYuNSAtMTJ0LTYuNSAtMjhsLTE5MCAtMjUzcS0xMiAtMTcgLTMwIC0xN3QtMzAgMTdsLTE5MCAyNTNxLTEyIDE2IC02LjUgMjh0MjYuNSAxMnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTYwOyIgZD0iTTM1MCAxMTAwaDQwMHExNjUgMCAyNTcuNSAtOTIuNXQ5Mi41IC0yNTcuNXYtNDAwcTAgLTE2MyAtOTIuNSAtMjU2LjV0LTI1Ny41IC05My41aC00MDBxLTE2MyAwIC0yNTYuNSA5NHQtOTMuNSAyNTZ2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXpNODAwIDkwMGgtNTAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di01MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDUwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjUgdjUwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNNTgwIDY5M2wxOTAgLTI1M3ExMiAtMTYgNi41IC0yOHQtMjYuNSAtMTJoLTQwMHEtMjEgMCAtMjYuNSAxMnQ2LjUgMjhsMTkwIDI1M3ExMiAxNyAzMCAxN3QzMCAtMTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE2MTsiIGQ9Ik01NTAgMTEwMGg0MDBxMTY1IDAgMjU3LjUgLTkyLjV0OTIuNSAtMjU3LjV2LTQwMHEwIC0xNjUgLTkyLjUgLTI1Ny41dC0yNTcuNSAtOTIuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ1MHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41aC00NTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zMzggODY3bDMyNCAtMjg0cTE2IC0xNCAxNiAtMzN0LTE2IC0zM2wtMzI0IC0yODRxLTE2IC0xNCAtMjcgLTl0LTExIDI2djE1MGgtMjUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDI1MHYxNTBxMCAyMSAxMSAyNnQyNyAtOXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTYyOyIgZD0iTTc5MyAxMTgybDkgLTlxOCAtMTAgNSAtMjdxLTMgLTExIC03OSAtMjI1LjV0LTc4IC0yMjEuNWwzMDAgMXEyNCAwIDMyLjUgLTE3LjV0LTUuNSAtMzUuNXEtMSAwIC0xMzMuNSAtMTU1dC0yNjcgLTMxMi41dC0xMzguNSAtMTYyLjVxLTEyIC0xNSAtMjYgLTE1aC05bC05IDhxLTkgMTEgLTQgMzJxMiA5IDQyIDEyMy41dDc5IDIyNC41bDM5IDExMGgtMzAycS0yMyAwIC0zMSAxOXEtMTAgMjEgNiA0MXE3NSA4NiAyMDkuNSAyMzcuNSB0MjI4IDI1N3Q5OC41IDExMS41cTkgMTYgMjUgMTZoOXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTYzOyIgZD0iTTM1MCAxMTAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00NTBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNDUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwIHEwIDE2NSA5Mi41IDI1Ny41dDI1Ny41IDkyLjV6TTkzOCA4NjdsMzI0IC0yODRxMTYgLTE0IDE2IC0zM3QtMTYgLTMzbC0zMjQgLTI4NHEtMTYgLTE0IC0yNyAtOXQtMTEgMjZ2MTUwaC0yNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMjUwdjE1MHEwIDIxIDExIDI2dDI3IC05eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjQ7IiBkPSJNNzUwIDEyMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTEwLjUgLTI1dC0yNC41IDEwbC0xMDkgMTA5bC0zMTIgLTMxMnEtMTUgLTE1IC0zNS41IC0xNXQtMzUuNSAxNWwtMTQxIDE0MXEtMTUgMTUgLTE1IDM1LjV0MTUgMzUuNWwzMTIgMzEybC0xMDkgMTA5cS0xNCAxNCAtMTAgMjQuNXQyNSAxMC41ek00NTYgOTAwaC0xNTZxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMCBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDUwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2MTQ4bDIwMCAyMDB2LTI5OHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41aDMwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTY1OyIgZD0iTTYwMCAxMTg2cTExOSAwIDIyNy41IC00Ni41dDE4NyAtMTI1dDEyNSAtMTg3dDQ2LjUgLTIyNy41dC00Ni41IC0yMjcuNXQtMTI1IC0xODd0LTE4NyAtMTI1dC0yMjcuNSAtNDYuNXQtMjI3LjUgNDYuNXQtMTg3IDEyNXQtMTI1IDE4N3QtNDYuNSAyMjcuNXQ0Ni41IDIyNy41dDEyNSAxODd0MTg3IDEyNXQyMjcuNSA0Ni41ek02MDAgMTAyMnEtMTE1IDAgLTIxMiAtNTYuNXQtMTUzLjUgLTE1My41dC01Ni41IC0yMTJ0NTYuNSAtMjEyIHQxNTMuNSAtMTUzLjV0MjEyIC01Ni41dDIxMiA1Ni41dDE1My41IDE1My41dDU2LjUgMjEydC01Ni41IDIxMnQtMTUzLjUgMTUzLjV0LTIxMiA1Ni41ek02MDAgNzk0cTgwIDAgMTM3IC01N3Q1NyAtMTM3dC01NyAtMTM3dC0xMzcgLTU3dC0xMzcgNTd0LTU3IDEzN3Q1NyAxMzd0MTM3IDU3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjY7IiBkPSJNNDUwIDEyMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0zNTBoMjQ1cTIwIDAgMjUgLTExdC05IC0yNmwtMzgzIC00MjZxLTE0IC0xNSAtMzMuNSAtMTV0LTMyLjUgMTVsLTM3OSA0MjZxLTEzIDE1IC04LjUgMjZ0MjUuNSAxMWgyNTB2MzUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTI1MGgtMTEwMHYyNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiBNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE2NzsiIGQ9Ik01ODMgMTE4MmwzNzggLTQzNXExNCAtMTUgOSAtMzF0LTI2IC0xNmgtMjQ0di0yNTBxMCAtMjAgLTE3IC0zNXQtMzkgLTE1aC0yMDBxLTIwIDAgLTMyIDE0LjV0LTEyIDM1LjV2MjUwaC0yNTBxLTIwIDAgLTI1LjUgMTYuNXQ4LjUgMzEuNWwzODMgNDMxcTE0IDE2IDMzLjUgMTd0MzMuNSAtMTR6TTUwIDMwMGgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXogTTkwMCAyMDB2LTUwaDEwMHY1MGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjg7IiBkPSJNMzk2IDcyM2wzNjkgMzY5cTcgNyAxNy41IDd0MTcuNSAtN2wxMzkgLTEzOXE3IC04IDcgLTE4LjV0LTcgLTE3LjVsLTUyNSAtNTI1cS03IC04IC0xNy41IC04dC0xNy41IDhsLTI5MiAyOTFxLTcgOCAtNyAxOHQ3IDE4bDEzOSAxMzlxOCA3IDE4LjUgN3QxNy41IC03ek01MCAzMDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjUwaC0xMTAwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTkwMCAyMDB2LTUwaDEwMHY1MCBoLTEwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTY5OyIgZD0iTTEzNSAxMDIzbDE0MiAxNDJxMTQgMTQgMzUgMTR0MzUgLTE0bDc3IC03N2wtMjEyIC0yMTJsLTc3IDc2cS0xNCAxNSAtMTQgMzZ0MTQgMzV6TTY1NSA4NTVsMjEwIDIxMHExNCAxNCAyNC41IDEwdDEwLjUgLTI1bC0yIC01OTlxLTEgLTIwIC0xNS41IC0zNXQtMzUuNSAtMTVsLTU5NyAtMXEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIwOCAyMDhsLTE1NCAxNTVsMjEyIDIxMnpNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjUgdi0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3MDsiIGQ9Ik0zNTAgMTIwMGw1OTkgLTJxMjAgLTEgMzUgLTE1LjV0MTUgLTM1LjVsMSAtNTk3cTAgLTIxIC0xMC41IC0yNXQtMjQuNSAxMGwtMjA4IDIwOGwtMTU1IC0xNTRsLTIxMiAyMTJsMTU1IDE1NGwtMjEwIDIxMHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXpNNTI0IDUxMmwtNzYgLTc3cS0xNSAtMTQgLTM2IC0xNHQtMzUgMTRsLTE0MiAxNDJxLTE0IDE0IC0xNCAzNXQxNCAzNWw3NyA3N3pNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41IHQxNC41IC0zNS41di0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3MTsiIGQ9Ik0xMjAwIDEwM2wtNDgzIDI3NmwtMzE0IC0zOTl2NDIzaC0zOTlsMTE5NiA3OTZ2LTEwOTZ6TTQ4MyA0MjR2LTIzMGw2ODMgOTUzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzI7IiBkPSJNMTEwMCAxMDAwdi04NTBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTE1MHY0MDBoLTcwMHYtNDAwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMDBxMCAyMCAxNC41IDM1dDM1LjUgMTVoMjUwdi0zMDBoNTAwdjMwMGgxMDB6TTcwMCAxMDAwaC0xMDB2MjAwaDEwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzM7IiBkPSJNMTEwMCAxMDAwbC0yIC0xNDlsLTI5OSAtMjk5bC05NSA5NXEtOSA5IC0yMS41IDl0LTIxLjUgLTlsLTE0OSAtMTQ3aC0zMTJ2LTQwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjAgMTQuNSAzNXQzNS41IDE1aDI1MHYtMzAwaDUwMHYzMDBoMTAwek03MDAgMTAwMGgtMTAwdjIwMGgxMDB2LTIwMHpNMTEzMiA2MzhsMTA2IC0xMDZxNyAtNyA3IC0xNy41dC03IC0xNy41bC00MjAgLTQyMXEtOCAtNyAtMTggLTcgdC0xOCA3bC0yMDIgMjAzcS04IDcgLTggMTcuNXQ4IDE3LjVsMTA2IDEwNnE3IDggMTcuNSA4dDE3LjUgLThsNzkgLTc5bDI5NyAyOTdxNyA3IDE3LjUgN3QxNy41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzQ7IiBkPSJNMTEwMCAxMDAwdi0yNjlsLTEwMyAtMTAzbC0xMzQgMTM0cS0xNSAxNSAtMzMuNSAxNi41dC0zNC41IC0xMi41bC0yNjYgLTI2NmgtMzI5di00MDBoLTE1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwMHEwIDIwIDE0LjUgMzV0MzUuNSAxNWgyNTB2LTMwMGg1MDB2MzAwaDEwMHpNNzAwIDEwMDBoLTEwMHYyMDBoMTAwdi0yMDB6TTEyMDIgNTcybDcwIC03MHExNSAtMTUgMTUgLTM1LjV0LTE1IC0zNS41bC0xMzEgLTEzMSBsMTMxIC0xMzFxMTUgLTE1IDE1IC0zNS41dC0xNSAtMzUuNWwtNzAgLTcwcS0xNSAtMTUgLTM1LjUgLTE1dC0zNS41IDE1bC0xMzEgMTMxbC0xMzEgLTEzMXEtMTUgLTE1IC0zNS41IC0xNXQtMzUuNSAxNWwtNzAgNzBxLTE1IDE1IC0xNSAzNS41dDE1IDM1LjVsMTMxIDEzMWwtMTMxIDEzMXEtMTUgMTUgLTE1IDM1LjV0MTUgMzUuNWw3MCA3MHExNSAxNSAzNS41IDE1dDM1LjUgLTE1bDEzMSAtMTMxbDEzMSAxMzFxMTUgMTUgMzUuNSAxNSB0MzUuNSAtMTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NTsiIGQ9Ik0xMTAwIDEwMDB2LTMwMGgtMzUwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xNTBoLTUwMHYtNDAwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMDBxMCAyMCAxNC41IDM1dDM1LjUgMTVoMjUwdi0zMDBoNTAwdjMwMGgxMDB6TTcwMCAxMDAwaC0xMDB2MjAwaDEwMHYtMjAwek04NTAgNjAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjUwaDE1MHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNSBsLTIzMCAtMjMwcS0xNCAtMTQgLTM1IC0xNHQtMzUgMTRsLTIzMCAyMzBxLTE0IDE0IC0xMCAyNC41dDI1IDEwLjVoMTUwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NjsiIGQ9Ik0xMTAwIDEwMDB2LTQwMGwtMTY1IDE2NXEtMTQgMTUgLTM1IDE1dC0zNSAtMTVsLTI2MyAtMjY1aC00MDJ2LTQwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjAgMTQuNSAzNXQzNS41IDE1aDI1MHYtMzAwaDUwMHYzMDBoMTAwek03MDAgMTAwMGgtMTAwdjIwMGgxMDB2LTIwMHpNOTM1IDU2NWwyMzAgLTIyOXExNCAtMTUgMTAgLTI1LjV0LTI1IC0xMC41aC0xNTB2LTI1MHEwIC0yMCAtMTQuNSAtMzUgdC0zNS41IC0xNWgtMTAwcS0yMSAwIC0zNS41IDE1dC0xNC41IDM1djI1MGgtMTUwcS0yMSAwIC0yNSAxMC41dDEwIDI1LjVsMjMwIDIyOXExNCAxNSAzNSAxNXQzNSAtMTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NzsiIGQ9Ik01MCAxMTAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTE1MGgtMTIwMHYxNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMjAwIDgwMHYtNTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1NTBoMTIwMHpNMTAwIDUwMHYtMjAwaDQwMHYyMDBoLTQwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTc4OyIgZD0iTTkzNSAxMTY1bDI0OCAtMjMwcTE0IC0xNCAxNCAtMzV0LTE0IC0zNWwtMjQ4IC0yMzBxLTE0IC0xNCAtMjQuNSAtMTB0LTEwLjUgMjV2MTUwaC00MDB2MjAwaDQwMHYxNTBxMCAyMSAxMC41IDI1dDI0LjUgLTEwek0yMDAgODAwaC01MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHYtMjAwek00MDAgODAwaC0xMDB2MjAwaDEwMHYtMjAwek0xOCA0MzVsMjQ3IDIzMCBxMTQgMTQgMjQuNSAxMHQxMC41IC0yNXYtMTUwaDQwMHYtMjAwaC00MDB2LTE1MHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTI0NyAyMzBxLTE1IDE0IC0xNSAzNXQxNSAzNXpNOTAwIDMwMGgtMTAwdjIwMGgxMDB2LTIwMHpNMTAwMCA1MDBoNTFxMjAgMCAzNC41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzQuNSAtMTQuNWgtNTF2MjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzk7IiBkPSJNODYyIDEwNzNsMjc2IDExNnEyNSAxOCA0My41IDh0MTguNSAtNDF2LTExMDZxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2Mzk3cS00IDEgLTExIDV0LTI0IDE3LjV0LTMwIDI5dC0yNCA0MnQtMTEgNTYuNXYzNTlxMCAzMSAxOC41IDY1dDQzLjUgNTJ6TTU1MCAxMjAwcTIyIDAgMzQuNSAtMTIuNXQxNC41IC0yNC41bDEgLTEzdi00NTBxMCAtMjggLTEwLjUgLTU5LjUgdC0yNSAtNTZ0LTI5IC00NXQtMjUuNSAtMzEuNWwtMTAgLTExdi00NDdxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDQ3cS00IDQgLTExIDExLjV0LTI0IDMwLjV0LTMwIDQ2dC0yNCA1NXQtMTEgNjB2NDUwcTAgMiAwLjUgNS41dDQgMTJ0OC41IDE1dDE0LjUgMTJ0MjIuNSA1LjVxMjAgMCAzMi41IC0xMi41dDE0LjUgLTI0LjVsMyAtMTN2LTM1MGgxMDB2MzUwdjUuNXQyLjUgMTIgdDcgMTV0MTUgMTJ0MjUuNSA1LjVxMjMgMCAzNS41IC0xMi41dDEzLjUgLTI0LjVsMSAtMTN2LTM1MGgxMDB2MzUwcTAgMiAwLjUgNS41dDMgMTJ0NyAxNXQxNSAxMnQyNC41IDUuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTgwOyIgZD0iTTEyMDAgMTEwMHYtNTZxLTQgMCAtMTEgLTAuNXQtMjQgLTN0LTMwIC03LjV0LTI0IC0xNXQtMTEgLTI0di04ODhxMCAtMjIgMjUgLTM0LjV0NTAgLTEzLjVsMjUgLTJ2LTU2aC00MDB2NTZxNzUgMCA4Ny41IDYuNXQxMi41IDQzLjV2Mzk0aC01MDB2LTM5NHEwIC0zNyAxMi41IC00My41dDg3LjUgLTYuNXYtNTZoLTQwMHY1NnE0IDAgMTEgMC41dDI0IDN0MzAgNy41dDI0IDE1dDExIDI0djg4OHEwIDIyIC0yNSAzNC41dC01MCAxMy41IGwtMjUgMnY1Nmg0MDB2LTU2cS03NSAwIC04Ny41IC02LjV0LTEyLjUgLTQzLjV2LTM5NGg1MDB2Mzk0cTAgMzcgLTEyLjUgNDMuNXQtODcuNSA2LjV2NTZoNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODE7IiBkPSJNNjc1IDEwMDBoMzc1cTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoLTEwNWwtMjk1IC05OHY5OGwtMjAwIDIwMGgtNDAwbDEwMCAxMDBoMzc1ek0xMDAgOTAwaDMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNTAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC0zMDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djUwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTEwMCA4MDB2LTIwMGgzMDB2MjAwIGgtMzAwek0xMTAwIDUzNWwtNDAwIC0xMzN2MTYzbDQwMCAxMzN2LTE2M3pNMTAwIDUwMHYtMjAwaDMwMHYyMDBoLTMwMHpNMTEwMCAzOTh2LTI0OHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzc1bC0xMDAgLTEwMGgtMzc1bC0xMDAgMTAwaDQwMGwyMDAgMjAwaDEwNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTgyOyIgZD0iTTE3IDEwMDdsMTYyIDE2MnExNyAxNyA0MCAxNHQzNyAtMjJsMTM5IC0xOTRxMTQgLTIwIDExIC00NC41dC0yMCAtNDEuNWwtMTE5IC0xMThxMTAyIC0xNDIgMjI4IC0yNjh0MjY3IC0yMjdsMTE5IDExOHExNyAxNyA0Mi41IDE5dDQ0LjUgLTEybDE5MiAtMTM2cTE5IC0xNCAyMi41IC0zNy41dC0xMy41IC00MC41bC0xNjMgLTE2MnEtMyAtMSAtOS41IC0xdC0yOS41IDJ0LTQ3LjUgNnQtNjIuNSAxNC41dC03Ny41IDI2LjV0LTkwIDQyLjUgdC0xMDEuNSA2MHQtMTExIDgzdC0xMTkgMTA4LjVxLTc0IDc0IC0xMzMuNSAxNTAuNXQtOTQuNSAxMzguNXQtNjAgMTE5LjV0LTM0LjUgMTAwdC0xNSA3NC41dC00LjUgNDh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4MzsiIGQ9Ik02MDAgMTEwMHE5MiAwIDE3NSAtMTAuNXQxNDEuNSAtMjd0MTA4LjUgLTM2LjV0ODEuNSAtNDB0NTMuNSAtMzd0MzEgLTI3bDkgLTEwdi0yMDBxMCAtMjEgLTE0LjUgLTMzdC0zNC41IC05bC0yMDIgMzRxLTIwIDMgLTM0LjUgMjB0LTE0LjUgMzh2MTQ2cS0xNDEgMjQgLTMwMCAyNHQtMzAwIC0yNHYtMTQ2cTAgLTIxIC0xNC41IC0zOHQtMzQuNSAtMjBsLTIwMiAtMzRxLTIwIC0zIC0zNC41IDl0LTE0LjUgMzN2MjAwcTMgNCA5LjUgMTAuNSB0MzEgMjZ0NTQgMzcuNXQ4MC41IDM5LjV0MTA5IDM3LjV0MTQxIDI2LjV0MTc1IDEwLjV6TTYwMCA3OTVxNTYgMCA5NyAtOS41dDYwIC0yMy41dDMwIC0yOHQxMiAtMjRsMSAtMTB2LTUwbDM2NSAtMzAzcTE0IC0xNSAyNC41IC00MHQxMC41IC00NXYtMjEycTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMTJxMCAyMCAxMC41IDQ1dDI0LjUgNDBsMzY1IDMwM3Y1MCBxMCA0IDEgMTAuNXQxMiAyM3QzMCAyOXQ2MCAyMi41dDk3IDEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODQ7IiBkPSJNMTEwMCA3MDBsLTIwMCAtMjAwaC02MDBsLTIwMCAyMDB2NTAwaDIwMHYtMjAwaDIwMHYyMDBoMjAwdi0yMDBoMjAwdjIwMGgyMDB2LTUwMHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEybDEzNyAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNSB0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODU7IiBkPSJNNzAwIDExMDBoLTEwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtMTAwMGgzMDB2MTAwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNMTEwMCA4MDBoLTEwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNzAwaDMwMHY3MDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjV6TTQwMCAwaC0zMDB2NDAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNWgxMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTQwMHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4NjsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDcwMGgtMjAwdi0xMDBoMjAwdi0zMDBoLTMwMHYxMDBoMjAwdjEwMGgtMjAwdjMwMGgzMDB2LTEwMHpNOTAwIDcwMHYtMzAwbC0xMDAgLTEwMGgtMjAwdjUwMGgyMDB6IE03MDAgNzAwdi0zMDBoMTAwdjMwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODc7IiBkPSJNMjAwIDExMDBoNzAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnYtNTAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OGgtNzAwcS0xMjQgMCAtMjEyIDg4dC04OCAyMTJ2NTAwcTAgMTI0IDg4IDIxMnQyMTIgODh6TTEwMCA5MDB2LTcwMGg5MDB2NzAwaC05MDB6TTUwMCAzMDBoLTEwMHYyMDBoLTEwMHYtMjAwaC0xMDB2NTAwaDEwMHYtMjAwaDEwMHYyMDBoMTAwdi01MDB6TTkwMCA3MDB2LTMwMGwtMTAwIC0xMDBoLTIwMHY1MDBoMjAweiBNNzAwIDcwMHYtMzAwaDEwMHYzMDBoLTEwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTg4OyIgZD0iTTIwMCAxMTAwaDcwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTUwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhoLTcwMHEtMTI0IDAgLTIxMiA4OHQtODggMjEydjUwMHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek0xMDAgOTAwdi03MDBoOTAwdjcwMGgtOTAwek01MDAgNzAwaC0yMDB2LTMwMGgyMDB2LTEwMGgtMzAwdjUwMGgzMDB2LTEwMHpNOTAwIDcwMGgtMjAwdi0zMDBoMjAwdi0xMDBoLTMwMHY1MDBoMzAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4OTsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDQwMGwtMzAwIDE1MGwzMDAgMTUwdi0zMDB6TTkwMCA1NTBsLTMwMCAtMTUwdjMwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTkwOyIgZD0iTTIwMCAxMTAwaDcwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTUwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhoLTcwMHEtMTI0IDAgLTIxMiA4OHQtODggMjEydjUwMHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek0xMDAgOTAwdi03MDBoOTAwdjcwMGgtOTAwek05MDAgMzAwaC03MDB2NTAwaDcwMHYtNTAwek04MDAgNzAwaC0xMzBxLTM4IDAgLTY2LjUgLTQzdC0yOC41IC0xMDh0MjcgLTEwN3Q2OCAtNDJoMTMwdjMwMHpNMzAwIDcwMHYtMzAwIGgxMzBxNDEgMCA2OCA0MnQyNyAxMDd0LTI4LjUgMTA4dC02Ni41IDQzaC0xMzB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MTsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDcwMGgtMjAwdi0xMDBoMjAwdi0zMDBoLTMwMHYxMDBoMjAwdjEwMGgtMjAwdjMwMGgzMDB2LTEwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHogTTcwMCAzMDBoLTEwMHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MjsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNMzAwIDcwMGgyMDB2LTQwMGgtMzAwdjUwMGgxMDB2LTEwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNMzAwIDYwMHYtMjAwaDEwMHYyMDBoLTEwMHogTTcwMCAzMDBoLTEwMHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MzsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDUwMGwtMTk5IC0yMDBoLTEwMHY1MGwxOTkgMjAwdjE1MGgtMjAwdjEwMGgzMDB2LTMwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNNzAxIDMwMGgtMTAwIHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5NDsiIGQ9Ik02MDAgMTE5MXExMjAgMCAyMjkuNSAtNDd0MTg4LjUgLTEyNnQxMjYgLTE4OC41dDQ3IC0yMjkuNXQtNDcgLTIyOS41dC0xMjYgLTE4OC41dC0xODguNSAtMTI2dC0yMjkuNSAtNDd0LTIyOS41IDQ3dC0xODguNSAxMjZ0LTEyNiAxODguNXQtNDcgMjI5LjV0NDcgMjI5LjV0MTI2IDE4OC41dDE4OC41IDEyNnQyMjkuNSA0N3pNNjAwIDEwMjFxLTExNCAwIC0yMTEgLTU2LjV0LTE1My41IC0xNTMuNXQtNTYuNSAtMjExdDU2LjUgLTIxMSB0MTUzLjUgLTE1My41dDIxMSAtNTYuNXQyMTEgNTYuNXQxNTMuNSAxNTMuNXQ1Ni41IDIxMXQtNTYuNSAyMTF0LTE1My41IDE1My41dC0yMTEgNTYuNXpNODAwIDcwMGgtMzAwdi0yMDBoMzAwdi0xMDBoLTMwMGwtMTAwIDEwMHYyMDBsMTAwIDEwMGgzMDB2LTEwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTk1OyIgZD0iTTYwMCAxMTkxcTEyMCAwIDIyOS41IC00N3QxODguNSAtMTI2dDEyNiAtMTg4LjV0NDcgLTIyOS41dC00NyAtMjI5LjV0LTEyNiAtMTg4LjV0LTE4OC41IC0xMjZ0LTIyOS41IC00N3QtMjI5LjUgNDd0LTE4OC41IDEyNnQtMTI2IDE4OC41dC00NyAyMjkuNXQ0NyAyMjkuNXQxMjYgMTg4LjV0MTg4LjUgMTI2dDIyOS41IDQ3ek02MDAgMTAyMXEtMTE0IDAgLTIxMSAtNTYuNXQtMTUzLjUgLTE1My41dC01Ni41IC0yMTF0NTYuNSAtMjExIHQxNTMuNSAtMTUzLjV0MjExIC01Ni41dDIxMSA1Ni41dDE1My41IDE1My41dDU2LjUgMjExdC01Ni41IDIxMXQtMTUzLjUgMTUzLjV0LTIxMSA1Ni41ek04MDAgNzAwdi0xMDBsLTUwIC01MGwxMDAgLTEwMHYtNTBoLTEwMGwtMTAwIDEwMGgtMTUwdi0xMDBoLTEwMHY0MDBoMzAwek01MDAgNzAwdi0xMDBoMjAwdjEwMGgtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxOTc7IiBkPSJNNTAzIDEwODlxMTEwIDAgMjAwLjUgLTU5LjV0MTM0LjUgLTE1Ni41cTQ0IDE0IDkwIDE0cTEyMCAwIDIwNSAtODYuNXQ4NSAtMjA3dC04NSAtMjA3dC0yMDUgLTg2LjVoLTEyOHYyNTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTMwMHEtMjEgMCAtMzUuNSAtMTQuNXQtMTQuNSAtMzUuNXYtMjUwaC0yMjJxLTgwIDAgLTEzNiA1Ny41dC01NiAxMzYuNXEwIDY5IDQzIDEyMi41dDEwOCA2Ny41cS0yIDE5IC0yIDM3cTAgMTAwIDQ5IDE4NSB0MTM0IDEzNHQxODUgNDl6TTUyNSA1MDBoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMjc1aDEzN3EyMSAwIDI2IC0xMS41dC04IC0yNy41bC0yMjMgLTI0NHEtMTMgLTE2IC0zMiAtMTZ0LTMyIDE2bC0yMjMgMjQ0cS0xMyAxNiAtOCAyNy41dDI2IDExLjVoMTM3djI3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxOTg7IiBkPSJNNTAyIDEwODlxMTEwIDAgMjAxIC01OS41dDEzNSAtMTU2LjVxNDMgMTUgODkgMTVxMTIxIDAgMjA2IC04Ni41dDg2IC0yMDYuNXEwIC05OSAtNjAgLTE4MXQtMTUwIC0xMTBsLTM3OCAzNjBxLTEzIDE2IC0zMS41IDE2dC0zMS41IC0xNmwtMzgxIC0zNjVoLTlxLTc5IDAgLTEzNS41IDU3LjV0LTU2LjUgMTM2LjVxMCA2OSA0MyAxMjIuNXQxMDggNjcuNXEtMiAxOSAtMiAzOHEwIDEwMCA0OSAxODQuNXQxMzMuNSAxMzR0MTg0LjUgNDkuNXogTTYzMiA0NjdsMjIzIC0yMjhxMTMgLTE2IDggLTI3LjV0LTI2IC0xMS41aC0xMzd2LTI3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djI3NWgtMTM3cS0yMSAwIC0yNiAxMS41dDggMjcuNXExOTkgMjA0IDIyMyAyMjhxMTkgMTkgMzEuNSAxOXQzMi41IC0xOXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTk5OyIgZD0iTTcwMCAxMDB2MTAwaDQwMGwtMjcwIDMwMGgxNzBsLTI3MCAzMDBoMTcwbC0zMDAgMzMzbC0zMDAgLTMzM2gxNzBsLTI3MCAtMzAwaDE3MGwtMjcwIC0zMDBoNDAwdi0xMDBoLTUwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di01MGg0MDB2NTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDA7IiBkPSJNNjAwIDExNzlxOTQgMCAxNjcuNSAtNTYuNXQ5OS41IC0xNDUuNXE4OSAtNiAxNTAuNSAtNzEuNXQ2MS41IC0xNTUuNXEwIC02MSAtMjkuNSAtMTEyLjV0LTc5LjUgLTgyLjVxOSAtMjkgOSAtNTVxMCAtNzQgLTUyLjUgLTEyNi41dC0xMjYuNSAtNTIuNXEtNTUgMCAtMTAwIDMwdi0yNTFxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwaC0zMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41djI1MXEtNDUgLTMwIC0xMDAgLTMwIHEtNzQgMCAtMTI2LjUgNTIuNXQtNTIuNSAxMjYuNXEwIDE4IDQgMzhxLTQ3IDIxIC03NS41IDY1dC0yOC41IDk3cTAgNzQgNTIuNSAxMjYuNXQxMjYuNSA1Mi41cTUgMCAyMyAtMnEwIDIgLTEgMTB0LTEgMTNxMCAxMTYgODEuNSAxOTcuNXQxOTcuNSA4MS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDE7IiBkPSJNMTAxMCAxMDEwcTExMSAtMTExIDE1MC41IC0yNjAuNXQwIC0yOTl0LTE1MC41IC0yNjAuNXEtODMgLTgzIC0xOTEuNSAtMTI2LjV0LTIxOC41IC00My41dC0yMTguNSA0My41dC0xOTEuNSAxMjYuNXEtMTExIDExMSAtMTUwLjUgMjYwLjV0MCAyOTl0MTUwLjUgMjYwLjVxODMgODMgMTkxLjUgMTI2LjV0MjE4LjUgNDMuNXQyMTguNSAtNDMuNXQxOTEuNSAtMTI2LjV6TTQ3NiAxMDY1cS00IDAgLTggLTFxLTEyMSAtMzQgLTIwOS41IC0xMjIuNSB0LTEyMi41IC0yMDkuNXEtNCAtMTIgMi41IC0yM3QxOC41IC0xNGwzNiAtOXEzIC0xIDcgLTFxMjMgMCAyOSAyMnEyNyA5NiA5OCAxNjZxNzAgNzEgMTY2IDk4cTExIDMgMTcuNSAxMy41dDMuNSAyMi41bC05IDM1cS0zIDEzIC0xNCAxOXEtNyA0IC0xNSA0ek01MTIgOTIwcS00IDAgLTkgLTJxLTgwIC0yNCAtMTM4LjUgLTgyLjV0LTgyLjUgLTEzOC41cS00IC0xMyAyIC0yNHQxOSAtMTRsMzQgLTlxNCAtMSA4IC0xcTIyIDAgMjggMjEgcTE4IDU4IDU4LjUgOTguNXQ5Ny41IDU4LjVxMTIgMyAxOCAxMy41dDMgMjEuNWwtOSAzNXEtMyAxMiAtMTQgMTlxLTcgNCAtMTUgNHpNNzE5LjUgNzE5LjVxLTQ5LjUgNDkuNSAtMTE5LjUgNDkuNXQtMTE5LjUgLTQ5LjV0LTQ5LjUgLTExOS41dDQ5LjUgLTExOS41dDExOS41IC00OS41dDExOS41IDQ5LjV0NDkuNSAxMTkuNXQtNDkuNSAxMTkuNXpNODU1IDU1MXEtMjIgMCAtMjggLTIxcS0xOCAtNTggLTU4LjUgLTk4LjV0LTk4LjUgLTU3LjUgcS0xMSAtNCAtMTcgLTE0LjV0LTMgLTIxLjVsOSAtMzVxMyAtMTIgMTQgLTE5cTcgLTQgMTUgLTRxNCAwIDkgMnE4MCAyNCAxMzguNSA4Mi41dDgyLjUgMTM4LjVxNCAxMyAtMi41IDI0dC0xOC41IDE0bC0zNCA5cS00IDEgLTggMXpNMTAwMCA1MTVxLTIzIDAgLTI5IC0yMnEtMjcgLTk2IC05OCAtMTY2cS03MCAtNzEgLTE2NiAtOThxLTExIC0zIC0xNy41IC0xMy41dC0zLjUgLTIyLjVsOSAtMzVxMyAtMTMgMTQgLTE5cTcgLTQgMTUgLTQgcTQgMCA4IDFxMTIxIDM0IDIwOS41IDEyMi41dDEyMi41IDIwOS41cTQgMTIgLTIuNSAyM3QtMTguNSAxNGwtMzYgOXEtMyAxIC03IDF6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwMjsiIGQ9Ik03MDAgODAwaDMwMHYtMzgwaC0xODB2MjAwaC0zNDB2LTIwMGgtMzgwdjc1NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDU3NXYtNDAwek0xMDAwIDkwMGgtMjAwdjIwMHpNNzAwIDMwMGgxNjJsLTIxMiAtMjEybC0yMTIgMjEyaDE2MnYyMDBoMTAwdi0yMDB6TTUyMCAwaC0zOTVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzOTV6TTEwMDAgMjIwdi0xOTVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xOTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwMzsiIGQ9Ik03MDAgODAwaDMwMHYtNTIwbC0zNTAgMzUwbC01NTAgLTU1MHYxMDk1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNTc1di00MDB6TTEwMDAgOTAwaC0yMDB2MjAwek04NjIgMjAwaC0xNjJ2LTIwMGgtMTAwdjIwMGgtMTYybDIxMiAyMTJ6TTQ4MCAwaC0zNTVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1NWgzODB2LTgwek0xMDAwIDgwdi01NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1NXY4MGgxODB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwNDsiIGQ9Ik0xMTYyIDgwMGgtMTYydi0yMDBoMTAwbDEwMCAtMTAwaC0zMDB2MzAwaC0xNjJsMjEyIDIxMnpNMjAwIDgwMGgyMDBxMjcgMCA0MCAtMnQyOS41IC0xMC41dDIzLjUgLTMwdDcgLTU3LjVoMzAwdi0xMDBoLTYwMGwtMjAwIC0zNTB2NDUwaDEwMHEwIDM2IDcgNTcuNXQyMy41IDMwdDI5LjUgMTAuNXQ0MCAyek04MDAgNDAwaDI0MGwtMjQwIC00MDBoLTgwMGwzMDAgNTAwaDUwMHYtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDU7IiBkPSJNNjUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMDAwIDg1MHYxNTBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTgwMCBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTYwMHEtMSAwIC0yMCA0bDI0NiAyNDZsLTMyNiAzMjZ2MzI0cTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXYtMTUwcTAgLTYyIDQ0IC0xMDZ0MTA2IC00NGgzMDBxNjIgMCAxMDYgNDR0NDQgMTA2ek00MTIgMjUwbC0yMTIgLTIxMnYxNjJoLTIwMHYxMDBoMjAwdjE2MnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjA2OyIgZD0iTTQ1MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDUwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNODAwIDg1MHYxNTBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTUwMCBoLTIwMHYtMzAwaDIwMHEwIC0zNiAtNyAtNTcuNXQtMjMuNSAtMzB0LTI5LjUgLTEwLjV0LTQwIC0yaC02MDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djgwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV2LTE1MHEwIC02MiA0NCAtMTA2dDEwNiAtNDRoMzAwcTYyIDAgMTA2IDQ0dDQ0IDEwNnpNMTIxMiAyNTBsLTIxMiAtMjEydjE2MmgtMjAwdjEwMGgyMDB2MTYyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDk7IiBkPSJNNjU4IDExOTdsNjM3IC0xMTA0cTIzIC0zOCA3IC02NS41dC02MCAtMjcuNWgtMTI3NnEtNDQgMCAtNjAgMjcuNXQ3IDY1LjVsNjM3IDExMDRxMjIgMzkgNTQgMzl0NTQgLTM5ek03MDQgODAwaC0yMDhxLTIwIDAgLTMyIC0xNC41dC04IC0zNC41bDU4IC0zMDJxNCAtMjAgMjEuNSAtMzQuNXQzNy41IC0xNC41aDU0cTIwIDAgMzcuNSAxNC41dDIxLjUgMzQuNWw1OCAzMDJxNCAyMCAtOCAzNC41dC0zMiAxNC41ek01MDAgMzAwdi0xMDBoMjAwIHYxMDBoLTIwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjEwOyIgZD0iTTQyNSAxMTAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek00MjUgODAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41IHQxNy41IDcuNXpNODI1IDgwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMjUgNTAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDI1IDUwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNODI1IDUwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNSB2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTI1IDIwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDI1IDIwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41IHQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTgyNSAyMDBoMjUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxMTsiIGQ9Ik03MDAgMTIwMGgxMDB2LTIwMGgtMTAwdi0xMDBoMzUwcTYyIDAgODYuNSAtMzkuNXQtMy41IC05NC41bC02NiAtMTMycS00MSAtODMgLTgxIC0xMzRoLTc3MnEtNDAgNTEgLTgxIDEzNGwtNjYgMTMycS0yOCA1NSAtMy41IDk0LjV0ODYuNSAzOS41aDM1MHYxMDBoLTEwMHYyMDBoMTAwdjEwMGgyMDB2LTEwMHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEybDEzNyAtMTAwIGgtOTUwbDEzOCAxMDBoLTEzcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41ek01MCAxMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMTI7IiBkPSJNNjAwIDEzMDBxNDAgMCA2OC41IC0yOS41dDI4LjUgLTcwLjVoLTE5NHEwIDQxIDI4LjUgNzAuNXQ2OC41IDI5LjV6TTQ0MyAxMTAwaDMxNHExOCAtMzcgMTggLTc1cTAgLTggLTMgLTI1aDMyOHE0MSAwIDQ0LjUgLTE2LjV0LTMwLjUgLTM4LjVsLTE3NSAtMTQ1aC02NzhsLTE3OCAxNDVxLTM0IDIyIC0yOSAzOC41dDQ2IDE2LjVoMzI4cS0zIDE3IC0zIDI1cTAgMzggMTggNzV6TTI1MCA3MDBoNzAwcTIxIDAgMzUuNSAtMTQuNSB0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTUwdi0yMDBsMjc1IC0yMDBoLTk1MGwyNzUgMjAwdjIwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41ek01MCAxMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMTM7IiBkPSJNNjAwIDExODFxNzUgMCAxMjggLTUzdDUzIC0xMjh0LTUzIC0xMjh0LTEyOCAtNTN0LTEyOCA1M3QtNTMgMTI4dDUzIDEyOHQxMjggNTN6TTYwMiA3OThoNDZxMzQgMCA1NS41IC0yOC41dDIxLjUgLTg2LjVxMCAtNzYgMzkgLTE4M2gtMzI0cTM5IDEwNyAzOSAxODNxMCA1OCAyMS41IDg2LjV0NTYuNSAyOC41aDQ1ek0yNTAgNDAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTMgbDEzOCAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNDsiIGQ9Ik02MDAgMTMwMHE0NyAwIDkyLjUgLTUzLjV0NzEgLTEyM3QyNS41IC0xMjMuNXEwIC03OCAtNTUuNSAtMTMzLjV0LTEzMy41IC01NS41dC0xMzMuNSA1NS41dC01NS41IDEzMy41cTAgNjIgMzQgMTQzbDE0NCAtMTQzbDExMSAxMTFsLTE2MyAxNjNxMzQgMjYgNjMgMjZ6TTYwMiA3OThoNDZxMzQgMCA1NS41IC0yOC41dDIxLjUgLTg2LjVxMCAtNzYgMzkgLTE4M2gtMzI0cTM5IDEwNyAzOSAxODNxMCA1OCAyMS41IDg2LjV0NTYuNSAyOC41aDQ1IHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEzbDEzOCAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNTsiIGQ9Ik02MDAgMTIwMGwzMDAgLTE2MXYtMTM5aC0zMDBxMCAtNTcgMTguNSAtMTA4dDUwIC05MS41dDYzIC03MnQ3MCAtNjcuNXQ1Ny41IC02MWgtNTMwcS02MCA4MyAtOTAuNSAxNzcuNXQtMzAuNSAxNzguNXQzMyAxNjQuNXQ4Ny41IDEzOS41dDEyNiA5Ni41dDE0NS41IDQxLjV2LTk4ek0yNTAgNDAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTNsMTM4IC0xMDBoLTk1MGwxMzcgMTAwIGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNjsiIGQ9Ik02MDAgMTMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNzhxNDYgLTI2IDczIC03MnQyNyAtMTAwdi01MGgtNDAwdjUwcTAgNTQgMjcgMTAwdDczIDcydjc4cTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNNDAwIDgwMGg0MDBxNTQgMCAxMDAgLTI3dDcyIC03M2gtMTcydi0xMDBoMjAwdi0xMDBoLTIwMHYtMTAwaDIwMHYtMTAwaC0yMDB2LTEwMGgyMDBxMCAtODMgLTU4LjUgLTE0MS41dC0xNDEuNSAtNTguNWgtNDAwIHEtODMgMCAtMTQxLjUgNTguNXQtNTguNSAxNDEuNXY0MDBxMCA4MyA1OC41IDE0MS41dDE0MS41IDU4LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxODsiIGQ9Ik0xNTAgMTEwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtOTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMjUgNDAwaDk1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjgzbDIyNCAtMjI0cTEzIC0xMyAxMyAtMzEuNXQtMTMgLTMyIHQtMzEuNSAtMTMuNXQtMzEuNSAxM2wtODggODhoLTUyNGwtODcgLTg4cS0xMyAtMTMgLTMyIC0xM3QtMzIgMTMuNXQtMTMgMzJ0MTMgMzEuNWwyMjQgMjI0aC0yODlxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01NDEgMzAwbC0xMDAgLTEwMGgzMjRsLTEwMCAxMDBoLTEyNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjE5OyIgZD0iTTIwMCAxMTAwaDgwMHE4MyAwIDE0MS41IC01OC41dDU4LjUgLTE0MS41di0yMDBoLTEwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNWgtMjUwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41aC0xMDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjVoLTI1MHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNWgtMTAwdjIwMHEwIDgzIDU4LjUgMTQxLjV0MTQxLjUgNTguNXpNMTAwIDYwMGgxMDAwcTQxIDAgNzAuNSAtMjkuNSB0MjkuNSAtNzAuNXYtMzAwaC0xMjAwdjMwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTMwMCAxMDB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaDIwMHpNMTEwMCAxMDB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaDIwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjIxOyIgZD0iTTQ4MCAxMTY1bDY4MiAtNjgzcTMxIC0zMSAzMSAtNzUuNXQtMzEgLTc1LjVsLTEzMSAtMTMxaC00ODFsLTUxNyA1MThxLTMyIDMxIC0zMiA3NS41dDMyIDc1LjVsMjk1IDI5NnEzMSAzMSA3NS41IDMxdDc2LjUgLTMxek0xMDggNzk0bDM0MiAtMzQybDMwMyAzMDRsLTM0MSAzNDF6TTI1MCAxMDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtOTAwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjIzOyIgZD0iTTEwNTcgNjQ3bC0xODkgNTA2cS04IDE5IC0yNy41IDMzdC00MC41IDE0aC00MDBxLTIxIDAgLTQwLjUgLTE0dC0yNy41IC0zM2wtMTg5IC01MDZxLTggLTE5IDEuNSAtMzN0MzAuNSAtMTRoNjI1di0xNTBxMCAtMjEgMTQuNSAtMzUuNXQzNS41IC0xNC41dDM1LjUgMTQuNXQxNC41IDM1LjV2MTUwaDEyNXEyMSAwIDMwLjUgMTR0MS41IDMzek04OTcgMGgtNTk1djUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHY1MCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ4djMwMGgyMDB2LTMwMGg0N3EyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMjQ7IiBkPSJNOTAwIDgwMGgzMDB2LTU3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTM3NXY1OTFsLTMwMCAzMDB2ODRxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgzNzV2LTQwMHpNMTIwMCA5MDBoLTIwMHYyMDB6TTQwMCA2MDBoMzAwdi01NzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC02NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5NTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgzNzV2LTQwMHpNNzAwIDcwMGgtMjAwdjIwMHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIyNTsiIGQ9Ik00ODQgMTA5NWgxOTVxNzUgMCAxNDYgLTMyLjV0MTI0IC04NnQ4OS41IC0xMjIuNXQ0OC41IC0xNDJxMTggLTE0IDM1IC0yMHEzMSAtMTAgNjQuNSA2LjV0NDMuNSA0OC41cTEwIDM0IC0xNSA3MXEtMTkgMjcgLTkgNDNxNSA4IDEyLjUgMTF0MTkgLTF0MjMuNSAtMTZxNDEgLTQ0IDM5IC0xMDVxLTMgLTYzIC00NiAtMTA2LjV0LTEwNCAtNDMuNWgtNjJxLTcgLTU1IC0zNSAtMTE3dC01NiAtMTAwbC0zOSAtMjM0cS0zIC0yMCAtMjAgLTM0LjUgdC0zOCAtMTQuNWgtMTAwcS0yMSAwIC0zMyAxNC41dC05IDM0LjVsMTIgNzBxLTQ5IC0xNCAtOTEgLTE0aC0xOTVxLTI0IDAgLTY1IDhsLTExIC02NHEtMyAtMjAgLTIwIC0zNC41dC0zOCAtMTQuNWgtMTAwcS0yMSAwIC0zMyAxNC41dC05IDM0LjVsMjYgMTU3cS04NCA3NCAtMTI4IDE3NWwtMTU5IDUzcS0xOSA3IC0zMyAyNnQtMTQgNDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDEyNHExMSA4NyA1NiAxNjZsLTExMSA5NSBxLTE2IDE0IC0xMi41IDIzLjV0MjQuNSA5LjVoMjAzcTExNiAxMDEgMjUwIDEwMXpNNjc1IDEwMDBoLTI1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMjUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2NTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMjY7IiBkPSJNNjQxIDkwMGw0MjMgMjQ3cTE5IDggNDIgMi41dDM3IC0yMS41bDMyIC0zOHExNCAtMTUgMTIuNSAtMzZ0LTE3LjUgLTM0bC0xMzkgLTEyMGgtMzkwek01MCAxMTAwaDEwNnE2NyAwIDEwMyAtMTd0NjYgLTcxbDEwMiAtMjEyaDgyM3EyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBxMCAtMjEgLTE0IC00MHQtMzMgLTI2bC03MzcgLTEzMnEtMjMgLTQgLTQwIDZ0LTI2IDI1cS00MiA2NyAtMTAwIDY3aC0zMDBxLTYyIDAgLTEwNiA0NCB0LTQ0IDEwNnYyMDBxMCA2MiA0NCAxMDZ0MTA2IDQ0ek0xNzMgOTI4aC04MHEtMTkgMCAtMjggLTE0dC05IC0zNXYtNTZxMCAtNTEgNDIgLTUxaDEzNHExNiAwIDIxLjUgOHQ1LjUgMjRxMCAxMSAtMTYgNDV0LTI3IDUxcS0xOCAyOCAtNDMgMjh6TTU1MCA3MjdxLTMyIDAgLTU0LjUgLTIyLjV0LTIyLjUgLTU0LjV0MjIuNSAtNTQuNXQ1NC41IC0yMi41dDU0LjUgMjIuNXQyMi41IDU0LjV0LTIyLjUgNTQuNXQtNTQuNSAyMi41ek0xMzAgMzg5IGwxNTIgMTMwcTE4IDE5IDM0IDI0dDMxIC0zLjV0MjQuNSAtMTcuNXQyNS41IC0yOHEyOCAtMzUgNTAuNSAtNTF0NDguNSAtMTNsNjMgNWw0OCAtMTc5cTEzIC02MSAtMy41IC05Ny41dC02Ny41IC03OS41bC04MCAtNjlxLTQ3IC00MCAtMTA5IC0zNS41dC0xMDMgNTEuNWwtMTMwIDE1MXEtNDAgNDcgLTM1LjUgMTA5LjV0NTEuNSAxMDIuNXpNMzgwIDM3N2wtMTAyIC04OHEtMzEgLTI3IDIgLTY1bDM3IC00M3ExMyAtMTUgMjcuNSAtMTkuNSB0MzEuNSA2LjVsNjEgNTNxMTkgMTYgMTQgNDlxLTIgMjAgLTEyIDU2dC0xNyA0NXEtMTEgMTIgLTE5IDE0dC0yMyAtOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjI3OyIgZD0iTTYyNSAxMjAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTEwOXE3OSAtMzMgMTMxIC04Ny41dDUzIC0xMjguNXExIC00NiAtMTUgLTg0LjV0LTM5IC02MXQtNDYgLTM4dC0zOSAtMjEuNWwtMTcgLTZxNiAwIDE1IC0xLjV0MzUgLTl0NTAgLTE3LjV0NTMgLTMwdDUwIC00NXQzNS41IC02NHQxNC41IC04NHEwIC01OSAtMTEuNSAtMTA1LjV0LTI4LjUgLTc2LjV0LTQ0IC01MXQtNDkuNSAtMzEuNXQtNTQuNSAtMTZ0LTQ5LjUgLTYuNSB0LTQzLjUgLTF2LTc1cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NzVoLTEwMHYtNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY3NWgtMTc1cS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNzV2NjAwaC03NXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxNzV2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di03NWgxMDB2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDAwIDkwMHYtMjAwaDI2M3EyOCAwIDQ4LjUgMTAuNXQzMCAyNXQxNSAyOXQ1LjUgMjUuNWwxIDEwcTAgNCAtMC41IDExdC02IDI0dC0xNSAzMHQtMzAgMjR0LTQ4LjUgMTFoLTI2M3pNNDAwIDUwMHYtMjAwaDM2M3EyOCAwIDQ4LjUgMTAuNSB0MzAgMjV0MTUgMjl0NS41IDI1LjVsMSAxMHEwIDQgLTAuNSAxMXQtNiAyNHQtMTUgMzB0LTMwIDI0dC00OC41IDExaC0zNjN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzMDsiIGQ9Ik0yMTIgMTE5OGg3ODBxODYgMCAxNDcgLTYxdDYxIC0xNDd2LTQxNnEwIC01MSAtMTggLTE0Mi41dC0zNiAtMTU3LjVsLTE4IC02NnEtMjkgLTg3IC05My41IC0xNDYuNXQtMTQ2LjUgLTU5LjVoLTU3MnEtODIgMCAtMTQ3IDU5dC05MyAxNDdxLTggMjggLTIwIDczdC0zMiAxNDMuNXQtMjAgMTQ5LjV2NDE2cTAgODYgNjEgMTQ3dDE0NyA2MXpNNjAwIDEwNDVxLTcwIDAgLTEzMi41IC0xMS41dC0xMDUuNSAtMzAuNXQtNzguNSAtNDEuNSB0LTU3IC00NXQtMzYgLTQxdC0yMC41IC0zMC41bC02IC0xMmwxNTYgLTI0M2g1NjBsMTU2IDI0M3EtMiA1IC02IDEyLjV0LTIwIDI5LjV0LTM2LjUgNDJ0LTU3IDQ0LjV0LTc5IDQydC0xMDUgMjkuNXQtMTMyLjUgMTJ6TTc2MiA3MDNoLTE1N2wxOTUgMjYxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzE7IiBkPSJNNDc1IDEzMDBoMTUwcTEwMyAwIDE4OSAtODZ0ODYgLTE4OXYtNTAwcTAgLTQxIC00MiAtODN0LTgzIC00MmgtNDUwcS00MSAwIC04MyA0MnQtNDIgODN2NTAwcTAgMTAzIDg2IDE4OXQxODkgODZ6TTcwMCAzMDB2LTIyNXEwIC0yMSAtMjcgLTQ4dC00OCAtMjdoLTE1MHEtMjEgMCAtNDggMjd0LTI3IDQ4djIyNWgzMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzMjsiIGQ9Ik00NzUgMTMwMGg5NnEwIC0xNTAgODkuNSAtMjM5LjV0MjM5LjUgLTg5LjV2LTQ0NnEwIC00MSAtNDIgLTgzdC04MyAtNDJoLTQ1MHEtNDEgMCAtODMgNDJ0LTQyIDgzdjUwMHEwIDEwMyA4NiAxODl0MTg5IDg2ek03MDAgMzAwdi0yMjVxMCAtMjEgLTI3IC00OHQtNDggLTI3aC0xNTBxLTIxIDAgLTQ4IDI3dC0yNyA0OHYyMjVoMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzM7IiBkPSJNMTI5NCA3NjdsLTYzOCAtMjgzbC0zNzggMTcwbC03OCAtNjB2LTIyNGwxMDAgLTE1MHYtMTk5bC0xNTAgMTQ4bC0xNTAgLTE0OXYyMDBsMTAwIDE1MHYyNTBxMCA0IC0wLjUgMTAuNXQwIDkuNXQxIDh0MyA4dDYuNSA2bDQ3IDQwbC0xNDcgNjVsNjQyIDI4M3pNMTAwMCAzODBsLTM1MCAtMTY2bC0zNTAgMTY2djE0N2wzNTAgLTE2NWwzNTAgMTY1di0xNDd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzNDsiIGQ9Ik0yNTAgODAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek02NTAgODAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek0xMDUwIDgwMHE2MiAwIDEwNiAtNDR0NDQgLTEwNnQtNDQgLTEwNnQtMTA2IC00NHQtMTA2IDQ0dC00NCAxMDZ0NDQgMTA2dDEwNiA0NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjM1OyIgZD0iTTU1MCAxMTAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek01NTAgNzAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek01NTAgMzAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzY7IiBkPSJNMTI1IDExMDBoOTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtOTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEyNSA3MDBoOTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtOTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjUgdDE3LjUgNy41ek0xMjUgMzAwaDk1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTk1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzc7IiBkPSJNMzUwIDEyMDBoNTAwcTE2MiAwIDI1NiAtOTMuNXQ5NCAtMjU2LjV2LTUwMHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNTAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY1MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41ek05MDAgMTAwMGgtNjAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di02MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDYwMHE0MSAwIDcwLjUgMjkuNSB0MjkuNSA3MC41djYwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNMzUwIDkwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYzMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek00MDAgODAwdi0yMDBoNDAwdjIwMGgtNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzg7IiBkPSJNMTUwIDExMDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNSB0LTM1LjUgLTE0LjVoLTEwMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2MjAwaC01MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV0MTQuNSAzNS41dDM1LjUgMTQuNWg1MHYyMDBoLTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41aDUwdjIwMGgtNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzOTsiIGQ9Ik02NTAgMTE4N3E4NyAtNjcgMTE4LjUgLTE1NnQwIC0xNzh0LTExOC41IC0xNTVxLTg3IDY2IC0xMTguNSAxNTV0MCAxNzh0MTE4LjUgMTU2ek0zMDAgODAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnEtMTI0IDAgLTIxMiA4OHQtODggMjEyek0xMDAwIDgwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhxMCAxMjQgODggMjEydDIxMiA4OHpNMzAwIDUwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnogTTEwMDAgNTAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek03MDAgMTk5di0xNDRxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjV0LTM1LjUgMTQuNXQtMTQuNSAzNS41djE0MnE0MCAtNCA0MyAtNHExNyAwIDU3IDZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0MDsiIGQ9Ik03NDUgODc4bDY5IDE5cTI1IDYgNDUgLTEybDI5OCAtMjk1cTExIC0xMSAxNSAtMjYuNXQtMiAtMzAuNXEtNSAtMTQgLTE4IC0yMy41dC0yOCAtOS41aC04cTEgMCAxIC0xM3EwIC0yOSAtMiAtNTZ0LTguNSAtNjJ0LTIwIC02M3QtMzMgLTUzdC01MSAtMzl0LTcyLjUgLTE0aC0xNDZxLTE4NCAwIC0xODQgMjg4cTAgMjQgMTAgNDdxLTIwIDQgLTYyIDR0LTYzIC00cTExIC0yNCAxMSAtNDdxMCAtMjg4IC0xODQgLTI4OGgtMTQyIHEtNDggMCAtODQuNSAyMXQtNTYgNTF0LTMyIDcxLjV0LTE2IDc1dC0zLjUgNjguNXEwIDEzIDIgMTNoLTdxLTE1IDAgLTI3LjUgOS41dC0xOC41IDIzLjVxLTYgMTUgLTIgMzAuNXQxNSAyNS41bDI5OCAyOTZxMjAgMTggNDYgMTFsNzYgLTE5cTIwIC01IDMwLjUgLTIyLjV0NS41IC0zNy41dC0yMi41IC0zMXQtMzcuNSAtNWwtNTEgMTJsLTE4MiAtMTkzaDg5MWwtMTgyIDE5M2wtNDQgLTEycS0yMCAtNSAtMzcuNSA2dC0yMi41IDMxdDYgMzcuNSB0MzEgMjIuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjQxOyIgZD0iTTEyMDAgOTAwaC01MHEwIDIxIC00IDM3dC05LjUgMjYuNXQtMTggMTcuNXQtMjIgMTF0LTI4LjUgNS41dC0zMSAydC0zNyAwLjVoLTIwMHYtODUwcTAgLTIyIDI1IC0zNC41dDUwIC0xMy41bDI1IC0ydi0xMDBoLTQwMHYxMDBxNCAwIDExIDAuNXQyNCAzdDMwIDd0MjQgMTV0MTEgMjQuNXY4NTBoLTIwMHEtMjUgMCAtMzcgLTAuNXQtMzEgLTJ0LTI4LjUgLTUuNXQtMjIgLTExdC0xOCAtMTcuNXQtOS41IC0yNi41dC00IC0zN2gtNTB2MzAwIGgxMDAwdi0zMDB6TTUwMCA0NTBoLTI1cTAgMTUgLTQgMjQuNXQtOSAxNC41dC0xNyA3LjV0LTIwIDN0LTI1IDAuNWgtMTAwdi00MjVxMCAtMTEgMTIuNSAtMTcuNXQyNS41IC03LjVoMTJ2LTUwaC0yMDB2NTBxNTAgMCA1MCAyNXY0MjVoLTEwMHEtMTcgMCAtMjUgLTAuNXQtMjAgLTN0LTE3IC03LjV0LTkgLTE0LjV0LTQgLTI0LjVoLTI1djE1MGg1MDB2LTE1MHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjQyOyIgZD0iTTEwMDAgMzAwdjUwcS0yNSAwIC01NSAzMnEtMTQgMTQgLTI1IDMxdC0xNiAyN2wtNCAxMWwtMjg5IDc0N2gtNjlsLTMwMCAtNzU0cS0xOCAtMzUgLTM5IC01NnEtOSAtOSAtMjQuNSAtMTguNXQtMjYuNSAtMTQuNWwtMTEgLTV2LTUwaDI3M3Y1MHEtNDkgMCAtNzguNSAyMS41dC0xMS41IDY3LjVsNjkgMTc2aDI5M2w2MSAtMTY2cTEzIC0zNCAtMy41IC02Ni41dC01NS41IC0zMi41di01MGgzMTJ6TTQxMiA2OTFsMTM0IDM0MmwxMjEgLTM0MiBoLTI1NXpNMTEwMCAxNTB2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNDM7IiBkPSJNNTAgMTIwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNjExIDExMThoLTcwcS0xMyAwIC0xOCAtMTJsLTI5OSAtNzUzcS0xNyAtMzIgLTM1IC01MXEtMTggLTE4IC01NiAtMzRxLTEyIC01IC0xMiAtMTh2LTUwcTAgLTggNS41IC0xNHQxNC41IC02IGgyNzNxOCAwIDE0IDZ0NiAxNHY1MHEwIDggLTYgMTR0LTE0IDZxLTU1IDAgLTcxIDIzcS0xMCAxNCAwIDM5bDYzIDE2M2gyNjZsNTcgLTE1M3ExMSAtMzEgLTYgLTU1cS0xMiAtMTcgLTM2IC0xN3EtOCAwIC0xNCAtNnQtNiAtMTR2LTUwcTAgLTggNiAtMTR0MTQgLTZoMzEzcTggMCAxNCA2dDYgMTR2NTBxMCA3IC01LjUgMTN0LTEzLjUgN3EtMTcgMCAtNDIgMjVxLTI1IDI3IC00MCA2M2gtMWwtMjg4IDc0OHEtNSAxMiAtMTkgMTJ6TTYzOSA2MTEgaC0xOTdsMTAzIDI2NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjQ0OyIgZD0iTTEyMDAgMTEwMGgtMTIwMHYxMDBoMTIwMHYtMTAwek01MCAxMDAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtOTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djkwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCAxMDAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDAgcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek03MDAgOTAwdi0zMDBoMzAwdjMwMGgtMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNDU7IiBkPSJNNTAgMTIwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTkwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY5MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek02NTAgNzAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek03MDAgNjAwdi0zMDBoMzAwdjMwMGgtMzAwek0xMjAwIDBoLTEyMDB2MTAwaDEyMDB2LTEwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjQ2OyIgZD0iTTUwIDEwMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0zNTBoMTAwdjE1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoMTAwdi0xMDBoLTEwMHYtMTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djE1MGgtMTAwdi0zNTBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTcwMCA3MDB2LTMwMGgzMDB2MzAwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0NzsiIGQ9Ik0xMDAgMGgtMTAwdjEyMDBoMTAwdi0xMjAwek0yNTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zMDAgMTAwMHYtMzAwaDMwMHYzMDBoLTMwMHpNMjUwIDUwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTkwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjQ4OyIgZD0iTTYwMCAxMTAwaDE1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xNTB2LTEwMGg0NTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtOTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDM1MHYxMDBoLTE1MHEtMjEgMCAtMzUuNSAxNC41IHQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMTUwdjEwMGgxMDB2LTEwMHpNNDAwIDEwMDB2LTMwMGgzMDB2MzAwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0OTsiIGQ9Ik0xMjAwIDBoLTEwMHYxMjAwaDEwMHYtMTIwMHpNNTUwIDExMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNjAwIDEwMDB2LTMwMGgzMDB2MzAwaC0zMDB6TTUwIDUwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTkwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjUwOyIgZD0iTTg2NSA1NjVsLTQ5NCAtNDk0cS0yMyAtMjMgLTQxIC0yM3EtMTQgMCAtMjIgMTMuNXQtOCAzOC41djEwMDBxMCAyNSA4IDM4LjV0MjIgMTMuNXExOCAwIDQxIC0yM2w0OTQgLTQ5NHExNCAtMTQgMTQgLTM1dC0xNCAtMzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI1MTsiIGQ9Ik0zMzUgNjM1bDQ5NCA0OTRxMjkgMjkgNTAgMjAuNXQyMSAtNDkuNXYtMTAwMHEwIC00MSAtMjEgLTQ5LjV0LTUwIDIwLjVsLTQ5NCA0OTRxLTE0IDE0IC0xNCAzNXQxNCAzNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjUyOyIgZD0iTTEwMCA5MDBoMTAwMHE0MSAwIDQ5LjUgLTIxdC0yMC41IC01MGwtNDk0IC00OTRxLTE0IC0xNCAtMzUgLTE0dC0zNSAxNGwtNDk0IDQ5NHEtMjkgMjkgLTIwLjUgNTB0NDkuNSAyMXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjUzOyIgZD0iTTYzNSA4NjVsNDk0IC00OTRxMjkgLTI5IDIwLjUgLTUwdC00OS41IC0yMWgtMTAwMHEtNDEgMCAtNDkuNSAyMXQyMC41IDUwbDQ5NCA0OTRxMTQgMTQgMzUgMTR0MzUgLTE0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNTQ7IiBkPSJNNzAwIDc0MXYtMTgybC02OTIgLTMyM3YyMjFsNDEzIDE5M2wtNDEzIDE5M3YyMjF6TTEyMDAgMGgtODAwdjIwMGg4MDB2LTIwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjU1OyIgZD0iTTEyMDAgOTAwaC0yMDB2LTEwMGgyMDB2LTEwMGgtMzAwdjMwMGgyMDB2MTAwaC0yMDB2MTAwaDMwMHYtMzAwek0wIDcwMGg1MHEwIDIxIDQgMzd0OS41IDI2LjV0MTggMTcuNXQyMiAxMXQyOC41IDUuNXQzMSAydDM3IDAuNWgxMDB2LTU1MHEwIC0yMiAtMjUgLTM0LjV0LTUwIC0xMy41bC0yNSAtMnYtMTAwaDQwMHYxMDBxLTQgMCAtMTEgMC41dC0yNCAzdC0zMCA3dC0yNCAxNXQtMTEgMjQuNXY1NTBoMTAwcTI1IDAgMzcgLTAuNXQzMSAtMiB0MjguNSAtNS41dDIyIC0xMXQxOCAtMTcuNXQ5LjUgLTI2LjV0NCAtMzdoNTB2MzAwaC04MDB2LTMwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjU2OyIgZD0iTTgwMCA3MDBoLTUwcTAgMjEgLTQgMzd0LTkuNSAyNi41dC0xOCAxNy41dC0yMiAxMXQtMjguNSA1LjV0LTMxIDJ0LTM3IDAuNWgtMTAwdi01NTBxMCAtMjIgMjUgLTM0LjV0NTAgLTE0LjVsMjUgLTF2LTEwMGgtNDAwdjEwMHE0IDAgMTEgMC41dDI0IDN0MzAgN3QyNCAxNXQxMSAyNC41djU1MGgtMTAwcS0yNSAwIC0zNyAtMC41dC0zMSAtMnQtMjguNSAtNS41dC0yMiAtMTF0LTE4IC0xNy41dC05LjUgLTI2LjV0LTQgLTM3aC01MHYzMDAgaDgwMHYtMzAwek0xMTAwIDIwMGgtMjAwdi0xMDBoMjAwdi0xMDBoLTMwMHYzMDBoMjAwdjEwMGgtMjAwdjEwMGgzMDB2LTMwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjU3OyIgZD0iTTcwMSAxMDk4aDE2MHExNiAwIDIxIC0xMXQtNyAtMjNsLTQ2NCAtNDY0bDQ2NCAtNDY0cTEyIC0xMiA3IC0yM3QtMjEgLTExaC0xNjBxLTEzIDAgLTIzIDlsLTQ3MSA0NzFxLTcgOCAtNyAxOHQ3IDE4bDQ3MSA0NzFxMTAgOSAyMyA5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNTg7IiBkPSJNMzM5IDEwOThoMTYwcTEzIDAgMjMgLTlsNDcxIC00NzFxNyAtOCA3IC0xOHQtNyAtMThsLTQ3MSAtNDcxcS0xMCAtOSAtMjMgLTloLTE2MHEtMTYgMCAtMjEgMTF0NyAyM2w0NjQgNDY0bC00NjQgNDY0cS0xMiAxMiAtNyAyM3QyMSAxMXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjU5OyIgZD0iTTEwODcgODgycTExIC01IDExIC0yMXYtMTYwcTAgLTEzIC05IC0yM2wtNDcxIC00NzFxLTggLTcgLTE4IC03dC0xOCA3bC00NzEgNDcxcS05IDEwIC05IDIzdjE2MHEwIDE2IDExIDIxdDIzIC03bDQ2NCAtNDY0bDQ2NCA0NjRxMTIgMTIgMjMgN3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjYwOyIgZD0iTTYxOCA5OTNsNDcxIC00NzFxOSAtMTAgOSAtMjN2LTE2MHEwIC0xNiAtMTEgLTIxdC0yMyA3bC00NjQgNDY0bC00NjQgLTQ2NHEtMTIgLTEyIC0yMyAtN3QtMTEgMjF2MTYwcTAgMTMgOSAyM2w0NzEgNDcxcTggNyAxOCA3dDE4IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGY4ZmY7IiBkPSJNMTAwMCAxMjAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek00NTAgMTAwMGgxMDBxMjEgMCA0MCAtMTR0MjYgLTMzbDc5IC0xOTRxNSAxIDE2IDNxMzQgNiA1NCA5LjV0NjAgN3Q2NS41IDF0NjEgLTEwdDU2LjUgLTIzdDQyLjUgLTQydDI5IC02NHQ1IC05MnQtMTkuNSAtMTIxLjVxLTEgLTcgLTMgLTE5LjV0LTExIC01MHQtMjAuNSAtNzN0LTMyLjUgLTgxLjV0LTQ2LjUgLTgzdC02NCAtNzAgdC04Mi41IC01MHEtMTMgLTUgLTQyIC01dC02NS41IDIuNXQtNDcuNSAyLjVxLTE0IDAgLTQ5LjUgLTMuNXQtNjMgLTMuNXQtNDMuNSA3cS01NyAyNSAtMTA0LjUgNzguNXQtNzUgMTExLjV0LTQ2LjUgMTEydC0yNiA5MGwtNyAzNXEtMTUgNjMgLTE4IDExNXQ0LjUgODguNXQyNiA2NHQzOS41IDQzLjV0NTIgMjUuNXQ1OC41IDEzdDYyLjUgMnQ1OS41IC00LjV0NTUuNSAtOGwtMTQ3IDE5MnEtMTIgMTggLTUuNSAzMHQyNy41IDEyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDFmNTExOyIgZD0iTTI1MCAxMjAwaDYwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xNTB2LTUwMGwtMjU1IC0xNzhxLTE5IC05IC0zMiAtMXQtMTMgMjl2NjUwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQwMCAxMTAwdi0xMDBoMzAwdjEwMGgtMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDFmNmFhOyIgZD0iTTI1MCAxMjAwaDc1MHEzOSAwIDY5LjUgLTQwLjV0MzAuNSAtODQuNXYtOTMzbC03MDAgLTExN3Y5NTBsNjAwIDEyNWgtNzAwdi0xMDAwaC0xMDB2MTAyNXEwIDIzIDE1LjUgNDl0MzQuNSAyNnpNNTAwIDUyNXYtMTAwbDEwMCAyMHYxMDB6IiAvPgo8L2ZvbnQ+CjwvZGVmcz48L3N2Zz4g) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:1.42857143;color:#777777;background-color:#fcfcfc}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#d9230f;text-decoration:none}a:hover,a:focus{color:#91170a;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fcfcfc;border:1px solid #dddddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:18px;margin-bottom:18px;border:0;border-top:1px solid #dddddd}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;line-height:1.1;color:#444444}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#808080}h1,.h1,h2,.h2,h3,.h3{margin-top:18px;margin-bottom:9px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:9px;margin-bottom:9px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:33px}h2,.h2{font-size:27px}h3,.h3{font-size:23px}h4,.h4{font-size:17px}h5,.h5{font-size:13px}h6,.h6{font-size:12px}p{margin:0 0 9px}.lead{margin-bottom:18px;font-size:14px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:19.5px}}small,.small{font-size:92%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#808080}.text-primary{color:#d9230f}a.text-primary:hover,a.text-primary:focus{color:#a91b0c}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-info{color:#3a87ad}a.text-info:hover,a.text-info:focus{color:#2d6987}.text-warning{color:#c09853}a.text-warning:hover,a.text-warning:focus{color:#a47e3c}.text-danger{color:#b94a48}a.text-danger:hover,a.text-danger:focus{color:#953b39}.bg-primary{color:#fff;background-color:#d9230f}a.bg-primary:hover,a.bg-primary:focus{background-color:#a91b0c}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:8px;margin:36px 0 18px;border-bottom:1px solid #dddddd}ul,ol{margin-top:0;margin-bottom:9px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:18px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #808080}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:9px 18px;margin:0 0 18px;font-size:16.25px;border-left:5px solid #dddddd}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#808080}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #dddddd;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:18px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#ffffff;background-color:#333333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#444444;background-color:#f5f5f5;border:1px solid #cccccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#808080;text-align:left}th{}.table{width:100%;max-width:100%;margin-bottom:18px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #dddddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #dddddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #dddddd}.table .table{background-color:#fcfcfc}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:13.5px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #dddddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:18px;font-size:19.5px;line-height:inherit;color:#777777;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:9px;font-size:13px;line-height:1.42857143;color:#777777}.form-control{display:block;width:100%;height:36px;padding:8px 12px;font-size:13px;line-height:1.42857143;color:#777777;background-color:#ffffff;background-image:none;border:1px solid #dddddd;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#dddddd;opacity:1}.form-control:-ms-input-placeholder{color:#dddddd}.form-control::-webkit-input-placeholder{color:#dddddd}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#dddddd;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:36px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:53px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:18px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:9px;padding-bottom:9px;margin-bottom:0;min-height:31px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:30px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:53px;padding:14px 16px;font-size:17px;line-height:1.3333333;border-radius:6px}select.input-lg{height:53px;line-height:53px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:53px;padding:14px 16px;font-size:17px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:53px;line-height:53px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:53px;min-height:35px;padding:15px 16px;font-size:17px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:45px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:36px;height:36px;line-height:36px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:53px;height:53px;line-height:53px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#468847}.has-success .form-control{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.has-success .input-group-addon{color:#468847;border-color:#468847;background-color:#dff0d8}.has-success .form-control-feedback{color:#468847}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#c09853}.has-warning .form-control{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.has-warning .input-group-addon{color:#c09853;border-color:#c09853;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#c09853}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#b94a48}.has-error .form-control{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.has-error .input-group-addon{color:#b94a48;border-color:#b94a48;background-color:#f2dede}.has-error .form-control-feedback{color:#b94a48}.has-feedback label~.form-control-feedback{top:23px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#b7b7b7}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:9px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:9px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:15px;font-size:17px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:8px 12px;font-size:13px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#ffffff;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#ffffff;background-color:#474949;border-color:#474949}.btn-default:focus,.btn-default.focus{color:#ffffff;background-color:#2e2f2f;border-color:#080808}.btn-default:hover{color:#ffffff;background-color:#2e2f2f;border-color:#292a2a}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#ffffff;background-color:#2e2f2f;border-color:#292a2a}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#ffffff;background-color:#1c1d1d;border-color:#080808}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus{background-color:#474949;border-color:#474949}.btn-default .badge{color:#474949;background-color:#ffffff}.btn-primary{color:#ffffff;background-color:#d9230f;border-color:#d9230f}.btn-primary:focus,.btn-primary.focus{color:#ffffff;background-color:#a91b0c;border-color:#621007}.btn-primary:hover{color:#ffffff;background-color:#a91b0c;border-color:#a01a0b}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#ffffff;background-color:#a91b0c;border-color:#a01a0b}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#ffffff;background-color:#881609;border-color:#621007}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus{background-color:#d9230f;border-color:#d9230f}.btn-primary .badge{color:#d9230f;background-color:#ffffff}.btn-success{color:#ffffff;background-color:#469408;border-color:#469408}.btn-success:focus,.btn-success.focus{color:#ffffff;background-color:#2f6405;border-color:#0d1b01}.btn-success:hover{color:#ffffff;background-color:#2f6405;border-color:#2b5a05}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#ffffff;background-color:#2f6405;border-color:#2b5a05}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#ffffff;background-color:#1f4204;border-color:#0d1b01}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus{background-color:#469408;border-color:#469408}.btn-success .badge{color:#469408;background-color:#ffffff}.btn-info{color:#ffffff;background-color:#029acf;border-color:#029acf}.btn-info:focus,.btn-info.focus{color:#ffffff;background-color:#02749c;border-color:#013c51}.btn-info:hover{color:#ffffff;background-color:#02749c;border-color:#016d92}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#ffffff;background-color:#02749c;border-color:#016d92}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#ffffff;background-color:#015a79;border-color:#013c51}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus{background-color:#029acf;border-color:#029acf}.btn-info .badge{color:#029acf;background-color:#ffffff}.btn-warning{color:#ffffff;background-color:#9b479f;border-color:#9b479f}.btn-warning:focus,.btn-warning.focus{color:#ffffff;background-color:#79377c;border-color:#452047}.btn-warning:hover{color:#ffffff;background-color:#79377c;border-color:#723475}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#ffffff;background-color:#79377c;border-color:#723475}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#ffffff;background-color:#612c63;border-color:#452047}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus{background-color:#9b479f;border-color:#9b479f}.btn-warning .badge{color:#9b479f;background-color:#ffffff}.btn-danger{color:#ffffff;background-color:#d9831f;border-color:#d9831f}.btn-danger:focus,.btn-danger.focus{color:#ffffff;background-color:#ac6819;border-color:#69400f}.btn-danger:hover{color:#ffffff;background-color:#ac6819;border-color:#a36317}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#ffffff;background-color:#ac6819;border-color:#a36317}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#ffffff;background-color:#8d5514;border-color:#69400f}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#d9831f;border-color:#d9831f}.btn-danger .badge{color:#d9831f;background-color:#ffffff}.btn-link{color:#d9230f;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#91170a;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#808080;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:14px 16px;font-size:17px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:0.35s;-o-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:13px;text-align:left;background-color:#ffffff;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:8px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#444444;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#ffffff;background-color:#d9230f}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#d9230f}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#808080}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#808080;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:53px;padding:14px 16px;font-size:17px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:53px;line-height:53px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:8px 12px;font-size:13px;font-weight:normal;line-height:1;color:#777777;text-align:center;background-color:#dddddd;border:1px solid #dddddd;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:14px 16px;font-size:17px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#dddddd}.nav>li.disabled>a{color:#808080}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#808080;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#dddddd;border-color:#d9230f}.nav .nav-divider{height:1px;margin:8px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #dddddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#dddddd #dddddd #dddddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#777777;background-color:#fcfcfc;border:1px solid #dddddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #dddddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fcfcfc}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#ffffff;background-color:#d9230f}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #dddddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fcfcfc}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:40px;margin-bottom:18px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:11px 15px;font-size:17px;line-height:18px;height:40px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:3px;margin-bottom:3px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:5.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:18px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:18px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:11px;padding-bottom:11px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:2px;margin-bottom:2px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:2px;margin-bottom:2px}.navbar-btn.btn-sm{margin-top:5px;margin-bottom:5px}.navbar-btn.btn-xs{margin-top:9px;margin-bottom:9px}.navbar-text{margin-top:11px;margin-bottom:11px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#ffffff;border-color:#eeeeee}.navbar-default .navbar-brand{color:#777777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#d9230f;background-color:transparent}.navbar-default .navbar-text{color:#777777}.navbar-default .navbar-nav>li>a{color:#777777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#d9230f;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#d9230f;background-color:transparent}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#444444;background-color:transparent}.navbar-default .navbar-toggle{border-color:#dddddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#dddddd}.navbar-default .navbar-toggle .icon-bar{background-color:#cccccc}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#eeeeee}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:transparent;color:#d9230f}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#d9230f;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#d9230f;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444444;background-color:transparent}}.navbar-default .navbar-link{color:#777777}.navbar-default .navbar-link:hover{color:#d9230f}.navbar-default .btn-link{color:#777777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#d9230f}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#444444}.navbar-inverse{background-color:#d9230f;border-color:#a91b0c}.navbar-inverse .navbar-brand{color:#fac0ba}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-text{color:#fac0ba}.navbar-inverse .navbar-nav>li>a{color:#fac0ba}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#a91b0c}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#a91b0c}.navbar-inverse .navbar-toggle .icon-bar{background-color:#ffffff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#b81e0d}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:transparent;color:#ffffff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#a91b0c}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#a91b0c}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#fac0ba}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-inverse .navbar-link{color:#fac0ba}.navbar-inverse .navbar-link:hover{color:#ffffff}.navbar-inverse .btn-link{color:#fac0ba}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#ffffff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#cccccc}.breadcrumb{padding:8px 15px;margin-bottom:18px;list-style:none;background-color:transparent;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#cccccc}.breadcrumb>.active{color:#808080}.pagination{display:inline-block;padding-left:0;margin:18px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:8px 12px;line-height:1.42857143;text-decoration:none;color:#444444;background-color:#ffffff;border:1px solid #dddddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:2;color:#ffffff;background-color:#d9230f;border-color:#d9230f}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:3;color:#ffffff;background-color:#d9230f;border-color:#d9230f;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#dddddd;background-color:#ffffff;border-color:#dddddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:14px 16px;font-size:17px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:18px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#ffffff;border:1px solid #dddddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#d9230f}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#dddddd;background-color:#ffffff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#474949}.label-default[href]:hover,.label-default[href]:focus{background-color:#2e2f2f}.label-primary{background-color:#d9230f}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#a91b0c}.label-success{background-color:#469408}.label-success[href]:hover,.label-success[href]:focus{background-color:#2f6405}.label-info{background-color:#029acf}.label-info[href]:hover,.label-info[href]:focus{background-color:#02749c}.label-warning{background-color:#9b479f}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#79377c}.label-danger{background-color:#d9831f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#ac6819}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#ffffff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#d9230f;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#d9230f;background-color:#ffffff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#f4f4f4}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:20px;font-weight:200}.jumbotron>hr{border-top-color:#dbdbdb}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px;padding-left:15px;padding-right:15px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:59px}}.thumbnail{display:block;padding:4px;margin-bottom:18px;line-height:1.42857143;background-color:#fcfcfc;border:1px solid #dddddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#d9230f}.thumbnail .caption{padding:9px;color:#777777}.alert{padding:15px;margin-bottom:18px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#356635}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#2d6987}.alert-warning{background-color:#fcf8e3;border-color:#fbeed5;color:#c09853}.alert-warning hr{border-top-color:#f8e5be}.alert-warning .alert-link{color:#a47e3c}.alert-danger{background-color:#f2dede;border-color:#eed3d7;color:#b94a48}.alert-danger hr{border-top-color:#e6c1c7}.alert-danger .alert-link{color:#953b39}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:18px;margin-bottom:18px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:18px;color:#ffffff;text-align:center;background-color:#d9230f;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#469408}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#029acf}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#9b479f}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9831f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#ffffff;border:1px solid #dddddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#555555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#dddddd;color:#808080;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#808080}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#ffffff;background-color:#d9230f;border-color:#d9230f}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#fac0ba}.list-group-item-success{color:#468847;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#468847}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#468847;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#468847;border-color:#468847}.list-group-item-info{color:#3a87ad;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#3a87ad}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#3a87ad;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#3a87ad;border-color:#3a87ad}.list-group-item-warning{color:#c09853;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#c09853}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#c09853;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#c09853;border-color:#c09853}.list-group-item-danger{color:#b94a48;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#b94a48}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#b94a48;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#b94a48;border-color:#b94a48}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:18px;background-color:#ffffff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:15px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#fcfcfc;border-top:1px solid #dddddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #dddddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:18px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #dddddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #dddddd}.panel-default{border-color:#dddddd}.panel-default>.panel-heading{color:#444444;background-color:#fcfcfc;border-color:#dddddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#dddddd}.panel-default>.panel-heading .badge{color:#fcfcfc;background-color:#444444}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#dddddd}.panel-primary{border-color:#d9230f}.panel-primary>.panel-heading{color:#ffffff;background-color:#d9230f;border-color:#d9230f}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d9230f}.panel-primary>.panel-heading .badge{color:#d9230f;background-color:#ffffff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d9230f}.panel-success{border-color:#469408}.panel-success>.panel-heading{color:#ffffff;background-color:#469408;border-color:#469408}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#469408}.panel-success>.panel-heading .badge{color:#469408;background-color:#ffffff}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#469408}.panel-info{border-color:#029acf}.panel-info>.panel-heading{color:#ffffff;background-color:#029acf;border-color:#029acf}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#029acf}.panel-info>.panel-heading .badge{color:#029acf;background-color:#ffffff}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#029acf}.panel-warning{border-color:#9b479f}.panel-warning>.panel-heading{color:#ffffff;background-color:#9b479f;border-color:#9b479f}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#9b479f}.panel-warning>.panel-heading .badge{color:#9b479f;background-color:#ffffff}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#9b479f}.panel-danger{border-color:#d9831f}.panel-danger>.panel-heading{color:#ffffff;background-color:#d9831f;border-color:#d9831f}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d9831f}.panel-danger>.panel-heading .badge{color:#d9831f;background-color:#ffffff}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d9831f}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f4f4f4;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:19.5px;font-weight:bold;line-height:1;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#ffffff;border:1px solid #999999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:20px}.modal-footer{padding:20px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:0.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;background-color:#000000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:13px;background-color:#ffffff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:13px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);background-color:rgba(0,0,0,0)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #ffffff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#ffffff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-header:before,.modal-header:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-header:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.navbar-inverse .badge{background-color:#fff;color:#d9230f}.btn{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif}.btn-default,.btn-default:hover{background-image:-webkit-linear-gradient(#4f5151, #474949 6%, #3f4141);background-image:-o-linear-gradient(#4f5151, #474949 6%, #3f4141);background-image:-webkit-gradient(linear, left top, left bottom, from(#4f5151), color-stop(6%, #474949), to(#3f4141));background-image:linear-gradient(#4f5151, #474949 6%, #3f4141);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff4f5151', endColorstr='#ff3f4141', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #2e2f2f}.btn-primary,.btn-primary:hover{background-image:-webkit-linear-gradient(#e72510, #d9230f 6%, #cb210e);background-image:-o-linear-gradient(#e72510, #d9230f 6%, #cb210e);background-image:-webkit-gradient(linear, left top, left bottom, from(#e72510), color-stop(6%, #d9230f), to(#cb210e));background-image:linear-gradient(#e72510, #d9230f 6%, #cb210e);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe72510', endColorstr='#ffcb210e', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #a91b0c}.btn-success,.btn-success:hover{background-image:-webkit-linear-gradient(#4da309, #469408 6%, #3f8507);background-image:-o-linear-gradient(#4da309, #469408 6%, #3f8507);background-image:-webkit-gradient(linear, left top, left bottom, from(#4da309), color-stop(6%, #469408), to(#3f8507));background-image:linear-gradient(#4da309, #469408 6%, #3f8507);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff4da309', endColorstr='#ff3f8507', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #2f6405}.btn-info,.btn-info:hover{background-image:-webkit-linear-gradient(#02a5de, #029acf 6%, #028fc0);background-image:-o-linear-gradient(#02a5de, #029acf 6%, #028fc0);background-image:-webkit-gradient(linear, left top, left bottom, from(#02a5de), color-stop(6%, #029acf), to(#028fc0));background-image:linear-gradient(#02a5de, #029acf 6%, #028fc0);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff02a5de', endColorstr='#ff028fc0', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #02749c}.btn-warning,.btn-warning:hover{background-image:-webkit-linear-gradient(#a54caa, #9b479f 6%, #914294);background-image:-o-linear-gradient(#a54caa, #9b479f 6%, #914294);background-image:-webkit-gradient(linear, left top, left bottom, from(#a54caa), color-stop(6%, #9b479f), to(#914294));background-image:linear-gradient(#a54caa, #9b479f 6%, #914294);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa54caa', endColorstr='#ff914294', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #79377c}.btn-danger,.btn-danger:hover{background-image:-webkit-linear-gradient(#e08b27, #d9831f 6%, #cc7b1d);background-image:-o-linear-gradient(#e08b27, #d9831f 6%, #cc7b1d);background-image:-webkit-gradient(linear, left top, left bottom, from(#e08b27), color-stop(6%, #d9831f), to(#cc7b1d));background-image:linear-gradient(#e08b27, #d9831f 6%, #cc7b1d);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe08b27', endColorstr='#ffcc7b1d', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #ac6819}body{font-weight:200}th{color:#444444}legend{color:#444444}label{font-weight:normal}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label,.has-warning .form-control-feedback{color:#d9831f}.has-warning .form-control,.has-warning .form-control:focus{border-color:#d9831f}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label,.has-error .form-control-feedback{color:#d9230f}.has-error .form-control,.has-error .form-control:focus{border-color:#d9230f}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label,.has-success .form-control-feedback{color:#469408}.has-success .form-control,.has-success .form-control:focus{border-color:#469408}.pager a{color:#444444}.pager a:hover,.pager .active>a{border-color:#d9230f;color:#fff}.pager .disabled>a{border-color:#dddddd} |
| 51 | </style> |
| 52 | <script>/*! |
| 53 | * Bootstrap v3.3.5 (http://getbootstrap.com) |
| 54 | * Copyright 2011-2015 Twitter, Inc. |
| 55 | * Licensed under the MIT license |
| 56 | */ |
| 57 | if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.5",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.5",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.5",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.5",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")), |
| 58 | d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);</script> |
| 59 | <script>/** |
| 60 | * @preserve HTML5 Shiv 3.7.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed |
| 61 | */ |
| 62 | // Only run this code in IE 8 |
| 63 | if (!!window.navigator.userAgent.match("MSIE 8")) { |
| 64 | !function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.2",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b)}(this,document); |
| 65 | }; |
| 66 | </script> |
| 67 | <script>/*! Respond.js v1.4.2: min/max-width media query polyfill * Copyright 2013 Scott Jehl |
| 68 | * Licensed under https://github.com/scottjehl/Respond/blob/master/LICENSE-MIT |
| 69 | * */ |
| 70 | |
| 71 | // Only run this code in IE 8 |
| 72 | if (!!window.navigator.userAgent.match("MSIE 8")) { |
| 73 | !function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='­<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;b<s.length;b++){var c=s[b],e=c.href,f=c.media,g=c.rel&&"stylesheet"===c.rel.toLowerCase();e&&g&&!o[e]&&(c.styleSheet&&c.styleSheet.rawCssText?(v(c.styleSheet.rawCssText,e,f),o[e]=!0):(!/^([a-zA-Z:]*\/\/)/.test(e)&&!r||e.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&("//"===e.substring(0,2)&&(e=a.location.protocol+e),d.push({href:e,media:f})))}w()};x(),c.update=x,c.getEmValue=t,a.addEventListener?a.addEventListener("resize",b,!1):a.attachEvent&&a.attachEvent("onresize",b)}}(this); |
| 74 | }; |
| 75 | </script> |
| 76 | <script>/*! jQuery UI - v1.11.4 - 2016-01-05 |
| 77 | * http://jqueryui.com |
| 78 | * Includes: core.js, widget.js, mouse.js, position.js, draggable.js, droppable.js, resizable.js, selectable.js, sortable.js, accordion.js, autocomplete.js, button.js, dialog.js, menu.js, progressbar.js, selectmenu.js, slider.js, spinner.js, tabs.js, tooltip.js, effect.js, effect-blind.js, effect-bounce.js, effect-clip.js, effect-drop.js, effect-explode.js, effect-fade.js, effect-fold.js, effect-highlight.js, effect-puff.js, effect-pulsate.js, effect-scale.js, effect-shake.js, effect-size.js, effect-slide.js, effect-transfer.js |
| 79 | * Copyright jQuery Foundation and other contributors; Licensed MIT */ |
| 80 | |
| 81 | (function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){function t(t,s){var n,a,o,r=t.nodeName.toLowerCase();return"area"===r?(n=t.parentNode,a=n.name,t.href&&a&&"map"===n.nodeName.toLowerCase()?(o=e("img[usemap='#"+a+"']")[0],!!o&&i(o)):!1):(/^(input|select|textarea|button|object)$/.test(r)?!t.disabled:"a"===r?t.href||s:s)&&i(t)}function i(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}function s(e){return function(){var t=this.element.val();e.apply(this,arguments),this._refresh(),t!==this.element.val()&&this._trigger("change")}}e.ui=e.ui||{},e.extend(e.ui,{version:"1.11.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({scrollParent:function(t){var i=this.css("position"),s="absolute"===i,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,a=this.parents().filter(function(){var t=e(this);return s&&"static"===t.css("position")?!1:n.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==i&&a.length?a:e(this[0].ownerDocument||document)},uniqueId:function(){var e=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++e)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(i){return t(i,!isNaN(e.attr(i,"tabindex")))},tabbable:function(i){var s=e.attr(i,"tabindex"),n=isNaN(s);return(n||s>=0)&&t(i,!n)}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(t,i){function s(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,s&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),a&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],a=i.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+i]=function(t){return void 0===t?o["inner"+i].call(this):this.each(function(){e(this).css(a,s(this,t)+"px")})},e.fn["outer"+i]=function(t,n){return"number"!=typeof t?o["outer"+i].call(this,t):this.each(function(){e(this).css(a,s(this,t,!0,n)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.fn.extend({focus:function(t){return function(i,s){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),disableSelection:function(){var e="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.bind(e+".ui-disableSelection",function(e){e.preventDefault()})}}(),enableSelection:function(){return this.unbind(".ui-disableSelection")},zIndex:function(t){if(void 0!==t)return this.css("zIndex",t);if(this.length)for(var i,s,n=e(this[0]);n.length&&n[0]!==document;){if(i=n.css("position"),("absolute"===i||"relative"===i||"fixed"===i)&&(s=parseInt(n.css("zIndex"),10),!isNaN(s)&&0!==s))return s;n=n.parent()}return 0}}),e.ui.plugin={add:function(t,i,s){var n,a=e.ui[t].prototype;for(n in s)a.plugins[n]=a.plugins[n]||[],a.plugins[n].push([i,s[n]])},call:function(e,t,i,s){var n,a=e.plugins[t];if(a&&(s||e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType))for(n=0;a.length>n;n++)e.options[a[n][0]]&&a[n][1].apply(e.element,i)}};var n=0,a=Array.prototype.slice;e.cleanData=function(t){return function(i){var s,n,a;for(a=0;null!=(n=i[a]);a++)try{s=e._data(n,"events"),s&&s.remove&&e(n).triggerHandler("remove")}catch(o){}t(i)}}(e.cleanData),e.widget=function(t,i,s){var n,a,o,r,h={},l=t.split(".")[0];return t=t.split(".")[1],n=l+"-"+t,s||(s=i,i=e.Widget),e.expr[":"][n.toLowerCase()]=function(t){return!!e.data(t,n)},e[l]=e[l]||{},a=e[l][t],o=e[l][t]=function(e,t){return this._createWidget?(arguments.length&&this._createWidget(e,t),void 0):new o(e,t)},e.extend(o,a,{version:s.version,_proto:e.extend({},s),_childConstructors:[]}),r=new i,r.options=e.widget.extend({},r.options),e.each(s,function(t,s){return e.isFunction(s)?(h[t]=function(){var e=function(){return i.prototype[t].apply(this,arguments)},n=function(e){return i.prototype[t].apply(this,e)};return function(){var t,i=this._super,a=this._superApply;return this._super=e,this._superApply=n,t=s.apply(this,arguments),this._super=i,this._superApply=a,t}}(),void 0):(h[t]=s,void 0)}),o.prototype=e.widget.extend(r,{widgetEventPrefix:a?r.widgetEventPrefix||t:t},h,{constructor:o,namespace:l,widgetName:t,widgetFullName:n}),a?(e.each(a._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete a._childConstructors):i._childConstructors.push(o),e.widget.bridge(t,o),o},e.widget.extend=function(t){for(var i,s,n=a.call(arguments,1),o=0,r=n.length;r>o;o++)for(i in n[o])s=n[o][i],n[o].hasOwnProperty(i)&&void 0!==s&&(t[i]=e.isPlainObject(s)?e.isPlainObject(t[i])?e.widget.extend({},t[i],s):e.widget.extend({},s):s);return t},e.widget.bridge=function(t,i){var s=i.prototype.widgetFullName||t;e.fn[t]=function(n){var o="string"==typeof n,r=a.call(arguments,1),h=this;return o?this.each(function(){var i,a=e.data(this,s);return"instance"===n?(h=a,!1):a?e.isFunction(a[n])&&"_"!==n.charAt(0)?(i=a[n].apply(a,r),i!==a&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):e.error("no such method '"+n+"' for "+t+" widget instance"):e.error("cannot call methods on "+t+" prior to initialization; "+"attempted to call method '"+n+"'")}):(r.length&&(n=e.widget.extend.apply(null,[n].concat(r))),this.each(function(){var t=e.data(this,s);t?(t.option(n||{}),t._init&&t._init()):e.data(this,s,new i(n,this))})),h}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(t,i){i=e(i||this.defaultElement||this)[0],this.element=e(i),this.uuid=n++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=e(),this.hoverable=e(),this.focusable=e(),i!==this&&(e.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===i&&this.destroy()}}),this.document=e(i.style?i.ownerDocument:i.document||i),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(t,i){var s,n,a,o=t;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof t)if(o={},s=t.split("."),t=s.shift(),s.length){for(n=o[t]=e.widget.extend({},this.options[t]),a=0;s.length-1>a;a++)n[s[a]]=n[s[a]]||{},n=n[s[a]];if(t=s.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=i}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];o[t]=i}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled",!!t),t&&(this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus"))),this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(t,i,s){var n,a=this;"boolean"!=typeof t&&(s=i,i=t,t=!1),s?(i=n=e(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),e.each(s,function(s,o){function r(){return t||a.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?a[o]:o).apply(a,arguments):void 0}"string"!=typeof o&&(r.guid=o.guid=o.guid||r.guid||e.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+a.eventNamespace,u=h[2];u?n.delegate(u,l,r):i.bind(l,r)})},_off:function(t,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.unbind(i).undelegate(i),this.bindings=e(this.bindings.not(t).get()),this.focusable=e(this.focusable.not(t).get()),this.hoverable=e(this.hoverable.not(t).get())},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var n,a,o=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],a=i.originalEvent)for(n in a)n in i||(i[n]=a[n]);return this.element.trigger(i,s),!(e.isFunction(o)&&o.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,n,a){"string"==typeof n&&(n={effect:n});var o,r=n?n===!0||"number"==typeof n?i:n.effect||i:t;n=n||{},"number"==typeof n&&(n={duration:n}),o=!e.isEmptyObject(n),n.complete=a,n.delay&&s.delay(n.delay),o&&e.effects&&e.effects.effect[r]?s[t](n):r!==t&&s[r]?s[r](n.duration,n.easing,a):s.queue(function(i){e(this)[t](),a&&a.call(s[0]),i()})}}),e.widget;var o=!1;e(document).mouseup(function(){o=!1}),e.widget("ui.mouse",{version:"1.11.4",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(t){if(!o){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(t),this._mouseDownEvent=t;var i=this,s=1===t.which,n="string"==typeof this.options.cancel&&t.target.nodeName?e(t.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(t)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(t)!==!1,!this._mouseStarted)?(t.preventDefault(),!0):(!0===e.data(t.target,this.widgetName+".preventClickEvent")&&e.removeData(t.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return i._mouseMove(e)},this._mouseUpDelegate=function(e){return i._mouseUp(e)},this.document.bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),t.preventDefault(),o=!0,!0)):!0}},_mouseMove:function(t){if(this._mouseMoved){if(e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button)return this._mouseUp(t);if(!t.which)return this._mouseUp(t)}return(t.which||t.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),o=!1,!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),function(){function t(e,t,i){return[parseFloat(e[0])*(p.test(e[0])?t/100:1),parseFloat(e[1])*(p.test(e[1])?i/100:1)]}function i(t,i){return parseInt(e.css(t,i),10)||0}function s(t){var i=t[0];return 9===i.nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:e.isWindow(i)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()}}e.ui=e.ui||{};var n,a,o=Math.max,r=Math.abs,h=Math.round,l=/left|center|right/,u=/top|center|bottom/,d=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,p=/%$/,f=e.fn.position;e.position={scrollbarWidth:function(){if(void 0!==n)return n;var t,i,s=e("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),a=s.children()[0];return e("body").append(s),t=a.offsetWidth,s.css("overflow","scroll"),i=a.offsetWidth,t===i&&(i=s[0].clientWidth),s.remove(),n=t-i},getScrollInfo:function(t){var i=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),s=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),n="scroll"===i||"auto"===i&&t.width<t.element[0].scrollWidth,a="scroll"===s||"auto"===s&&t.height<t.element[0].scrollHeight;return{width:a?e.position.scrollbarWidth():0,height:n?e.position.scrollbarWidth():0}},getWithinInfo:function(t){var i=e(t||window),s=e.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType;return{element:i,isWindow:s,isDocument:n,offset:i.offset()||{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:s||n?i.width():i.outerWidth(),height:s||n?i.height():i.outerHeight()}}},e.fn.position=function(n){if(!n||!n.of)return f.apply(this,arguments);n=e.extend({},n);var p,m,g,v,y,b,_=e(n.of),x=e.position.getWithinInfo(n.within),w=e.position.getScrollInfo(x),k=(n.collision||"flip").split(" "),T={};return b=s(_),_[0].preventDefault&&(n.at="left top"),m=b.width,g=b.height,v=b.offset,y=e.extend({},v),e.each(["my","at"],function(){var e,t,i=(n[this]||"").split(" ");1===i.length&&(i=l.test(i[0])?i.concat(["center"]):u.test(i[0])?["center"].concat(i):["center","center"]),i[0]=l.test(i[0])?i[0]:"center",i[1]=u.test(i[1])?i[1]:"center",e=d.exec(i[0]),t=d.exec(i[1]),T[this]=[e?e[0]:0,t?t[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===k.length&&(k[1]=k[0]),"right"===n.at[0]?y.left+=m:"center"===n.at[0]&&(y.left+=m/2),"bottom"===n.at[1]?y.top+=g:"center"===n.at[1]&&(y.top+=g/2),p=t(T.at,m,g),y.left+=p[0],y.top+=p[1],this.each(function(){var s,l,u=e(this),d=u.outerWidth(),c=u.outerHeight(),f=i(this,"marginLeft"),b=i(this,"marginTop"),D=d+f+i(this,"marginRight")+w.width,S=c+b+i(this,"marginBottom")+w.height,N=e.extend({},y),M=t(T.my,u.outerWidth(),u.outerHeight());"right"===n.my[0]?N.left-=d:"center"===n.my[0]&&(N.left-=d/2),"bottom"===n.my[1]?N.top-=c:"center"===n.my[1]&&(N.top-=c/2),N.left+=M[0],N.top+=M[1],a||(N.left=h(N.left),N.top=h(N.top)),s={marginLeft:f,marginTop:b},e.each(["left","top"],function(t,i){e.ui.position[k[t]]&&e.ui.position[k[t]][i](N,{targetWidth:m,targetHeight:g,elemWidth:d,elemHeight:c,collisionPosition:s,collisionWidth:D,collisionHeight:S,offset:[p[0]+M[0],p[1]+M[1]],my:n.my,at:n.at,within:x,elem:u})}),n.using&&(l=function(e){var t=v.left-N.left,i=t+m-d,s=v.top-N.top,a=s+g-c,h={target:{element:_,left:v.left,top:v.top,width:m,height:g},element:{element:u,left:N.left,top:N.top,width:d,height:c},horizontal:0>i?"left":t>0?"right":"center",vertical:0>a?"top":s>0?"bottom":"middle"};d>m&&m>r(t+i)&&(h.horizontal="center"),c>g&&g>r(s+a)&&(h.vertical="middle"),h.important=o(r(t),r(i))>o(r(s),r(a))?"horizontal":"vertical",n.using.call(this,e,h)}),u.offset(e.extend(N,{using:l}))})},e.ui.position={fit:{left:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=e.left-t.collisionPosition.marginLeft,h=n-r,l=r+t.collisionWidth-a-n;t.collisionWidth>a?h>0&&0>=l?(i=e.left+h+t.collisionWidth-a-n,e.left+=h-i):e.left=l>0&&0>=h?n:h>l?n+a-t.collisionWidth:n:h>0?e.left+=h:l>0?e.left-=l:e.left=o(e.left-r,e.left)},top:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollTop:s.offset.top,a=t.within.height,r=e.top-t.collisionPosition.marginTop,h=n-r,l=r+t.collisionHeight-a-n;t.collisionHeight>a?h>0&&0>=l?(i=e.top+h+t.collisionHeight-a-n,e.top+=h-i):e.top=l>0&&0>=h?n:h>l?n+a-t.collisionHeight:n:h>0?e.top+=h:l>0?e.top-=l:e.top=o(e.top-r,e.top)}},flip:{left:function(e,t){var i,s,n=t.within,a=n.offset.left+n.scrollLeft,o=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=e.left-t.collisionPosition.marginLeft,u=l-h,d=l+t.collisionWidth-o-h,c="left"===t.my[0]?-t.elemWidth:"right"===t.my[0]?t.elemWidth:0,p="left"===t.at[0]?t.targetWidth:"right"===t.at[0]?-t.targetWidth:0,f=-2*t.offset[0];0>u?(i=e.left+c+p+f+t.collisionWidth-o-a,(0>i||r(u)>i)&&(e.left+=c+p+f)):d>0&&(s=e.left-t.collisionPosition.marginLeft+c+p+f-h,(s>0||d>r(s))&&(e.left+=c+p+f))},top:function(e,t){var i,s,n=t.within,a=n.offset.top+n.scrollTop,o=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=e.top-t.collisionPosition.marginTop,u=l-h,d=l+t.collisionHeight-o-h,c="top"===t.my[1],p=c?-t.elemHeight:"bottom"===t.my[1]?t.elemHeight:0,f="top"===t.at[1]?t.targetHeight:"bottom"===t.at[1]?-t.targetHeight:0,m=-2*t.offset[1];0>u?(s=e.top+p+f+m+t.collisionHeight-o-a,(0>s||r(u)>s)&&(e.top+=p+f+m)):d>0&&(i=e.top-t.collisionPosition.marginTop+p+f+m-h,(i>0||d>r(i))&&(e.top+=p+f+m))}},flipfit:{left:function(){e.ui.position.flip.left.apply(this,arguments),e.ui.position.fit.left.apply(this,arguments)},top:function(){e.ui.position.flip.top.apply(this,arguments),e.ui.position.fit.top.apply(this,arguments)}}},function(){var t,i,s,n,o,r=document.getElementsByTagName("body")[0],h=document.createElement("div");t=document.createElement(r?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},r&&e.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(o in s)t.style[o]=s[o];t.appendChild(h),i=r||document.documentElement,i.insertBefore(t,i.firstChild),h.style.cssText="position: absolute; left: 10.7432222px;",n=e(h).offset().left,a=n>10&&11>n,t.innerHTML="",i.removeChild(t)}()}(),e.ui.position,e.widget("ui.draggable",e.ui.mouse,{version:"1.11.4",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._setHandleClassName(),this._mouseInit()},_setOption:function(e,t){this._super(e,t),"handle"===e&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?(this.destroyOnClear=!0,void 0):(this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(t){var i=this.options;return this._blurActiveElement(t),this.helper||i.disabled||e(t.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(t),this.handle?(this._blockFrames(i.iframeFix===!0?"iframe":i.iframeFix),!0):!1)},_blockFrames:function(t){this.iframeBlocks=this.document.find(t).map(function(){var t=e(this);return e("<div>").css("position","absolute").appendTo(t.parent()).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(t){var i=this.document[0];if(this.handleElement.is(t.target))try{i.activeElement&&"body"!==i.activeElement.nodeName.toLowerCase()&&e(i.activeElement).blur()}catch(s){}},_mouseStart:function(t){var i=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===e(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(t),this.originalPosition=this.position=this._generatePosition(t,!1),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._normalizeRightBottom(),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_refreshOffsets:function(e){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:e.pageX-this.offset.left,top:e.pageY-this.offset.top}},_mouseDrag:function(t,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",t,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var i=this,s=!1;return e.ui.ddmanager&&!this.options.dropBehaviour&&(s=e.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",t)!==!1&&i._clear()}):this._trigger("stop",t)!==!1&&this._clear(),!1},_mouseUp:function(t){return this._unblockFrames(),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),this.handleElement.is(t.target)&&this.element.focus(),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){return this.options.handle?!!e(t.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this.handleElement.addClass("ui-draggable-handle")},_removeHandleClassName:function(){this.handleElement.removeClass("ui-draggable-handle")},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper),n=s?e(i.helper.apply(this.element[0],[t])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_isRootNode:function(e){return/(html|body)/i.test(e.tagName)||e===this.document[0]},_getParentOffset:function(){var t=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var e=this.element.position(),t=this._isRootNode(this.scrollParent[0]);return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+(t?0:this.scrollParent.scrollTop()),left:e.left-(parseInt(this.helper.css("left"),10)||0)+(t?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options,a=this.document[0];return this.relativeContainer=null,n.containment?"window"===n.containment?(this.containment=[e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,e(window).scrollLeft()+e(window).width()-this.helperProportions.width-this.margins.left,e(window).scrollTop()+(e(window).height()||a.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):"document"===n.containment?(this.containment=[0,0,e(a).width()-this.helperProportions.width-this.margins.left,(e(a).height()||a.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):n.containment.constructor===Array?(this.containment=n.containment,void 0):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=e(n.containment),s=i[0],s&&(t=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(t?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i),void 0):(this.containment=null,void 0)},_convertPositionTo:function(e,t){t||(t=this.position);var i="absolute"===e?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:t.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:t.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(e,t){var i,s,n,a,o=this.options,r=this._isRootNode(this.scrollParent[0]),h=e.pageX,l=e.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),t&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,e.pageX-this.offset.click.left<i[0]&&(h=i[0]+this.offset.click.left),e.pageY-this.offset.click.top<i[1]&&(l=i[1]+this.offset.click.top),e.pageX-this.offset.click.left>i[2]&&(h=i[2]+this.offset.click.left),e.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),o.grid&&(n=o.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-o.grid[1]:n+o.grid[1]:n,a=o.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,h=i?a-this.offset.click.left>=i[0]||a-this.offset.click.left>i[2]?a:a-this.offset.click.left>=i[0]?a-o.grid[0]:a+o.grid[0]:a),"y"===o.axis&&(h=this.originalPageX),"x"===o.axis&&(l=this.originalPageY)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_normalizeRightBottom:function(){"y"!==this.options.axis&&"auto"!==this.helper.css("right")&&(this.helper.width(this.helper.width()),this.helper.css("right","auto")),"x"!==this.options.axis&&"auto"!==this.helper.css("bottom")&&(this.helper.height(this.helper.height()),this.helper.css("bottom","auto"))},_trigger:function(t,i,s){return s=s||this._uiHash(),e.ui.plugin.call(this,t,[i,s,this],!0),/^(drag|start|stop)/.test(t)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),e.Widget.prototype._trigger.call(this,t,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,i,s){var n=e.extend({},i,{item:s.element});s.sortables=[],e(s.options.connectToSortable).each(function(){var i=e(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",t,n))})},stop:function(t,i,s){var n=e.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,e.each(s.sortables,function(){var e=this;e.isOver?(e.isOver=0,s.cancelHelperRemoval=!0,e.cancelHelperRemoval=!1,e._storedCSS={position:e.placeholder.css("position"),top:e.placeholder.css("top"),left:e.placeholder.css("left")},e._mouseStop(t),e.options.helper=e.options._helper):(e.cancelHelperRemoval=!0,e._trigger("deactivate",t,n))})},drag:function(t,i,s){e.each(s.sortables,function(){var n=!1,a=this;a.positionAbs=s.positionAbs,a.helperProportions=s.helperProportions,a.offset.click=s.offset.click,a._intersectsWith(a.containerCache)&&(n=!0,e.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==a&&this._intersectsWith(this.containerCache)&&e.contains(a.element[0],this.element[0])&&(n=!1),n |
| 82 | })),n?(a.isOver||(a.isOver=1,s._parent=i.helper.parent(),a.currentItem=i.helper.appendTo(a.element).data("ui-sortable-item",!0),a.options._helper=a.options.helper,a.options.helper=function(){return i.helper[0]},t.target=a.currentItem[0],a._mouseCapture(t,!0),a._mouseStart(t,!0,!0),a.offset.click.top=s.offset.click.top,a.offset.click.left=s.offset.click.left,a.offset.parent.left-=s.offset.parent.left-a.offset.parent.left,a.offset.parent.top-=s.offset.parent.top-a.offset.parent.top,s._trigger("toSortable",t),s.dropped=a.element,e.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,a.fromOutside=s),a.currentItem&&(a._mouseDrag(t),i.position=a.position)):a.isOver&&(a.isOver=0,a.cancelHelperRemoval=!0,a.options._revert=a.options.revert,a.options.revert=!1,a._trigger("out",t,a._uiHash(a)),a._mouseStop(t,!0),a.options.revert=a.options._revert,a.options.helper=a.options._helper,a.placeholder&&a.placeholder.remove(),i.helper.appendTo(s._parent),s._refreshOffsets(t),i.position=s._generatePosition(t,!0),s._trigger("fromSortable",t),s.dropped=!1,e.each(s.sortables,function(){this.refreshPositions()}))})}}),e.ui.plugin.add("draggable","cursor",{start:function(t,i,s){var n=e("body"),a=s.options;n.css("cursor")&&(a._cursor=n.css("cursor")),n.css("cursor",a.cursor)},stop:function(t,i,s){var n=s.options;n._cursor&&e("body").css("cursor",n._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,i,s){var n=e(i.helper),a=s.options;n.css("opacity")&&(a._opacity=n.css("opacity")),n.css("opacity",a.opacity)},stop:function(t,i,s){var n=s.options;n._opacity&&e(i.helper).css("opacity",n._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(e,t,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(t,i,s){var n=s.options,a=!1,o=s.scrollParentNotHidden[0],r=s.document[0];o!==r&&"HTML"!==o.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+o.offsetHeight-t.pageY<n.scrollSensitivity?o.scrollTop=a=o.scrollTop+n.scrollSpeed:t.pageY-s.overflowOffset.top<n.scrollSensitivity&&(o.scrollTop=a=o.scrollTop-n.scrollSpeed)),n.axis&&"y"===n.axis||(s.overflowOffset.left+o.offsetWidth-t.pageX<n.scrollSensitivity?o.scrollLeft=a=o.scrollLeft+n.scrollSpeed:t.pageX-s.overflowOffset.left<n.scrollSensitivity&&(o.scrollLeft=a=o.scrollLeft-n.scrollSpeed))):(n.axis&&"x"===n.axis||(t.pageY-e(r).scrollTop()<n.scrollSensitivity?a=e(r).scrollTop(e(r).scrollTop()-n.scrollSpeed):e(window).height()-(t.pageY-e(r).scrollTop())<n.scrollSensitivity&&(a=e(r).scrollTop(e(r).scrollTop()+n.scrollSpeed))),n.axis&&"y"===n.axis||(t.pageX-e(r).scrollLeft()<n.scrollSensitivity?a=e(r).scrollLeft(e(r).scrollLeft()-n.scrollSpeed):e(window).width()-(t.pageX-e(r).scrollLeft())<n.scrollSensitivity&&(a=e(r).scrollLeft(e(r).scrollLeft()+n.scrollSpeed)))),a!==!1&&e.ui.ddmanager&&!n.dropBehaviour&&e.ui.ddmanager.prepareOffsets(s,t)}}),e.ui.plugin.add("draggable","snap",{start:function(t,i,s){var n=s.options;s.snapElements=[],e(n.snap.constructor!==String?n.snap.items||":data(ui-draggable)":n.snap).each(function(){var t=e(this),i=t.offset();this!==s.element[0]&&s.snapElements.push({item:this,width:t.outerWidth(),height:t.outerHeight(),top:i.top,left:i.left})})},drag:function(t,i,s){var n,a,o,r,h,l,u,d,c,p,f=s.options,m=f.snapTolerance,g=i.offset.left,v=g+s.helperProportions.width,y=i.offset.top,b=y+s.helperProportions.height;for(c=s.snapElements.length-1;c>=0;c--)h=s.snapElements[c].left-s.margins.left,l=h+s.snapElements[c].width,u=s.snapElements[c].top-s.margins.top,d=u+s.snapElements[c].height,h-m>v||g>l+m||u-m>b||y>d+m||!e.contains(s.snapElements[c].item.ownerDocument,s.snapElements[c].item)?(s.snapElements[c].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,t,e.extend(s._uiHash(),{snapItem:s.snapElements[c].item})),s.snapElements[c].snapping=!1):("inner"!==f.snapMode&&(n=m>=Math.abs(u-b),a=m>=Math.abs(d-y),o=m>=Math.abs(h-v),r=m>=Math.abs(l-g),n&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.top=s._convertPositionTo("relative",{top:d,left:0}).top),o&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left)),p=n||a||o||r,"outer"!==f.snapMode&&(n=m>=Math.abs(u-y),a=m>=Math.abs(d-b),o=m>=Math.abs(h-g),r=m>=Math.abs(l-v),n&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.top=s._convertPositionTo("relative",{top:d-s.helperProportions.height,left:0}).top),o&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left)),!s.snapElements[c].snapping&&(n||a||o||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,t,e.extend(s._uiHash(),{snapItem:s.snapElements[c].item})),s.snapElements[c].snapping=n||a||o||r||p)}}),e.ui.plugin.add("draggable","stack",{start:function(t,i,s){var n,a=s.options,o=e.makeArray(e(a.stack)).sort(function(t,i){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(i).css("zIndex"),10)||0)});o.length&&(n=parseInt(e(o[0]).css("zIndex"),10)||0,e(o).each(function(t){e(this).css("zIndex",n+t)}),this.css("zIndex",n+o.length))}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,i,s){var n=e(i.helper),a=s.options;n.css("zIndex")&&(a._zIndex=n.css("zIndex")),n.css("zIndex",a.zIndex)},stop:function(t,i,s){var n=s.options;n._zIndex&&e(i.helper).css("zIndex",n._zIndex)}}),e.ui.draggable,e.widget("ui.droppable",{version:"1.11.4",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var t,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=e.isFunction(s)?s:function(e){return e.is(s)},this.proportions=function(){return arguments.length?(t=arguments[0],void 0):t?t:t={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(i.scope),i.addClasses&&this.element.addClass("ui-droppable")},_addToManager:function(t){e.ui.ddmanager.droppables[t]=e.ui.ddmanager.droppables[t]||[],e.ui.ddmanager.droppables[t].push(this)},_splice:function(e){for(var t=0;e.length>t;t++)e[t]===this&&e.splice(t,1)},_destroy:function(){var t=e.ui.ddmanager.droppables[this.options.scope];this._splice(t),this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(t,i){if("accept"===t)this.accept=e.isFunction(i)?i:function(e){return e.is(i)};else if("scope"===t){var s=e.ui.ddmanager.droppables[this.options.scope];this._splice(s),this._addToManager(i)}this._super(t,i)},_activate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",t,this.ui(i))},_deactivate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",t,this.ui(i))},_over:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",t,this.ui(i)))},_out:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",t,this.ui(i)))},_drop:function(t,i){var s=i||e.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var i=e(this).droppable("instance");return i.options.greedy&&!i.options.disabled&&i.options.scope===s.options.scope&&i.accept.call(i.element[0],s.currentItem||s.element)&&e.ui.intersect(s,e.extend(i,{offset:i.element.offset()}),i.options.tolerance,t)?(n=!0,!1):void 0}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",t,this.ui(s)),this.element):!1):!1},ui:function(e){return{draggable:e.currentItem||e.element,helper:e.helper,position:e.position,offset:e.positionAbs}}}),e.ui.intersect=function(){function e(e,t,i){return e>=t&&t+i>e}return function(t,i,s,n){if(!i.offset)return!1;var a=(t.positionAbs||t.position.absolute).left+t.margins.left,o=(t.positionAbs||t.position.absolute).top+t.margins.top,r=a+t.helperProportions.width,h=o+t.helperProportions.height,l=i.offset.left,u=i.offset.top,d=l+i.proportions().width,c=u+i.proportions().height;switch(s){case"fit":return a>=l&&d>=r&&o>=u&&c>=h;case"intersect":return a+t.helperProportions.width/2>l&&d>r-t.helperProportions.width/2&&o+t.helperProportions.height/2>u&&c>h-t.helperProportions.height/2;case"pointer":return e(n.pageY,u,i.proportions().height)&&e(n.pageX,l,i.proportions().width);case"touch":return(o>=u&&c>=o||h>=u&&c>=h||u>o&&h>c)&&(a>=l&&d>=a||r>=l&&d>=r||l>a&&r>d);default:return!1}}}(),e.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,i){var s,n,a=e.ui.ddmanager.droppables[t.options.scope]||[],o=i?i.type:null,r=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();e:for(s=0;a.length>s;s++)if(!(a[s].options.disabled||t&&!a[s].accept.call(a[s].element[0],t.currentItem||t.element))){for(n=0;r.length>n;n++)if(r[n]===a[s].element[0]){a[s].proportions().height=0;continue e}a[s].visible="none"!==a[s].element.css("display"),a[s].visible&&("mousedown"===o&&a[s]._activate.call(a[s],i),a[s].offset=a[s].element.offset(),a[s].proportions({width:a[s].element[0].offsetWidth,height:a[s].element[0].offsetHeight}))}},drop:function(t,i){var s=!1;return e.each((e.ui.ddmanager.droppables[t.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&e.ui.intersect(t,this,this.options.tolerance,i)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(t,i){t.element.parentsUntil("body").bind("scroll.droppable",function(){t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)})},drag:function(t,i){t.options.refreshPositions&&e.ui.ddmanager.prepareOffsets(t,i),e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,a,o=e.ui.intersect(t,this,this.options.tolerance,i),r=!o&&this.isover?"isout":o&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,a=this.element.parents(":data(ui-droppable)").filter(function(){return e(this).droppable("instance").options.scope===n}),a.length&&(s=e(a[0]).droppable("instance"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(t,i){t.element.parentsUntil("body").unbind("scroll.droppable"),t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)}},e.ui.droppable,e.widget("ui.resizable",e.ui.mouse,{version:"1.11.4",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(e){return parseInt(e,10)||0},_isNumber:function(e){return!isNaN(parseInt(e,10))},_hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return t[s]>0?!0:(t[s]=1,n=t[s]>0,t[s]=0,n)},_create:function(){var t,i,s,n,a,o=this,r=this.options;if(this.element.addClass("ui-resizable"),e.extend(this,{_aspectRatio:!!r.aspectRatio,aspectRatio:r.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:r.helper||r.ghost||r.animate?r.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(e("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(e(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=e(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),t=this.handles.split(","),this.handles={},i=0;t.length>i;i++)s=e.trim(t[i]),a="ui-resizable-"+s,n=e("<div class='ui-resizable-handle "+a+"'></div>"),n.css({zIndex:r.zIndex}),"se"===s&&n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(n);this._renderAxis=function(t){var i,s,n,a;t=t||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=e(this.handles[i]),this._on(this.handles[i],{mousedown:o._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=e(this.handles[i],this.element),a=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),t.css(n,a),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.mouseover(function(){o.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=n&&n[1]?n[1]:"se")}),r.autoHide&&(this._handles.hide(),e(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(e(this).removeClass("ui-resizable-autohide"),o._handles.show())}).mouseleave(function(){r.disabled||o.resizing||(e(this).addClass("ui-resizable-autohide"),o._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var t,i=function(t){e(t).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),t=this.element,this.originalElement.css({position:t.css("position"),width:t.outerWidth(),height:t.outerHeight(),top:t.css("top"),left:t.css("left")}).insertAfter(t),t.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_mouseCapture:function(t){var i,s,n=!1;for(i in this.handles)s=e(this.handles[i])[0],(s===t.target||e.contains(s,t.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(t){var i,s,n,a=this.options,o=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),a.containment&&(i+=e(a.containment).scrollLeft()||0,s+=e(a.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:o.width(),height:o.height()},this.originalSize=this._helper?{width:o.outerWidth(),height:o.outerHeight()}:{width:o.width(),height:o.height()},this.sizeDiff={width:o.outerWidth()-o.width(),height:o.outerHeight()-o.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof a.aspectRatio?a.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=e(".ui-resizable-"+this.axis).css("cursor"),e("body").css("cursor","auto"===n?this.axis+"-resize":n),o.addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var i,s,n=this.originalMousePosition,a=this.axis,o=t.pageX-n.left||0,r=t.pageY-n.top||0,h=this._change[a];return this._updatePrevProperties(),h?(i=h.apply(this,[t,o,r]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(i=this._updateRatio(i,t)),i=this._respectSize(i,t),this._updateCache(i),this._propagate("resize",t),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),e.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(t){this.resizing=!1;var i,s,n,a,o,r,h,l=this.options,u=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:u.sizeDiff.height,a=s?0:u.sizeDiff.width,o={width:u.helper.width()-a,height:u.helper.height()-n},r=parseInt(u.element.css("left"),10)+(u.position.left-u.originalPosition.left)||null,h=parseInt(u.element.css("top"),10)+(u.position.top-u.originalPosition.top)||null,l.animate||this.element.css(e.extend(o,{top:h,left:r})),u.helper.height(u.size.height),u.helper.width(u.size.width),this._helper&&!l.animate&&this._proportionallyResize()),e("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var e={};return this.position.top!==this.prevPosition.top&&(e.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(e.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(e.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(e.height=this.size.height+"px"),this.helper.css(e),e},_updateVirtualBoundaries:function(e){var t,i,s,n,a,o=this.options;a={minWidth:this._isNumber(o.minWidth)?o.minWidth:0,maxWidth:this._isNumber(o.maxWidth)?o.maxWidth:1/0,minHeight:this._isNumber(o.minHeight)?o.minHeight:0,maxHeight:this._isNumber(o.maxHeight)?o.maxHeight:1/0},(this._aspectRatio||e)&&(t=a.minHeight*this.aspectRatio,s=a.minWidth/this.aspectRatio,i=a.maxHeight*this.aspectRatio,n=a.maxWidth/this.aspectRatio,t>a.minWidth&&(a.minWidth=t),s>a.minHeight&&(a.minHeight=s),a.maxWidth>i&&(a.maxWidth=i),a.maxHeight>n&&(a.maxHeight=n)),this._vBoundaries=a},_updateCache:function(e){this.offset=this.helper.offset(),this._isNumber(e.left)&&(this.position.left=e.left),this._isNumber(e.top)&&(this.position.top=e.top),this._isNumber(e.height)&&(this.size.height=e.height),this._isNumber(e.width)&&(this.size.width=e.width)},_updateRatio:function(e){var t=this.position,i=this.size,s=this.axis;return this._isNumber(e.height)?e.width=e.height*this.aspectRatio:this._isNumber(e.width)&&(e.height=e.width/this.aspectRatio),"sw"===s&&(e.left=t.left+(i.width-e.width),e.top=null),"nw"===s&&(e.top=t.top+(i.height-e.height),e.left=t.left+(i.width-e.width)),e},_respectSize:function(e){var t=this._vBoundaries,i=this.axis,s=this._isNumber(e.width)&&t.maxWidth&&t.maxWidth<e.width,n=this._isNumber(e.height)&&t.maxHeight&&t.maxHeight<e.height,a=this._isNumber(e.width)&&t.minWidth&&t.minWidth>e.width,o=this._isNumber(e.height)&&t.minHeight&&t.minHeight>e.height,r=this.originalPosition.left+this.originalSize.width,h=this.position.top+this.size.height,l=/sw|nw|w/.test(i),u=/nw|ne|n/.test(i);return a&&(e.width=t.minWidth),o&&(e.height=t.minHeight),s&&(e.width=t.maxWidth),n&&(e.height=t.maxHeight),a&&l&&(e.left=r-t.minWidth),s&&l&&(e.left=r-t.maxWidth),o&&u&&(e.top=h-t.minHeight),n&&u&&(e.top=h-t.maxHeight),e.width||e.height||e.left||!e.top?e.width||e.height||e.top||!e.left||(e.left=null):e.top=null,e},_getPaddingPlusBorderDimensions:function(e){for(var t=0,i=[],s=[e.css("borderTopWidth"),e.css("borderRightWidth"),e.css("borderBottomWidth"),e.css("borderLeftWidth")],n=[e.css("paddingTop"),e.css("paddingRight"),e.css("paddingBottom"),e.css("paddingLeft")];4>t;t++)i[t]=parseInt(s[t],10)||0,i[t]+=parseInt(n[t],10)||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var e,t=0,i=this.helper||this.element;this._proportionallyResizeElements.length>t;t++)e=this._proportionallyResizeElements[t],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(e)),e.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var t=this.element,i=this.options;this.elementOffset=t.offset(),this._helper?(this.helper=this.helper||e("<div style='overflow:hidden;'></div>"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(e,t){return{width:this.originalSize.width+t}},w:function(e,t){var i=this.originalSize,s=this.originalPosition;return{left:s.left+t,width:i.width-t}},n:function(e,t,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(e,t,i){return{height:this.originalSize.height+i}},se:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},sw:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,i,s]))},ne:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},nw:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,i,s]))}},_propagate:function(t,i){e.ui.plugin.call(this,t,[i,this.ui()]),"resize"!==t&&this._trigger(t,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),e.ui.plugin.add("resizable","animate",{stop:function(t){var i=e(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,a=n.length&&/textarea/i.test(n[0].nodeName),o=a&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=a?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-o},l=parseInt(i.element.css("left"),10)+(i.position.left-i.originalPosition.left)||null,u=parseInt(i.element.css("top"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(e.extend(h,u&&l?{top:u,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css("width"),10),height:parseInt(i.element.css("height"),10),top:parseInt(i.element.css("top"),10),left:parseInt(i.element.css("left"),10)};n&&n.length&&e(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",t)}})}}),e.ui.plugin.add("resizable","containment",{start:function(){var t,i,s,n,a,o,r,h=e(this).resizable("instance"),l=h.options,u=h.element,d=l.containment,c=d instanceof e?d.get(0):/parent/.test(d)?u.parent().get(0):d;c&&(h.containerElement=e(c),/document/.test(d)||d===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}):(t=e(c),i=[],e(["Top","Right","Left","Bottom"]).each(function(e,s){i[e]=h._num(t.css("padding"+s))}),h.containerOffset=t.offset(),h.containerPosition=t.position(),h.containerSize={height:t.innerHeight()-i[3],width:t.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,a=h.containerSize.width,o=h._hasScroll(c,"left")?c.scrollWidth:a,r=h._hasScroll(c)?c.scrollHeight:n,h.parentData={element:c,left:s.left,top:s.top,width:o,height:r}))},resize:function(t){var i,s,n,a,o=e(this).resizable("instance"),r=o.options,h=o.containerOffset,l=o.position,u=o._aspectRatio||t.shiftKey,d={top:0,left:0},c=o.containerElement,p=!0;c[0]!==document&&/static/.test(c.css("position"))&&(d=h),l.left<(o._helper?h.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-h.left:o.position.left-d.left),u&&(o.size.height=o.size.width/o.aspectRatio,p=!1),o.position.left=r.helper?h.left:0),l.top<(o._helper?h.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-h.top:o.position.top),u&&(o.size.width=o.size.height*o.aspectRatio,p=!1),o.position.top=o._helper?h.top:0),n=o.containerElement.get(0)===o.element.parent().get(0),a=/relative|absolute/.test(o.containerElement.css("position")),n&&a?(o.offset.left=o.parentData.left+o.position.left,o.offset.top=o.parentData.top+o.position.top):(o.offset.left=o.element.offset().left,o.offset.top=o.element.offset().top),i=Math.abs(o.sizeDiff.width+(o._helper?o.offset.left-d.left:o.offset.left-h.left)),s=Math.abs(o.sizeDiff.height+(o._helper?o.offset.top-d.top:o.offset.top-h.top)),i+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-i,u&&(o.size.height=o.size.width/o.aspectRatio,p=!1)),s+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-s,u&&(o.size.width=o.size.height*o.aspectRatio,p=!1)),p||(o.position.left=o.prevPosition.left,o.position.top=o.prevPosition.top,o.size.width=o.prevSize.width,o.size.height=o.prevSize.height)},stop:function(){var t=e(this).resizable("instance"),i=t.options,s=t.containerOffset,n=t.containerPosition,a=t.containerElement,o=e(t.helper),r=o.offset(),h=o.outerWidth()-t.sizeDiff.width,l=o.outerHeight()-t.sizeDiff.height;t._helper&&!i.animate&&/relative/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l}),t._helper&&!i.animate&&/static/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),e.ui.plugin.add("resizable","alsoResize",{start:function(){var t=e(this).resizable("instance"),i=t.options;e(i.alsoResize).each(function(){var t=e(this);t.data("ui-resizable-alsoresize",{width:parseInt(t.width(),10),height:parseInt(t.height(),10),left:parseInt(t.css("left"),10),top:parseInt(t.css("top"),10)})})},resize:function(t,i){var s=e(this).resizable("instance"),n=s.options,a=s.originalSize,o=s.originalPosition,r={height:s.size.height-a.height||0,width:s.size.width-a.width||0,top:s.position.top-o.top||0,left:s.position.left-o.left||0};e(n.alsoResize).each(function(){var t=e(this),s=e(this).data("ui-resizable-alsoresize"),n={},a=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(a,function(e,t){var i=(s[t]||0)+(r[t]||0);i&&i>=0&&(n[t]=i||null)}),t.css(n)})},stop:function(){e(this).removeData("resizable-alsoresize")}}),e.ui.plugin.add("resizable","ghost",{start:function(){var t=e(this).resizable("instance"),i=t.options,s=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof i.ghost?i.ghost:""),t.ghost.appendTo(t.helper)},resize:function(){var t=e(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=e(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),e.ui.plugin.add("resizable","grid",{resize:function(){var t,i=e(this).resizable("instance"),s=i.options,n=i.size,a=i.originalSize,o=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,u=h[1]||1,d=Math.round((n.width-a.width)/l)*l,c=Math.round((n.height-a.height)/u)*u,p=a.width+d,f=a.height+c,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,v=s.minWidth&&s.minWidth>p,y=s.minHeight&&s.minHeight>f;s.grid=h,v&&(p+=l),y&&(f+=u),m&&(p-=l),g&&(f-=u),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=o.top-c):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=o.left-d):((0>=f-u||0>=p-l)&&(t=i._getPaddingPlusBorderDimensions(this)),f-u>0?(i.size.height=f,i.position.top=o.top-c):(f=u-t.height,i.size.height=f,i.position.top=o.top+a.height-f),p-l>0?(i.size.width=p,i.position.left=o.left-d):(p=l-t.width,i.size.width=p,i.position.left=o.left+a.width-p))}}),e.ui.resizable,e.widget("ui.selectable",e.ui.mouse,{version:"1.11.4",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var t,i=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){t=e(i.options.filter,i.element[0]),t.addClass("ui-selectee"),t.each(function(){var t=e(this),i=t.offset();e.data(this,"selectable-item",{element:this,$element:t,left:i.left,top:i.top,right:i.left+t.outerWidth(),bottom:i.top+t.outerHeight(),startselected:!1,selected:t.hasClass("ui-selected"),selecting:t.hasClass("ui-selecting"),unselecting:t.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=t.addClass("ui-selectee"),this._mouseInit(),this.helper=e("<div class='ui-selectable-helper'></div>")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(t){var i=this,s=this.options;this.opos=[t.pageX,t.pageY],this.options.disabled||(this.selectees=e(s.filter,this.element[0]),this._trigger("start",t),e(s.appendTo).append(this.helper),this.helper.css({left:t.pageX,top:t.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=e.data(this,"selectable-item");s.startselected=!0,t.metaKey||t.ctrlKey||(s.$element.removeClass("ui-selected"),s.selected=!1,s.$element.addClass("ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",t,{unselecting:s.element}))}),e(t.target).parents().addBack().each(function(){var s,n=e.data(this,"selectable-item");return n?(s=!t.metaKey&&!t.ctrlKey||!n.$element.hasClass("ui-selected"),n.$element.removeClass(s?"ui-unselecting":"ui-selected").addClass(s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",t,{selecting:n.element}):i._trigger("unselecting",t,{unselecting:n.element}),!1):void 0}))},_mouseDrag:function(t){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,a=this.opos[0],o=this.opos[1],r=t.pageX,h=t.pageY;return a>r&&(i=r,r=a,a=i),o>h&&(i=h,h=o,o=i),this.helper.css({left:a,top:o,width:r-a,height:h-o}),this.selectees.each(function(){var i=e.data(this,"selectable-item"),l=!1; |
| 83 | i&&i.element!==s.element[0]&&("touch"===n.tolerance?l=!(i.left>r||a>i.right||i.top>h||o>i.bottom):"fit"===n.tolerance&&(l=i.left>a&&r>i.right&&i.top>o&&h>i.bottom),l?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,s._trigger("selecting",t,{selecting:i.element}))):(i.selecting&&((t.metaKey||t.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",t,{unselecting:i.element}))),i.selected&&(t.metaKey||t.ctrlKey||i.startselected||(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",t,{unselecting:i.element})))))}),!1}},_mouseStop:function(t){var i=this;return this.dragged=!1,e(".ui-unselecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",t,{unselected:s.element})}),e(".ui-selecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-selecting").addClass("ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",t,{selected:s.element})}),this._trigger("stop",t),this.helper.remove(),!1}}),e.widget("ui.sortable",e.ui.mouse,{version:"1.11.4",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(e,t,i){return e>=t&&t+i>e},_isFloating:function(e){return/left|right/.test(e.css("float"))||/inline|table-cell/.test(e.css("display"))},_create:function(){this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(e,t){this._super(e,t),"handle"===e&&this._setHandleClassName()},_setHandleClassName:function(){this.element.find(".ui-sortable-handle").removeClass("ui-sortable-handle"),e.each(this.items,function(){(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item).addClass("ui-sortable-handle")})},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").find(".ui-sortable-handle").removeClass("ui-sortable-handle"),this._mouseDestroy();for(var e=this.items.length-1;e>=0;e--)this.items[e].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(t,i){var s=null,n=!1,a=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(t),e(t.target).parents().each(function(){return e.data(this,a.widgetName+"-item")===a?(s=e(this),!1):void 0}),e.data(t.target,a.widgetName+"-item")===a&&(s=e(t.target)),s?!this.options.handle||i||(e(this.options.handle,s).find("*").addBack().each(function(){this===t.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(t,i,s){var n,a,o=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(t),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),o.containment&&this._setContainment(),o.cursor&&"auto"!==o.cursor&&(a=this.document.find("body"),this.storedCursor=a.css("cursor"),a.css("cursor",o.cursor),this.storedStylesheet=e("<style>*{ cursor: "+o.cursor+" !important; }</style>").appendTo(a)),o.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",o.opacity)),o.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",o.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",t,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",t,this._uiHash(this));return e.ui.ddmanager&&(e.ui.ddmanager.current=this),e.ui.ddmanager&&!o.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(t),!0},_mouseDrag:function(t){var i,s,n,a,o=this.options,r=!1;for(this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-t.pageY<o.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+o.scrollSpeed:t.pageY-this.overflowOffset.top<o.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-o.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-t.pageX<o.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+o.scrollSpeed:t.pageX-this.overflowOffset.left<o.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-o.scrollSpeed)):(t.pageY-this.document.scrollTop()<o.scrollSensitivity?r=this.document.scrollTop(this.document.scrollTop()-o.scrollSpeed):this.window.height()-(t.pageY-this.document.scrollTop())<o.scrollSensitivity&&(r=this.document.scrollTop(this.document.scrollTop()+o.scrollSpeed)),t.pageX-this.document.scrollLeft()<o.scrollSensitivity?r=this.document.scrollLeft(this.document.scrollLeft()-o.scrollSpeed):this.window.width()-(t.pageX-this.document.scrollLeft())<o.scrollSensitivity&&(r=this.document.scrollLeft(this.document.scrollLeft()+o.scrollSpeed))),r!==!1&&e.ui.ddmanager&&!o.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],a=this._intersectsWithPointer(s),a&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===a?"next":"prev"]()[0]!==n&&!e.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!e.contains(this.element[0],n):!0)){if(this.direction=1===a?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(t,s),this._trigger("change",t,this._uiHash());break}return this._contactContainers(t),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),this._trigger("sort",t,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(t,i){if(t){if(e.ui.ddmanager&&!this.options.dropBehaviour&&e.ui.ddmanager.drop(this,t),this.options.revert){var s=this,n=this.placeholder.offset(),a=this.options.axis,o={};a&&"x"!==a||(o.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),a&&"y"!==a||(o.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,e(this.helper).animate(o,parseInt(this.options.revert,10)||500,function(){s._clear(t)})}else this._clear(t,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var t=this.containers.length-1;t>=0;t--)this.containers[t]._trigger("deactivate",null,this._uiHash(this)),this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",null,this._uiHash(this)),this.containers[t].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),e.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?e(this.domPosition.prev).after(this.currentItem):e(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},e(i).each(function(){var i=(e(t.item||this).attr(t.attribute||"id")||"").match(t.expression||/(.+)[\-=_](.+)/);i&&s.push((t.key||i[1]+"[]")+"="+(t.key&&t.expression?i[1]:i[2]))}),!s.length&&t.key&&s.push(t.key+"="),s.join("&")},toArray:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},i.each(function(){s.push(e(t.item||this).attr(t.attribute||"id")||"")}),s},_intersectsWith:function(e){var t=this.positionAbs.left,i=t+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,a=e.left,o=a+e.width,r=e.top,h=r+e.height,l=this.offset.click.top,u=this.offset.click.left,d="x"===this.options.axis||s+l>r&&h>s+l,c="y"===this.options.axis||t+u>a&&o>t+u,p=d&&c;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>e[this.floating?"width":"height"]?p:t+this.helperProportions.width/2>a&&o>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(e){var t="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,e.top,e.height),i="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,e.left,e.width),s=t&&i,n=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return s?this.floating?a&&"right"===a||"down"===n?2:1:n&&("down"===n?2:1):!1},_intersectsWithSides:function(e){var t=this._isOverAxis(this.positionAbs.top+this.offset.click.top,e.top+e.height/2,e.height),i=this._isOverAxis(this.positionAbs.left+this.offset.click.left,e.left+e.width/2,e.width),s=this._getDragVerticalDirection(),n=this._getDragHorizontalDirection();return this.floating&&n?"right"===n&&i||"left"===n&&!i:s&&("down"===s&&t||"up"===s&&!t)},_getDragVerticalDirection:function(){var e=this.positionAbs.top-this.lastPositionAbs.top;return 0!==e&&(e>0?"down":"up")},_getDragHorizontalDirection:function(){var e=this.positionAbs.left-this.lastPositionAbs.left;return 0!==e&&(e>0?"right":"left")},refresh:function(e){return this._refreshItems(e),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var e=this.options;return e.connectWith.constructor===String?[e.connectWith]:e.connectWith},_getItemsAsjQuery:function(t){function i(){r.push(this)}var s,n,a,o,r=[],h=[],l=this._connectWith();if(l&&t)for(s=l.length-1;s>=0;s--)for(a=e(l[s],this.document[0]),n=a.length-1;n>=0;n--)o=e.data(a[n],this.widgetFullName),o&&o!==this&&!o.options.disabled&&h.push([e.isFunction(o.options.items)?o.options.items.call(o.element):e(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);for(h.push([e.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):e(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return e(r)},_removeCurrentsFromItems:function(){var t=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=e.grep(this.items,function(e){for(var i=0;t.length>i;i++)if(t[i]===e.item[0])return!1;return!0})},_refreshItems:function(t){this.items=[],this.containers=[this];var i,s,n,a,o,r,h,l,u=this.items,d=[[e.isFunction(this.options.items)?this.options.items.call(this.element[0],t,{item:this.currentItem}):e(this.options.items,this.element),this]],c=this._connectWith();if(c&&this.ready)for(i=c.length-1;i>=0;i--)for(n=e(c[i],this.document[0]),s=n.length-1;s>=0;s--)a=e.data(n[s],this.widgetFullName),a&&a!==this&&!a.options.disabled&&(d.push([e.isFunction(a.options.items)?a.options.items.call(a.element[0],t,{item:this.currentItem}):e(a.options.items,a.element),a]),this.containers.push(a));for(i=d.length-1;i>=0;i--)for(o=d[i][1],r=d[i][0],s=0,l=r.length;l>s;s++)h=e(r[s]),h.data(this.widgetName+"-item",o),u.push({item:h,instance:o,width:0,height:0,left:0,top:0})},refreshPositions:function(t){this.floating=this.items.length?"x"===this.options.axis||this._isFloating(this.items[0].item):!1,this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,a;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?e(this.options.toleranceElement,s.item):s.item,t||(s.width=n.outerWidth(),s.height=n.outerHeight()),a=n.offset(),s.left=a.left,s.top=a.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)a=this.containers[i].element.offset(),this.containers[i].containerCache.left=a.left,this.containers[i].containerCache.top=a.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(t){t=t||this;var i,s=t.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=t.currentItem[0].nodeName.toLowerCase(),n=e("<"+s+">",t.document[0]).addClass(i||t.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tbody"===s?t._createTrPlaceholder(t.currentItem.find("tr").eq(0),e("<tr>",t.document[0]).appendTo(n)):"tr"===s?t._createTrPlaceholder(t.currentItem,n):"img"===s&&n.attr("src",t.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(e,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(t.currentItem.innerHeight()-parseInt(t.currentItem.css("paddingTop")||0,10)-parseInt(t.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(t.currentItem.innerWidth()-parseInt(t.currentItem.css("paddingLeft")||0,10)-parseInt(t.currentItem.css("paddingRight")||0,10)))}}),t.placeholder=e(s.placeholder.element.call(t.element,t.currentItem)),t.currentItem.after(t.placeholder),s.placeholder.update(t,t.placeholder)},_createTrPlaceholder:function(t,i){var s=this;t.children().each(function(){e("<td> </td>",s.document[0]).attr("colspan",e(this).attr("colspan")||1).appendTo(i)})},_contactContainers:function(t){var i,s,n,a,o,r,h,l,u,d,c=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!e.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(c&&e.contains(this.containers[i].element[0],c.element[0]))continue;c=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",t,this._uiHash(this)),this.containers[i].containerCache.over=0);if(c)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,a=null,u=c.floating||this._isFloating(this.currentItem),o=u?"left":"top",r=u?"width":"height",d=u?"clientX":"clientY",s=this.items.length-1;s>=0;s--)e.contains(this.containers[p].element[0],this.items[s].item[0])&&this.items[s].item[0]!==this.currentItem[0]&&(h=this.items[s].item.offset()[o],l=!1,t[d]-h>this.items[s][r]/2&&(l=!0),n>Math.abs(t[d]-h)&&(n=Math.abs(t[d]-h),a=this.items[s],this.direction=l?"up":"down"));if(!a&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return this.currentContainer.containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash()),this.currentContainer.containerCache.over=1),void 0;a?this._rearrange(t,a,null,!0):this._rearrange(t,null,this.containers[p].element,!0),this._trigger("change",t,this._uiHash()),this.containers[p]._trigger("change",t,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||e("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var e=this.currentItem.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===n.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===n.containment?this.document.width():this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(t=e(n.containment)[0],i=e(n.containment).offset(),s="hidden"!==e(t).css("overflow"),this.containment=[i.left+(parseInt(e(t).css("borderLeftWidth"),10)||0)+(parseInt(e(t).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(e(t).css("borderTopWidth"),10)||0)+(parseInt(e(t).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(t.scrollWidth,t.offsetWidth):t.offsetWidth)-(parseInt(e(t).css("borderLeftWidth"),10)||0)-(parseInt(e(t).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(t.scrollHeight,t.offsetHeight):t.offsetHeight)-(parseInt(e(t).css("borderTopWidth"),10)||0)-(parseInt(e(t).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(t,i){i||(i=this.position);var s="absolute"===t?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,a=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():a?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():a?0:n.scrollLeft())*s}},_generatePosition:function(t){var i,s,n=this.options,a=t.pageX,o=t.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(t.pageX-this.offset.click.left<this.containment[0]&&(a=this.containment[0]+this.offset.click.left),t.pageY-this.offset.click.top<this.containment[1]&&(o=this.containment[1]+this.offset.click.top),t.pageX-this.offset.click.left>this.containment[2]&&(a=this.containment[2]+this.offset.click.left),t.pageY-this.offset.click.top>this.containment[3]&&(o=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((o-this.originalPageY)/n.grid[1])*n.grid[1],o=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((a-this.originalPageX)/n.grid[0])*n.grid[0],a=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:o-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:a-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(e,t,i,s){i?i[0].appendChild(this.placeholder[0]):t.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?t.item[0]:t.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(e,t){function i(e,t,i){return function(s){i._trigger(e,s,t._uiHash(t))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!t&&n.push(function(e){this._trigger("receive",e,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||t||n.push(function(e){this._trigger("update",e,this._uiHash())}),this!==this.currentContainer&&(t||(n.push(function(e){this._trigger("remove",e,this._uiHash())}),n.push(function(e){return function(t){e._trigger("receive",t,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(e){return function(t){e._trigger("update",t,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)t||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,t||this._trigger("beforeStop",e,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!t){for(s=0;n.length>s;s++)n[s].call(this,e);this._trigger("stop",e,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){e.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(t){var i=t||this;return{helper:i.helper,placeholder:i.placeholder||e([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:t?t.element:null}}}),e.widget("ui.accordion",{version:"1.11.4",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var t=this.options;this.prevShow=this.prevHide=e(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),t.collapsible||t.active!==!1&&null!=t.active||(t.active=0),this._processPanels(),0>t.active&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():e()}},_createIcons:function(){var t=this.options.icons;t&&(e("<span>").addClass("ui-accordion-header-icon ui-icon "+t.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(t.header).addClass(t.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var e;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").removeUniqueId(),this._destroyIcons(),e=this.headers.next().removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").css("display","").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&e.css("height","")},_setOption:function(e,t){return"active"===e?(this._activate(t),void 0):("event"===e&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(t)),this._super(e,t),"collapsible"!==e||t||this.options.active!==!1||this._activate(0),"icons"===e&&(this._destroyIcons(),t&&this._createIcons()),"disabled"===e&&(this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!t)),void 0)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var i=e.ui.keyCode,s=this.headers.length,n=this.headers.index(t.target),a=!1;switch(t.keyCode){case i.RIGHT:case i.DOWN:a=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:a=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(t);break;case i.HOME:a=this.headers[0];break;case i.END:a=this.headers[s-1]}a&&(e(t.target).attr("tabIndex",-1),e(a).attr("tabIndex",0),a.focus(),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===e.ui.keyCode.UP&&t.ctrlKey&&e(t.currentTarget).prev().focus()},refresh:function(){var t=this.options;this._processPanels(),t.active===!1&&t.collapsible===!0||!this.headers.length?(t.active=!1,this.active=e()):t.active===!1?this._activate(0):this.active.length&&!e.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=e()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var e=this.headers,t=this.panels;this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-state-default ui-corner-all"),this.panels=this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide(),t&&(this._off(e.not(this.headers)),this._off(t.not(this.panels)))},_refresh:function(){var t,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(){var t=e(this),i=t.uniqueId().attr("id"),s=t.next(),n=s.uniqueId().attr("id");t.attr("aria-controls",n),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(t=n.height(),this.element.siblings(":visible").each(function(){var i=e(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(t-=i.outerHeight(!0))}),this.headers.each(function(){t-=e(this).outerHeight(!0)}),this.headers.next().each(function(){e(this).height(Math.max(0,t-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===s&&(t=0,this.headers.next().each(function(){t=Math.max(t,e(this).css("height","").height())}).height(t))},_activate:function(t){var i=this._findActive(t)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):e()},_setupEvents:function(t){var i={keydown:"_keydown"};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var i=this.options,s=this.active,n=e(t.currentTarget),a=n[0]===s[0],o=a&&i.collapsible,r=o?e():n.next(),h=s.next(),l={oldHeader:s,oldPanel:h,newHeader:o?e():n,newPanel:r}; |
| 84 | t.preventDefault(),a&&!i.collapsible||this._trigger("beforeActivate",t,l)===!1||(i.active=o?!1:this.headers.index(n),this.active=a?e():n,this._toggle(l),s.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),a||(n.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&n.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),n.next().addClass("ui-accordion-content-active")))},_toggle:function(t){var i=t.newPanel,s=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,t):(s.hide(),i.show(),this._toggleComplete(t)),s.attr({"aria-hidden":"true"}),s.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===parseInt(e(this).attr("tabIndex"),10)}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(e,t,i){var s,n,a,o=this,r=0,h=e.css("box-sizing"),l=e.length&&(!t.length||e.index()<t.index()),u=this.options.animate||{},d=l&&u.down||u,c=function(){o._toggleComplete(i)};return"number"==typeof d&&(a=d),"string"==typeof d&&(n=d),n=n||d.easing||u.easing,a=a||d.duration||u.duration,t.length?e.length?(s=e.show().outerHeight(),t.animate(this.hideProps,{duration:a,easing:n,step:function(e,t){t.now=Math.round(e)}}),e.hide().animate(this.showProps,{duration:a,easing:n,complete:c,step:function(e,i){i.now=Math.round(e),"height"!==i.prop?"content-box"===h&&(r+=i.now):"content"!==o.options.heightStyle&&(i.now=Math.round(s-t.outerHeight()-r),r=0)}}),void 0):t.animate(this.hideProps,a,n,c):e.animate(this.showProps,a,n,c)},_toggleComplete:function(e){var t=e.oldPanel;t.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),t.length&&(t.parent()[0].className=t.parent()[0].className),this._trigger("activate",null,e)}}),e.widget("ui.menu",{version:"1.11.4",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},items:"> *",menus:"ul",position:{my:"left-1 top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item":function(e){e.preventDefault()},"click .ui-menu-item":function(t){var i=e(t.target);!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&e(this.document[0].activeElement).closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(t){if(!this.previousFilter){var i=e(t.currentTarget);i.siblings(".ui-state-active").removeClass("ui-state-active"),this.focus(t,i)}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(e,t){var i=this.active||this.element.find(this.options.items).eq(0);t||this.focus(e,i)},blur:function(t){this._delay(function(){e.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){this._closeOnDocumentClick(e)&&this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-menu-icons ui-front").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").removeUniqueId().removeClass("ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var t=e(this);t.data("ui-menu-submenu-carat")&&t.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(t){var i,s,n,a,o=!0;switch(t.keyCode){case e.ui.keyCode.PAGE_UP:this.previousPage(t);break;case e.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case e.ui.keyCode.HOME:this._move("first","first",t);break;case e.ui.keyCode.END:this._move("last","last",t);break;case e.ui.keyCode.UP:this.previous(t);break;case e.ui.keyCode.DOWN:this.next(t);break;case e.ui.keyCode.LEFT:this.collapse(t);break;case e.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case e.ui.keyCode.ENTER:case e.ui.keyCode.SPACE:this._activate(t);break;case e.ui.keyCode.ESCAPE:this.collapse(t);break;default:o=!1,s=this.previousFilter||"",n=String.fromCharCode(t.keyCode),a=!1,clearTimeout(this.filterTimer),n===s?a=!0:n=s+n,i=this._filterMenuItems(n),i=a&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(t.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(t,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}o&&t.preventDefault()},_activate:function(e){this.active.is(".ui-state-disabled")||(this.active.is("[aria-haspopup='true']")?this.expand(e):this.select(e))},refresh:function(){var t,i,s=this,n=this.options.icons.submenu,a=this.element.find(this.options.menus);this.element.toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length),a.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-front").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=e(this),i=t.parent(),s=e("<span>").addClass("ui-menu-icon ui-icon "+n).data("ui-menu-submenu-carat",!0);i.attr("aria-haspopup","true").prepend(s),t.attr("aria-labelledby",i.attr("id"))}),t=a.add(this.element),i=t.find(this.options.items),i.not(".ui-menu-item").each(function(){var t=e(this);s._isDivider(t)&&t.addClass("ui-widget-content ui-menu-divider")}),i.not(".ui-menu-item, .ui-menu-divider").addClass("ui-menu-item").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!e.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(e,t){"icons"===e&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(t.submenu),"disabled"===e&&this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this._super(e,t)},focus:function(e,t){var i,s;this.blur(e,e&&"focus"===e.type),this._scrollIntoView(t),this.active=t.first(),s=this.active.addClass("ui-state-focus").removeClass("ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").addClass("ui-state-active"),e&&"keydown"===e.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=t.children(".ui-menu"),i.length&&e&&/^mouse/.test(e.type)&&this._startOpening(i),this.activeMenu=t.parent(),this._trigger("focus",e,{item:t})},_scrollIntoView:function(t){var i,s,n,a,o,r;this._hasScroll()&&(i=parseFloat(e.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(e.css(this.activeMenu[0],"paddingTop"))||0,n=t.offset().top-this.activeMenu.offset().top-i-s,a=this.activeMenu.scrollTop(),o=this.activeMenu.height(),r=t.outerHeight(),0>n?this.activeMenu.scrollTop(a+n):n+r>o&&this.activeMenu.scrollTop(a+n-o+r))},blur:function(e,t){t||clearTimeout(this.timer),this.active&&(this.active.removeClass("ui-state-focus"),this.active=null,this._trigger("blur",e,{item:this.active}))},_startOpening:function(e){clearTimeout(this.timer),"true"===e.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(e)},this.delay))},_open:function(t){var i=e.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(t,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:e(t&&t.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(t),this.activeMenu=s},this.delay)},_close:function(e){e||(e=this.active?this.active.parent():this.element),e.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find(".ui-state-active").not(".ui-state-focus").removeClass("ui-state-active")},_closeOnDocumentClick:function(t){return!e(t.target).closest(".ui-menu").length},_isDivider:function(e){return!/[^\-\u2014\u2013\s]/.test(e.text())},collapse:function(e){var t=this.active&&this.active.parent().closest(".ui-menu-item",this.element);t&&t.length&&(this._close(),this.focus(e,t))},expand:function(e){var t=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();t&&t.length&&(this._open(t.parent()),this._delay(function(){this.focus(e,t)}))},next:function(e){this._move("next","first",e)},previous:function(e){this._move("prev","last",e)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(e,t,i){var s;this.active&&(s="first"===e||"last"===e?this.active["first"===e?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[e+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[t]()),this.focus(i,s)},nextPage:function(t){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=e(this),0>i.offset().top-s-n}),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(t),void 0)},previousPage:function(t){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=e(this),i.offset().top-s+n>0}),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items).first())),void 0):(this.next(t),void 0)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(t){this.active=this.active||e(t.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(t,!0),this._trigger("select",t,i)},_filterMenuItems:function(t){var i=t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),s=RegExp("^"+i,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return s.test(e.trim(e(this).text()))})}}),e.widget("ui.autocomplete",{version:"1.11.4",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var t,i,s,n=this.element[0].nodeName.toLowerCase(),a="textarea"===n,o="input"===n;this.isMultiLine=a?!0:o?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[a||o?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return t=!0,s=!0,i=!0,void 0;t=!1,s=!1,i=!1;var a=e.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:t=!0,this._move("previousPage",n);break;case a.PAGE_DOWN:t=!0,this._move("nextPage",n);break;case a.UP:t=!0,this._keyEvent("previous",n);break;case a.DOWN:t=!0,this._keyEvent("next",n);break;case a.ENTER:this.menu.active&&(t=!0,n.preventDefault(),this.menu.select(n));break;case a.TAB:this.menu.active&&this.menu.select(n);break;case a.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(t)return t=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=e.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(e){return s?(s=!1,e.preventDefault(),void 0):(this._searchTimeout(e),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(e),this._change(e),void 0)}}),this._initSource(),this.menu=e("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];e(t.target).closest(".ui-menu-item").length||this._delay(function(){var t=this;this.document.one("mousedown",function(s){s.target===t.element[0]||s.target===i||e.contains(i,s.target)||t.close()})})},menufocus:function(t,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){e(t.target).trigger(t.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:n})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&e.trim(s).length&&(this.liveRegion.children().hide(),e("<div>").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,t){var i=t.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",e,{item:i})&&this._value(i.value),this.term=this._value(),this.close(e),this.selectedItem=i}}),this.liveRegion=e("<span>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this._appendTo()),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t&&t[0]||(t=this.element.closest(".ui-front")),t.length||(t=this.document[0].body),t},_initSource:function(){var t,i,s=this;e.isArray(this.options.source)?(t=this.options.source,this.source=function(i,s){s(e.ui.autocomplete.filter(t,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(t,n){s.xhr&&s.xhr.abort(),s.xhr=e.ajax({url:i,data:t,dataType:"json",success:function(e){n(e)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),i=this.menu.element.is(":visible"),s=e.altKey||e.ctrlKey||e.metaKey||e.shiftKey;(!t||t&&!i&&!s)&&(this.selectedItem=null,this.search(null,e))},this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length<this.options.minLength?this.close(t):this._trigger("search",t)!==!1?this._search(e):void 0},_search:function(e){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:e},this._response())},_response:function(){var t=++this.requestIndex;return e.proxy(function(e){t===this.requestIndex&&this.__response(e),this.pending--,this.pending||this.element.removeClass("ui-autocomplete-loading")},this)},__response:function(e){e&&(e=this._normalize(e)),this._trigger("response",null,{content:e}),!this.options.disabled&&e&&e.length&&!this.cancelSearch?(this._suggest(e),this._trigger("open")):this._close()},close:function(e){this.cancelSearch=!0,this._close(e)},_close:function(e){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",e))},_change:function(e){this.previous!==this._value()&&this._trigger("change",e,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:e.map(t,function(t){return"string"==typeof t?{label:t,value:t}:e.extend({},t,{label:t.label||t.value,value:t.value||t.label})})},_suggest:function(t){var i=this.menu.element.empty();this._renderMenu(i,t),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(e.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var e=this.menu.element;e.outerWidth(Math.max(e.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(t,i){var s=this;e.each(i,function(e,i){s._renderItemData(t,i)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-autocomplete-item",t)},_renderItem:function(t,i){return e("<li>").text(i.label).appendTo(t)},_move:function(e,t){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[e](t),void 0):(this.search(null,t),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(e,t),t.preventDefault())}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,i){var s=RegExp(e.ui.autocomplete.escapeRegex(i),"i");return e.grep(t,function(e){return s.test(e.label||e.value||e)})}}),e.widget("ui.autocomplete",e.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(e>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(t){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,this.liveRegion.children().hide(),e("<div>").text(i).appendTo(this.liveRegion))}}),e.ui.autocomplete;var r,h="ui-button ui-widget ui-state-default ui-corner-all",l="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",u=function(){var t=e(this);setTimeout(function(){t.find(":ui-button").button("refresh")},1)},d=function(t){var i=t.name,s=t.form,n=e([]);return i&&(i=i.replace(/'/g,"\\'"),n=s?e(s).find("[name='"+i+"'][type=radio]"):e("[name='"+i+"'][type=radio]",t.ownerDocument).filter(function(){return!this.form})),n};e.widget("ui.button",{version:"1.11.4",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,u),"boolean"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var t=this,i=this.options,s="checkbox"===this.type||"radio"===this.type,n=s?"":"ui-state-active";null===i.label&&(i.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(h).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){i.disabled||this===r&&e(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){i.disabled||e(this).removeClass(n)}).bind("click"+this.eventNamespace,function(e){i.disabled&&(e.preventDefault(),e.stopImmediatePropagation())}),this._on({focus:function(){this.buttonElement.addClass("ui-state-focus")},blur:function(){this.buttonElement.removeClass("ui-state-focus")}}),s&&this.element.bind("change"+this.eventNamespace,function(){t.refresh()}),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){return i.disabled?!1:void 0}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(i.disabled)return!1;e(this).addClass("ui-state-active"),t.buttonElement.attr("aria-pressed","true");var s=t.element[0];d(s).not(s).map(function(){return e(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return i.disabled?!1:(e(this).addClass("ui-state-active"),r=this,t.document.one("mouseup",function(){r=null}),void 0)}).bind("mouseup"+this.eventNamespace,function(){return i.disabled?!1:(e(this).removeClass("ui-state-active"),void 0)}).bind("keydown"+this.eventNamespace,function(t){return i.disabled?!1:((t.keyCode===e.ui.keyCode.SPACE||t.keyCode===e.ui.keyCode.ENTER)&&e(this).addClass("ui-state-active"),void 0)}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){e(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(t){t.keyCode===e.ui.keyCode.SPACE&&e(this).click()})),this._setOption("disabled",i.disabled),this._resetButton()},_determineButtonType:function(){var e,t,i;this.type=this.element.is("[type=checkbox]")?"checkbox":this.element.is("[type=radio]")?"radio":this.element.is("input")?"input":"button","checkbox"===this.type||"radio"===this.type?(e=this.element.parents().last(),t="label[for='"+this.element.attr("id")+"']",this.buttonElement=e.find(t),this.buttonElement.length||(e=e.length?e.siblings():this.element.siblings(),this.buttonElement=e.filter(t),this.buttonElement.length||(this.buttonElement=e.find(t))),this.element.addClass("ui-helper-hidden-accessible"),i=this.element.is(":checked"),i&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",i)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(h+" ui-state-active "+l).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(e,t){return this._super(e,t),"disabled"===e?(this.widget().toggleClass("ui-state-disabled",!!t),this.element.prop("disabled",!!t),t&&("checkbox"===this.type||"radio"===this.type?this.buttonElement.removeClass("ui-state-focus"):this.buttonElement.removeClass("ui-state-focus ui-state-active")),void 0):(this._resetButton(),void 0)},refresh:function(){var t=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOption("disabled",t),"radio"===this.type?d(this.element[0]).each(function(){e(this).is(":checked")?e(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):e(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):"checkbox"===this.type&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if("input"===this.type)return this.options.label&&this.element.val(this.options.label),void 0;var t=this.buttonElement.removeClass(l),i=e("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(t.empty()).text(),s=this.options.icons,n=s.primary&&s.secondary,a=[];s.primary||s.secondary?(this.options.text&&a.push("ui-button-text-icon"+(n?"s":s.primary?"-primary":"-secondary")),s.primary&&t.prepend("<span class='ui-button-icon-primary ui-icon "+s.primary+"'></span>"),s.secondary&&t.append("<span class='ui-button-icon-secondary ui-icon "+s.secondary+"'></span>"),this.options.text||(a.push(n?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||t.attr("title",e.trim(i)))):a.push("ui-button-text-only"),t.addClass(a.join(" "))}}),e.widget("ui.buttonset",{version:"1.11.4",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(e,t){"disabled"===e&&this.buttons.button("option",e,t),this._super(e,t)},refresh:function(){var t="rtl"===this.element.css("direction"),i=this.element.find(this.options.items),s=i.filter(":ui-button");i.not(":ui-button").button(),s.button("refresh"),this.buttons=i.map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(t?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(t?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}}),e.ui.button,e.widget("ui.dialog",{version:"1.11.4",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"Close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(t){var i=e(this).css(t).offset().top;0>i&&e(this).css("top",t.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&e.fn.draggable&&this._makeDraggable(),this.options.resizable&&e.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var t=this.options.appendTo;return t&&(t.jquery||t.nodeType)?e(t):this.document.find(t||"body").eq(0)},_destroy:function(){var e,t=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),e=t.parent.children().eq(t.index),e.length&&e[0]!==this.element[0]?e.before(this.element):t.parent.append(this.element)},widget:function(){return this.uiDialog},disable:e.noop,enable:e.noop,close:function(t){var i,s=this;if(this._isOpen&&this._trigger("beforeClose",t)!==!1){if(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),!this.opener.filter(":focusable").focus().length)try{i=this.document[0].activeElement,i&&"body"!==i.nodeName.toLowerCase()&&e(i).blur()}catch(n){}this._hide(this.uiDialog,this.options.hide,function(){s._trigger("close",t)})}},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(t,i){var s=!1,n=this.uiDialog.siblings(".ui-front:visible").map(function(){return+e(this).css("z-index")}).get(),a=Math.max.apply(null,n);return a>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",a+1),s=!0),s&&!i&&this._trigger("focus",t),s},open:function(){var t=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),void 0):(this._isOpen=!0,this.opener=e(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){t._focusTabbable(),t._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"),void 0)},_focusTabbable:function(){var e=this._focusedElement;e||(e=this.element.find("[autofocus]")),e.length||(e=this.element.find(":tabbable")),e.length||(e=this.uiDialogButtonPane.find(":tabbable")),e.length||(e=this.uiDialogTitlebarClose.filter(":tabbable")),e.length||(e=this.uiDialog),e.eq(0).focus()},_keepFocus:function(t){function i(){var t=this.document[0].activeElement,i=this.uiDialog[0]===t||e.contains(this.uiDialog[0],t);i||this._focusTabbable()}t.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=e("<div>").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(t){if(this.options.closeOnEscape&&!t.isDefaultPrevented()&&t.keyCode&&t.keyCode===e.ui.keyCode.ESCAPE)return t.preventDefault(),this.close(t),void 0;if(t.keyCode===e.ui.keyCode.TAB&&!t.isDefaultPrevented()){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");t.target!==n[0]&&t.target!==this.uiDialog[0]||t.shiftKey?t.target!==s[0]&&t.target!==this.uiDialog[0]||!t.shiftKey||(this._delay(function(){n.focus()}),t.preventDefault()):(this._delay(function(){s.focus()}),t.preventDefault())}},mousedown:function(e){this._moveToTop(e)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var t;this.uiDialogTitlebar=e("<div>").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(t){e(t.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=e("<button type='button'></button>").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(e){e.preventDefault(),this.close(e)}}),t=e("<span>").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(t),this.uiDialog.attr({"aria-labelledby":t.attr("id")})},_title:function(e){this.options.title||e.html(" "),e.text(this.options.title) |
| 85 | },_createButtonPane:function(){this.uiDialogButtonPane=e("<div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=e("<div>").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var t=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),e.isEmptyObject(i)||e.isArray(i)&&!i.length?(this.uiDialog.removeClass("ui-dialog-buttons"),void 0):(e.each(i,function(i,s){var n,a;s=e.isFunction(s)?{click:s,text:i}:s,s=e.extend({type:"button"},s),n=s.click,s.click=function(){n.apply(t.element[0],arguments)},a={icons:s.icons,text:s.showText},delete s.icons,delete s.showText,e("<button></button>",s).button(a).appendTo(t.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),void 0)},_makeDraggable:function(){function t(e){return{position:e.position,offset:e.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){e(this).addClass("ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,t(n))},drag:function(e,s){i._trigger("drag",e,t(s))},stop:function(n,a){var o=a.offset.left-i.document.scrollLeft(),r=a.offset.top-i.document.scrollTop();s.position={my:"left top",at:"left"+(o>=0?"+":"")+o+" "+"top"+(r>=0?"+":"")+r,of:i.window},e(this).removeClass("ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,t(a))}})},_makeResizable:function(){function t(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}var i=this,s=this.options,n=s.resizable,a=this.uiDialog.css("position"),o="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:o,start:function(s,n){e(this).addClass("ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,t(n))},resize:function(e,s){i._trigger("resize",e,t(s))},stop:function(n,a){var o=i.uiDialog.offset(),r=o.left-i.document.scrollLeft(),h=o.top-i.document.scrollTop();s.height=i.uiDialog.height(),s.width=i.uiDialog.width(),s.position={my:"left top",at:"left"+(r>=0?"+":"")+r+" "+"top"+(h>=0?"+":"")+h,of:i.window},e(this).removeClass("ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,t(a))}}).css("position",a)},_trackFocus:function(){this._on(this.widget(),{focusin:function(t){this._makeFocusTarget(),this._focusedElement=e(t.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var t=this._trackingInstances(),i=e.inArray(this,t);-1!==i&&t.splice(i,1)},_trackingInstances:function(){var e=this.document.data("ui-dialog-instances");return e||(e=[],this.document.data("ui-dialog-instances",e)),e},_minHeight:function(){var e=this.options;return"auto"===e.height?e.minHeight:Math.min(e.minHeight,e.height)},_position:function(){var e=this.uiDialog.is(":visible");e||this.uiDialog.show(),this.uiDialog.position(this.options.position),e||this.uiDialog.hide()},_setOptions:function(t){var i=this,s=!1,n={};e.each(t,function(e,t){i._setOption(e,t),e in i.sizeRelatedOptions&&(s=!0),e in i.resizableRelatedOptions&&(n[e]=t)}),s&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",n)},_setOption:function(e,t){var i,s,n=this.uiDialog;"dialogClass"===e&&n.removeClass(this.options.dialogClass).addClass(t),"disabled"!==e&&(this._super(e,t),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:""+t}),"draggable"===e&&(i=n.is(":data(ui-draggable)"),i&&!t&&n.draggable("destroy"),!i&&t&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&(s=n.is(":data(ui-resizable)"),s&&!t&&n.resizable("destroy"),s&&"string"==typeof t&&n.resizable("option","handles",t),s||t===!1||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var e,t,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),e=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),t=Math.max(0,s.minHeight-e),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-e):"none","auto"===s.height?this.element.css({minHeight:t,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-e)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var t=e(this);return e("<div>").css({position:"absolute",width:t.outerWidth(),height:t.outerHeight()}).appendTo(t.parent()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(t){return e(t.target).closest(".ui-dialog").length?!0:!!e(t.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var t=!0;this._delay(function(){t=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(e){t||this._allowInteraction(e)||(e.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=e("<div>").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var e=this.document.data("ui-dialog-overlays")-1;e?this.document.data("ui-dialog-overlays",e):this.document.unbind("focusin").removeData("ui-dialog-overlays"),this.overlay.remove(),this.overlay=null}}}),e.widget("ui.progressbar",{version:"1.11.4",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=e("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(e){return void 0===e?this.options.value:(this.options.value=this._constrainedValue(e),this._refreshValue(),void 0)},_constrainedValue:function(e){return void 0===e&&(e=this.options.value),this.indeterminate=e===!1,"number"!=typeof e&&(e=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,e))},_setOptions:function(e){var t=e.value;delete e.value,this._super(e),this.options.value=this._constrainedValue(t),this._refreshValue()},_setOption:function(e,t){"max"===e&&(t=Math.max(this.min,t)),"disabled"===e&&this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this._super(e,t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var t=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||t>this.min).toggleClass("ui-corner-right",t===this.options.max).width(i.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=e("<div class='ui-progressbar-overlay'></div>").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":t}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==t&&(this.oldValue=t,this._trigger("change")),t===this.options.max&&this._trigger("complete")}}),e.widget("ui.selectmenu",{version:"1.11.4",defaultElement:"<select>",options:{appendTo:null,disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:null,change:null,close:null,focus:null,open:null,select:null},_create:function(){var e=this.element.uniqueId().attr("id");this.ids={element:e,button:e+"-button",menu:e+"-menu"},this._drawButton(),this._drawMenu(),this.options.disabled&&this.disable()},_drawButton:function(){var t=this;this.label=e("label[for='"+this.ids.element+"']").attr("for",this.ids.button),this._on(this.label,{click:function(e){this.button.focus(),e.preventDefault()}}),this.element.hide(),this.button=e("<span>",{"class":"ui-selectmenu-button ui-widget ui-state-default ui-corner-all",tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true"}).insertAfter(this.element),e("<span>",{"class":"ui-icon "+this.options.icons.button}).prependTo(this.button),this.buttonText=e("<span>",{"class":"ui-selectmenu-text"}).appendTo(this.button),this._setText(this.buttonText,this.element.find("option:selected").text()),this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){t.menuItems||t._refreshMenu()}),this._hoverable(this.button),this._focusable(this.button)},_drawMenu:function(){var t=this;this.menu=e("<ul>",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=e("<div>",{"class":"ui-selectmenu-menu ui-front"}).append(this.menu).appendTo(this._appendTo()),this.menuInstance=this.menu.menu({role:"listbox",select:function(e,i){e.preventDefault(),t._setSelection(),t._select(i.item.data("ui-selectmenu-item"),e)},focus:function(e,i){var s=i.item.data("ui-selectmenu-item");null!=t.focusIndex&&s.index!==t.focusIndex&&(t._trigger("focus",e,{item:s}),t.isOpen||t._select(s,e)),t.focusIndex=s.index,t.button.attr("aria-activedescendant",t.menuItems.eq(s.index).attr("id"))}}).menu("instance"),this.menu.addClass("ui-corner-bottom").removeClass("ui-corner-all"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this._setText(this.buttonText,this._getSelectedItem().text()),this.options.width||this._resizeButton()},_refreshMenu:function(){this.menu.empty();var e,t=this.element.find("option");t.length&&(this._parseOptions(t),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup"),e=this._getSelectedItem(),this.menuInstance.focus(null,e),this._setAria(e.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(e){this.options.disabled||(this.menuItems?(this.menu.find(".ui-state-focus").removeClass("ui-state-focus"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",e))},_position:function(){this.menuWrap.position(e.extend({of:this.button},this.options.position))},close:function(e){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",e))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderMenu:function(t,i){var s=this,n="";e.each(i,function(i,a){a.optgroup!==n&&(e("<li>",{"class":"ui-selectmenu-optgroup ui-menu-divider"+(a.element.parent("optgroup").prop("disabled")?" ui-state-disabled":""),text:a.optgroup}).appendTo(t),n=a.optgroup),s._renderItemData(t,a)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-selectmenu-item",t)},_renderItem:function(t,i){var s=e("<li>");return i.disabled&&s.addClass("ui-state-disabled"),this._setText(s,i.label),s.appendTo(t)},_setText:function(e,t){t?e.text(t):e.html(" ")},_move:function(e,t){var i,s,n=".ui-menu-item";this.isOpen?i=this.menuItems.eq(this.focusIndex):(i=this.menuItems.eq(this.element[0].selectedIndex),n+=":not(.ui-state-disabled)"),s="first"===e||"last"===e?i["first"===e?"prevAll":"nextAll"](n).eq(-1):i[e+"All"](n).eq(0),s.length&&this.menuInstance.focus(t,s)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex)},_toggle:function(e){this[this.isOpen?"close":"open"](e)},_setSelection:function(){var e;this.range&&(window.getSelection?(e=window.getSelection(),e.removeAllRanges(),e.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(t){this.isOpen&&(e(t.target).closest(".ui-selectmenu-menu, #"+this.ids.button).length||this.close(t))}},_buttonEvents:{mousedown:function(){var e;window.getSelection?(e=window.getSelection(),e.rangeCount&&(this.range=e.getRangeAt(0))):this.range=document.selection.createRange()},click:function(e){this._setSelection(),this._toggle(e)},keydown:function(t){var i=!0;switch(t.keyCode){case e.ui.keyCode.TAB:case e.ui.keyCode.ESCAPE:this.close(t),i=!1;break;case e.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(t);break;case e.ui.keyCode.UP:t.altKey?this._toggle(t):this._move("prev",t);break;case e.ui.keyCode.DOWN:t.altKey?this._toggle(t):this._move("next",t);break;case e.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(t):this._toggle(t);break;case e.ui.keyCode.LEFT:this._move("prev",t);break;case e.ui.keyCode.RIGHT:this._move("next",t);break;case e.ui.keyCode.HOME:case e.ui.keyCode.PAGE_UP:this._move("first",t);break;case e.ui.keyCode.END:case e.ui.keyCode.PAGE_DOWN:this._move("last",t);break;default:this.menu.trigger(t),i=!1}i&&t.preventDefault()}},_selectFocusedItem:function(e){var t=this.menuItems.eq(this.focusIndex);t.hasClass("ui-state-disabled")||this._select(t.data("ui-selectmenu-item"),e)},_select:function(e,t){var i=this.element[0].selectedIndex;this.element[0].selectedIndex=e.index,this._setText(this.buttonText,e.label),this._setAria(e),this._trigger("select",t,{item:e}),e.index!==i&&this._trigger("change",t,{item:e}),this.close(t)},_setAria:function(e){var t=this.menuItems.eq(e.index).attr("id");this.button.attr({"aria-labelledby":t,"aria-activedescendant":t}),this.menu.attr("aria-activedescendant",t)},_setOption:function(e,t){"icons"===e&&this.button.find("span.ui-icon").removeClass(this.options.icons.button).addClass(t.button),this._super(e,t),"appendTo"===e&&this.menuWrap.appendTo(this._appendTo()),"disabled"===e&&(this.menuInstance.option("disabled",t),this.button.toggleClass("ui-state-disabled",t).attr("aria-disabled",t),this.element.prop("disabled",t),t?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)),"width"===e&&this._resizeButton()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t&&t[0]||(t=this.element.closest(".ui-front")),t.length||(t=this.document[0].body),t},_toggleAttr:function(){this.button.toggleClass("ui-corner-top",this.isOpen).toggleClass("ui-corner-all",!this.isOpen).attr("aria-expanded",this.isOpen),this.menuWrap.toggleClass("ui-selectmenu-open",this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var e=this.options.width;e||(e=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(e)},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){return{disabled:this.element.prop("disabled")}},_parseOptions:function(t){var i=[];t.each(function(t,s){var n=e(s),a=n.parent("optgroup");i.push({element:n,index:t,value:n.val(),label:n.text(),optgroup:a.attr("label")||"",disabled:a.prop("disabled")||n.prop("disabled")})}),this.items=i},_destroy:function(){this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.label.attr("for",this.ids.element)}}),e.widget("ui.slider",e.ui.mouse,{version:"1.11.4",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var t,i,s=this.options,n=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),a="<span class='ui-slider-handle ui-state-default ui-corner-all' tabindex='0'></span>",o=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),t=n.length;i>t;t++)o.push(a);this.handles=n.add(e(o.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(t){e(this).data("ui-slider-handle-index",t)})},_createRange:function(){var t=this.options,i="";t.range?(t.range===!0&&(t.values?t.values.length&&2!==t.values.length?t.values=[t.values[0],t.values[0]]:e.isArray(t.values)&&(t.values=t.values.slice(0)):t.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=e("<div></div>").appendTo(this.element),i="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(i+("min"===t.range||"max"===t.range?" ui-slider-range-"+t.range:""))):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(t){var i,s,n,a,o,r,h,l,u=this,d=this.options;return d.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:t.pageX,y:t.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(t){var i=Math.abs(s-u.values(t));(n>i||n===i&&(t===u._lastChangedValue||u.values(t)===d.min))&&(n=i,a=e(this),o=t)}),r=this._start(t,o),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=o,a.addClass("ui-state-active").focus(),h=a.offset(),l=!e(t.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:t.pageX-h.left-a.width()/2,top:t.pageY-h.top-a.height()/2-(parseInt(a.css("borderTopWidth"),10)||0)-(parseInt(a.css("borderBottomWidth"),10)||0)+(parseInt(a.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(t,o,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(e){var t={x:e.pageX,y:e.pageY},i=this._normValueFromMouse(t);return this._slide(e,this._handleIndex,i),!1},_mouseStop:function(e){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(e,this._handleIndex),this._change(e,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(e){var t,i,s,n,a;return"horizontal"===this.orientation?(t=this.elementSize.width,i=e.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(t=this.elementSize.height,i=e.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/t,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),a=this._valueMin()+s*n,this._trimAlignValue(a)},_start:function(e,t){var i={handle:this.handles[t],value:this.value()};return this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._trigger("start",e,i)},_slide:function(e,t,i){var s,n,a;this.options.values&&this.options.values.length?(s=this.values(t?0:1),2===this.options.values.length&&this.options.range===!0&&(0===t&&i>s||1===t&&s>i)&&(i=s),i!==this.values(t)&&(n=this.values(),n[t]=i,a=this._trigger("slide",e,{handle:this.handles[t],value:i,values:n}),s=this.values(t?0:1),a!==!1&&this.values(t,i))):i!==this.value()&&(a=this._trigger("slide",e,{handle:this.handles[t],value:i}),a!==!1&&this.value(i))},_stop:function(e,t){var i={handle:this.handles[t],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._trigger("stop",e,i)},_change:function(e,t){if(!this._keySliding&&!this._mouseSliding){var i={handle:this.handles[t],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._lastChangedValue=t,this._trigger("change",e,i)}},value:function(e){return arguments.length?(this.options.value=this._trimAlignValue(e),this._refreshValue(),this._change(null,0),void 0):this._value()},values:function(t,i){var s,n,a;if(arguments.length>1)return this.options.values[t]=this._trimAlignValue(i),this._refreshValue(),this._change(null,t),void 0;if(!arguments.length)return this._values();if(!e.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(t):this.value();for(s=this.options.values,n=arguments[0],a=0;s.length>a;a+=1)s[a]=this._trimAlignValue(n[a]),this._change(null,a);this._refreshValue()},_setOption:function(t,i){var s,n=0;switch("range"===t&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),e.isArray(this.options.values)&&(n=this.options.values.length),"disabled"===t&&this.element.toggleClass("ui-state-disabled",!!i),this._super(t,i),t){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue(),this.handles.css("horizontal"===i?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=0;n>s;s+=1)this._change(null,s);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var e=this.options.value;return e=this._trimAlignValue(e)},_values:function(e){var t,i,s;if(arguments.length)return t=this.options.values[e],t=this._trimAlignValue(t);if(this.options.values&&this.options.values.length){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(e){if(this._valueMin()>=e)return this._valueMin();if(e>=this._valueMax())return this._valueMax();var t=this.options.step>0?this.options.step:1,i=(e-this._valueMin())%t,s=e-i;return 2*Math.abs(i)>=t&&(s+=i>0?t:-t),parseFloat(s.toFixed(5))},_calculateNewMax:function(){var e=this.options.max,t=this._valueMin(),i=this.options.step,s=Math.floor(+(e-t).toFixed(this._precision())/i)*i;e=s+t,this.max=parseFloat(e.toFixed(this._precision()))},_precision:function(){var e=this._precisionOf(this.options.step);return null!==this.options.min&&(e=Math.max(e,this._precisionOf(this.options.min))),e},_precisionOf:function(e){var t=""+e,i=t.indexOf(".");return-1===i?0:t.length-i-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshValue:function(){var t,i,s,n,a,o=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,u={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),u["horizontal"===h.orientation?"left":"bottom"]=i+"%",e(this).stop(1,1)[l?"animate":"css"](u,r.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-t+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-t+"%"},{queue:!1,duration:r.animate}))),t=i}):(s=this.value(),n=this._valueMin(),a=this._valueMax(),i=a!==n?100*((s-n)/(a-n)):0,u["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](u,r.animate),"min"===o&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===o&&"horizontal"===this.orientation&&this.range[l?"animate":"css"]({width:100-i+"%"},{queue:!1,duration:r.animate}),"min"===o&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===o&&"vertical"===this.orientation&&this.range[l?"animate":"css"]({height:100-i+"%"},{queue:!1,duration:r.animate}))},_handleEvents:{keydown:function(t){var i,s,n,a,o=e(t.target).data("ui-slider-handle-index");switch(t.keyCode){case e.ui.keyCode.HOME:case e.ui.keyCode.END:case e.ui.keyCode.PAGE_UP:case e.ui.keyCode.PAGE_DOWN:case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(t.preventDefault(),!this._keySliding&&(this._keySliding=!0,e(t.target).addClass("ui-state-active"),i=this._start(t,o),i===!1))return}switch(a=this.options.step,s=n=this.options.values&&this.options.values.length?this.values(o):this.value(),t.keyCode){case e.ui.keyCode.HOME:n=this._valueMin();break;case e.ui.keyCode.END:n=this._valueMax();break;case e.ui.keyCode.PAGE_UP:n=this._trimAlignValue(s+(this._valueMax()-this._valueMin())/this.numPages);break;case e.ui.keyCode.PAGE_DOWN:n=this._trimAlignValue(s-(this._valueMax()-this._valueMin())/this.numPages);break;case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:if(s===this._valueMax())return;n=this._trimAlignValue(s+a);break;case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(s===this._valueMin())return;n=this._trimAlignValue(s-a)}this._slide(t,o,n)},keyup:function(t){var i=e(t.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(t,i),this._change(t,i),e(t.target).removeClass("ui-state-active"))}}}),e.widget("ui.spinner",{version:"1.11.4",defaultElement:"<input>",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var t={},i=this.element;return e.each(["min","max","step"],function(e,s){var n=i.attr(s);void 0!==n&&n.length&&(t[s]=n)}),t},_events:{keydown:function(e){this._start(e)&&this._keydown(e)&&e.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",e),void 0)},mousewheel:function(e,t){if(t){if(!this.spinning&&!this._start(e))return!1;this._spin((t>0?1:-1)*this.options.step,e),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(e)},100),e.preventDefault()}},"mousedown .ui-spinner-button":function(t){function i(){var e=this.element[0]===this.document[0].activeElement;e||(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),t.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(t)!==!1&&this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(t){return e(t.currentTarget).hasClass("ui-state-active")?this._start(t)===!1?!1:(this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var e=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=e.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*e.height())&&e.height()>0&&e.height(e.height()),this.options.disabled&&this.disable()},_keydown:function(t){var i=this.options,s=e.ui.keyCode;switch(t.keyCode){case s.UP:return this._repeat(null,1,t),!0;case s.DOWN:return this._repeat(null,-1,t),!0;case s.PAGE_UP:return this._repeat(null,i.page,t),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,t),!0}return!1},_uiSpinnerHtml:function(){return"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"},_buttonHtml:function(){return"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon "+this.options.icons.up+"'>▲</span>"+"</a>"+"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>"+"<span class='ui-icon "+this.options.icons.down+"'>▼</span>"+"</a>"},_start:function(e){return this.spinning||this._trigger("start",e)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(e,t,i){e=e||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,t,i)},e),this._spin(t*this.options.step,i)},_spin:function(e,t){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+e*this._increment(this.counter)),this.spinning&&this._trigger("spin",t,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(t){var i=this.options.incremental;return i?e.isFunction(i)?i(t):Math.floor(t*t*t/5e4-t*t/500+17*t/200+1):1},_precision:function(){var e=this._precisionOf(this.options.step);return null!==this.options.min&&(e=Math.max(e,this._precisionOf(this.options.min))),e},_precisionOf:function(e){var t=""+e,i=t.indexOf(".");return-1===i?0:t.length-i-1},_adjustValue:function(e){var t,i,s=this.options;return t=null!==s.min?s.min:0,i=e-t,i=Math.round(i/s.step)*s.step,e=t+i,e=parseFloat(e.toFixed(this._precision())),null!==s.max&&e>s.max?s.max:null!==s.min&&s.min>e?s.min:e},_stop:function(e){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",e))},_setOption:function(e,t){if("culture"===e||"numberFormat"===e){var i=this._parse(this.element.val());return this.options[e]=t,this.element.val(this._format(i)),void 0}("max"===e||"min"===e||"step"===e)&&"string"==typeof t&&(t=this._parse(t)),"icons"===e&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(t.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(t.down)),this._super(e,t),"disabled"===e&&(this.widget().toggleClass("ui-state-disabled",!!t),this.element.prop("disabled",!!t),this.buttons.button(t?"disable":"enable"))},_setOptions:s(function(e){this._super(e)}),_parse:function(e){return"string"==typeof e&&""!==e&&(e=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(e,10,this.options.culture):+e),""===e||isNaN(e)?null:e |
| 86 | },_format:function(e){return""===e?"":window.Globalize&&this.options.numberFormat?Globalize.format(e,this.options.numberFormat,this.options.culture):e},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var e=this.value();return null===e?!1:e===this._adjustValue(e)},_value:function(e,t){var i;""!==e&&(i=this._parse(e),null!==i&&(t||(i=this._adjustValue(i)),e=this._format(i))),this.element.val(e),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:s(function(e){this._stepUp(e)}),_stepUp:function(e){this._start()&&(this._spin((e||1)*this.options.step),this._stop())},stepDown:s(function(e){this._stepDown(e)}),_stepDown:function(e){this._start()&&(this._spin((e||1)*-this.options.step),this._stop())},pageUp:s(function(e){this._stepUp((e||1)*this.options.page)}),pageDown:s(function(e){this._stepDown((e||1)*this.options.page)}),value:function(e){return arguments.length?(s(this._value).call(this,e),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}),e.widget("ui.tabs",{version:"1.11.4",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var e=/#.*$/;return function(t){var i,s;t=t.cloneNode(!1),i=t.href.replace(e,""),s=location.href.replace(e,"");try{i=decodeURIComponent(i)}catch(n){}try{s=decodeURIComponent(s)}catch(n){}return t.hash.length>1&&i===s}}(),_create:function(){var t=this,i=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",i.collapsible),this._processTabs(),i.active=this._initialActive(),e.isArray(i.disabled)&&(i.disabled=e.unique(i.disabled.concat(e.map(this.tabs.filter(".ui-state-disabled"),function(e){return t.tabs.index(e)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):e(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var t=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===t&&(s&&this.tabs.each(function(i,n){return e(n).attr("aria-controls")===s?(t=i,!1):void 0}),null===t&&(t=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===t||-1===t)&&(t=this.tabs.length?0:!1)),t!==!1&&(t=this.tabs.index(this.tabs.eq(t)),-1===t&&(t=i?!1:0)),!i&&t===!1&&this.anchors.length&&(t=0),t},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):e()}},_tabKeydown:function(t){var i=e(this.document[0].activeElement).closest("li"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(t)){switch(t.keyCode){case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:s++;break;case e.ui.keyCode.UP:case e.ui.keyCode.LEFT:n=!1,s--;break;case e.ui.keyCode.END:s=this.anchors.length-1;break;case e.ui.keyCode.HOME:s=0;break;case e.ui.keyCode.SPACE:return t.preventDefault(),clearTimeout(this.activating),this._activate(s),void 0;case e.ui.keyCode.ENTER:return t.preventDefault(),clearTimeout(this.activating),this._activate(s===this.options.active?!1:s),void 0;default:return}t.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),t.ctrlKey||t.metaKey||(i.attr("aria-selected","false"),this.tabs.eq(s).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",s)},this.delay))}},_panelKeydown:function(t){this._handlePageNav(t)||t.ctrlKey&&t.keyCode===e.ui.keyCode.UP&&(t.preventDefault(),this.active.focus())},_handlePageNav:function(t){return t.altKey&&t.keyCode===e.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):t.altKey&&t.keyCode===e.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(t,i){function s(){return t>n&&(t=0),0>t&&(t=n),t}for(var n=this.tabs.length-1;-1!==e.inArray(s(),this.options.disabled);)t=i?t+1:t-1;return t},_focusNextTab:function(e,t){return e=this._findNextTab(e,t),this.tabs.eq(e).focus(),e},_setOption:function(e,t){return"active"===e?(this._activate(t),void 0):"disabled"===e?(this._setupDisabled(t),void 0):(this._super(e,t),"collapsible"===e&&(this.element.toggleClass("ui-tabs-collapsible",t),t||this.options.active!==!1||this._activate(0)),"event"===e&&this._setupEvents(t),"heightStyle"===e&&this._setupHeightStyle(t),void 0)},_sanitizeSelector:function(e){return e?e.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var t=this.options,i=this.tablist.children(":has(a[href])");t.disabled=e.map(i.filter(".ui-state-disabled"),function(e){return i.index(e)}),this._processTabs(),t.active!==!1&&this.anchors.length?this.active.length&&!e.contains(this.tablist[0],this.active[0])?this.tabs.length===t.disabled.length?(t.active=!1,this.active=e()):this._activate(this._findNextTab(Math.max(0,t.active-1),!1)):t.active=this.tabs.index(this.active):(t.active=!1,this.active=e()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var t=this,i=this.tabs,s=this.anchors,n=this.panels;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist").delegate("> li","mousedown"+this.eventNamespace,function(t){e(this).is(".ui-state-disabled")&&t.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){e(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return e("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=e(),this.anchors.each(function(i,s){var n,a,o,r=e(s).uniqueId().attr("id"),h=e(s).closest("li"),l=h.attr("aria-controls");t._isLocal(s)?(n=s.hash,o=n.substring(1),a=t.element.find(t._sanitizeSelector(n))):(o=h.attr("aria-controls")||e({}).uniqueId()[0].id,n="#"+o,a=t.element.find(n),a.length||(a=t._createPanel(o),a.insertAfter(t.panels[i-1]||t.tablist)),a.attr("aria-live","polite")),a.length&&(t.panels=t.panels.add(a)),l&&h.data("ui-tabs-aria-controls",l),h.attr({"aria-controls":o,"aria-labelledby":r}),a.attr("aria-labelledby",r)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel"),i&&(this._off(i.not(this.tabs)),this._off(s.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(t){return e("<div>").attr("id",t).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(t){e.isArray(t)&&(t.length?t.length===this.anchors.length&&(t=!0):t=!1);for(var i,s=0;i=this.tabs[s];s++)t===!0||-1!==e.inArray(s,t)?e(i).addClass("ui-state-disabled").attr("aria-disabled","true"):e(i).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=t},_setupEvents:function(t){var i={};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(e){e.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(t){var i,s=this.element.parent();"fill"===t?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var t=e(this),s=t.css("position");"absolute"!==s&&"fixed"!==s&&(i-=t.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=e(this).outerHeight(!0)}),this.panels.each(function(){e(this).height(Math.max(0,i-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===t&&(i=0,this.panels.each(function(){i=Math.max(i,e(this).height("").height())}).height(i))},_eventHandler:function(t){var i=this.options,s=this.active,n=e(t.currentTarget),a=n.closest("li"),o=a[0]===s[0],r=o&&i.collapsible,h=r?e():this._getPanelForTab(a),l=s.length?this._getPanelForTab(s):e(),u={oldTab:s,oldPanel:l,newTab:r?e():a,newPanel:h};t.preventDefault(),a.hasClass("ui-state-disabled")||a.hasClass("ui-tabs-loading")||this.running||o&&!i.collapsible||this._trigger("beforeActivate",t,u)===!1||(i.active=r?!1:this.tabs.index(a),this.active=o?e():a,this.xhr&&this.xhr.abort(),l.length||h.length||e.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(a),t),this._toggle(t,u))},_toggle:function(t,i){function s(){a.running=!1,a._trigger("activate",t,i)}function n(){i.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),o.length&&a.options.show?a._show(o,a.options.show,s):(o.show(),s())}var a=this,o=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),n()}):(i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),r.hide(),n()),r.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),o.length&&r.length?i.oldTab.attr("tabIndex",-1):o.length&&this.tabs.filter(function(){return 0===e(this).attr("tabIndex")}).attr("tabIndex",-1),o.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(t){var i,s=this._findActive(t);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return t===!1?e():this.tabs.eq(t)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+e+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tablist.unbind(this.eventNamespace),this.tabs.add(this.panels).each(function(){e.data(this,"ui-tabs-destroy")?e(this).remove():e(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var t=e(this),i=t.data("ui-tabs-aria-controls");i?t.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):t.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(t){var i=this.options.disabled;i!==!1&&(void 0===t?i=!1:(t=this._getIndex(t),i=e.isArray(i)?e.map(i,function(e){return e!==t?e:null}):e.map(this.tabs,function(e,i){return i!==t?i:null})),this._setupDisabled(i))},disable:function(t){var i=this.options.disabled;if(i!==!0){if(void 0===t)i=!0;else{if(t=this._getIndex(t),-1!==e.inArray(t,i))return;i=e.isArray(i)?e.merge([t],i).sort():[t]}this._setupDisabled(i)}},load:function(t,i){t=this._getIndex(t);var s=this,n=this.tabs.eq(t),a=n.find(".ui-tabs-anchor"),o=this._getPanelForTab(n),r={tab:n,panel:o},h=function(e,t){"abort"===t&&s.panels.stop(!1,!0),n.removeClass("ui-tabs-loading"),o.removeAttr("aria-busy"),e===s.xhr&&delete s.xhr};this._isLocal(a[0])||(this.xhr=e.ajax(this._ajaxSettings(a,i,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(n.addClass("ui-tabs-loading"),o.attr("aria-busy","true"),this.xhr.done(function(e,t,n){setTimeout(function(){o.html(e),s._trigger("load",i,r),h(n,t)},1)}).fail(function(e,t){setTimeout(function(){h(e,t)},1)})))},_ajaxSettings:function(t,i,s){var n=this;return{url:t.attr("href"),beforeSend:function(t,a){return n._trigger("beforeLoad",i,e.extend({jqXHR:t,ajaxSettings:a},s))}}},_getPanelForTab:function(t){var i=e(t).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),e.widget("ui.tooltip",{version:"1.11.4",options:{content:function(){var t=e(this).attr("title")||"";return e("<a>").text(t).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_addDescribedBy:function(t,i){var s=(t.attr("aria-describedby")||"").split(/\s+/);s.push(i),t.data("ui-tooltip-id",i).attr("aria-describedby",e.trim(s.join(" ")))},_removeDescribedBy:function(t){var i=t.data("ui-tooltip-id"),s=(t.attr("aria-describedby")||"").split(/\s+/),n=e.inArray(i,s);-1!==n&&s.splice(n,1),t.removeData("ui-tooltip-id"),s=e.trim(s.join(" ")),s?t.attr("aria-describedby",s):t.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable(),this.liveRegion=e("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body)},_setOption:function(t,i){var s=this;return"disabled"===t?(this[i?"_disable":"_enable"](),this.options[t]=i,void 0):(this._super(t,i),"content"===t&&e.each(this.tooltips,function(e,t){s._updateContent(t.element)}),void 0)},_disable:function(){var t=this;e.each(this.tooltips,function(i,s){var n=e.Event("blur");n.target=n.currentTarget=s.element[0],t.close(n,!0)}),this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.is("[title]")&&t.data("ui-tooltip-title",t.attr("title")).removeAttr("title")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.data("ui-tooltip-title")&&t.attr("title",t.data("ui-tooltip-title"))})},open:function(t){var i=this,s=e(t?t.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),t&&"mouseover"===t.type&&s.parents().each(function(){var t,s=e(this);s.data("ui-tooltip-open")&&(t=e.Event("blur"),t.target=t.currentTarget=this,i.close(t,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._registerCloseHandlers(t,s),this._updateContent(s,t))},_updateContent:function(e,t){var i,s=this.options.content,n=this,a=t?t.type:null;return"string"==typeof s?this._open(t,e,s):(i=s.call(e[0],function(i){n._delay(function(){e.data("ui-tooltip-open")&&(t&&(t.type=a),this._open(t,e,i))})}),i&&this._open(t,e,i),void 0)},_open:function(t,i,s){function n(e){l.of=e,o.is(":hidden")||o.position(l)}var a,o,r,h,l=e.extend({},this.options.position);if(s){if(a=this._find(i))return a.tooltip.find(".ui-tooltip-content").html(s),void 0;i.is("[title]")&&(t&&"mouseover"===t.type?i.attr("title",""):i.removeAttr("title")),a=this._tooltip(i),o=a.tooltip,this._addDescribedBy(i,o.attr("id")),o.find(".ui-tooltip-content").html(s),this.liveRegion.children().hide(),s.clone?(h=s.clone(),h.removeAttr("id").find("[id]").removeAttr("id")):h=s,e("<div>").html(h).appendTo(this.liveRegion),this.options.track&&t&&/^mouse/.test(t.type)?(this._on(this.document,{mousemove:n}),n(t)):o.position(e.extend({of:i},this.options.position)),o.hide(),this._show(o,this.options.show),this.options.show&&this.options.show.delay&&(r=this.delayedShow=setInterval(function(){o.is(":visible")&&(n(l.of),clearInterval(r))},e.fx.interval)),this._trigger("open",t,{tooltip:o})}},_registerCloseHandlers:function(t,i){var s={keyup:function(t){if(t.keyCode===e.ui.keyCode.ESCAPE){var s=e.Event(t);s.currentTarget=i[0],this.close(s,!0)}}};i[0]!==this.element[0]&&(s.remove=function(){this._removeTooltip(this._find(i).tooltip)}),t&&"mouseover"!==t.type||(s.mouseleave="close"),t&&"focusin"!==t.type||(s.focusout="close"),this._on(!0,i,s)},close:function(t){var i,s=this,n=e(t?t.currentTarget:this.element),a=this._find(n);return a?(i=a.tooltip,a.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&!n.attr("title")&&n.attr("title",n.data("ui-tooltip-title")),this._removeDescribedBy(n),a.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){s._removeTooltip(e(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),t&&"mouseleave"===t.type&&e.each(this.parents,function(t,i){e(i.element).attr("title",i.title),delete s.parents[t]}),a.closing=!0,this._trigger("close",t,{tooltip:i}),a.hiding||(a.closing=!1)),void 0):(n.removeData("ui-tooltip-open"),void 0)},_tooltip:function(t){var i=e("<div>").attr("role","tooltip").addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||"")),s=i.uniqueId().attr("id");return e("<div>").addClass("ui-tooltip-content").appendTo(i),i.appendTo(this.document[0].body),this.tooltips[s]={element:t,tooltip:i}},_find:function(e){var t=e.data("ui-tooltip-id");return t?this.tooltips[t]:null},_removeTooltip:function(e){e.remove(),delete this.tooltips[e.attr("id")]},_destroy:function(){var t=this;e.each(this.tooltips,function(i,s){var n=e.Event("blur"),a=s.element;n.target=n.currentTarget=a[0],t.close(n,!0),e("#"+i).remove(),a.data("ui-tooltip-title")&&(a.attr("title")||a.attr("title",a.data("ui-tooltip-title")),a.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}});var c="ui-effects-",p=e;e.effects={effect:{}},function(e,t){function i(e,t,i){var s=d[t.type]||{};return null==e?i||!t.def?null:t.def:(e=s.floor?~~e:parseFloat(e),isNaN(e)?t.def:s.mod?(e+s.mod)%s.mod:0>e?0:e>s.max?s.max:e)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(e,a){var o,r=a.re.exec(i),h=r&&a.parse(r),l=a.space||"rgba";return h?(o=s[l](h),s[u[l].cache]=o[u[l].cache],n=s._rgba=o._rgba,!1):t}),n.length?("0,0,0,0"===n.join()&&e.extend(n,a.transparent),s):a[i]}function n(e,t,i){return i=(i+1)%1,1>6*i?e+6*(t-e)*i:1>2*i?t:2>3*i?e+6*(t-e)*(2/3-i):e}var a,o="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(e){return[e[1],e[2],e[3],e[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(e){return[2.55*e[1],2.55*e[2],2.55*e[3],e[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(e){return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(e){return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(e){return[e[1],e[2]/100,e[3]/100,e[4]]}}],l=e.Color=function(t,i,s,n){return new e.Color.fn.parse(t,i,s,n)},u={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},d={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},c=l.support={},p=e("<p>")[0],f=e.each;p.style.cssText="background-color:rgba(1,1,1,.5)",c.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(u,function(e,t){t.cache="_"+e,t.props.alpha={idx:3,type:"percent",def:1}}),l.fn=e.extend(l.prototype,{parse:function(n,o,r,h){if(n===t)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=e(n).css(o),o=t);var d=this,c=e.type(n),p=this._rgba=[];return o!==t&&(n=[n,o,r,h],c="array"),"string"===c?this.parse(s(n)||a._default):"array"===c?(f(u.rgba.props,function(e,t){p[t.idx]=i(n[t.idx],t)}),this):"object"===c?(n instanceof l?f(u,function(e,t){n[t.cache]&&(d[t.cache]=n[t.cache].slice())}):f(u,function(t,s){var a=s.cache;f(s.props,function(e,t){if(!d[a]&&s.to){if("alpha"===e||null==n[e])return;d[a]=s.to(d._rgba)}d[a][t.idx]=i(n[e],t,!0)}),d[a]&&0>e.inArray(null,d[a].slice(0,3))&&(d[a][3]=1,s.from&&(d._rgba=s.from(d[a])))}),this):t},is:function(e){var i=l(e),s=!0,n=this;return f(u,function(e,a){var o,r=i[a.cache];return r&&(o=n[a.cache]||a.to&&a.to(n._rgba)||[],f(a.props,function(e,i){return null!=r[i.idx]?s=r[i.idx]===o[i.idx]:t})),s}),s},_space:function(){var e=[],t=this;return f(u,function(i,s){t[s.cache]&&e.push(i)}),e.pop()},transition:function(e,t){var s=l(e),n=s._space(),a=u[n],o=0===this.alpha()?l("transparent"):this,r=o[a.cache]||a.to(o._rgba),h=r.slice();return s=s[a.cache],f(a.props,function(e,n){var a=n.idx,o=r[a],l=s[a],u=d[n.type]||{};null!==l&&(null===o?h[a]=l:(u.mod&&(l-o>u.mod/2?o+=u.mod:o-l>u.mod/2&&(o-=u.mod)),h[a]=i((l-o)*t+o,n)))}),this[n](h)},blend:function(t){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(t)._rgba;return l(e.map(i,function(e,t){return(1-s)*n[t]+s*e}))},toRgbaString:function(){var t="rgba(",i=e.map(this._rgba,function(e,t){return null==e?t>2?1:0:e});return 1===i[3]&&(i.pop(),t="rgb("),t+i.join()+")"},toHslaString:function(){var t="hsla(",i=e.map(this.hsla(),function(e,t){return null==e&&(e=t>2?1:0),t&&3>t&&(e=Math.round(100*e)+"%"),e});return 1===i[3]&&(i.pop(),t="hsl("),t+i.join()+")"},toHexString:function(t){var i=this._rgba.slice(),s=i.pop();return t&&i.push(~~(255*s)),"#"+e.map(i,function(e){return e=(e||0).toString(16),1===e.length?"0"+e:e}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,u.hsla.to=function(e){if(null==e[0]||null==e[1]||null==e[2])return[null,null,null,e[3]];var t,i,s=e[0]/255,n=e[1]/255,a=e[2]/255,o=e[3],r=Math.max(s,n,a),h=Math.min(s,n,a),l=r-h,u=r+h,d=.5*u;return t=h===r?0:s===r?60*(n-a)/l+360:n===r?60*(a-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=d?l/u:l/(2-u),[Math.round(t)%360,i,d,null==o?1:o]},u.hsla.from=function(e){if(null==e[0]||null==e[1]||null==e[2])return[null,null,null,e[3]];var t=e[0]/360,i=e[1],s=e[2],a=e[3],o=.5>=s?s*(1+i):s+i-s*i,r=2*s-o;return[Math.round(255*n(r,o,t+1/3)),Math.round(255*n(r,o,t)),Math.round(255*n(r,o,t-1/3)),a]},f(u,function(s,n){var a=n.props,o=n.cache,h=n.to,u=n.from;l.fn[s]=function(s){if(h&&!this[o]&&(this[o]=h(this._rgba)),s===t)return this[o].slice();var n,r=e.type(s),d="array"===r||"object"===r?s:arguments,c=this[o].slice();return f(a,function(e,t){var s=d["object"===r?e:t.idx];null==s&&(s=c[t.idx]),c[t.idx]=i(s,t)}),u?(n=l(u(c)),n[o]=c,n):l(c)},f(a,function(t,i){l.fn[t]||(l.fn[t]=function(n){var a,o=e.type(n),h="alpha"===t?this._hsla?"hsla":"rgba":s,l=this[h](),u=l[i.idx];return"undefined"===o?u:("function"===o&&(n=n.call(this,u),o=e.type(n)),null==n&&i.empty?this:("string"===o&&(a=r.exec(n),a&&(n=u+parseFloat(a[2])*("+"===a[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(t){var i=t.split(" ");f(i,function(t,i){e.cssHooks[i]={set:function(t,n){var a,o,r="";if("transparent"!==n&&("string"!==e.type(n)||(a=s(n)))){if(n=l(a||n),!c.rgba&&1!==n._rgba[3]){for(o="backgroundColor"===i?t.parentNode:t;(""===r||"transparent"===r)&&o&&o.style;)try{r=e.css(o,"backgroundColor"),o=o.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{t.style[i]=n}catch(h){}}},e.fx.step[i]=function(t){t.colorInit||(t.start=l(t.elem,i),t.end=l(t.end),t.colorInit=!0),e.cssHooks[i].set(t.elem,t.start.transition(t.end,t.pos))}})},l.hook(o),e.cssHooks.borderColor={expand:function(e){var t={};return f(["Top","Right","Bottom","Left"],function(i,s){t["border"+s+"Color"]=e}),t}},a=e.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(p),function(){function t(t){var i,s,n=t.ownerDocument.defaultView?t.ownerDocument.defaultView.getComputedStyle(t,null):t.currentStyle,a={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(a[e.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(a[i]=n[i]);return a}function i(t,i){var s,a,o={};for(s in i)a=i[s],t[s]!==a&&(n[s]||(e.fx.step[s]||!isNaN(parseFloat(a)))&&(o[s]=a));return o}var s=["add","remove","toggle"],n={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};e.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(t,i){e.fx.step[i]=function(e){("none"!==e.end&&!e.setAttr||1===e.pos&&!e.setAttr)&&(p.style(e.elem,i,e.end),e.setAttr=!0)}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e.effects.animateClass=function(n,a,o,r){var h=e.speed(a,o,r);return this.queue(function(){var a,o=e(this),r=o.attr("class")||"",l=h.children?o.find("*").addBack():o;l=l.map(function(){var i=e(this);return{el:i,start:t(this)}}),a=function(){e.each(s,function(e,t){n[t]&&o[t+"Class"](n[t])})},a(),l=l.map(function(){return this.end=t(this.el[0]),this.diff=i(this.start,this.end),this}),o.attr("class",r),l=l.map(function(){var t=this,i=e.Deferred(),s=e.extend({},h,{queue:!1,complete:function(){i.resolve(t)}});return this.el.animate(this.diff,s),i.promise()}),e.when.apply(e,l.get()).done(function(){a(),e.each(arguments,function(){var t=this.el;e.each(this.diff,function(e){t.css(e,"")})}),h.complete.call(o[0])})})},e.fn.extend({addClass:function(t){return function(i,s,n,a){return s?e.effects.animateClass.call(this,{add:i},s,n,a):t.apply(this,arguments)}}(e.fn.addClass),removeClass:function(t){return function(i,s,n,a){return arguments.length>1?e.effects.animateClass.call(this,{remove:i},s,n,a):t.apply(this,arguments)}}(e.fn.removeClass),toggleClass:function(t){return function(i,s,n,a,o){return"boolean"==typeof s||void 0===s?n?e.effects.animateClass.call(this,s?{add:i}:{remove:i},n,a,o):t.apply(this,arguments):e.effects.animateClass.call(this,{toggle:i},s,n,a)}}(e.fn.toggleClass),switchClass:function(t,i,s,n,a){return e.effects.animateClass.call(this,{add:i,remove:t},s,n,a)}})}(),function(){function t(t,i,s,n){return e.isPlainObject(t)&&(i=t,t=t.effect),t={effect:t},null==i&&(i={}),e.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||e.fx.speeds[i])&&(n=s,s=i,i={}),e.isFunction(s)&&(n=s,s=null),i&&e.extend(t,i),s=s||i.duration,t.duration=e.fx.off?0:"number"==typeof s?s:s in e.fx.speeds?e.fx.speeds[s]:e.fx.speeds._default,t.complete=n||i.complete,t}function i(t){return!t||"number"==typeof t||e.fx.speeds[t]?!0:"string"!=typeof t||e.effects.effect[t]?e.isFunction(t)?!0:"object"!=typeof t||t.effect?!1:!0:!0}e.extend(e.effects,{version:"1.11.4",save:function(e,t){for(var i=0;t.length>i;i++)null!==t[i]&&e.data(c+t[i],e[0].style[t[i]])},restore:function(e,t){var i,s;for(s=0;t.length>s;s++)null!==t[s]&&(i=e.data(c+t[s]),void 0===i&&(i=""),e.css(t[s],i))},setMode:function(e,t){return"toggle"===t&&(t=e.is(":hidden")?"show":"hide"),t},getBaseline:function(e,t){var i,s;switch(e[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=e[0]/t.height}switch(e[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=e[1]/t.width}return{x:s,y:i}},createWrapper:function(t){if(t.parent().is(".ui-effects-wrapper"))return t.parent();var i={width:t.outerWidth(!0),height:t.outerHeight(!0),"float":t.css("float")},s=e("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:t.width(),height:t.height()},a=document.activeElement;try{a.id}catch(o){a=document.body}return t.wrap(s),(t[0]===a||e.contains(t[0],a))&&e(a).focus(),s=t.parent(),"static"===t.css("position")?(s.css({position:"relative"}),t.css({position:"relative"})):(e.extend(i,{position:t.css("position"),zIndex:t.css("z-index")}),e.each(["top","left","bottom","right"],function(e,s){i[s]=t.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),t.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),t.css(n),s.css(i).show()},removeWrapper:function(t){var i=document.activeElement;return t.parent().is(".ui-effects-wrapper")&&(t.parent().replaceWith(t),(t[0]===i||e.contains(t[0],i))&&e(i).focus()),t},setTransition:function(t,i,s,n){return n=n||{},e.each(i,function(e,i){var a=t.cssUnit(i);a[0]>0&&(n[i]=a[0]*s+a[1])}),n}}),e.fn.extend({effect:function(){function i(t){function i(){e.isFunction(a)&&a.call(n[0]),e.isFunction(t)&&t()}var n=e(this),a=s.complete,r=s.mode;(n.is(":hidden")?"hide"===r:"show"===r)?(n[r](),i()):o.call(n[0],s,i)}var s=t.apply(this,arguments),n=s.mode,a=s.queue,o=e.effects.effect[s.effect];return e.fx.off||!o?n?this[n](s.duration,s.complete):this.each(function(){s.complete&&s.complete.call(this)}):a===!1?this.each(i):this.queue(a||"fx",i)},show:function(e){return function(s){if(i(s))return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="show",this.effect.call(this,n)}}(e.fn.show),hide:function(e){return function(s){if(i(s))return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="hide",this.effect.call(this,n)}}(e.fn.hide),toggle:function(e){return function(s){if(i(s)||"boolean"==typeof s)return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)}}(e.fn.toggle),cssUnit:function(t){var i=this.css(t),s=[];return e.each(["em","px","%","pt"],function(e,t){i.indexOf(t)>0&&(s=[parseFloat(i),t])}),s}})}(),function(){var t={};e.each(["Quad","Cubic","Quart","Quint","Expo"],function(e,i){t[i]=function(t){return Math.pow(t,e+2)}}),e.extend(t,{Sine:function(e){return 1-Math.cos(e*Math.PI/2)},Circ:function(e){return 1-Math.sqrt(1-e*e)},Elastic:function(e){return 0===e||1===e?e:-Math.pow(2,8*(e-1))*Math.sin((80*(e-1)-7.5)*Math.PI/15)},Back:function(e){return e*e*(3*e-2)},Bounce:function(e){for(var t,i=4;((t=Math.pow(2,--i))-1)/11>e;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*t-2)/22-e,2)}}),e.each(t,function(t,i){e.easing["easeIn"+t]=i,e.easing["easeOut"+t]=function(e){return 1-i(1-e)},e.easing["easeInOut"+t]=function(e){return.5>e?i(2*e)/2:1-i(-2*e+2)/2}})}(),e.effects,e.effects.effect.blind=function(t,i){var s,n,a,o=e(this),r=/up|down|vertical/,h=/up|left|vertical|horizontal/,l=["position","top","bottom","left","right","height","width"],u=e.effects.setMode(o,t.mode||"hide"),d=t.direction||"up",c=r.test(d),p=c?"height":"width",f=c?"top":"left",m=h.test(d),g={},v="show"===u;o.parent().is(".ui-effects-wrapper")?e.effects.save(o.parent(),l):e.effects.save(o,l),o.show(),s=e.effects.createWrapper(o).css({overflow:"hidden"}),n=s[p](),a=parseFloat(s.css(f))||0,g[p]=v?n:0,m||(o.css(c?"bottom":"right",0).css(c?"top":"left","auto").css({position:"absolute"}),g[f]=v?a:n+a),v&&(s.css(p,0),m||s.css(f,a+n)),s.animate(g,{duration:t.duration,easing:t.easing,queue:!1,complete:function(){"hide"===u&&o.hide(),e.effects.restore(o,l),e.effects.removeWrapper(o),i() |
| 87 | }})},e.effects.effect.bounce=function(t,i){var s,n,a,o=e(this),r=["position","top","bottom","left","right","height","width"],h=e.effects.setMode(o,t.mode||"effect"),l="hide"===h,u="show"===h,d=t.direction||"up",c=t.distance,p=t.times||5,f=2*p+(u||l?1:0),m=t.duration/f,g=t.easing,v="up"===d||"down"===d?"top":"left",y="up"===d||"left"===d,b=o.queue(),_=b.length;for((u||l)&&r.push("opacity"),e.effects.save(o,r),o.show(),e.effects.createWrapper(o),c||(c=o["top"===v?"outerHeight":"outerWidth"]()/3),u&&(a={opacity:1},a[v]=0,o.css("opacity",0).css(v,y?2*-c:2*c).animate(a,m,g)),l&&(c/=Math.pow(2,p-1)),a={},a[v]=0,s=0;p>s;s++)n={},n[v]=(y?"-=":"+=")+c,o.animate(n,m,g).animate(a,m,g),c=l?2*c:c/2;l&&(n={opacity:0},n[v]=(y?"-=":"+=")+c,o.animate(n,m,g)),o.queue(function(){l&&o.hide(),e.effects.restore(o,r),e.effects.removeWrapper(o),i()}),_>1&&b.splice.apply(b,[1,0].concat(b.splice(_,f+1))),o.dequeue()},e.effects.effect.clip=function(t,i){var s,n,a,o=e(this),r=["position","top","bottom","left","right","height","width"],h=e.effects.setMode(o,t.mode||"hide"),l="show"===h,u=t.direction||"vertical",d="vertical"===u,c=d?"height":"width",p=d?"top":"left",f={};e.effects.save(o,r),o.show(),s=e.effects.createWrapper(o).css({overflow:"hidden"}),n="IMG"===o[0].tagName?s:o,a=n[c](),l&&(n.css(c,0),n.css(p,a/2)),f[c]=l?a:0,f[p]=l?0:a/2,n.animate(f,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){l||o.hide(),e.effects.restore(o,r),e.effects.removeWrapper(o),i()}})},e.effects.effect.drop=function(t,i){var s,n=e(this),a=["position","top","bottom","left","right","opacity","height","width"],o=e.effects.setMode(n,t.mode||"hide"),r="show"===o,h=t.direction||"left",l="up"===h||"down"===h?"top":"left",u="up"===h||"left"===h?"pos":"neg",d={opacity:r?1:0};e.effects.save(n,a),n.show(),e.effects.createWrapper(n),s=t.distance||n["top"===l?"outerHeight":"outerWidth"](!0)/2,r&&n.css("opacity",0).css(l,"pos"===u?-s:s),d[l]=(r?"pos"===u?"+=":"-=":"pos"===u?"-=":"+=")+s,n.animate(d,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}})},e.effects.effect.explode=function(t,i){function s(){b.push(this),b.length===d*c&&n()}function n(){p.css({visibility:"visible"}),e(b).remove(),m||p.hide(),i()}var a,o,r,h,l,u,d=t.pieces?Math.round(Math.sqrt(t.pieces)):3,c=d,p=e(this),f=e.effects.setMode(p,t.mode||"hide"),m="show"===f,g=p.show().css("visibility","hidden").offset(),v=Math.ceil(p.outerWidth()/c),y=Math.ceil(p.outerHeight()/d),b=[];for(a=0;d>a;a++)for(h=g.top+a*y,u=a-(d-1)/2,o=0;c>o;o++)r=g.left+o*v,l=o-(c-1)/2,p.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-o*v,top:-a*y}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:v,height:y,left:r+(m?l*v:0),top:h+(m?u*y:0),opacity:m?0:1}).animate({left:r+(m?0:l*v),top:h+(m?0:u*y),opacity:m?1:0},t.duration||500,t.easing,s)},e.effects.effect.fade=function(t,i){var s=e(this),n=e.effects.setMode(s,t.mode||"toggle");s.animate({opacity:n},{queue:!1,duration:t.duration,easing:t.easing,complete:i})},e.effects.effect.fold=function(t,i){var s,n,a=e(this),o=["position","top","bottom","left","right","height","width"],r=e.effects.setMode(a,t.mode||"hide"),h="show"===r,l="hide"===r,u=t.size||15,d=/([0-9]+)%/.exec(u),c=!!t.horizFirst,p=h!==c,f=p?["width","height"]:["height","width"],m=t.duration/2,g={},v={};e.effects.save(a,o),a.show(),s=e.effects.createWrapper(a).css({overflow:"hidden"}),n=p?[s.width(),s.height()]:[s.height(),s.width()],d&&(u=parseInt(d[1],10)/100*n[l?0:1]),h&&s.css(c?{height:0,width:u}:{height:u,width:0}),g[f[0]]=h?n[0]:u,v[f[1]]=h?n[1]:0,s.animate(g,m,t.easing).animate(v,m,t.easing,function(){l&&a.hide(),e.effects.restore(a,o),e.effects.removeWrapper(a),i()})},e.effects.effect.highlight=function(t,i){var s=e(this),n=["backgroundImage","backgroundColor","opacity"],a=e.effects.setMode(s,t.mode||"show"),o={backgroundColor:s.css("backgroundColor")};"hide"===a&&(o.opacity=0),e.effects.save(s,n),s.show().css({backgroundImage:"none",backgroundColor:t.color||"#ffff99"}).animate(o,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===a&&s.hide(),e.effects.restore(s,n),i()}})},e.effects.effect.size=function(t,i){var s,n,a,o=e(this),r=["position","top","bottom","left","right","width","height","overflow","opacity"],h=["position","top","bottom","left","right","overflow","opacity"],l=["width","height","overflow"],u=["fontSize"],d=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],c=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],p=e.effects.setMode(o,t.mode||"effect"),f=t.restore||"effect"!==p,m=t.scale||"both",g=t.origin||["middle","center"],v=o.css("position"),y=f?r:h,b={height:0,width:0,outerHeight:0,outerWidth:0};"show"===p&&o.show(),s={height:o.height(),width:o.width(),outerHeight:o.outerHeight(),outerWidth:o.outerWidth()},"toggle"===t.mode&&"show"===p?(o.from=t.to||b,o.to=t.from||s):(o.from=t.from||("show"===p?b:s),o.to=t.to||("hide"===p?b:s)),a={from:{y:o.from.height/s.height,x:o.from.width/s.width},to:{y:o.to.height/s.height,x:o.to.width/s.width}},("box"===m||"both"===m)&&(a.from.y!==a.to.y&&(y=y.concat(d),o.from=e.effects.setTransition(o,d,a.from.y,o.from),o.to=e.effects.setTransition(o,d,a.to.y,o.to)),a.from.x!==a.to.x&&(y=y.concat(c),o.from=e.effects.setTransition(o,c,a.from.x,o.from),o.to=e.effects.setTransition(o,c,a.to.x,o.to))),("content"===m||"both"===m)&&a.from.y!==a.to.y&&(y=y.concat(u).concat(l),o.from=e.effects.setTransition(o,u,a.from.y,o.from),o.to=e.effects.setTransition(o,u,a.to.y,o.to)),e.effects.save(o,y),o.show(),e.effects.createWrapper(o),o.css("overflow","hidden").css(o.from),g&&(n=e.effects.getBaseline(g,s),o.from.top=(s.outerHeight-o.outerHeight())*n.y,o.from.left=(s.outerWidth-o.outerWidth())*n.x,o.to.top=(s.outerHeight-o.to.outerHeight)*n.y,o.to.left=(s.outerWidth-o.to.outerWidth)*n.x),o.css(o.from),("content"===m||"both"===m)&&(d=d.concat(["marginTop","marginBottom"]).concat(u),c=c.concat(["marginLeft","marginRight"]),l=r.concat(d).concat(c),o.find("*[width]").each(function(){var i=e(this),s={height:i.height(),width:i.width(),outerHeight:i.outerHeight(),outerWidth:i.outerWidth()};f&&e.effects.save(i,l),i.from={height:s.height*a.from.y,width:s.width*a.from.x,outerHeight:s.outerHeight*a.from.y,outerWidth:s.outerWidth*a.from.x},i.to={height:s.height*a.to.y,width:s.width*a.to.x,outerHeight:s.height*a.to.y,outerWidth:s.width*a.to.x},a.from.y!==a.to.y&&(i.from=e.effects.setTransition(i,d,a.from.y,i.from),i.to=e.effects.setTransition(i,d,a.to.y,i.to)),a.from.x!==a.to.x&&(i.from=e.effects.setTransition(i,c,a.from.x,i.from),i.to=e.effects.setTransition(i,c,a.to.x,i.to)),i.css(i.from),i.animate(i.to,t.duration,t.easing,function(){f&&e.effects.restore(i,l)})})),o.animate(o.to,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){0===o.to.opacity&&o.css("opacity",o.from.opacity),"hide"===p&&o.hide(),e.effects.restore(o,y),f||("static"===v?o.css({position:"relative",top:o.to.top,left:o.to.left}):e.each(["top","left"],function(e,t){o.css(t,function(t,i){var s=parseInt(i,10),n=e?o.to.left:o.to.top;return"auto"===i?n+"px":s+n+"px"})})),e.effects.removeWrapper(o),i()}})},e.effects.effect.scale=function(t,i){var s=e(this),n=e.extend(!0,{},t),a=e.effects.setMode(s,t.mode||"effect"),o=parseInt(t.percent,10)||(0===parseInt(t.percent,10)?0:"hide"===a?0:100),r=t.direction||"both",h=t.origin,l={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()},u={y:"horizontal"!==r?o/100:1,x:"vertical"!==r?o/100:1};n.effect="size",n.queue=!1,n.complete=i,"effect"!==a&&(n.origin=h||["middle","center"],n.restore=!0),n.from=t.from||("show"===a?{height:0,width:0,outerHeight:0,outerWidth:0}:l),n.to={height:l.height*u.y,width:l.width*u.x,outerHeight:l.outerHeight*u.y,outerWidth:l.outerWidth*u.x},n.fade&&("show"===a&&(n.from.opacity=0,n.to.opacity=1),"hide"===a&&(n.from.opacity=1,n.to.opacity=0)),s.effect(n)},e.effects.effect.puff=function(t,i){var s=e(this),n=e.effects.setMode(s,t.mode||"hide"),a="hide"===n,o=parseInt(t.percent,10)||150,r=o/100,h={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()};e.extend(t,{effect:"scale",queue:!1,fade:!0,mode:n,complete:i,percent:a?o:100,from:a?h:{height:h.height*r,width:h.width*r,outerHeight:h.outerHeight*r,outerWidth:h.outerWidth*r}}),s.effect(t)},e.effects.effect.pulsate=function(t,i){var s,n=e(this),a=e.effects.setMode(n,t.mode||"show"),o="show"===a,r="hide"===a,h=o||"hide"===a,l=2*(t.times||5)+(h?1:0),u=t.duration/l,d=0,c=n.queue(),p=c.length;for((o||!n.is(":visible"))&&(n.css("opacity",0).show(),d=1),s=1;l>s;s++)n.animate({opacity:d},u,t.easing),d=1-d;n.animate({opacity:d},u,t.easing),n.queue(function(){r&&n.hide(),i()}),p>1&&c.splice.apply(c,[1,0].concat(c.splice(p,l+1))),n.dequeue()},e.effects.effect.shake=function(t,i){var s,n=e(this),a=["position","top","bottom","left","right","height","width"],o=e.effects.setMode(n,t.mode||"effect"),r=t.direction||"left",h=t.distance||20,l=t.times||3,u=2*l+1,d=Math.round(t.duration/u),c="up"===r||"down"===r?"top":"left",p="up"===r||"left"===r,f={},m={},g={},v=n.queue(),y=v.length;for(e.effects.save(n,a),n.show(),e.effects.createWrapper(n),f[c]=(p?"-=":"+=")+h,m[c]=(p?"+=":"-=")+2*h,g[c]=(p?"-=":"+=")+2*h,n.animate(f,d,t.easing),s=1;l>s;s++)n.animate(m,d,t.easing).animate(g,d,t.easing);n.animate(m,d,t.easing).animate(f,d/2,t.easing).queue(function(){"hide"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}),y>1&&v.splice.apply(v,[1,0].concat(v.splice(y,u+1))),n.dequeue()},e.effects.effect.slide=function(t,i){var s,n=e(this),a=["position","top","bottom","left","right","width","height"],o=e.effects.setMode(n,t.mode||"show"),r="show"===o,h=t.direction||"left",l="up"===h||"down"===h?"top":"left",u="up"===h||"left"===h,d={};e.effects.save(n,a),n.show(),s=t.distance||n["top"===l?"outerHeight":"outerWidth"](!0),e.effects.createWrapper(n).css({overflow:"hidden"}),r&&n.css(l,u?isNaN(s)?"-"+s:-s:s),d[l]=(r?u?"+=":"-=":u?"-=":"+=")+s,n.animate(d,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}})},e.effects.effect.transfer=function(t,i){var s=e(this),n=e(t.to),a="fixed"===n.css("position"),o=e("body"),r=a?o.scrollTop():0,h=a?o.scrollLeft():0,l=n.offset(),u={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},d=s.offset(),c=e("<div class='ui-effects-transfer'></div>").appendTo(document.body).addClass(t.className).css({top:d.top-r,left:d.left-h,height:s.innerHeight(),width:s.innerWidth(),position:a?"fixed":"absolute"}).animate(u,t.duration,t.easing,function(){c.remove(),i()})}});</script> |
| 88 | <style type="text/css"> |
| 89 | |
| 90 | .tocify { |
| 91 | width: 20%; |
| 92 | max-height: 90%; |
| 93 | overflow: auto; |
| 94 | margin-left: 2%; |
| 95 | position: fixed; |
| 96 | border: 1px solid #ccc; |
Hao Zhu | a171b45 | 2019-01-15 17:14:34 -0600 | [diff] [blame] | 97 | border-radius: 6px; |
| 98 | } |
| 99 | |
| 100 | .tocify ul, .tocify li { |
| 101 | list-style: none; |
| 102 | margin: 0; |
| 103 | padding: 0; |
| 104 | border: none; |
| 105 | line-height: 30px; |
| 106 | } |
| 107 | |
| 108 | .tocify-header { |
| 109 | text-indent: 10px; |
| 110 | } |
| 111 | |
| 112 | .tocify-subheader { |
| 113 | text-indent: 20px; |
| 114 | display: none; |
| 115 | } |
| 116 | |
| 117 | .tocify-subheader li { |
| 118 | font-size: 12px; |
| 119 | } |
| 120 | |
| 121 | .tocify-subheader .tocify-subheader { |
| 122 | text-indent: 30px; |
| 123 | } |
Hao Zhu | a171b45 | 2019-01-15 17:14:34 -0600 | [diff] [blame] | 124 | .tocify-subheader .tocify-subheader .tocify-subheader { |
| 125 | text-indent: 40px; |
| 126 | } |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 127 | .tocify-subheader .tocify-subheader .tocify-subheader .tocify-subheader { |
| 128 | text-indent: 50px; |
| 129 | } |
| 130 | .tocify-subheader .tocify-subheader .tocify-subheader .tocify-subheader .tocify-subheader { |
| 131 | text-indent: 60px; |
| 132 | } |
Hao Zhu | a171b45 | 2019-01-15 17:14:34 -0600 | [diff] [blame] | 133 | |
| 134 | .tocify .tocify-item > a, .tocify .nav-list .nav-header { |
| 135 | margin: 0px; |
| 136 | } |
| 137 | |
| 138 | .tocify .tocify-item a, .tocify .list-group-item { |
| 139 | padding: 5px; |
| 140 | } |
| 141 | .tocify .nav-pills > li { |
| 142 | float: none; |
| 143 | } |
| 144 | |
| 145 | |
| 146 | </style> |
| 147 | <script>/* jquery Tocify - v1.9.1 - 2013-10-22 |
| 148 | * http://www.gregfranko.com/jquery.tocify.js/ |
| 149 | * Copyright (c) 2013 Greg Franko; Licensed MIT */ |
| 150 | |
| 151 | // Immediately-Invoked Function Expression (IIFE) [Ben Alman Blog Post](http://benalman.com/news/2010/11/immediately-invoked-function-expression/) that calls another IIFE that contains all of the plugin logic. I used this pattern so that anyone viewing this code would not have to scroll to the bottom of the page to view the local parameters that were passed to the main IIFE. |
| 152 | (function(tocify) { |
| 153 | |
| 154 | // ECMAScript 5 Strict Mode: [John Resig Blog Post](http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/) |
| 155 | "use strict"; |
| 156 | |
| 157 | // Calls the second IIFE and locally passes in the global jQuery, window, and document objects |
| 158 | tocify(window.jQuery, window, document); |
| 159 | |
| 160 | } |
| 161 | |
| 162 | // Locally passes in `jQuery`, the `window` object, the `document` object, and an `undefined` variable. The `jQuery`, `window` and `document` objects are passed in locally, to improve performance, since javascript first searches for a variable match within the local variables set before searching the global variables set. All of the global variables are also passed in locally to be minifier friendly. `undefined` can be passed in locally, because it is not a reserved word in JavaScript. |
| 163 | (function($, window, document, undefined) { |
| 164 | |
| 165 | // ECMAScript 5 Strict Mode: [John Resig Blog Post](http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/) |
| 166 | "use strict"; |
| 167 | |
| 168 | var tocClassName = "tocify", |
| 169 | tocClass = "." + tocClassName, |
| 170 | tocFocusClassName = "tocify-focus", |
| 171 | tocHoverClassName = "tocify-hover", |
| 172 | hideTocClassName = "tocify-hide", |
| 173 | hideTocClass = "." + hideTocClassName, |
| 174 | headerClassName = "tocify-header", |
| 175 | headerClass = "." + headerClassName, |
| 176 | subheaderClassName = "tocify-subheader", |
| 177 | subheaderClass = "." + subheaderClassName, |
| 178 | itemClassName = "tocify-item", |
| 179 | itemClass = "." + itemClassName, |
| 180 | extendPageClassName = "tocify-extend-page", |
| 181 | extendPageClass = "." + extendPageClassName; |
| 182 | |
| 183 | // Calling the jQueryUI Widget Factory Method |
| 184 | $.widget("toc.tocify", { |
| 185 | |
| 186 | //Plugin version |
| 187 | version: "1.9.1", |
| 188 | |
| 189 | // These options will be used as defaults |
| 190 | options: { |
| 191 | |
| 192 | // **context**: Accepts String: Any jQuery selector |
| 193 | // The container element that holds all of the elements used to generate the table of contents |
| 194 | context: "body", |
| 195 | |
| 196 | // **ignoreSelector**: Accepts String: Any jQuery selector |
| 197 | // A selector to any element that would be matched by selectors that you wish to be ignored |
| 198 | ignoreSelector: null, |
| 199 | |
| 200 | // **selectors**: Accepts an Array of Strings: Any jQuery selectors |
| 201 | // The element's used to generate the table of contents. The order is very important since it will determine the table of content's nesting structure |
| 202 | selectors: "h1, h2, h3", |
| 203 | |
| 204 | // **showAndHide**: Accepts a boolean: true or false |
| 205 | // Used to determine if elements should be shown and hidden |
| 206 | showAndHide: true, |
| 207 | |
| 208 | // **showEffect**: Accepts String: "none", "fadeIn", "show", or "slideDown" |
| 209 | // Used to display any of the table of contents nested items |
| 210 | showEffect: "slideDown", |
| 211 | |
| 212 | // **showEffectSpeed**: Accepts Number (milliseconds) or String: "slow", "medium", or "fast" |
| 213 | // The time duration of the show animation |
| 214 | showEffectSpeed: "medium", |
| 215 | |
| 216 | // **hideEffect**: Accepts String: "none", "fadeOut", "hide", or "slideUp" |
| 217 | // Used to hide any of the table of contents nested items |
| 218 | hideEffect: "slideUp", |
| 219 | |
| 220 | // **hideEffectSpeed**: Accepts Number (milliseconds) or String: "slow", "medium", or "fast" |
| 221 | // The time duration of the hide animation |
| 222 | hideEffectSpeed: "medium", |
| 223 | |
| 224 | // **smoothScroll**: Accepts a boolean: true or false |
| 225 | // Determines if a jQuery animation should be used to scroll to specific table of contents items on the page |
| 226 | smoothScroll: true, |
| 227 | |
| 228 | // **smoothScrollSpeed**: Accepts Number (milliseconds) or String: "slow", "medium", or "fast" |
| 229 | // The time duration of the smoothScroll animation |
| 230 | smoothScrollSpeed: "medium", |
| 231 | |
| 232 | // **scrollTo**: Accepts Number (pixels) |
| 233 | // The amount of space between the top of page and the selected table of contents item after the page has been scrolled |
| 234 | scrollTo: 0, |
| 235 | |
| 236 | // **showAndHideOnScroll**: Accepts a boolean: true or false |
| 237 | // Determines if table of contents nested items should be shown and hidden while scrolling |
| 238 | showAndHideOnScroll: true, |
| 239 | |
| 240 | // **highlightOnScroll**: Accepts a boolean: true or false |
| 241 | // Determines if table of contents nested items should be highlighted (set to a different color) while scrolling |
| 242 | highlightOnScroll: true, |
| 243 | |
| 244 | // **highlightOffset**: Accepts a number |
| 245 | // The offset distance in pixels to trigger the next active table of contents item |
| 246 | highlightOffset: 40, |
| 247 | |
| 248 | // **theme**: Accepts a string: "bootstrap", "jqueryui", or "none" |
| 249 | // Determines if Twitter Bootstrap, jQueryUI, or Tocify classes should be added to the table of contents |
| 250 | theme: "bootstrap", |
| 251 | |
| 252 | // **extendPage**: Accepts a boolean: true or false |
| 253 | // If a user scrolls to the bottom of the page and the page is not tall enough to scroll to the last table of contents item, then the page height is increased |
| 254 | extendPage: true, |
| 255 | |
| 256 | // **extendPageOffset**: Accepts a number: pixels |
| 257 | // How close to the bottom of the page a user must scroll before the page is extended |
| 258 | extendPageOffset: 100, |
| 259 | |
| 260 | // **history**: Accepts a boolean: true or false |
| 261 | // Adds a hash to the page url to maintain history |
| 262 | history: true, |
| 263 | |
| 264 | // **scrollHistory**: Accepts a boolean: true or false |
| 265 | // Adds a hash to the page url, to maintain history, when scrolling to a TOC item |
| 266 | scrollHistory: false, |
| 267 | |
| 268 | // **hashGenerator**: How the hash value (the anchor segment of the URL, following the |
| 269 | // # character) will be generated. |
| 270 | // |
| 271 | // "compact" (default) - #CompressesEverythingTogether |
| 272 | // "pretty" - #looks-like-a-nice-url-and-is-easily-readable |
| 273 | // function(text, element){} - Your own hash generation function that accepts the text as an |
| 274 | // argument, and returns the hash value. |
| 275 | hashGenerator: "compact", |
| 276 | |
| 277 | // **highlightDefault**: Accepts a boolean: true or false |
| 278 | // Set's the first TOC item as active if no other TOC item is active. |
| 279 | highlightDefault: true |
| 280 | |
| 281 | }, |
| 282 | |
| 283 | // _Create |
| 284 | // ------- |
| 285 | // Constructs the plugin. Only called once. |
| 286 | _create: function() { |
| 287 | |
| 288 | var self = this; |
| 289 | |
| 290 | self.extendPageScroll = true; |
| 291 | |
| 292 | // Internal array that keeps track of all TOC items (Helps to recognize if there are duplicate TOC item strings) |
| 293 | self.items = []; |
| 294 | |
| 295 | // Generates the HTML for the dynamic table of contents |
| 296 | self._generateToc(); |
| 297 | |
| 298 | // Adds CSS classes to the newly generated table of contents HTML |
| 299 | self._addCSSClasses(); |
| 300 | |
| 301 | self.webkit = (function() { |
| 302 | |
| 303 | for (var prop in window) { |
| 304 | |
| 305 | if (prop) { |
| 306 | |
| 307 | if (prop.toLowerCase().indexOf("webkit") !== -1) { |
| 308 | |
| 309 | return true; |
| 310 | |
| 311 | } |
| 312 | |
| 313 | } |
| 314 | |
| 315 | } |
| 316 | |
| 317 | return false; |
| 318 | |
| 319 | }()); |
| 320 | |
| 321 | // Adds jQuery event handlers to the newly generated table of contents |
| 322 | self._setEventHandlers(); |
| 323 | |
| 324 | // Binding to the Window load event to make sure the correct scrollTop is calculated |
| 325 | $(window).load(function() { |
| 326 | |
| 327 | // Sets the active TOC item |
| 328 | self._setActiveElement(true); |
| 329 | |
| 330 | // Once all animations on the page are complete, this callback function will be called |
| 331 | $("html, body").promise().done(function() { |
| 332 | |
| 333 | setTimeout(function() { |
| 334 | |
| 335 | self.extendPageScroll = false; |
| 336 | |
| 337 | }, 0); |
| 338 | |
| 339 | }); |
| 340 | |
| 341 | }); |
| 342 | |
| 343 | }, |
| 344 | |
| 345 | // _generateToc |
| 346 | // ------------ |
| 347 | // Generates the HTML for the dynamic table of contents |
| 348 | _generateToc: function() { |
| 349 | |
| 350 | // _Local variables_ |
| 351 | |
| 352 | // Stores the plugin context in the self variable |
| 353 | var self = this, |
| 354 | |
| 355 | // All of the HTML tags found within the context provided (i.e. body) that match the top level jQuery selector above |
| 356 | firstElem, |
| 357 | |
| 358 | // Instantiated variable that will store the top level newly created unordered list DOM element |
| 359 | ul, |
| 360 | ignoreSelector = self.options.ignoreSelector; |
| 361 | |
| 362 | |
| 363 | // Determine the element to start the toc with |
| 364 | // get all the top level selectors |
| 365 | firstElem = []; |
| 366 | var selectors = this.options.selectors.replace(/ /g, "").split(","); |
| 367 | // find the first set that have at least one non-ignored element |
| 368 | for(var i = 0; i < selectors.length; i++) { |
| 369 | var foundSelectors = $(this.options.context).find(selectors[i]); |
| 370 | for (var s = 0; s < foundSelectors.length; s++) { |
| 371 | if (!$(foundSelectors[s]).is(ignoreSelector)) { |
| 372 | firstElem = foundSelectors; |
| 373 | break; |
| 374 | } |
| 375 | } |
| 376 | if (firstElem.length> 0) |
| 377 | break; |
| 378 | } |
| 379 | |
| 380 | if (!firstElem.length) { |
| 381 | |
| 382 | self.element.addClass(hideTocClassName); |
| 383 | |
| 384 | return; |
| 385 | |
| 386 | } |
| 387 | |
| 388 | self.element.addClass(tocClassName); |
| 389 | |
| 390 | // Loops through each top level selector |
| 391 | firstElem.each(function(index) { |
| 392 | |
| 393 | //If the element matches the ignoreSelector then we skip it |
| 394 | if ($(this).is(ignoreSelector)) { |
| 395 | return; |
| 396 | } |
| 397 | |
| 398 | // Creates an unordered list HTML element and adds a dynamic ID and standard class name |
| 399 | ul = $("<ul/>", { |
| 400 | "id": headerClassName + index, |
| 401 | "class": headerClassName |
| 402 | }). |
| 403 | |
| 404 | // Appends a top level list item HTML element to the previously created HTML header |
| 405 | append(self._nestElements($(this), index)); |
| 406 | |
| 407 | // Add the created unordered list element to the HTML element calling the plugin |
| 408 | self.element.append(ul); |
| 409 | |
| 410 | // Finds all of the HTML tags between the header and subheader elements |
| 411 | $(this).nextUntil(this.nodeName.toLowerCase()).each(function() { |
| 412 | |
| 413 | // If there are no nested subheader elemements |
| 414 | if ($(this).find(self.options.selectors).length === 0) { |
| 415 | |
| 416 | // Loops through all of the subheader elements |
| 417 | $(this).filter(self.options.selectors).each(function() { |
| 418 | |
| 419 | //If the element matches the ignoreSelector then we skip it |
| 420 | if ($(this).is(ignoreSelector)) { |
| 421 | return; |
| 422 | } |
| 423 | |
| 424 | self._appendSubheaders.call(this, self, ul); |
| 425 | |
| 426 | }); |
| 427 | |
| 428 | } |
| 429 | |
| 430 | // If there are nested subheader elements |
| 431 | else { |
| 432 | |
| 433 | // Loops through all of the subheader elements |
| 434 | $(this).find(self.options.selectors).each(function() { |
| 435 | |
| 436 | //If the element matches the ignoreSelector then we skip it |
| 437 | if ($(this).is(ignoreSelector)) { |
| 438 | return; |
| 439 | } |
| 440 | |
| 441 | self._appendSubheaders.call(this, self, ul); |
| 442 | |
| 443 | }); |
| 444 | |
| 445 | } |
| 446 | |
| 447 | }); |
| 448 | |
| 449 | }); |
| 450 | |
| 451 | }, |
| 452 | |
| 453 | _setActiveElement: function(pageload) { |
| 454 | |
| 455 | var self = this, |
| 456 | |
| 457 | hash = window.location.hash.substring(1), |
| 458 | |
| 459 | elem = self.element.find('li[data-unique="' + hash + '"]'); |
| 460 | |
| 461 | if (hash.length) { |
| 462 | |
| 463 | // Removes highlighting from all of the list item's |
| 464 | self.element.find("." + self.focusClass).removeClass(self.focusClass); |
| 465 | |
| 466 | // Highlights the current list item that was clicked |
| 467 | elem.addClass(self.focusClass); |
| 468 | |
| 469 | // Triggers the click event on the currently focused TOC item |
| 470 | elem.click(); |
| 471 | |
| 472 | } else { |
| 473 | |
| 474 | // Removes highlighting from all of the list item's |
| 475 | self.element.find("." + self.focusClass).removeClass(self.focusClass); |
| 476 | |
| 477 | if (!hash.length && pageload && self.options.highlightDefault) { |
| 478 | |
| 479 | // Highlights the first TOC item if no other items are highlighted |
| 480 | self.element.find(itemClass).first().addClass(self.focusClass); |
| 481 | |
| 482 | } |
| 483 | |
| 484 | } |
| 485 | |
| 486 | return self; |
| 487 | |
| 488 | }, |
| 489 | |
| 490 | // _nestElements |
| 491 | // ------------- |
| 492 | // Helps create the table of contents list by appending nested list items |
| 493 | _nestElements: function(self, index) { |
| 494 | |
| 495 | var arr, item, hashValue; |
| 496 | |
| 497 | arr = $.grep(this.items, function(item) { |
| 498 | |
| 499 | return item === self.text(); |
| 500 | |
| 501 | }); |
| 502 | |
| 503 | // If there is already a duplicate TOC item |
| 504 | if (arr.length) { |
| 505 | |
| 506 | // Adds the current TOC item text and index (for slight randomization) to the internal array |
| 507 | this.items.push(self.text() + index); |
| 508 | |
| 509 | } |
| 510 | |
| 511 | // If there not a duplicate TOC item |
| 512 | else { |
| 513 | |
| 514 | // Adds the current TOC item text to the internal array |
| 515 | this.items.push(self.text()); |
| 516 | |
| 517 | } |
| 518 | |
| 519 | hashValue = this._generateHashValue(arr, self, index); |
| 520 | |
| 521 | // Appends a list item HTML element to the last unordered list HTML element found within the HTML element calling the plugin |
| 522 | item = $("<li/>", { |
| 523 | |
| 524 | // Sets a common class name to the list item |
| 525 | "class": itemClassName, |
| 526 | |
| 527 | "data-unique": hashValue |
| 528 | |
| 529 | }); |
| 530 | |
| 531 | if (this.options.theme !== "bootstrap3") { |
| 532 | |
| 533 | item.append($("<a/>", { |
| 534 | |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 535 | "html": self.html() |
Hao Zhu | a171b45 | 2019-01-15 17:14:34 -0600 | [diff] [blame] | 536 | |
| 537 | })); |
| 538 | |
| 539 | } else { |
| 540 | |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 541 | item.html(self.html()); |
Hao Zhu | a171b45 | 2019-01-15 17:14:34 -0600 | [diff] [blame] | 542 | |
| 543 | } |
| 544 | |
| 545 | // Adds an HTML anchor tag before the currently traversed HTML element |
| 546 | self.before($("<div/>", { |
| 547 | |
| 548 | // Sets a name attribute on the anchor tag to the text of the currently traversed HTML element (also making sure that all whitespace is replaced with an underscore) |
| 549 | "name": hashValue, |
| 550 | |
| 551 | "data-unique": hashValue |
| 552 | |
| 553 | })); |
| 554 | |
| 555 | return item; |
| 556 | |
| 557 | }, |
| 558 | |
| 559 | // _generateHashValue |
| 560 | // ------------------ |
| 561 | // Generates the hash value that will be used to refer to each item. |
| 562 | _generateHashValue: function(arr, self, index) { |
| 563 | |
| 564 | var hashValue = "", |
| 565 | hashGeneratorOption = this.options.hashGenerator; |
| 566 | |
| 567 | if (hashGeneratorOption === "pretty") { |
| 568 | |
| 569 | // prettify the text |
| 570 | hashValue = self.text().toLowerCase().replace(/\s/g, "-"); |
| 571 | |
| 572 | // fix double hyphens |
| 573 | while (hashValue.indexOf("--") > -1) { |
| 574 | hashValue = hashValue.replace(/--/g, "-"); |
| 575 | } |
| 576 | |
| 577 | // fix colon-space instances |
| 578 | while (hashValue.indexOf(":-") > -1) { |
| 579 | hashValue = hashValue.replace(/:-/g, "-"); |
| 580 | } |
| 581 | |
| 582 | } else if (typeof hashGeneratorOption === "function") { |
| 583 | |
| 584 | // call the function |
| 585 | hashValue = hashGeneratorOption(self.text(), self); |
| 586 | |
| 587 | } else { |
| 588 | |
| 589 | // compact - the default |
| 590 | hashValue = self.text().replace(/\s/g, ""); |
| 591 | |
| 592 | } |
| 593 | |
| 594 | // add the index if we need to |
| 595 | if (arr.length) { |
| 596 | hashValue += "" + index; |
| 597 | } |
| 598 | |
| 599 | // return the value |
| 600 | return hashValue; |
| 601 | |
| 602 | }, |
| 603 | |
| 604 | // _appendElements |
| 605 | // --------------- |
| 606 | // Helps create the table of contents list by appending subheader elements |
| 607 | |
| 608 | _appendSubheaders: function(self, ul) { |
| 609 | |
| 610 | // The current element index |
| 611 | var index = $(this).index(self.options.selectors), |
| 612 | |
| 613 | // Finds the previous header DOM element |
| 614 | previousHeader = $(self.options.selectors).eq(index - 1), |
| 615 | |
| 616 | currentTagName = +$(this).prop("tagName").charAt(1), |
| 617 | |
| 618 | previousTagName = +previousHeader.prop("tagName").charAt(1), |
| 619 | |
| 620 | lastSubheader; |
| 621 | |
| 622 | // If the current header DOM element is smaller than the previous header DOM element or the first subheader |
| 623 | if (currentTagName < previousTagName) { |
| 624 | |
| 625 | // Selects the last unordered list HTML found within the HTML element calling the plugin |
| 626 | self.element.find(subheaderClass + "[data-tag=" + currentTagName + "]").last().append(self._nestElements($(this), index)); |
| 627 | |
| 628 | } |
| 629 | |
| 630 | // If the current header DOM element is the same type of header(eg. h4) as the previous header DOM element |
| 631 | else if (currentTagName === previousTagName) { |
| 632 | |
| 633 | ul.find(itemClass).last().after(self._nestElements($(this), index)); |
| 634 | |
| 635 | } else { |
| 636 | |
| 637 | // Selects the last unordered list HTML found within the HTML element calling the plugin |
| 638 | ul.find(itemClass).last(). |
| 639 | |
| 640 | // Appends an unorderedList HTML element to the dynamic `unorderedList` variable and sets a common class name |
| 641 | after($("<ul/>", { |
| 642 | |
| 643 | "class": subheaderClassName, |
| 644 | |
| 645 | "data-tag": currentTagName |
| 646 | |
| 647 | })).next(subheaderClass). |
| 648 | |
| 649 | // Appends a list item HTML element to the last unordered list HTML element found within the HTML element calling the plugin |
| 650 | append(self._nestElements($(this), index)); |
| 651 | } |
| 652 | |
| 653 | }, |
| 654 | |
| 655 | // _setEventHandlers |
| 656 | // ---------------- |
| 657 | // Adds jQuery event handlers to the newly generated table of contents |
| 658 | _setEventHandlers: function() { |
| 659 | |
| 660 | // _Local variables_ |
| 661 | |
| 662 | // Stores the plugin context in the self variable |
| 663 | var self = this, |
| 664 | |
| 665 | // Instantiates a new variable that will be used to hold a specific element's context |
| 666 | $self, |
| 667 | |
| 668 | // Instantiates a new variable that will be used to determine the smoothScroll animation time duration |
| 669 | duration; |
| 670 | |
| 671 | // Event delegation that looks for any clicks on list item elements inside of the HTML element calling the plugin |
| 672 | this.element.on("click.tocify", "li", function(event) { |
| 673 | |
| 674 | if (self.options.history) { |
| 675 | |
| 676 | window.location.hash = $(this).attr("data-unique"); |
| 677 | |
| 678 | } |
| 679 | |
| 680 | // Removes highlighting from all of the list item's |
| 681 | self.element.find("." + self.focusClass).removeClass(self.focusClass); |
| 682 | |
| 683 | // Highlights the current list item that was clicked |
| 684 | $(this).addClass(self.focusClass); |
| 685 | |
| 686 | // If the showAndHide option is true |
| 687 | if (self.options.showAndHide) { |
| 688 | |
| 689 | var elem = $('li[data-unique="' + $(this).attr("data-unique") + '"]'); |
| 690 | |
| 691 | self._triggerShow(elem); |
| 692 | |
| 693 | } |
| 694 | |
| 695 | self._scrollTo($(this)); |
| 696 | |
| 697 | }); |
| 698 | |
| 699 | // Mouseenter and Mouseleave event handlers for the list item's within the HTML element calling the plugin |
| 700 | this.element.find("li").on({ |
| 701 | |
| 702 | // Mouseenter event handler |
| 703 | "mouseenter.tocify": function() { |
| 704 | |
| 705 | // Adds a hover CSS class to the current list item |
| 706 | $(this).addClass(self.hoverClass); |
| 707 | |
| 708 | // Makes sure the cursor is set to the pointer icon |
| 709 | $(this).css("cursor", "pointer"); |
| 710 | |
| 711 | }, |
| 712 | |
| 713 | // Mouseleave event handler |
| 714 | "mouseleave.tocify": function() { |
| 715 | |
| 716 | if (self.options.theme !== "bootstrap") { |
| 717 | |
| 718 | // Removes the hover CSS class from the current list item |
| 719 | $(this).removeClass(self.hoverClass); |
| 720 | |
| 721 | } |
| 722 | |
| 723 | } |
| 724 | }); |
| 725 | |
| 726 | // only attach handler if needed (expensive in IE) |
| 727 | if (self.options.extendPage || self.options.highlightOnScroll || self.options.scrollHistory || self.options.showAndHideOnScroll) { |
| 728 | // Window scroll event handler |
| 729 | $(window).on("scroll.tocify", function() { |
| 730 | |
| 731 | // Once all animations on the page are complete, this callback function will be called |
| 732 | $("html, body").promise().done(function() { |
| 733 | |
| 734 | // Local variables |
| 735 | |
| 736 | // Stores how far the user has scrolled |
| 737 | var winScrollTop = $(window).scrollTop(), |
| 738 | |
| 739 | // Stores the height of the window |
| 740 | winHeight = $(window).height(), |
| 741 | |
| 742 | // Stores the height of the document |
| 743 | docHeight = $(document).height(), |
| 744 | |
| 745 | scrollHeight = $("body")[0].scrollHeight, |
| 746 | |
| 747 | // Instantiates a variable that will be used to hold a selected HTML element |
| 748 | elem, |
| 749 | |
| 750 | lastElem, |
| 751 | |
| 752 | lastElemOffset, |
| 753 | |
| 754 | currentElem; |
| 755 | |
| 756 | if (self.options.extendPage) { |
| 757 | |
| 758 | // If the user has scrolled to the bottom of the page and the last toc item is not focused |
| 759 | if ((self.webkit && winScrollTop >= scrollHeight - winHeight - self.options.extendPageOffset) || (!self.webkit && winHeight + winScrollTop > docHeight - self.options.extendPageOffset)) { |
| 760 | |
| 761 | if (!$(extendPageClass).length) { |
| 762 | |
| 763 | lastElem = $('div[data-unique="' + $(itemClass).last().attr("data-unique") + '"]'); |
| 764 | |
| 765 | if (!lastElem.length) return; |
| 766 | |
| 767 | // Gets the top offset of the page header that is linked to the last toc item |
| 768 | lastElemOffset = lastElem.offset().top; |
| 769 | |
| 770 | // Appends a div to the bottom of the page and sets the height to the difference of the window scrollTop and the last element's position top offset |
| 771 | $(self.options.context).append($("<div/>", { |
| 772 | |
| 773 | "class": extendPageClassName, |
| 774 | |
| 775 | "height": Math.abs(lastElemOffset - winScrollTop) + "px", |
| 776 | |
| 777 | "data-unique": extendPageClassName |
| 778 | |
| 779 | })); |
| 780 | |
| 781 | if (self.extendPageScroll) { |
| 782 | |
| 783 | currentElem = self.element.find('li.' + self.focusClass); |
| 784 | |
| 785 | self._scrollTo($('div[data-unique="' + currentElem.attr("data-unique") + '"]')); |
| 786 | |
| 787 | } |
| 788 | |
| 789 | } |
| 790 | |
| 791 | } |
| 792 | |
| 793 | } |
| 794 | |
| 795 | // The zero timeout ensures the following code is run after the scroll events |
| 796 | setTimeout(function() { |
| 797 | |
| 798 | // _Local variables_ |
| 799 | |
| 800 | // Stores the distance to the closest anchor |
| 801 | var closestAnchorDistance = null, |
| 802 | |
| 803 | // Stores the index of the closest anchor |
| 804 | closestAnchorIdx = null, |
| 805 | |
| 806 | // Keeps a reference to all anchors |
| 807 | anchors = $(self.options.context).find("div[data-unique]"), |
| 808 | |
| 809 | anchorText; |
| 810 | |
| 811 | // Determines the index of the closest anchor |
| 812 | anchors.each(function(idx) { |
| 813 | var distance = Math.abs(($(this).next().length ? $(this).next() : $(this)).offset().top - winScrollTop - self.options.highlightOffset); |
| 814 | if (closestAnchorDistance == null || distance < closestAnchorDistance) { |
| 815 | closestAnchorDistance = distance; |
| 816 | closestAnchorIdx = idx; |
| 817 | } else { |
| 818 | return false; |
| 819 | } |
| 820 | }); |
| 821 | |
| 822 | anchorText = $(anchors[closestAnchorIdx]).attr("data-unique"); |
| 823 | |
| 824 | // Stores the list item HTML element that corresponds to the currently traversed anchor tag |
| 825 | elem = $('li[data-unique="' + anchorText + '"]'); |
| 826 | |
| 827 | // If the `highlightOnScroll` option is true and a next element is found |
| 828 | if (self.options.highlightOnScroll && elem.length) { |
| 829 | |
| 830 | // Removes highlighting from all of the list item's |
| 831 | self.element.find("." + self.focusClass).removeClass(self.focusClass); |
| 832 | |
| 833 | // Highlights the corresponding list item |
| 834 | elem.addClass(self.focusClass); |
| 835 | |
| 836 | } |
| 837 | |
| 838 | if (self.options.scrollHistory) { |
| 839 | |
| 840 | if (window.location.hash !== "#" + anchorText) { |
| 841 | |
| 842 | window.location.replace("#" + anchorText); |
| 843 | |
| 844 | } |
| 845 | } |
| 846 | |
| 847 | // If the `showAndHideOnScroll` option is true |
| 848 | if (self.options.showAndHideOnScroll && self.options.showAndHide) { |
| 849 | |
| 850 | self._triggerShow(elem, true); |
| 851 | |
| 852 | } |
| 853 | |
| 854 | }, 0); |
| 855 | |
| 856 | }); |
| 857 | |
| 858 | }); |
| 859 | } |
| 860 | |
| 861 | }, |
| 862 | |
| 863 | // Show |
| 864 | // ---- |
| 865 | // Opens the current sub-header |
| 866 | show: function(elem, scroll) { |
| 867 | |
| 868 | // Stores the plugin context in the `self` variable |
| 869 | var self = this, |
| 870 | element = elem; |
| 871 | |
| 872 | // If the sub-header is not already visible |
| 873 | if (!elem.is(":visible")) { |
| 874 | |
| 875 | // If the current element does not have any nested subheaders, is not a header, and its parent is not visible |
| 876 | if (!elem.find(subheaderClass).length && !elem.parent().is(headerClass) && !elem.parent().is(":visible")) { |
| 877 | |
| 878 | // Sets the current element to all of the subheaders within the current header |
| 879 | elem = elem.parents(subheaderClass).add(elem); |
| 880 | |
| 881 | } |
| 882 | |
| 883 | // If the current element does not have any nested subheaders and is not a header |
| 884 | else if (!elem.children(subheaderClass).length && !elem.parent().is(headerClass)) { |
| 885 | |
| 886 | // Sets the current element to the closest subheader |
| 887 | elem = elem.closest(subheaderClass); |
| 888 | |
| 889 | } |
| 890 | |
| 891 | //Determines what jQuery effect to use |
| 892 | switch (self.options.showEffect) { |
| 893 | |
| 894 | //Uses `no effect` |
| 895 | case "none": |
| 896 | |
| 897 | elem.show(); |
| 898 | |
| 899 | break; |
| 900 | |
| 901 | //Uses the jQuery `show` special effect |
| 902 | case "show": |
| 903 | |
| 904 | elem.show(self.options.showEffectSpeed); |
| 905 | |
| 906 | break; |
| 907 | |
| 908 | //Uses the jQuery `slideDown` special effect |
| 909 | case "slideDown": |
| 910 | |
| 911 | elem.slideDown(self.options.showEffectSpeed); |
| 912 | |
| 913 | break; |
| 914 | |
| 915 | //Uses the jQuery `fadeIn` special effect |
| 916 | case "fadeIn": |
| 917 | |
| 918 | elem.fadeIn(self.options.showEffectSpeed); |
| 919 | |
| 920 | break; |
| 921 | |
| 922 | //If none of the above options were passed, then a `jQueryUI show effect` is expected |
| 923 | default: |
| 924 | |
| 925 | elem.show(); |
| 926 | |
| 927 | break; |
| 928 | |
| 929 | } |
| 930 | |
| 931 | } |
| 932 | |
| 933 | // If the current subheader parent element is a header |
| 934 | if (elem.parent().is(headerClass)) { |
| 935 | |
| 936 | // Hides all non-active sub-headers |
| 937 | self.hide($(subheaderClass).not(elem)); |
| 938 | |
| 939 | } |
| 940 | |
| 941 | // If the current subheader parent element is not a header |
| 942 | else { |
| 943 | |
| 944 | // Hides all non-active sub-headers |
| 945 | self.hide($(subheaderClass).not(elem.closest(headerClass).find(subheaderClass).not(elem.siblings()))); |
| 946 | |
| 947 | } |
| 948 | |
| 949 | // Maintains chainablity |
| 950 | return self; |
| 951 | |
| 952 | }, |
| 953 | |
| 954 | // Hide |
| 955 | // ---- |
| 956 | // Closes the current sub-header |
| 957 | hide: function(elem) { |
| 958 | |
| 959 | // Stores the plugin context in the `self` variable |
| 960 | var self = this; |
| 961 | |
| 962 | //Determines what jQuery effect to use |
| 963 | switch (self.options.hideEffect) { |
| 964 | |
| 965 | // Uses `no effect` |
| 966 | case "none": |
| 967 | |
| 968 | elem.hide(); |
| 969 | |
| 970 | break; |
| 971 | |
| 972 | // Uses the jQuery `hide` special effect |
| 973 | case "hide": |
| 974 | |
| 975 | elem.hide(self.options.hideEffectSpeed); |
| 976 | |
| 977 | break; |
| 978 | |
| 979 | // Uses the jQuery `slideUp` special effect |
| 980 | case "slideUp": |
| 981 | |
| 982 | elem.slideUp(self.options.hideEffectSpeed); |
| 983 | |
| 984 | break; |
| 985 | |
| 986 | // Uses the jQuery `fadeOut` special effect |
| 987 | case "fadeOut": |
| 988 | |
| 989 | elem.fadeOut(self.options.hideEffectSpeed); |
| 990 | |
| 991 | break; |
| 992 | |
| 993 | // If none of the above options were passed, then a `jqueryUI hide effect` is expected |
| 994 | default: |
| 995 | |
| 996 | elem.hide(); |
| 997 | |
| 998 | break; |
| 999 | |
| 1000 | } |
| 1001 | |
| 1002 | // Maintains chainablity |
| 1003 | return self; |
| 1004 | }, |
| 1005 | |
| 1006 | // _triggerShow |
| 1007 | // ------------ |
| 1008 | // Determines what elements get shown on scroll and click |
| 1009 | _triggerShow: function(elem, scroll) { |
| 1010 | |
| 1011 | var self = this; |
| 1012 | |
| 1013 | // If the current element's parent is a header element or the next element is a nested subheader element |
| 1014 | if (elem.parent().is(headerClass) || elem.next().is(subheaderClass)) { |
| 1015 | |
| 1016 | // Shows the next sub-header element |
| 1017 | self.show(elem.next(subheaderClass), scroll); |
| 1018 | |
| 1019 | } |
| 1020 | |
| 1021 | // If the current element's parent is a subheader element |
| 1022 | else if (elem.parent().is(subheaderClass)) { |
| 1023 | |
| 1024 | // Shows the parent sub-header element |
| 1025 | self.show(elem.parent(), scroll); |
| 1026 | |
| 1027 | } |
| 1028 | |
| 1029 | // Maintains chainability |
| 1030 | return self; |
| 1031 | |
| 1032 | }, |
| 1033 | |
| 1034 | // _addCSSClasses |
| 1035 | // -------------- |
| 1036 | // Adds CSS classes to the newly generated table of contents HTML |
| 1037 | _addCSSClasses: function() { |
| 1038 | |
| 1039 | // If the user wants a jqueryUI theme |
| 1040 | if (this.options.theme === "jqueryui") { |
| 1041 | |
| 1042 | this.focusClass = "ui-state-default"; |
| 1043 | |
| 1044 | this.hoverClass = "ui-state-hover"; |
| 1045 | |
| 1046 | //Adds the default styling to the dropdown list |
| 1047 | this.element.addClass("ui-widget").find(".toc-title").addClass("ui-widget-header").end().find("li").addClass("ui-widget-content"); |
| 1048 | |
| 1049 | } |
| 1050 | |
| 1051 | // If the user wants a twitterBootstrap theme |
| 1052 | else if (this.options.theme === "bootstrap") { |
| 1053 | |
| 1054 | this.element.find(headerClass + "," + subheaderClass).addClass("nav nav-list"); |
| 1055 | |
| 1056 | this.focusClass = "active"; |
| 1057 | |
| 1058 | } |
| 1059 | |
| 1060 | // If the user wants a twitterBootstrap theme |
| 1061 | else if (this.options.theme === "bootstrap3") { |
| 1062 | |
| 1063 | this.element.find(headerClass + "," + subheaderClass).addClass("list-group"); |
| 1064 | |
| 1065 | this.element.find(itemClass).addClass("list-group-item"); |
| 1066 | |
| 1067 | this.focusClass = "active"; |
| 1068 | |
| 1069 | } |
| 1070 | |
| 1071 | // If a user does not want a prebuilt theme |
| 1072 | else { |
| 1073 | |
| 1074 | // Adds more neutral classes (instead of jqueryui) |
| 1075 | |
| 1076 | this.focusClass = tocFocusClassName; |
| 1077 | |
| 1078 | this.hoverClass = tocHoverClassName; |
| 1079 | |
| 1080 | } |
| 1081 | |
| 1082 | //Maintains chainability |
| 1083 | return this; |
| 1084 | |
| 1085 | }, |
| 1086 | |
| 1087 | // setOption |
| 1088 | // --------- |
| 1089 | // Sets a single Tocify option after the plugin is invoked |
| 1090 | setOption: function() { |
| 1091 | |
| 1092 | // Calls the jQueryUI Widget Factory setOption method |
| 1093 | $.Widget.prototype._setOption.apply(this, arguments); |
| 1094 | |
| 1095 | }, |
| 1096 | |
| 1097 | // setOptions |
| 1098 | // ---------- |
| 1099 | // Sets a single or multiple Tocify options after the plugin is invoked |
| 1100 | setOptions: function() { |
| 1101 | |
| 1102 | // Calls the jQueryUI Widget Factory setOptions method |
| 1103 | $.Widget.prototype._setOptions.apply(this, arguments); |
| 1104 | |
| 1105 | }, |
| 1106 | |
| 1107 | // _scrollTo |
| 1108 | // --------- |
| 1109 | // Scrolls to a specific element |
| 1110 | _scrollTo: function(elem) { |
| 1111 | |
| 1112 | var self = this, |
| 1113 | duration = self.options.smoothScroll || 0, |
| 1114 | scrollTo = self.options.scrollTo, |
| 1115 | currentDiv = $('div[data-unique="' + elem.attr("data-unique") + '"]'); |
| 1116 | |
| 1117 | if (!currentDiv.length) { |
| 1118 | |
| 1119 | return self; |
| 1120 | |
| 1121 | } |
| 1122 | |
| 1123 | // Once all animations on the page are complete, this callback function will be called |
| 1124 | $("html, body").promise().done(function() { |
| 1125 | |
| 1126 | // Animates the html and body element scrolltops |
| 1127 | $("html, body").animate({ |
| 1128 | |
| 1129 | // Sets the jQuery `scrollTop` to the top offset of the HTML div tag that matches the current list item's `data-unique` tag |
| 1130 | "scrollTop": currentDiv.offset().top - ($.isFunction(scrollTo) ? scrollTo.call() : scrollTo) + "px" |
| 1131 | |
| 1132 | }, { |
| 1133 | |
| 1134 | // Sets the smoothScroll animation time duration to the smoothScrollSpeed option |
| 1135 | "duration": duration |
| 1136 | |
| 1137 | }); |
| 1138 | |
| 1139 | }); |
| 1140 | |
| 1141 | // Maintains chainability |
| 1142 | return self; |
| 1143 | |
| 1144 | } |
| 1145 | |
| 1146 | }); |
| 1147 | |
| 1148 | })); //end of plugin |
| 1149 | </script> |
| 1150 | <script> |
| 1151 | |
| 1152 | /** |
| 1153 | * jQuery Plugin: Sticky Tabs |
| 1154 | * |
| 1155 | * @author Aidan Lister <aidan@php.net> |
| 1156 | * adapted by Ruben Arslan to activate parent tabs too |
| 1157 | * http://www.aidanlister.com/2014/03/persisting-the-tab-state-in-bootstrap/ |
| 1158 | */ |
| 1159 | (function($) { |
| 1160 | "use strict"; |
| 1161 | $.fn.rmarkdownStickyTabs = function() { |
| 1162 | var context = this; |
| 1163 | // Show the tab corresponding with the hash in the URL, or the first tab |
| 1164 | var showStuffFromHash = function() { |
| 1165 | var hash = window.location.hash; |
| 1166 | var selector = hash ? 'a[href="' + hash + '"]' : 'li.active > a'; |
| 1167 | var $selector = $(selector, context); |
| 1168 | if($selector.data('toggle') === "tab") { |
| 1169 | $selector.tab('show'); |
| 1170 | // walk up the ancestors of this element, show any hidden tabs |
| 1171 | $selector.parents('.section.tabset').each(function(i, elm) { |
| 1172 | var link = $('a[href="#' + $(elm).attr('id') + '"]'); |
| 1173 | if(link.data('toggle') === "tab") { |
| 1174 | link.tab("show"); |
| 1175 | } |
| 1176 | }); |
| 1177 | } |
| 1178 | }; |
| 1179 | |
| 1180 | |
| 1181 | // Set the correct tab when the page loads |
| 1182 | showStuffFromHash(context); |
| 1183 | |
| 1184 | // Set the correct tab when a user uses their back/forward button |
| 1185 | $(window).on('hashchange', function() { |
| 1186 | showStuffFromHash(context); |
| 1187 | }); |
| 1188 | |
| 1189 | // Change the URL when tabs are clicked |
| 1190 | $('a', context).on('click', function(e) { |
| 1191 | history.pushState(null, null, this.href); |
| 1192 | showStuffFromHash(context); |
| 1193 | }); |
| 1194 | |
| 1195 | return this; |
| 1196 | }; |
| 1197 | }(jQuery)); |
| 1198 | |
| 1199 | window.buildTabsets = function(tocID) { |
| 1200 | |
| 1201 | // build a tabset from a section div with the .tabset class |
| 1202 | function buildTabset(tabset) { |
| 1203 | |
| 1204 | // check for fade and pills options |
| 1205 | var fade = tabset.hasClass("tabset-fade"); |
| 1206 | var pills = tabset.hasClass("tabset-pills"); |
| 1207 | var navClass = pills ? "nav-pills" : "nav-tabs"; |
| 1208 | |
| 1209 | // determine the heading level of the tabset and tabs |
| 1210 | var match = tabset.attr('class').match(/level(\d) /); |
| 1211 | if (match === null) |
| 1212 | return; |
| 1213 | var tabsetLevel = Number(match[1]); |
| 1214 | var tabLevel = tabsetLevel + 1; |
| 1215 | |
| 1216 | // find all subheadings immediately below |
| 1217 | var tabs = tabset.find("div.section.level" + tabLevel); |
| 1218 | if (!tabs.length) |
| 1219 | return; |
| 1220 | |
| 1221 | // create tablist and tab-content elements |
| 1222 | var tabList = $('<ul class="nav ' + navClass + '" role="tablist"></ul>'); |
| 1223 | $(tabs[0]).before(tabList); |
| 1224 | var tabContent = $('<div class="tab-content"></div>'); |
| 1225 | $(tabs[0]).before(tabContent); |
| 1226 | |
| 1227 | // build the tabset |
| 1228 | var activeTab = 0; |
| 1229 | tabs.each(function(i) { |
| 1230 | |
| 1231 | // get the tab div |
| 1232 | var tab = $(tabs[i]); |
| 1233 | |
| 1234 | // get the id then sanitize it for use with bootstrap tabs |
| 1235 | var id = tab.attr('id'); |
| 1236 | |
| 1237 | // see if this is marked as the active tab |
| 1238 | if (tab.hasClass('active')) |
| 1239 | activeTab = i; |
| 1240 | |
| 1241 | // remove any table of contents entries associated with |
| 1242 | // this ID (since we'll be removing the heading element) |
| 1243 | $("div#" + tocID + " li a[href='#" + id + "']").parent().remove(); |
| 1244 | |
| 1245 | // sanitize the id for use with bootstrap tabs |
| 1246 | id = id.replace(/[.\/?&!#<>]/g, '').replace(/\s/g, '_'); |
| 1247 | tab.attr('id', id); |
| 1248 | |
| 1249 | // get the heading element within it, grab it's text, then remove it |
| 1250 | var heading = tab.find('h' + tabLevel + ':first'); |
| 1251 | var headingText = heading.html(); |
| 1252 | heading.remove(); |
| 1253 | |
| 1254 | // build and append the tab list item |
| 1255 | var a = $('<a role="tab" data-toggle="tab">' + headingText + '</a>'); |
| 1256 | a.attr('href', '#' + id); |
| 1257 | a.attr('aria-controls', id); |
| 1258 | var li = $('<li role="presentation"></li>'); |
| 1259 | li.append(a); |
| 1260 | tabList.append(li); |
| 1261 | |
| 1262 | // set it's attributes |
| 1263 | tab.attr('role', 'tabpanel'); |
| 1264 | tab.addClass('tab-pane'); |
| 1265 | tab.addClass('tabbed-pane'); |
| 1266 | if (fade) |
| 1267 | tab.addClass('fade'); |
| 1268 | |
| 1269 | // move it into the tab content div |
| 1270 | tab.detach().appendTo(tabContent); |
| 1271 | }); |
| 1272 | |
| 1273 | // set active tab |
| 1274 | $(tabList.children('li')[activeTab]).addClass('active'); |
| 1275 | var active = $(tabContent.children('div.section')[activeTab]); |
| 1276 | active.addClass('active'); |
| 1277 | if (fade) |
| 1278 | active.addClass('in'); |
| 1279 | |
| 1280 | if (tabset.hasClass("tabset-sticky")) |
| 1281 | tabset.rmarkdownStickyTabs(); |
| 1282 | } |
| 1283 | |
| 1284 | // convert section divs with the .tabset class to tabsets |
| 1285 | var tabsets = $("div.section.tabset"); |
| 1286 | tabsets.each(function(i) { |
| 1287 | buildTabset($(tabsets[i])); |
| 1288 | }); |
| 1289 | }; |
| 1290 | |
| 1291 | </script> |
| 1292 | <style type="text/css">.hljs-literal { |
| 1293 | color: #990073; |
| 1294 | } |
| 1295 | .hljs-number { |
| 1296 | color: #099; |
| 1297 | } |
| 1298 | .hljs-comment { |
| 1299 | color: #998; |
| 1300 | font-style: italic; |
| 1301 | } |
| 1302 | .hljs-keyword { |
| 1303 | color: #900; |
| 1304 | font-weight: bold; |
| 1305 | } |
| 1306 | .hljs-string { |
| 1307 | color: #d14; |
| 1308 | } |
| 1309 | </style> |
| 1310 | <script src="data:application/javascript;base64,LyohIGhpZ2hsaWdodC5qcyB2OS4xMi4wIHwgQlNEMyBMaWNlbnNlIHwgZ2l0LmlvL2hsanNsaWNlbnNlICovCiFmdW5jdGlvbihlKXt2YXIgbj0ib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93fHwib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGY7InVuZGVmaW5lZCIhPXR5cGVvZiBleHBvcnRzP2UoZXhwb3J0cyk6biYmKG4uaGxqcz1lKHt9KSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kJiZkZWZpbmUoW10sZnVuY3Rpb24oKXtyZXR1cm4gbi5obGpzfSkpfShmdW5jdGlvbihlKXtmdW5jdGlvbiBuKGUpe3JldHVybiBlLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKX1mdW5jdGlvbiB0KGUpe3JldHVybiBlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gcihlLG4pe3ZhciB0PWUmJmUuZXhlYyhuKTtyZXR1cm4gdCYmMD09PXQuaW5kZXh9ZnVuY3Rpb24gYShlKXtyZXR1cm4gay50ZXN0KGUpfWZ1bmN0aW9uIGkoZSl7dmFyIG4sdCxyLGksbz1lLmNsYXNzTmFtZSsiICI7aWYobys9ZS5wYXJlbnROb2RlP2UucGFyZW50Tm9kZS5jbGFzc05hbWU6IiIsdD1CLmV4ZWMobykpcmV0dXJuIHcodFsxXSk/dFsxXToibm8taGlnaGxpZ2h0Ijtmb3Iobz1vLnNwbGl0KC9ccysvKSxuPTAscj1vLmxlbmd0aDtyPm47bisrKWlmKGk9b1tuXSxhKGkpfHx3KGkpKXJldHVybiBpfWZ1bmN0aW9uIG8oZSl7dmFyIG4sdD17fSxyPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtmb3IobiBpbiBlKXRbbl09ZVtuXTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKGUpe2ZvcihuIGluIGUpdFtuXT1lW25dfSksdH1mdW5jdGlvbiB1KGUpe3ZhciBuPVtdO3JldHVybiBmdW5jdGlvbiByKGUsYSl7Zm9yKHZhciBpPWUuZmlyc3RDaGlsZDtpO2k9aS5uZXh0U2libGluZykzPT09aS5ub2RlVHlwZT9hKz1pLm5vZGVWYWx1ZS5sZW5ndGg6MT09PWkubm9kZVR5cGUmJihuLnB1c2goe2V2ZW50OiJzdGFydCIsb2Zmc2V0OmEsbm9kZTppfSksYT1yKGksYSksdChpKS5tYXRjaCgvYnJ8aHJ8aW1nfGlucHV0Lyl8fG4ucHVzaCh7ZXZlbnQ6InN0b3AiLG9mZnNldDphLG5vZGU6aX0pKTtyZXR1cm4gYX0oZSwwKSxufWZ1bmN0aW9uIGMoZSxyLGEpe2Z1bmN0aW9uIGkoKXtyZXR1cm4gZS5sZW5ndGgmJnIubGVuZ3RoP2VbMF0ub2Zmc2V0IT09clswXS5vZmZzZXQ/ZVswXS5vZmZzZXQ8clswXS5vZmZzZXQ/ZTpyOiJzdGFydCI9PT1yWzBdLmV2ZW50P2U6cjplLmxlbmd0aD9lOnJ9ZnVuY3Rpb24gbyhlKXtmdW5jdGlvbiByKGUpe3JldHVybiIgIitlLm5vZGVOYW1lKyc9IicrbihlLnZhbHVlKS5yZXBsYWNlKCciJywiJnF1b3Q7IikrJyInfXMrPSI8Iit0KGUpK0UubWFwLmNhbGwoZS5hdHRyaWJ1dGVzLHIpLmpvaW4oIiIpKyI+In1mdW5jdGlvbiB1KGUpe3MrPSI8LyIrdChlKSsiPiJ9ZnVuY3Rpb24gYyhlKXsoInN0YXJ0Ij09PWUuZXZlbnQ/bzp1KShlLm5vZGUpfWZvcih2YXIgbD0wLHM9IiIsZj1bXTtlLmxlbmd0aHx8ci5sZW5ndGg7KXt2YXIgZz1pKCk7aWYocys9bihhLnN1YnN0cmluZyhsLGdbMF0ub2Zmc2V0KSksbD1nWzBdLm9mZnNldCxnPT09ZSl7Zi5yZXZlcnNlKCkuZm9yRWFjaCh1KTtkbyBjKGcuc3BsaWNlKDAsMSlbMF0pLGc9aSgpO3doaWxlKGc9PT1lJiZnLmxlbmd0aCYmZ1swXS5vZmZzZXQ9PT1sKTtmLnJldmVyc2UoKS5mb3JFYWNoKG8pfWVsc2Uic3RhcnQiPT09Z1swXS5ldmVudD9mLnB1c2goZ1swXS5ub2RlKTpmLnBvcCgpLGMoZy5zcGxpY2UoMCwxKVswXSl9cmV0dXJuIHMrbihhLnN1YnN0cihsKSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4gZS52JiYhZS5jYWNoZWRfdmFyaWFudHMmJihlLmNhY2hlZF92YXJpYW50cz1lLnYubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBvKGUse3Y6bnVsbH0sbil9KSksZS5jYWNoZWRfdmFyaWFudHN8fGUuZVcmJltvKGUpXXx8W2VdfWZ1bmN0aW9uIHMoZSl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZSYmZS5zb3VyY2V8fGV9ZnVuY3Rpb24gdCh0LHIpe3JldHVybiBuZXcgUmVnRXhwKG4odCksIm0iKyhlLmNJPyJpIjoiIikrKHI/ImciOiIiKSl9ZnVuY3Rpb24gcihhLGkpe2lmKCFhLmNvbXBpbGVkKXtpZihhLmNvbXBpbGVkPSEwLGEuaz1hLmt8fGEuYkssYS5rKXt2YXIgbz17fSx1PWZ1bmN0aW9uKG4sdCl7ZS5jSSYmKHQ9dC50b0xvd2VyQ2FzZSgpKSx0LnNwbGl0KCIgIikuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLnNwbGl0KCJ8Iik7b1t0WzBdXT1bbix0WzFdP051bWJlcih0WzFdKToxXX0pfTsic3RyaW5nIj09dHlwZW9mIGEuaz91KCJrZXl3b3JkIixhLmspOngoYS5rKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3UoZSxhLmtbZV0pfSksYS5rPW99YS5sUj10KGEubHx8L1x3Ky8sITApLGkmJihhLmJLJiYoYS5iPSJcXGIoIithLmJLLnNwbGl0KCIgIikuam9pbigifCIpKyIpXFxiIiksYS5ifHwoYS5iPS9cQnxcYi8pLGEuYlI9dChhLmIpLGEuZXx8YS5lV3x8KGEuZT0vXEJ8XGIvKSxhLmUmJihhLmVSPXQoYS5lKSksYS50RT1uKGEuZSl8fCIiLGEuZVcmJmkudEUmJihhLnRFKz0oYS5lPyJ8IjoiIikraS50RSkpLGEuaSYmKGEuaVI9dChhLmkpKSxudWxsPT1hLnImJihhLnI9MSksYS5jfHwoYS5jPVtdKSxhLmM9QXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxhLmMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBsKCJzZWxmIj09PWU/YTplKX0pKSxhLmMuZm9yRWFjaChmdW5jdGlvbihlKXtyKGUsYSl9KSxhLnN0YXJ0cyYmcihhLnN0YXJ0cyxpKTt2YXIgYz1hLmMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLmJLPyJcXC4/KCIrZS5iKyIpXFwuPyI6ZS5ifSkuY29uY2F0KFthLnRFLGEuaV0pLm1hcChuKS5maWx0ZXIoQm9vbGVhbik7YS50PWMubGVuZ3RoP3QoYy5qb2luKCJ8IiksITApOntleGVjOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fX19cihlKX1mdW5jdGlvbiBmKGUsdCxhLGkpe2Z1bmN0aW9uIG8oZSxuKXt2YXIgdCxhO2Zvcih0PTAsYT1uLmMubGVuZ3RoO2E+dDt0KyspaWYocihuLmNbdF0uYlIsZSkpcmV0dXJuIG4uY1t0XX1mdW5jdGlvbiB1KGUsbil7aWYocihlLmVSLG4pKXtmb3IoO2UuZW5kc1BhcmVudCYmZS5wYXJlbnQ7KWU9ZS5wYXJlbnQ7cmV0dXJuIGV9cmV0dXJuIGUuZVc/dShlLnBhcmVudCxuKTp2b2lkIDB9ZnVuY3Rpb24gYyhlLG4pe3JldHVybiFhJiZyKG4uaVIsZSl9ZnVuY3Rpb24gbChlLG4pe3ZhciB0PU4uY0k/blswXS50b0xvd2VyQ2FzZSgpOm5bMF07cmV0dXJuIGUuay5oYXNPd25Qcm9wZXJ0eSh0KSYmZS5rW3RdfWZ1bmN0aW9uIHAoZSxuLHQscil7dmFyIGE9cj8iIjpJLmNsYXNzUHJlZml4LGk9JzxzcGFuIGNsYXNzPSInK2Esbz10PyIiOkM7cmV0dXJuIGkrPWUrJyI+JyxpK24rb31mdW5jdGlvbiBoKCl7dmFyIGUsdCxyLGE7aWYoIUUuaylyZXR1cm4gbihrKTtmb3IoYT0iIix0PTAsRS5sUi5sYXN0SW5kZXg9MCxyPUUubFIuZXhlYyhrKTtyOylhKz1uKGsuc3Vic3RyaW5nKHQsci5pbmRleCkpLGU9bChFLHIpLGU/KEIrPWVbMV0sYSs9cChlWzBdLG4oclswXSkpKTphKz1uKHJbMF0pLHQ9RS5sUi5sYXN0SW5kZXgscj1FLmxSLmV4ZWMoayk7cmV0dXJuIGErbihrLnN1YnN0cih0KSl9ZnVuY3Rpb24gZCgpe3ZhciBlPSJzdHJpbmciPT10eXBlb2YgRS5zTDtpZihlJiYheVtFLnNMXSlyZXR1cm4gbihrKTt2YXIgdD1lP2YoRS5zTCxrLCEwLHhbRS5zTF0pOmcoayxFLnNMLmxlbmd0aD9FLnNMOnZvaWQgMCk7cmV0dXJuIEUucj4wJiYoQis9dC5yKSxlJiYoeFtFLnNMXT10LnRvcCkscCh0Lmxhbmd1YWdlLHQudmFsdWUsITEsITApfWZ1bmN0aW9uIGIoKXtMKz1udWxsIT1FLnNMP2QoKTpoKCksaz0iIn1mdW5jdGlvbiB2KGUpe0wrPWUuY04/cChlLmNOLCIiLCEwKToiIixFPU9iamVjdC5jcmVhdGUoZSx7cGFyZW50Ont2YWx1ZTpFfX0pfWZ1bmN0aW9uIG0oZSxuKXtpZihrKz1lLG51bGw9PW4pcmV0dXJuIGIoKSwwO3ZhciB0PW8obixFKTtpZih0KXJldHVybiB0LnNraXA/ays9bjoodC5lQiYmKGsrPW4pLGIoKSx0LnJCfHx0LmVCfHwoaz1uKSksdih0LG4pLHQuckI/MDpuLmxlbmd0aDt2YXIgcj11KEUsbik7aWYocil7dmFyIGE9RTthLnNraXA/ays9bjooYS5yRXx8YS5lRXx8KGsrPW4pLGIoKSxhLmVFJiYoaz1uKSk7ZG8gRS5jTiYmKEwrPUMpLEUuc2tpcHx8KEIrPUUuciksRT1FLnBhcmVudDt3aGlsZShFIT09ci5wYXJlbnQpO3JldHVybiByLnN0YXJ0cyYmdihyLnN0YXJ0cywiIiksYS5yRT8wOm4ubGVuZ3RofWlmKGMobixFKSl0aHJvdyBuZXcgRXJyb3IoJ0lsbGVnYWwgbGV4ZW1lICInK24rJyIgZm9yIG1vZGUgIicrKEUuY058fCI8dW5uYW1lZD4iKSsnIicpO3JldHVybiBrKz1uLG4ubGVuZ3RofHwxfXZhciBOPXcoZSk7aWYoIU4pdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIGxhbmd1YWdlOiAiJytlKyciJyk7cyhOKTt2YXIgUixFPWl8fE4seD17fSxMPSIiO2ZvcihSPUU7UiE9PU47Uj1SLnBhcmVudClSLmNOJiYoTD1wKFIuY04sIiIsITApK0wpO3ZhciBrPSIiLEI9MDt0cnl7Zm9yKHZhciBNLGosTz0wOzspe2lmKEUudC5sYXN0SW5kZXg9TyxNPUUudC5leGVjKHQpLCFNKWJyZWFrO2o9bSh0LnN1YnN0cmluZyhPLE0uaW5kZXgpLE1bMF0pLE89TS5pbmRleCtqfWZvcihtKHQuc3Vic3RyKE8pKSxSPUU7Ui5wYXJlbnQ7Uj1SLnBhcmVudClSLmNOJiYoTCs9Qyk7cmV0dXJue3I6Qix2YWx1ZTpMLGxhbmd1YWdlOmUsdG9wOkV9fWNhdGNoKFQpe2lmKFQubWVzc2FnZSYmLTEhPT1ULm1lc3NhZ2UuaW5kZXhPZigiSWxsZWdhbCIpKXJldHVybntyOjAsdmFsdWU6bih0KX07dGhyb3cgVH19ZnVuY3Rpb24gZyhlLHQpe3Q9dHx8SS5sYW5ndWFnZXN8fHgoeSk7dmFyIHI9e3I6MCx2YWx1ZTpuKGUpfSxhPXI7cmV0dXJuIHQuZmlsdGVyKHcpLmZvckVhY2goZnVuY3Rpb24obil7dmFyIHQ9ZihuLGUsITEpO3QubGFuZ3VhZ2U9bix0LnI+YS5yJiYoYT10KSx0LnI+ci5yJiYoYT1yLHI9dCl9KSxhLmxhbmd1YWdlJiYoci5zZWNvbmRfYmVzdD1hKSxyfWZ1bmN0aW9uIHAoZSl7cmV0dXJuIEkudGFiUmVwbGFjZXx8SS51c2VCUj9lLnJlcGxhY2UoTSxmdW5jdGlvbihlLG4pe3JldHVybiBJLnVzZUJSJiYiXG4iPT09ZT8iPGJyPiI6SS50YWJSZXBsYWNlP24ucmVwbGFjZSgvXHQvZyxJLnRhYlJlcGxhY2UpOiIifSk6ZX1mdW5jdGlvbiBoKGUsbix0KXt2YXIgcj1uP0xbbl06dCxhPVtlLnRyaW0oKV07cmV0dXJuIGUubWF0Y2goL1xiaGxqc1xiLyl8fGEucHVzaCgiaGxqcyIpLC0xPT09ZS5pbmRleE9mKHIpJiZhLnB1c2gociksYS5qb2luKCIgIikudHJpbSgpfWZ1bmN0aW9uIGQoZSl7dmFyIG4sdCxyLG8sbCxzPWkoZSk7YShzKXx8KEkudXNlQlI/KG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiZGl2Iiksbi5pbm5lckhUTUw9ZS5pbm5lckhUTUwucmVwbGFjZSgvXG4vZywiIikucmVwbGFjZSgvPGJyWyBcL10qPi9nLCJcbiIpKTpuPWUsbD1uLnRleHRDb250ZW50LHI9cz9mKHMsbCwhMCk6ZyhsKSx0PXUobiksdC5sZW5ndGgmJihvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsImRpdiIpLG8uaW5uZXJIVE1MPXIudmFsdWUsci52YWx1ZT1jKHQsdShvKSxsKSksci52YWx1ZT1wKHIudmFsdWUpLGUuaW5uZXJIVE1MPXIudmFsdWUsZS5jbGFzc05hbWU9aChlLmNsYXNzTmFtZSxzLHIubGFuZ3VhZ2UpLGUucmVzdWx0PXtsYW5ndWFnZTpyLmxhbmd1YWdlLHJlOnIucn0sci5zZWNvbmRfYmVzdCYmKGUuc2Vjb25kX2Jlc3Q9e2xhbmd1YWdlOnIuc2Vjb25kX2Jlc3QubGFuZ3VhZ2UscmU6ci5zZWNvbmRfYmVzdC5yfSkpfWZ1bmN0aW9uIGIoZSl7ST1vKEksZSl9ZnVuY3Rpb24gdigpe2lmKCF2LmNhbGxlZCl7di5jYWxsZWQ9ITA7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgicHJlIGNvZGUiKTtFLmZvckVhY2guY2FsbChlLGQpfX1mdW5jdGlvbiBtKCl7YWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsdiwhMSksYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsdiwhMSl9ZnVuY3Rpb24gTihuLHQpe3ZhciByPXlbbl09dChlKTtyLmFsaWFzZXMmJnIuYWxpYXNlcy5mb3JFYWNoKGZ1bmN0aW9uKGUpe0xbZV09bn0pfWZ1bmN0aW9uIFIoKXtyZXR1cm4geCh5KX1mdW5jdGlvbiB3KGUpe3JldHVybiBlPShlfHwiIikudG9Mb3dlckNhc2UoKSx5W2VdfHx5W0xbZV1dfXZhciBFPVtdLHg9T2JqZWN0LmtleXMseT17fSxMPXt9LGs9L14obm8tP2hpZ2hsaWdodHxwbGFpbnx0ZXh0KSQvaSxCPS9cYmxhbmcoPzp1YWdlKT8tKFtcdy1dKylcYi9pLE09LygoXig8W14+XSs+fFx0fCkrfCg/OlxuKSkpL2dtLEM9Ijwvc3Bhbj4iLEk9e2NsYXNzUHJlZml4OiJobGpzLSIsdGFiUmVwbGFjZTpudWxsLHVzZUJSOiExLGxhbmd1YWdlczp2b2lkIDB9O3JldHVybiBlLmhpZ2hsaWdodD1mLGUuaGlnaGxpZ2h0QXV0bz1nLGUuZml4TWFya3VwPXAsZS5oaWdobGlnaHRCbG9jaz1kLGUuY29uZmlndXJlPWIsZS5pbml0SGlnaGxpZ2h0aW5nPXYsZS5pbml0SGlnaGxpZ2h0aW5nT25Mb2FkPW0sZS5yZWdpc3Rlckxhbmd1YWdlPU4sZS5saXN0TGFuZ3VhZ2VzPVIsZS5nZXRMYW5ndWFnZT13LGUuaW5oZXJpdD1vLGUuSVI9IlthLXpBLVpdXFx3KiIsZS5VSVI9IlthLXpBLVpfXVxcdyoiLGUuTlI9IlxcYlxcZCsoXFwuXFxkKyk/IixlLkNOUj0iKC0/KShcXGIwW3hYXVthLWZBLUYwLTldK3woXFxiXFxkKyhcXC5cXGQqKT98XFwuXFxkKykoW2VFXVstK10/XFxkKyk/KSIsZS5CTlI9IlxcYigwYlswMV0rKSIsZS5SU1I9IiF8IT18IT09fCV8JT18JnwmJnwmPXxcXCp8XFwqPXxcXCt8XFwrPXwsfC18LT18Lz18L3w6fDt8PDx8PDw9fDw9fDx8PT09fD09fD18Pj4+PXw+Pj18Pj18Pj4+fD4+fD58XFw/fFxcW3xcXHt8XFwofFxcXnxcXF49fFxcfHxcXHw9fFxcfFxcfHx+IixlLkJFPXtiOiJcXFxcW1xcc1xcU10iLHI6MH0sZS5BU009e2NOOiJzdHJpbmciLGI6IiciLGU6IiciLGk6IlxcbiIsYzpbZS5CRV19LGUuUVNNPXtjTjoic3RyaW5nIixiOiciJyxlOiciJyxpOiJcXG4iLGM6W2UuQkVdfSxlLlBXTT17YjovXGIoYXxhbnx0aGV8YXJlfEknbXxpc24ndHxkb24ndHxkb2Vzbid0fHdvbid0fGJ1dHxqdXN0fHNob3VsZHxwcmV0dHl8c2ltcGx5fGVub3VnaHxnb25uYXxnb2luZ3x3dGZ8c298c3VjaHx3aWxsfHlvdXx5b3VyfHRoZXl8bGlrZXxtb3JlKVxiL30sZS5DPWZ1bmN0aW9uKG4sdCxyKXt2YXIgYT1lLmluaGVyaXQoe2NOOiJjb21tZW50IixiOm4sZTp0LGM6W119LHJ8fHt9KTtyZXR1cm4gYS5jLnB1c2goZS5QV00pLGEuYy5wdXNoKHtjTjoiZG9jdGFnIixiOiIoPzpUT0RPfEZJWE1FfE5PVEV8QlVHfFhYWCk6IixyOjB9KSxhfSxlLkNMQ009ZS5DKCIvLyIsIiQiKSxlLkNCQ009ZS5DKCIvXFwqIiwiXFwqLyIpLGUuSENNPWUuQygiIyIsIiQiKSxlLk5NPXtjTjoibnVtYmVyIixiOmUuTlIscjowfSxlLkNOTT17Y046Im51bWJlciIsYjplLkNOUixyOjB9LGUuQk5NPXtjTjoibnVtYmVyIixiOmUuQk5SLHI6MH0sZS5DU1NOTT17Y046Im51bWJlciIsYjplLk5SKyIoJXxlbXxleHxjaHxyZW18dnd8dmh8dm1pbnx2bWF4fGNtfG1tfGlufHB0fHBjfHB4fGRlZ3xncmFkfHJhZHx0dXJufHN8bXN8SHp8a0h6fGRwaXxkcGNtfGRwcHgpPyIscjowfSxlLlJNPXtjTjoicmVnZXhwIixiOi9cLy8sZTovXC9bZ2ltdXldKi8saTovXG4vLGM6W2UuQkUse2I6L1xbLyxlOi9cXS8scjowLGM6W2UuQkVdfV19LGUuVE09e2NOOiJ0aXRsZSIsYjplLklSLHI6MH0sZS5VVE09e2NOOiJ0aXRsZSIsYjplLlVJUixyOjB9LGUuTUVUSE9EX0dVQVJEPXtiOiJcXC5cXHMqIitlLlVJUixyOjB9LGV9KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInNxbCIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS5DKCItLSIsIiQiKTtyZXR1cm57Y0k6ITAsaTovWzw+e30qI10vLGM6W3tiSzoiYmVnaW4gZW5kIHN0YXJ0IGNvbW1pdCByb2xsYmFjayBzYXZlcG9pbnQgbG9jayBhbHRlciBjcmVhdGUgZHJvcCByZW5hbWUgY2FsbCBkZWxldGUgZG8gaGFuZGxlciBpbnNlcnQgbG9hZCByZXBsYWNlIHNlbGVjdCB0cnVuY2F0ZSB1cGRhdGUgc2V0IHNob3cgcHJhZ21hIGdyYW50IG1lcmdlIGRlc2NyaWJlIHVzZSBleHBsYWluIGhlbHAgZGVjbGFyZSBwcmVwYXJlIGV4ZWN1dGUgZGVhbGxvY2F0ZSByZWxlYXNlIHVubG9jayBwdXJnZSByZXNldCBjaGFuZ2Ugc3RvcCBhbmFseXplIGNhY2hlIGZsdXNoIG9wdGltaXplIHJlcGFpciBraWxsIGluc3RhbGwgdW5pbnN0YWxsIGNoZWNrc3VtIHJlc3RvcmUgY2hlY2sgYmFja3VwIHJldm9rZSBjb21tZW50IixlOi87LyxlVzohMCxsOi9bXHdcLl0rLyxrOntrZXl3b3JkOiJhYm9ydCBhYnMgYWJzb2x1dGUgYWNjIGFjY2UgYWNjZXAgYWNjZXB0IGFjY2VzcyBhY2Nlc3NlZCBhY2Nlc3NpYmxlIGFjY291bnQgYWNvcyBhY3Rpb24gYWN0aXZhdGUgYWRkIGFkZHRpbWUgYWRtaW4gYWRtaW5pc3RlciBhZHZhbmNlZCBhZHZpc2UgYWVzX2RlY3J5cHQgYWVzX2VuY3J5cHQgYWZ0ZXIgYWdlbnQgYWdncmVnYXRlIGFsaSBhbGlhIGFsaWFzIGFsbG9jYXRlIGFsbG93IGFsdGVyIGFsd2F5cyBhbmFseXplIGFuY2lsbGFyeSBhbmQgYW55IGFueWRhdGEgYW55ZGF0YXNldCBhbnlzY2hlbWEgYW55dHlwZSBhcHBseSBhcmNoaXZlIGFyY2hpdmVkIGFyY2hpdmVsb2cgYXJlIGFzIGFzYyBhc2NpaSBhc2luIGFzc2VtYmx5IGFzc2VydGlvbiBhc3NvY2lhdGUgYXN5bmNocm9ub3VzIGF0IGF0YW4gYXRuMiBhdHRyIGF0dHJpIGF0dHJpYiBhdHRyaWJ1IGF0dHJpYnV0IGF0dHJpYnV0ZSBhdHRyaWJ1dGVzIGF1ZGl0IGF1dGhlbnRpY2F0ZWQgYXV0aGVudGljYXRpb24gYXV0aGlkIGF1dGhvcnMgYXV0byBhdXRvYWxsb2NhdGUgYXV0b2RibGluayBhdXRvZXh0ZW5kIGF1dG9tYXRpYyBhdmFpbGFiaWxpdHkgYXZnIGJhY2t1cCBiYWRmaWxlIGJhc2ljZmlsZSBiZWZvcmUgYmVnaW4gYmVnaW5uaW5nIGJlbmNobWFyayBiZXR3ZWVuIGJmaWxlIGJmaWxlX2Jhc2UgYmlnIGJpZ2ZpbGUgYmluIGJpbmFyeV9kb3VibGUgYmluYXJ5X2Zsb2F0IGJpbmxvZyBiaXRfYW5kIGJpdF9jb3VudCBiaXRfbGVuZ3RoIGJpdF9vciBiaXRfeG9yIGJpdG1hcCBibG9iX2Jhc2UgYmxvY2sgYmxvY2tzaXplIGJvZHkgYm90aCBib3VuZCBidWZmZXJfY2FjaGUgYnVmZmVyX3Bvb2wgYnVpbGQgYnVsayBieSBieXRlIGJ5dGVvcmRlcm1hcmsgYnl0ZXMgY2FjaGUgY2FjaGluZyBjYWxsIGNhbGxpbmcgY2FuY2VsIGNhcGFjaXR5IGNhc2NhZGUgY2FzY2FkZWQgY2FzZSBjYXN0IGNhdGFsb2cgY2F0ZWdvcnkgY2VpbCBjZWlsaW5nIGNoYWluIGNoYW5nZSBjaGFuZ2VkIGNoYXJfYmFzZSBjaGFyX2xlbmd0aCBjaGFyYWN0ZXJfbGVuZ3RoIGNoYXJhY3RlcnMgY2hhcmFjdGVyc2V0IGNoYXJpbmRleCBjaGFyc2V0IGNoYXJzZXRmb3JtIGNoYXJzZXRpZCBjaGVjayBjaGVja3N1bSBjaGVja3N1bV9hZ2cgY2hpbGQgY2hvb3NlIGNociBjaHVuayBjbGFzcyBjbGVhbnVwIGNsZWFyIGNsaWVudCBjbG9iIGNsb2JfYmFzZSBjbG9uZSBjbG9zZSBjbHVzdGVyX2lkIGNsdXN0ZXJfcHJvYmFiaWxpdHkgY2x1c3Rlcl9zZXQgY2x1c3RlcmluZyBjb2FsZXNjZSBjb2VyY2liaWxpdHkgY29sIGNvbGxhdGUgY29sbGF0aW9uIGNvbGxlY3QgY29sdSBjb2x1bSBjb2x1bW4gY29sdW1uX3ZhbHVlIGNvbHVtbnMgY29sdW1uc191cGRhdGVkIGNvbW1lbnQgY29tbWl0IGNvbXBhY3QgY29tcGF0aWJpbGl0eSBjb21waWxlZCBjb21wbGV0ZSBjb21wb3NpdGVfbGltaXQgY29tcG91bmQgY29tcHJlc3MgY29tcHV0ZSBjb25jYXQgY29uY2F0X3dzIGNvbmN1cnJlbnQgY29uZmlybSBjb25uIGNvbm5lYyBjb25uZWN0IGNvbm5lY3RfYnlfaXNjeWNsZSBjb25uZWN0X2J5X2lzbGVhZiBjb25uZWN0X2J5X3Jvb3QgY29ubmVjdF90aW1lIGNvbm5lY3Rpb24gY29uc2lkZXIgY29uc2lzdGVudCBjb25zdGFudCBjb25zdHJhaW50IGNvbnN0cmFpbnRzIGNvbnN0cnVjdG9yIGNvbnRhaW5lciBjb250ZW50IGNvbnRlbnRzIGNvbnRleHQgY29udHJpYnV0b3JzIGNvbnRyb2xmaWxlIGNvbnYgY29udmVydCBjb252ZXJ0X3R6IGNvcnIgY29ycl9rIGNvcnJfcyBjb3JyZXNwb25kaW5nIGNvcnJ1cHRpb24gY29zIGNvc3QgY291bnQgY291bnRfYmlnIGNvdW50ZWQgY292YXJfcG9wIGNvdmFyX3NhbXAgY3B1X3Blcl9jYWxsIGNwdV9wZXJfc2Vzc2lvbiBjcmMzMiBjcmVhdGUgY3JlYXRpb24gY3JpdGljYWwgY3Jvc3MgY3ViZSBjdW1lX2Rpc3QgY3VyZGF0ZSBjdXJyZW50IGN1cnJlbnRfZGF0ZSBjdXJyZW50X3RpbWUgY3VycmVudF90aW1lc3RhbXAgY3VycmVudF91c2VyIGN1cnNvciBjdXJ0aW1lIGN1c3RvbWRhdHVtIGN5Y2xlIGRhdGEgZGF0YWJhc2UgZGF0YWJhc2VzIGRhdGFmaWxlIGRhdGFmaWxlcyBkYXRhbGVuZ3RoIGRhdGVfYWRkIGRhdGVfY2FjaGUgZGF0ZV9mb3JtYXQgZGF0ZV9zdWIgZGF0ZWFkZCBkYXRlZGlmZiBkYXRlZnJvbXBhcnRzIGRhdGVuYW1lIGRhdGVwYXJ0IGRhdGV0aW1lMmZyb21wYXJ0cyBkYXkgZGF5X3RvX3NlY29uZCBkYXluYW1lIGRheW9mbW9udGggZGF5b2Z3ZWVrIGRheW9meWVhciBkYXlzIGRiX3JvbGVfY2hhbmdlIGRidGltZXpvbmUgZGRsIGRlYWxsb2NhdGUgZGVjbGFyZSBkZWNvZGUgZGVjb21wb3NlIGRlY3JlbWVudCBkZWNyeXB0IGRlZHVwbGljYXRlIGRlZiBkZWZhIGRlZmF1IGRlZmF1bCBkZWZhdWx0IGRlZmF1bHRzIGRlZmVycmVkIGRlZmkgZGVmaW4gZGVmaW5lIGRlZ3JlZXMgZGVsYXllZCBkZWxlZ2F0ZSBkZWxldGUgZGVsZXRlX2FsbCBkZWxpbWl0ZWQgZGVtYW5kIGRlbnNlX3JhbmsgZGVwdGggZGVxdWV1ZSBkZXNfZGVjcnlwdCBkZXNfZW5jcnlwdCBkZXNfa2V5X2ZpbGUgZGVzYyBkZXNjciBkZXNjcmkgZGVzY3JpYiBkZXNjcmliZSBkZXNjcmlwdG9yIGRldGVybWluaXN0aWMgZGlhZ25vc3RpY3MgZGlmZmVyZW5jZSBkaW1lbnNpb24gZGlyZWN0X2xvYWQgZGlyZWN0b3J5IGRpc2FibGUgZGlzYWJsZV9hbGwgZGlzYWxsb3cgZGlzYXNzb2NpYXRlIGRpc2NhcmRmaWxlIGRpc2Nvbm5lY3QgZGlza2dyb3VwIGRpc3RpbmN0IGRpc3RpbmN0cm93IGRpc3RyaWJ1dGUgZGlzdHJpYnV0ZWQgZGl2IGRvIGRvY3VtZW50IGRvbWFpbiBkb3RuZXQgZG91YmxlIGRvd25ncmFkZSBkcm9wIGR1bXBmaWxlIGR1cGxpY2F0ZSBkdXJhdGlvbiBlYWNoIGVkaXRpb24gZWRpdGlvbmFibGUgZWRpdGlvbnMgZWxlbWVudCBlbGxpcHNpcyBlbHNlIGVsc2lmIGVsdCBlbXB0eSBlbmFibGUgZW5hYmxlX2FsbCBlbmNsb3NlZCBlbmNvZGUgZW5jb2RpbmcgZW5jcnlwdCBlbmQgZW5kLWV4ZWMgZW5kaWFuIGVuZm9yY2VkIGVuZ2luZSBlbmdpbmVzIGVucXVldWUgZW50ZXJwcmlzZSBlbnRpdHllc2NhcGluZyBlb21vbnRoIGVycm9yIGVycm9ycyBlc2NhcGVkIGV2YWxuYW1lIGV2YWx1YXRlIGV2ZW50IGV2ZW50ZGF0YSBldmVudHMgZXhjZXB0IGV4Y2VwdGlvbiBleGNlcHRpb25zIGV4Y2hhbmdlIGV4Y2x1ZGUgZXhjbHVkaW5nIGV4ZWN1IGV4ZWN1dCBleGVjdXRlIGV4ZW1wdCBleGlzdHMgZXhpdCBleHAgZXhwaXJlIGV4cGxhaW4gZXhwb3J0IGV4cG9ydF9zZXQgZXh0ZW5kZWQgZXh0ZW50IGV4dGVybmFsIGV4dGVybmFsXzEgZXh0ZXJuYWxfMiBleHRlcm5hbGx5IGV4dHJhY3QgZmFpbGVkIGZhaWxlZF9sb2dpbl9hdHRlbXB0cyBmYWlsb3ZlciBmYWlsdXJlIGZhciBmYXN0IGZlYXR1cmVfc2V0IGZlYXR1cmVfdmFsdWUgZmV0Y2ggZmllbGQgZmllbGRzIGZpbGUgZmlsZV9uYW1lX2NvbnZlcnQgZmlsZXN5c3RlbV9saWtlX2xvZ2dpbmcgZmluYWwgZmluaXNoIGZpcnN0IGZpcnN0X3ZhbHVlIGZpeGVkIGZsYXNoX2NhY2hlIGZsYXNoYmFjayBmbG9vciBmbHVzaCBmb2xsb3dpbmcgZm9sbG93cyBmb3IgZm9yYWxsIGZvcmNlIGZvcm0gZm9ybWEgZm9ybWF0IGZvdW5kIGZvdW5kX3Jvd3MgZnJlZWxpc3QgZnJlZWxpc3RzIGZyZWVwb29scyBmcmVzaCBmcm9tIGZyb21fYmFzZTY0IGZyb21fZGF5cyBmdHAgZnVsbCBmdW5jdGlvbiBnZW5lcmFsIGdlbmVyYXRlZCBnZXQgZ2V0X2Zvcm1hdCBnZXRfbG9jayBnZXRkYXRlIGdldHV0Y2RhdGUgZ2xvYmFsIGdsb2JhbF9uYW1lIGdsb2JhbGx5IGdvIGdvdG8gZ3JhbnQgZ3JhbnRzIGdyZWF0ZXN0IGdyb3VwIGdyb3VwX2NvbmNhdCBncm91cF9pZCBncm91cGluZyBncm91cGluZ19pZCBncm91cHMgZ3RpZF9zdWJ0cmFjdCBndWFyYW50ZWUgZ3VhcmQgaGFuZGxlciBoYXNoIGhhc2hrZXlzIGhhdmluZyBoZWEgaGVhZCBoZWFkaSBoZWFkaW4gaGVhZGluZyBoZWFwIGhlbHAgaGV4IGhpZXJhcmNoeSBoaWdoIGhpZ2hfcHJpb3JpdHkgaG9zdHMgaG91ciBodHRwIGlkIGlkZW50X2N1cnJlbnQgaWRlbnRfaW5jciBpZGVudF9zZWVkIGlkZW50aWZpZWQgaWRlbnRpdHkgaWRsZV90aW1lIGlmIGlmbnVsbCBpZ25vcmUgaWlmIGlsaWtlIGlsbSBpbW1lZGlhdGUgaW1wb3J0IGluIGluY2x1ZGUgaW5jbHVkaW5nIGluY3JlbWVudCBpbmRleCBpbmRleGVzIGluZGV4aW5nIGluZGV4dHlwZSBpbmRpY2F0b3IgaW5kaWNlcyBpbmV0Nl9hdG9uIGluZXQ2X250b2EgaW5ldF9hdG9uIGluZXRfbnRvYSBpbmZpbGUgaW5pdGlhbCBpbml0aWFsaXplZCBpbml0aWFsbHkgaW5pdHJhbnMgaW5tZW1vcnkgaW5uZXIgaW5ub2RiIGlucHV0IGluc2VydCBpbnN0YWxsIGluc3RhbmNlIGluc3RhbnRpYWJsZSBpbnN0ciBpbnRlcmZhY2UgaW50ZXJsZWF2ZWQgaW50ZXJzZWN0IGludG8gaW52YWxpZGF0ZSBpbnZpc2libGUgaXMgaXNfZnJlZV9sb2NrIGlzX2lwdjQgaXNfaXB2NF9jb21wYXQgaXNfbm90IGlzX25vdF9udWxsIGlzX3VzZWRfbG9jayBpc2RhdGUgaXNudWxsIGlzb2xhdGlvbiBpdGVyYXRlIGphdmEgam9pbiBqc29uIGpzb25fZXhpc3RzIGtlZXAga2VlcF9kdXBsaWNhdGVzIGtleSBrZXlzIGtpbGwgbGFuZ3VhZ2UgbGFyZ2UgbGFzdCBsYXN0X2RheSBsYXN0X2luc2VydF9pZCBsYXN0X3ZhbHVlIGxheCBsY2FzZSBsZWFkIGxlYWRpbmcgbGVhc3QgbGVhdmVzIGxlZnQgbGVuIGxlbmdodCBsZW5ndGggbGVzcyBsZXZlbCBsZXZlbHMgbGlicmFyeSBsaWtlIGxpa2UyIGxpa2U0IGxpa2VjIGxpbWl0IGxpbmVzIGxpbmsgbGlzdCBsaXN0YWdnIGxpdHRsZSBsbiBsb2FkIGxvYWRfZmlsZSBsb2IgbG9icyBsb2NhbCBsb2NhbHRpbWUgbG9jYWx0aW1lc3RhbXAgbG9jYXRlIGxvY2F0b3IgbG9jayBsb2NrZWQgbG9nIGxvZzEwIGxvZzIgbG9nZmlsZSBsb2dmaWxlcyBsb2dnaW5nIGxvZ2ljYWwgbG9naWNhbF9yZWFkc19wZXJfY2FsbCBsb2dvZmYgbG9nb24gbG9ncyBsb25nIGxvb3AgbG93IGxvd19wcmlvcml0eSBsb3dlciBscGFkIGxydHJpbSBsdHJpbSBtYWluIG1ha2Vfc2V0IG1ha2VkYXRlIG1ha2V0aW1lIG1hbmFnZWQgbWFuYWdlbWVudCBtYW51YWwgbWFwIG1hcHBpbmcgbWFzayBtYXN0ZXIgbWFzdGVyX3Bvc193YWl0IG1hdGNoIG1hdGNoZWQgbWF0ZXJpYWxpemVkIG1heCBtYXhleHRlbnRzIG1heGltaXplIG1heGluc3RhbmNlcyBtYXhsZW4gbWF4bG9nZmlsZXMgbWF4bG9naGlzdG9yeSBtYXhsb2dtZW1iZXJzIG1heHNpemUgbWF4dHJhbnMgbWQ1IG1lYXN1cmVzIG1lZGlhbiBtZWRpdW0gbWVtYmVyIG1lbWNvbXByZXNzIG1lbW9yeSBtZXJnZSBtaWNyb3NlY29uZCBtaWQgbWlncmF0aW9uIG1pbiBtaW5leHRlbnRzIG1pbmltdW0gbWluaW5nIG1pbnVzIG1pbnV0ZSBtaW52YWx1ZSBtaXNzaW5nIG1vZCBtb2RlIG1vZGVsIG1vZGlmaWNhdGlvbiBtb2RpZnkgbW9kdWxlIG1vbml0b3JpbmcgbW9udGggbW9udGhzIG1vdW50IG1vdmUgbW92ZW1lbnQgbXVsdGlzZXQgbXV0ZXggbmFtZSBuYW1lX2NvbnN0IG5hbWVzIG5hbiBuYXRpb25hbCBuYXRpdmUgbmF0dXJhbCBuYXYgbmNoYXIgbmNsb2IgbmVzdGVkIG5ldmVyIG5ldyBuZXdsaW5lIG5leHQgbmV4dHZhbCBubyBub193cml0ZV90b19iaW5sb2cgbm9hcmNoaXZlbG9nIG5vYXVkaXQgbm9iYWRmaWxlIG5vY2hlY2sgbm9jb21wcmVzcyBub2NvcHkgbm9jeWNsZSBub2RlbGF5IG5vZGlzY2FyZGZpbGUgbm9lbnRpdHllc2NhcGluZyBub2d1YXJhbnRlZSBub2tlZXAgbm9sb2dmaWxlIG5vbWFwcGluZyBub21heHZhbHVlIG5vbWluaW1pemUgbm9taW52YWx1ZSBub21vbml0b3Jpbmcgbm9uZSBub25lZGl0aW9uYWJsZSBub25zY2hlbWEgbm9vcmRlciBub3ByIG5vcHJvIG5vcHJvbSBub3Byb21wIG5vcHJvbXB0IG5vcmVseSBub3Jlc2V0bG9ncyBub3JldmVyc2Ugbm9ybWFsIG5vcm93ZGVwZW5kZW5jaWVzIG5vc2NoZW1hY2hlY2sgbm9zd2l0Y2ggbm90IG5vdGhpbmcgbm90aWNlIG5vdHJpbSBub3ZhbGlkYXRlIG5vdyBub3dhaXQgbnRoX3ZhbHVlIG51bGxpZiBudWxscyBudW0gbnVtYiBudW1iZSBudmFyY2hhciBudmFyY2hhcjIgb2JqZWN0IG9jaWNvbGwgb2NpZGF0ZSBvY2lkYXRldGltZSBvY2lkdXJhdGlvbiBvY2lpbnRlcnZhbCBvY2lsb2Jsb2NhdG9yIG9jaW51bWJlciBvY2lyZWYgb2NpcmVmY3Vyc29yIG9jaXJvd2lkIG9jaXN0cmluZyBvY2l0eXBlIG9jdCBvY3RldF9sZW5ndGggb2Ygb2ZmIG9mZmxpbmUgb2Zmc2V0IG9pZCBvaWRpbmRleCBvbGQgb24gb25saW5lIG9ubHkgb3BhcXVlIG9wZW4gb3BlcmF0aW9ucyBvcGVyYXRvciBvcHRpbWFsIG9wdGltaXplIG9wdGlvbiBvcHRpb25hbGx5IG9yIG9yYWNsZSBvcmFjbGVfZGF0ZSBvcmFkYXRhIG9yZCBvcmRhdWRpbyBvcmRkaWNvbSBvcmRkb2Mgb3JkZXIgb3JkaW1hZ2Ugb3JkaW5hbGl0eSBvcmR2aWRlbyBvcmdhbml6YXRpb24gb3JsYW55IG9ybHZhcnkgb3V0IG91dGVyIG91dGZpbGUgb3V0bGluZSBvdXRwdXQgb3ZlciBvdmVyZmxvdyBvdmVycmlkaW5nIHBhY2thZ2UgcGFkIHBhcmFsbGVsIHBhcmFsbGVsX2VuYWJsZSBwYXJhbWV0ZXJzIHBhcmVudCBwYXJzZSBwYXJ0aWFsIHBhcnRpdGlvbiBwYXJ0aXRpb25zIHBhc2NhbCBwYXNzaW5nIHBhc3N3b3JkIHBhc3N3b3JkX2dyYWNlX3RpbWUgcGFzc3dvcmRfbG9ja190aW1lIHBhc3N3b3JkX3JldXNlX21heCBwYXNzd29yZF9yZXVzZV90aW1lIHBhc3N3b3JkX3ZlcmlmeV9mdW5jdGlvbiBwYXRjaCBwYXRoIHBhdGluZGV4IHBjdGluY3JlYXNlIHBjdHRocmVzaG9sZCBwY3R1c2VkIHBjdHZlcnNpb24gcGVyY2VudCBwZXJjZW50X3JhbmsgcGVyY2VudGlsZV9jb250IHBlcmNlbnRpbGVfZGlzYyBwZXJmb3JtYW5jZSBwZXJpb2QgcGVyaW9kX2FkZCBwZXJpb2RfZGlmZiBwZXJtYW5lbnQgcGh5c2ljYWwgcGkgcGlwZSBwaXBlbGluZWQgcGl2b3QgcGx1Z2dhYmxlIHBsdWdpbiBwb2xpY3kgcG9zaXRpb24gcG9zdF90cmFuc2FjdGlvbiBwb3cgcG93ZXIgcHJhZ21hIHByZWJ1aWx0IHByZWNlZGVzIHByZWNlZGluZyBwcmVjaXNpb24gcHJlZGljdGlvbiBwcmVkaWN0aW9uX2Nvc3QgcHJlZGljdGlvbl9kZXRhaWxzIHByZWRpY3Rpb25fcHJvYmFiaWxpdHkgcHJlZGljdGlvbl9zZXQgcHJlcGFyZSBwcmVzZW50IHByZXNlcnZlIHByaW9yIHByaW9yaXR5IHByaXZhdGUgcHJpdmF0ZV9zZ2EgcHJpdmlsZWdlcyBwcm9jZWR1cmFsIHByb2NlZHVyZSBwcm9jZWR1cmVfYW5hbHl6ZSBwcm9jZXNzbGlzdCBwcm9maWxlcyBwcm9qZWN0IHByb21wdCBwcm90ZWN0aW9uIHB1YmxpYyBwdWJsaXNoaW5nc2VydmVybmFtZSBwdXJnZSBxdWFydGVyIHF1ZXJ5IHF1aWNrIHF1aWVzY2UgcXVvdGEgcXVvdGVuYW1lIHJhZGlhbnMgcmFpc2UgcmFuZCByYW5nZSByYW5rIHJhdyByZWFkIHJlYWRzIHJlYWRzaXplIHJlYnVpbGQgcmVjb3JkIHJlY29yZHMgcmVjb3ZlciByZWNvdmVyeSByZWN1cnNpdmUgcmVjeWNsZSByZWRvIHJlZHVjZWQgcmVmIHJlZmVyZW5jZSByZWZlcmVuY2VkIHJlZmVyZW5jZXMgcmVmZXJlbmNpbmcgcmVmcmVzaCByZWdleHBfbGlrZSByZWdpc3RlciByZWdyX2F2Z3ggcmVncl9hdmd5IHJlZ3JfY291bnQgcmVncl9pbnRlcmNlcHQgcmVncl9yMiByZWdyX3Nsb3BlIHJlZ3Jfc3h4IHJlZ3Jfc3h5IHJlamVjdCByZWtleSByZWxhdGlvbmFsIHJlbGF0aXZlIHJlbGF5bG9nIHJlbGVhc2UgcmVsZWFzZV9sb2NrIHJlbGllc19vbiByZWxvY2F0ZSByZWx5IHJlbSByZW1haW5kZXIgcmVuYW1lIHJlcGFpciByZXBlYXQgcmVwbGFjZSByZXBsaWNhdGUgcmVwbGljYXRpb24gcmVxdWlyZWQgcmVzZXQgcmVzZXRsb2dzIHJlc2l6ZSByZXNvdXJjZSByZXNwZWN0IHJlc3RvcmUgcmVzdHJpY3RlZCByZXN1bHQgcmVzdWx0X2NhY2hlIHJlc3VtYWJsZSByZXN1bWUgcmV0ZW50aW9uIHJldHVybiByZXR1cm5pbmcgcmV0dXJucyByZXVzZSByZXZlcnNlIHJldm9rZSByaWdodCBybGlrZSByb2xlIHJvbGVzIHJvbGxiYWNrIHJvbGxpbmcgcm9sbHVwIHJvdW5kIHJvdyByb3dfY291bnQgcm93ZGVwZW5kZW5jaWVzIHJvd2lkIHJvd251bSByb3dzIHJ0cmltIHJ1bGVzIHNhZmUgc2FsdCBzYW1wbGUgc2F2ZSBzYXZlcG9pbnQgc2IxIHNiMiBzYjQgc2NhbiBzY2hlbWEgc2NoZW1hY2hlY2sgc2NuIHNjb3BlIHNjcm9sbCBzZG9fZ2VvcmFzdGVyIHNkb190b3BvX2dlb21ldHJ5IHNlYXJjaCBzZWNfdG9fdGltZSBzZWNvbmQgc2VjdGlvbiBzZWN1cmVmaWxlIHNlY3VyaXR5IHNlZWQgc2VnbWVudCBzZWxlY3Qgc2VsZiBzZXF1ZW5jZSBzZXF1ZW50aWFsIHNlcmlhbGl6YWJsZSBzZXJ2ZXIgc2VydmVyZXJyb3Igc2Vzc2lvbiBzZXNzaW9uX3VzZXIgc2Vzc2lvbnNfcGVyX3VzZXIgc2V0IHNldHMgc2V0dGluZ3Mgc2hhIHNoYTEgc2hhMiBzaGFyZSBzaGFyZWQgc2hhcmVkX3Bvb2wgc2hvcnQgc2hvdyBzaHJpbmsgc2h1dGRvd24gc2lfYXZlcmFnZWNvbG9yIHNpX2NvbG9yaGlzdG9ncmFtIHNpX2ZlYXR1cmVsaXN0IHNpX3Bvc2l0aW9uYWxjb2xvciBzaV9zdGlsbGltYWdlIHNpX3RleHR1cmUgc2libGluZ3Mgc2lkIHNpZ24gc2luIHNpemUgc2l6ZV90IHNpemVzIHNraXAgc2xhdmUgc2xlZXAgc21hbGxkYXRldGltZWZyb21wYXJ0cyBzbWFsbGZpbGUgc25hcHNob3Qgc29tZSBzb25hbWUgc29ydCBzb3VuZGV4IHNvdXJjZSBzcGFjZSBzcGFyc2Ugc3BmaWxlIHNwbGl0IHNxbCBzcWxfYmlnX3Jlc3VsdCBzcWxfYnVmZmVyX3Jlc3VsdCBzcWxfY2FjaGUgc3FsX2NhbGNfZm91bmRfcm93cyBzcWxfc21hbGxfcmVzdWx0IHNxbF92YXJpYW50X3Byb3BlcnR5IHNxbGNvZGUgc3FsZGF0YSBzcWxlcnJvciBzcWxuYW1lIHNxbHN0YXRlIHNxcnQgc3F1YXJlIHN0YW5kYWxvbmUgc3RhbmRieSBzdGFydCBzdGFydGluZyBzdGFydHVwIHN0YXRlbWVudCBzdGF0aWMgc3RhdGlzdGljcyBzdGF0c19iaW5vbWlhbF90ZXN0IHN0YXRzX2Nyb3NzdGFiIHN0YXRzX2tzX3Rlc3Qgc3RhdHNfbW9kZSBzdGF0c19td190ZXN0IHN0YXRzX29uZV93YXlfYW5vdmEgc3RhdHNfdF90ZXN0XyBzdGF0c190X3Rlc3RfaW5kZXAgc3RhdHNfdF90ZXN0X29uZSBzdGF0c190X3Rlc3RfcGFpcmVkIHN0YXRzX3dzcl90ZXN0IHN0YXR1cyBzdGQgc3RkZGV2IHN0ZGRldl9wb3Agc3RkZGV2X3NhbXAgc3RkZXYgc3RvcCBzdG9yYWdlIHN0b3JlIHN0b3JlZCBzdHIgc3RyX3RvX2RhdGUgc3RyYWlnaHRfam9pbiBzdHJjbXAgc3RyaWN0IHN0cmluZyBzdHJ1Y3Qgc3R1ZmYgc3R5bGUgc3ViZGF0ZSBzdWJwYXJ0aXRpb24gc3VicGFydGl0aW9ucyBzdWJzdGl0dXRhYmxlIHN1YnN0ciBzdWJzdHJpbmcgc3VidGltZSBzdWJ0cmluZ19pbmRleCBzdWJ0eXBlIHN1Y2Nlc3Mgc3VtIHN1c3BlbmQgc3dpdGNoIHN3aXRjaG9mZnNldCBzd2l0Y2hvdmVyIHN5bmMgc3luY2hyb25vdXMgc3lub255bSBzeXMgc3lzX3htbGFnZyBzeXNhc20gc3lzYXV4IHN5c2RhdGUgc3lzZGF0ZXRpbWVvZmZzZXQgc3lzZGJhIHN5c29wZXIgc3lzdGVtIHN5c3RlbV91c2VyIHN5c3V0Y2RhdGV0aW1lIHRhYmxlIHRhYmxlcyB0YWJsZXNwYWNlIHRhbiB0ZG8gdGVtcGxhdGUgdGVtcG9yYXJ5IHRlcm1pbmF0ZWQgdGVydGlhcnlfd2VpZ2h0cyB0ZXN0IHRoYW4gdGhlbiB0aHJlYWQgdGhyb3VnaCB0aWVyIHRpZXMgdGltZSB0aW1lX2Zvcm1hdCB0aW1lX3pvbmUgdGltZWRpZmYgdGltZWZyb21wYXJ0cyB0aW1lb3V0IHRpbWVzdGFtcCB0aW1lc3RhbXBhZGQgdGltZXN0YW1wZGlmZiB0aW1lem9uZV9hYmJyIHRpbWV6b25lX21pbnV0ZSB0aW1lem9uZV9yZWdpb24gdG8gdG9fYmFzZTY0IHRvX2RhdGUgdG9fZGF5cyB0b19zZWNvbmRzIHRvZGF0ZXRpbWVvZmZzZXQgdHJhY2UgdHJhY2tpbmcgdHJhbnNhY3Rpb24gdHJhbnNhY3Rpb25hbCB0cmFuc2xhdGUgdHJhbnNsYXRpb24gdHJlYXQgdHJpZ2dlciB0cmlnZ2VyX25lc3RsZXZlbCB0cmlnZ2VycyB0cmltIHRydW5jYXRlIHRyeV9jYXN0IHRyeV9jb252ZXJ0IHRyeV9wYXJzZSB0eXBlIHViMSB1YjIgdWI0IHVjYXNlIHVuYXJjaGl2ZWQgdW5ib3VuZGVkIHVuY29tcHJlc3MgdW5kZXIgdW5kbyB1bmhleCB1bmljb2RlIHVuaWZvcm0gdW5pbnN0YWxsIHVuaW9uIHVuaXF1ZSB1bml4X3RpbWVzdGFtcCB1bmtub3duIHVubGltaXRlZCB1bmxvY2sgdW5waXZvdCB1bnJlY292ZXJhYmxlIHVuc2FmZSB1bnNpZ25lZCB1bnRpbCB1bnRydXN0ZWQgdW51c2FibGUgdW51c2VkIHVwZGF0ZSB1cGRhdGVkIHVwZ3JhZGUgdXBwZWQgdXBwZXIgdXBzZXJ0IHVybCB1cm93aWQgdXNhYmxlIHVzYWdlIHVzZSB1c2Vfc3RvcmVkX291dGxpbmVzIHVzZXIgdXNlcl9kYXRhIHVzZXJfcmVzb3VyY2VzIHVzZXJzIHVzaW5nIHV0Y19kYXRlIHV0Y190aW1lc3RhbXAgdXVpZCB1dWlkX3Nob3J0IHZhbGlkYXRlIHZhbGlkYXRlX3Bhc3N3b3JkX3N0cmVuZ3RoIHZhbGlkYXRpb24gdmFsaXN0IHZhbHVlIHZhbHVlcyB2YXIgdmFyX3NhbXAgdmFyY2hhcmMgdmFyaSB2YXJpYSB2YXJpYWIgdmFyaWFibCB2YXJpYWJsZSB2YXJpYWJsZXMgdmFyaWFuY2UgdmFycCB2YXJyYXcgdmFycmF3YyB2YXJyYXkgdmVyaWZ5IHZlcnNpb24gdmVyc2lvbnMgdmlldyB2aXJ0dWFsIHZpc2libGUgdm9pZCB3YWl0IHdhbGxldCB3YXJuaW5nIHdhcm5pbmdzIHdlZWsgd2Vla2RheSB3ZWVrb2Z5ZWFyIHdlbGxmb3JtZWQgd2hlbiB3aGVuZSB3aGVuZXYgd2hlbmV2ZSB3aGVuZXZlciB3aGVyZSB3aGlsZSB3aGl0ZXNwYWNlIHdpdGggd2l0aGluIHdpdGhvdXQgd29yayB3cmFwcGVkIHhkYiB4bWwgeG1sYWdnIHhtbGF0dHJpYnV0ZXMgeG1sY2FzdCB4bWxjb2xhdHR2YWwgeG1sZWxlbWVudCB4bWxleGlzdHMgeG1sZm9yZXN0IHhtbGluZGV4IHhtbG5hbWVzcGFjZXMgeG1scGkgeG1scXVlcnkgeG1scm9vdCB4bWxzY2hlbWEgeG1sc2VyaWFsaXplIHhtbHRhYmxlIHhtbHR5cGUgeG9yIHllYXIgeWVhcl90b19tb250aCB5ZWFycyB5ZWFyd2VlayIsbGl0ZXJhbDoidHJ1ZSBmYWxzZSBudWxsIixidWlsdF9pbjoiYXJyYXkgYmlnaW50IGJpbmFyeSBiaXQgYmxvYiBib29sZWFuIGNoYXIgY2hhcmFjdGVyIGRhdGUgZGVjIGRlY2ltYWwgZmxvYXQgaW50IGludDggaW50ZWdlciBpbnRlcnZhbCBudW1iZXIgbnVtZXJpYyByZWFsIHJlY29yZCBzZXJpYWwgc2VyaWFsOCBzbWFsbGludCB0ZXh0IHZhcmNoYXIgdmFyeWluZyB2b2lkIn0sYzpbe2NOOiJzdHJpbmciLGI6IiciLGU6IiciLGM6W2UuQkUse2I6IicnIn1dfSx7Y046InN0cmluZyIsYjonIicsZTonIicsYzpbZS5CRSx7YjonIiInfV19LHtjTjoic3RyaW5nIixiOiJgIixlOiJgIixjOltlLkJFXX0sZS5DTk0sZS5DQkNNLHRdfSxlLkNCQ00sdF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJyIixmdW5jdGlvbihlKXt2YXIgcj0iKFthLXpBLVpdfFxcLlthLXpBLVouXSlbYS16QS1aMC05Ll9dKiI7cmV0dXJue2M6W2UuSENNLHtiOnIsbDpyLGs6e2tleXdvcmQ6ImZ1bmN0aW9uIGlmIGluIGJyZWFrIG5leHQgcmVwZWF0IGVsc2UgZm9yIHJldHVybiBzd2l0Y2ggd2hpbGUgdHJ5IHRyeUNhdGNoIHN0b3Agd2FybmluZyByZXF1aXJlIGxpYnJhcnkgYXR0YWNoIGRldGFjaCBzb3VyY2Ugc2V0TWV0aG9kIHNldEdlbmVyaWMgc2V0R3JvdXBHZW5lcmljIHNldENsYXNzIC4uLiIsbGl0ZXJhbDoiTlVMTCBOQSBUUlVFIEZBTFNFIFQgRiBJbmYgTmFOIE5BX2ludGVnZXJffDEwIE5BX3JlYWxffDEwIE5BX2NoYXJhY3Rlcl98MTAgTkFfY29tcGxleF98MTAifSxyOjB9LHtjTjoibnVtYmVyIixiOiIwW3hYXVswLTlhLWZBLUZdK1tMaV0/XFxiIixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrKD86W2VFXVsrXFwtXT9cXGQqKT9MXFxiIixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrXFwuKD8hXFxkKSg/OmlcXGIpPyIscjowfSx7Y046Im51bWJlciIsYjoiXFxkKyg/OlxcLlxcZCopPyg/OltlRV1bK1xcLV0/XFxkKik/aT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcLlxcZCsoPzpbZUVdWytcXC1dP1xcZCopP2k/XFxiIixyOjB9LHtiOiJgIixlOiJgIixyOjB9LHtjTjoic3RyaW5nIixjOltlLkJFXSx2Olt7YjonIicsZTonIid9LHtiOiInIixlOiInIn1dfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJwZXJsIixmdW5jdGlvbihlKXt2YXIgdD0iZ2V0cHdlbnQgZ2V0c2VydmVudCBxdW90ZW1ldGEgbXNncmN2IHNjYWxhciBraWxsIGRibWNsb3NlIHVuZGVmIGxjIG1hIHN5c3dyaXRlIHRyIHNlbmQgdW1hc2sgc3lzb3BlbiBzaG13cml0ZSB2ZWMgcXggdXRpbWUgbG9jYWwgb2N0IHNlbWN0bCBsb2NhbHRpbWUgcmVhZHBpcGUgZG8gcmV0dXJuIGZvcm1hdCByZWFkIHNwcmludGYgZGJtb3BlbiBwb3AgZ2V0cGdycCBub3QgZ2V0cHduYW0gcmV3aW5kZGlyIHFxZmlsZW5vIHF3IGVuZHByb3RvZW50IHdhaXQgc2V0aG9zdGVudCBibGVzcyBzfDAgb3BlbmRpciBjb250aW51ZSBlYWNoIHNsZWVwIGVuZGdyZW50IHNodXRkb3duIGR1bXAgY2hvbXAgY29ubmVjdCBnZXRzb2NrbmFtZSBkaWUgc29ja2V0cGFpciBjbG9zZSBmbG9jayBleGlzdHMgaW5kZXggc2htZ2V0c3ViIGZvciBlbmRwd2VudCByZWRvIGxzdGF0IG1zZ2N0bCBzZXRwZ3JwIGFicyBleGl0IHNlbGVjdCBwcmludCByZWYgZ2V0aG9zdGJ5YWRkciB1bnNoaWZ0IGZjbnRsIHN5c2NhbGwgZ290byBnZXRuZXRieWFkZHIgam9pbiBnbXRpbWUgc3ltbGluayBzZW1nZXQgc3BsaWNlIHh8MCBnZXRwZWVybmFtZSByZWN2IGxvZyBzZXRzb2Nrb3B0IGNvcyBsYXN0IHJldmVyc2UgZ2V0aG9zdGJ5bmFtZSBnZXRncm5hbSBzdHVkeSBmb3JtbGluZSBlbmRob3N0ZW50IHRpbWVzIGNob3AgbGVuZ3RoIGdldGhvc3RlbnQgZ2V0bmV0ZW50IHBhY2sgZ2V0cHJvdG9lbnQgZ2V0c2VydmJ5bmFtZSByYW5kIG1rZGlyIHBvcyBjaG1vZCB5fDAgc3Vic3RyIGVuZG5ldGVudCBwcmludGYgbmV4dCBvcGVuIG1zZ3NuZCByZWFkZGlyIHVzZSB1bmxpbmsgZ2V0c29ja29wdCBnZXRwcmlvcml0eSByaW5kZXggd2FudGFycmF5IGhleCBzeXN0ZW0gZ2V0c2VydmJ5cG9ydCBlbmRzZXJ2ZW50IGludCBjaHIgdW50aWUgcm1kaXIgcHJvdG90eXBlIHRlbGwgbGlzdGVuIGZvcmsgc2htcmVhZCB1Y2ZpcnN0IHNldHByb3RvZW50IGVsc2Ugc3lzc2VlayBsaW5rIGdldGdyZ2lkIHNobWN0bCB3YWl0cGlkIHVucGFjayBnZXRuZXRieW5hbWUgcmVzZXQgY2hkaXIgZ3JlcCBzcGxpdCByZXF1aXJlIGNhbGxlciBsY2ZpcnN0IHVudGlsIHdhcm4gd2hpbGUgdmFsdWVzIHNoaWZ0IHRlbGxkaXIgZ2V0cHd1aWQgbXkgZ2V0cHJvdG9ieW51bWJlciBkZWxldGUgYW5kIHNvcnQgdWMgZGVmaW5lZCBzcmFuZCBhY2NlcHQgcGFja2FnZSBzZWVrZGlyIGdldHByb3RvYnluYW1lIHNlbW9wIG91ciByZW5hbWUgc2VlayBpZiBxfDAgY2hyb290IHN5c3JlYWQgc2V0cHdlbnQgbm8gY3J5cHQgZ2V0YyBjaG93biBzcXJ0IHdyaXRlIHNldG5ldGVudCBzZXRwcmlvcml0eSBmb3JlYWNoIHRpZSBzaW4gbXNnZ2V0IG1hcCBzdGF0IGdldGxvZ2luIHVubGVzcyBlbHNpZiB0cnVuY2F0ZSBleGVjIGtleXMgZ2xvYiB0aWVkIGNsb3NlZGlyaW9jdGwgc29ja2V0IHJlYWRsaW5rIGV2YWwgeG9yIHJlYWRsaW5lIGJpbm1vZGUgc2V0c2VydmVudCBlb2Ygb3JkIGJpbmQgYWxhcm0gcGlwZSBhdGFuMiBnZXRncmVudCBleHAgdGltZSBwdXNoIHNldGdyZW50IGd0IGx0IG9yIG5lIG18MCBicmVhayBnaXZlbiBzYXkgc3RhdGUgd2hlbiIscj17Y046InN1YnN0IixiOiJbJEBdXFx7IixlOiJcXH0iLGs6dH0scz17YjoiLT57IixlOiJ9In0sbj17djpbe2I6L1wkXGQvfSx7YjovW1wkJUBdKFxeXHdcYnwjXHcrKDo6XHcrKSp8e1x3K318XHcrKDo6XHcqKSopL30se2I6L1tcJCVAXVteXHNcd3tdLyxyOjB9XX0saT1bZS5CRSxyLG5dLG89W24sZS5IQ00sZS5DKCJeXFw9XFx3IiwiXFw9Y3V0Iix7ZVc6ITB9KSxzLHtjTjoic3RyaW5nIixjOmksdjpbe2I6InFbcXd4cl0/XFxzKlxcKCIsZToiXFwpIixyOjV9LHtiOiJxW3F3eHJdP1xccypcXFsiLGU6IlxcXSIscjo1fSx7YjoicVtxd3hyXT9cXHMqXFx7IixlOiJcXH0iLHI6NX0se2I6InFbcXd4cl0/XFxzKlxcfCIsZToiXFx8IixyOjV9LHtiOiJxW3F3eHJdP1xccypcXDwiLGU6IlxcPiIscjo1fSx7YjoicXdcXHMrcSIsZToicSIscjo1fSx7YjoiJyIsZToiJyIsYzpbZS5CRV19LHtiOiciJyxlOiciJ30se2I6ImAiLGU6ImAiLGM6W2UuQkVdfSx7Yjoie1xcdyt9IixjOltdLHI6MH0se2I6Ii0/XFx3K1xccypcXD1cXD4iLGM6W10scjowfV19LHtjTjoibnVtYmVyIixiOiIoXFxiMFswLTdfXSspfChcXGIweFswLTlhLWZBLUZfXSspfChcXGJbMS05XVswLTlfXSooXFwuWzAtOV9dKyk/KXxbMF9dXFxiIixyOjB9LHtiOiIoXFwvXFwvfCIrZS5SU1IrInxcXGIoc3BsaXR8cmV0dXJufHByaW50fHJldmVyc2V8Z3JlcClcXGIpXFxzKiIsazoic3BsaXQgcmV0dXJuIHByaW50IHJldmVyc2UgZ3JlcCIscjowLGM6W2UuSENNLHtjTjoicmVnZXhwIixiOiIoc3x0cnx5KS8oXFxcXC58W14vXSkqLyhcXFxcLnxbXi9dKSovW2Etel0qIixyOjEwfSx7Y046InJlZ2V4cCIsYjoiKG18cXIpPy8iLGU6Ii9bYS16XSoiLGM6W2UuQkVdLHI6MH1dfSx7Y046ImZ1bmN0aW9uIixiSzoic3ViIixlOiIoXFxzKlxcKC4qP1xcKSk/Wzt7XSIsZUU6ITAscjo1LGM6W2UuVE1dfSx7YjoiLVxcd1xcYiIscjowfSx7YjoiXl9fREFUQV9fJCIsZToiXl9fRU5EX18kIixzTDoibW9qb2xpY2lvdXMiLGM6W3tiOiJeQEAuKiIsZToiJCIsY046ImNvbW1lbnQifV19XTtyZXR1cm4gci5jPW8scy5jPW8se2FsaWFzZXM6WyJwbCIsInBtIl0sbDovW1x3XC5dKy8sazp0LGM6b319KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImluaSIsZnVuY3Rpb24oZSl7dmFyIGI9e2NOOiJzdHJpbmciLGM6W2UuQkVdLHY6W3tiOiInJyciLGU6IicnJyIscjoxMH0se2I6JyIiIicsZTonIiIiJyxyOjEwfSx7YjonIicsZTonIid9LHtiOiInIixlOiInIn1dfTtyZXR1cm57YWxpYXNlczpbInRvbWwiXSxjSTohMCxpOi9cUy8sYzpbZS5DKCI7IiwiJCIpLGUuSENNLHtjTjoic2VjdGlvbiIsYjovXlxzKlxbKy8sZTovXF0rL30se2I6L15bYS16MC05XFtcXV8tXStccyo9XHMqLyxlOiIkIixyQjohMCxjOlt7Y046ImF0dHIiLGI6L1thLXowLTlcW1xdXy1dKy99LHtiOi89LyxlVzohMCxyOjAsYzpbe2NOOiJsaXRlcmFsIixiOi9cYm9ufG9mZnx0cnVlfGZhbHNlfHllc3xub1xiL30se2NOOiJ2YXJpYWJsZSIsdjpbe2I6L1wkW1x3XGQiXVtcd1xkX10qL30se2I6L1wkXHsoLio/KX0vfV19LGIse2NOOiJudW1iZXIiLGI6LyhbXCtcLV0rKT9bXGRdK19bXGRfXSsvfSxlLk5NXX1dfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJkaWZmIixmdW5jdGlvbihlKXtyZXR1cm57YWxpYXNlczpbInBhdGNoIl0sYzpbe2NOOiJtZXRhIixyOjEwLHY6W3tiOi9eQEAgK1wtXGQrLFxkKyArXCtcZCssXGQrICtAQCQvfSx7YjovXlwqXCpcKiArXGQrLFxkKyArXCpcKlwqXCokL30se2I6L15cLVwtXC0gK1xkKyxcZCsgK1wtXC1cLVwtJC99XX0se2NOOiJjb21tZW50Iix2Olt7YjovSW5kZXg6IC8sZTovJC99LHtiOi89ezMsfS8sZTovJC99LHtiOi9eXC17M30vLGU6LyQvfSx7YjovXlwqezN9IC8sZTovJC99LHtiOi9eXCt7M30vLGU6LyQvfSx7YjovXCp7NX0vLGU6L1wqezV9JC99XX0se2NOOiJhZGRpdGlvbiIsYjoiXlxcKyIsZToiJCJ9LHtjTjoiZGVsZXRpb24iLGI6Il5cXC0iLGU6IiQifSx7Y046ImFkZGl0aW9uIixiOiJeXFwhIixlOiIkIn1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiZ28iLGZ1bmN0aW9uKGUpe3ZhciB0PXtrZXl3b3JkOiJicmVhayBkZWZhdWx0IGZ1bmMgaW50ZXJmYWNlIHNlbGVjdCBjYXNlIG1hcCBzdHJ1Y3QgY2hhbiBlbHNlIGdvdG8gcGFja2FnZSBzd2l0Y2ggY29uc3QgZmFsbHRocm91Z2ggaWYgcmFuZ2UgdHlwZSBjb250aW51ZSBmb3IgaW1wb3J0IHJldHVybiB2YXIgZ28gZGVmZXIgYm9vbCBieXRlIGNvbXBsZXg2NCBjb21wbGV4MTI4IGZsb2F0MzIgZmxvYXQ2NCBpbnQ4IGludDE2IGludDMyIGludDY0IHN0cmluZyB1aW50OCB1aW50MTYgdWludDMyIHVpbnQ2NCBpbnQgdWludCB1aW50cHRyIHJ1bmUiLGxpdGVyYWw6InRydWUgZmFsc2UgaW90YSBuaWwiLGJ1aWx0X2luOiJhcHBlbmQgY2FwIGNsb3NlIGNvbXBsZXggY29weSBpbWFnIGxlbiBtYWtlIG5ldyBwYW5pYyBwcmludCBwcmludGxuIHJlYWwgcmVjb3ZlciBkZWxldGUifTtyZXR1cm57YWxpYXNlczpbImdvbGFuZyJdLGs6dCxpOiI8LyIsYzpbZS5DTENNLGUuQ0JDTSx7Y046InN0cmluZyIsdjpbZS5RU00se2I6IiciLGU6IlteXFxcXF0nIn0se2I6ImAiLGU6ImAifV19LHtjTjoibnVtYmVyIix2Olt7YjplLkNOUisiW2RmbHNpXSIscjoxfSxlLkNOTV19LHtiOi86PS99LHtjTjoiZnVuY3Rpb24iLGJLOiJmdW5jIixlOi9ccypcey8sZUU6ITAsYzpbZS5UTSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOnQsaTovWyInXS99XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiYmFzaCIsZnVuY3Rpb24oZSl7dmFyIHQ9e2NOOiJ2YXJpYWJsZSIsdjpbe2I6L1wkW1x3XGQjQF1bXHdcZF9dKi99LHtiOi9cJFx7KC4qPyl9L31dfSxzPXtjTjoic3RyaW5nIixiOi8iLyxlOi8iLyxjOltlLkJFLHQse2NOOiJ2YXJpYWJsZSIsYjovXCRcKC8sZTovXCkvLGM6W2UuQkVdfV19LGE9e2NOOiJzdHJpbmciLGI6LycvLGU6LycvfTtyZXR1cm57YWxpYXNlczpbInNoIiwienNoIl0sbDovXGItP1thLXpcLl9dK1xiLyxrOntrZXl3b3JkOiJpZiB0aGVuIGVsc2UgZWxpZiBmaSBmb3Igd2hpbGUgaW4gZG8gZG9uZSBjYXNlIGVzYWMgZnVuY3Rpb24iLGxpdGVyYWw6InRydWUgZmFsc2UiLGJ1aWx0X2luOiJicmVhayBjZCBjb250aW51ZSBldmFsIGV4ZWMgZXhpdCBleHBvcnQgZ2V0b3B0cyBoYXNoIHB3ZCByZWFkb25seSByZXR1cm4gc2hpZnQgdGVzdCB0aW1lcyB0cmFwIHVtYXNrIHVuc2V0IGFsaWFzIGJpbmQgYnVpbHRpbiBjYWxsZXIgY29tbWFuZCBkZWNsYXJlIGVjaG8gZW5hYmxlIGhlbHAgbGV0IGxvY2FsIGxvZ291dCBtYXBmaWxlIHByaW50ZiByZWFkIHJlYWRhcnJheSBzb3VyY2UgdHlwZSB0eXBlc2V0IHVsaW1pdCB1bmFsaWFzIHNldCBzaG9wdCBhdXRvbG9hZCBiZyBiaW5ka2V5IGJ5ZSBjYXAgY2hkaXIgY2xvbmUgY29tcGFyZ3VtZW50cyBjb21wY2FsbCBjb21wY3RsIGNvbXBkZXNjcmliZSBjb21wZmlsZXMgY29tcGdyb3VwcyBjb21wcXVvdGUgY29tcHRhZ3MgY29tcHRyeSBjb21wdmFsdWVzIGRpcnMgZGlzYWJsZSBkaXNvd24gZWNob3RjIGVjaG90aSBlbXVsYXRlIGZjIGZnIGZsb2F0IGZ1bmN0aW9ucyBnZXRjYXAgZ2V0bG4gaGlzdG9yeSBpbnRlZ2VyIGpvYnMga2lsbCBsaW1pdCBsb2cgbm9nbG9iIHBvcGQgcHJpbnQgcHVzaGQgcHVzaGxuIHJlaGFzaCBzY2hlZCBzZXRjYXAgc2V0b3B0IHN0YXQgc3VzcGVuZCB0dHljdGwgdW5mdW5jdGlvbiB1bmhhc2ggdW5saW1pdCB1bnNldG9wdCB2YXJlZCB3YWl0IHdoZW5jZSB3aGVyZSB3aGljaCB6Y29tcGlsZSB6Zm9ybWF0IHpmdHAgemxlIHptb2Rsb2FkIHpwYXJzZW9wdHMgenByb2YgenB0eSB6cmVnZXhwYXJzZSB6c29ja2V0IHpzdHlsZSB6dGNwIixfOiItbmUgLWVxIC1sdCAtZ3QgLWYgLWQgLWUgLXMgLWwgLWEifSxjOlt7Y046Im1ldGEiLGI6L14jIVteXG5dK3NoXHMqJC8scjoxMH0se2NOOiJmdW5jdGlvbiIsYjovXHdbXHdcZF9dKlxzKlwoXHMqXClccypcey8sckI6ITAsYzpbZS5pbmhlcml0KGUuVE0se2I6L1x3W1x3XGRfXSovfSldLHI6MH0sZS5IQ00scyxhLHRdfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgicHl0aG9uIixmdW5jdGlvbihlKXt2YXIgcj17a2V5d29yZDoiYW5kIGVsaWYgaXMgZ2xvYmFsIGFzIGluIGlmIGZyb20gcmFpc2UgZm9yIGV4Y2VwdCBmaW5hbGx5IHByaW50IGltcG9ydCBwYXNzIHJldHVybiBleGVjIGVsc2UgYnJlYWsgbm90IHdpdGggY2xhc3MgYXNzZXJ0IHlpZWxkIHRyeSB3aGlsZSBjb250aW51ZSBkZWwgb3IgZGVmIGxhbWJkYSBhc3luYyBhd2FpdCBub25sb2NhbHwxMCBOb25lIFRydWUgRmFsc2UiLGJ1aWx0X2luOiJFbGxpcHNpcyBOb3RJbXBsZW1lbnRlZCJ9LGI9e2NOOiJtZXRhIixiOi9eKD4+PnxcLlwuXC4pIC99LGM9e2NOOiJzdWJzdCIsYjovXHsvLGU6L1x9LyxrOnIsaTovIy99LGE9e2NOOiJzdHJpbmciLGM6W2UuQkVdLHY6W3tiOi8odXxiKT9yPycnJy8sZTovJycnLyxjOltiXSxyOjEwfSx7YjovKHV8Yik/cj8iIiIvLGU6LyIiIi8sYzpbYl0scjoxMH0se2I6LyhmcnxyZnxmKScnJy8sZTovJycnLyxjOltiLGNdfSx7YjovKGZyfHJmfGYpIiIiLyxlOi8iIiIvLGM6W2IsY119LHtiOi8odXxyfHVyKScvLGU6LycvLHI6MTB9LHtiOi8odXxyfHVyKSIvLGU6LyIvLHI6MTB9LHtiOi8oYnxiciknLyxlOi8nL30se2I6LyhifGJyKSIvLGU6LyIvfSx7YjovKGZyfHJmfGYpJy8sZTovJy8sYzpbY119LHtiOi8oZnJ8cmZ8ZikiLyxlOi8iLyxjOltjXX0sZS5BU00sZS5RU01dfSxzPXtjTjoibnVtYmVyIixyOjAsdjpbe2I6ZS5CTlIrIltsTGpKXT8ifSx7YjoiXFxiKDBvWzAtN10rKVtsTGpKXT8ifSx7YjplLkNOUisiW2xMakpdPyJ9XX0saT17Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxjOlsic2VsZiIsYixzLGFdfTtyZXR1cm4gYy5jPVthLHMsYl0se2FsaWFzZXM6WyJweSIsImd5cCJdLGs6cixpOi8oPFwvfC0+fFw/KXw9Pi8sYzpbYixzLGEsZS5IQ00se3Y6W3tjTjoiZnVuY3Rpb24iLGJLOiJkZWYifSx7Y046ImNsYXNzIixiSzoiY2xhc3MifV0sZTovOi8saTovWyR7PTtcbixdLyxjOltlLlVUTSxpLHtiOi8tPi8sZVc6ITAsazoiTm9uZSJ9XX0se2NOOiJtZXRhIixiOi9eW1x0IF0qQC8sZTovJC99LHtiOi9cYihwcmludHxleGVjKVwoL31dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgianVsaWEiLGZ1bmN0aW9uKGUpe3ZhciByPXtrZXl3b3JkOiJpbiBpc2Egd2hlcmUgYmFyZW1vZHVsZSBiZWdpbiBicmVhayBjYXRjaCBjY2FsbCBjb25zdCBjb250aW51ZSBkbyBlbHNlIGVsc2VpZiBlbmQgZXhwb3J0IGZhbHNlIGZpbmFsbHkgZm9yIGZ1bmN0aW9uIGdsb2JhbCBpZiBpbXBvcnQgaW1wb3J0YWxsIGxldCBsb2NhbCBtYWNybyBtb2R1bGUgcXVvdGUgcmV0dXJuIHRydWUgdHJ5IHVzaW5nIHdoaWxlIHR5cGUgaW1tdXRhYmxlIGFic3RyYWN0IGJpdHN0eXBlIHR5cGVhbGlhcyAiLGxpdGVyYWw6InRydWUgZmFsc2UgQVJHUyBDX05VTEwgRGV2TnVsbCBFTkRJQU5fQk9NIEVOViBJIEluZiBJbmYxNiBJbmYzMiBJbmY2NCBJbnNlcnRpb25Tb3J0IEpVTElBX0hPTUUgTE9BRF9QQVRIIE1lcmdlU29ydCBOYU4gTmFOMTYgTmFOMzIgTmFONjQgUFJPR1JBTV9GSUxFIFF1aWNrU29ydCBSb3VuZERvd24gUm91bmRGcm9tWmVybyBSb3VuZE5lYXJlc3QgUm91bmROZWFyZXN0VGllc0F3YXkgUm91bmROZWFyZXN0VGllc1VwIFJvdW5kVG9aZXJvIFJvdW5kVXAgU1RERVJSIFNURElOIFNURE9VVCBWRVJTSU9OIGNhdGFsYW4gZXwwIGV1fDAgZXVsZXJnYW1tYSBnb2xkZW4gaW0gbm90aGluZyBwaSDOsyDPgCDPhiAiLGJ1aWx0X2luOiJBTlkgQWJzdHJhY3RBcnJheSBBYnN0cmFjdENoYW5uZWwgQWJzdHJhY3RGbG9hdCBBYnN0cmFjdE1hdHJpeCBBYnN0cmFjdFJORyBBYnN0cmFjdFNlcmlhbGl6ZXIgQWJzdHJhY3RTZXQgQWJzdHJhY3RTcGFyc2VBcnJheSBBYnN0cmFjdFNwYXJzZU1hdHJpeCBBYnN0cmFjdFNwYXJzZVZlY3RvciBBYnN0cmFjdFN0cmluZyBBYnN0cmFjdFVuaXRSYW5nZSBBYnN0cmFjdFZlY09yTWF0IEFic3RyYWN0VmVjdG9yIEFueSBBcmd1bWVudEVycm9yIEFycmF5IEFzc2VydGlvbkVycm9yIEFzc29jaWF0aXZlIEJhc2U2NERlY29kZVBpcGUgQmFzZTY0RW5jb2RlUGlwZSBCaWRpYWdvbmFsIEJpZ0Zsb2F0IEJpZ0ludCBCaXRBcnJheSBCaXRNYXRyaXggQml0VmVjdG9yIEJvb2wgQm91bmRzRXJyb3IgQnVmZmVyU3RyZWFtIENhY2hpbmdQb29sIENhcHR1cmVkRXhjZXB0aW9uIENhcnRlc2lhbkluZGV4IENhcnRlc2lhblJhbmdlIENjaGFyIENkb3VibGUgQ2Zsb2F0IENoYW5uZWwgQ2hhciBDaW50IENpbnRtYXhfdCBDbG9uZyBDbG9uZ2xvbmcgQ2x1c3Rlck1hbmFnZXIgQ21kIENvZGVJbmZvIENvbG9uIENvbXBsZXggQ29tcGxleDEyOCBDb21wbGV4MzIgQ29tcGxleDY0IENvbXBvc2l0ZUV4Y2VwdGlvbiBDb25kaXRpb24gQ29uakFycmF5IENvbmpNYXRyaXggQ29ualZlY3RvciBDcHRyZGlmZl90IENzaG9ydCBDc2l6ZV90IENzc2l6ZV90IENzdHJpbmcgQ3VjaGFyIEN1aW50IEN1aW50bWF4X3QgQ3Vsb25nIEN1bG9uZ2xvbmcgQ3VzaG9ydCBDd2NoYXJfdCBDd3N0cmluZyBEYXRhVHlwZSBEYXRlIERhdGVGb3JtYXQgRGF0ZVRpbWUgRGVuc2VBcnJheSBEZW5zZU1hdHJpeCBEZW5zZVZlY09yTWF0IERlbnNlVmVjdG9yIERpYWdvbmFsIERpY3QgRGltZW5zaW9uTWlzbWF0Y2ggRGltcyBEaXJlY3RJbmRleFN0cmluZyBEaXNwbGF5IERpdmlkZUVycm9yIERvbWFpbkVycm9yIEVPRkVycm9yIEVhY2hMaW5lIEVudW0gRW51bWVyYXRlIEVycm9yRXhjZXB0aW9uIEV4Y2VwdGlvbiBFeHBvbmVudGlhbEJhY2tPZmYgRXhwciBGYWN0b3JpemF0aW9uIEZpbGVNb25pdG9yIEZsb2F0MTYgRmxvYXQzMiBGbG9hdDY0IEZ1bmN0aW9uIEZ1dHVyZSBHbG9iYWxSZWYgR290b05vZGUgSFRNTCBIZXJtaXRpYW4gSU8gSU9CdWZmZXIgSU9Db250ZXh0IElPU3RyZWFtIElQQWRkciBJUHY0IElQdjYgSW5kZXhDYXJ0ZXNpYW4gSW5kZXhMaW5lYXIgSW5kZXhTdHlsZSBJbmV4YWN0RXJyb3IgSW5pdEVycm9yIEludCBJbnQxMjggSW50MTYgSW50MzIgSW50NjQgSW50OCBJbnRTZXQgSW50ZWdlciBJbnRlcnJ1cHRFeGNlcHRpb24gSW52YWxpZFN0YXRlRXhjZXB0aW9uIElycmF0aW9uYWwgS2V5RXJyb3IgTGFiZWxOb2RlIExpblNwYWNlIExpbmVOdW1iZXJOb2RlIExvYWRFcnJvciBMb3dlclRyaWFuZ3VsYXIgTUlNRSBNYXRyaXggTWVyc2VubmVUd2lzdGVyIE1ldGhvZCBNZXRob2RFcnJvciBNZXRob2RUYWJsZSBNb2R1bGUgTlR1cGxlIE5ld3Zhck5vZGUgTnVsbEV4Y2VwdGlvbiBOdWxsYWJsZSBOdW1iZXIgT2JqZWN0SWREaWN0IE9yZGluYWxSYW5nZSBPdXRPZk1lbW9yeUVycm9yIE92ZXJmbG93RXJyb3IgUGFpciBQYXJzZUVycm9yIFBhcnRpYWxRdWlja1NvcnQgUGVybXV0ZWREaW1zQXJyYXkgUGlwZSBQb2xsaW5nRmlsZVdhdGNoZXIgUHJvY2Vzc0V4aXRlZEV4Y2VwdGlvbiBQdHIgUXVvdGVOb2RlIFJhbmRvbURldmljZSBSYW5nZSBSYW5nZUluZGV4IFJhdGlvbmFsIFJhd0ZEIFJlYWRPbmx5TWVtb3J5RXJyb3IgUmVhbCBSZWVudHJhbnRMb2NrIFJlZiBSZWdleCBSZWdleE1hdGNoIFJlbW90ZUNoYW5uZWwgUmVtb3RlRXhjZXB0aW9uIFJldlN0cmluZyBSb3VuZGluZ01vZGUgUm93VmVjdG9yIFNTQVZhbHVlIFNlZ21lbnRhdGlvbkZhdWx0IFNlcmlhbGl6YXRpb25TdGF0ZSBTZXQgU2hhcmVkQXJyYXkgU2hhcmVkTWF0cml4IFNoYXJlZFZlY3RvciBTaWduZWQgU2ltcGxlVmVjdG9yIFNsb3QgU2xvdE51bWJlciBTcGFyc2VNYXRyaXhDU0MgU3BhcnNlVmVjdG9yIFN0YWNrRnJhbWUgU3RhY2tPdmVyZmxvd0Vycm9yIFN0YWNrVHJhY2UgU3RlcFJhbmdlIFN0ZXBSYW5nZUxlbiBTdHJpZGVkQXJyYXkgU3RyaWRlZE1hdHJpeCBTdHJpZGVkVmVjT3JNYXQgU3RyaWRlZFZlY3RvciBTdHJpbmcgU3ViQXJyYXkgU3ViU3RyaW5nIFN5bVRyaWRpYWdvbmFsIFN5bWJvbCBTeW1tZXRyaWMgU3lzdGVtRXJyb3IgVENQU29ja2V0IFRhc2sgVGV4dCBUZXh0RGlzcGxheSBUaW1lciBUcmlkaWFnb25hbCBUdXBsZSBUeXBlIFR5cGVFcnJvciBUeXBlTWFwRW50cnkgVHlwZU1hcExldmVsIFR5cGVOYW1lIFR5cGVWYXIgVHlwZWRTbG90IFVEUFNvY2tldCBVSW50IFVJbnQxMjggVUludDE2IFVJbnQzMiBVSW50NjQgVUludDggVW5kZWZSZWZFcnJvciBVbmRlZlZhckVycm9yIFVuaWNvZGVFcnJvciBVbmlmb3JtU2NhbGluZyBVbmlvbiBVbmlvbkFsbCBVbml0UmFuZ2UgVW5zaWduZWQgVXBwZXJUcmlhbmd1bGFyIFZhbCBWYXJhcmcgVmVjRWxlbWVudCBWZWNPck1hdCBWZWN0b3IgVmVyc2lvbk51bWJlciBWb2lkIFdlYWtLZXlEaWN0IFdlYWtSZWYgV29ya2VyQ29uZmlnIFdvcmtlclBvb2wgIn0sdD0iW0EtWmEtel9cXHUwMEExLVxcdUZGRkZdW0EtWmEtel8wLTlcXHUwMEExLVxcdUZGRkZdKiIsYT17bDp0LGs6cixpOi88XC8vfSxuPXtjTjoibnVtYmVyIixiOi8oXGIweFtcZF9dKihcLltcZF9dKik/fDB4XC5cZFtcZF9dKilwWy0rXT9cZCt8XGIwW2JveF1bYS1mQS1GMC05XVthLWZBLUYwLTlfXSp8KFxiXGRbXGRfXSooXC5bXGRfXSopP3xcLlxkW1xkX10qKShbZUVmRl1bLStdP1xkKyk/LyxyOjB9LG89e2NOOiJzdHJpbmciLGI6LycoLnxcXFt4WHVVXVthLXpBLVowLTldKyknL30saT17Y046InN1YnN0IixiOi9cJFwoLyxlOi9cKS8sazpyfSxsPXtjTjoidmFyaWFibGUiLGI6IlxcJCIrdH0sYz17Y046InN0cmluZyIsYzpbZS5CRSxpLGxdLHY6W3tiOi9cdyoiIiIvLGU6LyIiIlx3Ki8scjoxMH0se2I6L1x3KiIvLGU6LyJcdyovfV19LHM9e2NOOiJzdHJpbmciLGM6W2UuQkUsaSxsXSxiOiJgIixlOiJgIn0sZD17Y046Im1ldGEiLGI6IkAiK3R9LHU9e2NOOiJjb21tZW50Iix2Olt7YjoiIz0iLGU6Ij0jIixyOjEwfSx7YjoiIyIsZToiJCJ9XX07cmV0dXJuIGEuYz1bbixvLGMscyxkLHUsZS5IQ00se2NOOiJrZXl3b3JkIixiOiJcXGIoKChhYnN0cmFjdHxwcmltaXRpdmUpXFxzKyl0eXBlfChtdXRhYmxlXFxzKyk/c3RydWN0KVxcYiJ9LHtiOi88Oi99XSxpLmM9YS5jLGF9KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImNvZmZlZXNjcmlwdCIsZnVuY3Rpb24oZSl7dmFyIGM9e2tleXdvcmQ6ImluIGlmIGZvciB3aGlsZSBmaW5hbGx5IG5ldyBkbyByZXR1cm4gZWxzZSBicmVhayBjYXRjaCBpbnN0YW5jZW9mIHRocm93IHRyeSB0aGlzIHN3aXRjaCBjb250aW51ZSB0eXBlb2YgZGVsZXRlIGRlYnVnZ2VyIHN1cGVyIHlpZWxkIGltcG9ydCBleHBvcnQgZnJvbSBhcyBkZWZhdWx0IGF3YWl0IHRoZW4gdW5sZXNzIHVudGlsIGxvb3Agb2YgYnkgd2hlbiBhbmQgb3IgaXMgaXNudCBub3QiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbCB1bmRlZmluZWQgeWVzIG5vIG9uIG9mZiIsYnVpbHRfaW46Im5wbSByZXF1aXJlIGNvbnNvbGUgcHJpbnQgbW9kdWxlIGdsb2JhbCB3aW5kb3cgZG9jdW1lbnQifSxuPSJbQS1aYS16JF9dWzAtOUEtWmEteiRfXSoiLHI9e2NOOiJzdWJzdCIsYjovI1x7LyxlOi99LyxrOmN9LGk9W2UuQk5NLGUuaW5oZXJpdChlLkNOTSx7c3RhcnRzOntlOiIoXFxzKi8pPyIscjowfX0pLHtjTjoic3RyaW5nIix2Olt7YjovJycnLyxlOi8nJycvLGM6W2UuQkVdfSx7YjovJy8sZTovJy8sYzpbZS5CRV19LHtiOi8iIiIvLGU6LyIiIi8sYzpbZS5CRSxyXX0se2I6LyIvLGU6LyIvLGM6W2UuQkUscl19XX0se2NOOiJyZWdleHAiLHY6W3tiOiIvLy8iLGU6Ii8vLyIsYzpbcixlLkhDTV19LHtiOiIvL1tnaW1dKiIscjowfSx7YjovXC8oPyFbICpdKShcXFwvfC4pKj9cL1tnaW1dKig/PVxXfCQpL31dfSx7YjoiQCIrbn0se3NMOiJqYXZhc2NyaXB0IixlQjohMCxlRTohMCx2Olt7YjoiYGBgIixlOiJgYGAifSx7YjoiYCIsZToiYCJ9XX1dO3IuYz1pO3ZhciBzPWUuaW5oZXJpdChlLlRNLHtiOm59KSx0PSIoXFwoLipcXCkpP1xccypcXEJbLT1dPiIsbz17Y046InBhcmFtcyIsYjoiXFwoW15cXChdIixyQjohMCxjOlt7YjovXCgvLGU6L1wpLyxrOmMsYzpbInNlbGYiXS5jb25jYXQoaSl9XX07cmV0dXJue2FsaWFzZXM6WyJjb2ZmZWUiLCJjc29uIiwiaWNlZCJdLGs6YyxpOi9cL1wqLyxjOmkuY29uY2F0KFtlLkMoIiMjIyIsIiMjIyIpLGUuSENNLHtjTjoiZnVuY3Rpb24iLGI6Il5cXHMqIituKyJcXHMqPVxccyoiK3QsZToiWy09XT4iLHJCOiEwLGM6W3Msb119LHtiOi9bOlwoLD1dXHMqLyxyOjAsYzpbe2NOOiJmdW5jdGlvbiIsYjp0LGU6IlstPV0+IixyQjohMCxjOltvXX1dfSx7Y046ImNsYXNzIixiSzoiY2xhc3MiLGU6IiQiLGk6L1s6PSJcW1xdXS8sYzpbe2JLOiJleHRlbmRzIixlVzohMCxpOi9bOj0iXFtcXV0vLGM6W3NdfSxzXX0se2I6bisiOiIsZToiOiIsckI6ITAsckU6ITAscjowfV0pfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiY3BwIixmdW5jdGlvbih0KXt2YXIgZT17Y046ImtleXdvcmQiLGI6IlxcYlthLXpcXGRfXSpfdFxcYiJ9LHI9e2NOOiJzdHJpbmciLHY6W3tiOicodTg/fFUpP0w/IicsZTonIicsaToiXFxuIixjOlt0LkJFXX0se2I6Jyh1OD98VSk/UiInLGU6JyInLGM6W3QuQkVdfSx7YjoiJ1xcXFw/LiIsZToiJyIsaToiLiJ9XX0scz17Y046Im51bWJlciIsdjpbe2I6IlxcYigwYlswMSddKykifSx7YjoiKC0/KVxcYihbXFxkJ10rKFxcLltcXGQnXSopP3xcXC5bXFxkJ10rKSh1fFV8bHxMfHVsfFVMfGZ8RnxifEIpIn0se2I6IigtPykoXFxiMFt4WF1bYS1mQS1GMC05J10rfChcXGJbXFxkJ10rKFxcLltcXGQnXSopP3xcXC5bXFxkJ10rKShbZUVdWy0rXT9bXFxkJ10rKT8pIn1dLHI6MH0saT17Y046Im1ldGEiLGI6LyNccypbYS16XStcYi8sZTovJC8sazp7Im1ldGEta2V5d29yZCI6ImlmIGVsc2UgZWxpZiBlbmRpZiBkZWZpbmUgdW5kZWYgd2FybmluZyBlcnJvciBsaW5lIHByYWdtYSBpZmRlZiBpZm5kZWYgaW5jbHVkZSJ9LGM6W3tiOi9cXFxuLyxyOjB9LHQuaW5oZXJpdChyLHtjTjoibWV0YS1zdHJpbmcifSkse2NOOiJtZXRhLXN0cmluZyIsYjovPFteXG4+XSo+LyxlOi8kLyxpOiJcXG4ifSx0LkNMQ00sdC5DQkNNXX0sYT10LklSKyJcXHMqXFwoIixjPXtrZXl3b3JkOiJpbnQgZmxvYXQgd2hpbGUgcHJpdmF0ZSBjaGFyIGNhdGNoIGltcG9ydCBtb2R1bGUgZXhwb3J0IHZpcnR1YWwgb3BlcmF0b3Igc2l6ZW9mIGR5bmFtaWNfY2FzdHwxMCB0eXBlZGVmIGNvbnN0X2Nhc3R8MTAgY29uc3QgZm9yIHN0YXRpY19jYXN0fDEwIHVuaW9uIG5hbWVzcGFjZSB1bnNpZ25lZCBsb25nIHZvbGF0aWxlIHN0YXRpYyBwcm90ZWN0ZWQgYm9vbCB0ZW1wbGF0ZSBtdXRhYmxlIGlmIHB1YmxpYyBmcmllbmQgZG8gZ290byBhdXRvIHZvaWQgZW51bSBlbHNlIGJyZWFrIGV4dGVybiB1c2luZyBhc20gY2FzZSB0eXBlaWQgc2hvcnQgcmVpbnRlcnByZXRfY2FzdHwxMCBkZWZhdWx0IGRvdWJsZSByZWdpc3RlciBleHBsaWNpdCBzaWduZWQgdHlwZW5hbWUgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIGlubGluZSBkZWxldGUgYWxpZ25vZiBjb25zdGV4cHIgZGVjbHR5cGUgbm9leGNlcHQgc3RhdGljX2Fzc2VydCB0aHJlYWRfbG9jYWwgcmVzdHJpY3QgX0Jvb2wgY29tcGxleCBfQ29tcGxleCBfSW1hZ2luYXJ5IGF0b21pY19ib29sIGF0b21pY19jaGFyIGF0b21pY19zY2hhciBhdG9taWNfdWNoYXIgYXRvbWljX3Nob3J0IGF0b21pY191c2hvcnQgYXRvbWljX2ludCBhdG9taWNfdWludCBhdG9taWNfbG9uZyBhdG9taWNfdWxvbmcgYXRvbWljX2xsb25nIGF0b21pY191bGxvbmcgbmV3IHRocm93IHJldHVybiBhbmQgb3Igbm90IixidWlsdF9pbjoic3RkIHN0cmluZyBjaW4gY291dCBjZXJyIGNsb2cgc3RkaW4gc3Rkb3V0IHN0ZGVyciBzdHJpbmdzdHJlYW0gaXN0cmluZ3N0cmVhbSBvc3RyaW5nc3RyZWFtIGF1dG9fcHRyIGRlcXVlIGxpc3QgcXVldWUgc3RhY2sgdmVjdG9yIG1hcCBzZXQgYml0c2V0IG11bHRpc2V0IG11bHRpbWFwIHVub3JkZXJlZF9zZXQgdW5vcmRlcmVkX21hcCB1bm9yZGVyZWRfbXVsdGlzZXQgdW5vcmRlcmVkX211bHRpbWFwIGFycmF5IHNoYXJlZF9wdHIgYWJvcnQgYWJzIGFjb3MgYXNpbiBhdGFuMiBhdGFuIGNhbGxvYyBjZWlsIGNvc2ggY29zIGV4aXQgZXhwIGZhYnMgZmxvb3IgZm1vZCBmcHJpbnRmIGZwdXRzIGZyZWUgZnJleHAgZnNjYW5mIGlzYWxudW0gaXNhbHBoYSBpc2NudHJsIGlzZGlnaXQgaXNncmFwaCBpc2xvd2VyIGlzcHJpbnQgaXNwdW5jdCBpc3NwYWNlIGlzdXBwZXIgaXN4ZGlnaXQgdG9sb3dlciB0b3VwcGVyIGxhYnMgbGRleHAgbG9nMTAgbG9nIG1hbGxvYyByZWFsbG9jIG1lbWNociBtZW1jbXAgbWVtY3B5IG1lbXNldCBtb2RmIHBvdyBwcmludGYgcHV0Y2hhciBwdXRzIHNjYW5mIHNpbmggc2luIHNucHJpbnRmIHNwcmludGYgc3FydCBzc2NhbmYgc3RyY2F0IHN0cmNociBzdHJjbXAgc3RyY3B5IHN0cmNzcG4gc3RybGVuIHN0cm5jYXQgc3RybmNtcCBzdHJuY3B5IHN0cnBicmsgc3RycmNociBzdHJzcG4gc3Ryc3RyIHRhbmggdGFuIHZmcHJpbnRmIHZwcmludGYgdnNwcmludGYgZW5kbCBpbml0aWFsaXplcl9saXN0IHVuaXF1ZV9wdHIiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbHB0ciBOVUxMIn0sbj1bZSx0LkNMQ00sdC5DQkNNLHMscl07cmV0dXJue2FsaWFzZXM6WyJjIiwiY2MiLCJoIiwiYysrIiwiaCsrIiwiaHBwIl0sazpjLGk6IjwvIixjOm4uY29uY2F0KFtpLHtiOiJcXGIoZGVxdWV8bGlzdHxxdWV1ZXxzdGFja3x2ZWN0b3J8bWFwfHNldHxiaXRzZXR8bXVsdGlzZXR8bXVsdGltYXB8dW5vcmRlcmVkX21hcHx1bm9yZGVyZWRfc2V0fHVub3JkZXJlZF9tdWx0aXNldHx1bm9yZGVyZWRfbXVsdGltYXB8YXJyYXkpXFxzKjwiLGU6Ij4iLGs6YyxjOlsic2VsZiIsZV19LHtiOnQuSVIrIjo6IixrOmN9LHt2Olt7YjovPS8sZTovOy99LHtiOi9cKC8sZTovXCkvfSx7Yks6Im5ldyB0aHJvdyByZXR1cm4gZWxzZSIsZTovOy99XSxrOmMsYzpuLmNvbmNhdChbe2I6L1woLyxlOi9cKS8sazpjLGM6bi5jb25jYXQoWyJzZWxmIl0pLHI6MH1dKSxyOjB9LHtjTjoiZnVuY3Rpb24iLGI6IigiK3QuSVIrIltcXComXFxzXSspKyIrYSxyQjohMCxlOi9bezs9XS8sZUU6ITAsazpjLGk6L1teXHdcc1wqJl0vLGM6W3tiOmEsckI6ITAsYzpbdC5UTV0scjowfSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOmMscjowLGM6W3QuQ0xDTSx0LkNCQ00scixzLGVdfSx0LkNMQ00sdC5DQkNNLGldfSx7Y046ImNsYXNzIixiSzoiY2xhc3Mgc3RydWN0IixlOi9bezs6XS8sYzpbe2I6LzwvLGU6Lz4vLGM6WyJzZWxmIl19LHQuVE1dfV0pLGV4cG9ydHM6e3ByZXByb2Nlc3NvcjppLHN0cmluZ3M6cixrOmN9fX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgicnVieSIsZnVuY3Rpb24oZSl7dmFyIGI9IlthLXpBLVpfXVxcdypbIT89XT98Wy0rfl1cXEB8PDx8Pj58PX58PT09P3w8PT58Wzw+XT0/fFxcKlxcKnxbLS8rJV4mKn5gfF18XFxbXFxdPT8iLHI9e2tleXdvcmQ6ImFuZCB0aGVuIGRlZmluZWQgbW9kdWxlIGluIHJldHVybiByZWRvIGlmIEJFR0lOIHJldHJ5IGVuZCBmb3Igc2VsZiB3aGVuIG5leHQgdW50aWwgZG8gYmVnaW4gdW5sZXNzIEVORCByZXNjdWUgZWxzZSBicmVhayB1bmRlZiBub3Qgc3VwZXIgY2xhc3MgY2FzZSByZXF1aXJlIHlpZWxkIGFsaWFzIHdoaWxlIGVuc3VyZSBlbHNpZiBvciBpbmNsdWRlIGF0dHJfcmVhZGVyIGF0dHJfd3JpdGVyIGF0dHJfYWNjZXNzb3IiLGxpdGVyYWw6InRydWUgZmFsc2UgbmlsIn0sYz17Y046ImRvY3RhZyIsYjoiQFtBLVphLXpdKyJ9LGE9e2I6IiM8IixlOiI+In0scz1bZS5DKCIjIiwiJCIse2M6W2NdfSksZS5DKCJeXFw9YmVnaW4iLCJeXFw9ZW5kIix7YzpbY10scjoxMH0pLGUuQygiXl9fRU5EX18iLCJcXG4kIildLG49e2NOOiJzdWJzdCIsYjoiI1xceyIsZToifSIsazpyfSx0PXtjTjoic3RyaW5nIixjOltlLkJFLG5dLHY6W3tiOi8nLyxlOi8nL30se2I6LyIvLGU6LyIvfSx7YjovYC8sZTovYC99LHtiOiIlW3FRd1d4XT9cXCgiLGU6IlxcKSJ9LHtiOiIlW3FRd1d4XT9cXFsiLGU6IlxcXSJ9LHtiOiIlW3FRd1d4XT97IixlOiJ9In0se2I6IiVbcVF3V3hdPzwiLGU6Ij4ifSx7YjoiJVtxUXdXeF0/LyIsZToiLyJ9LHtiOiIlW3FRd1d4XT8lIixlOiIlIn0se2I6IiVbcVF3V3hdPy0iLGU6Ii0ifSx7YjoiJVtxUXdXeF0/XFx8IixlOiJcXHwifSx7YjovXEJcPyhcXFxkezEsM318XFx4W0EtRmEtZjAtOV17MSwyfXxcXHVbQS1GYS1mMC05XXs0fXxcXD9cUylcYi99LHtiOi88PCgtPylcdyskLyxlOi9eXHMqXHcrJC99XX0saT17Y046InBhcmFtcyIsYjoiXFwoIixlOiJcXCkiLGVuZHNQYXJlbnQ6ITAsazpyfSxkPVt0LGEse2NOOiJjbGFzcyIsYks6ImNsYXNzIG1vZHVsZSIsZToiJHw7IixpOi89LyxjOltlLmluaGVyaXQoZS5UTSx7YjoiW0EtWmEtel9dXFx3Kig6OlxcdyspKihcXD98XFwhKT8ifSkse2I6IjxcXHMqIixjOlt7YjoiKCIrZS5JUisiOjopPyIrZS5JUn1dfV0uY29uY2F0KHMpfSx7Y046ImZ1bmN0aW9uIixiSzoiZGVmIixlOiIkfDsiLGM6W2UuaW5oZXJpdChlLlRNLHtiOmJ9KSxpXS5jb25jYXQocyl9LHtiOmUuSVIrIjo6In0se2NOOiJzeW1ib2wiLGI6ZS5VSVIrIihcXCF8XFw/KT86IixyOjB9LHtjTjoic3ltYm9sIixiOiI6KD8hXFxzKSIsYzpbdCx7YjpifV0scjowfSx7Y046Im51bWJlciIsYjoiKFxcYjBbMC03X10rKXwoXFxiMHhbMC05YS1mQS1GX10rKXwoXFxiWzEtOV1bMC05X10qKFxcLlswLTlfXSspPyl8WzBfXVxcYiIscjowfSx7YjoiKFxcJFxcVyl8KChcXCR8XFxAXFxAPykoXFx3KykpIn0se2NOOiJwYXJhbXMiLGI6L1x8LyxlOi9cfC8sazpyfSx7YjoiKCIrZS5SU1IrInx1bmxlc3MpXFxzKiIsazoidW5sZXNzIixjOlthLHtjTjoicmVnZXhwIixjOltlLkJFLG5dLGk6L1xuLyx2Olt7YjoiLyIsZToiL1thLXpdKiJ9LHtiOiIlcnsiLGU6In1bYS16XSoifSx7YjoiJXJcXCgiLGU6IlxcKVthLXpdKiJ9LHtiOiIlciEiLGU6IiFbYS16XSoifSx7YjoiJXJcXFsiLGU6IlxcXVthLXpdKiJ9XX1dLmNvbmNhdChzKSxyOjB9XS5jb25jYXQocyk7bi5jPWQsaS5jPWQ7dmFyIGw9Ils+P10+IixvPSJbXFx3I10rXFwoXFx3K1xcKTpcXGQrOlxcZCs+Iix1PSIoXFx3Ky0pP1xcZCtcXC5cXGQrXFwuXFxkKHBcXGQrKT9bXj5dKz4iLHc9W3tiOi9eXHMqPT4vLHN0YXJ0czp7ZToiJCIsYzpkfX0se2NOOiJtZXRhIixiOiJeKCIrbCsifCIrbysifCIrdSsiKSIsc3RhcnRzOntlOiIkIixjOmR9fV07cmV0dXJue2FsaWFzZXM6WyJyYiIsImdlbXNwZWMiLCJwb2RzcGVjIiwidGhvciIsImlyYiJdLGs6cixpOi9cL1wqLyxjOnMuY29uY2F0KHcpLmNvbmNhdChkKX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInlhbWwiLGZ1bmN0aW9uKGUpe3ZhciBiPSJ0cnVlIGZhbHNlIHllcyBubyBudWxsIixhPSJeWyBcXC1dKiIscj0iW2EtekEtWl9dW1xcd1xcLV0qIix0PXtjTjoiYXR0ciIsdjpbe2I6YStyKyI6In0se2I6YSsnIicrcisnIjonfSx7YjphKyInIityKyInOiJ9XX0sYz17Y046InRlbXBsYXRlLXZhcmlhYmxlIix2Olt7Yjoie3siLGU6In19In0se2I6IiV7IixlOiJ9In1dfSxsPXtjTjoic3RyaW5nIixyOjAsdjpbe2I6LycvLGU6LycvfSx7YjovIi8sZTovIi99LHtiOi9cUysvfV0sYzpbZS5CRSxjXX07cmV0dXJue2NJOiEwLGFsaWFzZXM6WyJ5bWwiLCJZQU1MIiwieWFtbCJdLGM6W3Qse2NOOiJtZXRhIixiOiJeLS0tcyokIixyOjEwfSx7Y046InN0cmluZyIsYjoiW1xcfD5dICokIixyRTohMCxjOmwuYyxlOnQudlswXS5ifSx7YjoiPCVbJT0tXT8iLGU6IlslLV0/JT4iLHNMOiJydWJ5IixlQjohMCxlRTohMCxyOjB9LHtjTjoidHlwZSIsYjoiISEiK2UuVUlSfSx7Y046Im1ldGEiLGI6IiYiK2UuVUlSKyIkIn0se2NOOiJtZXRhIixiOiJcXCoiK2UuVUlSKyIkIn0se2NOOiJidWxsZXQiLGI6Il4gKi0iLHI6MH0sZS5IQ00se2JLOmIsazp7bGl0ZXJhbDpifX0sZS5DTk0sbF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJjc3MiLGZ1bmN0aW9uKGUpe3ZhciBjPSJbYS16QS1aLV1bYS16QS1aMC05Xy1dKiIsdD17YjovW0EtWlxfXC5cLV0rXHMqOi8sckI6ITAsZToiOyIsZVc6ITAsYzpbe2NOOiJhdHRyaWJ1dGUiLGI6L1xTLyxlOiI6IixlRTohMCxzdGFydHM6e2VXOiEwLGVFOiEwLGM6W3tiOi9bXHctXStcKC8sckI6ITAsYzpbe2NOOiJidWlsdF9pbiIsYjovW1x3LV0rL30se2I6L1woLyxlOi9cKS8sYzpbZS5BU00sZS5RU01dfV19LGUuQ1NTTk0sZS5RU00sZS5BU00sZS5DQkNNLHtjTjoibnVtYmVyIixiOiIjWzAtOUEtRmEtZl0rIn0se2NOOiJtZXRhIixiOiIhaW1wb3J0YW50In1dfX1dfTtyZXR1cm57Y0k6ITAsaTovWz1cL3wnXCRdLyxjOltlLkNCQ00se2NOOiJzZWxlY3Rvci1pZCIsYjovI1tBLVphLXowLTlfLV0rL30se2NOOiJzZWxlY3Rvci1jbGFzcyIsYjovXC5bQS1aYS16MC05Xy1dKy99LHtjTjoic2VsZWN0b3ItYXR0ciIsYjovXFsvLGU6L1xdLyxpOiIkIn0se2NOOiJzZWxlY3Rvci1wc2V1ZG8iLGI6LzooOik/W2EtekEtWjAtOVxfXC1cK1woXCkiJy5dKy99LHtiOiJAKGZvbnQtZmFjZXxwYWdlKSIsbDoiW2Etei1dKyIsazoiZm9udC1mYWNlIHBhZ2UifSx7YjoiQCIsZToiW3s7XSIsaTovOi8sYzpbe2NOOiJrZXl3b3JkIixiOi9cdysvfSx7YjovXHMvLGVXOiEwLGVFOiEwLHI6MCxjOltlLkFTTSxlLlFTTSxlLkNTU05NXX1dfSx7Y046InNlbGVjdG9yLXRhZyIsYjpjLHI6MH0se2I6InsiLGU6In0iLGk6L1xTLyxjOltlLkNCQ00sdF19XX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImZvcnRyYW4iLGZ1bmN0aW9uKGUpe3ZhciB0PXtjTjoicGFyYW1zIixiOiJcXCgiLGU6IlxcKSJ9LG49e2xpdGVyYWw6Ii5GYWxzZS4gLlRydWUuIixrZXl3b3JkOiJraW5kIGRvIHdoaWxlIHByaXZhdGUgY2FsbCBpbnRyaW5zaWMgd2hlcmUgZWxzZXdoZXJlIHR5cGUgZW5kdHlwZSBlbmRtb2R1bGUgZW5kc2VsZWN0IGVuZGludGVyZmFjZSBlbmQgZW5kZG8gZW5kaWYgaWYgZm9yYWxsIGVuZGZvcmFsbCBvbmx5IGNvbnRhaW5zIGRlZmF1bHQgcmV0dXJuIHN0b3AgdGhlbiBwdWJsaWMgc3Vicm91dGluZXwxMCBmdW5jdGlvbiBwcm9ncmFtIC5hbmQuIC5vci4gLm5vdC4gLmxlLiAuZXEuIC5nZS4gLmd0LiAubHQuIGdvdG8gc2F2ZSBlbHNlIHVzZSBtb2R1bGUgc2VsZWN0IGNhc2UgYWNjZXNzIGJsYW5rIGRpcmVjdCBleGlzdCBmaWxlIGZtdCBmb3JtIGZvcm1hdHRlZCBpb3N0YXQgbmFtZSBuYW1lZCBuZXh0cmVjIG51bWJlciBvcGVuZWQgcmVjIHJlY2wgc2VxdWVudGlhbCBzdGF0dXMgdW5mb3JtYXR0ZWQgdW5pdCBjb250aW51ZSBmb3JtYXQgcGF1c2UgY3ljbGUgZXhpdCBjX251bGxfY2hhciBjX2FsZXJ0IGNfYmFja3NwYWNlIGNfZm9ybV9mZWVkIGZsdXNoIHdhaXQgZGVjaW1hbCByb3VuZCBpb21zZyBzeW5jaHJvbm91cyBub3Bhc3Mgbm9uX292ZXJyaWRhYmxlIHBhc3MgcHJvdGVjdGVkIHZvbGF0aWxlIGFic3RyYWN0IGV4dGVuZHMgaW1wb3J0IG5vbl9pbnRyaW5zaWMgdmFsdWUgZGVmZXJyZWQgZ2VuZXJpYyBmaW5hbCBlbnVtZXJhdG9yIGNsYXNzIGFzc29jaWF0ZSBiaW5kIGVudW0gY19pbnQgY19zaG9ydCBjX2xvbmcgY19sb25nX2xvbmcgY19zaWduZWRfY2hhciBjX3NpemVfdCBjX2ludDhfdCBjX2ludDE2X3QgY19pbnQzMl90IGNfaW50NjRfdCBjX2ludF9sZWFzdDhfdCBjX2ludF9sZWFzdDE2X3QgY19pbnRfbGVhc3QzMl90IGNfaW50X2xlYXN0NjRfdCBjX2ludF9mYXN0OF90IGNfaW50X2Zhc3QxNl90IGNfaW50X2Zhc3QzMl90IGNfaW50X2Zhc3Q2NF90IGNfaW50bWF4X3QgQ19pbnRwdHJfdCBjX2Zsb2F0IGNfZG91YmxlIGNfbG9uZ19kb3VibGUgY19mbG9hdF9jb21wbGV4IGNfZG91YmxlX2NvbXBsZXggY19sb25nX2RvdWJsZV9jb21wbGV4IGNfYm9vbCBjX2NoYXIgY19udWxsX3B0ciBjX251bGxfZnVucHRyIGNfbmV3X2xpbmUgY19jYXJyaWFnZV9yZXR1cm4gY19ob3Jpem9udGFsX3RhYiBjX3ZlcnRpY2FsX3RhYiBpc29fY19iaW5kaW5nIGNfbG9jIGNfZnVubG9jIGNfYXNzb2NpYXRlZCAgY19mX3BvaW50ZXIgY19wdHIgY19mdW5wdHIgaXNvX2ZvcnRyYW5fZW52IGNoYXJhY3Rlcl9zdG9yYWdlX3NpemUgZXJyb3JfdW5pdCBmaWxlX3N0b3JhZ2Vfc2l6ZSBpbnB1dF91bml0IGlvc3RhdF9lbmQgaW9zdGF0X2VvciBudW1lcmljX3N0b3JhZ2Vfc2l6ZSBvdXRwdXRfdW5pdCBjX2ZfcHJvY3BvaW50ZXIgaWVlZV9hcml0aG1ldGljIGllZWVfc3VwcG9ydF91bmRlcmZsb3dfY29udHJvbCBpZWVlX2dldF91bmRlcmZsb3dfbW9kZSBpZWVlX3NldF91bmRlcmZsb3dfbW9kZSBuZXd1bml0IGNvbnRpZ3VvdXMgcmVjdXJzaXZlIHBhZCBwb3NpdGlvbiBhY3Rpb24gZGVsaW0gcmVhZHdyaXRlIGVvciBhZHZhbmNlIG5tbCBpbnRlcmZhY2UgcHJvY2VkdXJlIG5hbWVsaXN0IGluY2x1ZGUgc2VxdWVuY2UgZWxlbWVudGFsIHB1cmUgaW50ZWdlciByZWFsIGNoYXJhY3RlciBjb21wbGV4IGxvZ2ljYWwgZGltZW5zaW9uIGFsbG9jYXRhYmxlfDEwIHBhcmFtZXRlciBleHRlcm5hbCBpbXBsaWNpdHwxMCBub25lIGRvdWJsZSBwcmVjaXNpb24gYXNzaWduIGludGVudCBvcHRpb25hbCBwb2ludGVyIHRhcmdldCBpbiBvdXQgY29tbW9uIGVxdWl2YWxlbmNlIGRhdGEiLGJ1aWx0X2luOiJhbG9nIGFsb2cxMCBhbWF4MCBhbWF4MSBhbWluMCBhbWluMSBhbW9kIGNhYnMgY2NvcyBjZXhwIGNsb2cgY3NpbiBjc3FydCBkYWJzIGRhY29zIGRhc2luIGRhdGFuIGRhdGFuMiBkY29zIGRjb3NoIGRkaW0gZGV4cCBkaW50IGRsb2cgZGxvZzEwIGRtYXgxIGRtaW4xIGRtb2QgZG5pbnQgZHNpZ24gZHNpbiBkc2luaCBkc3FydCBkdGFuIGR0YW5oIGZsb2F0IGlhYnMgaWRpbSBpZGludCBpZG5pbnQgaWZpeCBpc2lnbiBtYXgwIG1heDEgbWluMCBtaW4xIHNuZ2wgYWxnYW1hIGNkYWJzIGNkY29zIGNkZXhwIGNkbG9nIGNkc2luIGNkc3FydCBjcWFicyBjcWNvcyBjcWV4cCBjcWxvZyBjcXNpbiBjcXNxcnQgZGNtcGx4IGRjb25qZyBkZXJmIGRlcmZjIGRmbG9hdCBkZ2FtbWEgZGltYWcgZGxnYW1hIGlxaW50IHFhYnMgcWFjb3MgcWFzaW4gcWF0YW4gcWF0YW4yIHFjbXBseCBxY29uamcgcWNvcyBxY29zaCBxZGltIHFlcmYgcWVyZmMgcWV4cCBxZ2FtbWEgcWltYWcgcWxnYW1hIHFsb2cgcWxvZzEwIHFtYXgxIHFtaW4xIHFtb2QgcW5pbnQgcXNpZ24gcXNpbiBxc2luaCBxc3FydCBxdGFuIHF0YW5oIGFicyBhY29zIGFpbWFnIGFpbnQgYW5pbnQgYXNpbiBhdGFuIGF0YW4yIGNoYXIgY21wbHggY29uamcgY29zIGNvc2ggZXhwIGljaGFyIGluZGV4IGludCBsb2cgbG9nMTAgbWF4IG1pbiBuaW50IHNpZ24gc2luIHNpbmggc3FydCB0YW4gdGFuaCBwcmludCB3cml0ZSBkaW0gbGdlIGxndCBsbGUgbGx0IG1vZCBudWxsaWZ5IGFsbG9jYXRlIGRlYWxsb2NhdGUgYWRqdXN0bCBhZGp1c3RyIGFsbCBhbGxvY2F0ZWQgYW55IGFzc29jaWF0ZWQgYml0X3NpemUgYnRlc3QgY2VpbGluZyBjb3VudCBjc2hpZnQgZGF0ZV9hbmRfdGltZSBkaWdpdHMgZG90X3Byb2R1Y3QgZW9zaGlmdCBlcHNpbG9uIGV4cG9uZW50IGZsb29yIGZyYWN0aW9uIGh1Z2UgaWFuZCBpYmNsciBpYml0cyBpYnNldCBpZW9yIGlvciBpc2hmdCBpc2hmdGMgbGJvdW5kIGxlbl90cmltIG1hdG11bCBtYXhleHBvbmVudCBtYXhsb2MgbWF4dmFsIG1lcmdlIG1pbmV4cG9uZW50IG1pbmxvYyBtaW52YWwgbW9kdWxvIG12Yml0cyBuZWFyZXN0IHBhY2sgcHJlc2VudCBwcm9kdWN0IHJhZGl4IHJhbmRvbV9udW1iZXIgcmFuZG9tX3NlZWQgcmFuZ2UgcmVwZWF0IHJlc2hhcGUgcnJzcGFjaW5nIHNjYWxlIHNjYW4gc2VsZWN0ZWRfaW50X2tpbmQgc2VsZWN0ZWRfcmVhbF9raW5kIHNldF9leHBvbmVudCBzaGFwZSBzaXplIHNwYWNpbmcgc3ByZWFkIHN1bSBzeXN0ZW1fY2xvY2sgdGlueSB0cmFuc3Bvc2UgdHJpbSB1Ym91bmQgdW5wYWNrIHZlcmlmeSBhY2hhciBpYWNoYXIgdHJhbnNmZXIgZGJsZSBlbnRyeSBkcHJvZCBjcHVfdGltZSBjb21tYW5kX2FyZ3VtZW50X2NvdW50IGdldF9jb21tYW5kIGdldF9jb21tYW5kX2FyZ3VtZW50IGdldF9lbnZpcm9ubWVudF92YXJpYWJsZSBpc19pb3N0YXRfZW5kIGllZWVfYXJpdGhtZXRpYyBpZWVlX3N1cHBvcnRfdW5kZXJmbG93X2NvbnRyb2wgaWVlZV9nZXRfdW5kZXJmbG93X21vZGUgaWVlZV9zZXRfdW5kZXJmbG93X21vZGUgaXNfaW9zdGF0X2VvciBtb3ZlX2FsbG9jIG5ld19saW5lIHNlbGVjdGVkX2NoYXJfa2luZCBzYW1lX3R5cGVfYXMgZXh0ZW5kc190eXBlX29mYWNvc2ggYXNpbmggYXRhbmggYmVzc2VsX2owIGJlc3NlbF9qMSBiZXNzZWxfam4gYmVzc2VsX3kwIGJlc3NlbF95MSBiZXNzZWxfeW4gZXJmIGVyZmMgZXJmY19zY2FsZWQgZ2FtbWEgbG9nX2dhbW1hIGh5cG90IG5vcm0yIGF0b21pY19kZWZpbmUgYXRvbWljX3JlZiBleGVjdXRlX2NvbW1hbmRfbGluZSBsZWFkeiB0cmFpbHogc3RvcmFnZV9zaXplIG1lcmdlX2JpdHMgYmdlIGJndCBibGUgYmx0IGRzaGlmdGwgZHNoaWZ0ciBmaW5kbG9jIGlhbGwgaWFueSBpcGFyaXR5IGltYWdlX2luZGV4IGxjb2JvdW5kIHVjb2JvdW5kIG1hc2tsIG1hc2tyIG51bV9pbWFnZXMgcGFyaXR5IHBvcGNudCBwb3BwYXIgc2hpZnRhIHNoaWZ0bCBzaGlmdHIgdGhpc19pbWFnZSJ9O3JldHVybntjSTohMCxhbGlhc2VzOlsiZjkwIiwiZjk1Il0sazpuLGk6L1wvXCovLGM6W2UuaW5oZXJpdChlLkFTTSx7Y046InN0cmluZyIscjowfSksZS5pbmhlcml0KGUuUVNNLHtjTjoic3RyaW5nIixyOjB9KSx7Y046ImZ1bmN0aW9uIixiSzoic3Vicm91dGluZSBmdW5jdGlvbiBwcm9ncmFtIixpOiJbJHs9XFxuXSIsYzpbZS5VVE0sdF19LGUuQygiISIsIiQiLHtyOjB9KSx7Y046Im51bWJlciIsYjoiKD89XFxifFxcK3xcXC18XFwuKSg/PVxcLlxcZHxcXGQpKD86XFxkKyk/KD86XFwuP1xcZCopKD86W2RlXVsrLV0/XFxkKyk/XFxiXFwuPyIscjowfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJhd2siLGZ1bmN0aW9uKGUpe3ZhciByPXtjTjoidmFyaWFibGUiLHY6W3tiOi9cJFtcd1xkI0BdW1x3XGRfXSovfSx7YjovXCRceyguKj8pfS99XX0sYj0iQkVHSU4gRU5EIGlmIGVsc2Ugd2hpbGUgZG8gZm9yIGluIGJyZWFrIGNvbnRpbnVlIGRlbGV0ZSBuZXh0IG5leHRmaWxlIGZ1bmN0aW9uIGZ1bmMgZXhpdHwxMCIsbj17Y046InN0cmluZyIsYzpbZS5CRV0sdjpbe2I6Lyh1fGIpP3I/JycnLyxlOi8nJycvLHI6MTB9LHtiOi8odXxiKT9yPyIiIi8sZTovIiIiLyxyOjEwfSx7YjovKHV8cnx1ciknLyxlOi8nLyxyOjEwfSx7YjovKHV8cnx1cikiLyxlOi8iLyxyOjEwfSx7YjovKGJ8YnIpJy8sZTovJy99LHtiOi8oYnxicikiLyxlOi8iL30sZS5BU00sZS5RU01dfTtyZXR1cm57azp7a2V5d29yZDpifSxjOltyLG4sZS5STSxlLkhDTSxlLk5NXX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoIm1ha2VmaWxlIixmdW5jdGlvbihlKXt2YXIgaT17Y046InZhcmlhYmxlIix2Olt7YjoiXFwkXFwoIitlLlVJUisiXFwpIixjOltlLkJFXX0se2I6L1wkW0AlPD9cXlwrXCpdL31dfSxyPXtjTjoic3RyaW5nIixiOi8iLyxlOi8iLyxjOltlLkJFLGldfSxhPXtjTjoidmFyaWFibGUiLGI6L1wkXChbXHctXStccy8sZTovXCkvLGs6e2J1aWx0X2luOiJzdWJzdCBwYXRzdWJzdCBzdHJpcCBmaW5kc3RyaW5nIGZpbHRlciBmaWx0ZXItb3V0IHNvcnQgd29yZCB3b3JkbGlzdCBmaXJzdHdvcmQgbGFzdHdvcmQgZGlyIG5vdGRpciBzdWZmaXggYmFzZW5hbWUgYWRkc3VmZml4IGFkZHByZWZpeCBqb2luIHdpbGRjYXJkIHJlYWxwYXRoIGFic3BhdGggZXJyb3Igd2FybmluZyBzaGVsbCBvcmlnaW4gZmxhdm9yIGZvcmVhY2ggaWYgb3IgYW5kIGNhbGwgZXZhbCBmaWxlIHZhbHVlIn0sYzpbaV19LG49e2I6Il4iK2UuVUlSKyJcXHMqWzorP10/PSIsaToiXFxuIixyQjohMCxjOlt7YjoiXiIrZS5VSVIsZToiWzorP10/PSIsZUU6ITB9XX0sdD17Y046Im1ldGEiLGI6L15cLlBIT05ZOi8sZTovJC8sazp7Im1ldGEta2V5d29yZCI6Ii5QSE9OWSJ9LGw6L1tcLlx3XSsvfSxsPXtjTjoic2VjdGlvbiIsYjovXlteXHNdKzovLGU6LyQvLGM6W2ldfTtyZXR1cm57YWxpYXNlczpbIm1rIiwibWFrIl0sazoiZGVmaW5lIGVuZGVmIHVuZGVmaW5lIGlmZGVmIGlmbmRlZiBpZmVxIGlmbmVxIGVsc2UgZW5kaWYgaW5jbHVkZSAtaW5jbHVkZSBzaW5jbHVkZSBvdmVycmlkZSBleHBvcnQgdW5leHBvcnQgcHJpdmF0ZSB2cGF0aCIsbDovW1x3LV0rLyxjOltlLkhDTSxpLHIsYSxuLHQsbF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJqYXZhIixmdW5jdGlvbihlKXt2YXIgYT0iW8OALcq4YS16QS1aXyRdW8OALcq4YS16QS1aXyQwLTldKiIsdD1hKyIoPCIrYSsiKFxccyosXFxzKiIrYSsiKSo+KT8iLHI9ImZhbHNlIHN5bmNocm9uaXplZCBpbnQgYWJzdHJhY3QgZmxvYXQgcHJpdmF0ZSBjaGFyIGJvb2xlYW4gc3RhdGljIG51bGwgaWYgY29uc3QgZm9yIHRydWUgd2hpbGUgbG9uZyBzdHJpY3RmcCBmaW5hbGx5IHByb3RlY3RlZCBpbXBvcnQgbmF0aXZlIGZpbmFsIHZvaWQgZW51bSBlbHNlIGJyZWFrIHRyYW5zaWVudCBjYXRjaCBpbnN0YW5jZW9mIGJ5dGUgc3VwZXIgdm9sYXRpbGUgY2FzZSBhc3NlcnQgc2hvcnQgcGFja2FnZSBkZWZhdWx0IGRvdWJsZSBwdWJsaWMgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIHRocm93cyBwcm90ZWN0ZWQgcHVibGljIHByaXZhdGUgbW9kdWxlIHJlcXVpcmVzIGV4cG9ydHMgZG8iLHM9IlxcYigwW2JCXShbMDFdK1swMV9dK1swMV0rfFswMV0rKXwwW3hYXShbYS1mQS1GMC05XStbYS1mQS1GMC05X10rW2EtZkEtRjAtOV0rfFthLWZBLUYwLTldKyl8KChbXFxkXStbXFxkX10rW1xcZF0rfFtcXGRdKykoXFwuKFtcXGRdK1tcXGRfXStbXFxkXSt8W1xcZF0rKSk/fFxcLihbXFxkXStbXFxkX10rW1xcZF0rfFtcXGRdKykpKFtlRV1bLStdP1xcZCspPylbbExmRl0/IixjPXtjTjoibnVtYmVyIixiOnMscjowfTtyZXR1cm57YWxpYXNlczpbImpzcCJdLGs6cixpOi88XC98Iy8sYzpbZS5DKCIvXFwqXFwqIiwiXFwqLyIse3I6MCxjOlt7YjovXHcrQC8scjowfSx7Y046ImRvY3RhZyIsYjoiQFtBLVphLXpdKyJ9XX0pLGUuQ0xDTSxlLkNCQ00sZS5BU00sZS5RU00se2NOOiJjbGFzcyIsYks6ImNsYXNzIGludGVyZmFjZSIsZTovW3s7PV0vLGVFOiEwLGs6ImNsYXNzIGludGVyZmFjZSIsaTovWzoiXFtcXV0vLGM6W3tiSzoiZXh0ZW5kcyBpbXBsZW1lbnRzIn0sZS5VVE1dfSx7Yks6Im5ldyB0aHJvdyByZXR1cm4gZWxzZSIscjowfSx7Y046ImZ1bmN0aW9uIixiOiIoIit0KyJcXHMrKSsiK2UuVUlSKyJcXHMqXFwoIixyQjohMCxlOi9bezs9XS8sZUU6ITAsazpyLGM6W3tiOmUuVUlSKyJcXHMqXFwoIixyQjohMCxyOjAsYzpbZS5VVE1dfSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOnIscjowLGM6W2UuQVNNLGUuUVNNLGUuQ05NLGUuQ0JDTV19LGUuQ0xDTSxlLkNCQ01dfSxjLHtjTjoibWV0YSIsYjoiQFtBLVphLXpdKyJ9XX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInN0YW4iLGZ1bmN0aW9uKGUpe3JldHVybntjOltlLkhDTSxlLkNMQ00sZS5DQkNNLHtiOmUuVUlSLGw6ZS5VSVIsazp7bmFtZToiZm9yIGluIHdoaWxlIHJlcGVhdCB1bnRpbCBpZiB0aGVuIGVsc2UiLHN5bWJvbDoiYmVybm91bGxpIGJlcm5vdWxsaV9sb2dpdCBiaW5vbWlhbCBiaW5vbWlhbF9sb2dpdCBiZXRhX2Jpbm9taWFsIGh5cGVyZ2VvbWV0cmljIGNhdGVnb3JpY2FsIGNhdGVnb3JpY2FsX2xvZ2l0IG9yZGVyZWRfbG9naXN0aWMgbmVnX2Jpbm9taWFsIG5lZ19iaW5vbWlhbF8yIG5lZ19iaW5vbWlhbF8yX2xvZyBwb2lzc29uIHBvaXNzb25fbG9nIG11bHRpbm9taWFsIG5vcm1hbCBleHBfbW9kX25vcm1hbCBza2V3X25vcm1hbCBzdHVkZW50X3QgY2F1Y2h5IGRvdWJsZV9leHBvbmVudGlhbCBsb2dpc3RpYyBndW1iZWwgbG9nbm9ybWFsIGNoaV9zcXVhcmUgaW52X2NoaV9zcXVhcmUgc2NhbGVkX2ludl9jaGlfc3F1YXJlIGV4cG9uZW50aWFsIGludl9nYW1tYSB3ZWlidWxsIGZyZWNoZXQgcmF5bGVpZ2ggd2llbmVyIHBhcmV0byBwYXJldG9fdHlwZV8yIHZvbl9taXNlcyB1bmlmb3JtIG11bHRpX25vcm1hbCBtdWx0aV9ub3JtYWxfcHJlYyBtdWx0aV9ub3JtYWxfY2hvbGVza3kgbXVsdGlfZ3AgbXVsdGlfZ3BfY2hvbGVza3kgbXVsdGlfc3R1ZGVudF90IGdhdXNzaWFuX2RsbV9vYnMgZGlyaWNobGV0IGxral9jb3JyIGxral9jb3JyX2Nob2xlc2t5IHdpc2hhcnQgaW52X3dpc2hhcnQiLCJzZWxlY3Rvci10YWciOiJpbnQgcmVhbCB2ZWN0b3Igc2ltcGxleCB1bml0X3ZlY3RvciBvcmRlcmVkIHBvc2l0aXZlX29yZGVyZWQgcm93X3ZlY3RvciBtYXRyaXggY2hvbGVza3lfZmFjdG9yX2NvcnIgY2hvbGVza3lfZmFjdG9yX2NvdiBjb3JyX21hdHJpeCBjb3ZfbWF0cml4Iix0aXRsZToiZnVuY3Rpb25zIG1vZGVsIGRhdGEgcGFyYW1ldGVycyBxdWFudGl0aWVzIHRyYW5zZm9ybWVkIGdlbmVyYXRlZCIsbGl0ZXJhbDoidHJ1ZSBmYWxzZSJ9LHI6MH0se2NOOiJudW1iZXIiLGI6IjBbeFhdWzAtOWEtZkEtRl0rW0xpXT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IjBbeFhdWzAtOWEtZkEtRl0rW0xpXT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcZCsoPzpbZUVdWytcXC1dP1xcZCopP0xcXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcZCtcXC4oPyFcXGQpKD86aVxcYik/IixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrKD86XFwuXFxkKik/KD86W2VFXVsrXFwtXT9cXGQqKT9pP1xcYiIscjowfSx7Y046Im51bWJlciIsYjoiXFwuXFxkKyg/OltlRV1bK1xcLV0/XFxkKik/aT9cXGIiLHI6MH1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiamF2YXNjcmlwdCIsZnVuY3Rpb24oZSl7dmFyIHI9IltBLVphLXokX11bMC05QS1aYS16JF9dKiIsdD17a2V5d29yZDoiaW4gb2YgaWYgZm9yIHdoaWxlIGZpbmFsbHkgdmFyIG5ldyBmdW5jdGlvbiBkbyByZXR1cm4gdm9pZCBlbHNlIGJyZWFrIGNhdGNoIGluc3RhbmNlb2Ygd2l0aCB0aHJvdyBjYXNlIGRlZmF1bHQgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIHR5cGVvZiBkZWxldGUgbGV0IHlpZWxkIGNvbnN0IGV4cG9ydCBzdXBlciBkZWJ1Z2dlciBhcyBhc3luYyBhd2FpdCBzdGF0aWMgaW1wb3J0IGZyb20gYXMiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbCB1bmRlZmluZWQgTmFOIEluZmluaXR5IixidWlsdF9pbjoiZXZhbCBpc0Zpbml0ZSBpc05hTiBwYXJzZUZsb2F0IHBhcnNlSW50IGRlY29kZVVSSSBkZWNvZGVVUklDb21wb25lbnQgZW5jb2RlVVJJIGVuY29kZVVSSUNvbXBvbmVudCBlc2NhcGUgdW5lc2NhcGUgT2JqZWN0IEZ1bmN0aW9uIEJvb2xlYW4gRXJyb3IgRXZhbEVycm9yIEludGVybmFsRXJyb3IgUmFuZ2VFcnJvciBSZWZlcmVuY2VFcnJvciBTdG9wSXRlcmF0aW9uIFN5bnRheEVycm9yIFR5cGVFcnJvciBVUklFcnJvciBOdW1iZXIgTWF0aCBEYXRlIFN0cmluZyBSZWdFeHAgQXJyYXkgRmxvYXQzMkFycmF5IEZsb2F0NjRBcnJheSBJbnQxNkFycmF5IEludDMyQXJyYXkgSW50OEFycmF5IFVpbnQxNkFycmF5IFVpbnQzMkFycmF5IFVpbnQ4QXJyYXkgVWludDhDbGFtcGVkQXJyYXkgQXJyYXlCdWZmZXIgRGF0YVZpZXcgSlNPTiBJbnRsIGFyZ3VtZW50cyByZXF1aXJlIG1vZHVsZSBjb25zb2xlIHdpbmRvdyBkb2N1bWVudCBTeW1ib2wgU2V0IE1hcCBXZWFrU2V0IFdlYWtNYXAgUHJveHkgUmVmbGVjdCBQcm9taXNlIn0sYT17Y046Im51bWJlciIsdjpbe2I6IlxcYigwW2JCXVswMV0rKSJ9LHtiOiJcXGIoMFtvT11bMC03XSspIn0se2I6ZS5DTlJ9XSxyOjB9LG49e2NOOiJzdWJzdCIsYjoiXFwkXFx7IixlOiJcXH0iLGs6dCxjOltdfSxjPXtjTjoic3RyaW5nIixiOiJgIixlOiJgIixjOltlLkJFLG5dfTtuLmM9W2UuQVNNLGUuUVNNLGMsYSxlLlJNXTt2YXIgcz1uLmMuY29uY2F0KFtlLkNCQ00sZS5DTENNXSk7cmV0dXJue2FsaWFzZXM6WyJqcyIsImpzeCJdLGs6dCxjOlt7Y046Im1ldGEiLHI6MTAsYjovXlxzKlsnIl11c2UgKHN0cmljdHxhc20pWyciXS99LHtjTjoibWV0YSIsYjovXiMhLyxlOi8kL30sZS5BU00sZS5RU00sYyxlLkNMQ00sZS5DQkNNLGEse2I6L1t7LF1ccyovLHI6MCxjOlt7YjpyKyJcXHMqOiIsckI6ITAscjowLGM6W3tjTjoiYXR0ciIsYjpyLHI6MH1dfV19LHtiOiIoIitlLlJTUisifFxcYihjYXNlfHJldHVybnx0aHJvdylcXGIpXFxzKiIsazoicmV0dXJuIHRocm93IGNhc2UiLGM6W2UuQ0xDTSxlLkNCQ00sZS5STSx7Y046ImZ1bmN0aW9uIixiOiIoXFwoLio/XFwpfCIrcisiKVxccyo9PiIsckI6ITAsZToiXFxzKj0+IixjOlt7Y046InBhcmFtcyIsdjpbe2I6cn0se2I6L1woXHMqXCkvfSx7YjovXCgvLGU6L1wpLyxlQjohMCxlRTohMCxrOnQsYzpzfV19XX0se2I6LzwvLGU6LyhcL1x3K3xcdytcLyk+LyxzTDoieG1sIixjOlt7YjovPFx3K1xzKlwvPi8sc2tpcDohMH0se2I6LzxcdysvLGU6LyhcL1x3K3xcdytcLyk+Lyxza2lwOiEwLGM6W3tiOi88XHcrXHMqXC8+Lyxza2lwOiEwfSwic2VsZiJdfV19XSxyOjB9LHtjTjoiZnVuY3Rpb24iLGJLOiJmdW5jdGlvbiIsZTovXHsvLGVFOiEwLGM6W2UuaW5oZXJpdChlLlRNLHtiOnJ9KSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxlQjohMCxlRTohMCxjOnN9XSxpOi9cW3wlL30se2I6L1wkWyguXS99LGUuTUVUSE9EX0dVQVJELHtjTjoiY2xhc3MiLGJLOiJjbGFzcyIsZTovW3s7PV0vLGVFOiEwLGk6L1s6IlxbXF1dLyxjOlt7Yks6ImV4dGVuZHMifSxlLlVUTV19LHtiSzoiY29uc3RydWN0b3IiLGU6L1x7LyxlRTohMH1dLGk6LyMoPyEhKS99fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJ0ZXgiLGZ1bmN0aW9uKGMpe3ZhciBlPXtjTjoidGFnIixiOi9cXC8scjowLGM6W3tjTjoibmFtZSIsdjpbe2I6L1thLXpBLVrQsC3Rj9CQLdGPXStbKl0/L30se2I6L1teYS16QS1a0LAt0Y/QkC3RjzAtOV0vfV0sc3RhcnRzOntlVzohMCxyOjAsYzpbe2NOOiJzdHJpbmciLHY6W3tiOi9cWy8sZTovXF0vfSx7YjovXHsvLGU6L1x9L31dfSx7YjovXHMqPVxzKi8sZVc6ITAscjowLGM6W3tjTjoibnVtYmVyIixiOi8tP1xkKlwuP1xkKyhwdHxwY3xtbXxjbXxpbnxkZHxjY3xleHxlbSk/L31dfV19fV19O3JldHVybntjOltlLHtjTjoiZm9ybXVsYSIsYzpbZV0scjowLHY6W3tiOi9cJFwkLyxlOi9cJFwkL30se2I6L1wkLyxlOi9cJC99XX0sYy5DKCIlIiwiJCIse3I6MH0pXX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInhtbCIsZnVuY3Rpb24ocyl7dmFyIGU9IltBLVphLXowLTlcXC5fOi1dKyIsdD17ZVc6ITAsaTovPC8scjowLGM6W3tjTjoiYXR0ciIsYjplLHI6MH0se2I6Lz1ccyovLHI6MCxjOlt7Y046InN0cmluZyIsZW5kc1BhcmVudDohMCx2Olt7YjovIi8sZTovIi99LHtiOi8nLyxlOi8nL30se2I6L1teXHMiJz08PmBdKy99XX1dfV19O3JldHVybnthbGlhc2VzOlsiaHRtbCIsInhodG1sIiwicnNzIiwiYXRvbSIsInhqYiIsInhzZCIsInhzbCIsInBsaXN0Il0sY0k6ITAsYzpbe2NOOiJtZXRhIixiOiI8IURPQ1RZUEUiLGU6Ij4iLHI6MTAsYzpbe2I6IlxcWyIsZToiXFxdIn1dfSxzLkMoIjwhLS0iLCItLT4iLHtyOjEwfSkse2I6IjxcXCFcXFtDREFUQVxcWyIsZToiXFxdXFxdPiIscjoxMH0se2I6LzxcPyhwaHApPy8sZTovXD8+LyxzTDoicGhwIixjOlt7YjoiL1xcKiIsZToiXFwqLyIsc2tpcDohMH1dfSx7Y046InRhZyIsYjoiPHN0eWxlKD89XFxzfD58JCkiLGU6Ij4iLGs6e25hbWU6InN0eWxlIn0sYzpbdF0sc3RhcnRzOntlOiI8L3N0eWxlPiIsckU6ITAsc0w6WyJjc3MiLCJ4bWwiXX19LHtjTjoidGFnIixiOiI8c2NyaXB0KD89XFxzfD58JCkiLGU6Ij4iLGs6e25hbWU6InNjcmlwdCJ9LGM6W3RdLHN0YXJ0czp7ZToiPC9zY3JpcHQ+IixyRTohMCxzTDpbImFjdGlvbnNjcmlwdCIsImphdmFzY3JpcHQiLCJoYW5kbGViYXJzIiwieG1sIl19fSx7Y046Im1ldGEiLHY6W3tiOi88XD94bWwvLGU6L1w/Pi8scjoxMH0se2I6LzxcP1x3Ky8sZTovXD8+L31dfSx7Y046InRhZyIsYjoiPC8/IixlOiIvPz4iLGM6W3tjTjoibmFtZSIsYjovW15cLz48XHNdKy8scjowfSx0XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgibWFya2Rvd24iLGZ1bmN0aW9uKGUpe3JldHVybnthbGlhc2VzOlsibWQiLCJta2Rvd24iLCJta2QiXSxjOlt7Y046InNlY3Rpb24iLHY6W3tiOiJeI3sxLDZ9IixlOiIkIn0se2I6Il4uKz9cXG5bPS1dezIsfSQifV19LHtiOiI8IixlOiI+IixzTDoieG1sIixyOjB9LHtjTjoiYnVsbGV0IixiOiJeKFsqKy1dfChcXGQrXFwuKSlcXHMrIn0se2NOOiJzdHJvbmciLGI6IlsqX117Mn0uKz9bKl9dezJ9In0se2NOOiJlbXBoYXNpcyIsdjpbe2I6IlxcKi4rP1xcKiJ9LHtiOiJfLis/XyIscjowfV19LHtjTjoicXVvdGUiLGI6Il4+XFxzKyIsZToiJCJ9LHtjTjoiY29kZSIsdjpbe2I6Il5gYGB3KnMqJCIsZToiXmBgYHMqJCJ9LHtiOiJgLis/YCJ9LHtiOiJeKCB7NH18CSkiLGU6IiQiLHI6MH1dfSx7YjoiXlstXFwqXXszLH0iLGU6IiQifSx7YjoiXFxbLis/XFxdW1xcKFxcW10uKj9bXFwpXFxdXSIsckI6ITAsYzpbe2NOOiJzdHJpbmciLGI6IlxcWyIsZToiXFxdIixlQjohMCxyRTohMCxyOjB9LHtjTjoibGluayIsYjoiXFxdXFwoIixlOiJcXCkiLGVCOiEwLGVFOiEwfSx7Y046InN5bWJvbCIsYjoiXFxdXFxbIixlOiJcXF0iLGVCOiEwLGVFOiEwfV0scjoxMH0se2I6L15cW1teXG5dK1xdOi8sckI6ITAsYzpbe2NOOiJzeW1ib2wiLGI6L1xbLyxlOi9cXS8sZUI6ITAsZUU6ITB9LHtjTjoibGluayIsYjovOlxzKi8sZTovJC8sZUI6ITB9XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgianNvbiIsZnVuY3Rpb24oZSl7dmFyIGk9e2xpdGVyYWw6InRydWUgZmFsc2UgbnVsbCJ9LG49W2UuUVNNLGUuQ05NXSxyPXtlOiIsIixlVzohMCxlRTohMCxjOm4sazppfSx0PXtiOiJ7IixlOiJ9IixjOlt7Y046ImF0dHIiLGI6LyIvLGU6LyIvLGM6W2UuQkVdLGk6IlxcbiJ9LGUuaW5oZXJpdChyLHtiOi86L30pXSxpOiJcXFMifSxjPXtiOiJcXFsiLGU6IlxcXSIsYzpbZS5pbmhlcml0KHIpXSxpOiJcXFMifTtyZXR1cm4gbi5zcGxpY2Uobi5sZW5ndGgsMCx0LGMpLHtjOm4sazppLGk6IlxcUyJ9fSk7"></script> |
| 1311 | <script>$(document).ready(function(){ |
| 1312 | if (typeof $('[data-toggle="tooltip"]').tooltip === 'function') { |
| 1313 | $('[data-toggle="tooltip"]').tooltip(); |
| 1314 | } |
| 1315 | if ($('[data-toggle="popover"]').popover === 'function') { |
| 1316 | $('[data-toggle="popover"]').popover(); |
| 1317 | } |
| 1318 | }); |
| 1319 | </script> |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 1320 | <style type="text/css"> |
| 1321 | .lightable-minimal { |
| 1322 | border-collapse: separate; |
| 1323 | border-spacing: 16px 1px; |
| 1324 | width: 100%; |
| 1325 | margin-bottom: 10px; |
| 1326 | } |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 1327 | .lightable-minimal td { |
| 1328 | margin-left: 5px; |
| 1329 | margin-right: 5px; |
| 1330 | } |
| 1331 | .lightable-minimal th { |
| 1332 | margin-left: 5px; |
| 1333 | margin-right: 5px; |
| 1334 | } |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 1335 | .lightable-minimal thead tr:last-child th { |
| 1336 | border-bottom: 2px solid #00000050; |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 1337 | empty-cells: hide; |
| 1338 | } |
| 1339 | .lightable-minimal tbody tr:first-child td { |
| 1340 | padding-top: 0.5em; |
| 1341 | } |
Hao Zhu | 81c335c | 2020-08-10 09:20:41 -0400 | [diff] [blame] | 1342 | .lightable-minimal.lightable-hover tbody tr:hover { |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 1343 | background-color: #f5f5f5; |
| 1344 | } |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 1345 | .lightable-minimal.lightable-striped tbody tr:nth-child(even) { |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 1346 | background-color: #f5f5f5; |
| 1347 | } |
| 1348 | .lightable-classic { |
| 1349 | border-top: 2px solid #111111; |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 1350 | width: 100%; |
| 1351 | margin-bottom: 10px; |
| 1352 | } |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 1353 | .lightable-classic td { |
| 1354 | padding-left: 5px; |
| 1355 | padding-right: 5px; |
| 1356 | } |
| 1357 | .lightable-classic th { |
| 1358 | padding-left: 5px; |
| 1359 | padding-right: 5px; |
| 1360 | } |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 1361 | .lightable-classic thead tr:last-child th { |
| 1362 | border-bottom: 1px solid #111111; |
| 1363 | } |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 1364 | .lightable-classic tbody tr:last-child td { |
| 1365 | border-bottom: 2px solid #111111; |
| 1366 | } |
Hao Zhu | 81c335c | 2020-08-10 09:20:41 -0400 | [diff] [blame] | 1367 | .lightable-classic.lightable-hover tbody tr:hover { |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 1368 | background-color: #F9EEC1; |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 1369 | } |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 1370 | .lightable-classic.lightable-striped tbody tr:nth-child(even) { |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 1371 | background-color: #f5f5f5; |
| 1372 | } |
Hao Zhu | d8a2e33 | 2020-08-11 01:26:32 -0400 | [diff] [blame] | 1373 | .lightable-classic-2 { |
| 1374 | border-top: 3px double #111111; |
Hao Zhu | d8a2e33 | 2020-08-11 01:26:32 -0400 | [diff] [blame] | 1375 | width: 100%; |
| 1376 | margin-bottom: 10px; |
| 1377 | } |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 1378 | .lightable-classic-2 td { |
| 1379 | padding-left: 5px; |
| 1380 | padding-right: 5px; |
| 1381 | } |
| 1382 | .lightable-classic-2 th { |
| 1383 | padding-left: 5px; |
| 1384 | padding-right: 5px; |
| 1385 | } |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 1386 | .lightable-classic-2 tbody tr:last-child td { |
| 1387 | border-bottom: 3px double #111111; |
| 1388 | } |
Hao Zhu | d8a2e33 | 2020-08-11 01:26:32 -0400 | [diff] [blame] | 1389 | .lightable-classic-2 thead tr:last-child th { |
| 1390 | border-bottom: 1px solid #111111; |
| 1391 | } |
| 1392 | .lightable-classic-2.lightable-hover tbody tr:hover { |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 1393 | background-color: #F9EEC1; |
Hao Zhu | d8a2e33 | 2020-08-11 01:26:32 -0400 | [diff] [blame] | 1394 | } |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 1395 | .lightable-classic-2.lightable-striped tbody tr:nth-child(even) { |
Hao Zhu | d8a2e33 | 2020-08-11 01:26:32 -0400 | [diff] [blame] | 1396 | background-color: #f5f5f5; |
| 1397 | } |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 1398 | .lightable-material { |
| 1399 | min-width: 100%; |
| 1400 | white-space: nowrap; |
| 1401 | table-layout: fixed; |
| 1402 | font-family: Roboto, sans-serif; |
| 1403 | border: 1px solid #EEE; |
| 1404 | border-collapse: collapse; |
| 1405 | margin-bottom: 10px; |
| 1406 | } |
| 1407 | .lightable-material th { |
Hao Zhu | 9bf1998 | 2020-08-11 00:50:33 -0400 | [diff] [blame] | 1408 | height: 56px; |
| 1409 | padding-left: 16px; |
| 1410 | padding-right: 16px; |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 1411 | } |
| 1412 | .lightable-material td { |
Hao Zhu | 9bf1998 | 2020-08-11 00:50:33 -0400 | [diff] [blame] | 1413 | height: 52px; |
| 1414 | padding-left: 16px; |
| 1415 | padding-right: 16px; |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 1416 | border-top: 1px solid #eeeeee; |
| 1417 | } |
Hao Zhu | 81c335c | 2020-08-10 09:20:41 -0400 | [diff] [blame] | 1418 | .lightable-material.lightable-hover tbody tr:hover { |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 1419 | background-color: #f5f5f5; |
| 1420 | } |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 1421 | .lightable-material.lightable-striped tbody tr:nth-child(even) { |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 1422 | background-color: #f5f5f5; |
| 1423 | } |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 1424 | .lightable-material.lightable-striped tbody td { |
Hao Zhu | 9bf1998 | 2020-08-11 00:50:33 -0400 | [diff] [blame] | 1425 | border: 0; |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 1426 | } |
| 1427 | .lightable-material.lightable-striped thead tr:last-child th { |
| 1428 | border-bottom: 1px solid #ddd; |
| 1429 | } |
Hao Zhu | 9bf1998 | 2020-08-11 00:50:33 -0400 | [diff] [blame] | 1430 | .lightable-material-dark { |
| 1431 | min-width: 100%; |
| 1432 | white-space: nowrap; |
| 1433 | table-layout: fixed; |
| 1434 | font-family: Roboto, sans-serif; |
| 1435 | border: 1px solid #FFFFFF12; |
| 1436 | border-collapse: collapse; |
| 1437 | margin-bottom: 10px; |
| 1438 | background-color: #363640; |
| 1439 | } |
| 1440 | .lightable-material-dark th { |
| 1441 | height: 56px; |
| 1442 | padding-left: 16px; |
| 1443 | padding-right: 16px; |
| 1444 | color: #FFFFFF60; |
| 1445 | } |
| 1446 | .lightable-material-dark td { |
| 1447 | height: 52px; |
| 1448 | padding-left: 16px; |
| 1449 | padding-right: 16px; |
| 1450 | color: #FFFFFF; |
| 1451 | border-top: 1px solid #FFFFFF12; |
| 1452 | } |
| 1453 | .lightable-material-dark.lightable-hover tbody tr:hover { |
| 1454 | background-color: #FFFFFF12; |
| 1455 | } |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 1456 | .lightable-material-dark.lightable-striped tbody tr:nth-child(even) { |
Hao Zhu | 9bf1998 | 2020-08-11 00:50:33 -0400 | [diff] [blame] | 1457 | background-color: #FFFFFF12; |
| 1458 | } |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 1459 | .lightable-material-dark.lightable-striped tbody td { |
Hao Zhu | 9bf1998 | 2020-08-11 00:50:33 -0400 | [diff] [blame] | 1460 | border: 0; |
| 1461 | } |
| 1462 | .lightable-material-dark.lightable-striped thead tr:last-child th { |
| 1463 | border-bottom: 1px solid #FFFFFF12; |
| 1464 | } |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 1465 | .lightable-paper { |
| 1466 | width: 100%; |
| 1467 | margin-bottom: 10px; |
| 1468 | } |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 1469 | .lightable-paper thead tr:last-child th { |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 1470 | color: #999; |
| 1471 | vertical-align: bottom; |
| 1472 | border-bottom: 1px solid #00000020; |
| 1473 | line-height: 1.15em; |
| 1474 | padding: 10px 5px; |
| 1475 | } |
| 1476 | .lightable-paper td { |
| 1477 | vertical-align: middle; |
| 1478 | border-bottom: 1px solid #00000010; |
| 1479 | line-height: 1.15em; |
| 1480 | padding: 7px 5px; |
| 1481 | } |
| 1482 | .lightable-paper.lightable-hover tbody tr:hover { |
| 1483 | background-color: #F9EEC1; |
| 1484 | } |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 1485 | .lightable-paper.lightable-striped tbody tr:nth-child(even) { |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 1486 | background-color: #00000008; |
| 1487 | } |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 1488 | .lightable-paper.lightable-striped tbody td { |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 1489 | border: 0; |
| 1490 | } |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 1491 | </style> |
Hao Zhu | 8f46db8 | 2020-08-18 21:48:23 -0400 | [diff] [blame] | 1492 | <script>(function() { |
| 1493 | // If window.HTMLWidgets is already defined, then use it; otherwise create a |
| 1494 | // new object. This allows preceding code to set options that affect the |
| 1495 | // initialization process (though none currently exist). |
| 1496 | window.HTMLWidgets = window.HTMLWidgets || {}; |
| 1497 | |
| 1498 | // See if we're running in a viewer pane. If not, we're in a web browser. |
| 1499 | var viewerMode = window.HTMLWidgets.viewerMode = |
| 1500 | /\bviewer_pane=1\b/.test(window.location); |
| 1501 | |
| 1502 | // See if we're running in Shiny mode. If not, it's a static document. |
| 1503 | // Note that static widgets can appear in both Shiny and static modes, but |
| 1504 | // obviously, Shiny widgets can only appear in Shiny apps/documents. |
| 1505 | var shinyMode = window.HTMLWidgets.shinyMode = |
| 1506 | typeof(window.Shiny) !== "undefined" && !!window.Shiny.outputBindings; |
| 1507 | |
| 1508 | // We can't count on jQuery being available, so we implement our own |
| 1509 | // version if necessary. |
| 1510 | function querySelectorAll(scope, selector) { |
| 1511 | if (typeof(jQuery) !== "undefined" && scope instanceof jQuery) { |
| 1512 | return scope.find(selector); |
| 1513 | } |
| 1514 | if (scope.querySelectorAll) { |
| 1515 | return scope.querySelectorAll(selector); |
| 1516 | } |
| 1517 | } |
| 1518 | |
| 1519 | function asArray(value) { |
| 1520 | if (value === null) |
| 1521 | return []; |
| 1522 | if ($.isArray(value)) |
| 1523 | return value; |
| 1524 | return [value]; |
| 1525 | } |
| 1526 | |
| 1527 | // Implement jQuery's extend |
| 1528 | function extend(target /*, ... */) { |
| 1529 | if (arguments.length == 1) { |
| 1530 | return target; |
| 1531 | } |
| 1532 | for (var i = 1; i < arguments.length; i++) { |
| 1533 | var source = arguments[i]; |
| 1534 | for (var prop in source) { |
| 1535 | if (source.hasOwnProperty(prop)) { |
| 1536 | target[prop] = source[prop]; |
| 1537 | } |
| 1538 | } |
| 1539 | } |
| 1540 | return target; |
| 1541 | } |
| 1542 | |
| 1543 | // IE8 doesn't support Array.forEach. |
| 1544 | function forEach(values, callback, thisArg) { |
| 1545 | if (values.forEach) { |
| 1546 | values.forEach(callback, thisArg); |
| 1547 | } else { |
| 1548 | for (var i = 0; i < values.length; i++) { |
| 1549 | callback.call(thisArg, values[i], i, values); |
| 1550 | } |
| 1551 | } |
| 1552 | } |
| 1553 | |
| 1554 | // Replaces the specified method with the return value of funcSource. |
| 1555 | // |
| 1556 | // Note that funcSource should not BE the new method, it should be a function |
| 1557 | // that RETURNS the new method. funcSource receives a single argument that is |
| 1558 | // the overridden method, it can be called from the new method. The overridden |
| 1559 | // method can be called like a regular function, it has the target permanently |
| 1560 | // bound to it so "this" will work correctly. |
| 1561 | function overrideMethod(target, methodName, funcSource) { |
| 1562 | var superFunc = target[methodName] || function() {}; |
| 1563 | var superFuncBound = function() { |
| 1564 | return superFunc.apply(target, arguments); |
| 1565 | }; |
| 1566 | target[methodName] = funcSource(superFuncBound); |
| 1567 | } |
| 1568 | |
| 1569 | // Add a method to delegator that, when invoked, calls |
| 1570 | // delegatee.methodName. If there is no such method on |
| 1571 | // the delegatee, but there was one on delegator before |
| 1572 | // delegateMethod was called, then the original version |
| 1573 | // is invoked instead. |
| 1574 | // For example: |
| 1575 | // |
| 1576 | // var a = { |
| 1577 | // method1: function() { console.log('a1'); } |
| 1578 | // method2: function() { console.log('a2'); } |
| 1579 | // }; |
| 1580 | // var b = { |
| 1581 | // method1: function() { console.log('b1'); } |
| 1582 | // }; |
| 1583 | // delegateMethod(a, b, "method1"); |
| 1584 | // delegateMethod(a, b, "method2"); |
| 1585 | // a.method1(); |
| 1586 | // a.method2(); |
| 1587 | // |
| 1588 | // The output would be "b1", "a2". |
| 1589 | function delegateMethod(delegator, delegatee, methodName) { |
| 1590 | var inherited = delegator[methodName]; |
| 1591 | delegator[methodName] = function() { |
| 1592 | var target = delegatee; |
| 1593 | var method = delegatee[methodName]; |
| 1594 | |
| 1595 | // The method doesn't exist on the delegatee. Instead, |
| 1596 | // call the method on the delegator, if it exists. |
| 1597 | if (!method) { |
| 1598 | target = delegator; |
| 1599 | method = inherited; |
| 1600 | } |
| 1601 | |
| 1602 | if (method) { |
| 1603 | return method.apply(target, arguments); |
| 1604 | } |
| 1605 | }; |
| 1606 | } |
| 1607 | |
| 1608 | // Implement a vague facsimilie of jQuery's data method |
| 1609 | function elementData(el, name, value) { |
| 1610 | if (arguments.length == 2) { |
| 1611 | return el["htmlwidget_data_" + name]; |
| 1612 | } else if (arguments.length == 3) { |
| 1613 | el["htmlwidget_data_" + name] = value; |
| 1614 | return el; |
| 1615 | } else { |
| 1616 | throw new Error("Wrong number of arguments for elementData: " + |
| 1617 | arguments.length); |
| 1618 | } |
| 1619 | } |
| 1620 | |
| 1621 | // http://stackoverflow.com/questions/3446170/escape-string-for-use-in-javascript-regex |
| 1622 | function escapeRegExp(str) { |
| 1623 | return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); |
| 1624 | } |
| 1625 | |
| 1626 | function hasClass(el, className) { |
| 1627 | var re = new RegExp("\\b" + escapeRegExp(className) + "\\b"); |
| 1628 | return re.test(el.className); |
| 1629 | } |
| 1630 | |
| 1631 | // elements - array (or array-like object) of HTML elements |
| 1632 | // className - class name to test for |
| 1633 | // include - if true, only return elements with given className; |
| 1634 | // if false, only return elements *without* given className |
| 1635 | function filterByClass(elements, className, include) { |
| 1636 | var results = []; |
| 1637 | for (var i = 0; i < elements.length; i++) { |
| 1638 | if (hasClass(elements[i], className) == include) |
| 1639 | results.push(elements[i]); |
| 1640 | } |
| 1641 | return results; |
| 1642 | } |
| 1643 | |
| 1644 | function on(obj, eventName, func) { |
| 1645 | if (obj.addEventListener) { |
| 1646 | obj.addEventListener(eventName, func, false); |
| 1647 | } else if (obj.attachEvent) { |
| 1648 | obj.attachEvent(eventName, func); |
| 1649 | } |
| 1650 | } |
| 1651 | |
| 1652 | function off(obj, eventName, func) { |
| 1653 | if (obj.removeEventListener) |
| 1654 | obj.removeEventListener(eventName, func, false); |
| 1655 | else if (obj.detachEvent) { |
| 1656 | obj.detachEvent(eventName, func); |
| 1657 | } |
| 1658 | } |
| 1659 | |
| 1660 | // Translate array of values to top/right/bottom/left, as usual with |
| 1661 | // the "padding" CSS property |
| 1662 | // https://developer.mozilla.org/en-US/docs/Web/CSS/padding |
| 1663 | function unpackPadding(value) { |
| 1664 | if (typeof(value) === "number") |
| 1665 | value = [value]; |
| 1666 | if (value.length === 1) { |
| 1667 | return {top: value[0], right: value[0], bottom: value[0], left: value[0]}; |
| 1668 | } |
| 1669 | if (value.length === 2) { |
| 1670 | return {top: value[0], right: value[1], bottom: value[0], left: value[1]}; |
| 1671 | } |
| 1672 | if (value.length === 3) { |
| 1673 | return {top: value[0], right: value[1], bottom: value[2], left: value[1]}; |
| 1674 | } |
| 1675 | if (value.length === 4) { |
| 1676 | return {top: value[0], right: value[1], bottom: value[2], left: value[3]}; |
| 1677 | } |
| 1678 | } |
| 1679 | |
| 1680 | // Convert an unpacked padding object to a CSS value |
| 1681 | function paddingToCss(paddingObj) { |
| 1682 | return paddingObj.top + "px " + paddingObj.right + "px " + paddingObj.bottom + "px " + paddingObj.left + "px"; |
| 1683 | } |
| 1684 | |
| 1685 | // Makes a number suitable for CSS |
| 1686 | function px(x) { |
| 1687 | if (typeof(x) === "number") |
| 1688 | return x + "px"; |
| 1689 | else |
| 1690 | return x; |
| 1691 | } |
| 1692 | |
| 1693 | // Retrieves runtime widget sizing information for an element. |
| 1694 | // The return value is either null, or an object with fill, padding, |
| 1695 | // defaultWidth, defaultHeight fields. |
| 1696 | function sizingPolicy(el) { |
| 1697 | var sizingEl = document.querySelector("script[data-for='" + el.id + "'][type='application/htmlwidget-sizing']"); |
| 1698 | if (!sizingEl) |
| 1699 | return null; |
| 1700 | var sp = JSON.parse(sizingEl.textContent || sizingEl.text || "{}"); |
| 1701 | if (viewerMode) { |
| 1702 | return sp.viewer; |
| 1703 | } else { |
| 1704 | return sp.browser; |
| 1705 | } |
| 1706 | } |
| 1707 | |
| 1708 | // @param tasks Array of strings (or falsy value, in which case no-op). |
| 1709 | // Each element must be a valid JavaScript expression that yields a |
| 1710 | // function. Or, can be an array of objects with "code" and "data" |
| 1711 | // properties; in this case, the "code" property should be a string |
| 1712 | // of JS that's an expr that yields a function, and "data" should be |
| 1713 | // an object that will be added as an additional argument when that |
| 1714 | // function is called. |
| 1715 | // @param target The object that will be "this" for each function |
| 1716 | // execution. |
| 1717 | // @param args Array of arguments to be passed to the functions. (The |
| 1718 | // same arguments will be passed to all functions.) |
| 1719 | function evalAndRun(tasks, target, args) { |
| 1720 | if (tasks) { |
| 1721 | forEach(tasks, function(task) { |
| 1722 | var theseArgs = args; |
| 1723 | if (typeof(task) === "object") { |
| 1724 | theseArgs = theseArgs.concat([task.data]); |
| 1725 | task = task.code; |
| 1726 | } |
| 1727 | var taskFunc = tryEval(task); |
| 1728 | if (typeof(taskFunc) !== "function") { |
| 1729 | throw new Error("Task must be a function! Source:\n" + task); |
| 1730 | } |
| 1731 | taskFunc.apply(target, theseArgs); |
| 1732 | }); |
| 1733 | } |
| 1734 | } |
| 1735 | |
| 1736 | // Attempt eval() both with and without enclosing in parentheses. |
| 1737 | // Note that enclosing coerces a function declaration into |
| 1738 | // an expression that eval() can parse |
| 1739 | // (otherwise, a SyntaxError is thrown) |
| 1740 | function tryEval(code) { |
| 1741 | var result = null; |
| 1742 | try { |
| 1743 | result = eval(code); |
| 1744 | } catch(error) { |
| 1745 | if (!error instanceof SyntaxError) { |
| 1746 | throw error; |
| 1747 | } |
| 1748 | try { |
| 1749 | result = eval("(" + code + ")"); |
| 1750 | } catch(e) { |
| 1751 | if (e instanceof SyntaxError) { |
| 1752 | throw error; |
| 1753 | } else { |
| 1754 | throw e; |
| 1755 | } |
| 1756 | } |
| 1757 | } |
| 1758 | return result; |
| 1759 | } |
| 1760 | |
| 1761 | function initSizing(el) { |
| 1762 | var sizing = sizingPolicy(el); |
| 1763 | if (!sizing) |
| 1764 | return; |
| 1765 | |
| 1766 | var cel = document.getElementById("htmlwidget_container"); |
| 1767 | if (!cel) |
| 1768 | return; |
| 1769 | |
| 1770 | if (typeof(sizing.padding) !== "undefined") { |
| 1771 | document.body.style.margin = "0"; |
| 1772 | document.body.style.padding = paddingToCss(unpackPadding(sizing.padding)); |
| 1773 | } |
| 1774 | |
| 1775 | if (sizing.fill) { |
| 1776 | document.body.style.overflow = "hidden"; |
| 1777 | document.body.style.width = "100%"; |
| 1778 | document.body.style.height = "100%"; |
| 1779 | document.documentElement.style.width = "100%"; |
| 1780 | document.documentElement.style.height = "100%"; |
| 1781 | if (cel) { |
| 1782 | cel.style.position = "absolute"; |
| 1783 | var pad = unpackPadding(sizing.padding); |
| 1784 | cel.style.top = pad.top + "px"; |
| 1785 | cel.style.right = pad.right + "px"; |
| 1786 | cel.style.bottom = pad.bottom + "px"; |
| 1787 | cel.style.left = pad.left + "px"; |
| 1788 | el.style.width = "100%"; |
| 1789 | el.style.height = "100%"; |
| 1790 | } |
| 1791 | |
| 1792 | return { |
| 1793 | getWidth: function() { return cel.offsetWidth; }, |
| 1794 | getHeight: function() { return cel.offsetHeight; } |
| 1795 | }; |
| 1796 | |
| 1797 | } else { |
| 1798 | el.style.width = px(sizing.width); |
| 1799 | el.style.height = px(sizing.height); |
| 1800 | |
| 1801 | return { |
| 1802 | getWidth: function() { return el.offsetWidth; }, |
| 1803 | getHeight: function() { return el.offsetHeight; } |
| 1804 | }; |
| 1805 | } |
| 1806 | } |
| 1807 | |
| 1808 | // Default implementations for methods |
| 1809 | var defaults = { |
| 1810 | find: function(scope) { |
| 1811 | return querySelectorAll(scope, "." + this.name); |
| 1812 | }, |
| 1813 | renderError: function(el, err) { |
| 1814 | var $el = $(el); |
| 1815 | |
| 1816 | this.clearError(el); |
| 1817 | |
| 1818 | // Add all these error classes, as Shiny does |
| 1819 | var errClass = "shiny-output-error"; |
| 1820 | if (err.type !== null) { |
| 1821 | // use the classes of the error condition as CSS class names |
| 1822 | errClass = errClass + " " + $.map(asArray(err.type), function(type) { |
| 1823 | return errClass + "-" + type; |
| 1824 | }).join(" "); |
| 1825 | } |
| 1826 | errClass = errClass + " htmlwidgets-error"; |
| 1827 | |
| 1828 | // Is el inline or block? If inline or inline-block, just display:none it |
| 1829 | // and add an inline error. |
| 1830 | var display = $el.css("display"); |
| 1831 | $el.data("restore-display-mode", display); |
| 1832 | |
| 1833 | if (display === "inline" || display === "inline-block") { |
| 1834 | $el.hide(); |
| 1835 | if (err.message !== "") { |
| 1836 | var errorSpan = $("<span>").addClass(errClass); |
| 1837 | errorSpan.text(err.message); |
| 1838 | $el.after(errorSpan); |
| 1839 | } |
| 1840 | } else if (display === "block") { |
| 1841 | // If block, add an error just after the el, set visibility:none on the |
| 1842 | // el, and position the error to be on top of the el. |
| 1843 | // Mark it with a unique ID and CSS class so we can remove it later. |
| 1844 | $el.css("visibility", "hidden"); |
| 1845 | if (err.message !== "") { |
| 1846 | var errorDiv = $("<div>").addClass(errClass).css("position", "absolute") |
| 1847 | .css("top", el.offsetTop) |
| 1848 | .css("left", el.offsetLeft) |
| 1849 | // setting width can push out the page size, forcing otherwise |
| 1850 | // unnecessary scrollbars to appear and making it impossible for |
| 1851 | // the element to shrink; so use max-width instead |
| 1852 | .css("maxWidth", el.offsetWidth) |
| 1853 | .css("height", el.offsetHeight); |
| 1854 | errorDiv.text(err.message); |
| 1855 | $el.after(errorDiv); |
| 1856 | |
| 1857 | // Really dumb way to keep the size/position of the error in sync with |
| 1858 | // the parent element as the window is resized or whatever. |
| 1859 | var intId = setInterval(function() { |
| 1860 | if (!errorDiv[0].parentElement) { |
| 1861 | clearInterval(intId); |
| 1862 | return; |
| 1863 | } |
| 1864 | errorDiv |
| 1865 | .css("top", el.offsetTop) |
| 1866 | .css("left", el.offsetLeft) |
| 1867 | .css("maxWidth", el.offsetWidth) |
| 1868 | .css("height", el.offsetHeight); |
| 1869 | }, 500); |
| 1870 | } |
| 1871 | } |
| 1872 | }, |
| 1873 | clearError: function(el) { |
| 1874 | var $el = $(el); |
| 1875 | var display = $el.data("restore-display-mode"); |
| 1876 | $el.data("restore-display-mode", null); |
| 1877 | |
| 1878 | if (display === "inline" || display === "inline-block") { |
| 1879 | if (display) |
| 1880 | $el.css("display", display); |
| 1881 | $(el.nextSibling).filter(".htmlwidgets-error").remove(); |
| 1882 | } else if (display === "block"){ |
| 1883 | $el.css("visibility", "inherit"); |
| 1884 | $(el.nextSibling).filter(".htmlwidgets-error").remove(); |
| 1885 | } |
| 1886 | }, |
| 1887 | sizing: {} |
| 1888 | }; |
| 1889 | |
| 1890 | // Called by widget bindings to register a new type of widget. The definition |
| 1891 | // object can contain the following properties: |
| 1892 | // - name (required) - A string indicating the binding name, which will be |
| 1893 | // used by default as the CSS classname to look for. |
| 1894 | // - initialize (optional) - A function(el) that will be called once per |
| 1895 | // widget element; if a value is returned, it will be passed as the third |
| 1896 | // value to renderValue. |
| 1897 | // - renderValue (required) - A function(el, data, initValue) that will be |
| 1898 | // called with data. Static contexts will cause this to be called once per |
| 1899 | // element; Shiny apps will cause this to be called multiple times per |
| 1900 | // element, as the data changes. |
| 1901 | window.HTMLWidgets.widget = function(definition) { |
| 1902 | if (!definition.name) { |
| 1903 | throw new Error("Widget must have a name"); |
| 1904 | } |
| 1905 | if (!definition.type) { |
| 1906 | throw new Error("Widget must have a type"); |
| 1907 | } |
| 1908 | // Currently we only support output widgets |
| 1909 | if (definition.type !== "output") { |
| 1910 | throw new Error("Unrecognized widget type '" + definition.type + "'"); |
| 1911 | } |
| 1912 | // TODO: Verify that .name is a valid CSS classname |
| 1913 | |
| 1914 | // Support new-style instance-bound definitions. Old-style class-bound |
| 1915 | // definitions have one widget "object" per widget per type/class of |
| 1916 | // widget; the renderValue and resize methods on such widget objects |
| 1917 | // take el and instance arguments, because the widget object can't |
| 1918 | // store them. New-style instance-bound definitions have one widget |
| 1919 | // object per widget instance; the definition that's passed in doesn't |
| 1920 | // provide renderValue or resize methods at all, just the single method |
| 1921 | // factory(el, width, height) |
| 1922 | // which returns an object that has renderValue(x) and resize(w, h). |
| 1923 | // This enables a far more natural programming style for the widget |
| 1924 | // author, who can store per-instance state using either OO-style |
| 1925 | // instance fields or functional-style closure variables (I guess this |
| 1926 | // is in contrast to what can only be called C-style pseudo-OO which is |
| 1927 | // what we required before). |
| 1928 | if (definition.factory) { |
| 1929 | definition = createLegacyDefinitionAdapter(definition); |
| 1930 | } |
| 1931 | |
| 1932 | if (!definition.renderValue) { |
| 1933 | throw new Error("Widget must have a renderValue function"); |
| 1934 | } |
| 1935 | |
| 1936 | // For static rendering (non-Shiny), use a simple widget registration |
| 1937 | // scheme. We also use this scheme for Shiny apps/documents that also |
| 1938 | // contain static widgets. |
| 1939 | window.HTMLWidgets.widgets = window.HTMLWidgets.widgets || []; |
| 1940 | // Merge defaults into the definition; don't mutate the original definition. |
| 1941 | var staticBinding = extend({}, defaults, definition); |
| 1942 | overrideMethod(staticBinding, "find", function(superfunc) { |
| 1943 | return function(scope) { |
| 1944 | var results = superfunc(scope); |
| 1945 | // Filter out Shiny outputs, we only want the static kind |
| 1946 | return filterByClass(results, "html-widget-output", false); |
| 1947 | }; |
| 1948 | }); |
| 1949 | window.HTMLWidgets.widgets.push(staticBinding); |
| 1950 | |
| 1951 | if (shinyMode) { |
| 1952 | // Shiny is running. Register the definition with an output binding. |
| 1953 | // The definition itself will not be the output binding, instead |
| 1954 | // we will make an output binding object that delegates to the |
| 1955 | // definition. This is because we foolishly used the same method |
| 1956 | // name (renderValue) for htmlwidgets definition and Shiny bindings |
| 1957 | // but they actually have quite different semantics (the Shiny |
| 1958 | // bindings receive data that includes lots of metadata that it |
| 1959 | // strips off before calling htmlwidgets renderValue). We can't |
| 1960 | // just ignore the difference because in some widgets it's helpful |
| 1961 | // to call this.renderValue() from inside of resize(), and if |
| 1962 | // we're not delegating, then that call will go to the Shiny |
| 1963 | // version instead of the htmlwidgets version. |
| 1964 | |
| 1965 | // Merge defaults with definition, without mutating either. |
| 1966 | var bindingDef = extend({}, defaults, definition); |
| 1967 | |
| 1968 | // This object will be our actual Shiny binding. |
| 1969 | var shinyBinding = new Shiny.OutputBinding(); |
| 1970 | |
| 1971 | // With a few exceptions, we'll want to simply use the bindingDef's |
| 1972 | // version of methods if they are available, otherwise fall back to |
| 1973 | // Shiny's defaults. NOTE: If Shiny's output bindings gain additional |
| 1974 | // methods in the future, and we want them to be overrideable by |
| 1975 | // HTMLWidget binding definitions, then we'll need to add them to this |
| 1976 | // list. |
| 1977 | delegateMethod(shinyBinding, bindingDef, "getId"); |
| 1978 | delegateMethod(shinyBinding, bindingDef, "onValueChange"); |
| 1979 | delegateMethod(shinyBinding, bindingDef, "onValueError"); |
| 1980 | delegateMethod(shinyBinding, bindingDef, "renderError"); |
| 1981 | delegateMethod(shinyBinding, bindingDef, "clearError"); |
| 1982 | delegateMethod(shinyBinding, bindingDef, "showProgress"); |
| 1983 | |
| 1984 | // The find, renderValue, and resize are handled differently, because we |
| 1985 | // want to actually decorate the behavior of the bindingDef methods. |
| 1986 | |
| 1987 | shinyBinding.find = function(scope) { |
| 1988 | var results = bindingDef.find(scope); |
| 1989 | |
| 1990 | // Only return elements that are Shiny outputs, not static ones |
| 1991 | var dynamicResults = results.filter(".html-widget-output"); |
| 1992 | |
| 1993 | // It's possible that whatever caused Shiny to think there might be |
| 1994 | // new dynamic outputs, also caused there to be new static outputs. |
| 1995 | // Since there might be lots of different htmlwidgets bindings, we |
| 1996 | // schedule execution for later--no need to staticRender multiple |
| 1997 | // times. |
| 1998 | if (results.length !== dynamicResults.length) |
| 1999 | scheduleStaticRender(); |
| 2000 | |
| 2001 | return dynamicResults; |
| 2002 | }; |
| 2003 | |
| 2004 | // Wrap renderValue to handle initialization, which unfortunately isn't |
| 2005 | // supported natively by Shiny at the time of this writing. |
| 2006 | |
| 2007 | shinyBinding.renderValue = function(el, data) { |
| 2008 | Shiny.renderDependencies(data.deps); |
| 2009 | // Resolve strings marked as javascript literals to objects |
| 2010 | if (!(data.evals instanceof Array)) data.evals = [data.evals]; |
| 2011 | for (var i = 0; data.evals && i < data.evals.length; i++) { |
| 2012 | window.HTMLWidgets.evaluateStringMember(data.x, data.evals[i]); |
| 2013 | } |
| 2014 | if (!bindingDef.renderOnNullValue) { |
| 2015 | if (data.x === null) { |
| 2016 | el.style.visibility = "hidden"; |
| 2017 | return; |
| 2018 | } else { |
| 2019 | el.style.visibility = "inherit"; |
| 2020 | } |
| 2021 | } |
| 2022 | if (!elementData(el, "initialized")) { |
| 2023 | initSizing(el); |
| 2024 | |
| 2025 | elementData(el, "initialized", true); |
| 2026 | if (bindingDef.initialize) { |
| 2027 | var result = bindingDef.initialize(el, el.offsetWidth, |
| 2028 | el.offsetHeight); |
| 2029 | elementData(el, "init_result", result); |
| 2030 | } |
| 2031 | } |
| 2032 | bindingDef.renderValue(el, data.x, elementData(el, "init_result")); |
| 2033 | evalAndRun(data.jsHooks.render, elementData(el, "init_result"), [el, data.x]); |
| 2034 | }; |
| 2035 | |
| 2036 | // Only override resize if bindingDef implements it |
| 2037 | if (bindingDef.resize) { |
| 2038 | shinyBinding.resize = function(el, width, height) { |
| 2039 | // Shiny can call resize before initialize/renderValue have been |
| 2040 | // called, which doesn't make sense for widgets. |
| 2041 | if (elementData(el, "initialized")) { |
| 2042 | bindingDef.resize(el, width, height, elementData(el, "init_result")); |
| 2043 | } |
| 2044 | }; |
| 2045 | } |
| 2046 | |
| 2047 | Shiny.outputBindings.register(shinyBinding, bindingDef.name); |
| 2048 | } |
| 2049 | }; |
| 2050 | |
| 2051 | var scheduleStaticRenderTimerId = null; |
| 2052 | function scheduleStaticRender() { |
| 2053 | if (!scheduleStaticRenderTimerId) { |
| 2054 | scheduleStaticRenderTimerId = setTimeout(function() { |
| 2055 | scheduleStaticRenderTimerId = null; |
| 2056 | window.HTMLWidgets.staticRender(); |
| 2057 | }, 1); |
| 2058 | } |
| 2059 | } |
| 2060 | |
| 2061 | // Render static widgets after the document finishes loading |
| 2062 | // Statically render all elements that are of this widget's class |
| 2063 | window.HTMLWidgets.staticRender = function() { |
| 2064 | var bindings = window.HTMLWidgets.widgets || []; |
| 2065 | forEach(bindings, function(binding) { |
| 2066 | var matches = binding.find(document.documentElement); |
| 2067 | forEach(matches, function(el) { |
| 2068 | var sizeObj = initSizing(el, binding); |
| 2069 | |
| 2070 | if (hasClass(el, "html-widget-static-bound")) |
| 2071 | return; |
| 2072 | el.className = el.className + " html-widget-static-bound"; |
| 2073 | |
| 2074 | var initResult; |
| 2075 | if (binding.initialize) { |
| 2076 | initResult = binding.initialize(el, |
| 2077 | sizeObj ? sizeObj.getWidth() : el.offsetWidth, |
| 2078 | sizeObj ? sizeObj.getHeight() : el.offsetHeight |
| 2079 | ); |
| 2080 | elementData(el, "init_result", initResult); |
| 2081 | } |
| 2082 | |
| 2083 | if (binding.resize) { |
| 2084 | var lastSize = { |
| 2085 | w: sizeObj ? sizeObj.getWidth() : el.offsetWidth, |
| 2086 | h: sizeObj ? sizeObj.getHeight() : el.offsetHeight |
| 2087 | }; |
| 2088 | var resizeHandler = function(e) { |
| 2089 | var size = { |
| 2090 | w: sizeObj ? sizeObj.getWidth() : el.offsetWidth, |
| 2091 | h: sizeObj ? sizeObj.getHeight() : el.offsetHeight |
| 2092 | }; |
| 2093 | if (size.w === 0 && size.h === 0) |
| 2094 | return; |
| 2095 | if (size.w === lastSize.w && size.h === lastSize.h) |
| 2096 | return; |
| 2097 | lastSize = size; |
| 2098 | binding.resize(el, size.w, size.h, initResult); |
| 2099 | }; |
| 2100 | |
| 2101 | on(window, "resize", resizeHandler); |
| 2102 | |
| 2103 | // This is needed for cases where we're running in a Shiny |
| 2104 | // app, but the widget itself is not a Shiny output, but |
| 2105 | // rather a simple static widget. One example of this is |
| 2106 | // an rmarkdown document that has runtime:shiny and widget |
| 2107 | // that isn't in a render function. Shiny only knows to |
| 2108 | // call resize handlers for Shiny outputs, not for static |
| 2109 | // widgets, so we do it ourselves. |
| 2110 | if (window.jQuery) { |
| 2111 | window.jQuery(document).on( |
| 2112 | "shown.htmlwidgets shown.bs.tab.htmlwidgets shown.bs.collapse.htmlwidgets", |
| 2113 | resizeHandler |
| 2114 | ); |
| 2115 | window.jQuery(document).on( |
| 2116 | "hidden.htmlwidgets hidden.bs.tab.htmlwidgets hidden.bs.collapse.htmlwidgets", |
| 2117 | resizeHandler |
| 2118 | ); |
| 2119 | } |
| 2120 | |
| 2121 | // This is needed for the specific case of ioslides, which |
| 2122 | // flips slides between display:none and display:block. |
| 2123 | // Ideally we would not have to have ioslide-specific code |
| 2124 | // here, but rather have ioslides raise a generic event, |
| 2125 | // but the rmarkdown package just went to CRAN so the |
| 2126 | // window to getting that fixed may be long. |
| 2127 | if (window.addEventListener) { |
| 2128 | // It's OK to limit this to window.addEventListener |
| 2129 | // browsers because ioslides itself only supports |
| 2130 | // such browsers. |
| 2131 | on(document, "slideenter", resizeHandler); |
| 2132 | on(document, "slideleave", resizeHandler); |
| 2133 | } |
| 2134 | } |
| 2135 | |
| 2136 | var scriptData = document.querySelector("script[data-for='" + el.id + "'][type='application/json']"); |
| 2137 | if (scriptData) { |
| 2138 | var data = JSON.parse(scriptData.textContent || scriptData.text); |
| 2139 | // Resolve strings marked as javascript literals to objects |
| 2140 | if (!(data.evals instanceof Array)) data.evals = [data.evals]; |
| 2141 | for (var k = 0; data.evals && k < data.evals.length; k++) { |
| 2142 | window.HTMLWidgets.evaluateStringMember(data.x, data.evals[k]); |
| 2143 | } |
| 2144 | binding.renderValue(el, data.x, initResult); |
| 2145 | evalAndRun(data.jsHooks.render, initResult, [el, data.x]); |
| 2146 | } |
| 2147 | }); |
| 2148 | }); |
| 2149 | |
| 2150 | invokePostRenderHandlers(); |
| 2151 | } |
| 2152 | |
| 2153 | |
| 2154 | function has_jQuery3() { |
| 2155 | if (!window.jQuery) { |
| 2156 | return false; |
| 2157 | } |
| 2158 | var $version = window.jQuery.fn.jquery; |
| 2159 | var $major_version = parseInt($version.split(".")[0]); |
| 2160 | return $major_version >= 3; |
| 2161 | } |
| 2162 | |
| 2163 | /* |
| 2164 | / Shiny 1.4 bumped jQuery from 1.x to 3.x which means jQuery's |
| 2165 | / on-ready handler (i.e., $(fn)) is now asyncronous (i.e., it now |
| 2166 | / really means $(setTimeout(fn)). |
| 2167 | / https://jquery.com/upgrade-guide/3.0/#breaking-change-document-ready-handlers-are-now-asynchronous |
| 2168 | / |
| 2169 | / Since Shiny uses $() to schedule initShiny, shiny>=1.4 calls initShiny |
| 2170 | / one tick later than it did before, which means staticRender() is |
| 2171 | / called renderValue() earlier than (advanced) widget authors might be expecting. |
| 2172 | / https://github.com/rstudio/shiny/issues/2630 |
| 2173 | / |
| 2174 | / For a concrete example, leaflet has some methods (e.g., updateBounds) |
| 2175 | / which reference Shiny methods registered in initShiny (e.g., setInputValue). |
| 2176 | / Since leaflet is privy to this life-cycle, it knows to use setTimeout() to |
| 2177 | / delay execution of those methods (until Shiny methods are ready) |
| 2178 | / https://github.com/rstudio/leaflet/blob/18ec981/javascript/src/index.js#L266-L268 |
| 2179 | / |
| 2180 | / Ideally widget authors wouldn't need to use this setTimeout() hack that |
| 2181 | / leaflet uses to call Shiny methods on a staticRender(). In the long run, |
| 2182 | / the logic initShiny should be broken up so that method registration happens |
| 2183 | / right away, but binding happens later. |
| 2184 | */ |
| 2185 | function maybeStaticRenderLater() { |
| 2186 | if (shinyMode && has_jQuery3()) { |
| 2187 | window.jQuery(window.HTMLWidgets.staticRender); |
| 2188 | } else { |
| 2189 | window.HTMLWidgets.staticRender(); |
| 2190 | } |
| 2191 | } |
| 2192 | |
| 2193 | if (document.addEventListener) { |
| 2194 | document.addEventListener("DOMContentLoaded", function() { |
| 2195 | document.removeEventListener("DOMContentLoaded", arguments.callee, false); |
| 2196 | maybeStaticRenderLater(); |
| 2197 | }, false); |
| 2198 | } else if (document.attachEvent) { |
| 2199 | document.attachEvent("onreadystatechange", function() { |
| 2200 | if (document.readyState === "complete") { |
| 2201 | document.detachEvent("onreadystatechange", arguments.callee); |
| 2202 | maybeStaticRenderLater(); |
| 2203 | } |
| 2204 | }); |
| 2205 | } |
| 2206 | |
| 2207 | |
| 2208 | window.HTMLWidgets.getAttachmentUrl = function(depname, key) { |
| 2209 | // If no key, default to the first item |
| 2210 | if (typeof(key) === "undefined") |
| 2211 | key = 1; |
| 2212 | |
| 2213 | var link = document.getElementById(depname + "-" + key + "-attachment"); |
| 2214 | if (!link) { |
| 2215 | throw new Error("Attachment " + depname + "/" + key + " not found in document"); |
| 2216 | } |
| 2217 | return link.getAttribute("href"); |
| 2218 | }; |
| 2219 | |
| 2220 | window.HTMLWidgets.dataframeToD3 = function(df) { |
| 2221 | var names = []; |
| 2222 | var length; |
| 2223 | for (var name in df) { |
| 2224 | if (df.hasOwnProperty(name)) |
| 2225 | names.push(name); |
| 2226 | if (typeof(df[name]) !== "object" || typeof(df[name].length) === "undefined") { |
| 2227 | throw new Error("All fields must be arrays"); |
| 2228 | } else if (typeof(length) !== "undefined" && length !== df[name].length) { |
| 2229 | throw new Error("All fields must be arrays of the same length"); |
| 2230 | } |
| 2231 | length = df[name].length; |
| 2232 | } |
| 2233 | var results = []; |
| 2234 | var item; |
| 2235 | for (var row = 0; row < length; row++) { |
| 2236 | item = {}; |
| 2237 | for (var col = 0; col < names.length; col++) { |
| 2238 | item[names[col]] = df[names[col]][row]; |
| 2239 | } |
| 2240 | results.push(item); |
| 2241 | } |
| 2242 | return results; |
| 2243 | }; |
| 2244 | |
| 2245 | window.HTMLWidgets.transposeArray2D = function(array) { |
| 2246 | if (array.length === 0) return array; |
| 2247 | var newArray = array[0].map(function(col, i) { |
| 2248 | return array.map(function(row) { |
| 2249 | return row[i] |
| 2250 | }) |
| 2251 | }); |
| 2252 | return newArray; |
| 2253 | }; |
| 2254 | // Split value at splitChar, but allow splitChar to be escaped |
| 2255 | // using escapeChar. Any other characters escaped by escapeChar |
| 2256 | // will be included as usual (including escapeChar itself). |
| 2257 | function splitWithEscape(value, splitChar, escapeChar) { |
| 2258 | var results = []; |
| 2259 | var escapeMode = false; |
| 2260 | var currentResult = ""; |
| 2261 | for (var pos = 0; pos < value.length; pos++) { |
| 2262 | if (!escapeMode) { |
| 2263 | if (value[pos] === splitChar) { |
| 2264 | results.push(currentResult); |
| 2265 | currentResult = ""; |
| 2266 | } else if (value[pos] === escapeChar) { |
| 2267 | escapeMode = true; |
| 2268 | } else { |
| 2269 | currentResult += value[pos]; |
| 2270 | } |
| 2271 | } else { |
| 2272 | currentResult += value[pos]; |
| 2273 | escapeMode = false; |
| 2274 | } |
| 2275 | } |
| 2276 | if (currentResult !== "") { |
| 2277 | results.push(currentResult); |
| 2278 | } |
| 2279 | return results; |
| 2280 | } |
| 2281 | // Function authored by Yihui/JJ Allaire |
| 2282 | window.HTMLWidgets.evaluateStringMember = function(o, member) { |
| 2283 | var parts = splitWithEscape(member, '.', '\\'); |
| 2284 | for (var i = 0, l = parts.length; i < l; i++) { |
| 2285 | var part = parts[i]; |
| 2286 | // part may be a character or 'numeric' member name |
| 2287 | if (o !== null && typeof o === "object" && part in o) { |
| 2288 | if (i == (l - 1)) { // if we are at the end of the line then evalulate |
| 2289 | if (typeof o[part] === "string") |
| 2290 | o[part] = tryEval(o[part]); |
| 2291 | } else { // otherwise continue to next embedded object |
| 2292 | o = o[part]; |
| 2293 | } |
| 2294 | } |
| 2295 | } |
| 2296 | }; |
| 2297 | |
| 2298 | // Retrieve the HTMLWidget instance (i.e. the return value of an |
| 2299 | // HTMLWidget binding's initialize() or factory() function) |
| 2300 | // associated with an element, or null if none. |
| 2301 | window.HTMLWidgets.getInstance = function(el) { |
| 2302 | return elementData(el, "init_result"); |
| 2303 | }; |
| 2304 | |
| 2305 | // Finds the first element in the scope that matches the selector, |
| 2306 | // and returns the HTMLWidget instance (i.e. the return value of |
| 2307 | // an HTMLWidget binding's initialize() or factory() function) |
| 2308 | // associated with that element, if any. If no element matches the |
| 2309 | // selector, or the first matching element has no HTMLWidget |
| 2310 | // instance associated with it, then null is returned. |
| 2311 | // |
| 2312 | // The scope argument is optional, and defaults to window.document. |
| 2313 | window.HTMLWidgets.find = function(scope, selector) { |
| 2314 | if (arguments.length == 1) { |
| 2315 | selector = scope; |
| 2316 | scope = document; |
| 2317 | } |
| 2318 | |
| 2319 | var el = scope.querySelector(selector); |
| 2320 | if (el === null) { |
| 2321 | return null; |
| 2322 | } else { |
| 2323 | return window.HTMLWidgets.getInstance(el); |
| 2324 | } |
| 2325 | }; |
| 2326 | |
| 2327 | // Finds all elements in the scope that match the selector, and |
| 2328 | // returns the HTMLWidget instances (i.e. the return values of |
| 2329 | // an HTMLWidget binding's initialize() or factory() function) |
| 2330 | // associated with the elements, in an array. If elements that |
| 2331 | // match the selector don't have an associated HTMLWidget |
| 2332 | // instance, the returned array will contain nulls. |
| 2333 | // |
| 2334 | // The scope argument is optional, and defaults to window.document. |
| 2335 | window.HTMLWidgets.findAll = function(scope, selector) { |
| 2336 | if (arguments.length == 1) { |
| 2337 | selector = scope; |
| 2338 | scope = document; |
| 2339 | } |
| 2340 | |
| 2341 | var nodes = scope.querySelectorAll(selector); |
| 2342 | var results = []; |
| 2343 | for (var i = 0; i < nodes.length; i++) { |
| 2344 | results.push(window.HTMLWidgets.getInstance(nodes[i])); |
| 2345 | } |
| 2346 | return results; |
| 2347 | }; |
| 2348 | |
| 2349 | var postRenderHandlers = []; |
| 2350 | function invokePostRenderHandlers() { |
| 2351 | while (postRenderHandlers.length) { |
| 2352 | var handler = postRenderHandlers.shift(); |
| 2353 | if (handler) { |
| 2354 | handler(); |
| 2355 | } |
| 2356 | } |
| 2357 | } |
| 2358 | |
| 2359 | // Register the given callback function to be invoked after the |
| 2360 | // next time static widgets are rendered. |
| 2361 | window.HTMLWidgets.addPostRenderHandler = function(callback) { |
| 2362 | postRenderHandlers.push(callback); |
| 2363 | }; |
| 2364 | |
| 2365 | // Takes a new-style instance-bound definition, and returns an |
| 2366 | // old-style class-bound definition. This saves us from having |
| 2367 | // to rewrite all the logic in this file to accomodate both |
| 2368 | // types of definitions. |
| 2369 | function createLegacyDefinitionAdapter(defn) { |
| 2370 | var result = { |
| 2371 | name: defn.name, |
| 2372 | type: defn.type, |
| 2373 | initialize: function(el, width, height) { |
| 2374 | return defn.factory(el, width, height); |
| 2375 | }, |
| 2376 | renderValue: function(el, x, instance) { |
| 2377 | return instance.renderValue(x); |
| 2378 | }, |
| 2379 | resize: function(el, width, height, instance) { |
| 2380 | return instance.resize(width, height); |
| 2381 | } |
| 2382 | }; |
| 2383 | |
| 2384 | if (defn.find) |
| 2385 | result.find = defn.find; |
| 2386 | if (defn.renderError) |
| 2387 | result.renderError = defn.renderError; |
| 2388 | if (defn.clearError) |
| 2389 | result.clearError = defn.clearError; |
| 2390 | |
| 2391 | return result; |
| 2392 | } |
| 2393 | })(); |
| 2394 | |
| 2395 | </script> |
| 2396 | <style type="text/css">.jqstooltip {-webkit-box-sizing: content-box;-moz-box-sizing: content-box;box-sizing: content-box;}</style> |
| 2397 | <script>/** |
| 2398 | * |
| 2399 | * jquery.sparkline.js |
| 2400 | * |
| 2401 | * v@VERSION@ |
| 2402 | * (c) Splunk, Inc |
| 2403 | * Contact: Gareth Watts (gareth@splunk.com) |
| 2404 | * http://omnipotent.net/jquery.sparkline/ |
| 2405 | * |
| 2406 | * Generates inline sparkline charts from data supplied either to the method |
| 2407 | * or inline in HTML |
| 2408 | * |
| 2409 | * Compatible with Internet Explorer 6.0+ and modern browsers equipped with the canvas tag |
| 2410 | * (Firefox 2.0+, Safari, Opera, etc) |
| 2411 | * |
| 2412 | * License: New BSD License |
| 2413 | * |
| 2414 | * Copyright (c) 2012, Splunk Inc. |
| 2415 | * All rights reserved. |
| 2416 | * |
| 2417 | * Redistribution and use in source and binary forms, with or without modification, |
| 2418 | * are permitted provided that the following conditions are met: |
| 2419 | * |
| 2420 | * * Redistributions of source code must retain the above copyright notice, |
| 2421 | * this list of conditions and the following disclaimer. |
| 2422 | * * Redistributions in binary form must reproduce the above copyright notice, |
| 2423 | * this list of conditions and the following disclaimer in the documentation |
| 2424 | * and/or other materials provided with the distribution. |
| 2425 | * * Neither the name of Splunk Inc nor the names of its contributors may |
| 2426 | * be used to endorse or promote products derived from this software without |
| 2427 | * specific prior written permission. |
| 2428 | * |
| 2429 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY |
| 2430 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
| 2431 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT |
| 2432 | * SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| 2433 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT |
| 2434 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
| 2435 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
| 2436 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
| 2437 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 2438 | * |
| 2439 | * |
| 2440 | * Usage: |
| 2441 | * $(selector).sparkline(values, options) |
| 2442 | * |
| 2443 | * If values is undefined or set to 'html' then the data values are read from the specified tag: |
| 2444 | * <p>Sparkline: <span class="sparkline">1,4,6,6,8,5,3,5</span></p> |
| 2445 | * $('.sparkline').sparkline(); |
| 2446 | * There must be no spaces in the enclosed data set |
| 2447 | * |
| 2448 | * Otherwise values must be an array of numbers or null values |
| 2449 | * <p>Sparkline: <span id="sparkline1">This text replaced if the browser is compatible</span></p> |
| 2450 | * $('#sparkline1').sparkline([1,4,6,6,8,5,3,5]) |
| 2451 | * $('#sparkline2').sparkline([1,4,6,null,null,5,3,5]) |
| 2452 | * |
| 2453 | * Values can also be specified in an HTML comment, or as a values attribute: |
| 2454 | * <p>Sparkline: <span class="sparkline"><!--1,4,6,6,8,5,3,5 --></span></p> |
| 2455 | * <p>Sparkline: <span class="sparkline" values="1,4,6,6,8,5,3,5"></span></p> |
| 2456 | * $('.sparkline').sparkline(); |
| 2457 | * |
| 2458 | * For line charts, x values can also be specified: |
| 2459 | * <p>Sparkline: <span class="sparkline">1:1,2.7:4,3.4:6,5:6,6:8,8.7:5,9:3,10:5</span></p> |
| 2460 | * $('#sparkline1').sparkline([ [1,1], [2.7,4], [3.4,6], [5,6], [6,8], [8.7,5], [9,3], [10,5] ]) |
| 2461 | * |
| 2462 | * By default, options should be passed in as the second argument to the sparkline function: |
| 2463 | * $('.sparkline').sparkline([1,2,3,4], {type: 'bar'}) |
| 2464 | * |
| 2465 | * Options can also be set by passing them on the tag itself. This feature is disabled by default though |
| 2466 | * as there's a slight performance overhead: |
| 2467 | * $('.sparkline').sparkline([1,2,3,4], {enableTagOptions: true}) |
| 2468 | * <p>Sparkline: <span class="sparkline" sparkType="bar" sparkBarColor="red">loading</span></p> |
| 2469 | * Prefix all options supplied as tag attribute with "spark" (configurable by setting tagOptionsPrefix) |
| 2470 | * |
| 2471 | * Supported options: |
| 2472 | * lineColor - Color of the line used for the chart |
| 2473 | * fillColor - Color used to fill in the chart - Set to '' or false for a transparent chart |
| 2474 | * width - Width of the chart - Defaults to 3 times the number of values in pixels |
| 2475 | * height - Height of the chart - Defaults to the height of the containing element |
| 2476 | * chartRangeMin - Specify the minimum value to use for the Y range of the chart - Defaults to the minimum value supplied |
| 2477 | * chartRangeMax - Specify the maximum value to use for the Y range of the chart - Defaults to the maximum value supplied |
| 2478 | * chartRangeClip - Clip out of range values to the max/min specified by chartRangeMin and chartRangeMax |
| 2479 | * chartRangeMinX - Specify the minimum value to use for the X range of the chart - Defaults to the minimum value supplied |
| 2480 | * chartRangeMaxX - Specify the maximum value to use for the X range of the chart - Defaults to the maximum value supplied |
| 2481 | * composite - If true then don't erase any existing chart attached to the tag, but draw |
| 2482 | * another chart over the top - Note that width and height are ignored if an |
| 2483 | * existing chart is detected. |
| 2484 | * tagValuesAttribute - Name of tag attribute to check for data values - Defaults to 'values' |
| 2485 | * enableTagOptions - Whether to check tags for sparkline options |
| 2486 | * tagOptionsPrefix - Prefix used for options supplied as tag attributes - Defaults to 'spark' |
| 2487 | * disableHiddenCheck - If set to true, then the plugin will assume that charts will never be drawn into a |
| 2488 | * hidden dom element, avoiding a browser reflow |
| 2489 | * disableInteraction - If set to true then all mouseover/click interaction behaviour will be disabled, |
| 2490 | * making the plugin perform much like it did in 1.x |
| 2491 | * disableTooltips - If set to true then tooltips will be disabled - Defaults to false (tooltips enabled) |
| 2492 | * disableHighlight - If set to true then highlighting of selected chart elements on mouseover will be disabled |
| 2493 | * defaults to false (highlights enabled) |
| 2494 | * highlightLighten - Factor to lighten/darken highlighted chart values by - Defaults to 1.4 for a 40% increase |
| 2495 | * tooltipContainer - Specify which DOM element the tooltip should be rendered into - defaults to document.body |
| 2496 | * tooltipClassname - Optional CSS classname to apply to tooltips - If not specified then a default style will be applied |
| 2497 | * tooltipOffsetX - How many pixels away from the mouse pointer to render the tooltip on the X axis |
| 2498 | * tooltipOffsetY - How many pixels away from the mouse pointer to render the tooltip on the r axis |
| 2499 | * tooltipFormatter - Optional callback that allows you to override the HTML displayed in the tooltip |
| 2500 | * callback is given arguments of (sparkline, options, fields) |
| 2501 | * tooltipChartTitle - If specified then the tooltip uses the string specified by this setting as a title |
| 2502 | * tooltipFormat - A format string or SPFormat object (or an array thereof for multiple entries) |
| 2503 | * to control the format of the tooltip |
| 2504 | * tooltipPrefix - A string to prepend to each field displayed in a tooltip |
| 2505 | * tooltipSuffix - A string to append to each field displayed in a tooltip |
| 2506 | * tooltipPrefixBinLabels - An array of Bin Labels for each offset value to add as the start |
| 2507 | * of the tooltip prefix. Example: |
| 2508 | * var giants_game_results = [1,-1,1,-1,-1,-1,1,1,1,-1,1,-1,-1,1,1,1,1,1,1,1], |
| 2509 | * giants_game_dates = ["9/30", "10/1", "10/2", "10/3", "10/6", "10/7", "10/9", "10/10", "10/11", "10/14", "10/15", |
| 2510 | * "10/17", "10/18", "10/19", "10/21", "10/22", "10/24", "10/25", "10/27", "10/28"]; |
| 2511 | * $('#giants').sparkline(giants_results, {type: 'tristate', tooltipPrefixBinLabels: giants_dates, tooltipPrefix: ' - '}; |
| 2512 | * tooltipSuffixBinLabels - An array of Bin Labels for each offset value to add as the end |
| 2513 | * of the tooltip suffix. |
| 2514 | * tooltipSkipNull - If true then null values will not have a tooltip displayed (defaults to true) |
| 2515 | * tooltipValueLookups - An object or range map to map field values to tooltip strings |
| 2516 | * (eg. to map -1 to "Lost", 0 to "Draw", and 1 to "Win") |
| 2517 | * toolTipPosition - Display tooltip to the 'left' or 'right' of the mouse - Defaults to "right" |
| 2518 | * numberFormatter - Optional callback for formatting numbers in tooltips |
| 2519 | * numberDigitGroupSep - Character to use for group separator in numbers "1,234" - Defaults to "," |
| 2520 | * numberDecimalMark - Character to use for the decimal point when formatting numbers - Defaults to "." |
| 2521 | * numberDigitGroupCount - Number of digits between group separator - Defaults to 3 |
| 2522 | * |
| 2523 | * There are 8 types of sparkline, selected by supplying a "type" option of 'line' (default), |
| 2524 | * 'bar', 'tristate', 'bullet', 'discrete', 'pie', 'box' or 'stack' |
| 2525 | * line - Line chart. Options: |
| 2526 | * spotColor - Set to '' to not end each line in a circular spot |
| 2527 | * minSpotColor - If set, color of spot at minimum value |
| 2528 | * maxSpotColor - If set, color of spot at maximum value |
| 2529 | * spotRadius - Radius in pixels |
| 2530 | * lineWidth - Width of line in pixels |
| 2531 | * normalRangeMin |
| 2532 | * normalRangeMax - If set draws a filled horizontal bar between these two values marking the "normal" |
| 2533 | * or expected range of values |
| 2534 | * normalRangeColor - Color to use for the above bar |
| 2535 | * drawNormalOnTop - Draw the normal range above the chart fill color if true |
| 2536 | * defaultPixelsPerValue - Defaults to 3 pixels of width for each value in the chart |
| 2537 | * highlightSpotColor - The color to use for drawing a highlight spot on mouseover - Set to null to disable |
| 2538 | * highlightLineColor - The color to use for drawing a highlight line on mouseover - Set to null to disable |
| 2539 | * valueSpots - Specify which points to draw spots on, and in which color. Accepts a range map |
| 2540 | * |
| 2541 | * bar - Bar chart. Options: |
| 2542 | * barColor - Color of bars for positive values |
| 2543 | * negBarColor - Color of bars for negative values |
| 2544 | * zeroColor - Color of bars with zero values |
| 2545 | * nullColor - Color of bars with null values - Defaults to omitting the bar entirely |
| 2546 | * barWidth - Width of bars in pixels |
| 2547 | * colorMap - Optional mapping of values to colors to override the *BarColor values above |
| 2548 | * can be an Array of values to control the color of individual bars or a range map |
| 2549 | * to specify colors for individual ranges of values |
| 2550 | * barSpacing - Gap between bars in pixels |
| 2551 | * zeroAxis - Centers the y-axis around zero if true |
| 2552 | * |
| 2553 | * tristate - Charts values of win (>0), lose (<0) or draw (=0) |
| 2554 | * posBarColor - Color of win values |
| 2555 | * negBarColor - Color of lose values |
| 2556 | * zeroBarColor - Color of draw values |
| 2557 | * barWidth - Width of bars in pixels |
| 2558 | * barSpacing - Gap between bars in pixels |
| 2559 | * colorMap - Optional mapping of values to colors to override the *BarColor values above |
| 2560 | * can be an Array of values to control the color of individual bars or a range map |
| 2561 | * to specify colors for individual ranges of values |
| 2562 | * |
| 2563 | * discrete - Options: |
| 2564 | * lineHeight - Height of each line in pixels - Defaults to 30% of the graph height |
| 2565 | * thesholdValue - Values less than this value will be drawn using thresholdColor instead of lineColor |
| 2566 | * thresholdColor |
| 2567 | * |
| 2568 | * bullet - Values for bullet graphs msut be in the order: target, performance, range1, range2, range3, ... |
| 2569 | * options: |
| 2570 | * targetColor - The color of the vertical target marker |
| 2571 | * targetWidth - The width of the target marker in pixels |
| 2572 | * performanceColor - The color of the performance measure horizontal bar |
| 2573 | * rangeColors - Colors to use for each qualitative range background color |
| 2574 | * |
| 2575 | * pie - Pie chart. Options: |
| 2576 | * sliceColors - An array of colors to use for pie slices |
| 2577 | * offset - Angle in degrees to offset the first slice - Try -90 or +90 |
| 2578 | * borderWidth - Width of border to draw around the pie chart, in pixels - Defaults to 0 (no border) |
| 2579 | * borderColor - Color to use for the pie chart border - Defaults to #000 |
| 2580 | * stack - Horizontal stack chart. Options: |
| 2581 | * sliceColors - An array of colors to use for pie slices |
| 2582 | * |
| 2583 | * box - Box plot. Options: |
| 2584 | * raw - Set to true to supply pre-computed plot points as values |
| 2585 | * values should be: low_outlier, low_whisker, q1, median, q3, high_whisker, high_outlier |
| 2586 | * When set to false you can supply any number of values and the box plot will |
| 2587 | * be computed for you. Default is false. |
| 2588 | * showOutliers - Set to true (default) to display outliers as circles |
| 2589 | * outlierIQR - Interquartile range used to determine outliers. Default 1.5 |
| 2590 | * boxLineColor - Outline color of the box |
| 2591 | * boxFillColor - Fill color for the box |
| 2592 | * whiskerColor - Line color used for whiskers |
| 2593 | * outlierLineColor - Outline color of outlier circles |
| 2594 | * outlierFillColor - Fill color of the outlier circles |
| 2595 | * spotRadius - Radius of outlier circles |
| 2596 | * medianColor - Line color of the median line |
| 2597 | * target - Draw a target cross hair at the supplied value (default undefined) |
| 2598 | * |
| 2599 | * |
| 2600 | * |
| 2601 | * Examples: |
| 2602 | * $('#sparkline1').sparkline(myvalues, { lineColor: '#f00', fillColor: false }); |
| 2603 | * $('.barsparks').sparkline('html', { type:'bar', height:'40px', barWidth:5 }); |
| 2604 | * $('#tristate').sparkline([1,1,-1,1,0,0,-1], { type:'tristate' }): |
| 2605 | * $('#discrete').sparkline([1,3,4,5,5,3,4,5], { type:'discrete' }); |
| 2606 | * $('#bullet').sparkline([10,12,12,9,7], { type:'bullet' }); |
| 2607 | * $('#pie').sparkline([1,1,2], { type:'pie' }); |
| 2608 | */ |
| 2609 | |
| 2610 | /*jslint regexp: true, browser: true, jquery: true, white: true, nomen: false, plusplus: false, maxerr: 500, indent: 4 */ |
| 2611 | |
| 2612 | (function(document, Math, undefined) { // performance/minified-size optimization |
| 2613 | (function(factory) { |
| 2614 | if(typeof define === 'function' && define.amd) { |
| 2615 | define('jquery.sparkline', ['jquery'], factory); |
| 2616 | } else if (jQuery && !jQuery.fn.sparkline) { |
| 2617 | factory(jQuery); |
| 2618 | } |
| 2619 | } |
| 2620 | (function($) { |
| 2621 | 'use strict'; |
| 2622 | |
| 2623 | // CUSTOM MOD: median var added |
| 2624 | var UNSET_OPTION = {}, |
| 2625 | getDefaults, createClass, SPFormat, clipval, median, quartile, normalizeValue, normalizeValues, |
| 2626 | remove, isNumber, all, sum, addCSS, ensureArray, formatNumber, RangeMap, |
| 2627 | MouseHandler, Tooltip, barHighlightMixin, |
| 2628 | line, bar, tristate, discrete, bullet, pie, stack, box, timeline, defaultStyles, initStyles, |
| 2629 | VShape, VCanvas_base, VCanvas_canvas, VCanvas_vml, pending, shapeCount = 0; |
| 2630 | |
| 2631 | |
| 2632 | /** |
| 2633 | * Default configuration settings |
| 2634 | */ |
| 2635 | getDefaults = function () { |
| 2636 | return { |
| 2637 | // Settings common to most/all chart types |
| 2638 | common: { |
| 2639 | type: 'line', |
| 2640 | lineColor: '#00f', |
| 2641 | fillColor: '#cdf', |
| 2642 | defaultPixelsPerValue: 3, |
| 2643 | width: 'auto', |
| 2644 | height: 'auto', |
| 2645 | composite: false, |
| 2646 | tagValuesAttribute: 'values', |
| 2647 | tagOptionsPrefix: 'spark', |
| 2648 | enableTagOptions: false, |
| 2649 | enableHighlight: true, |
| 2650 | highlightLighten: 1.4, |
| 2651 | tooltipSkipNull: true, |
| 2652 | tooltipPrefix: '', |
| 2653 | tooltipSuffix: '', |
| 2654 | disableHiddenCheck: false, |
| 2655 | numberFormatter: false, |
| 2656 | numberDigitGroupCount: 3, |
| 2657 | numberDigitGroupSep: ',', |
| 2658 | numberDecimalMark: '.', |
| 2659 | disableTooltips: false, |
| 2660 | disableInteraction: false |
| 2661 | }, |
| 2662 | // Defaults for line charts |
| 2663 | line: { |
| 2664 | spotColor: '#f80', |
| 2665 | highlightSpotColor: '#5f5', |
| 2666 | highlightLineColor: '#f22', |
| 2667 | refLineColor: '#f22', |
| 2668 | // refLineX: null, |
| 2669 | // refLineY: null, |
| 2670 | spotRadius: 1.5, |
| 2671 | minSpotColor: '#f80', |
| 2672 | maxSpotColor: '#f80', |
| 2673 | lineWidth: 1, |
| 2674 | normalRangeMin: undefined, |
| 2675 | normalRangeMax: undefined, |
| 2676 | normalRangeColor: '#ccc', |
| 2677 | drawNormalOnTop: false, |
| 2678 | chartRangeMin: undefined, |
| 2679 | chartRangeMax: undefined, |
| 2680 | chartRangeMinX: undefined, |
| 2681 | chartRangeMaxX: undefined, |
| 2682 | tooltipFormat: new SPFormat('<span style="color: {{color}}">●</span> {{prefix}}{{y}}{{suffix}}') |
| 2683 | }, |
| 2684 | // Defaults for bar charts |
| 2685 | bar: { |
| 2686 | barColor: '#3366cc', |
| 2687 | negBarColor: '#f44', |
| 2688 | stackedBarColor: ['#3366cc', '#dc3912', '#ff9900', '#109618', '#66aa00', |
| 2689 | '#dd4477', '#0099c6', '#990099'], |
| 2690 | zeroColor: undefined, |
| 2691 | nullColor: undefined, |
| 2692 | zeroAxis: true, |
| 2693 | barWidth: 4, |
| 2694 | barSpacing: 1, |
| 2695 | chartRangeMax: undefined, |
| 2696 | chartRangeMin: undefined, |
| 2697 | chartRangeClip: false, |
| 2698 | colorMap: undefined, |
| 2699 | tooltipFormat: new SPFormat('<span style="color: {{color}}">●</span> {{prefix}}{{value}}{{suffix}}') |
| 2700 | }, |
| 2701 | // Defaults for timeline charts |
| 2702 | timeline: { |
| 2703 | width: 120, |
| 2704 | height: 3, |
| 2705 | lineColor: '#6792c6', |
| 2706 | fillColor: '#bad7fb', |
| 2707 | orientation: 'horizontal', // or 'vertical' |
| 2708 | // number of minutes to modulate time markers from begin option |
| 2709 | timeMarkInterval: 0, |
| 2710 | // minimum date/time to show in timeline |
| 2711 | begin: new Date(2000, 1, 1, 0, 0), |
| 2712 | // maximum date/time to show in timeline |
| 2713 | finish: new Date(2000, 1, 1, 23, 59), |
| 2714 | // allow user to provide their own date parsing abilities |
| 2715 | // data must provide begin, finish, title and color hash object |
| 2716 | init: function (data) { return {begin: new Date(data.begin), finish: new Date(data.finish), title: data.title, color: data.color}; }, |
| 2717 | tooltipFormat: new SPFormat('<span style="color: {{color}}">●</span> {{title}}: {{begin}} / {{finish}}') |
| 2718 | }, |
| 2719 | // Defaults for tristate charts |
| 2720 | tristate: { |
| 2721 | barWidth: 4, |
| 2722 | barSpacing: 1, |
| 2723 | posBarColor: '#6f6', |
| 2724 | negBarColor: '#f44', |
| 2725 | zeroBarColor: '#999', |
| 2726 | colorMap: {}, |
| 2727 | tooltipFormat: new SPFormat('<span style="color: {{color}}">●</span> {{prefix}}{{value:map}}{{suffix}}'), |
| 2728 | tooltipValueLookups: { map: { '-1': 'Loss', '0': 'Draw', '1': 'Win' } } |
| 2729 | }, |
| 2730 | // Defaults for discrete charts |
| 2731 | discrete: { |
| 2732 | lineHeight: 'auto', |
| 2733 | thresholdColor: undefined, |
| 2734 | thresholdValue: 0, |
| 2735 | chartRangeMax: undefined, |
| 2736 | chartRangeMin: undefined, |
| 2737 | chartRangeClip: false, |
| 2738 | tooltipFormat: new SPFormat('{{prefix}}{{value}}{{suffix}}') |
| 2739 | }, |
| 2740 | // Defaults for bullet charts |
| 2741 | bullet: { |
| 2742 | targetColor: '#f33', |
| 2743 | targetWidth: 3, // width of the target bar in pixels |
| 2744 | performanceColor: '#33f', |
| 2745 | rangeColors: ['#d3dafe', '#a8b6ff', '#7f94ff'], |
| 2746 | base: undefined, // set this to a number to change the base start number |
| 2747 | tooltipFormat: new SPFormat('{{fieldkey:fields}} - {{value}}'), |
| 2748 | tooltipValueLookups: { fields: {r: 'Range', p: 'Performance', t: 'Target'} } |
| 2749 | }, |
| 2750 | // Defaults for pie charts |
| 2751 | pie: { |
| 2752 | offset: 0, |
| 2753 | sliceColors: ['#3366cc', '#dc3912', '#ff9900', '#109618', '#66aa00', |
| 2754 | '#dd4477', '#0099c6', '#990099'], |
| 2755 | borderWidth: 0, |
| 2756 | borderColor: '#000', |
| 2757 | tooltipFormat: new SPFormat('<span style="color: {{color}}">●</span> {{prefix}}{{value}} ({{percent.1}}%){{suffix}}') |
| 2758 | }, |
| 2759 | // Defaults for stack charts |
| 2760 | stack: { |
| 2761 | offset: 0, |
| 2762 | sliceColors: ['#3366cc', '#dc3912', '#ff9900', '#109618', '#66aa00', |
| 2763 | '#dd4477', '#0099c6', '#990099'], |
| 2764 | borderWidth: 0, |
| 2765 | borderColor: '#000', |
| 2766 | tooltipFormat: new SPFormat('<span style="color: {{color}}">●</span> {{value}} ({{percent.1}}%)') |
| 2767 | }, |
| 2768 | // Defaults for box plots |
| 2769 | box: { |
| 2770 | raw: false, |
| 2771 | boxLineColor: '#000', |
| 2772 | boxFillColor: '#cdf', |
| 2773 | whiskerColor: '#000', |
| 2774 | outlierLineColor: '#333', |
| 2775 | outlierFillColor: '#fff', |
| 2776 | medianColor: '#f00', |
| 2777 | showOutliers: true, |
| 2778 | outlierIQR: 1.5, |
| 2779 | spotRadius: 1.5, |
| 2780 | target: undefined, |
| 2781 | targetColor: '#4a2', |
| 2782 | chartRangeMax: undefined, |
| 2783 | chartRangeMin: undefined, |
| 2784 | tooltipFormat: new SPFormat('{{field:fields}}: {{value}}'), |
| 2785 | tooltipFormatFieldlistKey: 'field', |
| 2786 | tooltipValueLookups: { fields: { lq: 'Lower Quartile', med: 'Median', |
| 2787 | uq: 'Upper Quartile', lo: 'Left Outlier', ro: 'Right Outlier', |
| 2788 | lw: 'Left Whisker', rw: 'Right Whisker'} } |
| 2789 | } |
| 2790 | }; |
| 2791 | }; |
| 2792 | |
| 2793 | // Bootstrap adds box-sizing that messes with alignment in the tooltip. |
| 2794 | var box_sizing = '-webkit-box-sizing: content-box !important;' + |
| 2795 | '-moz-box-sizing: content-box !important;' + |
| 2796 | 'box-sizing: content-box !important;'; |
| 2797 | |
| 2798 | // You can have tooltips use a css class other than jqstooltip by specifying tooltipClassname |
| 2799 | defaultStyles = '.jqstooltip { ' + |
| 2800 | 'position: absolute;' + |
| 2801 | 'left: 0px;' + |
| 2802 | 'top: 0px;' + |
| 2803 | 'visibility: hidden;' + |
| 2804 | 'background: rgb(0, 0, 0) transparent;' + |
| 2805 | 'background-color: rgba(0,0,0,0.6);' + |
| 2806 | 'filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);' + |
| 2807 | '-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";' + |
| 2808 | 'color: white;' + |
| 2809 | 'font: 10px arial, san serif;' + |
| 2810 | 'text-align: left;' + |
| 2811 | 'white-space: nowrap;' + |
| 2812 | 'padding: 5px;' + |
| 2813 | 'border: 1px solid white;' + |
| 2814 | 'z-index: 10000;' + |
| 2815 | box_sizing + |
| 2816 | '}' + |
| 2817 | '.jqsfield { ' + |
| 2818 | 'color: white;' + |
| 2819 | 'font: 10px arial, san serif;' + |
| 2820 | 'text-align: left;' + |
| 2821 | '}' + |
| 2822 | '.jqstooltip:before, .jqstooltip:after { ' + |
| 2823 | box_sizing + |
| 2824 | '}'; |
| 2825 | |
| 2826 | /** |
| 2827 | * Utilities |
| 2828 | */ |
| 2829 | |
| 2830 | createClass = function (/* [baseclass, [mixin, ...]], definition */) { |
| 2831 | var Class, args; |
| 2832 | Class = function () { |
| 2833 | this.init.apply(this, arguments); |
| 2834 | }; |
| 2835 | if (arguments.length > 1) { |
| 2836 | if (arguments[0]) { |
| 2837 | Class.prototype = $.extend(new arguments[0](), arguments[arguments.length - 1]); |
| 2838 | Class._super = arguments[0].prototype; |
| 2839 | } else { |
| 2840 | Class.prototype = arguments[arguments.length - 1]; |
| 2841 | } |
| 2842 | if (arguments.length > 2) { |
| 2843 | args = Array.prototype.slice.call(arguments, 1, -1); |
| 2844 | args.unshift(Class.prototype); |
| 2845 | $.extend.apply($, args); |
| 2846 | } |
| 2847 | } else { |
| 2848 | Class.prototype = arguments[0]; |
| 2849 | } |
| 2850 | Class.prototype.cls = Class; |
| 2851 | return Class; |
| 2852 | }; |
| 2853 | |
| 2854 | /** |
| 2855 | * Wraps a format string for tooltips |
| 2856 | * {{x}} |
| 2857 | * {{x.2} |
| 2858 | * {{x:months}} |
| 2859 | */ |
| 2860 | $.SPFormatClass = SPFormat = createClass({ |
| 2861 | fre: /\{\{([\w.]+?)(:(.+?))?\}\}/g, |
| 2862 | precre: /(\w+)\.(\d+)/, |
| 2863 | |
| 2864 | init: function (format, fclass) { |
| 2865 | this.format = format; |
| 2866 | this.fclass = fclass; |
| 2867 | }, |
| 2868 | |
| 2869 | render: function (fieldset, lookups, options) { |
| 2870 | var self = this, |
| 2871 | fields = fieldset, |
| 2872 | match, token, lookupkey, fieldvalue, prec; |
| 2873 | |
| 2874 | return this.format.replace(this.fre, function () { |
| 2875 | var lookup; |
| 2876 | token = arguments[1]; |
| 2877 | lookupkey = arguments[3]; |
| 2878 | match = self.precre.exec(token); |
| 2879 | if (match) { |
| 2880 | prec = match[2]; |
| 2881 | token = match[1]; |
| 2882 | } else { |
| 2883 | prec = false; |
| 2884 | } |
| 2885 | fieldvalue = fields[token]; |
| 2886 | if (fieldvalue === undefined) { |
| 2887 | return ''; |
| 2888 | } |
| 2889 | if (lookupkey && lookups && lookups[lookupkey]) { |
| 2890 | lookup = lookups[lookupkey]; |
| 2891 | if (lookup.get) { // RangeMap |
| 2892 | return lookups[lookupkey].get(fieldvalue) || fieldvalue; |
| 2893 | } else { |
| 2894 | return lookups[lookupkey][fieldvalue] || fieldvalue; |
| 2895 | } |
| 2896 | } |
| 2897 | if (isNumber(fieldvalue)) { |
| 2898 | if (options.get('numberFormatter')) { |
| 2899 | fieldvalue = options.get('numberFormatter')(fieldvalue); |
| 2900 | } else { |
| 2901 | fieldvalue = formatNumber(fieldvalue, prec, |
| 2902 | options.get('numberDigitGroupCount'), |
| 2903 | options.get('numberDigitGroupSep'), |
| 2904 | options.get('numberDecimalMark')); |
| 2905 | } |
| 2906 | } |
| 2907 | return fieldvalue; |
| 2908 | }); |
| 2909 | } |
| 2910 | }); |
| 2911 | |
| 2912 | // convenience method to avoid needing the new operator |
| 2913 | $.spformat = function (format, fclass) { |
| 2914 | return new SPFormat(format, fclass); |
| 2915 | }; |
| 2916 | |
| 2917 | clipval = function (val, min, max) { |
| 2918 | if (val < min) { |
| 2919 | return min; |
| 2920 | } |
| 2921 | if (val > max) { |
| 2922 | return max; |
| 2923 | } |
| 2924 | return val; |
| 2925 | }; |
| 2926 | |
| 2927 | // CUSTOM MOD: completely new median function |
| 2928 | median = function (values) { |
| 2929 | var ret, idx; |
| 2930 | if (0 === values.length % 2) { |
| 2931 | var v1, v2; |
| 2932 | idx = values.length / 2; |
| 2933 | v1 = values[idx - 1]; |
| 2934 | v2 = values[idx]; |
| 2935 | ret = (v1 + v2) / 2; |
| 2936 | } |
| 2937 | else { |
| 2938 | idx = parseInt(values.length / 2); |
| 2939 | ret = values[idx]; |
| 2940 | } |
| 2941 | |
| 2942 | return { |
| 2943 | m: ret, |
| 2944 | idx: idx |
| 2945 | }; |
| 2946 | }; |
| 2947 | |
| 2948 | // CUSTOM MOD: completely rewritten quartile function |
| 2949 | quartile = function (values, q) { |
| 2950 | var ret, m, med; |
| 2951 | m = median(values); |
| 2952 | |
| 2953 | if (q === 2) { |
| 2954 | ret = m.m; |
| 2955 | } |
| 2956 | else { |
| 2957 | var arr = []; |
| 2958 | med = m.m; |
| 2959 | |
| 2960 | if (med != null) { // jshint ignore:line |
| 2961 | var i = 0; |
| 2962 | if (q === 1) { |
| 2963 | while (i < m.idx) { |
| 2964 | arr[i] = values[i]; |
| 2965 | i++; |
| 2966 | } |
| 2967 | if (!arr.length) |
| 2968 | arr = [ values[0] ]; |
| 2969 | } |
| 2970 | else if (q === 3) { |
| 2971 | var j = values.length - 1; |
| 2972 | while (j > m.idx) { |
| 2973 | arr[i] = values[j]; |
| 2974 | i++; |
| 2975 | j--; |
| 2976 | } |
| 2977 | if (!arr.length) |
| 2978 | arr = [ values[values.length - 1] ]; |
| 2979 | } |
| 2980 | } |
| 2981 | m = median(arr); |
| 2982 | ret = m.m; |
| 2983 | } |
| 2984 | return ret; |
| 2985 | }; |
| 2986 | |
| 2987 | normalizeValue = function (val) { |
| 2988 | var nf; |
| 2989 | switch (val) { |
| 2990 | case 'undefined': |
| 2991 | val = undefined; |
| 2992 | break; |
| 2993 | case 'null': |
| 2994 | val = null; |
| 2995 | break; |
| 2996 | case 'true': |
| 2997 | val = true; |
| 2998 | break; |
| 2999 | case 'false': |
| 3000 | val = false; |
| 3001 | break; |
| 3002 | default: |
| 3003 | nf = parseFloat(val); |
| 3004 | if (val == nf) { |
| 3005 | val = nf; |
| 3006 | } |
| 3007 | } |
| 3008 | return val; |
| 3009 | }; |
| 3010 | |
| 3011 | normalizeValues = function (vals) { |
| 3012 | var i, result = []; |
| 3013 | for (i = vals.length; i--;) { |
| 3014 | result[i] = normalizeValue(vals[i]); |
| 3015 | } |
| 3016 | return result; |
| 3017 | }; |
| 3018 | |
| 3019 | remove = function (vals, filter) { |
| 3020 | var i, vl, result = []; |
| 3021 | for (i = 0, vl = vals.length; i < vl; i++) { |
| 3022 | if (vals[i] !== filter) { |
| 3023 | result.push(vals[i]); |
| 3024 | } |
| 3025 | } |
| 3026 | return result; |
| 3027 | }; |
| 3028 | |
| 3029 | isNumber = function (num) { |
| 3030 | return !isNaN(parseFloat(num)) && isFinite(num); |
| 3031 | }; |
| 3032 | |
| 3033 | formatNumber = function (num, prec, groupsize, groupsep, decsep) { |
| 3034 | var p, i; |
| 3035 | num = (prec === false ? parseFloat(num).toString() : num.toFixed(prec)).split(''); |
| 3036 | p = (p = $.inArray('.', num)) < 0 ? num.length : p; |
| 3037 | if (p < num.length) { |
| 3038 | num[p] = decsep; |
| 3039 | } |
| 3040 | for (i = p - groupsize; i > 0; i -= groupsize) { |
| 3041 | num.splice(i, 0, groupsep); |
| 3042 | } |
| 3043 | return num.join(''); |
| 3044 | }; |
| 3045 | |
| 3046 | // determine if all values of an array match a value |
| 3047 | // returns true if the array is empty |
| 3048 | all = function (val, arr, ignoreNull) { |
| 3049 | var i; |
| 3050 | for (i = arr.length; i--; ) { |
| 3051 | if (ignoreNull && arr[i] === null) continue; |
| 3052 | if (arr[i] !== val) { |
| 3053 | return false; |
| 3054 | } |
| 3055 | } |
| 3056 | return true; |
| 3057 | }; |
| 3058 | |
| 3059 | // sums the numeric values in an array, ignoring other values |
| 3060 | sum = function (vals) { |
| 3061 | var total = 0, i; |
| 3062 | for (i = vals.length; i--;) { |
| 3063 | total += typeof vals[i] === 'number' ? vals[i] : 0; |
| 3064 | } |
| 3065 | return total; |
| 3066 | }; |
| 3067 | |
| 3068 | ensureArray = function (val) { |
| 3069 | return $.isArray(val) ? val : [val]; |
| 3070 | }; |
| 3071 | |
| 3072 | // http://paulirish.com/2008/bookmarklet-inject-new-css-rules/ |
| 3073 | addCSS = function (css) { |
| 3074 | var tag, iefail; |
| 3075 | if (document.createStyleSheet) { |
| 3076 | try { |
| 3077 | document.createStyleSheet().cssText = css; |
| 3078 | return; |
| 3079 | } catch (e) { |
| 3080 | // IE <= 9 maxes out at 31 stylesheets; inject into page instead. |
| 3081 | iefail = true; |
| 3082 | } |
| 3083 | } |
| 3084 | tag = document.createElement('style'); |
| 3085 | tag.type = 'text/css'; |
| 3086 | document.getElementsByTagName('head')[0].appendChild(tag); |
| 3087 | if (iefail) { |
| 3088 | document.styleSheets[document.styleSheets.length - 1].cssText = css; |
| 3089 | } else { |
| 3090 | tag[(typeof document.body.style.WebkitAppearance == 'string') /* webkit only */ ? 'innerText' : 'innerHTML'] = css; |
| 3091 | } |
| 3092 | }; |
| 3093 | |
| 3094 | |
| 3095 | // Provide a cross-browser interface to a few simple drawing primitives |
| 3096 | $.fn.simpledraw = function (width, height, useExisting, interact) { |
| 3097 | var target, mhandler; |
| 3098 | if (useExisting && (target = this.data('_jqs_vcanvas'))) { |
| 3099 | return target; |
| 3100 | } |
| 3101 | |
| 3102 | if ($.fn.sparkline.canvas === false) { |
| 3103 | // We've already determined that neither Canvas nor VML are available |
| 3104 | return false; |
| 3105 | } else if ($.fn.sparkline.canvas === undefined) { |
| 3106 | // No function defined yet -- need to see if we support Canvas or VML |
| 3107 | var el = document.createElement('canvas'); |
| 3108 | if (!!(el.getContext && el.getContext('2d'))) { |
| 3109 | // Canvas is available |
| 3110 | $.fn.sparkline.canvas = function(width, height, target, interact) { |
| 3111 | return new VCanvas_canvas(width, height, target, interact); |
| 3112 | }; |
| 3113 | } else if (document.namespaces && !document.namespaces.v) { |
| 3114 | // VML is available |
| 3115 | document.namespaces.add('v', 'urn:schemas-microsoft-com:vml', '#default#VML'); |
| 3116 | $.fn.sparkline.canvas = function(width, height, target, interact) { |
| 3117 | return new VCanvas_vml(width, height, target); |
| 3118 | }; |
| 3119 | } else { |
| 3120 | // Neither Canvas nor VML are available |
| 3121 | $.fn.sparkline.canvas = false; |
| 3122 | return false; |
| 3123 | } |
| 3124 | } |
| 3125 | |
| 3126 | if (width === undefined) { |
| 3127 | width = $(this).innerWidth(); |
| 3128 | } |
| 3129 | if (height === undefined) { |
| 3130 | height = $(this).innerHeight(); |
| 3131 | } |
| 3132 | |
| 3133 | target = $.fn.sparkline.canvas(width, height, this, interact); |
| 3134 | |
| 3135 | mhandler = $(this).data('_jqs_mhandler'); |
| 3136 | if (mhandler) { |
| 3137 | mhandler.registerCanvas(target); |
| 3138 | } |
| 3139 | return target; |
| 3140 | }; |
| 3141 | |
| 3142 | $.fn.cleardraw = function () { |
| 3143 | var target = this.data('_jqs_vcanvas'); |
| 3144 | if (target) { |
| 3145 | target.reset(); |
| 3146 | } |
| 3147 | }; |
| 3148 | |
| 3149 | |
| 3150 | $.RangeMapClass = RangeMap = createClass({ |
| 3151 | init: function (map) { |
| 3152 | var key, range, rangelist = []; |
| 3153 | for (key in map) { |
| 3154 | if (map.hasOwnProperty(key) && typeof key === 'string' && key.indexOf(':') > -1) { |
| 3155 | range = key.split(':'); |
| 3156 | range[0] = range[0].length === 0 ? -Infinity : parseFloat(range[0]); |
| 3157 | range[1] = range[1].length === 0 ? Infinity : parseFloat(range[1]); |
| 3158 | range[2] = map[key]; |
| 3159 | rangelist.push(range); |
| 3160 | } |
| 3161 | } |
| 3162 | this.map = map; |
| 3163 | this.rangelist = rangelist || false; |
| 3164 | }, |
| 3165 | |
| 3166 | get: function (value) { |
| 3167 | var rangelist = this.rangelist, |
| 3168 | i, range, result; |
| 3169 | if ((result = this.map[value]) !== undefined) { |
| 3170 | return result; |
| 3171 | } |
| 3172 | if (rangelist) { |
| 3173 | for (i = rangelist.length; i--;) { |
| 3174 | range = rangelist[i]; |
| 3175 | if (range[0] <= value && range[1] >= value) { |
| 3176 | return range[2]; |
| 3177 | } |
| 3178 | } |
| 3179 | } |
| 3180 | return undefined; |
| 3181 | } |
| 3182 | }); |
| 3183 | |
| 3184 | // Convenience function |
| 3185 | $.range_map = function(map) { |
| 3186 | return new RangeMap(map); |
| 3187 | }; |
| 3188 | |
| 3189 | |
| 3190 | MouseHandler = createClass({ |
| 3191 | init: function (el, options) { |
| 3192 | var $el = $(el); |
| 3193 | this.$el = $el; |
| 3194 | this.options = options; |
| 3195 | this.currentPageX = 0; |
| 3196 | this.currentPageY = 0; |
| 3197 | this.el = el; |
| 3198 | this.splist = []; |
| 3199 | this.tooltip = null; |
| 3200 | this.over = false; |
| 3201 | this.displayTooltips = !options.get('disableTooltips'); |
| 3202 | this.highlightEnabled = !options.get('disableHighlight'); |
| 3203 | }, |
| 3204 | |
| 3205 | registerSparkline: function (sp) { |
| 3206 | this.splist.push(sp); |
| 3207 | if (this.over) { |
| 3208 | this.updateDisplay(); |
| 3209 | } |
| 3210 | }, |
| 3211 | |
| 3212 | registerCanvas: function (canvas) { |
| 3213 | var $canvas = $(canvas.canvas); |
| 3214 | this.canvas = canvas; |
| 3215 | this.$canvas = $canvas; |
| 3216 | $canvas.mouseenter($.proxy(this.mouseenter, this)); |
| 3217 | $canvas.mouseleave($.proxy(this.mouseleave, this)); |
| 3218 | $canvas.click($.proxy(this.mouseclick, this)); |
| 3219 | }, |
| 3220 | |
| 3221 | reset: function (removeTooltip) { |
| 3222 | this.splist = []; |
| 3223 | if (this.tooltip && removeTooltip) { |
| 3224 | this.tooltip.remove(); |
| 3225 | this.tooltip = undefined; |
| 3226 | } |
| 3227 | }, |
| 3228 | |
| 3229 | mouseclick: function (e) { |
| 3230 | var clickEvent = $.Event('sparklineClick'); |
| 3231 | clickEvent.originalEvent = e; |
| 3232 | clickEvent.sparklines = this.splist; |
| 3233 | this.$el.trigger(clickEvent); |
| 3234 | }, |
| 3235 | |
| 3236 | mouseenter: function (e) { |
| 3237 | $(document.body).unbind('mousemove.jqs'); |
| 3238 | $(document.body).bind('mousemove.jqs', $.proxy(this.mousemove, this)); |
| 3239 | this.over = true; |
| 3240 | this.currentPageX = e.pageX; |
| 3241 | this.currentPageY = e.pageY; |
| 3242 | this.currentEl = e.target; |
| 3243 | if (!this.tooltip && this.displayTooltips) { |
| 3244 | this.tooltip = new Tooltip(this.options); |
| 3245 | this.tooltip.updatePosition(e.pageX, e.pageY); |
| 3246 | } |
| 3247 | this.updateDisplay(); |
| 3248 | }, |
| 3249 | |
| 3250 | mouseleave: function () { |
| 3251 | $(document.body).unbind('mousemove.jqs'); |
| 3252 | var splist = this.splist, |
| 3253 | spcount = splist.length, |
| 3254 | needsRefresh = false, |
| 3255 | sp, i; |
| 3256 | this.over = false; |
| 3257 | this.currentEl = null; |
| 3258 | |
| 3259 | if (this.tooltip) { |
| 3260 | this.tooltip.remove(); |
| 3261 | this.tooltip = null; |
| 3262 | } |
| 3263 | |
| 3264 | for (i = 0; i < spcount; i++) { |
| 3265 | sp = splist[i]; |
| 3266 | if (sp.clearRegionHighlight()) { |
| 3267 | needsRefresh = true; |
| 3268 | } |
| 3269 | } |
| 3270 | |
| 3271 | if (needsRefresh) { |
| 3272 | this.canvas.render(); |
| 3273 | } |
| 3274 | }, |
| 3275 | |
| 3276 | mousemove: function (e) { |
| 3277 | this.currentPageX = e.pageX; |
| 3278 | this.currentPageY = e.pageY; |
| 3279 | this.currentEl = e.target; |
| 3280 | if (this.tooltip) { |
| 3281 | this.tooltip.updatePosition(e.pageX, e.pageY); |
| 3282 | } |
| 3283 | this.updateDisplay(); |
| 3284 | }, |
| 3285 | |
| 3286 | updateDisplay: function () { |
| 3287 | var splist = this.splist, |
| 3288 | spcount = splist.length, |
| 3289 | needsRefresh = false, |
| 3290 | offset = this.$canvas.offset(), |
| 3291 | localX = Math.round(this.currentPageX - offset.left), |
| 3292 | localY = Math.round(this.currentPageY - offset.top), |
| 3293 | tooltiphtml, sp, i, result, changeEvent; |
| 3294 | // localX/localY fix issue #50 with Google Chrome |
| 3295 | // and subpixel rendering |
| 3296 | |
| 3297 | if (!this.over) { |
| 3298 | return; |
| 3299 | } |
| 3300 | for (i = 0; i < spcount; i++) { |
| 3301 | sp = splist[i]; |
| 3302 | result = sp.setRegionHighlight(this.currentEl, localX, localY); |
| 3303 | if (result) { |
| 3304 | needsRefresh = true; |
| 3305 | } |
| 3306 | } |
| 3307 | if (needsRefresh) { |
| 3308 | changeEvent = $.Event('sparklineRegionChange'); |
| 3309 | changeEvent.sparklines = this.splist; |
| 3310 | this.$el.trigger(changeEvent); |
| 3311 | if (this.tooltip) { |
| 3312 | tooltiphtml = ''; |
| 3313 | for (i = 0; i < spcount; i++) { |
| 3314 | sp = splist[i]; |
| 3315 | tooltiphtml += sp.getCurrentRegionTooltip(); |
| 3316 | } |
| 3317 | this.tooltip.setContent(tooltiphtml); |
| 3318 | } |
| 3319 | if (!this.disableHighlight) { |
| 3320 | this.canvas.render(); |
| 3321 | } |
| 3322 | } |
| 3323 | if (result === null) { |
| 3324 | this.mouseleave(); |
| 3325 | } |
| 3326 | } |
| 3327 | }); |
| 3328 | |
| 3329 | |
| 3330 | Tooltip = createClass({ |
| 3331 | sizeStyle: 'position: static !important;' + |
| 3332 | 'display: block !important;' + |
| 3333 | 'visibility: hidden !important;' + |
| 3334 | 'float: left !important;', |
| 3335 | |
| 3336 | init: function (options) { |
| 3337 | var tooltipClassname = options.get('tooltipClassname', 'jqstooltip'), |
| 3338 | sizetipStyle = this.sizeStyle, |
| 3339 | offset; |
| 3340 | this.container = options.get('tooltipContainer') || document.body; |
| 3341 | this.tooltipOffsetX = options.get('tooltipOffsetX', 10); |
| 3342 | this.tooltipOffsetY = options.get('tooltipOffsetY', 12); |
| 3343 | this.displayOnLeft = options.get('toolTipPosition') === 'left'; |
| 3344 | // remove any previous lingering tooltip |
| 3345 | $('#jqssizetip').remove(); |
| 3346 | $('#jqstooltip').remove(); |
| 3347 | this.sizetip = $('<div/>', { |
| 3348 | id: 'jqssizetip', |
| 3349 | style: sizetipStyle, |
| 3350 | 'class': tooltipClassname |
| 3351 | }); |
| 3352 | this.tooltip = $('<div/>', { |
| 3353 | id: 'jqstooltip', |
| 3354 | 'class': tooltipClassname |
| 3355 | }).appendTo(this.container); |
| 3356 | // account for the container's location |
| 3357 | offset = this.tooltip.offset(); |
| 3358 | this.offsetLeft = offset.left; |
| 3359 | this.offsetTop = offset.top; |
| 3360 | this.hidden = true; |
| 3361 | $(window).unbind('resize.jqs scroll.jqs'); |
| 3362 | $(window).bind('resize.jqs scroll.jqs', $.proxy(this.updateWindowDims, this)); |
| 3363 | this.updateWindowDims(); |
| 3364 | }, |
| 3365 | |
| 3366 | updateWindowDims: function () { |
| 3367 | this.scrollTop = $(window).scrollTop(); |
| 3368 | this.scrollLeft = $(window).scrollLeft(); |
| 3369 | this.scrollRight = this.scrollLeft + $(window).width(); |
| 3370 | this.updatePosition(); |
| 3371 | }, |
| 3372 | |
| 3373 | getSize: function (content) { |
| 3374 | this.sizetip.html(content).appendTo(this.container); |
| 3375 | var lpadding = parseInt(this.sizetip.css('padding-left'), 10); |
| 3376 | var rpadding = parseInt(this.sizetip.css('padding-right'), 10); |
| 3377 | this.padding = lpadding + rpadding + 1; |
| 3378 | this.width = this.sizetip.width() + 1; |
| 3379 | this.height = this.sizetip.height(); |
| 3380 | this.sizetip.remove(); |
| 3381 | }, |
| 3382 | |
| 3383 | setContent: function (content) { |
| 3384 | if (!content) { |
| 3385 | this.tooltip.css('visibility', 'hidden'); |
| 3386 | this.hidden = true; |
| 3387 | return; |
| 3388 | } |
| 3389 | this.getSize(content); |
| 3390 | this.tooltip.html(content) |
| 3391 | .css({ |
| 3392 | 'width': this.width, |
| 3393 | 'height': this.height, |
| 3394 | 'visibility': 'visible' |
| 3395 | }); |
| 3396 | if (this.hidden) { |
| 3397 | this.hidden = false; |
| 3398 | this.updatePosition(); |
| 3399 | } |
| 3400 | }, |
| 3401 | |
| 3402 | updatePosition: function (x, y) { |
| 3403 | if (x === undefined) { |
| 3404 | if (this.mousex === undefined) { |
| 3405 | return; |
| 3406 | } |
| 3407 | x = this.mousex - this.offsetLeft; |
| 3408 | y = this.mousey - this.offsetTop; |
| 3409 | |
| 3410 | } else { |
| 3411 | this.mousex = x = x - this.offsetLeft; |
| 3412 | this.mousey = y = y - this.offsetTop; |
| 3413 | } |
| 3414 | if (!this.height || !this.width || this.hidden) { |
| 3415 | return; |
| 3416 | } |
| 3417 | |
| 3418 | y -= this.height + this.tooltipOffsetY; |
| 3419 | if (y < this.scrollTop) { |
| 3420 | y = this.scrollTop; |
| 3421 | } |
| 3422 | |
| 3423 | if (this.displayOnLeft) { |
| 3424 | x -= this.tooltipOffsetX + this.width + this.padding; |
| 3425 | } else { |
| 3426 | x += this.tooltipOffsetX; |
| 3427 | } |
| 3428 | if (x < this.scrollLeft) { |
| 3429 | x = this.scrollLeft; |
| 3430 | } else if (x + this.width > this.scrollRight) { |
| 3431 | x = this.scrollRight - this.width; |
| 3432 | } |
| 3433 | |
| 3434 | this.tooltip.css({ |
| 3435 | 'left': x, |
| 3436 | 'top': y |
| 3437 | }); |
| 3438 | }, |
| 3439 | |
| 3440 | remove: function () { |
| 3441 | this.tooltip.remove(); |
| 3442 | this.sizetip.remove(); |
| 3443 | this.sizetip = this.tooltip = undefined; |
| 3444 | $(window).unbind('resize.jqs scroll.jqs'); |
| 3445 | } |
| 3446 | }); |
| 3447 | |
| 3448 | |
| 3449 | initStyles = function() { |
| 3450 | addCSS(defaultStyles); |
| 3451 | }; |
| 3452 | |
| 3453 | $(initStyles); |
| 3454 | |
| 3455 | pending = []; |
| 3456 | $.fn.sparkline = function (userValues, userOptions) { |
| 3457 | return this.each(function () { |
| 3458 | var options = new $.fn.sparkline.options(this, userOptions), |
| 3459 | $this = $(this), |
| 3460 | render, i; |
| 3461 | render = function () { |
| 3462 | var values, width, height, tmp, mhandler, sp, vals; |
| 3463 | if (userValues === 'html' || userValues === undefined) { |
| 3464 | vals = this.getAttribute(options.get('tagValuesAttribute')); |
| 3465 | if (vals === undefined || vals === null) { |
| 3466 | vals = $this.html(); |
| 3467 | } |
| 3468 | values = vals.replace(/(^\s*<!--)|(-->\s*$)|\s+/g, '').split(','); |
| 3469 | } else { |
| 3470 | values = userValues; |
| 3471 | } |
| 3472 | |
| 3473 | width = options.get('width') === 'auto' ? values.length * options.get('defaultPixelsPerValue') : options.get('width'); |
| 3474 | if (options.get('height') === 'auto') { |
| 3475 | if (!options.get('composite') || !$.data(this, '_jqs_vcanvas')) { |
| 3476 | // must be a better way to get the line height |
| 3477 | tmp = document.createElement('span'); |
| 3478 | tmp.innerHTML = 'a'; |
| 3479 | $this.html(tmp); |
| 3480 | height = $(tmp).innerHeight() || $(tmp).height(); |
| 3481 | $(tmp).remove(); |
| 3482 | tmp = null; |
| 3483 | } |
| 3484 | } else { |
| 3485 | height = options.get('height'); |
| 3486 | } |
| 3487 | |
| 3488 | if (!options.get('disableInteraction')) { |
| 3489 | mhandler = $.data(this, '_jqs_mhandler'); |
| 3490 | if (!mhandler) { |
| 3491 | mhandler = new MouseHandler(this, options); |
| 3492 | $.data(this, '_jqs_mhandler', mhandler); |
| 3493 | } else if (!options.get('composite')) { |
| 3494 | mhandler.reset(); |
| 3495 | } |
| 3496 | } else { |
| 3497 | mhandler = false; |
| 3498 | } |
| 3499 | |
| 3500 | if (options.get('composite') && !$.data(this, '_jqs_vcanvas')) { |
| 3501 | if (!$.data(this, '_jqs_errnotify')) { |
| 3502 | alert('Attempted to attach a composite sparkline to an element with no existing sparkline'); |
| 3503 | $.data(this, '_jqs_errnotify', true); |
| 3504 | } |
| 3505 | return; |
| 3506 | } |
| 3507 | |
| 3508 | sp = new $.fn.sparkline[options.get('type')](this, values, options, width, height); |
| 3509 | |
| 3510 | sp.render(); |
| 3511 | |
| 3512 | if (mhandler) { |
| 3513 | mhandler.registerSparkline(sp); |
| 3514 | } |
| 3515 | }; |
| 3516 | if (($(this).html() && !options.get('disableHiddenCheck') && $(this).is(':hidden')) || !$(this).parents('body').length) { |
| 3517 | if (!options.get('composite') && $.data(this, '_jqs_pending')) { |
| 3518 | // remove any existing references to the element |
| 3519 | for (i = pending.length; i; i--) { |
| 3520 | if (pending[i - 1][0] == this) { |
| 3521 | pending.splice(i - 1, 1); |
| 3522 | } |
| 3523 | } |
| 3524 | } |
| 3525 | pending.push([this, render]); |
| 3526 | $.data(this, '_jqs_pending', true); |
| 3527 | } else { |
| 3528 | render.call(this); |
| 3529 | } |
| 3530 | }); |
| 3531 | }; |
| 3532 | |
| 3533 | $.fn.sparkline.defaults = getDefaults(); |
| 3534 | |
| 3535 | |
| 3536 | $.sparkline_display_visible = function () { |
| 3537 | var el, i, pl; |
| 3538 | var done = []; |
| 3539 | for (i = 0, pl = pending.length; i < pl; i++) { |
| 3540 | el = pending[i][0]; |
| 3541 | if ($(el).is(':visible') && !$(el).parents().is(':hidden')) { |
| 3542 | pending[i][1].call(el); |
| 3543 | $.data(pending[i][0], '_jqs_pending', false); |
| 3544 | done.push(i); |
| 3545 | } else if (!$(el).closest('html').length && !$.data(el, '_jqs_pending')) { |
| 3546 | // element has been inserted and removed from the DOM |
| 3547 | // If it was not yet inserted into the dom then the .data request |
| 3548 | // will return true. |
| 3549 | // removing from the dom causes the data to be removed. |
| 3550 | $.data(pending[i][0], '_jqs_pending', false); |
| 3551 | done.push(i); |
| 3552 | } |
| 3553 | } |
| 3554 | for (i = done.length; i; i--) { |
| 3555 | pending.splice(done[i - 1], 1); |
| 3556 | } |
| 3557 | }; |
| 3558 | |
| 3559 | |
| 3560 | /** |
| 3561 | * User option handler |
| 3562 | */ |
| 3563 | $.fn.sparkline.options = createClass({ |
| 3564 | init: function (tag, userOptions) { |
| 3565 | var extendedOptions, defaults, base, tagOptionType; |
| 3566 | this.userOptions = userOptions = userOptions || {}; |
| 3567 | this.tag = tag; |
| 3568 | this.tagValCache = {}; |
| 3569 | defaults = $.fn.sparkline.defaults; |
| 3570 | base = defaults.common; |
| 3571 | this.tagOptionsPrefix = userOptions.enableTagOptions && (userOptions.tagOptionsPrefix || base.tagOptionsPrefix); |
| 3572 | |
| 3573 | tagOptionType = this.getTagSetting('type'); |
| 3574 | if (tagOptionType === UNSET_OPTION) { |
| 3575 | extendedOptions = defaults[userOptions.type || base.type]; |
| 3576 | } else { |
| 3577 | extendedOptions = defaults[tagOptionType]; |
| 3578 | } |
| 3579 | this.mergedOptions = $.extend({}, base, extendedOptions, userOptions); |
| 3580 | }, |
| 3581 | |
| 3582 | |
| 3583 | getTagSetting: function (key) { |
| 3584 | var prefix = this.tagOptionsPrefix, |
| 3585 | val, i, pairs, keyval; |
| 3586 | if (prefix === false || prefix === undefined) { |
| 3587 | return UNSET_OPTION; |
| 3588 | } |
| 3589 | if (this.tagValCache.hasOwnProperty(key)) { |
| 3590 | val = this.tagValCache.key; |
| 3591 | } else { |
| 3592 | val = this.tag.getAttribute(prefix + key); |
| 3593 | if (val === undefined || val === null) { |
| 3594 | val = UNSET_OPTION; |
| 3595 | } else if (val.substr(0, 1) === '[') { |
| 3596 | val = val.substr(1, val.length - 2).split(','); |
| 3597 | for (i = val.length; i--;) { |
| 3598 | val[i] = normalizeValue(val[i].replace(/(^\s*)|(\s*$)/g, '')); |
| 3599 | } |
| 3600 | } else if (val.substr(0, 1) === '{') { |
| 3601 | pairs = val.substr(1, val.length - 2).split(','); |
| 3602 | val = {}; |
| 3603 | for (i = pairs.length; i--;) { |
| 3604 | keyval = pairs[i].split(':', 2); |
| 3605 | val[keyval[0].replace(/(^\s*)|(\s*$)/g, '')] = normalizeValue(keyval[1].replace(/(^\s*)|(\s*$)/g, '')); |
| 3606 | } |
| 3607 | } else { |
| 3608 | val = normalizeValue(val); |
| 3609 | } |
| 3610 | this.tagValCache.key = val; |
| 3611 | } |
| 3612 | return val; |
| 3613 | }, |
| 3614 | |
| 3615 | get: function (key, defaultval) { |
| 3616 | var tagOption = this.getTagSetting(key), |
| 3617 | result; |
| 3618 | if (tagOption !== UNSET_OPTION) { |
| 3619 | return tagOption; |
| 3620 | } |
| 3621 | return (result = this.mergedOptions[key]) === undefined ? defaultval : result; |
| 3622 | } |
| 3623 | }); |
| 3624 | |
| 3625 | |
| 3626 | $.fn.sparkline._base = createClass({ |
| 3627 | disabled: false, |
| 3628 | |
| 3629 | init: function (el, values, options, width, height) { |
| 3630 | this.el = el; |
| 3631 | this.$el = $(el); |
| 3632 | this.values = values; |
| 3633 | this.options = options; |
| 3634 | this.width = width; |
| 3635 | this.height = height; |
| 3636 | this.currentRegion = undefined; |
| 3637 | }, |
| 3638 | |
| 3639 | /** |
| 3640 | * Setup the canvas |
| 3641 | */ |
| 3642 | initTarget: function () { |
| 3643 | var interactive = !this.options.get('disableInteraction'); |
| 3644 | if (!(this.target = this.$el.simpledraw(this.width, this.height, this.options.get('composite'), interactive))) { |
| 3645 | this.disabled = true; |
| 3646 | } else { |
| 3647 | this.canvasWidth = this.target.pixelWidth; |
| 3648 | this.canvasHeight = this.target.pixelHeight; |
| 3649 | } |
| 3650 | }, |
| 3651 | |
| 3652 | /** |
| 3653 | * Setup colorMap from options |
| 3654 | */ |
| 3655 | initColorMap: function() { |
| 3656 | var colorMap = this.options.get('colorMap'); |
| 3657 | if ($.isFunction(colorMap)) { |
| 3658 | this.colorMapFunction = colorMap; |
| 3659 | } else if ($.isArray(colorMap)) { |
| 3660 | this.colorMapFunction = function(sparkline, options, index, value) { |
| 3661 | if (index < colorMap.length) { |
| 3662 | return colorMap[index]; |
| 3663 | } |
| 3664 | // else undefined |
| 3665 | }; |
| 3666 | } else if (colorMap) { |
| 3667 | if (colorMap.get === undefined) { |
| 3668 | colorMap = new RangeMap(colorMap); |
| 3669 | } |
| 3670 | this.colorMapFunction = function(sparkline, options, index, value) { |
| 3671 | return colorMap.get(value); |
| 3672 | }; |
| 3673 | } |
| 3674 | }, |
| 3675 | |
| 3676 | /** |
| 3677 | * Actually render the chart to the canvas |
| 3678 | */ |
| 3679 | render: function () { |
| 3680 | if (this.disabled) { |
| 3681 | this.el.innerHTML = ''; |
| 3682 | return false; |
| 3683 | } |
| 3684 | return true; |
| 3685 | }, |
| 3686 | |
| 3687 | /** |
| 3688 | * Return a region id for a given x/y co-ordinate |
| 3689 | */ |
| 3690 | getRegion: function (x, y) { |
| 3691 | }, |
| 3692 | |
| 3693 | /** |
| 3694 | * Highlight an item based on the moused-over x,y co-ordinate |
| 3695 | */ |
| 3696 | setRegionHighlight: function (el, x, y) { |
| 3697 | var currentRegion = this.currentRegion, |
| 3698 | highlightEnabled = !this.options.get('disableHighlight'), |
| 3699 | newRegion; |
| 3700 | // CUSTOM MOD: proper hover detection considering padding as well |
| 3701 | var cW = $('canvas',this.el).width() + parseInt($('canvas',this.el).css('padding-left')) + parseInt($('canvas',this.el).css('padding-right')) |
| 3702 | // if (x > this.canvasWidth || y > this.canvasHeight || x < 0 || y < 0) { |
| 3703 | if (x > cW || y > this.canvasHeight || x < 0 || y < 0) { |
| 3704 | return null; |
| 3705 | } |
| 3706 | newRegion = this.getRegion(el, x, y); |
| 3707 | if (currentRegion !== newRegion) { |
| 3708 | if (currentRegion !== undefined && highlightEnabled) { |
| 3709 | this.removeHighlight(); |
| 3710 | } |
| 3711 | this.currentRegion = newRegion; |
| 3712 | if (newRegion !== undefined && highlightEnabled) { |
| 3713 | this.renderHighlight(); |
| 3714 | } |
| 3715 | return true; |
| 3716 | } |
| 3717 | return false; |
| 3718 | }, |
| 3719 | |
| 3720 | /** |
| 3721 | * Reset any currently highlighted item |
| 3722 | */ |
| 3723 | clearRegionHighlight: function () { |
| 3724 | if (this.currentRegion !== undefined) { |
| 3725 | this.removeHighlight(); |
| 3726 | this.currentRegion = undefined; |
| 3727 | return true; |
| 3728 | } |
| 3729 | return false; |
| 3730 | }, |
| 3731 | |
| 3732 | renderHighlight: function () { |
| 3733 | this.changeHighlight(true); |
| 3734 | }, |
| 3735 | |
| 3736 | removeHighlight: function () { |
| 3737 | this.changeHighlight(false); |
| 3738 | }, |
| 3739 | |
| 3740 | changeHighlight: function (highlight) {}, |
| 3741 | |
| 3742 | /** |
| 3743 | * Fetch the HTML to display as a tooltip |
| 3744 | */ |
| 3745 | getCurrentRegionTooltip: function () { |
| 3746 | var options = this.options, |
| 3747 | header = '', |
| 3748 | entries = [], |
| 3749 | fields, formats, formatlen, fclass, text, i, |
| 3750 | showFields, showFieldsKey, newFields, fv, |
| 3751 | formatter, format, fieldlen, j, |
| 3752 | label_prefix, label_suffix; |
| 3753 | if (this.currentRegion === undefined) { |
| 3754 | return ''; |
| 3755 | } |
| 3756 | fields = this.getCurrentRegionFields(); |
| 3757 | formatter = options.get('tooltipFormatter'); |
| 3758 | if (formatter) { |
| 3759 | return formatter(this, options, fields); |
| 3760 | } |
| 3761 | if (options.get('tooltipChartTitle')) { |
| 3762 | header += '<div class="jqs jqstitle">' + options.get('tooltipChartTitle') + '</div>\n'; |
| 3763 | } |
| 3764 | formats = this.options.get('tooltipFormat'); |
| 3765 | if (!formats) { |
| 3766 | return ''; |
| 3767 | } |
| 3768 | if (!$.isArray(formats)) { |
| 3769 | formats = [formats]; |
| 3770 | } |
| 3771 | if (!$.isArray(fields)) { |
| 3772 | fields = [fields]; |
| 3773 | } |
| 3774 | showFields = this.options.get('tooltipFormatFieldlist'); |
| 3775 | showFieldsKey = this.options.get('tooltipFormatFieldlistKey'); |
| 3776 | if (showFields && showFieldsKey) { |
| 3777 | // user-selected ordering of fields |
| 3778 | newFields = []; |
| 3779 | for (i = fields.length; i--;) { |
| 3780 | fv = fields[i][showFieldsKey]; |
| 3781 | if ((j = $.inArray(fv, showFields)) != -1) { |
| 3782 | newFields[j] = fields[i]; |
| 3783 | } |
| 3784 | } |
| 3785 | fields = newFields; |
| 3786 | } |
| 3787 | formatlen = formats.length; |
| 3788 | fieldlen = fields.length; |
| 3789 | for (i = 0; i < formatlen; i++) { |
| 3790 | format = formats[i]; |
| 3791 | if (typeof format === 'string') { |
| 3792 | format = new SPFormat(format); |
| 3793 | } |
| 3794 | fclass = format.fclass || 'jqsfield'; |
| 3795 | |
| 3796 | for (j = 0; j < fieldlen; j++) { |
| 3797 | if (!fields[j].isNull || !options.get('tooltipSkipNull')) { |
| 3798 | label_prefix = ''; |
| 3799 | label_suffix = ''; |
| 3800 | if (options.get('tooltipPrefixBinLabels') |
| 3801 | && (options.get('tooltipPrefixBinLabels').length > fields[j].offset)) { |
| 3802 | label_prefix = options.get('tooltipPrefixBinLabels')[fields[j].offset]; |
| 3803 | } |
| 3804 | if (options.get('tooltipSuffixBinLabels') |
| 3805 | && (options.get('tooltipSuffixBinLabels').length > fields[j].offset)) { |
| 3806 | label_suffix = options.get('tooltipSuffixBinLabels')[fields[j].offset]; |
| 3807 | } |
| 3808 | $.extend(fields[j], { |
| 3809 | prefix: label_prefix + options.get('tooltipPrefix'), |
| 3810 | suffix: options.get('tooltipSuffix') + label_suffix |
| 3811 | }); |
| 3812 | |
| 3813 | text = format.render(fields[j], options.get('tooltipValueLookups'), options); |
| 3814 | entries.push('<div class="' + fclass + '">' + text + '</div>'); |
| 3815 | } |
| 3816 | } |
| 3817 | } |
| 3818 | if (entries.length) { |
| 3819 | return header + entries.join('\n'); |
| 3820 | } |
| 3821 | return ''; |
| 3822 | }, |
| 3823 | |
| 3824 | getCurrentRegionFields: function () {}, |
| 3825 | |
| 3826 | calcHighlightColor: function (color, options) { |
| 3827 | var highlightColor = options.get('highlightColor'), |
| 3828 | lighten = options.get('highlightLighten'), |
| 3829 | parse, mult, rgbnew, i; |
| 3830 | if (highlightColor) { |
| 3831 | return highlightColor; |
| 3832 | } |
| 3833 | if (lighten) { |
| 3834 | // extract RGB values |
| 3835 | parse = /^#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec(color) || /^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i.exec(color); |
| 3836 | if (parse) { |
| 3837 | rgbnew = []; |
| 3838 | mult = color.length === 4 ? 16 : 1; |
| 3839 | for (i = 0; i < 3; i++) { |
| 3840 | rgbnew[i] = clipval(Math.round(parseInt(parse[i + 1], 16) * mult * lighten), 0, 255); |
| 3841 | } |
| 3842 | return 'rgb(' + rgbnew.join(',') + ')'; |
| 3843 | } |
| 3844 | |
| 3845 | } |
| 3846 | return color; |
| 3847 | } |
| 3848 | |
| 3849 | }); |
| 3850 | |
| 3851 | barHighlightMixin = { |
| 3852 | changeHighlight: function (highlight) { |
| 3853 | var currentRegion = this.currentRegion, |
| 3854 | target = this.target, |
| 3855 | shapeids = this.regionShapes[currentRegion], |
| 3856 | newShapes; |
| 3857 | // will be null if the region value was null |
| 3858 | if (shapeids >= 0) { |
| 3859 | newShapes = this.renderRegion(currentRegion, highlight); |
| 3860 | if ($.isArray(newShapes) || $.isArray(shapeids)) { |
| 3861 | target.replaceWithShapes(shapeids, newShapes); |
| 3862 | this.regionShapes[currentRegion] = $.map(newShapes, function (newShape) { |
| 3863 | return newShape.id; |
| 3864 | }); |
| 3865 | } else { |
| 3866 | target.replaceWithShape(shapeids, newShapes); |
| 3867 | this.regionShapes[currentRegion] = newShapes.id; |
| 3868 | } |
| 3869 | } |
| 3870 | }, |
| 3871 | |
| 3872 | render: function () { |
| 3873 | var values = this.values, |
| 3874 | target = this.target, |
| 3875 | regionShapes = this.regionShapes, |
| 3876 | shapes, ids, i, j; |
| 3877 | |
| 3878 | if (!this.cls._super.render.call(this)) { |
| 3879 | return; |
| 3880 | } |
| 3881 | for (i = values.length; i--;) { |
| 3882 | shapes = this.renderRegion(i); |
| 3883 | if (shapes) { |
| 3884 | if ($.isArray(shapes)) { |
| 3885 | ids = []; |
| 3886 | for (j = shapes.length; j--;) { |
| 3887 | shapes[j].append(); |
| 3888 | ids.push(shapes[j].id); |
| 3889 | } |
| 3890 | regionShapes[i] = ids; |
| 3891 | } else { |
| 3892 | shapes.append(); |
| 3893 | regionShapes[i] = shapes.id; // store just the shapeid |
| 3894 | } |
| 3895 | } else { |
| 3896 | // null value |
| 3897 | regionShapes[i] = null; |
| 3898 | } |
| 3899 | } |
| 3900 | target.render(); |
| 3901 | } |
| 3902 | }; |
| 3903 | |
| 3904 | |
| 3905 | /** |
| 3906 | * Line charts |
| 3907 | */ |
| 3908 | $.fn.sparkline.line = line = createClass($.fn.sparkline._base, { |
| 3909 | type: 'line', |
| 3910 | |
| 3911 | init: function (el, values, options, width, height) { |
| 3912 | line._super.init.call(this, el, values, options, width, height); |
| 3913 | this.vertices = []; |
| 3914 | this.regionMap = []; |
| 3915 | this.xvalues = []; |
| 3916 | this.yvalues = []; |
| 3917 | this.yminmax = []; |
| 3918 | this.hightlightSpotId = null; |
| 3919 | this.lastShapeId = null; |
| 3920 | this.initTarget(); |
| 3921 | }, |
| 3922 | |
| 3923 | getRegion: function (el, x, y) { |
| 3924 | var i, |
| 3925 | regionMap = this.regionMap; // maps regions to value positions |
| 3926 | for (i = regionMap.length; i--;) { |
| 3927 | if (regionMap[i] !== null && x * this.target.ratio >= regionMap[i][0] && x * this.target.ratio <= regionMap[i][1]) { |
| 3928 | return regionMap[i][2]; |
| 3929 | } |
| 3930 | } |
| 3931 | return undefined; |
| 3932 | }, |
| 3933 | |
| 3934 | getCurrentRegionFields: function () { |
| 3935 | var currentRegion = this.currentRegion; |
| 3936 | return { |
| 3937 | isNull: this.yvalues[currentRegion] === null, |
| 3938 | x: this.xvalues[currentRegion], |
| 3939 | y: this.yvalues[currentRegion], |
| 3940 | color: this.options.get('lineColor'), |
| 3941 | fillColor: this.options.get('fillColor'), |
| 3942 | offset: currentRegion |
| 3943 | }; |
| 3944 | }, |
| 3945 | |
| 3946 | renderHighlight: function () { |
| 3947 | var currentRegion = this.currentRegion, |
| 3948 | target = this.target, |
| 3949 | vertex = this.vertices[currentRegion], |
| 3950 | options = this.options, |
| 3951 | spotRadius = options.get('spotRadius'), |
| 3952 | highlightSpotColor = options.get('highlightSpotColor'), |
| 3953 | highlightLineColor = options.get('highlightLineColor'), |
| 3954 | highlightSpot, highlightLine; |
| 3955 | |
| 3956 | if (!vertex) { |
| 3957 | return; |
| 3958 | } |
| 3959 | if (spotRadius && highlightSpotColor) { |
| 3960 | highlightSpot = target.drawCircle(vertex[0], vertex[1], |
| 3961 | spotRadius, undefined, highlightSpotColor); |
| 3962 | this.highlightSpotId = highlightSpot.id; |
| 3963 | target.insertAfterShape(this.lastShapeId, highlightSpot); |
| 3964 | } |
| 3965 | if (highlightLineColor) { |
| 3966 | highlightLine = target.drawLine(vertex[0], this.canvasTop, vertex[0], |
| 3967 | this.canvasTop + this.canvasHeight, highlightLineColor); |
| 3968 | this.highlightLineId = highlightLine.id; |
| 3969 | target.insertAfterShape(this.lastShapeId, highlightLine); |
| 3970 | } |
| 3971 | }, |
| 3972 | |
| 3973 | removeHighlight: function () { |
| 3974 | var target = this.target; |
| 3975 | if (this.highlightSpotId) { |
| 3976 | target.removeShapeId(this.highlightSpotId); |
| 3977 | this.highlightSpotId = null; |
| 3978 | } |
| 3979 | if (this.highlightLineId) { |
| 3980 | target.removeShapeId(this.highlightLineId); |
| 3981 | this.highlightLineId = null; |
| 3982 | } |
| 3983 | }, |
| 3984 | |
| 3985 | scanValues: function () { |
| 3986 | var values = this.values, |
| 3987 | valcount = values.length, |
| 3988 | xvalues = this.xvalues, |
| 3989 | yvalues = this.yvalues, |
| 3990 | yminmax = this.yminmax, |
| 3991 | i, val, isStr, isArray, sp; |
| 3992 | for (i = 0; i < valcount; i++) { |
| 3993 | val = values[i]; |
| 3994 | isStr = typeof(values[i]) === 'string'; |
| 3995 | isArray = typeof(values[i]) === 'object' && values[i] instanceof Array; |
| 3996 | sp = isStr && values[i].split(':'); |
| 3997 | if (isStr && sp.length === 2) { // x:y |
| 3998 | xvalues.push(Number(sp[0])); |
| 3999 | yvalues.push(Number(sp[1])); |
| 4000 | yminmax.push(Number(sp[1])); |
| 4001 | } else if (isArray) { |
| 4002 | xvalues.push(val[0]); |
| 4003 | yvalues.push(val[1]); |
| 4004 | yminmax.push(val[1]); |
| 4005 | } else { |
| 4006 | xvalues.push(i); |
| 4007 | if (values[i] === null || values[i] === 'null') { |
| 4008 | yvalues.push(null); |
| 4009 | } else { |
| 4010 | yvalues.push(Number(val)); |
| 4011 | yminmax.push(Number(val)); |
| 4012 | } |
| 4013 | } |
| 4014 | } |
| 4015 | if (this.options.get('xvalues')) { |
| 4016 | xvalues = this.options.get('xvalues'); |
| 4017 | } |
| 4018 | |
| 4019 | this.maxy = this.maxyorg = Math.max.apply(Math, yminmax); |
| 4020 | this.miny = this.minyorg = Math.min.apply(Math, yminmax); |
| 4021 | |
| 4022 | this.maxx = Math.max.apply(Math, xvalues); |
| 4023 | this.minx = Math.min.apply(Math, xvalues); |
| 4024 | |
| 4025 | this.xvalues = xvalues; |
| 4026 | this.yvalues = yvalues; |
| 4027 | this.yminmax = yminmax; |
| 4028 | }, |
| 4029 | |
| 4030 | processRangeOptions: function () { |
| 4031 | var options = this.options, |
| 4032 | normalRangeMin = options.get('normalRangeMin'), |
| 4033 | normalRangeMax = options.get('normalRangeMax'); |
| 4034 | |
| 4035 | if (normalRangeMin !== undefined) { |
| 4036 | if (normalRangeMin < this.miny) { |
| 4037 | this.miny = normalRangeMin; |
| 4038 | } |
| 4039 | if (normalRangeMax > this.maxy) { |
| 4040 | this.maxy = normalRangeMax; |
| 4041 | } |
| 4042 | } |
| 4043 | if (options.get('chartRangeMin') !== undefined && (options.get('chartRangeClip') || options.get('chartRangeMin') < this.miny)) { |
| 4044 | this.miny = options.get('chartRangeMin'); |
| 4045 | } |
| 4046 | if (options.get('chartRangeMax') !== undefined && (options.get('chartRangeClip') || options.get('chartRangeMax') > this.maxy)) { |
| 4047 | this.maxy = options.get('chartRangeMax'); |
| 4048 | } |
| 4049 | if (options.get('chartRangeMinX') !== undefined && (options.get('chartRangeClipX') || options.get('chartRangeMinX') < this.minx)) { |
| 4050 | this.minx = options.get('chartRangeMinX'); |
| 4051 | } |
| 4052 | if (options.get('chartRangeMaxX') !== undefined && (options.get('chartRangeClipX') || options.get('chartRangeMaxX') > this.maxx)) { |
| 4053 | this.maxx = options.get('chartRangeMaxX'); |
| 4054 | } |
| 4055 | |
| 4056 | }, |
| 4057 | |
| 4058 | drawNormalRange: function (canvasLeft, canvasTop, canvasHeight, canvasWidth, rangey) { |
| 4059 | var normalRangeMin = this.options.get('normalRangeMin'), |
| 4060 | normalRangeMax = this.options.get('normalRangeMax'), |
| 4061 | ytop = canvasTop + Math.round(canvasHeight - (canvasHeight * ((normalRangeMax - this.miny) / rangey))), |
| 4062 | height = Math.round((canvasHeight * (normalRangeMax - normalRangeMin)) / rangey); |
| 4063 | this.target.drawRect(canvasLeft, ytop, canvasWidth, height, undefined, this.options.get('normalRangeColor')).append(); |
| 4064 | }, |
| 4065 | |
| 4066 | render: function () { |
| 4067 | var options = this.options, |
| 4068 | target = this.target, |
| 4069 | canvasWidth = this.canvasWidth, |
| 4070 | canvasHeight = this.canvasHeight, |
| 4071 | vertices = this.vertices, |
| 4072 | spotRadius = options.get('spotRadius'), |
| 4073 | regionMap = this.regionMap, |
| 4074 | rangex, rangey, yvallast, |
| 4075 | canvasTop, canvasLeft, |
| 4076 | vertex, path, paths, x, y, xnext, xpos, xposnext, |
| 4077 | last, next, yvalcount, lineShapes, fillShapes, plen, |
| 4078 | valueSpots, hlSpotsEnabled, color, xvalues, yvalues, i; |
| 4079 | |
| 4080 | if (!line._super.render.call(this)) { |
| 4081 | return; |
| 4082 | } |
| 4083 | |
| 4084 | this.scanValues(); |
| 4085 | this.processRangeOptions(); |
| 4086 | |
| 4087 | xvalues = this.xvalues; |
| 4088 | yvalues = this.yvalues; |
| 4089 | |
| 4090 | if (!this.yminmax.length || this.yvalues.length < 2) { |
| 4091 | // empty or all null valuess |
| 4092 | return; |
| 4093 | } |
| 4094 | |
| 4095 | canvasTop = canvasLeft = 0; |
| 4096 | |
| 4097 | rangex = this.maxx - this.minx === 0 ? 1 : this.maxx - this.minx; |
| 4098 | rangey = this.maxy - this.miny === 0 ? 1 : this.maxy - this.miny; |
| 4099 | yvallast = this.yvalues.length - 1; |
| 4100 | |
| 4101 | if (spotRadius && (canvasWidth < (spotRadius * 4) || canvasHeight < (spotRadius * 4))) { |
| 4102 | spotRadius = 0; |
| 4103 | } |
| 4104 | if (spotRadius) { |
| 4105 | // adjust the canvas size as required so that spots will fit |
| 4106 | hlSpotsEnabled = options.get('highlightSpotColor') && !options.get('disableInteraction'); |
| 4107 | if (hlSpotsEnabled || options.get('minSpotColor') || (options.get('spotColor') && yvalues[yvallast] === this.miny)) { |
| 4108 | canvasHeight -= Math.ceil(spotRadius); |
| 4109 | } |
| 4110 | if (hlSpotsEnabled || options.get('maxSpotColor') || (options.get('spotColor') && yvalues[yvallast] === this.maxy)) { |
| 4111 | canvasHeight -= Math.ceil(spotRadius); |
| 4112 | canvasTop += Math.ceil(spotRadius); |
| 4113 | } |
| 4114 | if (hlSpotsEnabled || |
| 4115 | ((options.get('minSpotColor') || options.get('maxSpotColor')) && (yvalues[0] === this.miny || yvalues[0] === this.maxy))) { |
| 4116 | canvasLeft += Math.ceil(spotRadius); |
| 4117 | canvasWidth -= Math.ceil(spotRadius); |
| 4118 | } |
| 4119 | if (hlSpotsEnabled || options.get('spotColor') || |
| 4120 | (options.get('minSpotColor') || options.get('maxSpotColor') && |
| 4121 | (yvalues[yvallast] === this.miny || yvalues[yvallast] === this.maxy))) { |
| 4122 | canvasWidth -= Math.ceil(spotRadius); |
| 4123 | } |
| 4124 | } |
| 4125 | |
| 4126 | |
| 4127 | canvasHeight--; |
| 4128 | |
| 4129 | if (options.get('normalRangeMin') !== undefined && !options.get('drawNormalOnTop')) { |
| 4130 | this.drawNormalRange(canvasLeft, canvasTop, canvasHeight, canvasWidth, rangey); |
| 4131 | } |
| 4132 | |
| 4133 | path = []; |
| 4134 | paths = [path]; |
| 4135 | last = next = null; |
| 4136 | yvalcount = yvalues.length; |
| 4137 | for (i = 0; i < yvalcount; i++) { |
| 4138 | x = xvalues[i]; |
| 4139 | xnext = xvalues[i + 1]; |
| 4140 | y = yvalues[i]; |
| 4141 | xpos = canvasLeft + Math.round((x - this.minx) * (canvasWidth / rangex)); |
| 4142 | xposnext = i < yvalcount - 1 ? canvasLeft + Math.round((xnext - this.minx) * (canvasWidth / rangex)) : canvasWidth; |
| 4143 | next = xpos + ((xposnext - xpos) / 2); |
| 4144 | regionMap[i] = [last || 0, next, i]; |
| 4145 | last = next; |
| 4146 | if (y === null) { |
| 4147 | if (i) { |
| 4148 | if (yvalues[i - 1] !== null) { |
| 4149 | path = []; |
| 4150 | paths.push(path); |
| 4151 | } |
| 4152 | vertices.push(null); |
| 4153 | } |
| 4154 | } else { |
| 4155 | if (y < this.miny) { |
| 4156 | y = this.miny; |
| 4157 | } |
| 4158 | if (y > this.maxy) { |
| 4159 | y = this.maxy; |
| 4160 | } |
| 4161 | if (!path.length) { |
| 4162 | // previous value was null |
| 4163 | path.push([xpos, canvasTop + canvasHeight]); |
| 4164 | } |
| 4165 | vertex = [xpos, canvasTop + Math.round(canvasHeight - (canvasHeight * ((y - this.miny) / rangey)))]; |
| 4166 | path.push(vertex); |
| 4167 | vertices.push(vertex); |
| 4168 | } |
| 4169 | } |
| 4170 | |
| 4171 | lineShapes = []; |
| 4172 | fillShapes = []; |
| 4173 | plen = paths.length; |
| 4174 | for (i = 0; i < plen; i++) { |
| 4175 | path = paths[i]; |
| 4176 | if (path.length) { |
| 4177 | if (options.get('fillColor')) { |
| 4178 | path.push([path[path.length - 1][0], (canvasTop + canvasHeight)]); |
| 4179 | fillShapes.push(path.slice(0)); |
| 4180 | path.pop(); |
| 4181 | } |
| 4182 | // if there's only a single point in this path, then we want to display it |
| 4183 | // as a vertical line which means we keep path[0] as is |
| 4184 | if (path.length > 2) { |
| 4185 | // else we want the first value |
| 4186 | path[0] = [path[0][0], path[1][1]]; |
| 4187 | } |
| 4188 | lineShapes.push(path); |
| 4189 | } |
| 4190 | } |
| 4191 | |
| 4192 | // draw the fill first, then optionally the normal range, then the line on top of that |
| 4193 | plen = fillShapes.length; |
| 4194 | for (i = 0; i < plen; i++) { |
| 4195 | target.drawShape(fillShapes[i], |
| 4196 | options.get('fillColor'), options.get('fillColor')).append(); |
| 4197 | } |
| 4198 | |
| 4199 | if (options.get('normalRangeMin') !== undefined && options.get('drawNormalOnTop')) { |
| 4200 | this.drawNormalRange(canvasLeft, canvasTop, canvasHeight, canvasWidth, rangey); |
| 4201 | } |
| 4202 | |
| 4203 | plen = lineShapes.length; |
| 4204 | for (i = 0; i < plen; i++) { |
| 4205 | target.drawShape(lineShapes[i], options.get('lineColor'), undefined, |
| 4206 | options.get('lineWidth')).append(); |
| 4207 | } |
| 4208 | |
| 4209 | if (spotRadius && options.get('valueSpots')) { |
| 4210 | valueSpots = options.get('valueSpots'); |
| 4211 | if (valueSpots.get === undefined) { |
| 4212 | valueSpots = new RangeMap(valueSpots); |
| 4213 | } |
| 4214 | for (i = 0; i < yvalcount; i++) { |
| 4215 | color = valueSpots.get(yvalues[i]); |
| 4216 | if (color) { |
| 4217 | target.drawCircle(canvasLeft + Math.round((xvalues[i] - this.minx) * (canvasWidth / rangex)), |
| 4218 | canvasTop + Math.round(canvasHeight - (canvasHeight * ((yvalues[i] - this.miny) / rangey))), |
| 4219 | spotRadius, undefined, |
| 4220 | color).append(); |
| 4221 | } |
| 4222 | } |
| 4223 | |
| 4224 | } |
| 4225 | if (spotRadius && options.get('spotColor') && yvalues[yvallast] !== null) { |
| 4226 | target.drawCircle(canvasLeft + Math.round((xvalues[xvalues.length - 1] - this.minx) * (canvasWidth / rangex)), |
| 4227 | canvasTop + Math.round(canvasHeight - (canvasHeight * ((yvalues[yvallast] - this.miny) / rangey))), |
| 4228 | spotRadius, undefined, |
| 4229 | options.get('spotColor')).append(); |
| 4230 | } |
| 4231 | if (this.maxy !== this.minyorg) { |
| 4232 | if (spotRadius && options.get('minSpotColor')) { |
| 4233 | x = xvalues[$.inArray(this.minyorg, yvalues)]; |
| 4234 | target.drawCircle(canvasLeft + Math.round((x - this.minx) * (canvasWidth / rangex)), |
| 4235 | canvasTop + Math.round(canvasHeight - (canvasHeight * ((this.minyorg - this.miny) / rangey))), |
| 4236 | spotRadius, undefined, |
| 4237 | options.get('minSpotColor')).append(); |
| 4238 | } |
| 4239 | if (spotRadius && options.get('maxSpotColor')) { |
| 4240 | x = xvalues[$.inArray(this.maxyorg, yvalues)]; |
| 4241 | target.drawCircle(canvasLeft + Math.round((x - this.minx) * (canvasWidth / rangex)), |
| 4242 | canvasTop + Math.round(canvasHeight - (canvasHeight * ((this.maxyorg - this.miny) / rangey))), |
| 4243 | spotRadius, undefined, |
| 4244 | options.get('maxSpotColor')).append(); |
| 4245 | } |
| 4246 | } |
| 4247 | |
| 4248 | // explicitly compare the refLineX/Y option values with 'null' as numeric zero(0) should plot a ref-line at zero! |
| 4249 | if (options.get('refLineX') != null) { // jshint ignore:line |
| 4250 | y = Math.round(this.canvasHeight - (options.get('refLineX') - this.miny) * (this.canvasHeight/rangey)); |
| 4251 | target.drawLine(0, y, this.canvasWidth, y, options.get('refLineColor')).append(); |
| 4252 | } |
| 4253 | |
| 4254 | if (options.get('refLineY') != null) { // jshint ignore:line |
| 4255 | x = Math.round((options.get('refLineY') - this.minx) * (this.canvasWidth/rangex)); |
| 4256 | target.drawLine(x, this.canvasHeight, x, 0, options.get('refLineColor')).append(); |
| 4257 | } |
| 4258 | |
| 4259 | this.lastShapeId = target.getLastShapeId(); |
| 4260 | this.canvasTop = canvasTop; |
| 4261 | target.render(); |
| 4262 | } |
| 4263 | }); |
| 4264 | |
| 4265 | |
| 4266 | /** |
| 4267 | * Bar charts |
| 4268 | */ |
| 4269 | $.fn.sparkline.bar = bar = createClass($.fn.sparkline._base, barHighlightMixin, { |
| 4270 | type: 'bar', |
| 4271 | |
| 4272 | init: function (el, values, options, width, height) { |
| 4273 | var barWidth = parseInt(options.get('barWidth'), 10), |
| 4274 | barSpacing = parseInt(options.get('barSpacing'), 10), |
| 4275 | chartRangeMin = options.get('chartRangeMin'), |
| 4276 | chartRangeMax = options.get('chartRangeMax'), |
| 4277 | chartRangeClip = options.get('chartRangeClip'), |
| 4278 | stackMin = Infinity, |
| 4279 | stackMax = -Infinity, |
| 4280 | isStackString, groupMin, groupMax, stackRanges, stackRangesNeg, stackTotals, actualMin, actualMax, |
| 4281 | numValues, i, vlen, range, zeroAxis, xaxisOffset, min, max, clipMin, clipMax, |
| 4282 | stacked, vlist, j, slen, svals, val, yoffset, yMaxCalc, canvasHeightEf; |
| 4283 | bar._super.init.call(this, el, values, options, width, height); |
| 4284 | |
| 4285 | // scan values to determine whether to stack bars |
| 4286 | for (i = 0, vlen = values.length; i < vlen; i++) { |
| 4287 | val = values[i]; |
| 4288 | isStackString = typeof(val) === 'string' && val.indexOf(':') > -1; |
| 4289 | if (isStackString || $.isArray(val)) { |
| 4290 | stacked = true; |
| 4291 | if (isStackString) { |
| 4292 | val = values[i] = normalizeValues(val.split(':')); |
| 4293 | } |
| 4294 | val = remove(val, null); // min/max will treat null as zero |
| 4295 | groupMin = Math.min.apply(Math, val); |
| 4296 | groupMax = Math.max.apply(Math, val); |
| 4297 | if (groupMin < stackMin) { |
| 4298 | stackMin = groupMin; |
| 4299 | } |
| 4300 | if (groupMax > stackMax) { |
| 4301 | stackMax = groupMax; |
| 4302 | } |
| 4303 | } |
| 4304 | } |
| 4305 | |
| 4306 | this.initTarget(); |
| 4307 | |
| 4308 | this.stacked = stacked; |
| 4309 | this.regionShapes = {}; |
| 4310 | this.barWidth = barWidth * this.target.devicePixelRatio; |
| 4311 | this.barSpacing = barSpacing * this.target.devicePixelRatio; |
| 4312 | this.totalBarWidth = (barWidth + barSpacing) * this.target.devicePixelRatio; |
| 4313 | var rawWidth = (values.length * barWidth * this.target.devicePixelRatio) + ((values.length - 1) * barSpacing * this.target.devicePixelRatio); |
| 4314 | this.xScale = Math.min(1, rawWidth ? width * this.target.devicePixelRatio / rawWidth : 1); |
| 4315 | this.width = rawWidth * this.xScale; |
| 4316 | |
| 4317 | if (chartRangeClip) { |
| 4318 | clipMin = chartRangeMin === undefined ? -Infinity : chartRangeMin; |
| 4319 | clipMax = chartRangeMax === undefined ? Infinity : chartRangeMax; |
| 4320 | } |
| 4321 | if (stacked) { |
| 4322 | actualMin = chartRangeMin === undefined ? stackMin : Math.min(stackMin, chartRangeMin); |
| 4323 | actualMax = chartRangeMax === undefined ? stackMax : Math.max(stackMax, chartRangeMax); |
| 4324 | } |
| 4325 | |
| 4326 | numValues = []; |
| 4327 | stackRanges = stacked ? [] : numValues; |
| 4328 | stackTotals = []; |
| 4329 | stackRangesNeg = []; |
| 4330 | for (i = 0, vlen = values.length; i < vlen; i++) { |
| 4331 | if (stacked) { |
| 4332 | vlist = values[i]; |
| 4333 | values[i] = svals = []; |
| 4334 | stackTotals[i] = 0; |
| 4335 | stackRanges[i] = stackRangesNeg[i] = 0; |
| 4336 | for (j = 0, slen = vlist.length; j < slen; j++) { |
| 4337 | val = svals[j] = chartRangeClip ? clipval(vlist[j], clipMin, clipMax) : vlist[j]; |
| 4338 | if (val !== null) { |
| 4339 | if (val > 0) { |
| 4340 | stackTotals[i] += val; |
| 4341 | } |
| 4342 | if (stackMin < 0 && stackMax > 0) { |
| 4343 | if (val < 0) { |
| 4344 | stackRangesNeg[i] += Math.abs(val); |
| 4345 | } else { |
| 4346 | stackRanges[i] += val; |
| 4347 | } |
| 4348 | } else { |
| 4349 | stackRanges[i] += Math.abs(val - (val < 0 ? actualMax : actualMin)); |
| 4350 | } |
| 4351 | numValues.push(val); |
| 4352 | } |
| 4353 | } |
| 4354 | } else { |
| 4355 | val = chartRangeClip ? clipval(values[i], clipMin, clipMax) : values[i]; |
| 4356 | val = values[i] = normalizeValue(val); |
| 4357 | if (val !== null) { |
| 4358 | numValues.push(val); |
| 4359 | } |
| 4360 | } |
| 4361 | } |
| 4362 | this.max = max = Math.max.apply(Math, numValues); |
| 4363 | this.min = min = Math.min.apply(Math, numValues); |
| 4364 | this.stackMax = stackMax = stacked ? Math.max.apply(Math, stackTotals) : max; |
| 4365 | this.stackMin = stackMin = stacked ? Math.min.apply(Math, numValues) : min; |
| 4366 | |
| 4367 | if (chartRangeMin !== undefined && (chartRangeClip || chartRangeMin < min)) { |
| 4368 | min = chartRangeMin; |
| 4369 | } |
| 4370 | if (chartRangeMax !== undefined && (chartRangeClip || chartRangeMax > max)) { |
| 4371 | max = chartRangeMax; |
| 4372 | } |
| 4373 | |
| 4374 | this.zeroAxis = zeroAxis = options.get('zeroAxis', true); |
| 4375 | if (min <= 0 && max >= 0 && zeroAxis) { |
| 4376 | xaxisOffset = 0; |
| 4377 | } else if (zeroAxis === false) { |
| 4378 | xaxisOffset = min; |
| 4379 | } else if (min > 0) { |
| 4380 | xaxisOffset = min; |
| 4381 | } else { |
| 4382 | xaxisOffset = max; |
| 4383 | } |
| 4384 | this.xaxisOffset = xaxisOffset; |
| 4385 | |
| 4386 | range = stacked ? (Math.max.apply(Math, stackRanges) + Math.max.apply(Math, stackRangesNeg)) : max - min; |
| 4387 | |
| 4388 | // as we plot zero/min values a single pixel line, we add a pixel to all other |
| 4389 | // values - Reduce the effective canvas size to suit |
| 4390 | this.canvasHeightEf = (zeroAxis && min < 0) ? this.canvasHeight - 2 : this.canvasHeight - 1; |
| 4391 | |
| 4392 | if (min < xaxisOffset) { |
| 4393 | yMaxCalc = (stacked && max >= 0) ? stackMax : max; |
| 4394 | yoffset = (yMaxCalc - xaxisOffset) / range * this.canvasHeight; |
| 4395 | if (yoffset !== Math.ceil(yoffset)) { |
| 4396 | this.canvasHeightEf -= 2; |
| 4397 | yoffset = Math.ceil(yoffset); |
| 4398 | } |
| 4399 | } else { |
| 4400 | yoffset = this.canvasHeight; |
| 4401 | } |
| 4402 | this.yoffset = yoffset; |
| 4403 | |
| 4404 | this.initColorMap(); |
| 4405 | this.range = range; |
| 4406 | }, |
| 4407 | |
| 4408 | getRegion: function (el, x, y) { |
| 4409 | x /= this.xScale; |
| 4410 | var result = Math.floor(x * this.target.ratio / this.totalBarWidth); |
| 4411 | return (result < 0 || result >= this.values.length) ? undefined : result; |
| 4412 | }, |
| 4413 | |
| 4414 | getCurrentRegionFields: function () { |
| 4415 | var currentRegion = this.currentRegion, |
| 4416 | values = ensureArray(this.values[currentRegion]), |
| 4417 | result = [], |
| 4418 | value, i; |
| 4419 | for (i = values.length; i--;) { |
| 4420 | value = values[i]; |
| 4421 | result.push({ |
| 4422 | isNull: value === null, |
| 4423 | value: value, |
| 4424 | color: this.calcColor(i, value, currentRegion), |
| 4425 | offset: currentRegion |
| 4426 | }); |
| 4427 | } |
| 4428 | return result; |
| 4429 | }, |
| 4430 | |
| 4431 | calcColor: function (stacknum, value, valuenum) { |
| 4432 | var colorMapFunction = this.colorMapFunction, |
| 4433 | options = this.options, |
| 4434 | color, newColor; |
| 4435 | |
| 4436 | if (colorMapFunction && (newColor = colorMapFunction(this, options, valuenum, value))) { |
| 4437 | color = newColor; |
| 4438 | } |
| 4439 | else { |
| 4440 | if (this.stacked) { |
| 4441 | color = options.get('stackedBarColor'); |
| 4442 | } else { |
| 4443 | color = (value < 0) ? options.get('negBarColor') : options.get('barColor'); |
| 4444 | } |
| 4445 | if (value === 0 && options.get('zeroColor') !== undefined) { |
| 4446 | color = options.get('zeroColor'); |
| 4447 | } |
| 4448 | } |
| 4449 | return $.isArray(color) ? color[stacknum % color.length] : color; |
| 4450 | }, |
| 4451 | |
| 4452 | /** |
| 4453 | * Render bar(s) for a region |
| 4454 | */ |
| 4455 | renderRegion: function (valuenum, highlight) { |
| 4456 | var vals = this.values[valuenum], |
| 4457 | options = this.options, |
| 4458 | xaxisOffset = this.xaxisOffset, |
| 4459 | result = [], |
| 4460 | range = this.range, |
| 4461 | stacked = this.stacked, |
| 4462 | target = this.target, |
| 4463 | x = valuenum * this.totalBarWidth, |
| 4464 | canvasHeightEf = this.canvasHeightEf, |
| 4465 | yoffset = this.yoffset, |
| 4466 | y, height, color, isNull, yoffsetNeg, i, valcount, val, minPlotted, allMin; |
| 4467 | |
| 4468 | vals = $.isArray(vals) ? vals : [vals]; |
| 4469 | valcount = vals.length; |
| 4470 | val = vals[0]; |
| 4471 | isNull = all(null, vals); |
| 4472 | allMin = all(xaxisOffset, vals, true); |
| 4473 | |
| 4474 | if (isNull) { |
| 4475 | if (options.get('nullColor')) { |
| 4476 | color = highlight ? options.get('nullColor') : this.calcHighlightColor(options.get('nullColor'), options); |
| 4477 | y = (yoffset > 0) ? yoffset - 1 : yoffset; |
| 4478 | return target.drawRect(x, y, this.barWidth - 1, 0, color, color); |
| 4479 | } else { |
| 4480 | return undefined; |
| 4481 | } |
| 4482 | } |
| 4483 | yoffsetNeg = yoffset; |
| 4484 | for (i = 0; i < valcount; i++) { |
| 4485 | val = vals[i]; |
| 4486 | |
| 4487 | if (stacked && val === xaxisOffset) { |
| 4488 | if (!allMin || minPlotted) { |
| 4489 | continue; |
| 4490 | } |
| 4491 | minPlotted = true; |
| 4492 | } |
| 4493 | |
| 4494 | if (range > 0) { |
| 4495 | height = Math.floor(canvasHeightEf * ((Math.abs(val - xaxisOffset) / range))) + 1; |
| 4496 | } else { |
| 4497 | height = 1; |
| 4498 | } |
| 4499 | if (val < xaxisOffset || (val === xaxisOffset && yoffset === 0)) { |
| 4500 | y = yoffsetNeg; |
| 4501 | yoffsetNeg += height; |
| 4502 | } else { |
| 4503 | y = yoffset - height; |
| 4504 | yoffset -= height; |
| 4505 | } |
| 4506 | color = this.calcColor(i, val, valuenum); |
| 4507 | if (highlight) { |
| 4508 | color = this.calcHighlightColor(color, options); |
| 4509 | } |
| 4510 | result.push(target.drawRect(x * this.xScale, y, (this.barWidth - 1) * this.xScale, height - 1, color, color)); |
| 4511 | } |
| 4512 | if (result.length === 1) { |
| 4513 | return result[0]; |
| 4514 | } |
| 4515 | return result; |
| 4516 | } |
| 4517 | }); |
| 4518 | |
| 4519 | |
| 4520 | /** |
| 4521 | * Stack charts |
| 4522 | */ |
| 4523 | $.fn.sparkline.stack = stack = createClass($.fn.sparkline._base, { |
| 4524 | type: 'stack', |
| 4525 | |
| 4526 | init: function (el, values, options, width, height) { |
| 4527 | var total = 0, i; |
| 4528 | |
| 4529 | stack._super.init.call(this, el, values, options, width, height); |
| 4530 | |
| 4531 | this.shapes = {}; // map shape ids to value offsets |
| 4532 | this.valueShapes = {}; // maps value offsets to shape ids |
| 4533 | this.values = values = $.map(values, Number); |
| 4534 | |
| 4535 | this.initTarget(); |
| 4536 | |
| 4537 | if (options.get('width') === 'auto') { |
| 4538 | this.width = this.height; |
| 4539 | } |
| 4540 | |
| 4541 | if (values.length > 0) { |
| 4542 | for (i = values.length; i--;) { |
| 4543 | total += values[i]; |
| 4544 | } |
| 4545 | } |
| 4546 | this.total = total; |
| 4547 | |
| 4548 | this.height = this.canvasHeight * this.target.devicePixelRatio; |
| 4549 | this.width = this.canvasWidth * this.target.devicePixelRatio; |
| 4550 | }, |
| 4551 | |
| 4552 | getRegion: function (el, x, y) { |
| 4553 | var shapeid = this.target.getShapeAt(el, x * this.target.ratio, y * this.target.ratio); |
| 4554 | return (shapeid !== undefined && this.shapes[shapeid] !== undefined) ? this.shapes[shapeid] : undefined; |
| 4555 | }, |
| 4556 | |
| 4557 | getCurrentRegionFields: function () { |
| 4558 | var currentRegion = this.currentRegion; |
| 4559 | return { |
| 4560 | isNull: this.values[currentRegion] === undefined, |
| 4561 | value: this.values[currentRegion], |
| 4562 | percent: this.values[currentRegion] / this.total * 100, |
| 4563 | color: this.options.get('sliceColors')[currentRegion % this.options.get('sliceColors').length], |
| 4564 | offset: currentRegion |
| 4565 | }; |
| 4566 | }, |
| 4567 | |
| 4568 | changeHighlight: function (highlight) { |
| 4569 | var currentRegion = this.currentRegion, |
| 4570 | newslice = this.renderSlice(currentRegion, highlight), |
| 4571 | shapeid = this.valueShapes[currentRegion]; |
| 4572 | delete this.shapes[shapeid]; |
| 4573 | this.target.replaceWithShape(shapeid, newslice); |
| 4574 | this.valueShapes[currentRegion] = newslice.id; |
| 4575 | this.shapes[newslice.id] = currentRegion; |
| 4576 | }, |
| 4577 | |
| 4578 | renderSlice: function (valuenum, highlight) { |
| 4579 | var target = this.target, |
| 4580 | options = this.options, |
| 4581 | height = this.height, |
| 4582 | width = this.width, |
| 4583 | values = this.values, |
| 4584 | total = this.total, |
| 4585 | start = 0, |
| 4586 | end = 0, |
| 4587 | i, vlen, color; |
| 4588 | |
| 4589 | vlen = values.length; |
| 4590 | for (i = 0; i < vlen; i++) { |
| 4591 | start = end; |
| 4592 | var sliceWidth = Math.round(values[i] * width / total); |
| 4593 | if (valuenum === i) { |
| 4594 | color = options.get('sliceColors')[i % options.get('sliceColors').length]; |
| 4595 | if (highlight) { |
| 4596 | color = this.calcHighlightColor(color, options); |
| 4597 | } |
| 4598 | return target.drawRect(start, 0, sliceWidth, height, undefined, color); |
| 4599 | } |
| 4600 | end += sliceWidth; |
| 4601 | } |
| 4602 | }, |
| 4603 | |
| 4604 | render: function () { |
| 4605 | var target = this.target, |
| 4606 | values = this.values, |
| 4607 | options = this.options, |
| 4608 | borderWidth = options.get('borderWidth'), |
| 4609 | shape, i; |
| 4610 | |
| 4611 | if (!stack._super.render.call(this)) { |
| 4612 | return; |
| 4613 | } |
| 4614 | for (i = 0; i < values.length; i++) { |
| 4615 | if (values[i]) { // don't render zero values |
| 4616 | shape = this.renderSlice(i).append(); |
| 4617 | this.valueShapes[i] = shape.id; // store just the shapeid |
| 4618 | this.shapes[shape.id] = i; |
| 4619 | } |
| 4620 | } |
| 4621 | target.render(); |
| 4622 | } |
| 4623 | }); |
| 4624 | |
| 4625 | /** |
| 4626 | * Tristate charts |
| 4627 | */ |
| 4628 | $.fn.sparkline.tristate = tristate = createClass($.fn.sparkline._base, barHighlightMixin, { |
| 4629 | type: 'tristate', |
| 4630 | |
| 4631 | init: function (el, values, options, width, height) { |
| 4632 | var barWidth = parseInt(options.get('barWidth'), 10), |
| 4633 | barSpacing = parseInt(options.get('barSpacing'), 10); |
| 4634 | tristate._super.init.call(this, el, values, options, width, height); |
| 4635 | |
| 4636 | this.initTarget(); |
| 4637 | |
| 4638 | this.regionShapes = {}; |
| 4639 | this.barWidth = barWidth * this.target.devicePixelRatio; |
| 4640 | this.barSpacing = barSpacing * this.target.devicePixelRatio; |
| 4641 | this.totalBarWidth = (barWidth + barSpacing) * this.target.devicePixelRatio; |
| 4642 | this.values = $.map(values, Number); |
| 4643 | var rawWidth = (values.length * barWidth * this.target.devicePixelRatio) + ((values.length - 1) * barSpacing * this.target.devicePixelRatio); |
| 4644 | this.xScale = Math.min(1, rawWidth ? width * this.target.devicePixelRatio / rawWidth : 1); |
| 4645 | this.width = rawWidth * this.xScale; |
| 4646 | |
| 4647 | this.initColorMap(); |
| 4648 | }, |
| 4649 | |
| 4650 | getRegion: function (el, x, y) { |
| 4651 | x /= this.xScale; |
| 4652 | var result = Math.floor(x * this.target.ratio / this.totalBarWidth); |
| 4653 | return (result < 0 || result >= this.values.length) ? undefined : result; |
| 4654 | }, |
| 4655 | |
| 4656 | getCurrentRegionFields: function () { |
| 4657 | var currentRegion = this.currentRegion; |
| 4658 | return { |
| 4659 | isNull: this.values[currentRegion] === undefined, |
| 4660 | value: this.values[currentRegion], |
| 4661 | color: this.calcColor(this.values[currentRegion], currentRegion), |
| 4662 | offset: currentRegion |
| 4663 | }; |
| 4664 | }, |
| 4665 | |
| 4666 | calcColor: function (value, valuenum) { |
| 4667 | var options = this.options, |
| 4668 | colorMapFunction = this.colorMapFunction, |
| 4669 | color, newColor; |
| 4670 | |
| 4671 | if (colorMapFunction && (newColor = colorMapFunction(this, options, valuenum, value))) { |
| 4672 | color = newColor; |
| 4673 | } else if (value < 0) { |
| 4674 | color = options.get('negBarColor'); |
| 4675 | } else if (value > 0) { |
| 4676 | color = options.get('posBarColor'); |
| 4677 | } else { |
| 4678 | color = options.get('zeroBarColor'); |
| 4679 | } |
| 4680 | return color; |
| 4681 | }, |
| 4682 | |
| 4683 | renderRegion: function (valuenum, highlight) { |
| 4684 | var values = this.values, |
| 4685 | options = this.options, |
| 4686 | target = this.target, |
| 4687 | canvasHeight, height, halfHeight, |
| 4688 | x, y, color; |
| 4689 | |
| 4690 | canvasHeight = target.pixelHeight; |
| 4691 | halfHeight = Math.round(canvasHeight / 2); |
| 4692 | |
| 4693 | x = valuenum * this.totalBarWidth; |
| 4694 | if (values[valuenum] < 0) { |
| 4695 | y = halfHeight; |
| 4696 | height = halfHeight - 1; |
| 4697 | } else if (values[valuenum] > 0) { |
| 4698 | y = 0; |
| 4699 | height = halfHeight - 1; |
| 4700 | } else { |
| 4701 | y = halfHeight - 1; |
| 4702 | height = 2; |
| 4703 | } |
| 4704 | color = this.calcColor(values[valuenum], valuenum); |
| 4705 | if (color === null) { |
| 4706 | return; |
| 4707 | } |
| 4708 | if (highlight) { |
| 4709 | color = this.calcHighlightColor(color, options); |
| 4710 | } |
| 4711 | return target.drawRect(x * this.xScale, y, (this.barWidth - 1) * this.xScale, height - 1, color, color); |
| 4712 | } |
| 4713 | }); |
| 4714 | |
| 4715 | |
| 4716 | /** |
| 4717 | * Discrete charts |
| 4718 | */ |
| 4719 | $.fn.sparkline.discrete = discrete = createClass($.fn.sparkline._base, barHighlightMixin, { |
| 4720 | type: 'discrete', |
| 4721 | |
| 4722 | init: function (el, values, options, width, height) { |
| 4723 | discrete._super.init.call(this, el, values, options, width, height); |
| 4724 | |
| 4725 | this.initTarget(); |
| 4726 | |
| 4727 | this.regionShapes = {}; |
| 4728 | this.values = values = $.map(values, Number); |
| 4729 | this.min = Math.min.apply(Math, values); |
| 4730 | this.max = Math.max.apply(Math, values); |
| 4731 | this.range = this.max - this.min; |
| 4732 | width = options.get('width') === 'auto' ? values.length * 2 * this.target.devicePixelRatio : this.width; |
| 4733 | //adjust width for pixel ratio |
| 4734 | width = width * this.target.devicePixelRatio; |
| 4735 | this.width = width; |
| 4736 | this.interval = Math.floor(width / values.length); |
| 4737 | this.itemWidth = width / values.length; |
| 4738 | if (options.get('chartRangeMin') !== undefined && (options.get('chartRangeClip') || options.get('chartRangeMin') < this.min)) { |
| 4739 | this.min = options.get('chartRangeMin'); |
| 4740 | } |
| 4741 | if (options.get('chartRangeMax') !== undefined && (options.get('chartRangeClip') || options.get('chartRangeMax') > this.max)) { |
| 4742 | this.max = options.get('chartRangeMax'); |
| 4743 | } |
| 4744 | |
| 4745 | if (this.target) { |
| 4746 | this.lineHeight = options.get('lineHeight') === 'auto' ? Math.round(this.canvasHeight * 0.3) : options.get('lineHeight'); |
| 4747 | } |
| 4748 | }, |
| 4749 | |
| 4750 | getRegion: function (el, x, y) { |
| 4751 | return Math.floor(x * this.target.ratio / this.itemWidth); |
| 4752 | }, |
| 4753 | |
| 4754 | getCurrentRegionFields: function () { |
| 4755 | var currentRegion = this.currentRegion; |
| 4756 | return { |
| 4757 | isNull: this.values[currentRegion] === undefined, |
| 4758 | value: this.values[currentRegion], |
| 4759 | offset: currentRegion |
| 4760 | }; |
| 4761 | }, |
| 4762 | |
| 4763 | renderRegion: function (valuenum, highlight) { |
| 4764 | var values = this.values, |
| 4765 | options = this.options, |
| 4766 | min = this.min, |
| 4767 | max = this.max, |
| 4768 | range = this.range, |
| 4769 | interval = this.interval, |
| 4770 | target = this.target, |
| 4771 | canvasHeight = this.canvasHeight, |
| 4772 | lineHeight = this.lineHeight, |
| 4773 | pheight = canvasHeight - lineHeight, |
| 4774 | ytop, val, color, x; |
| 4775 | |
| 4776 | val = clipval(values[valuenum], min, max); |
| 4777 | x = valuenum * interval; |
| 4778 | ytop = Math.round(pheight - pheight * ((val - min) / range)); |
| 4779 | color = (options.get('thresholdColor') && val < options.get('thresholdValue')) ? options.get('thresholdColor') : options.get('lineColor'); |
| 4780 | if (highlight) { |
| 4781 | color = this.calcHighlightColor(color, options); |
| 4782 | } |
| 4783 | return target.drawLine(x, ytop, x, ytop + lineHeight, color); |
| 4784 | } |
| 4785 | }); |
| 4786 | |
| 4787 | |
| 4788 | /** |
| 4789 | * Bullet charts |
| 4790 | */ |
| 4791 | $.fn.sparkline.bullet = bullet = createClass($.fn.sparkline._base, { |
| 4792 | type: 'bullet', |
| 4793 | |
| 4794 | init: function (el, values, options, width, height) { |
| 4795 | var min, max, vals; |
| 4796 | bullet._super.init.call(this, el, values, options, width, height); |
| 4797 | |
| 4798 | // values: target, performance, range1, range2, range3 |
| 4799 | this.values = values = normalizeValues(values); |
| 4800 | // target or performance could be null |
| 4801 | vals = values.slice(); |
| 4802 | vals[0] = vals[0] === null ? vals[2] : vals[0]; |
| 4803 | vals[1] = values[1] === null ? vals[2] : vals[1]; |
| 4804 | min = Math.min.apply(Math, values); |
| 4805 | max = Math.max.apply(Math, values); |
| 4806 | if (options.get('base') === undefined) { |
| 4807 | min = min < 0 ? min : 0; |
| 4808 | } else { |
| 4809 | min = options.get('base'); |
| 4810 | } |
| 4811 | this.min = min; |
| 4812 | this.max = max; |
| 4813 | this.range = max - min; |
| 4814 | |
| 4815 | // GRADIENT |
| 4816 | var colors = options.get('rangeColors'); |
| 4817 | if (options.get('gradient') && colors.length > 1) { |
| 4818 | var rainbow = new Rainbow(); |
| 4819 | rainbow.setSpectrumByArray(colors); |
| 4820 | rainbow.setNumberRange(0, this.values.length); |
| 4821 | |
| 4822 | for (var i = 0; i < this.values.length; i++) { |
| 4823 | colors[i] = rainbow.colorAt(i); |
| 4824 | } |
| 4825 | } |
| 4826 | |
| 4827 | this.rangeColors = colors; |
| 4828 | this.shapes = {}; |
| 4829 | this.valueShapes = {}; |
| 4830 | this.regiondata = {}; |
| 4831 | this.width = width = options.get('width') === 'auto' ? '4.0em' : width; |
| 4832 | this.target = this.$el.simpledraw(width, height, options.get('composite')); |
| 4833 | if (!values.length) { |
| 4834 | this.disabled = true; |
| 4835 | } |
| 4836 | this.initTarget(); |
| 4837 | }, |
| 4838 | |
| 4839 | getRegion: function (el, x, y) { |
| 4840 | var shapeid = this.target.getShapeAt(el, x * this.target.ratio, y * this.target.ratio); |
| 4841 | return (shapeid !== undefined && this.shapes[shapeid] !== undefined) ? this.shapes[shapeid] : undefined; |
| 4842 | }, |
| 4843 | |
| 4844 | getCurrentRegionFields: function () { |
| 4845 | var currentRegion = this.currentRegion; |
| 4846 | return { |
| 4847 | fieldkey: currentRegion.substr(0, 1), |
| 4848 | value: this.values[currentRegion.substr(1)], |
| 4849 | region: currentRegion |
| 4850 | }; |
| 4851 | }, |
| 4852 | |
| 4853 | changeHighlight: function (highlight) { |
| 4854 | var currentRegion = this.currentRegion, |
| 4855 | shapeid = this.valueShapes[currentRegion], |
| 4856 | shape; |
| 4857 | delete this.shapes[shapeid]; |
| 4858 | switch (currentRegion.substr(0, 1)) { |
| 4859 | case 'r': |
| 4860 | shape = this.renderRange(currentRegion.substr(1), highlight); |
| 4861 | break; |
| 4862 | case 'p': |
| 4863 | shape = this.renderPerformance(highlight); |
| 4864 | break; |
| 4865 | case 't': |
| 4866 | shape = this.renderTarget(highlight); |
| 4867 | break; |
| 4868 | } |
| 4869 | this.valueShapes[currentRegion] = shape.id; |
| 4870 | this.shapes[shape.id] = currentRegion; |
| 4871 | this.target.replaceWithShape(shapeid, shape); |
| 4872 | }, |
| 4873 | |
| 4874 | renderRange: function (rn, highlight) { |
| 4875 | var rangeval = this.values[rn], |
| 4876 | rangewidth = Math.round(this.canvasWidth * ((rangeval - this.min) / this.range)), |
| 4877 | color = this.rangeColors[rn - 2]; |
| 4878 | if (highlight) { |
| 4879 | color = this.calcHighlightColor(color, this.options); |
| 4880 | } |
| 4881 | return this.target.drawRect(0, 0, rangewidth - 1, this.canvasHeight - 1, color, color); |
| 4882 | }, |
| 4883 | |
| 4884 | renderPerformance: function (highlight) { |
| 4885 | var perfval = this.values[1], |
| 4886 | perfwidth = Math.round(this.canvasWidth * ((perfval - this.min) / this.range)), |
| 4887 | color = this.options.get('performanceColor'); |
| 4888 | if (highlight) { |
| 4889 | color = this.calcHighlightColor(color, this.options); |
| 4890 | } |
| 4891 | return this.target.drawRect(0, Math.round(this.canvasHeight * 0.3), perfwidth - 1, |
| 4892 | Math.round(this.canvasHeight * 0.4) - 1, color, color); |
| 4893 | }, |
| 4894 | |
| 4895 | renderTarget: function (highlight) { |
| 4896 | var targetval = this.values[0], |
| 4897 | x = Math.round(this.canvasWidth * ((targetval - this.min) / this.range) - (this.options.get('targetWidth') / 2)), |
| 4898 | targettop = Math.round(this.canvasHeight * 0.10), |
| 4899 | targetheight = this.canvasHeight - (targettop * 2), |
| 4900 | color = this.options.get('targetColor'); |
| 4901 | if (highlight) { |
| 4902 | color = this.calcHighlightColor(color, this.options); |
| 4903 | } |
| 4904 | return this.target.drawRect(x, targettop, this.options.get('targetWidth') - 1, targetheight - 1, color, color); |
| 4905 | }, |
| 4906 | |
| 4907 | render: function () { |
| 4908 | var vlen = this.values.length, |
| 4909 | target = this.target, |
| 4910 | i, shape; |
| 4911 | if (!bullet._super.render.call(this)) { |
| 4912 | return; |
| 4913 | } |
| 4914 | for (i = 2; i < vlen; i++) { |
| 4915 | shape = this.renderRange(i).append(); |
| 4916 | this.shapes[shape.id] = 'r' + i; |
| 4917 | this.valueShapes['r' + i] = shape.id; |
| 4918 | } |
| 4919 | if (this.values[1] !== null) { |
| 4920 | shape = this.renderPerformance().append(); |
| 4921 | this.shapes[shape.id] = 'p1'; |
| 4922 | this.valueShapes.p1 = shape.id; |
| 4923 | } |
| 4924 | if (this.values[0] !== null) { |
| 4925 | shape = this.renderTarget().append(); |
| 4926 | this.shapes[shape.id] = 't0'; |
| 4927 | this.valueShapes.t0 = shape.id; |
| 4928 | } |
| 4929 | target.render(); |
| 4930 | } |
| 4931 | }); |
| 4932 | |
| 4933 | |
| 4934 | /** |
| 4935 | * Pie charts |
| 4936 | */ |
| 4937 | $.fn.sparkline.pie = pie = createClass($.fn.sparkline._base, { |
| 4938 | type: 'pie', |
| 4939 | |
| 4940 | init: function (el, values, options, width, height) { |
| 4941 | var total = 0, i; |
| 4942 | |
| 4943 | pie._super.init.call(this, el, values, options, width, height); |
| 4944 | |
| 4945 | this.shapes = {}; // map shape ids to value offsets |
| 4946 | this.valueShapes = {}; // maps value offsets to shape ids |
| 4947 | this.values = values = $.map(values, Number); |
| 4948 | |
| 4949 | if (options.get('width') === 'auto') { |
| 4950 | this.width = this.height; |
| 4951 | } |
| 4952 | |
| 4953 | if (values.length > 0) { |
| 4954 | for (i = values.length; i--;) { |
| 4955 | total += values[i]; |
| 4956 | } |
| 4957 | } |
| 4958 | this.total = total; |
| 4959 | this.initTarget(); |
| 4960 | this.radius = Math.floor(Math.min(this.canvasWidth, this.canvasHeight) / 2); |
| 4961 | }, |
| 4962 | |
| 4963 | getRegion: function (el, x, y) { |
| 4964 | var shapeid = this.target.getShapeAt(el, x * this.target.ratio, y * this.target.ratio); |
| 4965 | return (shapeid !== undefined && this.shapes[shapeid] !== undefined) ? this.shapes[shapeid] : undefined; |
| 4966 | }, |
| 4967 | |
| 4968 | getCurrentRegionFields: function () { |
| 4969 | var currentRegion = this.currentRegion; |
| 4970 | return { |
| 4971 | isNull: this.values[currentRegion] === undefined, |
| 4972 | value: this.values[currentRegion], |
| 4973 | percent: this.values[currentRegion] / this.total * 100, |
| 4974 | color: this.options.get('sliceColors')[currentRegion % this.options.get('sliceColors').length], |
| 4975 | offset: currentRegion |
| 4976 | }; |
| 4977 | }, |
| 4978 | |
| 4979 | changeHighlight: function (highlight) { |
| 4980 | var currentRegion = this.currentRegion, |
| 4981 | newslice = this.renderSlice(currentRegion, highlight), |
| 4982 | shapeid = this.valueShapes[currentRegion]; |
| 4983 | delete this.shapes[shapeid]; |
| 4984 | this.target.replaceWithShape(shapeid, newslice); |
| 4985 | this.valueShapes[currentRegion] = newslice.id; |
| 4986 | this.shapes[newslice.id] = currentRegion; |
| 4987 | }, |
| 4988 | |
| 4989 | renderSlice: function (valuenum, highlight) { |
| 4990 | var target = this.target, |
| 4991 | options = this.options, |
| 4992 | radius = this.radius, |
| 4993 | borderWidth = options.get('borderWidth'), |
| 4994 | offset = options.get('offset'), |
| 4995 | circle = 2 * Math.PI, |
| 4996 | values = this.values, |
| 4997 | total = this.total, |
| 4998 | next = offset ? (2*Math.PI)*(offset/360) : 0, |
| 4999 | start, end, i, vlen, color; |
| 5000 | |
| 5001 | vlen = values.length; |
| 5002 | for (i = 0; i < vlen; i++) { |
| 5003 | start = next; |
| 5004 | end = next; |
| 5005 | if (total > 0) { // avoid divide by zero |
| 5006 | end = next + (circle * (values[i] / total)); |
| 5007 | } |
| 5008 | if (valuenum === i) { |
| 5009 | color = options.get('sliceColors')[i % options.get('sliceColors').length]; |
| 5010 | if (highlight) { |
| 5011 | color = this.calcHighlightColor(color, options); |
| 5012 | } |
| 5013 | |
| 5014 | return target.drawPieSlice(radius, radius, radius - borderWidth, start, end, undefined, color); |
| 5015 | } |
| 5016 | next = end; |
| 5017 | } |
| 5018 | }, |
| 5019 | |
| 5020 | render: function () { |
| 5021 | var target = this.target, |
| 5022 | values = this.values, |
| 5023 | options = this.options, |
| 5024 | radius = this.radius, |
| 5025 | borderWidth = options.get('borderWidth'), |
| 5026 | shape, i; |
| 5027 | |
| 5028 | if (!pie._super.render.call(this)) { |
| 5029 | return; |
| 5030 | } |
| 5031 | if (borderWidth) { |
| 5032 | target.drawCircle(radius, radius, Math.floor(radius - (borderWidth / 2)), |
| 5033 | options.get('borderColor'), undefined, borderWidth).append(); |
| 5034 | } |
| 5035 | for (i = values.length; i--;) { |
| 5036 | if (values[i]) { // don't render zero values |
| 5037 | shape = this.renderSlice(i).append(); |
| 5038 | this.valueShapes[i] = shape.id; // store just the shapeid |
| 5039 | this.shapes[shape.id] = i; |
| 5040 | } |
| 5041 | } |
| 5042 | target.render(); |
| 5043 | } |
| 5044 | }); |
| 5045 | |
| 5046 | |
| 5047 | /** |
| 5048 | * Box plots |
| 5049 | */ |
| 5050 | $.fn.sparkline.box = box = createClass($.fn.sparkline._base, { |
| 5051 | type: 'box', |
| 5052 | |
| 5053 | init: function (el, values, options, width, height) { |
| 5054 | box._super.init.call(this, el, values, options, width, height); |
| 5055 | this.values = $.map(values, Number); |
| 5056 | this.width = options.get('width') === 'auto' ? '4.0em' : width; |
| 5057 | this.initTarget(); |
| 5058 | if (!this.values.length) { |
| 5059 | this.disabled = 1; |
| 5060 | } |
| 5061 | }, |
| 5062 | |
| 5063 | /** |
| 5064 | * Simulate a single region |
| 5065 | */ |
| 5066 | getRegion: function () { |
| 5067 | return 1; |
| 5068 | }, |
| 5069 | |
| 5070 | getCurrentRegionFields: function () { |
| 5071 | var result = [ |
| 5072 | { field: 'lq', value: this.quartiles[0] }, |
| 5073 | { field: 'med', value: this.quartiles[1] }, |
| 5074 | { field: 'uq', value: this.quartiles[2] } |
| 5075 | ]; |
| 5076 | if (this.loutlier !== undefined) { |
| 5077 | result.push({ field: 'lo', value: this.loutlier}); |
| 5078 | } |
| 5079 | if (this.routlier !== undefined) { |
| 5080 | result.push({ field: 'ro', value: this.routlier}); |
| 5081 | } |
| 5082 | if (this.lwhisker !== undefined) { |
| 5083 | result.push({ field: 'lw', value: this.lwhisker}); |
| 5084 | } |
| 5085 | if (this.rwhisker !== undefined) { |
| 5086 | result.push({ field: 'rw', value: this.rwhisker}); |
| 5087 | } |
| 5088 | return result; |
| 5089 | }, |
| 5090 | |
| 5091 | render: function () { |
| 5092 | var target = this.target, |
| 5093 | values = this.values, |
| 5094 | vlen = values.length, |
| 5095 | options = this.options, |
| 5096 | canvasWidth = this.canvasWidth, |
| 5097 | canvasHeight = this.canvasHeight, |
| 5098 | minValue = options.get('chartRangeMin') === undefined ? Math.min.apply(Math, values) : options.get('chartRangeMin'), |
| 5099 | maxValue = options.get('chartRangeMax') === undefined ? Math.max.apply(Math, values) : options.get('chartRangeMax'), |
| 5100 | canvasLeft = 0, |
| 5101 | lwhisker, loutlier, iqr, q1, q2, q3, rwhisker, routlier, i, |
| 5102 | size, unitSize, unitOffset; |
| 5103 | |
| 5104 | if (!box._super.render.call(this)) { |
| 5105 | return; |
| 5106 | } |
| 5107 | |
| 5108 | if (options.get('raw')) { |
| 5109 | if (options.get('showOutliers') && values.length > 5) { |
| 5110 | loutlier = values[0]; |
| 5111 | lwhisker = values[1]; |
| 5112 | q1 = values[2]; |
| 5113 | q2 = values[3]; |
| 5114 | q3 = values[4]; |
| 5115 | rwhisker = values[5]; |
| 5116 | routlier = values[6]; |
| 5117 | } else { |
| 5118 | lwhisker = values[0]; |
| 5119 | q1 = values[1]; |
| 5120 | q2 = values[2]; |
| 5121 | q3 = values[3]; |
| 5122 | rwhisker = values[4]; |
| 5123 | } |
| 5124 | } else { |
| 5125 | values.sort(function (a, b) { return a - b; }); |
| 5126 | q1 = quartile(values, 1); |
| 5127 | q2 = quartile(values, 2); |
| 5128 | q3 = quartile(values, 3); |
| 5129 | iqr = q3 - q1; |
| 5130 | if (options.get('showOutliers')) { |
| 5131 | lwhisker = rwhisker = undefined; |
| 5132 | for (i = 0; i < vlen; i++) { |
| 5133 | if (lwhisker === undefined && values[i] > q1 - (iqr * options.get('outlierIQR'))) { |
| 5134 | lwhisker = values[i]; |
| 5135 | } |
| 5136 | if (values[i] < q3 + (iqr * options.get('outlierIQR'))) { |
| 5137 | rwhisker = values[i]; |
| 5138 | } |
| 5139 | } |
| 5140 | loutlier = values[0]; |
| 5141 | routlier = values[vlen - 1]; |
| 5142 | } else { |
| 5143 | lwhisker = values[0]; |
| 5144 | rwhisker = values[vlen - 1]; |
| 5145 | } |
| 5146 | } |
| 5147 | this.quartiles = [q1, q2, q3]; |
| 5148 | this.lwhisker = lwhisker; |
| 5149 | this.rwhisker = rwhisker; |
| 5150 | this.loutlier = loutlier; |
| 5151 | this.routlier = routlier; |
| 5152 | |
| 5153 | // Non-zero unit offset can throw off the plotting if it is not |
| 5154 | // required to avoid a division by zero. |
| 5155 | unitOffset = 0.0; |
| 5156 | if ( ( maxValue - minValue ) == 0.0 ) { unitOffset = 1.0; } |
| 5157 | |
| 5158 | unitSize = canvasWidth / (maxValue - minValue + unitOffset ); |
| 5159 | if (options.get('showOutliers')) { |
| 5160 | canvasLeft = Math.ceil(options.get('spotRadius')); |
| 5161 | canvasWidth -= 2 * Math.ceil(options.get('spotRadius')); |
| 5162 | unitSize = canvasWidth / (maxValue - minValue + unitOffset); |
| 5163 | if (loutlier < lwhisker) { |
| 5164 | target.drawCircle((loutlier - minValue) * unitSize + canvasLeft, |
| 5165 | canvasHeight / 2, |
| 5166 | options.get('spotRadius'), |
| 5167 | options.get('outlierLineColor'), |
| 5168 | options.get('outlierFillColor')).append(); |
| 5169 | } |
| 5170 | if (routlier > rwhisker) { |
| 5171 | target.drawCircle((routlier - minValue) * unitSize + canvasLeft, |
| 5172 | canvasHeight / 2, |
| 5173 | options.get('spotRadius'), |
| 5174 | options.get('outlierLineColor'), |
| 5175 | options.get('outlierFillColor')).append(); |
| 5176 | } |
| 5177 | } |
| 5178 | |
| 5179 | // box |
| 5180 | target.drawRect( |
| 5181 | Math.round((q1 - minValue) * unitSize + canvasLeft), |
| 5182 | Math.round(canvasHeight * 0.1), |
| 5183 | Math.round((q3 - q1) * unitSize), |
| 5184 | Math.round(canvasHeight * 0.8), |
| 5185 | options.get('boxLineColor'), |
| 5186 | options.get('boxFillColor'), |
| 5187 | // CUSTOM MOD: line width & corner radius |
| 5188 | options.get('lineWidth'), |
| 5189 | options.get('cornerRadius')).append(); |
| 5190 | // left whisker |
| 5191 | // CUSTOM MOD: strikethrough option |
| 5192 | var rightEnd = q1 - minValue; |
| 5193 | if (options.get('strikeThrough')) |
| 5194 | rightEnd = rwhisker - minValue; |
| 5195 | |
| 5196 | target.drawLine( |
| 5197 | Math.round((lwhisker - minValue) * unitSize + canvasLeft), |
| 5198 | Math.round(canvasHeight / 2), |
| 5199 | Math.round(rightEnd * unitSize + canvasLeft), |
| 5200 | Math.round(canvasHeight / 2), |
| 5201 | // CUSTOM MOD: line width added |
| 5202 | options.get('lineColor'), |
| 5203 | options.get('lineWidth')).append(); |
| 5204 | target.drawLine( |
| 5205 | Math.round((lwhisker - minValue) * unitSize + canvasLeft), |
| 5206 | Math.round(canvasHeight / 4), |
| 5207 | Math.round((lwhisker - minValue) * unitSize + canvasLeft), |
| 5208 | Math.round(canvasHeight - canvasHeight / 4), |
| 5209 | options.get('whiskerColor'), |
| 5210 | // CUSTOM MOD: line width added |
| 5211 | options.get('lineWidth')).append(); |
| 5212 | // right whisker |
| 5213 | // CUSTOM MOD: strikethrough option |
| 5214 | if (!options.get('strikeThrough')) |
| 5215 | { |
| 5216 | target.drawLine(Math.round((rwhisker - minValue) * unitSize + canvasLeft), |
| 5217 | Math.round(canvasHeight / 2), |
| 5218 | Math.round((q3 - minValue) * unitSize + canvasLeft), |
| 5219 | Math.round(canvasHeight / 2), |
| 5220 | options.get('lineColor'), |
| 5221 | // CUSTOM MOD: line width added |
| 5222 | options.get('lineWidth')).append(); |
| 5223 | } |
| 5224 | target.drawLine( |
| 5225 | Math.round((rwhisker - minValue) * unitSize + canvasLeft), |
| 5226 | Math.round(canvasHeight / 4), |
| 5227 | Math.round((rwhisker - minValue) * unitSize + canvasLeft), |
| 5228 | Math.round(canvasHeight - canvasHeight / 4), |
| 5229 | options.get('whiskerColor'), |
| 5230 | // CUSTOM MOD: line width added |
| 5231 | options.get('lineWidth')).append(); |
| 5232 | |
| 5233 | // median line |
| 5234 | target.drawLine( |
| 5235 | Math.round((q2 - minValue) * unitSize + canvasLeft), |
| 5236 | Math.round(canvasHeight * 0.1), |
| 5237 | Math.round((q2 - minValue) * unitSize + canvasLeft), |
| 5238 | Math.round(canvasHeight * 0.9), |
| 5239 | // CUSTOM MOD: medianwidth option |
| 5240 | options.get('medianColor'), |
| 5241 | options.get('medianWidth')).append(); |
| 5242 | if (typeof options.get('target') == 'number') { |
| 5243 | size = Math.ceil(options.get('spotRadius')); |
| 5244 | // CUSTOM MOD: circle representation of median |
| 5245 | var targetVal = options.get('target'); |
| 5246 | var targetObj = options.get('targetObj') |
| 5247 | if (!targetObj || targetObj == 'crosshair') { |
| 5248 | target.drawLine( |
| 5249 | Math.round((targetVal - minValue) * unitSize + canvasLeft), |
| 5250 | Math.round((canvasHeight / 2) - size), |
| 5251 | Math.round((targetVal - minValue) * unitSize + canvasLeft), |
| 5252 | Math.round((canvasHeight / 2) + size), |
| 5253 | options.get('targetColor')).append(); |
| 5254 | target.drawLine( |
| 5255 | Math.round((targetVal - minValue) * unitSize + canvasLeft - size), |
| 5256 | Math.round(canvasHeight / 2), |
| 5257 | Math.round((targetVal - minValue) * unitSize + canvasLeft + size), |
| 5258 | Math.round(canvasHeight / 2), |
| 5259 | options.get('targetColor')).append(); |
| 5260 | } |
| 5261 | else if (targetObj == 'circle') |
| 5262 | { |
| 5263 | target.drawCircle( |
| 5264 | (targetVal - minValue) * unitSize + canvasLeft, |
| 5265 | canvasHeight / 2, |
| 5266 | options.get('spotRadius'), |
| 5267 | options.get('targetColor'), |
| 5268 | options.get('targetColor')).append(); |
| 5269 | } |
| 5270 | } |
| 5271 | target.render(); |
| 5272 | } |
| 5273 | }); |
| 5274 | |
| 5275 | |
| 5276 | /*jslint nomen: true, plusplus: true, todo: true, white: true, browser: true *//** |
| 5277 | * Timeline sparkline chart |
| 5278 | * Given a list of events with begin/finish times, graph them vertically or horizontally by event type. |
| 5279 | * let events = [ |
| 5280 | * {begin:date(11a), finish:date(12a), color:'red'}, |
| 5281 | * {begin:date(12a), finish:date(1p), color:'green'}, |
| 5282 | * {begin:date(1p), finish:date(6p), color:'blue'} |
| 5283 | * ] |
| 5284 | * let 1 pixel = 1 minute |
| 5285 | * let 8 am be the sparkline begin |
| 5286 | * let 8 pm be the sparkline finish |
| 5287 | * let 720 pixels be the total visible duration |
| 5288 | * then graph |
| 5289 | * |white for 300 pixels||red for 60 pixels||green for 60 pixels||blue for 300 pixels||white for 120 pixels| |
| 5290 | */ |
| 5291 | ;(function ($) { |
| 5292 | |
| 5293 | "use strict"; |
| 5294 | |
| 5295 | $.fn.sparkline.timeline = timeline = createClass($.fn.sparkline._base, barHighlightMixin, { |
| 5296 | |
| 5297 | type: 'timeline', |
| 5298 | |
| 5299 | init: function (el, values, options, width, height) { |
| 5300 | // expect a Date or the Number of milliseconds since the epoc |
| 5301 | function minutes(date) { |
| 5302 | return date / (60 * 1000); |
| 5303 | } |
| 5304 | // force positive number otherwise 0 |
| 5305 | function forcePositiveNumber(val) { |
| 5306 | val = Math.abs(val); |
| 5307 | return isNaN(val) ? 0 : val; |
| 5308 | } |
| 5309 | var i, data, segment, beginMinutes, finishMinutes, durationMinutes, |
| 5310 | pixelsPerMinute, userInitHandler, timeMarkPixels, isVerticalOrientation, |
| 5311 | timeMarkInterval, timeMarkOffset, timeMark, tick, tickSize; |
| 5312 | timeline._super.init.call(this, el, values, options, width, height); |
| 5313 | // required by barHighlightMixin |
| 5314 | this.regionShapes = {}; |
| 5315 | // sets canvas height/width |
| 5316 | this.initTarget(); |
| 5317 | // holds each timeline entry with x,y,w,h,lc,fc,rd values |
| 5318 | this.segments = []; |
| 5319 | // holds time markers entry with x1,y1,x2,y2,lc,w values |
| 5320 | this.timemarks = []; |
| 5321 | // paints a 1px line showing full length of timeline |
| 5322 | timeMarkInterval = forcePositiveNumber(options.mergedOptions.timeMarkInterval); |
| 5323 | // orient the sparkline direction, the default is horizontal |
| 5324 | isVerticalOrientation = 'vertical' === options.mergedOptions.orientation; |
| 5325 | // allow user to manipulate the data before segment is built |
| 5326 | userInitHandler = $.isFunction(options.mergedOptions.init) ? options.mergedOptions.init : function (d) { return d; }; |
| 5327 | function offset(date, baseline) { |
| 5328 | return Math.ceil(pixelsPerMinute * (minutes(date) - baseline)); |
| 5329 | } |
| 5330 | // segments that fall outside of begin/finish will be clipped |
| 5331 | beginMinutes = minutes(options.mergedOptions.begin); |
| 5332 | finishMinutes = minutes(options.mergedOptions.finish); |
| 5333 | durationMinutes = (finishMinutes - beginMinutes); |
| 5334 | if (isVerticalOrientation) { |
| 5335 | pixelsPerMinute = (this.canvasHeight - 1) / durationMinutes; |
| 5336 | } else { |
| 5337 | pixelsPerMinute = (this.canvasWidth - 1) / durationMinutes; |
| 5338 | } |
| 5339 | if (timeMarkInterval > 0) { |
| 5340 | timeMarkPixels = timeMarkInterval * pixelsPerMinute; |
| 5341 | // add tick marks based on timeMarkInterval |
| 5342 | for (i = 0; i < ((durationMinutes * pixelsPerMinute) / timeMarkPixels) + 1; i++) { |
| 5343 | tick = {x1: 0, y1: 0, x2: 0, y2: 0, lc:'#ff0011', w: 1}; |
| 5344 | timeMark = Math.round(i * timeMarkPixels); |
| 5345 | tickSize = Math.ceil(timeMark / pixelsPerMinute) % 60 === 0 ? 3 : 1; |
| 5346 | if (isVerticalOrientation) { |
| 5347 | tick.x2 = tickSize; |
| 5348 | tick.y1 = tick.y2 = timeMark; |
| 5349 | } else { |
| 5350 | tick.y2 = tickSize; |
| 5351 | tick.x1 = tick.x2 = timeMark; |
| 5352 | } |
| 5353 | this.timemarks.push(tick); |
| 5354 | } |
| 5355 | // add last tick mark and timeline |
| 5356 | if (isVerticalOrientation) { |
| 5357 | this.timemarks.push({x1:0, y1:0, x2:0, y2:this.canvasHeight, lc:'#eee', w:1}); |
| 5358 | } else { |
| 5359 | this.timemarks.push({x1:0, y1:0, x2:this.canvasWidth, y2:0, lc:'#eee', w:1}); |
| 5360 | } |
| 5361 | } |
| 5362 | // build each segment for rendering |
| 5363 | timeMarkOffset = (timeMarkInterval > 0) ? 1 : 0; |
| 5364 | for (i = 0; i < values.length; i++) { |
| 5365 | // TODO: determine why values has bogus length value in IE8 |
| 5366 | if (values[i]) { |
| 5367 | data = userInitHandler(values[i], i); |
| 5368 | if (data) { |
| 5369 | // the minus 2 is to prevent clipping the segment |
| 5370 | segment = { |
| 5371 | x: timeMarkOffset, |
| 5372 | y: timeMarkOffset, |
| 5373 | w: width - (timeMarkOffset + 1), |
| 5374 | h: height - (timeMarkOffset + 1), |
| 5375 | data: data |
| 5376 | }; |
| 5377 | // TODO: adjust shape size for overlapping regions |
| 5378 | if (isVerticalOrientation) { |
| 5379 | segment.y = offset(data.begin, beginMinutes); |
| 5380 | segment.h = offset(data.finish, minutes(data.begin)); |
| 5381 | } else { |
| 5382 | segment.x = offset(data.begin, beginMinutes); |
| 5383 | segment.w = offset(data.finish, minutes(data.begin)); |
| 5384 | } |
| 5385 | segment.fc = data.color || options.mergedOptions.fillColor; |
| 5386 | segment.lc = data.lineColor || options.mergedOptions.lineColor; |
| 5387 | this.segments.push(segment); |
| 5388 | } |
| 5389 | } |
| 5390 | } |
| 5391 | |
| 5392 | // sort the segments so all segments are visible in timeline |
| 5393 | this.segments = this.segments.sort(function compare(a,b) { |
| 5394 | var ab, af, bb, bf; |
| 5395 | ab = Number(a.data.begin); |
| 5396 | bb = Number(b.data.begin); |
| 5397 | af = Number(a.data.finish); |
| 5398 | bf = Number(b.data.finish); |
| 5399 | // reverse order sort |
| 5400 | return (bb-ab) + (bf-af); |
| 5401 | }); |
| 5402 | }, |
| 5403 | |
| 5404 | /** return mouse coordinates on timeline */ |
| 5405 | getRegion: function (el, x, y) { |
| 5406 | return {el: el, x: x, y: y}; |
| 5407 | }, |
| 5408 | |
| 5409 | /** return data used to display tooltip for the current region(s) */ |
| 5410 | getCurrentRegionFields: function () { |
| 5411 | var i, el, x, y, segment, regions = [], left, right, top, bottom; |
| 5412 | el = this.currentRegion.el; |
| 5413 | x = this.currentRegion.x; |
| 5414 | y = this.currentRegion.y; |
| 5415 | for (i = 0; i < this.segments.length; i++) { |
| 5416 | segment = this.segments[i]; |
| 5417 | if (segment) { |
| 5418 | left = segment.x; |
| 5419 | right = left + segment.w; |
| 5420 | top = segment.y; |
| 5421 | bottom = top + segment.h; |
| 5422 | if (x > left && x < right && y > top && y < bottom) { |
| 5423 | regions.push(segment.data); |
| 5424 | } |
| 5425 | } |
| 5426 | } |
| 5427 | return regions; |
| 5428 | }, |
| 5429 | |
| 5430 | /** render timeline segment and tickmarks */ |
| 5431 | renderRegion: function (valuenum, highlight) { |
| 5432 | var i, tick, segment, result = [], target = this.target; |
| 5433 | if (valuenum === 0) { |
| 5434 | for (i = 0; i < this.timemarks.length; i++) { |
| 5435 | tick = this.timemarks[i]; |
| 5436 | result.push(target.drawLine(tick.x1, tick.y1, tick.x2, tick.y2, tick.lc, tick.w)); |
| 5437 | } |
| 5438 | } |
| 5439 | segment = this.segments[valuenum]; |
| 5440 | if (segment) { |
| 5441 | result.push(target.drawRect(segment.x, segment.y, segment.w, segment.h, segment.lc, segment.fc)); |
| 5442 | } |
| 5443 | return result; |
| 5444 | } |
| 5445 | }); |
| 5446 | }(jQuery)); |
| 5447 | |
| 5448 | |
| 5449 | // Setup a very simple "virtual canvas" to make drawing the few shapes we need easier |
| 5450 | // This is accessible as $(foo).simpledraw() |
| 5451 | |
| 5452 | VShape = createClass({ |
| 5453 | init: function (target, id, type, args) { |
| 5454 | this.target = target; |
| 5455 | this.id = id; |
| 5456 | this.type = type; |
| 5457 | this.args = args; |
| 5458 | }, |
| 5459 | append: function () { |
| 5460 | this.target.appendShape(this); |
| 5461 | return this; |
| 5462 | } |
| 5463 | }); |
| 5464 | |
| 5465 | VCanvas_base = createClass({ |
| 5466 | _pxregex: /(\d+)(px)?\s*$/i, |
| 5467 | |
| 5468 | init: function (width, height, target) { |
| 5469 | if (!width) { |
| 5470 | return; |
| 5471 | } |
| 5472 | this.width = width; |
| 5473 | this.height = height; |
| 5474 | this.target = target; |
| 5475 | this.lastShapeId = null; |
| 5476 | if (target[0]) { |
| 5477 | target = target[0]; |
| 5478 | } |
| 5479 | $.data(target, '_jqs_vcanvas', this); |
| 5480 | }, |
| 5481 | |
| 5482 | drawLine: function (x1, y1, x2, y2, lineColor, lineWidth) { |
| 5483 | // CUSTOM MOD: line width added |
| 5484 | return this.drawShape([[x1, y1], [x2, y2]], lineColor, null, lineWidth); |
| 5485 | }, |
| 5486 | |
| 5487 | drawShape: function (path, lineColor, fillColor, lineWidth) { |
| 5488 | return this._genShape('Shape', [path, lineColor, fillColor, lineWidth]); |
| 5489 | }, |
| 5490 | |
| 5491 | drawCircle: function (x, y, radius, lineColor, fillColor, lineWidth) { |
| 5492 | return this._genShape('Circle', [x, y, radius, lineColor, fillColor, lineWidth]); |
| 5493 | }, |
| 5494 | |
| 5495 | drawPieSlice: function (x, y, radius, startAngle, endAngle, lineColor, fillColor) { |
| 5496 | return this._genShape('PieSlice', [x, y, radius, startAngle, endAngle, lineColor, fillColor]); |
| 5497 | }, |
| 5498 | |
| 5499 | // CUSTOM MOD: line width / radius added |
| 5500 | drawRect: function (x, y, width, height, lineColor, fillColor, lineWidth, radius) { |
| 5501 | return this._genShape('Rect', [x, y, width, height, lineColor, fillColor, lineWidth, radius]); |
| 5502 | }, |
| 5503 | |
| 5504 | getElement: function () { |
| 5505 | return this.canvas; |
| 5506 | }, |
| 5507 | |
| 5508 | /** |
| 5509 | * Return the most recently inserted shape id |
| 5510 | */ |
| 5511 | getLastShapeId: function () { |
| 5512 | return this.lastShapeId; |
| 5513 | }, |
| 5514 | |
| 5515 | /** |
| 5516 | * Clear and reset the canvas |
| 5517 | */ |
| 5518 | reset: function () { |
| 5519 | alert('reset not implemented'); |
| 5520 | }, |
| 5521 | |
| 5522 | _insert: function (el, target) { |
| 5523 | $(target).html(el); |
| 5524 | }, |
| 5525 | |
| 5526 | /** |
| 5527 | * Calculate the pixel dimensions of the canvas |
| 5528 | */ |
| 5529 | _calculatePixelDims: function (width, height, canvas) { |
| 5530 | // XXX This should probably be a configurable option |
| 5531 | var match; |
| 5532 | match = this._pxregex.exec(height); |
| 5533 | if (match) { |
| 5534 | this.pixelHeight = match[1]; |
| 5535 | } else { |
| 5536 | this.pixelHeight = $(canvas).height(); |
| 5537 | } |
| 5538 | match = this._pxregex.exec(width); |
| 5539 | if (match) { |
| 5540 | this.pixelWidth = match[1]; |
| 5541 | } else { |
| 5542 | this.pixelWidth = $(canvas).width(); |
| 5543 | } |
| 5544 | var ratio = window.hasOwnProperty('devicePixelRatio') ? window.devicePixelRatio : 1; |
| 5545 | this.pixelWidth *= ratio; |
| 5546 | this.pixelHeight *= ratio; |
| 5547 | }, |
| 5548 | |
| 5549 | /** |
| 5550 | * Generate a shape object and id for later rendering |
| 5551 | */ |
| 5552 | _genShape: function (shapetype, shapeargs) { |
| 5553 | var id = shapeCount++; |
| 5554 | shapeargs.unshift(id); |
| 5555 | return new VShape(this, id, shapetype, shapeargs); |
| 5556 | }, |
| 5557 | |
| 5558 | /** |
| 5559 | * Add a shape to the end of the render queue |
| 5560 | */ |
| 5561 | appendShape: function (shape) { |
| 5562 | alert('appendShape not implemented'); |
| 5563 | }, |
| 5564 | |
| 5565 | /** |
| 5566 | * Replace one shape with another |
| 5567 | */ |
| 5568 | replaceWithShape: function (shapeid, shape) { |
| 5569 | alert('replaceWithShape not implemented'); |
| 5570 | }, |
| 5571 | |
| 5572 | /** |
| 5573 | * Insert one shape after another in the render queue |
| 5574 | */ |
| 5575 | insertAfterShape: function (shapeid, shape) { |
| 5576 | alert('insertAfterShape not implemented'); |
| 5577 | }, |
| 5578 | |
| 5579 | /** |
| 5580 | * Remove a shape from the queue |
| 5581 | */ |
| 5582 | removeShapeId: function (shapeid) { |
| 5583 | alert('removeShapeId not implemented'); |
| 5584 | }, |
| 5585 | |
| 5586 | /** |
| 5587 | * Find a shape at the specified x/y co-ordinates |
| 5588 | */ |
| 5589 | getShapeAt: function (el, x, y) { |
| 5590 | alert('getShapeAt not implemented'); |
| 5591 | }, |
| 5592 | |
| 5593 | /** |
| 5594 | * Render all queued shapes onto the canvas |
| 5595 | */ |
| 5596 | render: function () { |
| 5597 | alert('render not implemented'); |
| 5598 | } |
| 5599 | }); |
| 5600 | |
| 5601 | |
| 5602 | VCanvas_canvas = createClass(VCanvas_base, { |
| 5603 | init: function (width, height, target, interact) { |
| 5604 | VCanvas_canvas._super.init.call(this, width, height, target); |
| 5605 | this.canvas = document.createElement('canvas'); |
| 5606 | if (target[0]) { |
| 5607 | target = target[0]; |
| 5608 | } |
| 5609 | this.context = this.canvas.getContext('2d'); |
| 5610 | |
| 5611 | var devicePixelRatio = window.devicePixelRatio || 1, |
| 5612 | backingStoreRatio = this.context.webkitBackingStorePixelRatio || this.context.mozBackingStorePixelRatio || this.context.msBackingStorePixelRatio || this.context.oBackingStorePixelRatio || this.context.backingStorePixelRatio || 1, |
| 5613 | ratio = devicePixelRatio / backingStoreRatio; |
| 5614 | |
| 5615 | $.data(target, '_jqs_vcanvas', this); |
| 5616 | $(this.canvas).css({ display: 'inline-block', width: width, height: height, verticalAlign: 'top' }); |
| 5617 | this._insert(this.canvas, target); |
| 5618 | this._calculatePixelDims(width, height, this.canvas); |
| 5619 | this.canvas.width = this.pixelWidth * ratio; |
| 5620 | this.canvas.height = this.pixelHeight * ratio; |
| 5621 | this.context.scale(ratio, ratio); |
| 5622 | this.interact = interact; |
| 5623 | this.shapes = {}; |
| 5624 | this.shapeseq = []; |
| 5625 | this.currentTargetShapeId = undefined; |
| 5626 | //$(this.canvas).css({width: this.pixelWidth, height: this.pixelHeight}); |
| 5627 | //if transform applied to parent then need to adjust for that |
| 5628 | this.devicePixelRatio = ratio; |
| 5629 | this.ratio = this.pixelWidth / this.canvas.getBoundingClientRect().width; |
| 5630 | }, |
| 5631 | |
| 5632 | _getContext: function (lineColor, fillColor, lineWidth) { |
| 5633 | var context = this.canvas.getContext('2d'); |
| 5634 | if (lineColor !== undefined) { |
| 5635 | context.strokeStyle = lineColor; |
| 5636 | } |
| 5637 | context.lineWidth = lineWidth === undefined ? 1 : lineWidth; |
| 5638 | if (fillColor !== undefined) { |
| 5639 | context.fillStyle = fillColor; |
| 5640 | } |
| 5641 | return context; |
| 5642 | }, |
| 5643 | |
| 5644 | reset: function () { |
| 5645 | var context = this._getContext(); |
| 5646 | context.clearRect(0, 0, this.pixelWidth, this.pixelHeight); |
| 5647 | this.shapes = {}; |
| 5648 | this.shapeseq = []; |
| 5649 | this.currentTargetShapeId = undefined; |
| 5650 | }, |
| 5651 | |
| 5652 | // CUSTOM MOD: radius added |
| 5653 | _drawShape: function (shapeid, path, lineColor, fillColor, lineWidth, radius) { |
| 5654 | var context = this._getContext(lineColor, fillColor, lineWidth), |
| 5655 | i, plen, done = false; |
| 5656 | if (!radius) |
| 5657 | radius = 0; |
| 5658 | context.beginPath(); |
| 5659 | // CUSTOM MOD: corner radius drawing added for rectangles |
| 5660 | if (path.length === 5) { |
| 5661 | if ((path[1][0] - path[0][0]) < radius) |
| 5662 | radius = 0; |
| 5663 | // this is a rectangle |
| 5664 | if (radius > 0) { |
| 5665 | context.moveTo(path[0][0] + radius + 0.5, path[0][1] + 0.5); |
| 5666 | |
| 5667 | context.lineTo(path[1][0] - radius + 0.5, path[1][1] + 0.5); |
| 5668 | context.quadraticCurveTo(path[1][0] - radius + 0.5, path[1][1] + 0.5, path[1][0] + 0.5, path[1][1] + radius + 0.5); |
| 5669 | |
| 5670 | context.lineTo(path[2][0] + 0.5, path[2][1] - radius + 0.5); |
| 5671 | context.quadraticCurveTo(path[2][0] + 0.5, path[2][1] - radius + 0.5, path[2][0] - radius + 0.5, path[2][1] + 0.5); |
| 5672 | |
| 5673 | context.lineTo(path[3][0] + radius + 0.5, path[3][1] + 0.5); |
| 5674 | context.quadraticCurveTo(path[3][0] + radius + 0.5, path[3][1] + 0.5, path[3][0] + 0.5, path[3][1] - radius + 0.5); |
| 5675 | |
| 5676 | context.lineTo(path[4][0] + 0.5, path[4][1] + radius + 0.5); |
| 5677 | context.quadraticCurveTo(path[4][0] + 0.5, path[4][1] + radius + 0.5, path[4][0] + radius + 0.5, path[4][1] + 0.5); |
| 5678 | |
| 5679 | done = true; |
| 5680 | } |
| 5681 | } |
| 5682 | if (!done) { |
| 5683 | context.moveTo(path[0][0] + 0.5, path[0][1] + 0.5); |
| 5684 | for (i = 1, plen = path.length; i < plen; i++) { |
| 5685 | context.lineTo(path[i][0] + 0.5, path[i][1] + 0.5); // the 0.5 offset gives us crisp pixel-width lines |
| 5686 | } |
| 5687 | } |
| 5688 | |
| 5689 | if (lineColor !== undefined) { |
| 5690 | context.stroke(); |
| 5691 | } |
| 5692 | if (fillColor !== undefined) { |
| 5693 | context.fill(); |
| 5694 | } |
| 5695 | if (this.targetX !== undefined && this.targetY !== undefined && |
| 5696 | context.isPointInPath(this.targetX, this.targetY)) { |
| 5697 | this.currentTargetShapeId = shapeid; |
| 5698 | } |
| 5699 | }, |
| 5700 | |
| 5701 | _drawCircle: function (shapeid, x, y, radius, lineColor, fillColor, lineWidth) { |
| 5702 | var context = this._getContext(lineColor, fillColor, lineWidth); |
| 5703 | context.beginPath(); |
| 5704 | context.arc(x, y, radius, 0, 2 * Math.PI, false); |
| 5705 | if (this.targetX !== undefined && this.targetY !== undefined && |
| 5706 | context.isPointInPath(this.targetX, this.targetY)) { |
| 5707 | this.currentTargetShapeId = shapeid; |
| 5708 | } |
| 5709 | if (lineColor !== undefined) { |
| 5710 | context.stroke(); |
| 5711 | } |
| 5712 | if (fillColor !== undefined) { |
| 5713 | context.fill(); |
| 5714 | } |
| 5715 | }, |
| 5716 | |
| 5717 | _drawPieSlice: function (shapeid, x, y, radius, startAngle, endAngle, lineColor, fillColor) { |
| 5718 | var context = this._getContext(lineColor, fillColor); |
| 5719 | context.beginPath(); |
| 5720 | context.moveTo(x, y); |
| 5721 | context.arc(x, y, radius, startAngle, endAngle, false); |
| 5722 | context.lineTo(x, y); |
| 5723 | context.closePath(); |
| 5724 | if (lineColor !== undefined) { |
| 5725 | context.stroke(); |
| 5726 | } |
| 5727 | if (fillColor) { |
| 5728 | context.fill(); |
| 5729 | } |
| 5730 | if (this.targetX !== undefined && this.targetY !== undefined && |
| 5731 | context.isPointInPath(this.targetX, this.targetY)) { |
| 5732 | this.currentTargetShapeId = shapeid; |
| 5733 | } |
| 5734 | }, |
| 5735 | |
| 5736 | // CUSTOM MOD: radius added |
| 5737 | _drawRect: function (shapeid, x, y, width, height, lineColor, fillColor, lineWidth, radius) { |
| 5738 | return this._drawShape(shapeid, [[x, y], [x + width, y], [x + width, y + height], [x, y + height], [x, y]], lineColor, fillColor, null, radius); |
| 5739 | }, |
| 5740 | |
| 5741 | appendShape: function (shape) { |
| 5742 | this.shapes[shape.id] = shape; |
| 5743 | this.shapeseq.push(shape.id); |
| 5744 | this.lastShapeId = shape.id; |
| 5745 | return shape.id; |
| 5746 | }, |
| 5747 | |
| 5748 | replaceWithShape: function (shapeid, shape) { |
| 5749 | var shapeseq = this.shapeseq, |
| 5750 | i; |
| 5751 | this.shapes[shape.id] = shape; |
| 5752 | for (i = shapeseq.length; i--;) { |
| 5753 | if (shapeseq[i] == shapeid) { |
| 5754 | shapeseq[i] = shape.id; |
| 5755 | } |
| 5756 | } |
| 5757 | delete this.shapes[shapeid]; |
| 5758 | }, |
| 5759 | |
| 5760 | replaceWithShapes: function (shapeids, shapes) { |
| 5761 | var shapeseq = this.shapeseq, |
| 5762 | shapemap = {}, |
| 5763 | sid, i, first; |
| 5764 | |
| 5765 | for (i = shapeids.length; i--;) { |
| 5766 | shapemap[shapeids[i]] = true; |
| 5767 | } |
| 5768 | for (i = shapeseq.length; i--;) { |
| 5769 | sid = shapeseq[i]; |
| 5770 | if (shapemap[sid]) { |
| 5771 | shapeseq.splice(i, 1); |
| 5772 | delete this.shapes[sid]; |
| 5773 | first = i; |
| 5774 | } |
| 5775 | } |
| 5776 | for (i = shapes.length; i--;) { |
| 5777 | shapeseq.splice(first, 0, shapes[i].id); |
| 5778 | this.shapes[shapes[i].id] = shapes[i]; |
| 5779 | } |
| 5780 | |
| 5781 | }, |
| 5782 | |
| 5783 | insertAfterShape: function (shapeid, shape) { |
| 5784 | var shapeseq = this.shapeseq, |
| 5785 | i; |
| 5786 | for (i = shapeseq.length; i--;) { |
| 5787 | if (shapeseq[i] === shapeid) { |
| 5788 | shapeseq.splice(i + 1, 0, shape.id); |
| 5789 | this.shapes[shape.id] = shape; |
| 5790 | return; |
| 5791 | } |
| 5792 | } |
| 5793 | }, |
| 5794 | |
| 5795 | removeShapeId: function (shapeid) { |
| 5796 | var shapeseq = this.shapeseq, |
| 5797 | i; |
| 5798 | for (i = shapeseq.length; i--;) { |
| 5799 | if (shapeseq[i] === shapeid) { |
| 5800 | shapeseq.splice(i, 1); |
| 5801 | break; |
| 5802 | } |
| 5803 | } |
| 5804 | delete this.shapes[shapeid]; |
| 5805 | }, |
| 5806 | |
| 5807 | getShapeAt: function (el, x, y) { |
| 5808 | this.targetX = x * window.devicePixelRatio; |
| 5809 | this.targetY = y * window.devicePixelRatio; |
| 5810 | this.render(); |
| 5811 | return this.currentTargetShapeId; |
| 5812 | }, |
| 5813 | |
| 5814 | render: function () { |
| 5815 | var shapeseq = this.shapeseq, |
| 5816 | shapes = this.shapes, |
| 5817 | shapeCount = shapeseq.length, |
| 5818 | context = this._getContext(), |
| 5819 | shapeid, shape, i; |
| 5820 | context.clearRect(0, 0, this.pixelWidth, this.pixelHeight); |
| 5821 | for (i = 0; i < shapeCount; i++) { |
| 5822 | shapeid = shapeseq[i]; |
| 5823 | shape = shapes[shapeid]; |
| 5824 | this['_draw' + shape.type].apply(this, shape.args); |
| 5825 | } |
| 5826 | if (!this.interact) { |
| 5827 | // not interactive so no need to keep the shapes array |
| 5828 | this.shapes = {}; |
| 5829 | this.shapeseq = []; |
| 5830 | } |
| 5831 | } |
| 5832 | }); |
| 5833 | |
| 5834 | |
| 5835 | VCanvas_vml = createClass(VCanvas_base, { |
| 5836 | init: function (width, height, target) { |
| 5837 | var groupel; |
| 5838 | VCanvas_vml._super.init.call(this, width, height, target); |
| 5839 | if (target[0]) { |
| 5840 | target = target[0]; |
| 5841 | } |
| 5842 | $.data(target, '_jqs_vcanvas', this); |
| 5843 | this.canvas = document.createElement('span'); |
| 5844 | $(this.canvas).css({ display: 'inline-block', position: 'relative', overflow: 'hidden', width: width, height: height, margin: '0px', padding: '0px', verticalAlign: 'top'}); |
| 5845 | this._insert(this.canvas, target); |
| 5846 | this._calculatePixelDims(width, height, this.canvas); |
| 5847 | this.canvas.width = this.pixelWidth; |
| 5848 | this.canvas.height = this.pixelHeight; |
| 5849 | groupel = '<v:group coordorigin="0 0" coordsize="' + this.pixelWidth + ' ' + this.pixelHeight + '"' + |
| 5850 | ' style="position:absolute;top:0;left:0;width:' + this.pixelWidth + 'px;height=' + this.pixelHeight + 'px;"></v:group>'; |
| 5851 | this.canvas.insertAdjacentHTML('beforeEnd', groupel); |
| 5852 | this.group = $(this.canvas).children()[0]; |
| 5853 | this.rendered = false; |
| 5854 | this.prerender = ''; |
| 5855 | }, |
| 5856 | |
| 5857 | _drawShape: function (shapeid, path, lineColor, fillColor, lineWidth, radius) { |
| 5858 | var vpath = [], |
| 5859 | initial, stroke, fill, closed, vel, plen, i; |
| 5860 | for (i = 0, plen = path.length; i < plen; i++) { |
| 5861 | vpath[i] = '' + (path[i][0]) + ',' + (path[i][1]); |
| 5862 | } |
| 5863 | initial = vpath.splice(0, 1); |
| 5864 | lineWidth = lineWidth === undefined ? 1 : lineWidth; |
| 5865 | stroke = lineColor === undefined ? ' stroked="false" ' : ' strokeWeight="' + lineWidth + 'px" strokeColor="' + lineColor + '" '; |
| 5866 | fill = fillColor === undefined ? ' filled="false"' : ' fillColor="' + fillColor + '" filled="true" '; |
| 5867 | closed = vpath[0] === vpath[vpath.length - 1] ? 'x ' : ''; |
| 5868 | vel = '<v:shape coordorigin="0 0" coordsize="' + this.pixelWidth + ' ' + this.pixelHeight + '" ' + |
| 5869 | ' id="jqsshape' + shapeid + '" ' + |
| 5870 | stroke + |
| 5871 | fill + |
| 5872 | ' style="position:absolute;left:0px;top:0px;height:' + this.pixelHeight + 'px;width:' + this.pixelWidth + 'px;padding:0px;margin:0px;" ' + |
| 5873 | ' path="m ' + initial + ' l ' + vpath.join(', ') + ' ' + closed + 'e">' + |
| 5874 | ' </v:shape>'; |
| 5875 | return vel; |
| 5876 | }, |
| 5877 | |
| 5878 | _drawCircle: function (shapeid, x, y, radius, lineColor, fillColor, lineWidth) { |
| 5879 | var stroke, fill, vel; |
| 5880 | x -= radius; |
| 5881 | y -= radius; |
| 5882 | stroke = lineColor === undefined ? ' stroked="false" ' : ' strokeWeight="' + lineWidth + 'px" strokeColor="' + lineColor + '" '; |
| 5883 | fill = fillColor === undefined ? ' filled="false"' : ' fillColor="' + fillColor + '" filled="true" '; |
| 5884 | vel = '<v:oval ' + |
| 5885 | ' id="jqsshape' + shapeid + '" ' + |
| 5886 | stroke + |
| 5887 | fill + |
| 5888 | ' style="position:absolute;top:' + y + 'px; left:' + x + 'px; width:' + (radius * 2) + 'px; height:' + (radius * 2) + 'px"></v:oval>'; |
| 5889 | return vel; |
| 5890 | |
| 5891 | }, |
| 5892 | |
| 5893 | _drawPieSlice: function (shapeid, x, y, radius, startAngle, endAngle, lineColor, fillColor) { |
| 5894 | var vpath, startx, starty, endx, endy, stroke, fill, vel; |
| 5895 | if (startAngle === endAngle) { |
| 5896 | return ''; // VML seems to have problem when start angle equals end angle. |
| 5897 | } |
| 5898 | if ((endAngle - startAngle) === (2 * Math.PI)) { |
| 5899 | startAngle = 0.0; // VML seems to have a problem when drawing a full circle that doesn't start 0 |
| 5900 | endAngle = (2 * Math.PI); |
| 5901 | } |
| 5902 | |
| 5903 | startx = x + Math.round(Math.cos(startAngle) * radius); |
| 5904 | starty = y + Math.round(Math.sin(startAngle) * radius); |
| 5905 | endx = x + Math.round(Math.cos(endAngle) * radius); |
| 5906 | endy = y + Math.round(Math.sin(endAngle) * radius); |
| 5907 | |
| 5908 | if (startx === endx && starty === endy) { |
| 5909 | if ((endAngle - startAngle) < Math.PI) { |
| 5910 | // Prevent very small slices from being mistaken as a whole pie |
| 5911 | return ''; |
| 5912 | } |
| 5913 | // essentially going to be the entire circle, so ignore startAngle |
| 5914 | startx = endx = x + radius; |
| 5915 | starty = endy = y; |
| 5916 | } |
| 5917 | |
| 5918 | if (startx === endx && starty === endy && (endAngle - startAngle) < Math.PI) { |
| 5919 | return ''; |
| 5920 | } |
| 5921 | |
| 5922 | vpath = [x - radius, y - radius, x + radius, y + radius, startx, starty, endx, endy]; |
| 5923 | stroke = lineColor === undefined ? ' stroked="false" ' : ' strokeWeight="1px" strokeColor="' + lineColor + '" '; |
| 5924 | fill = fillColor === undefined ? ' filled="false"' : ' fillColor="' + fillColor + '" filled="true" '; |
| 5925 | vel = '<v:shape coordorigin="0 0" coordsize="' + this.pixelWidth + ' ' + this.pixelHeight + '" ' + |
| 5926 | ' id="jqsshape' + shapeid + '" ' + |
| 5927 | stroke + |
| 5928 | fill + |
| 5929 | ' style="position:absolute;left:0px;top:0px;height:' + this.pixelHeight + 'px;width:' + this.pixelWidth + 'px;padding:0px;margin:0px;" ' + |
| 5930 | ' path="m ' + x + ',' + y + ' wa ' + vpath.join(', ') + ' x e">' + |
| 5931 | ' </v:shape>'; |
| 5932 | return vel; |
| 5933 | }, |
| 5934 | |
| 5935 | _drawRect: function (shapeid, x, y, width, height, lineColor, fillColor, lineWidth, radius) { |
| 5936 | return this._drawShape(shapeid, [[x, y], [x, y + height], [x + width, y + height], [x + width, y], [x, y]], lineColor, fillColor, lineWidth, radius); |
| 5937 | }, |
| 5938 | |
| 5939 | reset: function () { |
| 5940 | this.group.innerHTML = ''; |
| 5941 | }, |
| 5942 | |
| 5943 | appendShape: function (shape) { |
| 5944 | var vel = this['_draw' + shape.type].apply(this, shape.args); |
| 5945 | if (this.rendered) { |
| 5946 | this.group.insertAdjacentHTML('beforeEnd', vel); |
| 5947 | } else { |
| 5948 | this.prerender += vel; |
| 5949 | } |
| 5950 | this.lastShapeId = shape.id; |
| 5951 | return shape.id; |
| 5952 | }, |
| 5953 | |
| 5954 | replaceWithShape: function (shapeid, shape) { |
| 5955 | var existing = $('#jqsshape' + shapeid), |
| 5956 | vel = this['_draw' + shape.type].apply(this, shape.args); |
| 5957 | existing[0].outerHTML = vel; |
| 5958 | }, |
| 5959 | |
| 5960 | replaceWithShapes: function (shapeids, shapes) { |
| 5961 | // replace the first shapeid with all the new shapes then toast the remaining old shapes |
| 5962 | var existing = $('#jqsshape' + shapeids[0]), |
| 5963 | replace = '', |
| 5964 | slen = shapes.length, |
| 5965 | i; |
| 5966 | for (i = 0; i < slen; i++) { |
| 5967 | replace += this['_draw' + shapes[i].type].apply(this, shapes[i].args); |
| 5968 | } |
| 5969 | existing[0].outerHTML = replace; |
| 5970 | for (i = 1; i < shapeids.length; i++) { |
| 5971 | $('#jqsshape' + shapeids[i]).remove(); |
| 5972 | } |
| 5973 | }, |
| 5974 | |
| 5975 | insertAfterShape: function (shapeid, shape) { |
| 5976 | var existing = $('#jqsshape' + shapeid), |
| 5977 | vel = this['_draw' + shape.type].apply(this, shape.args); |
| 5978 | existing[0].insertAdjacentHTML('afterEnd', vel); |
| 5979 | }, |
| 5980 | |
| 5981 | removeShapeId: function (shapeid) { |
| 5982 | var existing = $('#jqsshape' + shapeid); |
| 5983 | this.group.removeChild(existing[0]); |
| 5984 | }, |
| 5985 | |
| 5986 | getShapeAt: function (el, x, y) { |
| 5987 | var shapeid = el.id.substr(8); |
| 5988 | return shapeid; |
| 5989 | }, |
| 5990 | |
| 5991 | render: function () { |
| 5992 | if (!this.rendered) { |
| 5993 | // batch the intial render into a single repaint |
| 5994 | this.group.innerHTML = this.prerender; |
| 5995 | this.rendered = true; |
| 5996 | } |
| 5997 | } |
| 5998 | }); |
| 5999 | |
| 6000 | |
| 6001 | })); |
| 6002 | |
| 6003 | }(document, Math)); |
| 6004 | </script> |
| 6005 | <script>HTMLWidgets.widget({ |
| 6006 | name: "sparkline", |
| 6007 | type: "output", |
| 6008 | factory: function(el, width, height) { |
| 6009 | |
| 6010 | var instance = {}; |
| 6011 | |
| 6012 | return { |
| 6013 | |
| 6014 | renderValue: function(data) { |
| 6015 | |
| 6016 | $(el).empty(); |
| 6017 | |
| 6018 | // if renderTag provided then we will do three things |
| 6019 | // 1. set height and width to 0 and display none |
| 6020 | // 2. set our el to the render tag if available |
| 6021 | // 3. set height and width options to null |
| 6022 | if(data.renderSelector && $(data.renderSelector).length){ |
| 6023 | $(el).css({ |
| 6024 | 'height': '0', |
| 6025 | 'width': '0', |
| 6026 | 'display': 'none' |
| 6027 | }); |
| 6028 | el = data.renderSelector; |
| 6029 | // set height and width to null |
| 6030 | // this might be confusing and need to be reverted |
| 6031 | data.options.height = null; |
| 6032 | data.options.width = null; |
| 6033 | } |
| 6034 | $(el).sparkline(data.values, data.options); |
| 6035 | |
| 6036 | // experimental addComposite function in R |
| 6037 | // will add composites to data.composites |
| 6038 | if(data.composites) { |
| 6039 | if(!Array.isArray(data.composites)) { |
| 6040 | data.composites = [data.composites]; |
| 6041 | } |
| 6042 | data.composites.map( function(spk) { |
| 6043 | $(el).sparkline(spk.values,spk.options); |
| 6044 | }); |
| 6045 | } |
| 6046 | |
| 6047 | instance.data = data; |
| 6048 | }, |
| 6049 | |
| 6050 | resize: function(width, height) { |
| 6051 | |
| 6052 | // not sure what to do in the event of resize |
| 6053 | // I think nothing for now |
| 6054 | // but will need to get a feel for use cases |
| 6055 | // where this is important such as slides, flexdashboard, tabset |
| 6056 | this.renderValue(instance.data); |
| 6057 | |
| 6058 | } |
| 6059 | |
| 6060 | }; |
| 6061 | } |
| 6062 | }); |
| 6063 | </script> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6064 | |
| 6065 | <style type="text/css">code{white-space: pre;}</style> |
| 6066 | <style type="text/css"> |
| 6067 | pre:not([class]) { |
| 6068 | background-color: white; |
| 6069 | } |
| 6070 | </style> |
| 6071 | <script type="text/javascript"> |
Hao Zhu | 8dd65a9 | 2018-01-05 20:40:27 -0500 | [diff] [blame] | 6072 | if (window.hljs) { |
| 6073 | hljs.configure({languages: []}); |
| 6074 | hljs.initHighlightingOnLoad(); |
| 6075 | if (document.readyState && document.readyState === "complete") { |
| 6076 | window.setTimeout(function() { hljs.initHighlighting(); }, 0); |
| 6077 | } |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6078 | } |
| 6079 | </script> |
| 6080 | |
| 6081 | |
| 6082 | |
| 6083 | <style type="text/css"> |
| 6084 | h1 { |
| 6085 | font-size: 34px; |
| 6086 | } |
| 6087 | h1.title { |
| 6088 | font-size: 38px; |
| 6089 | } |
| 6090 | h2 { |
| 6091 | font-size: 30px; |
| 6092 | } |
| 6093 | h3 { |
| 6094 | font-size: 24px; |
| 6095 | } |
| 6096 | h4 { |
| 6097 | font-size: 18px; |
| 6098 | } |
| 6099 | h5 { |
| 6100 | font-size: 16px; |
| 6101 | } |
| 6102 | h6 { |
| 6103 | font-size: 12px; |
| 6104 | } |
| 6105 | .table th:not([align]) { |
| 6106 | text-align: left; |
| 6107 | } |
| 6108 | </style> |
| 6109 | |
| 6110 | |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6111 | |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6112 | |
| 6113 | <style type="text/css"> |
| 6114 | .main-container { |
| 6115 | max-width: 940px; |
| 6116 | margin-left: auto; |
| 6117 | margin-right: auto; |
| 6118 | } |
| 6119 | code { |
| 6120 | color: inherit; |
| 6121 | background-color: rgba(0, 0, 0, 0.04); |
| 6122 | } |
| 6123 | img { |
| 6124 | max-width:100%; |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6125 | } |
| 6126 | .tabbed-pane { |
| 6127 | padding-top: 12px; |
| 6128 | } |
Hao Zhu | a171b45 | 2019-01-15 17:14:34 -0600 | [diff] [blame] | 6129 | .html-widget { |
| 6130 | margin-bottom: 20px; |
| 6131 | } |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6132 | button.code-folding-btn:focus { |
| 6133 | outline: none; |
| 6134 | } |
Hao Zhu | a171b45 | 2019-01-15 17:14:34 -0600 | [diff] [blame] | 6135 | summary { |
| 6136 | display: list-item; |
| 6137 | } |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6138 | </style> |
| 6139 | |
| 6140 | |
| 6141 | |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6142 | <!-- tabsets --> |
Hao Zhu | a171b45 | 2019-01-15 17:14:34 -0600 | [diff] [blame] | 6143 | |
| 6144 | <style type="text/css"> |
| 6145 | .tabset-dropdown > .nav-tabs { |
| 6146 | display: inline-table; |
| 6147 | max-height: 500px; |
| 6148 | min-height: 44px; |
| 6149 | overflow-y: auto; |
| 6150 | background: white; |
| 6151 | border: 1px solid #ddd; |
| 6152 | border-radius: 4px; |
| 6153 | } |
| 6154 | |
| 6155 | .tabset-dropdown > .nav-tabs > li.active:before { |
| 6156 | content: ""; |
| 6157 | font-family: 'Glyphicons Halflings'; |
| 6158 | display: inline-block; |
| 6159 | padding: 10px; |
| 6160 | border-right: 1px solid #ddd; |
| 6161 | } |
| 6162 | |
| 6163 | .tabset-dropdown > .nav-tabs.nav-tabs-open > li.active:before { |
| 6164 | content: ""; |
| 6165 | border: none; |
| 6166 | } |
| 6167 | |
| 6168 | .tabset-dropdown > .nav-tabs.nav-tabs-open:before { |
| 6169 | content: ""; |
| 6170 | font-family: 'Glyphicons Halflings'; |
| 6171 | display: inline-block; |
| 6172 | padding: 10px; |
| 6173 | border-right: 1px solid #ddd; |
| 6174 | } |
| 6175 | |
| 6176 | .tabset-dropdown > .nav-tabs > li.active { |
| 6177 | display: block; |
| 6178 | } |
| 6179 | |
| 6180 | .tabset-dropdown > .nav-tabs > li > a, |
| 6181 | .tabset-dropdown > .nav-tabs > li > a:focus, |
| 6182 | .tabset-dropdown > .nav-tabs > li > a:hover { |
| 6183 | border: none; |
| 6184 | display: inline-block; |
| 6185 | border-radius: 4px; |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 6186 | background-color: transparent; |
Hao Zhu | a171b45 | 2019-01-15 17:14:34 -0600 | [diff] [blame] | 6187 | } |
| 6188 | |
| 6189 | .tabset-dropdown > .nav-tabs.nav-tabs-open > li { |
| 6190 | display: block; |
| 6191 | float: none; |
| 6192 | } |
| 6193 | |
| 6194 | .tabset-dropdown > .nav-tabs > li { |
| 6195 | display: none; |
| 6196 | } |
| 6197 | </style> |
| 6198 | |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6199 | <!-- code folding --> |
| 6200 | |
| 6201 | |
| 6202 | |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6203 | <style type="text/css"> |
| 6204 | |
| 6205 | #TOC { |
| 6206 | margin: 25px 0px 20px 0px; |
| 6207 | } |
| 6208 | @media (max-width: 768px) { |
| 6209 | #TOC { |
| 6210 | position: relative; |
| 6211 | width: 100%; |
| 6212 | } |
| 6213 | } |
| 6214 | |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 6215 | @media print { |
| 6216 | .toc-content { |
| 6217 | /* see https://github.com/w3c/csswg-drafts/issues/4434 */ |
| 6218 | float: right; |
| 6219 | } |
| 6220 | } |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6221 | |
| 6222 | .toc-content { |
| 6223 | padding-left: 30px; |
| 6224 | padding-right: 40px; |
| 6225 | } |
| 6226 | |
| 6227 | div.main-container { |
| 6228 | max-width: 1200px; |
| 6229 | } |
| 6230 | |
| 6231 | div.tocify { |
| 6232 | width: 20%; |
| 6233 | max-width: 260px; |
| 6234 | max-height: 85%; |
| 6235 | } |
| 6236 | |
| 6237 | @media (min-width: 768px) and (max-width: 991px) { |
| 6238 | div.tocify { |
| 6239 | width: 25%; |
| 6240 | } |
| 6241 | } |
| 6242 | |
| 6243 | @media (max-width: 767px) { |
| 6244 | div.tocify { |
| 6245 | width: 100%; |
| 6246 | max-width: none; |
| 6247 | } |
| 6248 | } |
| 6249 | |
| 6250 | .tocify ul, .tocify li { |
| 6251 | line-height: 20px; |
| 6252 | } |
| 6253 | |
| 6254 | .tocify-subheader .tocify-item { |
| 6255 | font-size: 0.90em; |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6256 | } |
| 6257 | |
| 6258 | .tocify .list-group-item { |
| 6259 | border-radius: 0px; |
| 6260 | } |
| 6261 | |
| 6262 | |
| 6263 | </style> |
| 6264 | |
Hao Zhu | 1776949 | 2019-05-03 23:44:24 -0400 | [diff] [blame] | 6265 | |
| 6266 | |
| 6267 | </head> |
| 6268 | |
| 6269 | <body> |
| 6270 | |
| 6271 | |
| 6272 | <div class="container-fluid main-container"> |
| 6273 | |
| 6274 | |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6275 | <!-- setup 3col/9col grid for toc_float and main content --> |
| 6276 | <div class="row-fluid"> |
| 6277 | <div class="col-xs-12 col-sm-4 col-md-3"> |
| 6278 | <div id="TOC" class="tocify"> |
| 6279 | </div> |
| 6280 | </div> |
| 6281 | |
| 6282 | <div class="toc-content col-xs-12 col-sm-8 col-md-9"> |
| 6283 | |
| 6284 | |
| 6285 | |
| 6286 | |
| 6287 | <div class="fluid-row" id="header"> |
| 6288 | |
| 6289 | |
| 6290 | |
| 6291 | <h1 class="title toc-ignore">Create Awesome HTML Table with knitr::kable and kableExtra</h1> |
Hao Zhu | 1776949 | 2019-05-03 23:44:24 -0400 | [diff] [blame] | 6292 | <h4 class="author">Hao Zhu</h4> |
Hao Zhu | 4e34cd8 | 2020-08-19 01:54:23 -0400 | [diff] [blame^] | 6293 | <h4 class="date">2020-08-19</h4> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6294 | |
| 6295 | </div> |
| 6296 | |
| 6297 | |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 6298 | <script> |
| 6299 | $(document).ready(function(){ |
| 6300 | $('[data-toggle="popover"]').popover(); |
| 6301 | }); |
| 6302 | </script> |
Hao Zhu | dda2f72 | 2018-05-21 00:38:11 -0400 | [diff] [blame] | 6303 | <p><img src="data:image/png;base64,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" align="right" alt="logo" width="80" height="93" style="border: none; float: right;"></p> |
Hao Zhu | 6ce2921 | 2017-05-22 16:29:56 -0400 | [diff] [blame] | 6304 | <blockquote> |
Hao Zhu | 0a0e833 | 2017-08-03 13:21:29 -0400 | [diff] [blame] | 6305 | <p>Please see the package <a href="http://haozhu233.github.io/kableExtra/">documentation site</a> for how to use this package in LaTeX.</p> |
Hao Zhu | 6ce2921 | 2017-05-22 16:29:56 -0400 | [diff] [blame] | 6306 | </blockquote> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6307 | <div id="overview" class="section level1"> |
| 6308 | <h1>Overview</h1> |
| 6309 | <p>The goal of <code>kableExtra</code> is to help you build common complex tables and manipulate table styles. It imports the pipe <code>%>%</code> symbol from <code>magrittr</code> and verbalize all the functions, so basically you can add “layers” to a kable output in a way that is similar with <code>ggplot2</code> and <code>plotly</code>.</p> |
Hao Zhu | 4e34cd8 | 2020-08-19 01:54:23 -0400 | [diff] [blame^] | 6310 | <p>For users who are not very familiar with the pipe operator <code>%>%</code> in R, it is the R version of the <a href="https://en.wikipedia.org/wiki/Fluent_interface">fluent interface</a>. The ides is to pass the result along the chain for a more literal coding experience. Basically when we say <code>A %>% B</code>, technically it means sending the results of A to B as B’s first argument.</p> |
Hao Zhu | a171b45 | 2019-01-15 17:14:34 -0600 | [diff] [blame] | 6311 | <p>To learn how to generate complex tables in LaTeX, please visit <a href="http://haozhu233.github.io/kableExtra/awesome_table_in_pdf.pdf">http://haozhu233.github.io/kableExtra/awesome_table_in_pdf.pdf</a></p> |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 6312 | <p>There is also a Chinese version of this vignette. You can find it <a href="http://haozhu233.github.io/kableExtra/awesome_table_in_html_cn.html">here</a></p> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6313 | </div> |
| 6314 | <div id="installation" class="section level1"> |
| 6315 | <h1>Installation</h1> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 6316 | <pre class="r"><code>install.packages("kableExtra") |
Hao Zhu | 74eb6ad | 2017-03-04 09:32:37 -0500 | [diff] [blame] | 6317 | |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6318 | # For dev version |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 6319 | # install.packages("devtools") |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6320 | devtools::install_github("haozhu233/kableExtra")</code></pre> |
| 6321 | </div> |
| 6322 | <div id="getting-started" class="section level1"> |
| 6323 | <h1>Getting Started</h1> |
| 6324 | <p>Here we are using the first few columns and rows from dataset <code>mtcars</code></p> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 6325 | <pre class="r"><code>library(knitr) |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 6326 | library(kableExtra) |
| 6327 | dt <- mtcars[1:5, 1:6]</code></pre> |
| 6328 | <blockquote> |
| 6329 | <p><strong>Key Update:</strong> In the latest version of this package (1.2+), we provide a wrapper funciton <code>kbl</code> to the original <code>kable</code> function with detailed documentation of all the hidden html/latex options. It also does auto-formatting check in every function call instead of relying on the global environement variable. As a result, it also solves an issue for multi-format R Markdown documents. I encourage you start to use the new <code>kbl</code> function for all its convenience but the support for the original <code>kable</code> function is still there. In this doc, we will use <code>kbl</code> instead of <code>kable</code>.</p> |
| 6330 | </blockquote> |
| 6331 | <p><strong>This paragraph is a little outdated. It’s here only for education purpose because it’s helpful to understand how <code>kable</code> works under the hood</strong>. When you are using <code>kable()</code>, if you don’t specify <code>format</code>, by default it will generate a markdown table and let pandoc handle the conversion from markdown to HTML/PDF. This is the most favorable approach to render most simple tables as it is format independent. If you switch from HTML to pdf, you basically don’t need to change anything in your code. However, markdown doesn’t support complex table. For example, if you want to have a double-row header table, markdown just cannot provide you the functionality you need. As a result, when you have such a need, you should <strong>define <code>format</code> in <code>kable()</code></strong> as either “html” or “latex”. <em>You can also define a global option at the beginning using <code>options(knitr.table.format = "html")</code> so you don’t repeat the step everytime.</em> <strong>Starting from <code>kableExtra</code> 0.9.0</strong>, when you load this package (<code>library(kableExtra)</code>), it will automatically set up the global option ‘knitr.table.format’ based on your current environment. Unless you are rendering a PDF, <code>kableExtra</code> will try to render a HTML table for you. <strong>You no longer need to manually set either the global option or the <code>format</code> option in each <code>kable()</code> function</strong>. I’m still including the explanation above here in this vignette so you can understand what is going on behind the scene. Note that this is only an global option. You can manually set any format in <code>kable()</code> whenever you want. I just hope you can enjoy a peace of mind in most of your time. You can disable this behavior by setting <code>options(kableExtra.auto_format = FALSE)</code> before you load <code>kableExtra</code>.</p> |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 6332 | <pre class="r"><code># If you are using kableExtra < 0.9.0, you are recommended to set a global option first. |
| 6333 | # options(knitr.table.format = "html") |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 6334 | ## If you don't define format here, you'll need put `format = "html"` in every kable function.</code></pre> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6335 | <div id="basic-html-table" class="section level2"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 6336 | <h2>Basic HTML table</h2> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6337 | <p>Basic HTML output of <code>kable</code> looks very crude. To the end, it’s just a plain HTML table without any love from css.</p> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 6338 | <pre class="r"><code>kbl(dt)</code></pre> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6339 | <table> |
| 6340 | <thead> |
| 6341 | <tr> |
| 6342 | <th style="text-align:left;"> |
| 6343 | </th> |
| 6344 | <th style="text-align:right;"> |
| 6345 | mpg |
| 6346 | </th> |
| 6347 | <th style="text-align:right;"> |
| 6348 | cyl |
| 6349 | </th> |
| 6350 | <th style="text-align:right;"> |
| 6351 | disp |
| 6352 | </th> |
| 6353 | <th style="text-align:right;"> |
| 6354 | hp |
| 6355 | </th> |
| 6356 | <th style="text-align:right;"> |
| 6357 | drat |
| 6358 | </th> |
| 6359 | <th style="text-align:right;"> |
| 6360 | wt |
| 6361 | </th> |
| 6362 | </tr> |
| 6363 | </thead> |
| 6364 | <tbody> |
| 6365 | <tr> |
| 6366 | <td style="text-align:left;"> |
| 6367 | Mazda RX4 |
| 6368 | </td> |
| 6369 | <td style="text-align:right;"> |
| 6370 | 21.0 |
| 6371 | </td> |
| 6372 | <td style="text-align:right;"> |
| 6373 | 6 |
| 6374 | </td> |
| 6375 | <td style="text-align:right;"> |
| 6376 | 160 |
| 6377 | </td> |
| 6378 | <td style="text-align:right;"> |
| 6379 | 110 |
| 6380 | </td> |
| 6381 | <td style="text-align:right;"> |
| 6382 | 3.90 |
| 6383 | </td> |
| 6384 | <td style="text-align:right;"> |
| 6385 | 2.620 |
| 6386 | </td> |
| 6387 | </tr> |
| 6388 | <tr> |
| 6389 | <td style="text-align:left;"> |
| 6390 | Mazda RX4 Wag |
| 6391 | </td> |
| 6392 | <td style="text-align:right;"> |
| 6393 | 21.0 |
| 6394 | </td> |
| 6395 | <td style="text-align:right;"> |
| 6396 | 6 |
| 6397 | </td> |
| 6398 | <td style="text-align:right;"> |
| 6399 | 160 |
| 6400 | </td> |
| 6401 | <td style="text-align:right;"> |
| 6402 | 110 |
| 6403 | </td> |
| 6404 | <td style="text-align:right;"> |
| 6405 | 3.90 |
| 6406 | </td> |
| 6407 | <td style="text-align:right;"> |
| 6408 | 2.875 |
| 6409 | </td> |
| 6410 | </tr> |
| 6411 | <tr> |
| 6412 | <td style="text-align:left;"> |
| 6413 | Datsun 710 |
| 6414 | </td> |
| 6415 | <td style="text-align:right;"> |
| 6416 | 22.8 |
| 6417 | </td> |
| 6418 | <td style="text-align:right;"> |
| 6419 | 4 |
| 6420 | </td> |
| 6421 | <td style="text-align:right;"> |
| 6422 | 108 |
| 6423 | </td> |
| 6424 | <td style="text-align:right;"> |
| 6425 | 93 |
| 6426 | </td> |
| 6427 | <td style="text-align:right;"> |
| 6428 | 3.85 |
| 6429 | </td> |
| 6430 | <td style="text-align:right;"> |
| 6431 | 2.320 |
| 6432 | </td> |
| 6433 | </tr> |
| 6434 | <tr> |
| 6435 | <td style="text-align:left;"> |
| 6436 | Hornet 4 Drive |
| 6437 | </td> |
| 6438 | <td style="text-align:right;"> |
| 6439 | 21.4 |
| 6440 | </td> |
| 6441 | <td style="text-align:right;"> |
| 6442 | 6 |
| 6443 | </td> |
| 6444 | <td style="text-align:right;"> |
| 6445 | 258 |
| 6446 | </td> |
| 6447 | <td style="text-align:right;"> |
| 6448 | 110 |
| 6449 | </td> |
| 6450 | <td style="text-align:right;"> |
| 6451 | 3.08 |
| 6452 | </td> |
| 6453 | <td style="text-align:right;"> |
| 6454 | 3.215 |
| 6455 | </td> |
| 6456 | </tr> |
| 6457 | <tr> |
| 6458 | <td style="text-align:left;"> |
| 6459 | Hornet Sportabout |
| 6460 | </td> |
| 6461 | <td style="text-align:right;"> |
| 6462 | 18.7 |
| 6463 | </td> |
| 6464 | <td style="text-align:right;"> |
| 6465 | 8 |
| 6466 | </td> |
| 6467 | <td style="text-align:right;"> |
| 6468 | 360 |
| 6469 | </td> |
| 6470 | <td style="text-align:right;"> |
| 6471 | 175 |
| 6472 | </td> |
| 6473 | <td style="text-align:right;"> |
| 6474 | 3.15 |
| 6475 | </td> |
| 6476 | <td style="text-align:right;"> |
| 6477 | 3.440 |
| 6478 | </td> |
| 6479 | </tr> |
| 6480 | </tbody> |
| 6481 | </table> |
| 6482 | </div> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 6483 | <div id="bootstrap-theme" class="section level2"> |
| 6484 | <h2>Bootstrap theme</h2> |
Hao Zhu | 8f46db8 | 2020-08-18 21:48:23 -0400 | [diff] [blame] | 6485 | <p>When used on a HTML table, <code>kable_styling()</code> will automatically apply twitter bootstrap theme to the table. Now it should looks the same as the original pandoc output (the one when you don’t specify <code>format</code> in <code>kable()</code>) but this time, you are controlling it.</p> |
Hao Zhu | f03decd | 2017-09-13 10:45:44 -0400 | [diff] [blame] | 6486 | <pre class="r"><code>dt %>% |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 6487 | kbl() %>% |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6488 | kable_styling()</code></pre> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 6489 | <table class="table" style="margin-left: auto; margin-right: auto;"> |
| 6490 | <thead> |
| 6491 | <tr> |
| 6492 | <th style="text-align:left;"> |
| 6493 | </th> |
| 6494 | <th style="text-align:right;"> |
| 6495 | mpg |
| 6496 | </th> |
| 6497 | <th style="text-align:right;"> |
| 6498 | cyl |
| 6499 | </th> |
| 6500 | <th style="text-align:right;"> |
| 6501 | disp |
| 6502 | </th> |
| 6503 | <th style="text-align:right;"> |
| 6504 | hp |
| 6505 | </th> |
| 6506 | <th style="text-align:right;"> |
| 6507 | drat |
| 6508 | </th> |
| 6509 | <th style="text-align:right;"> |
| 6510 | wt |
| 6511 | </th> |
| 6512 | </tr> |
| 6513 | </thead> |
| 6514 | <tbody> |
| 6515 | <tr> |
| 6516 | <td style="text-align:left;"> |
| 6517 | Mazda RX4 |
| 6518 | </td> |
| 6519 | <td style="text-align:right;"> |
| 6520 | 21.0 |
| 6521 | </td> |
| 6522 | <td style="text-align:right;"> |
| 6523 | 6 |
| 6524 | </td> |
| 6525 | <td style="text-align:right;"> |
| 6526 | 160 |
| 6527 | </td> |
| 6528 | <td style="text-align:right;"> |
| 6529 | 110 |
| 6530 | </td> |
| 6531 | <td style="text-align:right;"> |
| 6532 | 3.90 |
| 6533 | </td> |
| 6534 | <td style="text-align:right;"> |
| 6535 | 2.620 |
| 6536 | </td> |
| 6537 | </tr> |
| 6538 | <tr> |
| 6539 | <td style="text-align:left;"> |
| 6540 | Mazda RX4 Wag |
| 6541 | </td> |
| 6542 | <td style="text-align:right;"> |
| 6543 | 21.0 |
| 6544 | </td> |
| 6545 | <td style="text-align:right;"> |
| 6546 | 6 |
| 6547 | </td> |
| 6548 | <td style="text-align:right;"> |
| 6549 | 160 |
| 6550 | </td> |
| 6551 | <td style="text-align:right;"> |
| 6552 | 110 |
| 6553 | </td> |
| 6554 | <td style="text-align:right;"> |
| 6555 | 3.90 |
| 6556 | </td> |
| 6557 | <td style="text-align:right;"> |
| 6558 | 2.875 |
| 6559 | </td> |
| 6560 | </tr> |
| 6561 | <tr> |
| 6562 | <td style="text-align:left;"> |
| 6563 | Datsun 710 |
| 6564 | </td> |
| 6565 | <td style="text-align:right;"> |
| 6566 | 22.8 |
| 6567 | </td> |
| 6568 | <td style="text-align:right;"> |
| 6569 | 4 |
| 6570 | </td> |
| 6571 | <td style="text-align:right;"> |
| 6572 | 108 |
| 6573 | </td> |
| 6574 | <td style="text-align:right;"> |
| 6575 | 93 |
| 6576 | </td> |
| 6577 | <td style="text-align:right;"> |
| 6578 | 3.85 |
| 6579 | </td> |
| 6580 | <td style="text-align:right;"> |
| 6581 | 2.320 |
| 6582 | </td> |
| 6583 | </tr> |
| 6584 | <tr> |
| 6585 | <td style="text-align:left;"> |
| 6586 | Hornet 4 Drive |
| 6587 | </td> |
| 6588 | <td style="text-align:right;"> |
| 6589 | 21.4 |
| 6590 | </td> |
| 6591 | <td style="text-align:right;"> |
| 6592 | 6 |
| 6593 | </td> |
| 6594 | <td style="text-align:right;"> |
| 6595 | 258 |
| 6596 | </td> |
| 6597 | <td style="text-align:right;"> |
| 6598 | 110 |
| 6599 | </td> |
| 6600 | <td style="text-align:right;"> |
| 6601 | 3.08 |
| 6602 | </td> |
| 6603 | <td style="text-align:right;"> |
| 6604 | 3.215 |
| 6605 | </td> |
| 6606 | </tr> |
| 6607 | <tr> |
| 6608 | <td style="text-align:left;"> |
| 6609 | Hornet Sportabout |
| 6610 | </td> |
| 6611 | <td style="text-align:right;"> |
| 6612 | 18.7 |
| 6613 | </td> |
| 6614 | <td style="text-align:right;"> |
| 6615 | 8 |
| 6616 | </td> |
| 6617 | <td style="text-align:right;"> |
| 6618 | 360 |
| 6619 | </td> |
| 6620 | <td style="text-align:right;"> |
| 6621 | 175 |
| 6622 | </td> |
| 6623 | <td style="text-align:right;"> |
| 6624 | 3.15 |
| 6625 | </td> |
| 6626 | <td style="text-align:right;"> |
| 6627 | 3.440 |
| 6628 | </td> |
| 6629 | </tr> |
| 6630 | </tbody> |
| 6631 | </table> |
| 6632 | </div> |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 6633 | <div id="alternative-themes" class="section level2"> |
| 6634 | <h2>Alternative themes</h2> |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 6635 | <p><code>kableExtra</code> also offers a few in-house alternative HTML table themes other than the default bootstrap theme. Right now there are 6 of them: <code>kable_paper</code>, <code>kable_classic</code>, <code>kable_classic_2</code>, <code>kable_minimal</code>, <code>kable_material</code> and <code>kable_material_dark</code>. These functions are alternatives to <code>kable_styling</code>, which means that you can specify any additional formatting options in <code>kable_styling</code> in these functions too. The only difference is that <code>bootstrap_options</code> (as discussed in the next section) is replaced with <code>lightable_options</code> at the same location with only two choices <code>striped</code> and <code>hover</code> available.</p> |
| 6636 | <pre class="r"><code>dt %>% |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 6637 | kbl() %>% |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 6638 | kable_paper("hover")</code></pre> |
| 6639 | <table class=" lightable-paper lightable-hover" style="font-family: "Arial Narrow", arial, helvetica, sans-serif; margin-left: auto; margin-right: auto;"> |
| 6640 | <thead> |
| 6641 | <tr> |
| 6642 | <th style="text-align:left;"> |
| 6643 | </th> |
| 6644 | <th style="text-align:right;"> |
| 6645 | mpg |
| 6646 | </th> |
| 6647 | <th style="text-align:right;"> |
| 6648 | cyl |
| 6649 | </th> |
| 6650 | <th style="text-align:right;"> |
| 6651 | disp |
| 6652 | </th> |
| 6653 | <th style="text-align:right;"> |
| 6654 | hp |
| 6655 | </th> |
| 6656 | <th style="text-align:right;"> |
| 6657 | drat |
| 6658 | </th> |
| 6659 | <th style="text-align:right;"> |
| 6660 | wt |
| 6661 | </th> |
| 6662 | </tr> |
| 6663 | </thead> |
| 6664 | <tbody> |
| 6665 | <tr> |
| 6666 | <td style="text-align:left;"> |
| 6667 | Mazda RX4 |
| 6668 | </td> |
| 6669 | <td style="text-align:right;"> |
| 6670 | 21.0 |
| 6671 | </td> |
| 6672 | <td style="text-align:right;"> |
| 6673 | 6 |
| 6674 | </td> |
| 6675 | <td style="text-align:right;"> |
| 6676 | 160 |
| 6677 | </td> |
| 6678 | <td style="text-align:right;"> |
| 6679 | 110 |
| 6680 | </td> |
| 6681 | <td style="text-align:right;"> |
| 6682 | 3.90 |
| 6683 | </td> |
| 6684 | <td style="text-align:right;"> |
| 6685 | 2.620 |
| 6686 | </td> |
| 6687 | </tr> |
| 6688 | <tr> |
| 6689 | <td style="text-align:left;"> |
| 6690 | Mazda RX4 Wag |
| 6691 | </td> |
| 6692 | <td style="text-align:right;"> |
| 6693 | 21.0 |
| 6694 | </td> |
| 6695 | <td style="text-align:right;"> |
| 6696 | 6 |
| 6697 | </td> |
| 6698 | <td style="text-align:right;"> |
| 6699 | 160 |
| 6700 | </td> |
| 6701 | <td style="text-align:right;"> |
| 6702 | 110 |
| 6703 | </td> |
| 6704 | <td style="text-align:right;"> |
| 6705 | 3.90 |
| 6706 | </td> |
| 6707 | <td style="text-align:right;"> |
| 6708 | 2.875 |
| 6709 | </td> |
| 6710 | </tr> |
| 6711 | <tr> |
| 6712 | <td style="text-align:left;"> |
| 6713 | Datsun 710 |
| 6714 | </td> |
| 6715 | <td style="text-align:right;"> |
| 6716 | 22.8 |
| 6717 | </td> |
| 6718 | <td style="text-align:right;"> |
| 6719 | 4 |
| 6720 | </td> |
| 6721 | <td style="text-align:right;"> |
| 6722 | 108 |
| 6723 | </td> |
| 6724 | <td style="text-align:right;"> |
| 6725 | 93 |
| 6726 | </td> |
| 6727 | <td style="text-align:right;"> |
| 6728 | 3.85 |
| 6729 | </td> |
| 6730 | <td style="text-align:right;"> |
| 6731 | 2.320 |
| 6732 | </td> |
| 6733 | </tr> |
| 6734 | <tr> |
| 6735 | <td style="text-align:left;"> |
| 6736 | Hornet 4 Drive |
| 6737 | </td> |
| 6738 | <td style="text-align:right;"> |
| 6739 | 21.4 |
| 6740 | </td> |
| 6741 | <td style="text-align:right;"> |
| 6742 | 6 |
| 6743 | </td> |
| 6744 | <td style="text-align:right;"> |
| 6745 | 258 |
| 6746 | </td> |
| 6747 | <td style="text-align:right;"> |
| 6748 | 110 |
| 6749 | </td> |
| 6750 | <td style="text-align:right;"> |
| 6751 | 3.08 |
| 6752 | </td> |
| 6753 | <td style="text-align:right;"> |
| 6754 | 3.215 |
| 6755 | </td> |
| 6756 | </tr> |
| 6757 | <tr> |
| 6758 | <td style="text-align:left;"> |
| 6759 | Hornet Sportabout |
| 6760 | </td> |
| 6761 | <td style="text-align:right;"> |
| 6762 | 18.7 |
| 6763 | </td> |
| 6764 | <td style="text-align:right;"> |
| 6765 | 8 |
| 6766 | </td> |
| 6767 | <td style="text-align:right;"> |
| 6768 | 360 |
| 6769 | </td> |
| 6770 | <td style="text-align:right;"> |
| 6771 | 175 |
| 6772 | </td> |
| 6773 | <td style="text-align:right;"> |
| 6774 | 3.15 |
| 6775 | </td> |
| 6776 | <td style="text-align:right;"> |
| 6777 | 3.440 |
| 6778 | </td> |
| 6779 | </tr> |
| 6780 | </tbody> |
| 6781 | </table> |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 6782 | <pre class="r"><code>dt %>% |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 6783 | kbl() %>% |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 6784 | kable_classic()</code></pre> |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 6785 | <table class=" lightable-classic" style="font-family: "Arial Narrow", "Source Sans Pro", sans-serif; margin-left: auto; margin-right: auto;"> |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 6786 | <thead> |
| 6787 | <tr> |
| 6788 | <th style="text-align:left;"> |
| 6789 | </th> |
| 6790 | <th style="text-align:right;"> |
| 6791 | mpg |
| 6792 | </th> |
| 6793 | <th style="text-align:right;"> |
| 6794 | cyl |
| 6795 | </th> |
| 6796 | <th style="text-align:right;"> |
| 6797 | disp |
| 6798 | </th> |
| 6799 | <th style="text-align:right;"> |
| 6800 | hp |
| 6801 | </th> |
| 6802 | <th style="text-align:right;"> |
| 6803 | drat |
| 6804 | </th> |
| 6805 | <th style="text-align:right;"> |
| 6806 | wt |
| 6807 | </th> |
| 6808 | </tr> |
| 6809 | </thead> |
| 6810 | <tbody> |
| 6811 | <tr> |
| 6812 | <td style="text-align:left;"> |
| 6813 | Mazda RX4 |
| 6814 | </td> |
| 6815 | <td style="text-align:right;"> |
| 6816 | 21.0 |
| 6817 | </td> |
| 6818 | <td style="text-align:right;"> |
| 6819 | 6 |
| 6820 | </td> |
| 6821 | <td style="text-align:right;"> |
| 6822 | 160 |
| 6823 | </td> |
| 6824 | <td style="text-align:right;"> |
| 6825 | 110 |
| 6826 | </td> |
| 6827 | <td style="text-align:right;"> |
| 6828 | 3.90 |
| 6829 | </td> |
| 6830 | <td style="text-align:right;"> |
| 6831 | 2.620 |
| 6832 | </td> |
| 6833 | </tr> |
| 6834 | <tr> |
| 6835 | <td style="text-align:left;"> |
| 6836 | Mazda RX4 Wag |
| 6837 | </td> |
| 6838 | <td style="text-align:right;"> |
| 6839 | 21.0 |
| 6840 | </td> |
| 6841 | <td style="text-align:right;"> |
| 6842 | 6 |
| 6843 | </td> |
| 6844 | <td style="text-align:right;"> |
| 6845 | 160 |
| 6846 | </td> |
| 6847 | <td style="text-align:right;"> |
| 6848 | 110 |
| 6849 | </td> |
| 6850 | <td style="text-align:right;"> |
| 6851 | 3.90 |
| 6852 | </td> |
| 6853 | <td style="text-align:right;"> |
| 6854 | 2.875 |
| 6855 | </td> |
| 6856 | </tr> |
| 6857 | <tr> |
| 6858 | <td style="text-align:left;"> |
| 6859 | Datsun 710 |
| 6860 | </td> |
| 6861 | <td style="text-align:right;"> |
| 6862 | 22.8 |
| 6863 | </td> |
| 6864 | <td style="text-align:right;"> |
| 6865 | 4 |
| 6866 | </td> |
| 6867 | <td style="text-align:right;"> |
| 6868 | 108 |
| 6869 | </td> |
| 6870 | <td style="text-align:right;"> |
| 6871 | 93 |
| 6872 | </td> |
| 6873 | <td style="text-align:right;"> |
| 6874 | 3.85 |
| 6875 | </td> |
| 6876 | <td style="text-align:right;"> |
| 6877 | 2.320 |
| 6878 | </td> |
| 6879 | </tr> |
| 6880 | <tr> |
| 6881 | <td style="text-align:left;"> |
| 6882 | Hornet 4 Drive |
| 6883 | </td> |
| 6884 | <td style="text-align:right;"> |
| 6885 | 21.4 |
| 6886 | </td> |
| 6887 | <td style="text-align:right;"> |
| 6888 | 6 |
| 6889 | </td> |
| 6890 | <td style="text-align:right;"> |
| 6891 | 258 |
| 6892 | </td> |
| 6893 | <td style="text-align:right;"> |
| 6894 | 110 |
| 6895 | </td> |
| 6896 | <td style="text-align:right;"> |
| 6897 | 3.08 |
| 6898 | </td> |
| 6899 | <td style="text-align:right;"> |
| 6900 | 3.215 |
| 6901 | </td> |
| 6902 | </tr> |
| 6903 | <tr> |
| 6904 | <td style="text-align:left;"> |
| 6905 | Hornet Sportabout |
| 6906 | </td> |
| 6907 | <td style="text-align:right;"> |
| 6908 | 18.7 |
| 6909 | </td> |
| 6910 | <td style="text-align:right;"> |
| 6911 | 8 |
| 6912 | </td> |
| 6913 | <td style="text-align:right;"> |
| 6914 | 360 |
| 6915 | </td> |
| 6916 | <td style="text-align:right;"> |
| 6917 | 175 |
| 6918 | </td> |
| 6919 | <td style="text-align:right;"> |
| 6920 | 3.15 |
| 6921 | </td> |
| 6922 | <td style="text-align:right;"> |
| 6923 | 3.440 |
| 6924 | </td> |
| 6925 | </tr> |
| 6926 | </tbody> |
| 6927 | </table> |
| 6928 | <pre class="r"><code>dt %>% |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 6929 | kbl() %>% |
Hao Zhu | d8a2e33 | 2020-08-11 01:26:32 -0400 | [diff] [blame] | 6930 | kable_classic_2()</code></pre> |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 6931 | <table class=" lightable-classic-2" style="font-family: "Arial Narrow", "Source Sans Pro", sans-serif; margin-left: auto; margin-right: auto;"> |
Hao Zhu | d8a2e33 | 2020-08-11 01:26:32 -0400 | [diff] [blame] | 6932 | <thead> |
| 6933 | <tr> |
| 6934 | <th style="text-align:left;"> |
| 6935 | </th> |
| 6936 | <th style="text-align:right;"> |
| 6937 | mpg |
| 6938 | </th> |
| 6939 | <th style="text-align:right;"> |
| 6940 | cyl |
| 6941 | </th> |
| 6942 | <th style="text-align:right;"> |
| 6943 | disp |
| 6944 | </th> |
| 6945 | <th style="text-align:right;"> |
| 6946 | hp |
| 6947 | </th> |
| 6948 | <th style="text-align:right;"> |
| 6949 | drat |
| 6950 | </th> |
| 6951 | <th style="text-align:right;"> |
| 6952 | wt |
| 6953 | </th> |
| 6954 | </tr> |
| 6955 | </thead> |
| 6956 | <tbody> |
| 6957 | <tr> |
| 6958 | <td style="text-align:left;"> |
| 6959 | Mazda RX4 |
| 6960 | </td> |
| 6961 | <td style="text-align:right;"> |
| 6962 | 21.0 |
| 6963 | </td> |
| 6964 | <td style="text-align:right;"> |
| 6965 | 6 |
| 6966 | </td> |
| 6967 | <td style="text-align:right;"> |
| 6968 | 160 |
| 6969 | </td> |
| 6970 | <td style="text-align:right;"> |
| 6971 | 110 |
| 6972 | </td> |
| 6973 | <td style="text-align:right;"> |
| 6974 | 3.90 |
| 6975 | </td> |
| 6976 | <td style="text-align:right;"> |
| 6977 | 2.620 |
| 6978 | </td> |
| 6979 | </tr> |
| 6980 | <tr> |
| 6981 | <td style="text-align:left;"> |
| 6982 | Mazda RX4 Wag |
| 6983 | </td> |
| 6984 | <td style="text-align:right;"> |
| 6985 | 21.0 |
| 6986 | </td> |
| 6987 | <td style="text-align:right;"> |
| 6988 | 6 |
| 6989 | </td> |
| 6990 | <td style="text-align:right;"> |
| 6991 | 160 |
| 6992 | </td> |
| 6993 | <td style="text-align:right;"> |
| 6994 | 110 |
| 6995 | </td> |
| 6996 | <td style="text-align:right;"> |
| 6997 | 3.90 |
| 6998 | </td> |
| 6999 | <td style="text-align:right;"> |
| 7000 | 2.875 |
| 7001 | </td> |
| 7002 | </tr> |
| 7003 | <tr> |
| 7004 | <td style="text-align:left;"> |
| 7005 | Datsun 710 |
| 7006 | </td> |
| 7007 | <td style="text-align:right;"> |
| 7008 | 22.8 |
| 7009 | </td> |
| 7010 | <td style="text-align:right;"> |
| 7011 | 4 |
| 7012 | </td> |
| 7013 | <td style="text-align:right;"> |
| 7014 | 108 |
| 7015 | </td> |
| 7016 | <td style="text-align:right;"> |
| 7017 | 93 |
| 7018 | </td> |
| 7019 | <td style="text-align:right;"> |
| 7020 | 3.85 |
| 7021 | </td> |
| 7022 | <td style="text-align:right;"> |
| 7023 | 2.320 |
| 7024 | </td> |
| 7025 | </tr> |
| 7026 | <tr> |
| 7027 | <td style="text-align:left;"> |
| 7028 | Hornet 4 Drive |
| 7029 | </td> |
| 7030 | <td style="text-align:right;"> |
| 7031 | 21.4 |
| 7032 | </td> |
| 7033 | <td style="text-align:right;"> |
| 7034 | 6 |
| 7035 | </td> |
| 7036 | <td style="text-align:right;"> |
| 7037 | 258 |
| 7038 | </td> |
| 7039 | <td style="text-align:right;"> |
| 7040 | 110 |
| 7041 | </td> |
| 7042 | <td style="text-align:right;"> |
| 7043 | 3.08 |
| 7044 | </td> |
| 7045 | <td style="text-align:right;"> |
| 7046 | 3.215 |
| 7047 | </td> |
| 7048 | </tr> |
| 7049 | <tr> |
| 7050 | <td style="text-align:left;"> |
| 7051 | Hornet Sportabout |
| 7052 | </td> |
| 7053 | <td style="text-align:right;"> |
| 7054 | 18.7 |
| 7055 | </td> |
| 7056 | <td style="text-align:right;"> |
| 7057 | 8 |
| 7058 | </td> |
| 7059 | <td style="text-align:right;"> |
| 7060 | 360 |
| 7061 | </td> |
| 7062 | <td style="text-align:right;"> |
| 7063 | 175 |
| 7064 | </td> |
| 7065 | <td style="text-align:right;"> |
| 7066 | 3.15 |
| 7067 | </td> |
| 7068 | <td style="text-align:right;"> |
| 7069 | 3.440 |
| 7070 | </td> |
| 7071 | </tr> |
| 7072 | </tbody> |
| 7073 | </table> |
| 7074 | <pre class="r"><code>dt %>% |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 7075 | kbl() %>% |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 7076 | kable_minimal()</code></pre> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 7077 | <table class=" lightable-minimal" style="font-family: "Trebuchet MS", verdana, calibri, sans-serif; margin-left: auto; margin-right: auto;"> |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 7078 | <thead> |
| 7079 | <tr> |
| 7080 | <th style="text-align:left;"> |
| 7081 | </th> |
| 7082 | <th style="text-align:right;"> |
| 7083 | mpg |
| 7084 | </th> |
| 7085 | <th style="text-align:right;"> |
| 7086 | cyl |
| 7087 | </th> |
| 7088 | <th style="text-align:right;"> |
| 7089 | disp |
| 7090 | </th> |
| 7091 | <th style="text-align:right;"> |
| 7092 | hp |
| 7093 | </th> |
| 7094 | <th style="text-align:right;"> |
| 7095 | drat |
| 7096 | </th> |
| 7097 | <th style="text-align:right;"> |
| 7098 | wt |
| 7099 | </th> |
| 7100 | </tr> |
| 7101 | </thead> |
| 7102 | <tbody> |
| 7103 | <tr> |
| 7104 | <td style="text-align:left;"> |
| 7105 | Mazda RX4 |
| 7106 | </td> |
| 7107 | <td style="text-align:right;"> |
| 7108 | 21.0 |
| 7109 | </td> |
| 7110 | <td style="text-align:right;"> |
| 7111 | 6 |
| 7112 | </td> |
| 7113 | <td style="text-align:right;"> |
| 7114 | 160 |
| 7115 | </td> |
| 7116 | <td style="text-align:right;"> |
| 7117 | 110 |
| 7118 | </td> |
| 7119 | <td style="text-align:right;"> |
| 7120 | 3.90 |
| 7121 | </td> |
| 7122 | <td style="text-align:right;"> |
| 7123 | 2.620 |
| 7124 | </td> |
| 7125 | </tr> |
| 7126 | <tr> |
| 7127 | <td style="text-align:left;"> |
| 7128 | Mazda RX4 Wag |
| 7129 | </td> |
| 7130 | <td style="text-align:right;"> |
| 7131 | 21.0 |
| 7132 | </td> |
| 7133 | <td style="text-align:right;"> |
| 7134 | 6 |
| 7135 | </td> |
| 7136 | <td style="text-align:right;"> |
| 7137 | 160 |
| 7138 | </td> |
| 7139 | <td style="text-align:right;"> |
| 7140 | 110 |
| 7141 | </td> |
| 7142 | <td style="text-align:right;"> |
| 7143 | 3.90 |
| 7144 | </td> |
| 7145 | <td style="text-align:right;"> |
| 7146 | 2.875 |
| 7147 | </td> |
| 7148 | </tr> |
| 7149 | <tr> |
| 7150 | <td style="text-align:left;"> |
| 7151 | Datsun 710 |
| 7152 | </td> |
| 7153 | <td style="text-align:right;"> |
| 7154 | 22.8 |
| 7155 | </td> |
| 7156 | <td style="text-align:right;"> |
| 7157 | 4 |
| 7158 | </td> |
| 7159 | <td style="text-align:right;"> |
| 7160 | 108 |
| 7161 | </td> |
| 7162 | <td style="text-align:right;"> |
| 7163 | 93 |
| 7164 | </td> |
| 7165 | <td style="text-align:right;"> |
| 7166 | 3.85 |
| 7167 | </td> |
| 7168 | <td style="text-align:right;"> |
| 7169 | 2.320 |
| 7170 | </td> |
| 7171 | </tr> |
| 7172 | <tr> |
| 7173 | <td style="text-align:left;"> |
| 7174 | Hornet 4 Drive |
| 7175 | </td> |
| 7176 | <td style="text-align:right;"> |
| 7177 | 21.4 |
| 7178 | </td> |
| 7179 | <td style="text-align:right;"> |
| 7180 | 6 |
| 7181 | </td> |
| 7182 | <td style="text-align:right;"> |
| 7183 | 258 |
| 7184 | </td> |
| 7185 | <td style="text-align:right;"> |
| 7186 | 110 |
| 7187 | </td> |
| 7188 | <td style="text-align:right;"> |
| 7189 | 3.08 |
| 7190 | </td> |
| 7191 | <td style="text-align:right;"> |
| 7192 | 3.215 |
| 7193 | </td> |
| 7194 | </tr> |
| 7195 | <tr> |
| 7196 | <td style="text-align:left;"> |
| 7197 | Hornet Sportabout |
| 7198 | </td> |
| 7199 | <td style="text-align:right;"> |
| 7200 | 18.7 |
| 7201 | </td> |
| 7202 | <td style="text-align:right;"> |
| 7203 | 8 |
| 7204 | </td> |
| 7205 | <td style="text-align:right;"> |
| 7206 | 360 |
| 7207 | </td> |
| 7208 | <td style="text-align:right;"> |
| 7209 | 175 |
| 7210 | </td> |
| 7211 | <td style="text-align:right;"> |
| 7212 | 3.15 |
| 7213 | </td> |
| 7214 | <td style="text-align:right;"> |
| 7215 | 3.440 |
| 7216 | </td> |
| 7217 | </tr> |
| 7218 | </tbody> |
| 7219 | </table> |
| 7220 | <pre class="r"><code>dt %>% |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 7221 | kbl() %>% |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 7222 | kable_material(c("striped", "hover"))</code></pre> |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 7223 | <table class=" lightable-material lightable-striped lightable-hover" style="font-family: "Source Sans Pro", helvetica, sans-serif; margin-left: auto; margin-right: auto;"> |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 7224 | <thead> |
| 7225 | <tr> |
| 7226 | <th style="text-align:left;"> |
| 7227 | </th> |
| 7228 | <th style="text-align:right;"> |
| 7229 | mpg |
| 7230 | </th> |
| 7231 | <th style="text-align:right;"> |
| 7232 | cyl |
| 7233 | </th> |
| 7234 | <th style="text-align:right;"> |
| 7235 | disp |
| 7236 | </th> |
| 7237 | <th style="text-align:right;"> |
| 7238 | hp |
| 7239 | </th> |
| 7240 | <th style="text-align:right;"> |
| 7241 | drat |
| 7242 | </th> |
| 7243 | <th style="text-align:right;"> |
| 7244 | wt |
| 7245 | </th> |
| 7246 | </tr> |
| 7247 | </thead> |
| 7248 | <tbody> |
| 7249 | <tr> |
| 7250 | <td style="text-align:left;"> |
| 7251 | Mazda RX4 |
| 7252 | </td> |
| 7253 | <td style="text-align:right;"> |
| 7254 | 21.0 |
| 7255 | </td> |
| 7256 | <td style="text-align:right;"> |
| 7257 | 6 |
| 7258 | </td> |
| 7259 | <td style="text-align:right;"> |
| 7260 | 160 |
| 7261 | </td> |
| 7262 | <td style="text-align:right;"> |
| 7263 | 110 |
| 7264 | </td> |
| 7265 | <td style="text-align:right;"> |
| 7266 | 3.90 |
| 7267 | </td> |
| 7268 | <td style="text-align:right;"> |
| 7269 | 2.620 |
| 7270 | </td> |
| 7271 | </tr> |
| 7272 | <tr> |
| 7273 | <td style="text-align:left;"> |
| 7274 | Mazda RX4 Wag |
| 7275 | </td> |
| 7276 | <td style="text-align:right;"> |
| 7277 | 21.0 |
| 7278 | </td> |
| 7279 | <td style="text-align:right;"> |
| 7280 | 6 |
| 7281 | </td> |
| 7282 | <td style="text-align:right;"> |
| 7283 | 160 |
| 7284 | </td> |
| 7285 | <td style="text-align:right;"> |
| 7286 | 110 |
| 7287 | </td> |
| 7288 | <td style="text-align:right;"> |
| 7289 | 3.90 |
| 7290 | </td> |
| 7291 | <td style="text-align:right;"> |
| 7292 | 2.875 |
| 7293 | </td> |
| 7294 | </tr> |
| 7295 | <tr> |
| 7296 | <td style="text-align:left;"> |
| 7297 | Datsun 710 |
| 7298 | </td> |
| 7299 | <td style="text-align:right;"> |
| 7300 | 22.8 |
| 7301 | </td> |
| 7302 | <td style="text-align:right;"> |
| 7303 | 4 |
| 7304 | </td> |
| 7305 | <td style="text-align:right;"> |
| 7306 | 108 |
| 7307 | </td> |
| 7308 | <td style="text-align:right;"> |
| 7309 | 93 |
| 7310 | </td> |
| 7311 | <td style="text-align:right;"> |
| 7312 | 3.85 |
| 7313 | </td> |
| 7314 | <td style="text-align:right;"> |
| 7315 | 2.320 |
| 7316 | </td> |
| 7317 | </tr> |
| 7318 | <tr> |
| 7319 | <td style="text-align:left;"> |
| 7320 | Hornet 4 Drive |
| 7321 | </td> |
| 7322 | <td style="text-align:right;"> |
| 7323 | 21.4 |
| 7324 | </td> |
| 7325 | <td style="text-align:right;"> |
| 7326 | 6 |
| 7327 | </td> |
| 7328 | <td style="text-align:right;"> |
| 7329 | 258 |
| 7330 | </td> |
| 7331 | <td style="text-align:right;"> |
| 7332 | 110 |
| 7333 | </td> |
| 7334 | <td style="text-align:right;"> |
| 7335 | 3.08 |
| 7336 | </td> |
| 7337 | <td style="text-align:right;"> |
| 7338 | 3.215 |
| 7339 | </td> |
| 7340 | </tr> |
| 7341 | <tr> |
| 7342 | <td style="text-align:left;"> |
| 7343 | Hornet Sportabout |
| 7344 | </td> |
| 7345 | <td style="text-align:right;"> |
| 7346 | 18.7 |
| 7347 | </td> |
| 7348 | <td style="text-align:right;"> |
| 7349 | 8 |
| 7350 | </td> |
| 7351 | <td style="text-align:right;"> |
| 7352 | 360 |
| 7353 | </td> |
| 7354 | <td style="text-align:right;"> |
| 7355 | 175 |
| 7356 | </td> |
| 7357 | <td style="text-align:right;"> |
| 7358 | 3.15 |
| 7359 | </td> |
| 7360 | <td style="text-align:right;"> |
| 7361 | 3.440 |
| 7362 | </td> |
| 7363 | </tr> |
| 7364 | </tbody> |
| 7365 | </table> |
Hao Zhu | 9bf1998 | 2020-08-11 00:50:33 -0400 | [diff] [blame] | 7366 | <pre class="r"><code>dt %>% |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 7367 | kbl() %>% |
Hao Zhu | 9bf1998 | 2020-08-11 00:50:33 -0400 | [diff] [blame] | 7368 | kable_material_dark()</code></pre> |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 7369 | <table class=" lightable-material-dark" style="font-family: "Source Sans Pro", helvetica, sans-serif; margin-left: auto; margin-right: auto;"> |
Hao Zhu | 9bf1998 | 2020-08-11 00:50:33 -0400 | [diff] [blame] | 7370 | <thead> |
| 7371 | <tr> |
| 7372 | <th style="text-align:left;"> |
| 7373 | </th> |
| 7374 | <th style="text-align:right;"> |
| 7375 | mpg |
| 7376 | </th> |
| 7377 | <th style="text-align:right;"> |
| 7378 | cyl |
| 7379 | </th> |
| 7380 | <th style="text-align:right;"> |
| 7381 | disp |
| 7382 | </th> |
| 7383 | <th style="text-align:right;"> |
| 7384 | hp |
| 7385 | </th> |
| 7386 | <th style="text-align:right;"> |
| 7387 | drat |
| 7388 | </th> |
| 7389 | <th style="text-align:right;"> |
| 7390 | wt |
| 7391 | </th> |
| 7392 | </tr> |
| 7393 | </thead> |
| 7394 | <tbody> |
| 7395 | <tr> |
| 7396 | <td style="text-align:left;"> |
| 7397 | Mazda RX4 |
| 7398 | </td> |
| 7399 | <td style="text-align:right;"> |
| 7400 | 21.0 |
| 7401 | </td> |
| 7402 | <td style="text-align:right;"> |
| 7403 | 6 |
| 7404 | </td> |
| 7405 | <td style="text-align:right;"> |
| 7406 | 160 |
| 7407 | </td> |
| 7408 | <td style="text-align:right;"> |
| 7409 | 110 |
| 7410 | </td> |
| 7411 | <td style="text-align:right;"> |
| 7412 | 3.90 |
| 7413 | </td> |
| 7414 | <td style="text-align:right;"> |
| 7415 | 2.620 |
| 7416 | </td> |
| 7417 | </tr> |
| 7418 | <tr> |
| 7419 | <td style="text-align:left;"> |
| 7420 | Mazda RX4 Wag |
| 7421 | </td> |
| 7422 | <td style="text-align:right;"> |
| 7423 | 21.0 |
| 7424 | </td> |
| 7425 | <td style="text-align:right;"> |
| 7426 | 6 |
| 7427 | </td> |
| 7428 | <td style="text-align:right;"> |
| 7429 | 160 |
| 7430 | </td> |
| 7431 | <td style="text-align:right;"> |
| 7432 | 110 |
| 7433 | </td> |
| 7434 | <td style="text-align:right;"> |
| 7435 | 3.90 |
| 7436 | </td> |
| 7437 | <td style="text-align:right;"> |
| 7438 | 2.875 |
| 7439 | </td> |
| 7440 | </tr> |
| 7441 | <tr> |
| 7442 | <td style="text-align:left;"> |
| 7443 | Datsun 710 |
| 7444 | </td> |
| 7445 | <td style="text-align:right;"> |
| 7446 | 22.8 |
| 7447 | </td> |
| 7448 | <td style="text-align:right;"> |
| 7449 | 4 |
| 7450 | </td> |
| 7451 | <td style="text-align:right;"> |
| 7452 | 108 |
| 7453 | </td> |
| 7454 | <td style="text-align:right;"> |
| 7455 | 93 |
| 7456 | </td> |
| 7457 | <td style="text-align:right;"> |
| 7458 | 3.85 |
| 7459 | </td> |
| 7460 | <td style="text-align:right;"> |
| 7461 | 2.320 |
| 7462 | </td> |
| 7463 | </tr> |
| 7464 | <tr> |
| 7465 | <td style="text-align:left;"> |
| 7466 | Hornet 4 Drive |
| 7467 | </td> |
| 7468 | <td style="text-align:right;"> |
| 7469 | 21.4 |
| 7470 | </td> |
| 7471 | <td style="text-align:right;"> |
| 7472 | 6 |
| 7473 | </td> |
| 7474 | <td style="text-align:right;"> |
| 7475 | 258 |
| 7476 | </td> |
| 7477 | <td style="text-align:right;"> |
| 7478 | 110 |
| 7479 | </td> |
| 7480 | <td style="text-align:right;"> |
| 7481 | 3.08 |
| 7482 | </td> |
| 7483 | <td style="text-align:right;"> |
| 7484 | 3.215 |
| 7485 | </td> |
| 7486 | </tr> |
| 7487 | <tr> |
| 7488 | <td style="text-align:left;"> |
| 7489 | Hornet Sportabout |
| 7490 | </td> |
| 7491 | <td style="text-align:right;"> |
| 7492 | 18.7 |
| 7493 | </td> |
| 7494 | <td style="text-align:right;"> |
| 7495 | 8 |
| 7496 | </td> |
| 7497 | <td style="text-align:right;"> |
| 7498 | 360 |
| 7499 | </td> |
| 7500 | <td style="text-align:right;"> |
| 7501 | 175 |
| 7502 | </td> |
| 7503 | <td style="text-align:right;"> |
| 7504 | 3.15 |
| 7505 | </td> |
| 7506 | <td style="text-align:right;"> |
| 7507 | 3.440 |
| 7508 | </td> |
| 7509 | </tr> |
| 7510 | </tbody> |
| 7511 | </table> |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 7512 | </div> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 7513 | </div> |
| 7514 | <div id="table-styles" class="section level1"> |
| 7515 | <h1>Table Styles</h1> |
Hao Zhu | 462b449 | 2017-08-03 11:31:42 -0400 | [diff] [blame] | 7516 | <p><code>kable_styling</code> offers a few other ways to customize the look of a HTML table.</p> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 7517 | <div id="bootstrap-table-classes" class="section level2"> |
| 7518 | <h2>Bootstrap table classes</h2> |
Hao Zhu | e2706b3 | 2017-03-07 02:36:17 -0500 | [diff] [blame] | 7519 | <p>If you are familiar with twitter bootstrap, you probably have already known its predefined classes, including <code>striped</code>, <code>bordered</code>, <code>hover</code>, <code>condensed</code> and <code>responsive</code>. If you are not familiar, no worries, you can take a look at their <a href="http://getbootstrap.com/css/#tables">documentation site</a> to get a sense of how they look like. All of these options are available here.</p> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 7520 | <p>For example, to add striped lines (alternative row colors) to your table and you want to highlight the hovered row, you can simply type:</p> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 7521 | <pre class="r"><code>kbl(dt) %>% |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 7522 | kable_styling(bootstrap_options = c("striped", "hover"))</code></pre> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 7523 | <table class="table table-striped table-hover" style="margin-left: auto; margin-right: auto;"> |
| 7524 | <thead> |
| 7525 | <tr> |
| 7526 | <th style="text-align:left;"> |
| 7527 | </th> |
| 7528 | <th style="text-align:right;"> |
| 7529 | mpg |
| 7530 | </th> |
| 7531 | <th style="text-align:right;"> |
| 7532 | cyl |
| 7533 | </th> |
| 7534 | <th style="text-align:right;"> |
| 7535 | disp |
| 7536 | </th> |
| 7537 | <th style="text-align:right;"> |
| 7538 | hp |
| 7539 | </th> |
| 7540 | <th style="text-align:right;"> |
| 7541 | drat |
| 7542 | </th> |
| 7543 | <th style="text-align:right;"> |
| 7544 | wt |
| 7545 | </th> |
| 7546 | </tr> |
| 7547 | </thead> |
| 7548 | <tbody> |
| 7549 | <tr> |
| 7550 | <td style="text-align:left;"> |
| 7551 | Mazda RX4 |
| 7552 | </td> |
| 7553 | <td style="text-align:right;"> |
| 7554 | 21.0 |
| 7555 | </td> |
| 7556 | <td style="text-align:right;"> |
| 7557 | 6 |
| 7558 | </td> |
| 7559 | <td style="text-align:right;"> |
| 7560 | 160 |
| 7561 | </td> |
| 7562 | <td style="text-align:right;"> |
| 7563 | 110 |
| 7564 | </td> |
| 7565 | <td style="text-align:right;"> |
| 7566 | 3.90 |
| 7567 | </td> |
| 7568 | <td style="text-align:right;"> |
| 7569 | 2.620 |
| 7570 | </td> |
| 7571 | </tr> |
| 7572 | <tr> |
| 7573 | <td style="text-align:left;"> |
| 7574 | Mazda RX4 Wag |
| 7575 | </td> |
| 7576 | <td style="text-align:right;"> |
| 7577 | 21.0 |
| 7578 | </td> |
| 7579 | <td style="text-align:right;"> |
| 7580 | 6 |
| 7581 | </td> |
| 7582 | <td style="text-align:right;"> |
| 7583 | 160 |
| 7584 | </td> |
| 7585 | <td style="text-align:right;"> |
| 7586 | 110 |
| 7587 | </td> |
| 7588 | <td style="text-align:right;"> |
| 7589 | 3.90 |
| 7590 | </td> |
| 7591 | <td style="text-align:right;"> |
| 7592 | 2.875 |
| 7593 | </td> |
| 7594 | </tr> |
| 7595 | <tr> |
| 7596 | <td style="text-align:left;"> |
| 7597 | Datsun 710 |
| 7598 | </td> |
| 7599 | <td style="text-align:right;"> |
| 7600 | 22.8 |
| 7601 | </td> |
| 7602 | <td style="text-align:right;"> |
| 7603 | 4 |
| 7604 | </td> |
| 7605 | <td style="text-align:right;"> |
| 7606 | 108 |
| 7607 | </td> |
| 7608 | <td style="text-align:right;"> |
| 7609 | 93 |
| 7610 | </td> |
| 7611 | <td style="text-align:right;"> |
| 7612 | 3.85 |
| 7613 | </td> |
| 7614 | <td style="text-align:right;"> |
| 7615 | 2.320 |
| 7616 | </td> |
| 7617 | </tr> |
| 7618 | <tr> |
| 7619 | <td style="text-align:left;"> |
| 7620 | Hornet 4 Drive |
| 7621 | </td> |
| 7622 | <td style="text-align:right;"> |
| 7623 | 21.4 |
| 7624 | </td> |
| 7625 | <td style="text-align:right;"> |
| 7626 | 6 |
| 7627 | </td> |
| 7628 | <td style="text-align:right;"> |
| 7629 | 258 |
| 7630 | </td> |
| 7631 | <td style="text-align:right;"> |
| 7632 | 110 |
| 7633 | </td> |
| 7634 | <td style="text-align:right;"> |
| 7635 | 3.08 |
| 7636 | </td> |
| 7637 | <td style="text-align:right;"> |
| 7638 | 3.215 |
| 7639 | </td> |
| 7640 | </tr> |
| 7641 | <tr> |
| 7642 | <td style="text-align:left;"> |
| 7643 | Hornet Sportabout |
| 7644 | </td> |
| 7645 | <td style="text-align:right;"> |
| 7646 | 18.7 |
| 7647 | </td> |
| 7648 | <td style="text-align:right;"> |
| 7649 | 8 |
| 7650 | </td> |
| 7651 | <td style="text-align:right;"> |
| 7652 | 360 |
| 7653 | </td> |
| 7654 | <td style="text-align:right;"> |
| 7655 | 175 |
| 7656 | </td> |
| 7657 | <td style="text-align:right;"> |
| 7658 | 3.15 |
| 7659 | </td> |
| 7660 | <td style="text-align:right;"> |
| 7661 | 3.440 |
| 7662 | </td> |
| 7663 | </tr> |
| 7664 | </tbody> |
| 7665 | </table> |
| 7666 | <p>The option <code>condensed</code> can also be handy in many cases when you don’t want your table to be too large. It has slightly shorter row height.</p> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 7667 | <pre class="r"><code>kbl(dt) %>% |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 7668 | kable_styling(bootstrap_options = c("striped", "hover", "condensed"))</code></pre> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 7669 | <table class="table table-striped table-hover table-condensed" style="margin-left: auto; margin-right: auto;"> |
| 7670 | <thead> |
| 7671 | <tr> |
| 7672 | <th style="text-align:left;"> |
| 7673 | </th> |
| 7674 | <th style="text-align:right;"> |
| 7675 | mpg |
| 7676 | </th> |
| 7677 | <th style="text-align:right;"> |
| 7678 | cyl |
| 7679 | </th> |
| 7680 | <th style="text-align:right;"> |
| 7681 | disp |
| 7682 | </th> |
| 7683 | <th style="text-align:right;"> |
| 7684 | hp |
| 7685 | </th> |
| 7686 | <th style="text-align:right;"> |
| 7687 | drat |
| 7688 | </th> |
| 7689 | <th style="text-align:right;"> |
| 7690 | wt |
| 7691 | </th> |
| 7692 | </tr> |
| 7693 | </thead> |
| 7694 | <tbody> |
| 7695 | <tr> |
| 7696 | <td style="text-align:left;"> |
| 7697 | Mazda RX4 |
| 7698 | </td> |
| 7699 | <td style="text-align:right;"> |
| 7700 | 21.0 |
| 7701 | </td> |
| 7702 | <td style="text-align:right;"> |
| 7703 | 6 |
| 7704 | </td> |
| 7705 | <td style="text-align:right;"> |
| 7706 | 160 |
| 7707 | </td> |
| 7708 | <td style="text-align:right;"> |
| 7709 | 110 |
| 7710 | </td> |
| 7711 | <td style="text-align:right;"> |
| 7712 | 3.90 |
| 7713 | </td> |
| 7714 | <td style="text-align:right;"> |
| 7715 | 2.620 |
| 7716 | </td> |
| 7717 | </tr> |
| 7718 | <tr> |
| 7719 | <td style="text-align:left;"> |
| 7720 | Mazda RX4 Wag |
| 7721 | </td> |
| 7722 | <td style="text-align:right;"> |
| 7723 | 21.0 |
| 7724 | </td> |
| 7725 | <td style="text-align:right;"> |
| 7726 | 6 |
| 7727 | </td> |
| 7728 | <td style="text-align:right;"> |
| 7729 | 160 |
| 7730 | </td> |
| 7731 | <td style="text-align:right;"> |
| 7732 | 110 |
| 7733 | </td> |
| 7734 | <td style="text-align:right;"> |
| 7735 | 3.90 |
| 7736 | </td> |
| 7737 | <td style="text-align:right;"> |
| 7738 | 2.875 |
| 7739 | </td> |
| 7740 | </tr> |
| 7741 | <tr> |
| 7742 | <td style="text-align:left;"> |
| 7743 | Datsun 710 |
| 7744 | </td> |
| 7745 | <td style="text-align:right;"> |
| 7746 | 22.8 |
| 7747 | </td> |
| 7748 | <td style="text-align:right;"> |
| 7749 | 4 |
| 7750 | </td> |
| 7751 | <td style="text-align:right;"> |
| 7752 | 108 |
| 7753 | </td> |
| 7754 | <td style="text-align:right;"> |
| 7755 | 93 |
| 7756 | </td> |
| 7757 | <td style="text-align:right;"> |
| 7758 | 3.85 |
| 7759 | </td> |
| 7760 | <td style="text-align:right;"> |
| 7761 | 2.320 |
| 7762 | </td> |
| 7763 | </tr> |
| 7764 | <tr> |
| 7765 | <td style="text-align:left;"> |
| 7766 | Hornet 4 Drive |
| 7767 | </td> |
| 7768 | <td style="text-align:right;"> |
| 7769 | 21.4 |
| 7770 | </td> |
| 7771 | <td style="text-align:right;"> |
| 7772 | 6 |
| 7773 | </td> |
| 7774 | <td style="text-align:right;"> |
| 7775 | 258 |
| 7776 | </td> |
| 7777 | <td style="text-align:right;"> |
| 7778 | 110 |
| 7779 | </td> |
| 7780 | <td style="text-align:right;"> |
| 7781 | 3.08 |
| 7782 | </td> |
| 7783 | <td style="text-align:right;"> |
| 7784 | 3.215 |
| 7785 | </td> |
| 7786 | </tr> |
| 7787 | <tr> |
| 7788 | <td style="text-align:left;"> |
| 7789 | Hornet Sportabout |
| 7790 | </td> |
| 7791 | <td style="text-align:right;"> |
| 7792 | 18.7 |
| 7793 | </td> |
| 7794 | <td style="text-align:right;"> |
| 7795 | 8 |
| 7796 | </td> |
| 7797 | <td style="text-align:right;"> |
| 7798 | 360 |
| 7799 | </td> |
| 7800 | <td style="text-align:right;"> |
| 7801 | 175 |
| 7802 | </td> |
| 7803 | <td style="text-align:right;"> |
| 7804 | 3.15 |
| 7805 | </td> |
| 7806 | <td style="text-align:right;"> |
| 7807 | 3.440 |
| 7808 | </td> |
| 7809 | </tr> |
| 7810 | </tbody> |
| 7811 | </table> |
| 7812 | <p>Tables with option <code>responsive</code> looks the same with others on a large screen. However, on a small screen like phone, they are horizontally scrollable. Please resize your window to see the result.</p> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 7813 | <pre class="r"><code>kbl(dt) %>% |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 7814 | kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))</code></pre> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 7815 | <table class="table table-striped table-hover table-condensed table-responsive" style="margin-left: auto; margin-right: auto;"> |
| 7816 | <thead> |
| 7817 | <tr> |
| 7818 | <th style="text-align:left;"> |
| 7819 | </th> |
| 7820 | <th style="text-align:right;"> |
| 7821 | mpg |
| 7822 | </th> |
| 7823 | <th style="text-align:right;"> |
| 7824 | cyl |
| 7825 | </th> |
| 7826 | <th style="text-align:right;"> |
| 7827 | disp |
| 7828 | </th> |
| 7829 | <th style="text-align:right;"> |
| 7830 | hp |
| 7831 | </th> |
| 7832 | <th style="text-align:right;"> |
| 7833 | drat |
| 7834 | </th> |
| 7835 | <th style="text-align:right;"> |
| 7836 | wt |
| 7837 | </th> |
| 7838 | </tr> |
| 7839 | </thead> |
| 7840 | <tbody> |
| 7841 | <tr> |
| 7842 | <td style="text-align:left;"> |
| 7843 | Mazda RX4 |
| 7844 | </td> |
| 7845 | <td style="text-align:right;"> |
| 7846 | 21.0 |
| 7847 | </td> |
| 7848 | <td style="text-align:right;"> |
| 7849 | 6 |
| 7850 | </td> |
| 7851 | <td style="text-align:right;"> |
| 7852 | 160 |
| 7853 | </td> |
| 7854 | <td style="text-align:right;"> |
| 7855 | 110 |
| 7856 | </td> |
| 7857 | <td style="text-align:right;"> |
| 7858 | 3.90 |
| 7859 | </td> |
| 7860 | <td style="text-align:right;"> |
| 7861 | 2.620 |
| 7862 | </td> |
| 7863 | </tr> |
| 7864 | <tr> |
| 7865 | <td style="text-align:left;"> |
| 7866 | Mazda RX4 Wag |
| 7867 | </td> |
| 7868 | <td style="text-align:right;"> |
| 7869 | 21.0 |
| 7870 | </td> |
| 7871 | <td style="text-align:right;"> |
| 7872 | 6 |
| 7873 | </td> |
| 7874 | <td style="text-align:right;"> |
| 7875 | 160 |
| 7876 | </td> |
| 7877 | <td style="text-align:right;"> |
| 7878 | 110 |
| 7879 | </td> |
| 7880 | <td style="text-align:right;"> |
| 7881 | 3.90 |
| 7882 | </td> |
| 7883 | <td style="text-align:right;"> |
| 7884 | 2.875 |
| 7885 | </td> |
| 7886 | </tr> |
| 7887 | <tr> |
| 7888 | <td style="text-align:left;"> |
| 7889 | Datsun 710 |
| 7890 | </td> |
| 7891 | <td style="text-align:right;"> |
| 7892 | 22.8 |
| 7893 | </td> |
| 7894 | <td style="text-align:right;"> |
| 7895 | 4 |
| 7896 | </td> |
| 7897 | <td style="text-align:right;"> |
| 7898 | 108 |
| 7899 | </td> |
| 7900 | <td style="text-align:right;"> |
| 7901 | 93 |
| 7902 | </td> |
| 7903 | <td style="text-align:right;"> |
| 7904 | 3.85 |
| 7905 | </td> |
| 7906 | <td style="text-align:right;"> |
| 7907 | 2.320 |
| 7908 | </td> |
| 7909 | </tr> |
| 7910 | <tr> |
| 7911 | <td style="text-align:left;"> |
| 7912 | Hornet 4 Drive |
| 7913 | </td> |
| 7914 | <td style="text-align:right;"> |
| 7915 | 21.4 |
| 7916 | </td> |
| 7917 | <td style="text-align:right;"> |
| 7918 | 6 |
| 7919 | </td> |
| 7920 | <td style="text-align:right;"> |
| 7921 | 258 |
| 7922 | </td> |
| 7923 | <td style="text-align:right;"> |
| 7924 | 110 |
| 7925 | </td> |
| 7926 | <td style="text-align:right;"> |
| 7927 | 3.08 |
| 7928 | </td> |
| 7929 | <td style="text-align:right;"> |
| 7930 | 3.215 |
| 7931 | </td> |
| 7932 | </tr> |
| 7933 | <tr> |
| 7934 | <td style="text-align:left;"> |
| 7935 | Hornet Sportabout |
| 7936 | </td> |
| 7937 | <td style="text-align:right;"> |
| 7938 | 18.7 |
| 7939 | </td> |
| 7940 | <td style="text-align:right;"> |
| 7941 | 8 |
| 7942 | </td> |
| 7943 | <td style="text-align:right;"> |
| 7944 | 360 |
| 7945 | </td> |
| 7946 | <td style="text-align:right;"> |
| 7947 | 175 |
| 7948 | </td> |
| 7949 | <td style="text-align:right;"> |
| 7950 | 3.15 |
| 7951 | </td> |
| 7952 | <td style="text-align:right;"> |
| 7953 | 3.440 |
| 7954 | </td> |
| 7955 | </tr> |
| 7956 | </tbody> |
| 7957 | </table> |
| 7958 | </div> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 7959 | <div id="full-width" class="section level2"> |
| 7960 | <h2>Full width?</h2> |
Hao Zhu | bf4cdc6 | 2017-03-02 22:26:29 -0500 | [diff] [blame] | 7961 | <p>By default, a bootstrap table takes 100% of the width. It is supposed to use together with its grid system to scale the table properly. However, when you are writing a rmarkdown document, you probably don’t want to write your own css/or grid. For some small tables with only few columns, a page wide table looks awful. To make it easier, you can specify whether you want the table to have <code>full_width</code> or not in <code>kable_styling</code>. By default, <code>full_width</code> is set to be <code>TRUE</code> for HTML tables (note that for LaTeX, the default is <code>FALSE</code> since I don’t want to change the “common” looks unless you specified it.)</p> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 7962 | <pre class="r"><code>kbl(dt) %>% |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 7963 | kable_paper(bootstrap_options = "striped", full_width = F)</code></pre> |
| 7964 | <table class=" lightable-paper" style="font-family: "Arial Narrow", arial, helvetica, sans-serif; width: auto !important; margin-left: auto; margin-right: auto;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 7965 | <thead> |
| 7966 | <tr> |
| 7967 | <th style="text-align:left;"> |
| 7968 | </th> |
| 7969 | <th style="text-align:right;"> |
| 7970 | mpg |
| 7971 | </th> |
| 7972 | <th style="text-align:right;"> |
| 7973 | cyl |
| 7974 | </th> |
| 7975 | <th style="text-align:right;"> |
| 7976 | disp |
| 7977 | </th> |
| 7978 | <th style="text-align:right;"> |
| 7979 | hp |
| 7980 | </th> |
| 7981 | <th style="text-align:right;"> |
| 7982 | drat |
| 7983 | </th> |
| 7984 | <th style="text-align:right;"> |
| 7985 | wt |
| 7986 | </th> |
| 7987 | </tr> |
| 7988 | </thead> |
| 7989 | <tbody> |
| 7990 | <tr> |
| 7991 | <td style="text-align:left;"> |
| 7992 | Mazda RX4 |
| 7993 | </td> |
| 7994 | <td style="text-align:right;"> |
| 7995 | 21.0 |
| 7996 | </td> |
| 7997 | <td style="text-align:right;"> |
| 7998 | 6 |
| 7999 | </td> |
| 8000 | <td style="text-align:right;"> |
| 8001 | 160 |
| 8002 | </td> |
| 8003 | <td style="text-align:right;"> |
| 8004 | 110 |
| 8005 | </td> |
| 8006 | <td style="text-align:right;"> |
| 8007 | 3.90 |
| 8008 | </td> |
| 8009 | <td style="text-align:right;"> |
| 8010 | 2.620 |
| 8011 | </td> |
| 8012 | </tr> |
| 8013 | <tr> |
| 8014 | <td style="text-align:left;"> |
| 8015 | Mazda RX4 Wag |
| 8016 | </td> |
| 8017 | <td style="text-align:right;"> |
| 8018 | 21.0 |
| 8019 | </td> |
| 8020 | <td style="text-align:right;"> |
| 8021 | 6 |
| 8022 | </td> |
| 8023 | <td style="text-align:right;"> |
| 8024 | 160 |
| 8025 | </td> |
| 8026 | <td style="text-align:right;"> |
| 8027 | 110 |
| 8028 | </td> |
| 8029 | <td style="text-align:right;"> |
| 8030 | 3.90 |
| 8031 | </td> |
| 8032 | <td style="text-align:right;"> |
| 8033 | 2.875 |
| 8034 | </td> |
| 8035 | </tr> |
| 8036 | <tr> |
| 8037 | <td style="text-align:left;"> |
| 8038 | Datsun 710 |
| 8039 | </td> |
| 8040 | <td style="text-align:right;"> |
| 8041 | 22.8 |
| 8042 | </td> |
| 8043 | <td style="text-align:right;"> |
| 8044 | 4 |
| 8045 | </td> |
| 8046 | <td style="text-align:right;"> |
| 8047 | 108 |
| 8048 | </td> |
| 8049 | <td style="text-align:right;"> |
| 8050 | 93 |
| 8051 | </td> |
| 8052 | <td style="text-align:right;"> |
| 8053 | 3.85 |
| 8054 | </td> |
| 8055 | <td style="text-align:right;"> |
| 8056 | 2.320 |
| 8057 | </td> |
| 8058 | </tr> |
| 8059 | <tr> |
| 8060 | <td style="text-align:left;"> |
| 8061 | Hornet 4 Drive |
| 8062 | </td> |
| 8063 | <td style="text-align:right;"> |
| 8064 | 21.4 |
| 8065 | </td> |
| 8066 | <td style="text-align:right;"> |
| 8067 | 6 |
| 8068 | </td> |
| 8069 | <td style="text-align:right;"> |
| 8070 | 258 |
| 8071 | </td> |
| 8072 | <td style="text-align:right;"> |
| 8073 | 110 |
| 8074 | </td> |
| 8075 | <td style="text-align:right;"> |
| 8076 | 3.08 |
| 8077 | </td> |
| 8078 | <td style="text-align:right;"> |
| 8079 | 3.215 |
| 8080 | </td> |
| 8081 | </tr> |
| 8082 | <tr> |
| 8083 | <td style="text-align:left;"> |
| 8084 | Hornet Sportabout |
| 8085 | </td> |
| 8086 | <td style="text-align:right;"> |
| 8087 | 18.7 |
| 8088 | </td> |
| 8089 | <td style="text-align:right;"> |
| 8090 | 8 |
| 8091 | </td> |
| 8092 | <td style="text-align:right;"> |
| 8093 | 360 |
| 8094 | </td> |
| 8095 | <td style="text-align:right;"> |
| 8096 | 175 |
| 8097 | </td> |
| 8098 | <td style="text-align:right;"> |
| 8099 | 3.15 |
| 8100 | </td> |
| 8101 | <td style="text-align:right;"> |
| 8102 | 3.440 |
| 8103 | </td> |
| 8104 | </tr> |
| 8105 | </tbody> |
| 8106 | </table> |
| 8107 | </div> |
| 8108 | <div id="position" class="section level2"> |
| 8109 | <h2>Position</h2> |
| 8110 | <p>Table Position only matters when the table doesn’t have <code>full_width</code>. You can choose to align the table to <code>center</code>, <code>left</code> or <code>right</code> side of the page</p> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 8111 | <pre class="r"><code>kbl(dt) %>% |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 8112 | kable_styling(bootstrap_options = "striped", full_width = F, position = "left")</code></pre> |
Hao Zhu | fd516ba | 2017-07-28 14:30:25 -0400 | [diff] [blame] | 8113 | <table class="table table-striped" style="width: auto !important; "> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 8114 | <thead> |
| 8115 | <tr> |
| 8116 | <th style="text-align:left;"> |
| 8117 | </th> |
| 8118 | <th style="text-align:right;"> |
| 8119 | mpg |
| 8120 | </th> |
| 8121 | <th style="text-align:right;"> |
| 8122 | cyl |
| 8123 | </th> |
| 8124 | <th style="text-align:right;"> |
| 8125 | disp |
| 8126 | </th> |
| 8127 | <th style="text-align:right;"> |
| 8128 | hp |
| 8129 | </th> |
| 8130 | <th style="text-align:right;"> |
| 8131 | drat |
| 8132 | </th> |
| 8133 | <th style="text-align:right;"> |
| 8134 | wt |
| 8135 | </th> |
| 8136 | </tr> |
| 8137 | </thead> |
| 8138 | <tbody> |
| 8139 | <tr> |
| 8140 | <td style="text-align:left;"> |
| 8141 | Mazda RX4 |
| 8142 | </td> |
| 8143 | <td style="text-align:right;"> |
| 8144 | 21.0 |
| 8145 | </td> |
| 8146 | <td style="text-align:right;"> |
| 8147 | 6 |
| 8148 | </td> |
| 8149 | <td style="text-align:right;"> |
| 8150 | 160 |
| 8151 | </td> |
| 8152 | <td style="text-align:right;"> |
| 8153 | 110 |
| 8154 | </td> |
| 8155 | <td style="text-align:right;"> |
| 8156 | 3.90 |
| 8157 | </td> |
| 8158 | <td style="text-align:right;"> |
| 8159 | 2.620 |
| 8160 | </td> |
| 8161 | </tr> |
| 8162 | <tr> |
| 8163 | <td style="text-align:left;"> |
| 8164 | Mazda RX4 Wag |
| 8165 | </td> |
| 8166 | <td style="text-align:right;"> |
| 8167 | 21.0 |
| 8168 | </td> |
| 8169 | <td style="text-align:right;"> |
| 8170 | 6 |
| 8171 | </td> |
| 8172 | <td style="text-align:right;"> |
| 8173 | 160 |
| 8174 | </td> |
| 8175 | <td style="text-align:right;"> |
| 8176 | 110 |
| 8177 | </td> |
| 8178 | <td style="text-align:right;"> |
| 8179 | 3.90 |
| 8180 | </td> |
| 8181 | <td style="text-align:right;"> |
| 8182 | 2.875 |
| 8183 | </td> |
| 8184 | </tr> |
| 8185 | <tr> |
| 8186 | <td style="text-align:left;"> |
| 8187 | Datsun 710 |
| 8188 | </td> |
| 8189 | <td style="text-align:right;"> |
| 8190 | 22.8 |
| 8191 | </td> |
| 8192 | <td style="text-align:right;"> |
| 8193 | 4 |
| 8194 | </td> |
| 8195 | <td style="text-align:right;"> |
| 8196 | 108 |
| 8197 | </td> |
| 8198 | <td style="text-align:right;"> |
| 8199 | 93 |
| 8200 | </td> |
| 8201 | <td style="text-align:right;"> |
| 8202 | 3.85 |
| 8203 | </td> |
| 8204 | <td style="text-align:right;"> |
| 8205 | 2.320 |
| 8206 | </td> |
| 8207 | </tr> |
| 8208 | <tr> |
| 8209 | <td style="text-align:left;"> |
| 8210 | Hornet 4 Drive |
| 8211 | </td> |
| 8212 | <td style="text-align:right;"> |
| 8213 | 21.4 |
| 8214 | </td> |
| 8215 | <td style="text-align:right;"> |
| 8216 | 6 |
| 8217 | </td> |
| 8218 | <td style="text-align:right;"> |
| 8219 | 258 |
| 8220 | </td> |
| 8221 | <td style="text-align:right;"> |
| 8222 | 110 |
| 8223 | </td> |
| 8224 | <td style="text-align:right;"> |
| 8225 | 3.08 |
| 8226 | </td> |
| 8227 | <td style="text-align:right;"> |
| 8228 | 3.215 |
| 8229 | </td> |
| 8230 | </tr> |
| 8231 | <tr> |
| 8232 | <td style="text-align:left;"> |
| 8233 | Hornet Sportabout |
| 8234 | </td> |
| 8235 | <td style="text-align:right;"> |
| 8236 | 18.7 |
| 8237 | </td> |
| 8238 | <td style="text-align:right;"> |
| 8239 | 8 |
| 8240 | </td> |
| 8241 | <td style="text-align:right;"> |
| 8242 | 360 |
| 8243 | </td> |
| 8244 | <td style="text-align:right;"> |
| 8245 | 175 |
| 8246 | </td> |
| 8247 | <td style="text-align:right;"> |
| 8248 | 3.15 |
| 8249 | </td> |
| 8250 | <td style="text-align:right;"> |
| 8251 | 3.440 |
| 8252 | </td> |
| 8253 | </tr> |
| 8254 | </tbody> |
| 8255 | </table> |
| 8256 | <p>Becides these three common options, you can also wrap text around the table using the <code>float-left</code> or <code>float-right</code> options.</p> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 8257 | <pre class="r"><code>kbl(dt) %>% |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 8258 | kable_styling(bootstrap_options = "striped", full_width = F, position = "float_right")</code></pre> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 8259 | <table class="table table-striped" style="width: auto !important; float: right; margin-left: 10px;"> |
| 8260 | <thead> |
| 8261 | <tr> |
| 8262 | <th style="text-align:left;"> |
| 8263 | </th> |
| 8264 | <th style="text-align:right;"> |
| 8265 | mpg |
| 8266 | </th> |
| 8267 | <th style="text-align:right;"> |
| 8268 | cyl |
| 8269 | </th> |
| 8270 | <th style="text-align:right;"> |
| 8271 | disp |
| 8272 | </th> |
| 8273 | <th style="text-align:right;"> |
| 8274 | hp |
| 8275 | </th> |
| 8276 | <th style="text-align:right;"> |
| 8277 | drat |
| 8278 | </th> |
| 8279 | <th style="text-align:right;"> |
| 8280 | wt |
| 8281 | </th> |
| 8282 | </tr> |
| 8283 | </thead> |
| 8284 | <tbody> |
| 8285 | <tr> |
| 8286 | <td style="text-align:left;"> |
| 8287 | Mazda RX4 |
| 8288 | </td> |
| 8289 | <td style="text-align:right;"> |
| 8290 | 21.0 |
| 8291 | </td> |
| 8292 | <td style="text-align:right;"> |
| 8293 | 6 |
| 8294 | </td> |
| 8295 | <td style="text-align:right;"> |
| 8296 | 160 |
| 8297 | </td> |
| 8298 | <td style="text-align:right;"> |
| 8299 | 110 |
| 8300 | </td> |
| 8301 | <td style="text-align:right;"> |
| 8302 | 3.90 |
| 8303 | </td> |
| 8304 | <td style="text-align:right;"> |
| 8305 | 2.620 |
| 8306 | </td> |
| 8307 | </tr> |
| 8308 | <tr> |
| 8309 | <td style="text-align:left;"> |
| 8310 | Mazda RX4 Wag |
| 8311 | </td> |
| 8312 | <td style="text-align:right;"> |
| 8313 | 21.0 |
| 8314 | </td> |
| 8315 | <td style="text-align:right;"> |
| 8316 | 6 |
| 8317 | </td> |
| 8318 | <td style="text-align:right;"> |
| 8319 | 160 |
| 8320 | </td> |
| 8321 | <td style="text-align:right;"> |
| 8322 | 110 |
| 8323 | </td> |
| 8324 | <td style="text-align:right;"> |
| 8325 | 3.90 |
| 8326 | </td> |
| 8327 | <td style="text-align:right;"> |
| 8328 | 2.875 |
| 8329 | </td> |
| 8330 | </tr> |
| 8331 | <tr> |
| 8332 | <td style="text-align:left;"> |
| 8333 | Datsun 710 |
| 8334 | </td> |
| 8335 | <td style="text-align:right;"> |
| 8336 | 22.8 |
| 8337 | </td> |
| 8338 | <td style="text-align:right;"> |
| 8339 | 4 |
| 8340 | </td> |
| 8341 | <td style="text-align:right;"> |
| 8342 | 108 |
| 8343 | </td> |
| 8344 | <td style="text-align:right;"> |
| 8345 | 93 |
| 8346 | </td> |
| 8347 | <td style="text-align:right;"> |
| 8348 | 3.85 |
| 8349 | </td> |
| 8350 | <td style="text-align:right;"> |
| 8351 | 2.320 |
| 8352 | </td> |
| 8353 | </tr> |
| 8354 | <tr> |
| 8355 | <td style="text-align:left;"> |
| 8356 | Hornet 4 Drive |
| 8357 | </td> |
| 8358 | <td style="text-align:right;"> |
| 8359 | 21.4 |
| 8360 | </td> |
| 8361 | <td style="text-align:right;"> |
| 8362 | 6 |
| 8363 | </td> |
| 8364 | <td style="text-align:right;"> |
| 8365 | 258 |
| 8366 | </td> |
| 8367 | <td style="text-align:right;"> |
| 8368 | 110 |
| 8369 | </td> |
| 8370 | <td style="text-align:right;"> |
| 8371 | 3.08 |
| 8372 | </td> |
| 8373 | <td style="text-align:right;"> |
| 8374 | 3.215 |
| 8375 | </td> |
| 8376 | </tr> |
| 8377 | <tr> |
| 8378 | <td style="text-align:left;"> |
| 8379 | Hornet Sportabout |
| 8380 | </td> |
| 8381 | <td style="text-align:right;"> |
| 8382 | 18.7 |
| 8383 | </td> |
| 8384 | <td style="text-align:right;"> |
| 8385 | 8 |
| 8386 | </td> |
| 8387 | <td style="text-align:right;"> |
| 8388 | 360 |
| 8389 | </td> |
| 8390 | <td style="text-align:right;"> |
| 8391 | 175 |
| 8392 | </td> |
| 8393 | <td style="text-align:right;"> |
| 8394 | 3.15 |
| 8395 | </td> |
| 8396 | <td style="text-align:right;"> |
| 8397 | 3.440 |
| 8398 | </td> |
| 8399 | </tr> |
| 8400 | </tbody> |
| 8401 | </table> |
| 8402 | <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras sit amet mauris in ex ultricies elementum vel rutrum dolor. Phasellus tempor convallis dui, in hendrerit mauris placerat scelerisque. Maecenas a accumsan enim, a maximus velit. Pellentesque in risus eget est faucibus convallis nec at nulla. Phasellus nec lacinia justo. Morbi fermentum, orci id varius accumsan, nibh neque porttitor ipsum, consectetur luctus risus arcu ac ex. Aenean a luctus augue. Suspendisse et auctor nisl. Suspendisse cursus ultrices quam non vulputate. Phasellus et pharetra neque, vel feugiat erat. Sed feugiat elit at mauris commodo consequat. Sed congue lectus id mattis hendrerit. Mauris turpis nisl, congue eget velit sed, imperdiet convallis magna. Nam accumsan urna risus, non feugiat odio vehicula eget.</p> |
| 8403 | </div> |
| 8404 | <div id="font-size" class="section level2"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 8405 | <h2>Font size</h2> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 8406 | <p>If one of your tables is huge and you want to use a smaller font size for that specific table, you can use the <code>font_size</code> option.</p> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 8407 | <pre class="r"><code>kbl(dt) %>% |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 8408 | kable_styling(bootstrap_options = "striped", font_size = 7)</code></pre> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 8409 | <table class="table table-striped" style="font-size: 7px; margin-left: auto; margin-right: auto;"> |
| 8410 | <thead> |
| 8411 | <tr> |
| 8412 | <th style="text-align:left;"> |
| 8413 | </th> |
| 8414 | <th style="text-align:right;"> |
| 8415 | mpg |
| 8416 | </th> |
| 8417 | <th style="text-align:right;"> |
| 8418 | cyl |
| 8419 | </th> |
| 8420 | <th style="text-align:right;"> |
| 8421 | disp |
| 8422 | </th> |
| 8423 | <th style="text-align:right;"> |
| 8424 | hp |
| 8425 | </th> |
| 8426 | <th style="text-align:right;"> |
| 8427 | drat |
| 8428 | </th> |
| 8429 | <th style="text-align:right;"> |
| 8430 | wt |
| 8431 | </th> |
| 8432 | </tr> |
| 8433 | </thead> |
| 8434 | <tbody> |
| 8435 | <tr> |
| 8436 | <td style="text-align:left;"> |
| 8437 | Mazda RX4 |
| 8438 | </td> |
| 8439 | <td style="text-align:right;"> |
| 8440 | 21.0 |
| 8441 | </td> |
| 8442 | <td style="text-align:right;"> |
| 8443 | 6 |
| 8444 | </td> |
| 8445 | <td style="text-align:right;"> |
| 8446 | 160 |
| 8447 | </td> |
| 8448 | <td style="text-align:right;"> |
| 8449 | 110 |
| 8450 | </td> |
| 8451 | <td style="text-align:right;"> |
| 8452 | 3.90 |
| 8453 | </td> |
| 8454 | <td style="text-align:right;"> |
| 8455 | 2.620 |
| 8456 | </td> |
| 8457 | </tr> |
| 8458 | <tr> |
| 8459 | <td style="text-align:left;"> |
| 8460 | Mazda RX4 Wag |
| 8461 | </td> |
| 8462 | <td style="text-align:right;"> |
| 8463 | 21.0 |
| 8464 | </td> |
| 8465 | <td style="text-align:right;"> |
| 8466 | 6 |
| 8467 | </td> |
| 8468 | <td style="text-align:right;"> |
| 8469 | 160 |
| 8470 | </td> |
| 8471 | <td style="text-align:right;"> |
| 8472 | 110 |
| 8473 | </td> |
| 8474 | <td style="text-align:right;"> |
| 8475 | 3.90 |
| 8476 | </td> |
| 8477 | <td style="text-align:right;"> |
| 8478 | 2.875 |
| 8479 | </td> |
| 8480 | </tr> |
| 8481 | <tr> |
| 8482 | <td style="text-align:left;"> |
| 8483 | Datsun 710 |
| 8484 | </td> |
| 8485 | <td style="text-align:right;"> |
| 8486 | 22.8 |
| 8487 | </td> |
| 8488 | <td style="text-align:right;"> |
| 8489 | 4 |
| 8490 | </td> |
| 8491 | <td style="text-align:right;"> |
| 8492 | 108 |
| 8493 | </td> |
| 8494 | <td style="text-align:right;"> |
| 8495 | 93 |
| 8496 | </td> |
| 8497 | <td style="text-align:right;"> |
| 8498 | 3.85 |
| 8499 | </td> |
| 8500 | <td style="text-align:right;"> |
| 8501 | 2.320 |
| 8502 | </td> |
| 8503 | </tr> |
| 8504 | <tr> |
| 8505 | <td style="text-align:left;"> |
| 8506 | Hornet 4 Drive |
| 8507 | </td> |
| 8508 | <td style="text-align:right;"> |
| 8509 | 21.4 |
| 8510 | </td> |
| 8511 | <td style="text-align:right;"> |
| 8512 | 6 |
| 8513 | </td> |
| 8514 | <td style="text-align:right;"> |
| 8515 | 258 |
| 8516 | </td> |
| 8517 | <td style="text-align:right;"> |
| 8518 | 110 |
| 8519 | </td> |
| 8520 | <td style="text-align:right;"> |
| 8521 | 3.08 |
| 8522 | </td> |
| 8523 | <td style="text-align:right;"> |
| 8524 | 3.215 |
| 8525 | </td> |
| 8526 | </tr> |
| 8527 | <tr> |
| 8528 | <td style="text-align:left;"> |
| 8529 | Hornet Sportabout |
| 8530 | </td> |
| 8531 | <td style="text-align:right;"> |
| 8532 | 18.7 |
| 8533 | </td> |
| 8534 | <td style="text-align:right;"> |
| 8535 | 8 |
| 8536 | </td> |
| 8537 | <td style="text-align:right;"> |
| 8538 | 360 |
| 8539 | </td> |
| 8540 | <td style="text-align:right;"> |
| 8541 | 175 |
| 8542 | </td> |
| 8543 | <td style="text-align:right;"> |
| 8544 | 3.15 |
| 8545 | </td> |
| 8546 | <td style="text-align:right;"> |
| 8547 | 3.440 |
| 8548 | </td> |
| 8549 | </tr> |
| 8550 | </tbody> |
| 8551 | </table> |
| 8552 | </div> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 8553 | <div id="fixed-table-header-row" class="section level2"> |
| 8554 | <h2>Fixed Table Header Row</h2> |
| 8555 | <p>If you happened to have a very long table, you may consider to use this <code>fixed_header</code> option to fix the header row on top as your readers scroll. By default, the background is set to white. If you need a different color, you can set <code>fixed_header = list(enabled = T, background = "red")</code>.</p> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 8556 | <pre class="r"><code>kbl(mtcars[1:10, 1:5]) %>% |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 8557 | kable_styling(fixed_thead = T)</code></pre> |
| 8558 | <table class="table" style="margin-left: auto; margin-right: auto;"> |
| 8559 | <thead> |
| 8560 | <tr> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 8561 | <th style="text-align:left;position: sticky; top:0; background-color: #FFFFFF;"> |
| 8562 | </th> |
| 8563 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
| 8564 | mpg |
| 8565 | </th> |
| 8566 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
| 8567 | cyl |
| 8568 | </th> |
| 8569 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
| 8570 | disp |
| 8571 | </th> |
| 8572 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
| 8573 | hp |
| 8574 | </th> |
| 8575 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
| 8576 | drat |
| 8577 | </th> |
| 8578 | </tr> |
| 8579 | </thead> |
| 8580 | <tbody> |
| 8581 | <tr> |
| 8582 | <td style="text-align:left;"> |
| 8583 | Mazda RX4 |
| 8584 | </td> |
| 8585 | <td style="text-align:right;"> |
| 8586 | 21.0 |
| 8587 | </td> |
| 8588 | <td style="text-align:right;"> |
| 8589 | 6 |
| 8590 | </td> |
| 8591 | <td style="text-align:right;"> |
| 8592 | 160.0 |
| 8593 | </td> |
| 8594 | <td style="text-align:right;"> |
| 8595 | 110 |
| 8596 | </td> |
| 8597 | <td style="text-align:right;"> |
| 8598 | 3.90 |
| 8599 | </td> |
| 8600 | </tr> |
| 8601 | <tr> |
| 8602 | <td style="text-align:left;"> |
| 8603 | Mazda RX4 Wag |
| 8604 | </td> |
| 8605 | <td style="text-align:right;"> |
| 8606 | 21.0 |
| 8607 | </td> |
| 8608 | <td style="text-align:right;"> |
| 8609 | 6 |
| 8610 | </td> |
| 8611 | <td style="text-align:right;"> |
| 8612 | 160.0 |
| 8613 | </td> |
| 8614 | <td style="text-align:right;"> |
| 8615 | 110 |
| 8616 | </td> |
| 8617 | <td style="text-align:right;"> |
| 8618 | 3.90 |
| 8619 | </td> |
| 8620 | </tr> |
| 8621 | <tr> |
| 8622 | <td style="text-align:left;"> |
| 8623 | Datsun 710 |
| 8624 | </td> |
| 8625 | <td style="text-align:right;"> |
| 8626 | 22.8 |
| 8627 | </td> |
| 8628 | <td style="text-align:right;"> |
| 8629 | 4 |
| 8630 | </td> |
| 8631 | <td style="text-align:right;"> |
| 8632 | 108.0 |
| 8633 | </td> |
| 8634 | <td style="text-align:right;"> |
| 8635 | 93 |
| 8636 | </td> |
| 8637 | <td style="text-align:right;"> |
| 8638 | 3.85 |
| 8639 | </td> |
| 8640 | </tr> |
| 8641 | <tr> |
| 8642 | <td style="text-align:left;"> |
| 8643 | Hornet 4 Drive |
| 8644 | </td> |
| 8645 | <td style="text-align:right;"> |
| 8646 | 21.4 |
| 8647 | </td> |
| 8648 | <td style="text-align:right;"> |
| 8649 | 6 |
| 8650 | </td> |
| 8651 | <td style="text-align:right;"> |
| 8652 | 258.0 |
| 8653 | </td> |
| 8654 | <td style="text-align:right;"> |
| 8655 | 110 |
| 8656 | </td> |
| 8657 | <td style="text-align:right;"> |
| 8658 | 3.08 |
| 8659 | </td> |
| 8660 | </tr> |
| 8661 | <tr> |
| 8662 | <td style="text-align:left;"> |
| 8663 | Hornet Sportabout |
| 8664 | </td> |
| 8665 | <td style="text-align:right;"> |
| 8666 | 18.7 |
| 8667 | </td> |
| 8668 | <td style="text-align:right;"> |
| 8669 | 8 |
| 8670 | </td> |
| 8671 | <td style="text-align:right;"> |
| 8672 | 360.0 |
| 8673 | </td> |
| 8674 | <td style="text-align:right;"> |
| 8675 | 175 |
| 8676 | </td> |
| 8677 | <td style="text-align:right;"> |
| 8678 | 3.15 |
| 8679 | </td> |
| 8680 | </tr> |
| 8681 | <tr> |
| 8682 | <td style="text-align:left;"> |
| 8683 | Valiant |
| 8684 | </td> |
| 8685 | <td style="text-align:right;"> |
| 8686 | 18.1 |
| 8687 | </td> |
| 8688 | <td style="text-align:right;"> |
| 8689 | 6 |
| 8690 | </td> |
| 8691 | <td style="text-align:right;"> |
| 8692 | 225.0 |
| 8693 | </td> |
| 8694 | <td style="text-align:right;"> |
| 8695 | 105 |
| 8696 | </td> |
| 8697 | <td style="text-align:right;"> |
| 8698 | 2.76 |
| 8699 | </td> |
| 8700 | </tr> |
| 8701 | <tr> |
| 8702 | <td style="text-align:left;"> |
| 8703 | Duster 360 |
| 8704 | </td> |
| 8705 | <td style="text-align:right;"> |
| 8706 | 14.3 |
| 8707 | </td> |
| 8708 | <td style="text-align:right;"> |
| 8709 | 8 |
| 8710 | </td> |
| 8711 | <td style="text-align:right;"> |
| 8712 | 360.0 |
| 8713 | </td> |
| 8714 | <td style="text-align:right;"> |
| 8715 | 245 |
| 8716 | </td> |
| 8717 | <td style="text-align:right;"> |
| 8718 | 3.21 |
| 8719 | </td> |
| 8720 | </tr> |
| 8721 | <tr> |
| 8722 | <td style="text-align:left;"> |
| 8723 | Merc 240D |
| 8724 | </td> |
| 8725 | <td style="text-align:right;"> |
| 8726 | 24.4 |
| 8727 | </td> |
| 8728 | <td style="text-align:right;"> |
| 8729 | 4 |
| 8730 | </td> |
| 8731 | <td style="text-align:right;"> |
| 8732 | 146.7 |
| 8733 | </td> |
| 8734 | <td style="text-align:right;"> |
| 8735 | 62 |
| 8736 | </td> |
| 8737 | <td style="text-align:right;"> |
| 8738 | 3.69 |
| 8739 | </td> |
| 8740 | </tr> |
| 8741 | <tr> |
| 8742 | <td style="text-align:left;"> |
| 8743 | Merc 230 |
| 8744 | </td> |
| 8745 | <td style="text-align:right;"> |
| 8746 | 22.8 |
| 8747 | </td> |
| 8748 | <td style="text-align:right;"> |
| 8749 | 4 |
| 8750 | </td> |
| 8751 | <td style="text-align:right;"> |
| 8752 | 140.8 |
| 8753 | </td> |
| 8754 | <td style="text-align:right;"> |
| 8755 | 95 |
| 8756 | </td> |
| 8757 | <td style="text-align:right;"> |
| 8758 | 3.92 |
| 8759 | </td> |
| 8760 | </tr> |
| 8761 | <tr> |
| 8762 | <td style="text-align:left;"> |
| 8763 | Merc 280 |
| 8764 | </td> |
| 8765 | <td style="text-align:right;"> |
| 8766 | 19.2 |
| 8767 | </td> |
| 8768 | <td style="text-align:right;"> |
| 8769 | 6 |
| 8770 | </td> |
| 8771 | <td style="text-align:right;"> |
| 8772 | 167.6 |
| 8773 | </td> |
| 8774 | <td style="text-align:right;"> |
| 8775 | 123 |
| 8776 | </td> |
| 8777 | <td style="text-align:right;"> |
| 8778 | 3.92 |
| 8779 | </td> |
| 8780 | </tr> |
| 8781 | </tbody> |
| 8782 | </table> |
| 8783 | </div> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 8784 | </div> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 8785 | <div id="column-row-specification" class="section level1"> |
| 8786 | <h1>Column / Row Specification</h1> |
| 8787 | <div id="column-spec" class="section level2"> |
| 8788 | <h2>Column spec</h2> |
| 8789 | <p>When you have a table with lots of explanatory texts, you may want to specified the column width for different column, since the auto adjust in HTML may not work in its best way while basic LaTeX table is really bad at handling text wrapping. Also, sometimes, you may want to highlight a column (e.g. a “Total” column) by making it bold. In these scenario, you can use <code>column_spec()</code>. You can find an example below.</p> |
| 8790 | <p>Warning: If you have a super long table, you should be cautious when you use <code>column_spec</code> as the xml node modification takes time.</p> |
| 8791 | <pre class="r"><code>text_tbl <- data.frame( |
| 8792 | Items = c("Item 1", "Item 2", "Item 3"), |
| 8793 | Features = c( |
| 8794 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin vehicula tempor ex. Morbi malesuada sagittis turpis, at venenatis nisl luctus a. ", |
| 8795 | "In eu urna at magna luctus rhoncus quis in nisl. Fusce in velit varius, posuere risus et, cursus augue. Duis eleifend aliquam ante, a aliquet ex tincidunt in. ", |
| 8796 | "Vivamus venenatis egestas eros ut tempus. Vivamus id est nisi. Aliquam molestie erat et sollicitudin venenatis. In ac lacus at velit scelerisque mattis. " |
| 8797 | ) |
| 8798 | ) |
| 8799 | |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 8800 | kbl(text_tbl) %>% |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 8801 | kable_styling(full_width = F) %>% |
Hao Zhu | a44e375 | 2017-09-05 12:56:19 -0400 | [diff] [blame] | 8802 | column_spec(1, bold = T, border_right = T) %>% |
| 8803 | column_spec(2, width = "30em", background = "yellow")</code></pre> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 8804 | <table class="table" style="width: auto !important; margin-left: auto; margin-right: auto;"> |
| 8805 | <thead> |
| 8806 | <tr> |
| 8807 | <th style="text-align:left;"> |
| 8808 | Items |
| 8809 | </th> |
| 8810 | <th style="text-align:left;"> |
| 8811 | Features |
| 8812 | </th> |
| 8813 | </tr> |
| 8814 | </thead> |
| 8815 | <tbody> |
| 8816 | <tr> |
Hao Zhu | a44e375 | 2017-09-05 12:56:19 -0400 | [diff] [blame] | 8817 | <td style="text-align:left;font-weight: bold;border-right:1px solid;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 8818 | Item 1 |
| 8819 | </td> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 8820 | <td style="text-align:left;width: 30em; background-color: yellow !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 8821 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin vehicula tempor ex. Morbi malesuada sagittis turpis, at venenatis nisl luctus a. |
| 8822 | </td> |
| 8823 | </tr> |
| 8824 | <tr> |
Hao Zhu | a44e375 | 2017-09-05 12:56:19 -0400 | [diff] [blame] | 8825 | <td style="text-align:left;font-weight: bold;border-right:1px solid;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 8826 | Item 2 |
| 8827 | </td> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 8828 | <td style="text-align:left;width: 30em; background-color: yellow !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 8829 | In eu urna at magna luctus rhoncus quis in nisl. Fusce in velit varius, posuere risus et, cursus augue. Duis eleifend aliquam ante, a aliquet ex tincidunt in. |
| 8830 | </td> |
| 8831 | </tr> |
| 8832 | <tr> |
Hao Zhu | a44e375 | 2017-09-05 12:56:19 -0400 | [diff] [blame] | 8833 | <td style="text-align:left;font-weight: bold;border-right:1px solid;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 8834 | Item 3 |
| 8835 | </td> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 8836 | <td style="text-align:left;width: 30em; background-color: yellow !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 8837 | Vivamus venenatis egestas eros ut tempus. Vivamus id est nisi. Aliquam molestie erat et sollicitudin venenatis. In ac lacus at velit scelerisque mattis. |
| 8838 | </td> |
| 8839 | </tr> |
| 8840 | </tbody> |
| 8841 | </table> |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 8842 | <blockquote> |
| 8843 | <p><strong>Key Update</strong>: I understand the need of doing conditional formatting and the previous solution <code>cell_spec</code> is relatively hard to use. Therefore in kableExtra 1.2, I improved the functionality of <code>column_spec</code> so it can take vectorized input for most of its arguments (except <code>width</code>, <code>border_left</code> and <code>border_right</code>). It is really easy right now to format a column based on other values.</p> |
| 8844 | </blockquote> |
| 8845 | <pre class="r"><code>mtcars[1:8, 1:8] %>% |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 8846 | kbl() %>% |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 8847 | kable_paper(full_width = F) %>% |
| 8848 | column_spec(2, color = spec_color(mtcars$mpg[1:8]), |
| 8849 | link = "https://haozhu233.github.io/kableExtra") %>% |
| 8850 | column_spec(6, color = "white", |
| 8851 | background = spec_color(mtcars$drat[1:8], end = 0.7), |
| 8852 | popover = paste("am:", mtcars$am[1:8]))</code></pre> |
| 8853 | <table class=" lightable-paper" style="font-family: "Arial Narrow", arial, helvetica, sans-serif; width: auto !important; margin-left: auto; margin-right: auto;"> |
| 8854 | <thead> |
| 8855 | <tr> |
| 8856 | <th style="text-align:left;"> |
| 8857 | </th> |
| 8858 | <th style="text-align:right;"> |
| 8859 | mpg |
| 8860 | </th> |
| 8861 | <th style="text-align:right;"> |
| 8862 | cyl |
| 8863 | </th> |
| 8864 | <th style="text-align:right;"> |
| 8865 | disp |
| 8866 | </th> |
| 8867 | <th style="text-align:right;"> |
| 8868 | hp |
| 8869 | </th> |
| 8870 | <th style="text-align:right;"> |
| 8871 | drat |
| 8872 | </th> |
| 8873 | <th style="text-align:right;"> |
| 8874 | wt |
| 8875 | </th> |
| 8876 | <th style="text-align:right;"> |
| 8877 | qsec |
| 8878 | </th> |
| 8879 | <th style="text-align:right;"> |
| 8880 | vs |
| 8881 | </th> |
| 8882 | </tr> |
| 8883 | </thead> |
| 8884 | <tbody> |
| 8885 | <tr> |
| 8886 | <td style="text-align:left;"> |
| 8887 | Mazda RX4 |
| 8888 | </td> |
| 8889 | <td style="text-align:right;color: rgba(52, 182, 121, 1) !important;"> |
| 8890 | <a href="https://haozhu233.github.io/kableExtra" style="color: rgba(52, 182, 121, 1) !important;"> 21.0 </a> |
| 8891 | </td> |
| 8892 | <td style="text-align:right;"> |
| 8893 | 6 |
| 8894 | </td> |
| 8895 | <td style="text-align:right;"> |
| 8896 | 160.0 |
| 8897 | </td> |
| 8898 | <td style="text-align:right;"> |
| 8899 | 110 |
| 8900 | </td> |
| 8901 | <td style="text-align:right;color: white !important;background-color: rgba(67, 191, 113, 1) !important;" data-toggle="popover" data-container="body" data-trigger="hover" data-placement="right" data-content="am: 1"> |
| 8902 | 3.90 |
| 8903 | </td> |
| 8904 | <td style="text-align:right;"> |
| 8905 | 2.620 |
| 8906 | </td> |
| 8907 | <td style="text-align:right;"> |
| 8908 | 16.46 |
| 8909 | </td> |
| 8910 | <td style="text-align:right;"> |
| 8911 | 0 |
| 8912 | </td> |
| 8913 | </tr> |
| 8914 | <tr> |
| 8915 | <td style="text-align:left;"> |
| 8916 | Mazda RX4 Wag |
| 8917 | </td> |
| 8918 | <td style="text-align:right;color: rgba(52, 182, 121, 1) !important;"> |
| 8919 | <a href="https://haozhu233.github.io/kableExtra" style="color: rgba(52, 182, 121, 1) !important;"> 21.0 </a> |
| 8920 | </td> |
| 8921 | <td style="text-align:right;"> |
| 8922 | 6 |
| 8923 | </td> |
| 8924 | <td style="text-align:right;"> |
| 8925 | 160.0 |
| 8926 | </td> |
| 8927 | <td style="text-align:right;"> |
| 8928 | 110 |
| 8929 | </td> |
| 8930 | <td style="text-align:right;color: white !important;background-color: rgba(67, 191, 113, 1) !important;" data-toggle="popover" data-container="body" data-trigger="hover" data-placement="right" data-content="am: 1"> |
| 8931 | 3.90 |
| 8932 | </td> |
| 8933 | <td style="text-align:right;"> |
| 8934 | 2.875 |
| 8935 | </td> |
| 8936 | <td style="text-align:right;"> |
| 8937 | 17.02 |
| 8938 | </td> |
| 8939 | <td style="text-align:right;"> |
| 8940 | 0 |
| 8941 | </td> |
| 8942 | </tr> |
| 8943 | <tr> |
| 8944 | <td style="text-align:left;"> |
| 8945 | Datsun 710 |
| 8946 | </td> |
| 8947 | <td style="text-align:right;color: rgba(149, 216, 64, 1) !important;"> |
| 8948 | <a href="https://haozhu233.github.io/kableExtra" style="color: rgba(149, 216, 64, 1) !important;"> 22.8 </a> |
| 8949 | </td> |
| 8950 | <td style="text-align:right;"> |
| 8951 | 4 |
| 8952 | </td> |
| 8953 | <td style="text-align:right;"> |
| 8954 | 108.0 |
| 8955 | </td> |
| 8956 | <td style="text-align:right;"> |
| 8957 | 93 |
| 8958 | </td> |
| 8959 | <td style="text-align:right;color: white !important;background-color: rgba(55, 184, 120, 1) !important;" data-toggle="popover" data-container="body" data-trigger="hover" data-placement="right" data-content="am: 1"> |
| 8960 | 3.85 |
| 8961 | </td> |
| 8962 | <td style="text-align:right;"> |
| 8963 | 2.320 |
| 8964 | </td> |
| 8965 | <td style="text-align:right;"> |
| 8966 | 18.61 |
| 8967 | </td> |
| 8968 | <td style="text-align:right;"> |
| 8969 | 1 |
| 8970 | </td> |
| 8971 | </tr> |
| 8972 | <tr> |
| 8973 | <td style="text-align:left;"> |
| 8974 | Hornet 4 Drive |
| 8975 | </td> |
| 8976 | <td style="text-align:right;color: rgba(68, 191, 112, 1) !important;"> |
| 8977 | <a href="https://haozhu233.github.io/kableExtra" style="color: rgba(68, 191, 112, 1) !important;"> 21.4 </a> |
| 8978 | </td> |
| 8979 | <td style="text-align:right;"> |
| 8980 | 6 |
| 8981 | </td> |
| 8982 | <td style="text-align:right;"> |
| 8983 | 258.0 |
| 8984 | </td> |
| 8985 | <td style="text-align:right;"> |
| 8986 | 110 |
| 8987 | </td> |
| 8988 | <td style="text-align:right;color: white !important;background-color: rgba(65, 67, 135, 1) !important;" data-toggle="popover" data-container="body" data-trigger="hover" data-placement="right" data-content="am: 0"> |
| 8989 | 3.08 |
| 8990 | </td> |
| 8991 | <td style="text-align:right;"> |
| 8992 | 3.215 |
| 8993 | </td> |
| 8994 | <td style="text-align:right;"> |
| 8995 | 19.44 |
| 8996 | </td> |
| 8997 | <td style="text-align:right;"> |
| 8998 | 1 |
| 8999 | </td> |
| 9000 | </tr> |
| 9001 | <tr> |
| 9002 | <td style="text-align:left;"> |
| 9003 | Hornet Sportabout |
| 9004 | </td> |
| 9005 | <td style="text-align:right;color: rgba(38, 129, 142, 1) !important;"> |
| 9006 | <a href="https://haozhu233.github.io/kableExtra" style="color: rgba(38, 129, 142, 1) !important;"> 18.7 </a> |
| 9007 | </td> |
| 9008 | <td style="text-align:right;"> |
| 9009 | 8 |
| 9010 | </td> |
| 9011 | <td style="text-align:right;"> |
| 9012 | 360.0 |
| 9013 | </td> |
| 9014 | <td style="text-align:right;"> |
| 9015 | 175 |
| 9016 | </td> |
| 9017 | <td style="text-align:right;color: white !important;background-color: rgba(60, 79, 138, 1) !important;" data-toggle="popover" data-container="body" data-trigger="hover" data-placement="right" data-content="am: 0"> |
| 9018 | 3.15 |
| 9019 | </td> |
| 9020 | <td style="text-align:right;"> |
| 9021 | 3.440 |
| 9022 | </td> |
| 9023 | <td style="text-align:right;"> |
| 9024 | 17.02 |
| 9025 | </td> |
| 9026 | <td style="text-align:right;"> |
| 9027 | 0 |
| 9028 | </td> |
| 9029 | </tr> |
| 9030 | <tr> |
| 9031 | <td style="text-align:left;"> |
| 9032 | Valiant |
| 9033 | </td> |
| 9034 | <td style="text-align:right;color: rgba(44, 114, 142, 1) !important;"> |
| 9035 | <a href="https://haozhu233.github.io/kableExtra" style="color: rgba(44, 114, 142, 1) !important;"> 18.1 </a> |
| 9036 | </td> |
| 9037 | <td style="text-align:right;"> |
| 9038 | 6 |
| 9039 | </td> |
| 9040 | <td style="text-align:right;"> |
| 9041 | 225.0 |
| 9042 | </td> |
| 9043 | <td style="text-align:right;"> |
| 9044 | 105 |
| 9045 | </td> |
| 9046 | <td style="text-align:right;color: white !important;background-color: rgba(68, 1, 84, 1) !important;" data-toggle="popover" data-container="body" data-trigger="hover" data-placement="right" data-content="am: 0"> |
| 9047 | 2.76 |
| 9048 | </td> |
| 9049 | <td style="text-align:right;"> |
| 9050 | 3.460 |
| 9051 | </td> |
| 9052 | <td style="text-align:right;"> |
| 9053 | 20.22 |
| 9054 | </td> |
| 9055 | <td style="text-align:right;"> |
| 9056 | 1 |
| 9057 | </td> |
| 9058 | </tr> |
| 9059 | <tr> |
| 9060 | <td style="text-align:left;"> |
| 9061 | Duster 360 |
| 9062 | </td> |
| 9063 | <td style="text-align:right;color: rgba(68, 1, 84, 1) !important;"> |
| 9064 | <a href="https://haozhu233.github.io/kableExtra" style="color: rgba(68, 1, 84, 1) !important;"> 14.3 </a> |
| 9065 | </td> |
| 9066 | <td style="text-align:right;"> |
| 9067 | 8 |
| 9068 | </td> |
| 9069 | <td style="text-align:right;"> |
| 9070 | 360.0 |
| 9071 | </td> |
| 9072 | <td style="text-align:right;"> |
| 9073 | 245 |
| 9074 | </td> |
| 9075 | <td style="text-align:right;color: white !important;background-color: rgba(55, 90, 140, 1) !important;" data-toggle="popover" data-container="body" data-trigger="hover" data-placement="right" data-content="am: 0"> |
| 9076 | 3.21 |
| 9077 | </td> |
| 9078 | <td style="text-align:right;"> |
| 9079 | 3.570 |
| 9080 | </td> |
| 9081 | <td style="text-align:right;"> |
| 9082 | 15.84 |
| 9083 | </td> |
| 9084 | <td style="text-align:right;"> |
| 9085 | 0 |
| 9086 | </td> |
| 9087 | </tr> |
| 9088 | <tr> |
| 9089 | <td style="text-align:left;"> |
| 9090 | Merc 240D |
| 9091 | </td> |
| 9092 | <td style="text-align:right;color: rgba(253, 231, 37, 1) !important;"> |
| 9093 | <a href="https://haozhu233.github.io/kableExtra" style="color: rgba(253, 231, 37, 1) !important;"> 24.4 </a> |
| 9094 | </td> |
| 9095 | <td style="text-align:right;"> |
| 9096 | 4 |
| 9097 | </td> |
| 9098 | <td style="text-align:right;"> |
| 9099 | 146.7 |
| 9100 | </td> |
| 9101 | <td style="text-align:right;"> |
| 9102 | 62 |
| 9103 | </td> |
| 9104 | <td style="text-align:right;color: white !important;background-color: rgba(31, 161, 135, 1) !important;" data-toggle="popover" data-container="body" data-trigger="hover" data-placement="right" data-content="am: 0"> |
| 9105 | 3.69 |
| 9106 | </td> |
| 9107 | <td style="text-align:right;"> |
| 9108 | 3.190 |
| 9109 | </td> |
| 9110 | <td style="text-align:right;"> |
| 9111 | 20.00 |
| 9112 | </td> |
| 9113 | <td style="text-align:right;"> |
| 9114 | 1 |
| 9115 | </td> |
| 9116 | </tr> |
| 9117 | </tbody> |
| 9118 | </table> |
| 9119 | <p>You can still use the <code>spec_***</code> helper functions to help you define color. See the documentation <a href="#visualize-data-with-viridis-color">below</a>.</p> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9120 | </div> |
Hao Zhu | 0a0e833 | 2017-08-03 13:21:29 -0400 | [diff] [blame] | 9121 | <div id="row-spec" class="section level2"> |
| 9122 | <h2>Row spec</h2> |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 9123 | <p>Similar with <code>column_spec</code>, you can define specifications for rows. Currently, you can either bold or italicize an entire row. Note that, similar with other row-related functions in <code>kableExtra</code>, for the position of the target row, you don’t need to count in header rows or the group labeling rows.</p> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 9124 | <pre class="r"><code>kbl(dt) %>% |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9125 | kable_styling("striped", full_width = F) %>% |
Hao Zhu | 4840bc9 | 2017-09-15 15:55:05 -0400 | [diff] [blame] | 9126 | column_spec(5:7, bold = T) %>% |
| 9127 | row_spec(3:5, bold = T, color = "white", background = "#D7261E")</code></pre> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9128 | <table class="table table-striped" style="width: auto !important; margin-left: auto; margin-right: auto;"> |
| 9129 | <thead> |
| 9130 | <tr> |
| 9131 | <th style="text-align:left;"> |
| 9132 | </th> |
| 9133 | <th style="text-align:right;"> |
| 9134 | mpg |
| 9135 | </th> |
| 9136 | <th style="text-align:right;"> |
| 9137 | cyl |
| 9138 | </th> |
| 9139 | <th style="text-align:right;"> |
| 9140 | disp |
| 9141 | </th> |
| 9142 | <th style="text-align:right;"> |
| 9143 | hp |
| 9144 | </th> |
| 9145 | <th style="text-align:right;"> |
| 9146 | drat |
| 9147 | </th> |
| 9148 | <th style="text-align:right;"> |
| 9149 | wt |
| 9150 | </th> |
| 9151 | </tr> |
| 9152 | </thead> |
| 9153 | <tbody> |
| 9154 | <tr> |
| 9155 | <td style="text-align:left;"> |
| 9156 | Mazda RX4 |
| 9157 | </td> |
| 9158 | <td style="text-align:right;"> |
| 9159 | 21.0 |
| 9160 | </td> |
| 9161 | <td style="text-align:right;"> |
| 9162 | 6 |
| 9163 | </td> |
| 9164 | <td style="text-align:right;"> |
| 9165 | 160 |
| 9166 | </td> |
Hao Zhu | 4840bc9 | 2017-09-15 15:55:05 -0400 | [diff] [blame] | 9167 | <td style="text-align:right;font-weight: bold;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9168 | 110 |
| 9169 | </td> |
Hao Zhu | 4840bc9 | 2017-09-15 15:55:05 -0400 | [diff] [blame] | 9170 | <td style="text-align:right;font-weight: bold;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9171 | 3.90 |
| 9172 | </td> |
| 9173 | <td style="text-align:right;font-weight: bold;"> |
| 9174 | 2.620 |
| 9175 | </td> |
| 9176 | </tr> |
| 9177 | <tr> |
| 9178 | <td style="text-align:left;"> |
| 9179 | Mazda RX4 Wag |
| 9180 | </td> |
| 9181 | <td style="text-align:right;"> |
| 9182 | 21.0 |
| 9183 | </td> |
| 9184 | <td style="text-align:right;"> |
| 9185 | 6 |
| 9186 | </td> |
| 9187 | <td style="text-align:right;"> |
| 9188 | 160 |
| 9189 | </td> |
Hao Zhu | 4840bc9 | 2017-09-15 15:55:05 -0400 | [diff] [blame] | 9190 | <td style="text-align:right;font-weight: bold;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9191 | 110 |
| 9192 | </td> |
Hao Zhu | 4840bc9 | 2017-09-15 15:55:05 -0400 | [diff] [blame] | 9193 | <td style="text-align:right;font-weight: bold;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9194 | 3.90 |
| 9195 | </td> |
| 9196 | <td style="text-align:right;font-weight: bold;"> |
| 9197 | 2.875 |
| 9198 | </td> |
| 9199 | </tr> |
| 9200 | <tr> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9201 | <td style="text-align:left;font-weight: bold;color: white !important;background-color: #D7261E !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9202 | Datsun 710 |
| 9203 | </td> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9204 | <td style="text-align:right;font-weight: bold;color: white !important;background-color: #D7261E !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9205 | 22.8 |
| 9206 | </td> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9207 | <td style="text-align:right;font-weight: bold;color: white !important;background-color: #D7261E !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9208 | 4 |
| 9209 | </td> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9210 | <td style="text-align:right;font-weight: bold;color: white !important;background-color: #D7261E !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9211 | 108 |
| 9212 | </td> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9213 | <td style="text-align:right;font-weight: bold;font-weight: bold;color: white !important;background-color: #D7261E !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9214 | 93 |
| 9215 | </td> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9216 | <td style="text-align:right;font-weight: bold;font-weight: bold;color: white !important;background-color: #D7261E !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9217 | 3.85 |
| 9218 | </td> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9219 | <td style="text-align:right;font-weight: bold;font-weight: bold;color: white !important;background-color: #D7261E !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9220 | 2.320 |
| 9221 | </td> |
| 9222 | </tr> |
| 9223 | <tr> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9224 | <td style="text-align:left;font-weight: bold;color: white !important;background-color: #D7261E !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9225 | Hornet 4 Drive |
| 9226 | </td> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9227 | <td style="text-align:right;font-weight: bold;color: white !important;background-color: #D7261E !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9228 | 21.4 |
| 9229 | </td> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9230 | <td style="text-align:right;font-weight: bold;color: white !important;background-color: #D7261E !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9231 | 6 |
| 9232 | </td> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9233 | <td style="text-align:right;font-weight: bold;color: white !important;background-color: #D7261E !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9234 | 258 |
| 9235 | </td> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9236 | <td style="text-align:right;font-weight: bold;font-weight: bold;color: white !important;background-color: #D7261E !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9237 | 110 |
| 9238 | </td> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9239 | <td style="text-align:right;font-weight: bold;font-weight: bold;color: white !important;background-color: #D7261E !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9240 | 3.08 |
| 9241 | </td> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9242 | <td style="text-align:right;font-weight: bold;font-weight: bold;color: white !important;background-color: #D7261E !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9243 | 3.215 |
| 9244 | </td> |
| 9245 | </tr> |
| 9246 | <tr> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9247 | <td style="text-align:left;font-weight: bold;color: white !important;background-color: #D7261E !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9248 | Hornet Sportabout |
| 9249 | </td> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9250 | <td style="text-align:right;font-weight: bold;color: white !important;background-color: #D7261E !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9251 | 18.7 |
| 9252 | </td> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9253 | <td style="text-align:right;font-weight: bold;color: white !important;background-color: #D7261E !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9254 | 8 |
| 9255 | </td> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9256 | <td style="text-align:right;font-weight: bold;color: white !important;background-color: #D7261E !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9257 | 360 |
| 9258 | </td> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9259 | <td style="text-align:right;font-weight: bold;font-weight: bold;color: white !important;background-color: #D7261E !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9260 | 175 |
| 9261 | </td> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9262 | <td style="text-align:right;font-weight: bold;font-weight: bold;color: white !important;background-color: #D7261E !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9263 | 3.15 |
| 9264 | </td> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9265 | <td style="text-align:right;font-weight: bold;font-weight: bold;color: white !important;background-color: #D7261E !important;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 9266 | 3.440 |
| 9267 | </td> |
| 9268 | </tr> |
| 9269 | </tbody> |
| 9270 | </table> |
| 9271 | </div> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9272 | <div id="header-rows" class="section level2"> |
| 9273 | <h2>Header Rows</h2> |
| 9274 | <p>One special case of <code>row_spec</code> is that you can specify the format of the header row via <code>row_spec(row = 0, ...)</code>.</p> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 9275 | <pre class="r"><code>kbl(dt) %>% |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9276 | kable_styling("striped", full_width = F) %>% |
| 9277 | row_spec(0, angle = -45)</code></pre> |
| 9278 | <table class="table table-striped" style="width: auto !important; margin-left: auto; margin-right: auto;"> |
Hao Zhu | 9ce317e | 2017-10-12 18:19:55 -0400 | [diff] [blame] | 9279 | <thead> |
| 9280 | <tr> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9281 | <th style="text-align:left;-webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg);"> |
Hao Zhu | 9ce317e | 2017-10-12 18:19:55 -0400 | [diff] [blame] | 9282 | </th> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9283 | <th style="text-align:right;-webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg);"> |
| 9284 | mpg |
Hao Zhu | 9ce317e | 2017-10-12 18:19:55 -0400 | [diff] [blame] | 9285 | </th> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9286 | <th style="text-align:right;-webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg);"> |
| 9287 | cyl |
| 9288 | </th> |
| 9289 | <th style="text-align:right;-webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg);"> |
| 9290 | disp |
| 9291 | </th> |
| 9292 | <th style="text-align:right;-webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg);"> |
| 9293 | hp |
| 9294 | </th> |
| 9295 | <th style="text-align:right;-webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg);"> |
| 9296 | drat |
| 9297 | </th> |
| 9298 | <th style="text-align:right;-webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg);"> |
| 9299 | wt |
Hao Zhu | 9ce317e | 2017-10-12 18:19:55 -0400 | [diff] [blame] | 9300 | </th> |
| 9301 | </tr> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9302 | </thead> |
| 9303 | <tbody> |
| 9304 | <tr> |
| 9305 | <td style="text-align:left;"> |
| 9306 | Mazda RX4 |
| 9307 | </td> |
| 9308 | <td style="text-align:right;"> |
| 9309 | 21.0 |
| 9310 | </td> |
| 9311 | <td style="text-align:right;"> |
| 9312 | 6 |
| 9313 | </td> |
| 9314 | <td style="text-align:right;"> |
| 9315 | 160 |
| 9316 | </td> |
| 9317 | <td style="text-align:right;"> |
| 9318 | 110 |
| 9319 | </td> |
| 9320 | <td style="text-align:right;"> |
| 9321 | 3.90 |
| 9322 | </td> |
| 9323 | <td style="text-align:right;"> |
| 9324 | 2.620 |
| 9325 | </td> |
| 9326 | </tr> |
| 9327 | <tr> |
| 9328 | <td style="text-align:left;"> |
| 9329 | Mazda RX4 Wag |
| 9330 | </td> |
| 9331 | <td style="text-align:right;"> |
| 9332 | 21.0 |
| 9333 | </td> |
| 9334 | <td style="text-align:right;"> |
| 9335 | 6 |
| 9336 | </td> |
| 9337 | <td style="text-align:right;"> |
| 9338 | 160 |
| 9339 | </td> |
| 9340 | <td style="text-align:right;"> |
| 9341 | 110 |
| 9342 | </td> |
| 9343 | <td style="text-align:right;"> |
| 9344 | 3.90 |
| 9345 | </td> |
| 9346 | <td style="text-align:right;"> |
| 9347 | 2.875 |
| 9348 | </td> |
| 9349 | </tr> |
| 9350 | <tr> |
| 9351 | <td style="text-align:left;"> |
| 9352 | Datsun 710 |
| 9353 | </td> |
| 9354 | <td style="text-align:right;"> |
| 9355 | 22.8 |
| 9356 | </td> |
| 9357 | <td style="text-align:right;"> |
| 9358 | 4 |
| 9359 | </td> |
| 9360 | <td style="text-align:right;"> |
| 9361 | 108 |
| 9362 | </td> |
| 9363 | <td style="text-align:right;"> |
| 9364 | 93 |
| 9365 | </td> |
| 9366 | <td style="text-align:right;"> |
| 9367 | 3.85 |
| 9368 | </td> |
| 9369 | <td style="text-align:right;"> |
| 9370 | 2.320 |
| 9371 | </td> |
| 9372 | </tr> |
| 9373 | <tr> |
| 9374 | <td style="text-align:left;"> |
| 9375 | Hornet 4 Drive |
| 9376 | </td> |
| 9377 | <td style="text-align:right;"> |
| 9378 | 21.4 |
| 9379 | </td> |
| 9380 | <td style="text-align:right;"> |
| 9381 | 6 |
| 9382 | </td> |
| 9383 | <td style="text-align:right;"> |
| 9384 | 258 |
| 9385 | </td> |
| 9386 | <td style="text-align:right;"> |
| 9387 | 110 |
| 9388 | </td> |
| 9389 | <td style="text-align:right;"> |
| 9390 | 3.08 |
| 9391 | </td> |
| 9392 | <td style="text-align:right;"> |
| 9393 | 3.215 |
| 9394 | </td> |
| 9395 | </tr> |
| 9396 | <tr> |
| 9397 | <td style="text-align:left;"> |
| 9398 | Hornet Sportabout |
| 9399 | </td> |
| 9400 | <td style="text-align:right;"> |
| 9401 | 18.7 |
| 9402 | </td> |
| 9403 | <td style="text-align:right;"> |
| 9404 | 8 |
| 9405 | </td> |
| 9406 | <td style="text-align:right;"> |
| 9407 | 360 |
| 9408 | </td> |
| 9409 | <td style="text-align:right;"> |
| 9410 | 175 |
| 9411 | </td> |
| 9412 | <td style="text-align:right;"> |
| 9413 | 3.15 |
| 9414 | </td> |
| 9415 | <td style="text-align:right;"> |
| 9416 | 3.440 |
| 9417 | </td> |
| 9418 | </tr> |
| 9419 | </tbody> |
| 9420 | </table> |
| 9421 | </div> |
| 9422 | </div> |
| 9423 | <div id="celltext-specification" class="section level1"> |
| 9424 | <h1>Cell/Text Specification</h1> |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 9425 | <blockquote> |
| 9426 | <p><strong>Key Update: As said before, if you are using kableExtra 1.2+, you are now recommended to used <code>column_spec</code> to do conditional formatting</strong>.</p> |
| 9427 | </blockquote> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9428 | <p>Function <code>cell_spec</code> is introduced in version 0.6.0 of <code>kableExtra</code>. Unlike <code>column_spec</code> and <code>row_spec</code>, <strong>this function is designed to be used before the data.frame gets into the <code>kable</code> function</strong>. Comparing with figuring out a list of 2 dimentional index for targeted cells, this design is way easier to learn and use and it fits perfectly well with <code>dplyr</code>’s <code>mutate</code> and <code>summarize</code> functions. With this design, there are two things to be noted: * Since <code>cell_spec</code> generates raw <code>HTML</code> or <code>LaTeX</code> code, make sure you remember to put <code>escape = FALSE</code> in <code>kable</code>. At the same time, you have to escape special symbols including <code>%</code> manually by yourself * <code>cell_spec</code> needs a way to know whether you want <code>html</code> or <code>latex</code>. You can specify it locally in function or globally via the <code>options(knitr.table.format = "latex")</code> method as suggested at the beginning. If you don’t provide anything, this function will output as HTML by default.</p> |
| 9429 | <p>Currently, <code>cell_spec</code> supports features including bold, italic, monospace, text color, background color, align, font size & rotation angle. More features may be added in the future. Please see function documentations as reference.</p> |
| 9430 | <div id="conditional-logic" class="section level2"> |
| 9431 | <h2>Conditional logic</h2> |
| 9432 | <p>It is very easy to use <code>cell_spec</code> with conditional logic. Here is an example.</p> |
| 9433 | <pre class="r"><code>library(dplyr) |
| 9434 | mtcars[1:10, 1:2] %>% |
| 9435 | mutate( |
| 9436 | car = row.names(.), |
Hao Zhu | 76762d8 | 2018-07-25 20:56:52 -0400 | [diff] [blame] | 9437 | mpg = cell_spec(mpg, "html", color = ifelse(mpg > 20, "red", "blue")), |
| 9438 | cyl = cell_spec(cyl, "html", color = "white", align = "c", angle = 45, |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9439 | background = factor(cyl, c(4, 6, 8), |
| 9440 | c("#666666", "#999999", "#BBBBBB"))) |
| 9441 | ) %>% |
| 9442 | select(car, mpg, cyl) %>% |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 9443 | kbl(format = "html", escape = F) %>% |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9444 | kable_styling("striped", full_width = F)</code></pre> |
| 9445 | <table class="table table-striped" style="width: auto !important; margin-left: auto; margin-right: auto;"> |
| 9446 | <thead> |
Hao Zhu | 9ce317e | 2017-10-12 18:19:55 -0400 | [diff] [blame] | 9447 | <tr> |
| 9448 | <th style="text-align:left;"> |
| 9449 | car |
| 9450 | </th> |
| 9451 | <th style="text-align:left;"> |
| 9452 | mpg |
| 9453 | </th> |
| 9454 | <th style="text-align:left;"> |
| 9455 | cyl |
| 9456 | </th> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9457 | </tr> |
| 9458 | </thead> |
| 9459 | <tbody> |
| 9460 | <tr> |
| 9461 | <td style="text-align:left;"> |
| 9462 | Mazda RX4 |
| 9463 | </td> |
| 9464 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9465 | <span style=" color: red !important;">21</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9466 | </td> |
| 9467 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9468 | <span style="-webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); display: inline-block; "><span style=" color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: #999999 !important;text-align: c;">6</span></span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9469 | </td> |
| 9470 | </tr> |
| 9471 | <tr> |
| 9472 | <td style="text-align:left;"> |
| 9473 | Mazda RX4 Wag |
| 9474 | </td> |
| 9475 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9476 | <span style=" color: red !important;">21</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9477 | </td> |
| 9478 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9479 | <span style="-webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); display: inline-block; "><span style=" color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: #999999 !important;text-align: c;">6</span></span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9480 | </td> |
| 9481 | </tr> |
| 9482 | <tr> |
| 9483 | <td style="text-align:left;"> |
| 9484 | Datsun 710 |
| 9485 | </td> |
| 9486 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9487 | <span style=" color: red !important;">22.8</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9488 | </td> |
| 9489 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9490 | <span style="-webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); display: inline-block; "><span style=" color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: #666666 !important;text-align: c;">4</span></span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9491 | </td> |
| 9492 | </tr> |
| 9493 | <tr> |
| 9494 | <td style="text-align:left;"> |
| 9495 | Hornet 4 Drive |
| 9496 | </td> |
| 9497 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9498 | <span style=" color: red !important;">21.4</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9499 | </td> |
| 9500 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9501 | <span style="-webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); display: inline-block; "><span style=" color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: #999999 !important;text-align: c;">6</span></span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9502 | </td> |
| 9503 | </tr> |
| 9504 | <tr> |
| 9505 | <td style="text-align:left;"> |
| 9506 | Hornet Sportabout |
| 9507 | </td> |
| 9508 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9509 | <span style=" color: blue !important;">18.7</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9510 | </td> |
| 9511 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9512 | <span style="-webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); display: inline-block; "><span style=" color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: #BBBBBB !important;text-align: c;">8</span></span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9513 | </td> |
| 9514 | </tr> |
| 9515 | <tr> |
| 9516 | <td style="text-align:left;"> |
| 9517 | Valiant |
| 9518 | </td> |
| 9519 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9520 | <span style=" color: blue !important;">18.1</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9521 | </td> |
| 9522 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9523 | <span style="-webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); display: inline-block; "><span style=" color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: #999999 !important;text-align: c;">6</span></span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9524 | </td> |
| 9525 | </tr> |
| 9526 | <tr> |
| 9527 | <td style="text-align:left;"> |
| 9528 | Duster 360 |
| 9529 | </td> |
| 9530 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9531 | <span style=" color: blue !important;">14.3</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9532 | </td> |
| 9533 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9534 | <span style="-webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); display: inline-block; "><span style=" color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: #BBBBBB !important;text-align: c;">8</span></span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9535 | </td> |
| 9536 | </tr> |
| 9537 | <tr> |
| 9538 | <td style="text-align:left;"> |
| 9539 | Merc 240D |
| 9540 | </td> |
| 9541 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9542 | <span style=" color: red !important;">24.4</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9543 | </td> |
| 9544 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9545 | <span style="-webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); display: inline-block; "><span style=" color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: #666666 !important;text-align: c;">4</span></span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9546 | </td> |
| 9547 | </tr> |
| 9548 | <tr> |
| 9549 | <td style="text-align:left;"> |
| 9550 | Merc 230 |
| 9551 | </td> |
| 9552 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9553 | <span style=" color: red !important;">22.8</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9554 | </td> |
| 9555 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9556 | <span style="-webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); display: inline-block; "><span style=" color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: #666666 !important;text-align: c;">4</span></span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9557 | </td> |
| 9558 | </tr> |
| 9559 | <tr> |
| 9560 | <td style="text-align:left;"> |
| 9561 | Merc 280 |
| 9562 | </td> |
| 9563 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9564 | <span style=" color: blue !important;">19.2</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9565 | </td> |
| 9566 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9567 | <span style="-webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); display: inline-block; "><span style=" color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: #999999 !important;text-align: c;">6</span></span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9568 | </td> |
| 9569 | </tr> |
| 9570 | </tbody> |
| 9571 | </table> |
| 9572 | </div> |
| 9573 | <div id="visualize-data-with-viridis-color" class="section level2"> |
| 9574 | <h2>Visualize data with Viridis Color</h2> |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 9575 | <p>This package also comes with a few helper functions, including <code>spec_color</code>, <code>spec_font_size</code> & <code>spec_angle</code>. These functions can rescale continuous variables to certain scales. For example, function <code>spec_color</code> would map a continuous variable to any <a href="https://CRAN.R-project.org/package=viridisLite">viridis color palettes</a>. It offers a very visually impressive representation in a tabular format.</p> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9576 | <pre class="r"><code>iris[1:10, ] %>% |
| 9577 | mutate_if(is.numeric, function(x) { |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 9578 | cell_spec(x, bold = T, |
Hao Zhu | 23bde3a | 2018-03-28 16:00:55 -0400 | [diff] [blame] | 9579 | color = spec_color(x, end = 0.9), |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9580 | font_size = spec_font_size(x)) |
| 9581 | }) %>% |
| 9582 | mutate(Species = cell_spec( |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 9583 | Species, color = "white", bold = T, |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9584 | background = spec_color(1:10, end = 0.9, option = "A", direction = -1) |
| 9585 | )) %>% |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 9586 | kbl(escape = F, align = "c") %>% |
Hao Zhu | 222cd7e | 2018-04-10 14:27:19 -0400 | [diff] [blame] | 9587 | kable_styling(c("striped", "condensed"), full_width = F)</code></pre> |
| 9588 | <table class="table table-striped table-condensed" style="width: auto !important; margin-left: auto; margin-right: auto;"> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9589 | <thead> |
| 9590 | <tr> |
| 9591 | <th style="text-align:center;"> |
| 9592 | Sepal.Length |
| 9593 | </th> |
| 9594 | <th style="text-align:center;"> |
| 9595 | Sepal.Width |
| 9596 | </th> |
| 9597 | <th style="text-align:center;"> |
| 9598 | Petal.Length |
| 9599 | </th> |
| 9600 | <th style="text-align:center;"> |
| 9601 | Petal.Width |
| 9602 | </th> |
| 9603 | <th style="text-align:center;"> |
| 9604 | Species |
| 9605 | </th> |
| 9606 | </tr> |
| 9607 | </thead> |
| 9608 | <tbody> |
| 9609 | <tr> |
| 9610 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9611 | <span style=" font-weight: bold; color: rgba(40, 174, 128, 1) !important;font-size: 14px;">5.1</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9612 | </td> |
| 9613 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9614 | <span style=" font-weight: bold; color: rgba(31, 154, 138, 1) !important;font-size: 13px;">3.5</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9615 | </td> |
| 9616 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9617 | <span style=" font-weight: bold; color: rgba(62, 75, 138, 1) !important;font-size: 10px;">1.4</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9618 | </td> |
| 9619 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9620 | <span style=" font-weight: bold; color: rgba(53, 96, 141, 1) !important;font-size: 11px;">0.2</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9621 | </td> |
| 9622 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9623 | <span style=" font-weight: bold; color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: rgba(254, 206, 145, 1) !important;">setosa</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9624 | </td> |
| 9625 | </tr> |
| 9626 | <tr> |
| 9627 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9628 | <span style=" font-weight: bold; color: rgba(37, 131, 142, 1) !important;font-size: 12px;">4.9</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9629 | </td> |
| 9630 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9631 | <span style=" font-weight: bold; color: rgba(72, 34, 116, 1) !important;font-size: 9px;">3</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9632 | </td> |
| 9633 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9634 | <span style=" font-weight: bold; color: rgba(62, 75, 138, 1) !important;font-size: 10px;">1.4</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9635 | </td> |
| 9636 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9637 | <span style=" font-weight: bold; color: rgba(53, 96, 141, 1) !important;font-size: 11px;">0.2</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9638 | </td> |
| 9639 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9640 | <span style=" font-weight: bold; color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: rgba(254, 160, 109, 1) !important;">setosa</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9641 | </td> |
| 9642 | </tr> |
| 9643 | <tr> |
| 9644 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9645 | <span style=" font-weight: bold; color: rgba(57, 87, 140, 1) !important;font-size: 10px;">4.7</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9646 | </td> |
| 9647 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9648 | <span style=" font-weight: bold; color: rgba(56, 88, 140, 1) !important;font-size: 10px;">3.2</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9649 | </td> |
| 9650 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9651 | <span style=" font-weight: bold; color: rgba(68, 1, 84, 1) !important;font-size: 8px;">1.3</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9652 | </td> |
| 9653 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9654 | <span style=" font-weight: bold; color: rgba(53, 96, 141, 1) !important;font-size: 11px;">0.2</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9655 | </td> |
| 9656 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9657 | <span style=" font-weight: bold; color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: rgba(246, 110, 92, 1) !important;">setosa</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9658 | </td> |
| 9659 | </tr> |
| 9660 | <tr> |
| 9661 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9662 | <span style=" font-weight: bold; color: rgba(67, 62, 133, 1) !important;font-size: 10px;">4.6</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9663 | </td> |
| 9664 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9665 | <span style=" font-weight: bold; color: rgba(67, 62, 133, 1) !important;font-size: 10px;">3.1</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9666 | </td> |
| 9667 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9668 | <span style=" font-weight: bold; color: rgba(37, 131, 142, 1) !important;font-size: 12px;">1.5</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9669 | </td> |
| 9670 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9671 | <span style=" font-weight: bold; color: rgba(53, 96, 141, 1) !important;font-size: 11px;">0.2</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9672 | </td> |
| 9673 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9674 | <span style=" font-weight: bold; color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: rgba(222, 73, 104, 1) !important;">setosa</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9675 | </td> |
| 9676 | </tr> |
| 9677 | <tr> |
| 9678 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9679 | <span style=" font-weight: bold; color: rgba(31, 154, 138, 1) !important;font-size: 13px;">5</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9680 | </td> |
| 9681 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9682 | <span style=" font-weight: bold; color: rgba(41, 175, 127, 1) !important;font-size: 14px;">3.6</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9683 | </td> |
| 9684 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9685 | <span style=" font-weight: bold; color: rgba(62, 75, 138, 1) !important;font-size: 10px;">1.4</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9686 | </td> |
| 9687 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9688 | <span style=" font-weight: bold; color: rgba(53, 96, 141, 1) !important;font-size: 11px;">0.2</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9689 | </td> |
| 9690 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9691 | <span style=" font-weight: bold; color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: rgba(183, 55, 121, 1) !important;">setosa</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9692 | </td> |
| 9693 | </tr> |
| 9694 | <tr> |
| 9695 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9696 | <span style=" font-weight: bold; color: rgba(187, 223, 39, 1) !important;font-size: 16px;">5.4</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9697 | </td> |
| 9698 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9699 | <span style=" font-weight: bold; color: rgba(187, 223, 39, 1) !important;font-size: 16px;">3.9</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9700 | </td> |
| 9701 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9702 | <span style=" font-weight: bold; color: rgba(187, 223, 39, 1) !important;font-size: 16px;">1.7</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9703 | </td> |
| 9704 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9705 | <span style=" font-weight: bold; color: rgba(187, 223, 39, 1) !important;font-size: 16px;">0.4</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9706 | </td> |
| 9707 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9708 | <span style=" font-weight: bold; color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: rgba(140, 41, 129, 1) !important;">setosa</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9709 | </td> |
| 9710 | </tr> |
| 9711 | <tr> |
| 9712 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9713 | <span style=" font-weight: bold; color: rgba(67, 62, 133, 1) !important;font-size: 10px;">4.6</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9714 | </td> |
| 9715 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9716 | <span style=" font-weight: bold; color: rgba(37, 131, 142, 1) !important;font-size: 12px;">3.4</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9717 | </td> |
| 9718 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9719 | <span style=" font-weight: bold; color: rgba(62, 75, 138, 1) !important;font-size: 10px;">1.4</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9720 | </td> |
| 9721 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9722 | <span style=" font-weight: bold; color: rgba(34, 168, 132, 1) !important;font-size: 13px;">0.3</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9723 | </td> |
| 9724 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9725 | <span style=" font-weight: bold; color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: rgba(100, 26, 128, 1) !important;">setosa</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9726 | </td> |
| 9727 | </tr> |
| 9728 | <tr> |
| 9729 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9730 | <span style=" font-weight: bold; color: rgba(31, 154, 138, 1) !important;font-size: 13px;">5</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9731 | </td> |
| 9732 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9733 | <span style=" font-weight: bold; color: rgba(37, 131, 142, 1) !important;font-size: 12px;">3.4</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9734 | </td> |
| 9735 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9736 | <span style=" font-weight: bold; color: rgba(37, 131, 142, 1) !important;font-size: 12px;">1.5</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9737 | </td> |
| 9738 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9739 | <span style=" font-weight: bold; color: rgba(53, 96, 141, 1) !important;font-size: 11px;">0.2</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9740 | </td> |
| 9741 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9742 | <span style=" font-weight: bold; color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: rgba(60, 15, 112, 1) !important;">setosa</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9743 | </td> |
| 9744 | </tr> |
| 9745 | <tr> |
| 9746 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9747 | <span style=" font-weight: bold; color: rgba(68, 1, 84, 1) !important;font-size: 8px;">4.4</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9748 | </td> |
| 9749 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9750 | <span style=" font-weight: bold; color: rgba(68, 1, 84, 1) !important;font-size: 8px;">2.9</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9751 | </td> |
| 9752 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9753 | <span style=" font-weight: bold; color: rgba(62, 75, 138, 1) !important;font-size: 10px;">1.4</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9754 | </td> |
| 9755 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9756 | <span style=" font-weight: bold; color: rgba(53, 96, 141, 1) !important;font-size: 11px;">0.2</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9757 | </td> |
| 9758 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9759 | <span style=" font-weight: bold; color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: rgba(20, 14, 54, 1) !important;">setosa</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9760 | </td> |
| 9761 | </tr> |
| 9762 | <tr> |
| 9763 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9764 | <span style=" font-weight: bold; color: rgba(37, 131, 142, 1) !important;font-size: 12px;">4.9</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9765 | </td> |
| 9766 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9767 | <span style=" font-weight: bold; color: rgba(67, 62, 133, 1) !important;font-size: 10px;">3.1</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9768 | </td> |
| 9769 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9770 | <span style=" font-weight: bold; color: rgba(37, 131, 142, 1) !important;font-size: 12px;">1.5</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9771 | </td> |
| 9772 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9773 | <span style=" font-weight: bold; color: rgba(68, 1, 84, 1) !important;font-size: 8px;">0.1</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9774 | </td> |
| 9775 | <td style="text-align:center;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9776 | <span style=" font-weight: bold; color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: rgba(0, 0, 4, 1) !important;">setosa</span> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9777 | </td> |
| 9778 | </tr> |
| 9779 | </tbody> |
| 9780 | </table> |
| 9781 | <p>In the example above, I’m using the <code>mutate</code> functions from <code>dplyr</code>. You don’t have to use it. Base R solutions like <code>iris$Species <- cell_spec(iris$Species, color = "red")</code> also works.</p> |
| 9782 | </div> |
| 9783 | <div id="text-specification" class="section level2"> |
| 9784 | <h2>Text Specification</h2> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9785 | <p>If you check the results of <code>cell_spec</code>, you will find that this function does nothing more than wrapping the text with appropriate HTML/LaTeX formatting syntax. The result of this function is just a vector of character strings. As a result, when you are writing a <code>rmarkdown</code> document or write some text in shiny apps, if you need extra markups other than <strong>bold</strong> or <em>italic</em>, you may use this function to <span style=" color: red !important;">color</span>, <span style=" font-size: 16px;">change font size </span> or <span style="-webkit-transform: rotate(30deg); -moz-transform: rotate(30deg); -ms-transform: rotate(30deg); -o-transform: rotate(30deg); transform: rotate(30deg); display: inline-block; "><span style=" ">rotate</span></span> your text.</p> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9786 | <p>An aliased function <code>text_spec</code> is also provided for a more literal writing experience. In HTML, there is no difference between these two functions.</p> |
| 9787 | <pre class="r"><code>sometext <- strsplit(paste0( |
Hao Zhu | 6290fdd | 2017-10-24 00:10:32 -0400 | [diff] [blame] | 9788 | "You can even try to make some crazy things like this paragraph. ", |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 9789 | "It may seem like a useless feature right now but it's so cool ", |
Hao Zhu | 6a1cbb5 | 2017-10-24 15:54:50 -0400 | [diff] [blame] | 9790 | "and nobody can resist. ;)" |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9791 | ), " ")[[1]] |
| 9792 | text_formatted <- paste( |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 9793 | text_spec(sometext, color = spec_color(1:length(sometext), end = 0.9), |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9794 | font_size = spec_font_size(1:length(sometext), begin = 5, end = 20)), |
| 9795 | collapse = " ") |
| 9796 | |
| 9797 | # To display the text, type `r text_formatted` outside of the chunk</code></pre> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9798 | <p><span style=" color: rgba(68, 1, 84, 1) !important;font-size: 5px;">You</span> <span style=" color: rgba(71, 13, 96, 1) !important;font-size: 6px;">can</span> <span style=" color: rgba(72, 24, 106, 1) !important;font-size: 6px;">even</span> <span style=" color: rgba(72, 34, 116, 1) !important;font-size: 7px;">try</span> <span style=" color: rgba(71, 45, 122, 1) !important;font-size: 7px;">to</span> <span style=" color: rgba(69, 54, 129, 1) !important;font-size: 8px;">make</span> <span style=" color: rgba(66, 64, 134, 1) !important;font-size: 8px;">some</span> <span style=" color: rgba(62, 73, 137, 1) !important;font-size: 9px;">crazy</span> <span style=" color: rgba(59, 81, 139, 1) !important;font-size: 9px;">things</span> <span style=" color: rgba(55, 90, 140, 1) !important;font-size: 10px;">like</span> <span style=" color: rgba(51, 98, 141, 1) !important;font-size: 10px;">this</span> <span style=" color: rgba(48, 106, 142, 1) !important;font-size: 11px;">paragraph.</span> <span style=" color: rgba(44, 113, 142, 1) !important;font-size: 11px;">It</span> <span style=" color: rgba(41, 121, 142, 1) !important;font-size: 12px;">may</span> <span style=" color: rgba(38, 129, 142, 1) !important;font-size: 12px;">seem</span> <span style=" color: rgba(35, 136, 142, 1) !important;font-size: 13px;">like</span> <span style=" color: rgba(33, 144, 141, 1) !important;font-size: 13px;">a</span> <span style=" color: rgba(31, 150, 139, 1) !important;font-size: 14px;">useless</span> <span style=" color: rgba(31, 158, 137, 1) !important;font-size: 14px;">feature</span> <span style=" color: rgba(33, 165, 133, 1) !important;font-size: 15px;">right</span> <span style=" color: rgba(38, 173, 129, 1) !important;font-size: 15px;">now</span> <span style=" color: rgba(48, 180, 124, 1) !important;font-size: 16px;">but</span> <span style=" color: rgba(59, 187, 117, 1) !important;font-size: 16px;">it’s</span> <span style=" color: rgba(74, 193, 109, 1) !important;font-size: 17px;">so</span> <span style=" color: rgba(90, 200, 100, 1) !important;font-size: 17px;">cool</span> <span style=" color: rgba(108, 205, 90, 1) !important;font-size: 18px;">and</span> <span style=" color: rgba(127, 211, 78, 1) !important;font-size: 18px;">nobody</span> <span style=" color: rgba(145, 215, 66, 1) !important;font-size: 19px;">can</span> <span style=" color: rgba(166, 219, 53, 1) !important;font-size: 19px;">resist.</span> <span style=" color: rgba(187, 223, 39, 1) !important;font-size: 20px;">;)</span></p> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9799 | </div> |
| 9800 | <div id="tooltip" class="section level2"> |
| 9801 | <h2>Tooltip</h2> |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 9802 | <p>It’s very easy to add a tooltip to text via <code>cell_spec</code>. For example, <code>text_spec("tooltip", color = "red", tooltip = "Hello World")</code> will give you something like <span style=" color: red !important;" data-toggle="tooltip" data-container="body" data-placement="right" title="Hello World">Hover over me</span> (you need to wait for a few seconds before your browser renders it).</p> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9803 | <p>Note that the original browser-based tooltip is slow. If you want to have a faster response, you may want to initialize bootstrap’s tooltip by putting the following HTML code on the page.</p> |
| 9804 | <pre><code><script> |
| 9805 | $(document).ready(function(){ |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 9806 | $('[data-toggle="tooltip"]').tooltip(); |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9807 | }); |
| 9808 | </script></code></pre> |
| 9809 | <p>In a rmarkdown document, you can just drop it outside of any R chunks. Unfortunately however, for rmarkdown pages with a <strong>floating TOC</strong> (like this page), you can’t use bootstrap tooltips because there is a conflict in namespace between Bootstrap and JQueryUI (tocify.js). As a result, I can’t provide a live demo here. If you want to have a tooltip together with a floating TOC, you should use <code>popover</code> which has a very similar effect.</p> |
| 9810 | </div> |
| 9811 | <div id="popover-message" class="section level2"> |
| 9812 | <h2>Popover Message</h2> |
| 9813 | <p>The popover message looks very similar with tooltip but it can hold more contents. Unlike tooltip which can minimally work without you manually enable that module, you <strong>have to</strong> enable the <code>popover</code> module to get it work. The upper side is that there is no conflict between Bootstrap & JQueryUI this time, you can use it without any concern.</p> |
| 9814 | <pre><code><script> |
| 9815 | $(document).ready(function(){ |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 9816 | $('[data-toggle="popover"]').popover(); |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9817 | }); |
| 9818 | </script></code></pre> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9819 | <pre class="r"><code>popover_dt <- data.frame( |
| 9820 | position = c("top", "bottom", "right", "left"), |
| 9821 | stringsAsFactors = FALSE |
| 9822 | ) |
| 9823 | popover_dt$`Hover over these items` <- cell_spec( |
| 9824 | paste("Message on", popover_dt$position), # Cell texts |
| 9825 | popover = spec_popover( |
| 9826 | content = popover_dt$position, |
| 9827 | title = NULL, # title will add a Title Panel on top |
| 9828 | position = popover_dt$position |
| 9829 | )) |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 9830 | kbl(popover_dt, escape = FALSE) %>% |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9831 | kable_styling("striped", full_width = FALSE)</code></pre> |
| 9832 | <table class="table table-striped" style="width: auto !important; margin-left: auto; margin-right: auto;"> |
| 9833 | <thead> |
| 9834 | <tr> |
Hao Zhu | 9ce317e | 2017-10-12 18:19:55 -0400 | [diff] [blame] | 9835 | <th style="text-align:left;"> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9836 | position |
Hao Zhu | 9ce317e | 2017-10-12 18:19:55 -0400 | [diff] [blame] | 9837 | </th> |
| 9838 | <th style="text-align:left;"> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9839 | Hover over these items |
Hao Zhu | 9ce317e | 2017-10-12 18:19:55 -0400 | [diff] [blame] | 9840 | </th> |
| 9841 | </tr> |
| 9842 | </thead> |
| 9843 | <tbody> |
| 9844 | <tr> |
| 9845 | <td style="text-align:left;"> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9846 | top |
Hao Zhu | 9ce317e | 2017-10-12 18:19:55 -0400 | [diff] [blame] | 9847 | </td> |
| 9848 | <td style="text-align:left;"> |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 9849 | <span style=" " data-toggle="popover" data-container="body" data-trigger="hover" data-placement="top" data-content="top">Message on top</span> |
Hao Zhu | 9ce317e | 2017-10-12 18:19:55 -0400 | [diff] [blame] | 9850 | </td> |
| 9851 | </tr> |
| 9852 | <tr> |
| 9853 | <td style="text-align:left;"> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9854 | bottom |
Hao Zhu | 9ce317e | 2017-10-12 18:19:55 -0400 | [diff] [blame] | 9855 | </td> |
| 9856 | <td style="text-align:left;"> |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 9857 | <span style=" " data-toggle="popover" data-container="body" data-trigger="hover" data-placement="bottom" data-content="bottom">Message on bottom</span> |
Hao Zhu | 9ce317e | 2017-10-12 18:19:55 -0400 | [diff] [blame] | 9858 | </td> |
| 9859 | </tr> |
| 9860 | <tr> |
| 9861 | <td style="text-align:left;"> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9862 | right |
Hao Zhu | 9ce317e | 2017-10-12 18:19:55 -0400 | [diff] [blame] | 9863 | </td> |
| 9864 | <td style="text-align:left;"> |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 9865 | <span style=" " data-toggle="popover" data-container="body" data-trigger="hover" data-placement="right" data-content="right">Message on right</span> |
Hao Zhu | 9ce317e | 2017-10-12 18:19:55 -0400 | [diff] [blame] | 9866 | </td> |
| 9867 | </tr> |
| 9868 | <tr> |
| 9869 | <td style="text-align:left;"> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9870 | left |
Hao Zhu | 9ce317e | 2017-10-12 18:19:55 -0400 | [diff] [blame] | 9871 | </td> |
| 9872 | <td style="text-align:left;"> |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 9873 | <span style=" " data-toggle="popover" data-container="body" data-trigger="hover" data-placement="left" data-content="left">Message on left</span> |
Hao Zhu | 9ce317e | 2017-10-12 18:19:55 -0400 | [diff] [blame] | 9874 | </td> |
| 9875 | </tr> |
| 9876 | </tbody> |
| 9877 | </table> |
Hao Zhu | 6f362bb | 2017-10-23 23:21:38 -0400 | [diff] [blame] | 9878 | </div> |
| 9879 | <div id="links" class="section level2"> |
| 9880 | <h2>Links</h2> |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 9881 | <p>You can add links to text via <code>text_spec("Google", link = "https://google.com")</code>: <a href="https://google.com" style=" ">Google</a>. If you want your hover message to be more obvious, it might be a good idea to put a <code>#</code> (go back to the top of the page) or <code>javascript:void(0)</code> (literally do nothing) in the <code>link</code> option. <code>text_spec("Hover on me", link = "javascript:void(0)", popover = "Hello")</code>: <a href="javascript:void(0)" style=" " data-toggle="popover" data-container="body" data-trigger="hover" data-placement="right" data-content="Hello">Hover on me</a></p> |
Hao Zhu | 9ce317e | 2017-10-12 18:19:55 -0400 | [diff] [blame] | 9882 | </div> |
Hao Zhu | 8b32b19 | 2017-10-24 14:51:48 -0400 | [diff] [blame] | 9883 | <div id="integration-with-formattable" class="section level2"> |
| 9884 | <h2>Integration with <code>formattable</code></h2> |
| 9885 | <p>You can combine the good parts from <code>kableExtra</code> & <code>formattable</code> together into one piece. Read more at <a href="http://haozhu233.github.io/kableExtra/use_kableExtra_with_formattable.html" class="uri">http://haozhu233.github.io/kableExtra/use_kableExtra_with_formattable.html</a></p> |
| 9886 | <pre class="r"><code>library(formattable) |
| 9887 | mtcars[1:5, 1:4] %>% |
| 9888 | mutate( |
| 9889 | car = row.names(.), |
| 9890 | mpg = color_tile("white", "orange")(mpg), |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 9891 | cyl = cell_spec(cyl, angle = (1:5)*60, |
Hao Zhu | 8b32b19 | 2017-10-24 14:51:48 -0400 | [diff] [blame] | 9892 | background = "red", color = "white", align = "center"), |
| 9893 | disp = ifelse(disp > 200, |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 9894 | cell_spec(disp, color = "red", bold = T), |
| 9895 | cell_spec(disp, color = "green", italic = T)), |
Hao Zhu | 8b32b19 | 2017-10-24 14:51:48 -0400 | [diff] [blame] | 9896 | hp = color_bar("lightgreen")(hp) |
| 9897 | ) %>% |
| 9898 | select(car, everything()) %>% |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 9899 | kbl(escape = F) %>% |
Hao Zhu | 8b32b19 | 2017-10-24 14:51:48 -0400 | [diff] [blame] | 9900 | kable_styling("hover", full_width = F) %>% |
| 9901 | column_spec(5, width = "3cm") %>% |
| 9902 | add_header_above(c(" ", "Hello" = 2, "World" = 2))</code></pre> |
| 9903 | <table class="table table-hover" style="width: auto !important; margin-left: auto; margin-right: auto;"> |
| 9904 | <thead> |
| 9905 | <tr> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 9906 | <th style="empty-cells: hide;border-bottom:hidden;" colspan="1"> |
Hao Zhu | 8b32b19 | 2017-10-24 14:51:48 -0400 | [diff] [blame] | 9907 | </th> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 9908 | <th style="border-bottom:hidden;padding-bottom:0; padding-left:3px;padding-right:3px;text-align: center; " colspan="2"> |
Hao Zhu | a171b45 | 2019-01-15 17:14:34 -0600 | [diff] [blame] | 9909 | <div style="border-bottom: 1px solid #ddd; padding-bottom: 5px; "> |
Hao Zhu | 8b32b19 | 2017-10-24 14:51:48 -0400 | [diff] [blame] | 9910 | Hello |
| 9911 | </div> |
| 9912 | </th> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 9913 | <th style="border-bottom:hidden;padding-bottom:0; padding-left:3px;padding-right:3px;text-align: center; " colspan="2"> |
Hao Zhu | a171b45 | 2019-01-15 17:14:34 -0600 | [diff] [blame] | 9914 | <div style="border-bottom: 1px solid #ddd; padding-bottom: 5px; "> |
Hao Zhu | 8b32b19 | 2017-10-24 14:51:48 -0400 | [diff] [blame] | 9915 | World |
| 9916 | </div> |
| 9917 | </th> |
| 9918 | </tr> |
| 9919 | <tr> |
| 9920 | <th style="text-align:left;"> |
| 9921 | car |
| 9922 | </th> |
| 9923 | <th style="text-align:left;"> |
| 9924 | mpg |
| 9925 | </th> |
| 9926 | <th style="text-align:left;"> |
| 9927 | cyl |
| 9928 | </th> |
| 9929 | <th style="text-align:left;"> |
| 9930 | disp |
| 9931 | </th> |
| 9932 | <th style="text-align:left;"> |
| 9933 | hp |
| 9934 | </th> |
| 9935 | </tr> |
| 9936 | </thead> |
| 9937 | <tbody> |
| 9938 | <tr> |
| 9939 | <td style="text-align:left;"> |
| 9940 | Mazda RX4 |
| 9941 | </td> |
| 9942 | <td style="text-align:left;"> |
| 9943 | <span style="display: block; padding: 0 4px; border-radius: 4px; background-color: #ffcc6f">21.0</span> |
| 9944 | </td> |
| 9945 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9946 | <span style="-webkit-transform: rotate(60deg); -moz-transform: rotate(60deg); -ms-transform: rotate(60deg); -o-transform: rotate(60deg); transform: rotate(60deg); display: inline-block; "><span style=" color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: red !important;text-align: center;">6</span></span> |
Hao Zhu | 8b32b19 | 2017-10-24 14:51:48 -0400 | [diff] [blame] | 9947 | </td> |
| 9948 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9949 | <span style=" font-style: italic; color: green !important;">160</span> |
Hao Zhu | 8b32b19 | 2017-10-24 14:51:48 -0400 | [diff] [blame] | 9950 | </td> |
Hao Zhu | c375999 | 2017-10-31 17:09:15 -0400 | [diff] [blame] | 9951 | <td style="text-align:left;width: 3cm; "> |
Hao Zhu | 8b32b19 | 2017-10-24 14:51:48 -0400 | [diff] [blame] | 9952 | <span style="display: inline-block; direction: rtl; border-radius: 4px; padding-right: 2px; background-color: lightgreen; width: 62.86%">110</span> |
| 9953 | </td> |
| 9954 | </tr> |
| 9955 | <tr> |
| 9956 | <td style="text-align:left;"> |
| 9957 | Mazda RX4 Wag |
| 9958 | </td> |
| 9959 | <td style="text-align:left;"> |
| 9960 | <span style="display: block; padding: 0 4px; border-radius: 4px; background-color: #ffcc6f">21.0</span> |
| 9961 | </td> |
| 9962 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9963 | <span style="-webkit-transform: rotate(120deg); -moz-transform: rotate(120deg); -ms-transform: rotate(120deg); -o-transform: rotate(120deg); transform: rotate(120deg); display: inline-block; "><span style=" color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: red !important;text-align: center;">6</span></span> |
Hao Zhu | 8b32b19 | 2017-10-24 14:51:48 -0400 | [diff] [blame] | 9964 | </td> |
| 9965 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9966 | <span style=" font-style: italic; color: green !important;">160</span> |
Hao Zhu | 8b32b19 | 2017-10-24 14:51:48 -0400 | [diff] [blame] | 9967 | </td> |
Hao Zhu | c375999 | 2017-10-31 17:09:15 -0400 | [diff] [blame] | 9968 | <td style="text-align:left;width: 3cm; "> |
Hao Zhu | 8b32b19 | 2017-10-24 14:51:48 -0400 | [diff] [blame] | 9969 | <span style="display: inline-block; direction: rtl; border-radius: 4px; padding-right: 2px; background-color: lightgreen; width: 62.86%">110</span> |
| 9970 | </td> |
| 9971 | </tr> |
| 9972 | <tr> |
| 9973 | <td style="text-align:left;"> |
| 9974 | Datsun 710 |
| 9975 | </td> |
| 9976 | <td style="text-align:left;"> |
| 9977 | <span style="display: block; padding: 0 4px; border-radius: 4px; background-color: #ffa500">22.8</span> |
| 9978 | </td> |
| 9979 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9980 | <span style="-webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); display: inline-block; "><span style=" color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: red !important;text-align: center;">4</span></span> |
Hao Zhu | 8b32b19 | 2017-10-24 14:51:48 -0400 | [diff] [blame] | 9981 | </td> |
| 9982 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9983 | <span style=" font-style: italic; color: green !important;">108</span> |
Hao Zhu | 8b32b19 | 2017-10-24 14:51:48 -0400 | [diff] [blame] | 9984 | </td> |
Hao Zhu | c375999 | 2017-10-31 17:09:15 -0400 | [diff] [blame] | 9985 | <td style="text-align:left;width: 3cm; "> |
Hao Zhu | 8b32b19 | 2017-10-24 14:51:48 -0400 | [diff] [blame] | 9986 | <span style="display: inline-block; direction: rtl; border-radius: 4px; padding-right: 2px; background-color: lightgreen; width: 53.14%">93</span> |
| 9987 | </td> |
| 9988 | </tr> |
| 9989 | <tr> |
| 9990 | <td style="text-align:left;"> |
| 9991 | Hornet 4 Drive |
| 9992 | </td> |
| 9993 | <td style="text-align:left;"> |
| 9994 | <span style="display: block; padding: 0 4px; border-radius: 4px; background-color: #ffc357">21.4</span> |
| 9995 | </td> |
| 9996 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 9997 | <span style="-webkit-transform: rotate(240deg); -moz-transform: rotate(240deg); -ms-transform: rotate(240deg); -o-transform: rotate(240deg); transform: rotate(240deg); display: inline-block; "><span style=" color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: red !important;text-align: center;">6</span></span> |
Hao Zhu | 8b32b19 | 2017-10-24 14:51:48 -0400 | [diff] [blame] | 9998 | </td> |
| 9999 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 10000 | <span style=" font-weight: bold; color: red !important;">258</span> |
Hao Zhu | 8b32b19 | 2017-10-24 14:51:48 -0400 | [diff] [blame] | 10001 | </td> |
Hao Zhu | c375999 | 2017-10-31 17:09:15 -0400 | [diff] [blame] | 10002 | <td style="text-align:left;width: 3cm; "> |
Hao Zhu | 8b32b19 | 2017-10-24 14:51:48 -0400 | [diff] [blame] | 10003 | <span style="display: inline-block; direction: rtl; border-radius: 4px; padding-right: 2px; background-color: lightgreen; width: 62.86%">110</span> |
| 10004 | </td> |
| 10005 | </tr> |
| 10006 | <tr> |
| 10007 | <td style="text-align:left;"> |
| 10008 | Hornet Sportabout |
| 10009 | </td> |
| 10010 | <td style="text-align:left;"> |
| 10011 | <span style="display: block; padding: 0 4px; border-radius: 4px; background-color: #ffffff">18.7</span> |
| 10012 | </td> |
| 10013 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 10014 | <span style="-webkit-transform: rotate(300deg); -moz-transform: rotate(300deg); -ms-transform: rotate(300deg); -o-transform: rotate(300deg); transform: rotate(300deg); display: inline-block; "><span style=" color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: red !important;text-align: center;">8</span></span> |
Hao Zhu | 8b32b19 | 2017-10-24 14:51:48 -0400 | [diff] [blame] | 10015 | </td> |
| 10016 | <td style="text-align:left;"> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 10017 | <span style=" font-weight: bold; color: red !important;">360</span> |
Hao Zhu | 8b32b19 | 2017-10-24 14:51:48 -0400 | [diff] [blame] | 10018 | </td> |
Hao Zhu | c375999 | 2017-10-31 17:09:15 -0400 | [diff] [blame] | 10019 | <td style="text-align:left;width: 3cm; "> |
Hao Zhu | 8b32b19 | 2017-10-24 14:51:48 -0400 | [diff] [blame] | 10020 | <span style="display: inline-block; direction: rtl; border-radius: 4px; padding-right: 2px; background-color: lightgreen; width: 100.00%">175</span> |
| 10021 | </td> |
| 10022 | </tr> |
| 10023 | </tbody> |
| 10024 | </table> |
| 10025 | </div> |
Hao Zhu | 9ce317e | 2017-10-12 18:19:55 -0400 | [diff] [blame] | 10026 | </div> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10027 | <div id="grouped-columns-rows" class="section level1"> |
| 10028 | <h1>Grouped Columns / Rows</h1> |
| 10029 | <div id="add-header-rows-to-group-columns" class="section level2"> |
| 10030 | <h2>Add header rows to group columns</h2> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10031 | <p>Tables with multi-row headers can be very useful to demonstrate grouped data. To do that, you can pipe your kable object into <code>add_header_above()</code>. The header variable is supposed to be a named character with the names as new column names and values as column span. For your convenience, if column span equals to 1, you can ignore the <code>=1</code> part so the function below can be written as `add_header_above(c(" “,”Group 1" = 2, “Group 2” = 2, “Group 3” = 2)).</p> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 10032 | <pre class="r"><code>kbl(dt) %>% |
| 10033 | kable_classic() %>% |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10034 | add_header_above(c(" " = 1, "Group 1" = 2, "Group 2" = 2, "Group 3" = 2))</code></pre> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 10035 | <table class=" lightable-classic" style="font-family: "Arial Narrow", "Source Sans Pro", sans-serif; margin-left: auto; margin-right: auto;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10036 | <thead> |
| 10037 | <tr> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 10038 | <th style="empty-cells: hide;" colspan="1"> |
Hao Zhu | fd516ba | 2017-07-28 14:30:25 -0400 | [diff] [blame] | 10039 | </th> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 10040 | <th style="padding-bottom:0; padding-left:3px;padding-right:3px;text-align: center; " colspan="2"> |
| 10041 | <div style="border-bottom: 1px solid #111111; margin-bottom: -1px; "> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10042 | Group 1 |
Hao Zhu | 9986227 | 2017-05-26 15:09:20 -0700 | [diff] [blame] | 10043 | </div> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10044 | </th> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 10045 | <th style="padding-bottom:0; padding-left:3px;padding-right:3px;text-align: center; " colspan="2"> |
| 10046 | <div style="border-bottom: 1px solid #111111; margin-bottom: -1px; "> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10047 | Group 2 |
Hao Zhu | 9986227 | 2017-05-26 15:09:20 -0700 | [diff] [blame] | 10048 | </div> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10049 | </th> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 10050 | <th style="padding-bottom:0; padding-left:3px;padding-right:3px;text-align: center; " colspan="2"> |
| 10051 | <div style="border-bottom: 1px solid #111111; margin-bottom: -1px; "> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10052 | Group 3 |
Hao Zhu | 9986227 | 2017-05-26 15:09:20 -0700 | [diff] [blame] | 10053 | </div> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10054 | </th> |
| 10055 | </tr> |
| 10056 | <tr> |
| 10057 | <th style="text-align:left;"> |
| 10058 | </th> |
| 10059 | <th style="text-align:right;"> |
| 10060 | mpg |
| 10061 | </th> |
| 10062 | <th style="text-align:right;"> |
| 10063 | cyl |
| 10064 | </th> |
| 10065 | <th style="text-align:right;"> |
| 10066 | disp |
| 10067 | </th> |
| 10068 | <th style="text-align:right;"> |
| 10069 | hp |
| 10070 | </th> |
| 10071 | <th style="text-align:right;"> |
| 10072 | drat |
| 10073 | </th> |
| 10074 | <th style="text-align:right;"> |
| 10075 | wt |
| 10076 | </th> |
| 10077 | </tr> |
| 10078 | </thead> |
| 10079 | <tbody> |
| 10080 | <tr> |
| 10081 | <td style="text-align:left;"> |
| 10082 | Mazda RX4 |
| 10083 | </td> |
| 10084 | <td style="text-align:right;"> |
| 10085 | 21.0 |
| 10086 | </td> |
| 10087 | <td style="text-align:right;"> |
| 10088 | 6 |
| 10089 | </td> |
| 10090 | <td style="text-align:right;"> |
| 10091 | 160 |
| 10092 | </td> |
| 10093 | <td style="text-align:right;"> |
| 10094 | 110 |
| 10095 | </td> |
| 10096 | <td style="text-align:right;"> |
| 10097 | 3.90 |
| 10098 | </td> |
| 10099 | <td style="text-align:right;"> |
| 10100 | 2.620 |
| 10101 | </td> |
| 10102 | </tr> |
| 10103 | <tr> |
| 10104 | <td style="text-align:left;"> |
| 10105 | Mazda RX4 Wag |
| 10106 | </td> |
| 10107 | <td style="text-align:right;"> |
| 10108 | 21.0 |
| 10109 | </td> |
| 10110 | <td style="text-align:right;"> |
| 10111 | 6 |
| 10112 | </td> |
| 10113 | <td style="text-align:right;"> |
| 10114 | 160 |
| 10115 | </td> |
| 10116 | <td style="text-align:right;"> |
| 10117 | 110 |
| 10118 | </td> |
| 10119 | <td style="text-align:right;"> |
| 10120 | 3.90 |
| 10121 | </td> |
| 10122 | <td style="text-align:right;"> |
| 10123 | 2.875 |
| 10124 | </td> |
| 10125 | </tr> |
| 10126 | <tr> |
| 10127 | <td style="text-align:left;"> |
| 10128 | Datsun 710 |
| 10129 | </td> |
| 10130 | <td style="text-align:right;"> |
| 10131 | 22.8 |
| 10132 | </td> |
| 10133 | <td style="text-align:right;"> |
| 10134 | 4 |
| 10135 | </td> |
| 10136 | <td style="text-align:right;"> |
| 10137 | 108 |
| 10138 | </td> |
| 10139 | <td style="text-align:right;"> |
| 10140 | 93 |
| 10141 | </td> |
| 10142 | <td style="text-align:right;"> |
| 10143 | 3.85 |
| 10144 | </td> |
| 10145 | <td style="text-align:right;"> |
| 10146 | 2.320 |
| 10147 | </td> |
| 10148 | </tr> |
| 10149 | <tr> |
| 10150 | <td style="text-align:left;"> |
| 10151 | Hornet 4 Drive |
| 10152 | </td> |
| 10153 | <td style="text-align:right;"> |
| 10154 | 21.4 |
| 10155 | </td> |
| 10156 | <td style="text-align:right;"> |
| 10157 | 6 |
| 10158 | </td> |
| 10159 | <td style="text-align:right;"> |
| 10160 | 258 |
| 10161 | </td> |
| 10162 | <td style="text-align:right;"> |
| 10163 | 110 |
| 10164 | </td> |
| 10165 | <td style="text-align:right;"> |
| 10166 | 3.08 |
| 10167 | </td> |
| 10168 | <td style="text-align:right;"> |
| 10169 | 3.215 |
| 10170 | </td> |
| 10171 | </tr> |
| 10172 | <tr> |
| 10173 | <td style="text-align:left;"> |
| 10174 | Hornet Sportabout |
| 10175 | </td> |
| 10176 | <td style="text-align:right;"> |
| 10177 | 18.7 |
| 10178 | </td> |
| 10179 | <td style="text-align:right;"> |
| 10180 | 8 |
| 10181 | </td> |
| 10182 | <td style="text-align:right;"> |
| 10183 | 360 |
| 10184 | </td> |
| 10185 | <td style="text-align:right;"> |
| 10186 | 175 |
| 10187 | </td> |
| 10188 | <td style="text-align:right;"> |
| 10189 | 3.15 |
| 10190 | </td> |
| 10191 | <td style="text-align:right;"> |
| 10192 | 3.440 |
| 10193 | </td> |
| 10194 | </tr> |
| 10195 | </tbody> |
| 10196 | </table> |
| 10197 | <p>In fact, if you want to add another row of header on top, please feel free to do so.</p> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 10198 | <pre class="r"><code>kbl(dt) %>% |
| 10199 | kable_paper() %>% |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10200 | add_header_above(c(" ", "Group 1" = 2, "Group 2" = 2, "Group 3" = 2)) %>% |
| 10201 | add_header_above(c(" ", "Group 4" = 4, "Group 5" = 2)) %>% |
| 10202 | add_header_above(c(" ", "Group 6" = 6))</code></pre> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 10203 | <table class=" lightable-paper" style="font-family: "Arial Narrow", arial, helvetica, sans-serif; margin-left: auto; margin-right: auto;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10204 | <thead> |
| 10205 | <tr> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 10206 | <th style="empty-cells: hide;" colspan="1"> |
Hao Zhu | fd516ba | 2017-07-28 14:30:25 -0400 | [diff] [blame] | 10207 | </th> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 10208 | <th style="padding-bottom:0; padding-left:3px;padding-right:3px;text-align: center; " colspan="6"> |
| 10209 | <div style="border-bottom: 1px solid #00000020; padding-bottom: 5px; "> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10210 | Group 6 |
Hao Zhu | 9986227 | 2017-05-26 15:09:20 -0700 | [diff] [blame] | 10211 | </div> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10212 | </th> |
| 10213 | </tr> |
| 10214 | <tr> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 10215 | <th style="empty-cells: hide;" colspan="1"> |
Hao Zhu | fd516ba | 2017-07-28 14:30:25 -0400 | [diff] [blame] | 10216 | </th> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 10217 | <th style="padding-bottom:0; padding-left:3px;padding-right:3px;text-align: center; " colspan="4"> |
| 10218 | <div style="border-bottom: 1px solid #00000020; padding-bottom: 5px; "> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10219 | Group 4 |
Hao Zhu | 9986227 | 2017-05-26 15:09:20 -0700 | [diff] [blame] | 10220 | </div> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10221 | </th> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 10222 | <th style="padding-bottom:0; padding-left:3px;padding-right:3px;text-align: center; " colspan="2"> |
| 10223 | <div style="border-bottom: 1px solid #00000020; padding-bottom: 5px; "> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10224 | Group 5 |
Hao Zhu | 9986227 | 2017-05-26 15:09:20 -0700 | [diff] [blame] | 10225 | </div> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10226 | </th> |
| 10227 | </tr> |
| 10228 | <tr> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 10229 | <th style="empty-cells: hide;" colspan="1"> |
Hao Zhu | fd516ba | 2017-07-28 14:30:25 -0400 | [diff] [blame] | 10230 | </th> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 10231 | <th style="padding-bottom:0; padding-left:3px;padding-right:3px;text-align: center; " colspan="2"> |
| 10232 | <div style="border-bottom: 1px solid #00000020; padding-bottom: 5px; "> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10233 | Group 1 |
Hao Zhu | 9986227 | 2017-05-26 15:09:20 -0700 | [diff] [blame] | 10234 | </div> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10235 | </th> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 10236 | <th style="padding-bottom:0; padding-left:3px;padding-right:3px;text-align: center; " colspan="2"> |
| 10237 | <div style="border-bottom: 1px solid #00000020; padding-bottom: 5px; "> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10238 | Group 2 |
Hao Zhu | 9986227 | 2017-05-26 15:09:20 -0700 | [diff] [blame] | 10239 | </div> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10240 | </th> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 10241 | <th style="padding-bottom:0; padding-left:3px;padding-right:3px;text-align: center; " colspan="2"> |
| 10242 | <div style="border-bottom: 1px solid #00000020; padding-bottom: 5px; "> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10243 | Group 3 |
Hao Zhu | 9986227 | 2017-05-26 15:09:20 -0700 | [diff] [blame] | 10244 | </div> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 10245 | </th> |
| 10246 | </tr> |
| 10247 | <tr> |
| 10248 | <th style="text-align:left;"> |
| 10249 | </th> |
| 10250 | <th style="text-align:right;"> |
| 10251 | mpg |
| 10252 | </th> |
| 10253 | <th style="text-align:right;"> |
| 10254 | cyl |
| 10255 | </th> |
| 10256 | <th style="text-align:right;"> |
| 10257 | disp |
| 10258 | </th> |
| 10259 | <th style="text-align:right;"> |
| 10260 | hp |
| 10261 | </th> |
| 10262 | <th style="text-align:right;"> |
| 10263 | drat |
| 10264 | </th> |
| 10265 | <th style="text-align:right;"> |
| 10266 | wt |
| 10267 | </th> |
| 10268 | </tr> |
| 10269 | </thead> |
| 10270 | <tbody> |
| 10271 | <tr> |
| 10272 | <td style="text-align:left;"> |
| 10273 | Mazda RX4 |
| 10274 | </td> |
| 10275 | <td style="text-align:right;"> |
| 10276 | 21.0 |
| 10277 | </td> |
| 10278 | <td style="text-align:right;"> |
| 10279 | 6 |
| 10280 | </td> |
| 10281 | <td style="text-align:right;"> |
| 10282 | 160 |
| 10283 | </td> |
| 10284 | <td style="text-align:right;"> |
| 10285 | 110 |
| 10286 | </td> |
| 10287 | <td style="text-align:right;"> |
| 10288 | 3.90 |
| 10289 | </td> |
| 10290 | <td style="text-align:right;"> |
| 10291 | 2.620 |
| 10292 | </td> |
| 10293 | </tr> |
| 10294 | <tr> |
| 10295 | <td style="text-align:left;"> |
| 10296 | Mazda RX4 Wag |
| 10297 | </td> |
| 10298 | <td style="text-align:right;"> |
| 10299 | 21.0 |
| 10300 | </td> |
| 10301 | <td style="text-align:right;"> |
| 10302 | 6 |
| 10303 | </td> |
| 10304 | <td style="text-align:right;"> |
| 10305 | 160 |
| 10306 | </td> |
| 10307 | <td style="text-align:right;"> |
| 10308 | 110 |
| 10309 | </td> |
| 10310 | <td style="text-align:right;"> |
| 10311 | 3.90 |
| 10312 | </td> |
| 10313 | <td style="text-align:right;"> |
| 10314 | 2.875 |
| 10315 | </td> |
| 10316 | </tr> |
| 10317 | <tr> |
| 10318 | <td style="text-align:left;"> |
| 10319 | Datsun 710 |
| 10320 | </td> |
| 10321 | <td style="text-align:right;"> |
| 10322 | 22.8 |
| 10323 | </td> |
| 10324 | <td style="text-align:right;"> |
| 10325 | 4 |
| 10326 | </td> |
| 10327 | <td style="text-align:right;"> |
| 10328 | 108 |
| 10329 | </td> |
| 10330 | <td style="text-align:right;"> |
| 10331 | 93 |
| 10332 | </td> |
| 10333 | <td style="text-align:right;"> |
| 10334 | 3.85 |
| 10335 | </td> |
| 10336 | <td style="text-align:right;"> |
| 10337 | 2.320 |
| 10338 | </td> |
| 10339 | </tr> |
| 10340 | <tr> |
| 10341 | <td style="text-align:left;"> |
| 10342 | Hornet 4 Drive |
| 10343 | </td> |
| 10344 | <td style="text-align:right;"> |
| 10345 | 21.4 |
| 10346 | </td> |
| 10347 | <td style="text-align:right;"> |
| 10348 | 6 |
| 10349 | </td> |
| 10350 | <td style="text-align:right;"> |
| 10351 | 258 |
| 10352 | </td> |
| 10353 | <td style="text-align:right;"> |
| 10354 | 110 |
| 10355 | </td> |
| 10356 | <td style="text-align:right;"> |
| 10357 | 3.08 |
| 10358 | </td> |
| 10359 | <td style="text-align:right;"> |
| 10360 | 3.215 |
| 10361 | </td> |
| 10362 | </tr> |
| 10363 | <tr> |
| 10364 | <td style="text-align:left;"> |
| 10365 | Hornet Sportabout |
| 10366 | </td> |
| 10367 | <td style="text-align:right;"> |
| 10368 | 18.7 |
| 10369 | </td> |
| 10370 | <td style="text-align:right;"> |
| 10371 | 8 |
| 10372 | </td> |
| 10373 | <td style="text-align:right;"> |
| 10374 | 360 |
| 10375 | </td> |
| 10376 | <td style="text-align:right;"> |
| 10377 | 175 |
| 10378 | </td> |
| 10379 | <td style="text-align:right;"> |
| 10380 | 3.15 |
| 10381 | </td> |
| 10382 | <td style="text-align:right;"> |
| 10383 | 3.440 |
| 10384 | </td> |
| 10385 | </tr> |
| 10386 | </tbody> |
| 10387 | </table> |
| 10388 | </div> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10389 | <div id="group-rows-via-labeling" class="section level2"> |
| 10390 | <h2>Group rows via labeling</h2> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 10391 | <p>Sometimes we want a few rows of the table being grouped together. They might be items under the same topic (e.g., animals in one species) or just different data groups for a categorical variable (e.g., age < 40, age > 40). With the function <code>group_rows()</code>/<code>pack_rows()</code> in <code>kableExtra</code>, this kind of task can be completed in one line. Please see the example below. Note that when you count for the start/end rows of the group, you don’t need to count for the header rows nor other group label rows. You only need to think about the row numbers in the “original R dataframe”.</p> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 10392 | <pre class="r"><code>kbl(mtcars[1:10, 1:6], caption = "Group Rows") %>% |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10393 | kable_styling("striped", full_width = F) %>% |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 10394 | pack_rows("Group 1", 4, 7) %>% |
| 10395 | pack_rows("Group 2", 8, 10)</code></pre> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10396 | <table class="table table-striped" style="width: auto !important; margin-left: auto; margin-right: auto;"> |
| 10397 | <caption> |
| 10398 | Group Rows |
| 10399 | </caption> |
| 10400 | <thead> |
| 10401 | <tr> |
| 10402 | <th style="text-align:left;"> |
| 10403 | </th> |
| 10404 | <th style="text-align:right;"> |
| 10405 | mpg |
| 10406 | </th> |
| 10407 | <th style="text-align:right;"> |
| 10408 | cyl |
| 10409 | </th> |
| 10410 | <th style="text-align:right;"> |
| 10411 | disp |
| 10412 | </th> |
| 10413 | <th style="text-align:right;"> |
| 10414 | hp |
| 10415 | </th> |
| 10416 | <th style="text-align:right;"> |
| 10417 | drat |
| 10418 | </th> |
| 10419 | <th style="text-align:right;"> |
| 10420 | wt |
| 10421 | </th> |
| 10422 | </tr> |
| 10423 | </thead> |
| 10424 | <tbody> |
| 10425 | <tr> |
| 10426 | <td style="text-align:left;"> |
| 10427 | Mazda RX4 |
| 10428 | </td> |
| 10429 | <td style="text-align:right;"> |
| 10430 | 21.0 |
| 10431 | </td> |
| 10432 | <td style="text-align:right;"> |
| 10433 | 6 |
| 10434 | </td> |
| 10435 | <td style="text-align:right;"> |
| 10436 | 160.0 |
| 10437 | </td> |
| 10438 | <td style="text-align:right;"> |
| 10439 | 110 |
| 10440 | </td> |
| 10441 | <td style="text-align:right;"> |
| 10442 | 3.90 |
| 10443 | </td> |
| 10444 | <td style="text-align:right;"> |
| 10445 | 2.620 |
| 10446 | </td> |
| 10447 | </tr> |
| 10448 | <tr> |
| 10449 | <td style="text-align:left;"> |
| 10450 | Mazda RX4 Wag |
| 10451 | </td> |
| 10452 | <td style="text-align:right;"> |
| 10453 | 21.0 |
| 10454 | </td> |
| 10455 | <td style="text-align:right;"> |
| 10456 | 6 |
| 10457 | </td> |
| 10458 | <td style="text-align:right;"> |
| 10459 | 160.0 |
| 10460 | </td> |
| 10461 | <td style="text-align:right;"> |
| 10462 | 110 |
| 10463 | </td> |
| 10464 | <td style="text-align:right;"> |
| 10465 | 3.90 |
| 10466 | </td> |
| 10467 | <td style="text-align:right;"> |
| 10468 | 2.875 |
| 10469 | </td> |
| 10470 | </tr> |
| 10471 | <tr> |
| 10472 | <td style="text-align:left;"> |
| 10473 | Datsun 710 |
| 10474 | </td> |
| 10475 | <td style="text-align:right;"> |
| 10476 | 22.8 |
| 10477 | </td> |
| 10478 | <td style="text-align:right;"> |
| 10479 | 4 |
| 10480 | </td> |
| 10481 | <td style="text-align:right;"> |
| 10482 | 108.0 |
| 10483 | </td> |
| 10484 | <td style="text-align:right;"> |
| 10485 | 93 |
| 10486 | </td> |
| 10487 | <td style="text-align:right;"> |
| 10488 | 3.85 |
| 10489 | </td> |
| 10490 | <td style="text-align:right;"> |
| 10491 | 2.320 |
| 10492 | </td> |
| 10493 | </tr> |
| 10494 | <tr grouplength="4"> |
| 10495 | <td colspan="7" style="border-bottom: 1px solid;"> |
| 10496 | <strong>Group 1</strong> |
| 10497 | </td> |
| 10498 | </tr> |
| 10499 | <tr> |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 10500 | <td style="text-align:left; padding-left: 2em;" indentlevel="1"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10501 | Hornet 4 Drive |
| 10502 | </td> |
| 10503 | <td style="text-align:right;"> |
| 10504 | 21.4 |
| 10505 | </td> |
| 10506 | <td style="text-align:right;"> |
| 10507 | 6 |
| 10508 | </td> |
| 10509 | <td style="text-align:right;"> |
| 10510 | 258.0 |
| 10511 | </td> |
| 10512 | <td style="text-align:right;"> |
| 10513 | 110 |
| 10514 | </td> |
| 10515 | <td style="text-align:right;"> |
| 10516 | 3.08 |
| 10517 | </td> |
| 10518 | <td style="text-align:right;"> |
| 10519 | 3.215 |
| 10520 | </td> |
| 10521 | </tr> |
| 10522 | <tr> |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 10523 | <td style="text-align:left; padding-left: 2em;" indentlevel="1"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10524 | Hornet Sportabout |
| 10525 | </td> |
| 10526 | <td style="text-align:right;"> |
| 10527 | 18.7 |
| 10528 | </td> |
| 10529 | <td style="text-align:right;"> |
| 10530 | 8 |
| 10531 | </td> |
| 10532 | <td style="text-align:right;"> |
| 10533 | 360.0 |
| 10534 | </td> |
| 10535 | <td style="text-align:right;"> |
| 10536 | 175 |
| 10537 | </td> |
| 10538 | <td style="text-align:right;"> |
| 10539 | 3.15 |
| 10540 | </td> |
| 10541 | <td style="text-align:right;"> |
| 10542 | 3.440 |
| 10543 | </td> |
| 10544 | </tr> |
| 10545 | <tr> |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 10546 | <td style="text-align:left; padding-left: 2em;" indentlevel="1"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10547 | Valiant |
| 10548 | </td> |
| 10549 | <td style="text-align:right;"> |
| 10550 | 18.1 |
| 10551 | </td> |
| 10552 | <td style="text-align:right;"> |
| 10553 | 6 |
| 10554 | </td> |
| 10555 | <td style="text-align:right;"> |
| 10556 | 225.0 |
| 10557 | </td> |
| 10558 | <td style="text-align:right;"> |
| 10559 | 105 |
| 10560 | </td> |
| 10561 | <td style="text-align:right;"> |
| 10562 | 2.76 |
| 10563 | </td> |
| 10564 | <td style="text-align:right;"> |
| 10565 | 3.460 |
| 10566 | </td> |
| 10567 | </tr> |
| 10568 | <tr> |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 10569 | <td style="text-align:left; padding-left: 2em;" indentlevel="1"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10570 | Duster 360 |
| 10571 | </td> |
| 10572 | <td style="text-align:right;"> |
| 10573 | 14.3 |
| 10574 | </td> |
| 10575 | <td style="text-align:right;"> |
| 10576 | 8 |
| 10577 | </td> |
| 10578 | <td style="text-align:right;"> |
| 10579 | 360.0 |
| 10580 | </td> |
| 10581 | <td style="text-align:right;"> |
| 10582 | 245 |
| 10583 | </td> |
| 10584 | <td style="text-align:right;"> |
| 10585 | 3.21 |
| 10586 | </td> |
| 10587 | <td style="text-align:right;"> |
| 10588 | 3.570 |
| 10589 | </td> |
| 10590 | </tr> |
| 10591 | <tr grouplength="3"> |
| 10592 | <td colspan="7" style="border-bottom: 1px solid;"> |
| 10593 | <strong>Group 2</strong> |
| 10594 | </td> |
| 10595 | </tr> |
| 10596 | <tr> |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 10597 | <td style="text-align:left; padding-left: 2em;" indentlevel="1"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10598 | Merc 240D |
| 10599 | </td> |
| 10600 | <td style="text-align:right;"> |
| 10601 | 24.4 |
| 10602 | </td> |
| 10603 | <td style="text-align:right;"> |
| 10604 | 4 |
| 10605 | </td> |
| 10606 | <td style="text-align:right;"> |
| 10607 | 146.7 |
| 10608 | </td> |
| 10609 | <td style="text-align:right;"> |
| 10610 | 62 |
| 10611 | </td> |
| 10612 | <td style="text-align:right;"> |
| 10613 | 3.69 |
| 10614 | </td> |
| 10615 | <td style="text-align:right;"> |
| 10616 | 3.190 |
| 10617 | </td> |
| 10618 | </tr> |
| 10619 | <tr> |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 10620 | <td style="text-align:left; padding-left: 2em;" indentlevel="1"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10621 | Merc 230 |
| 10622 | </td> |
| 10623 | <td style="text-align:right;"> |
| 10624 | 22.8 |
| 10625 | </td> |
| 10626 | <td style="text-align:right;"> |
| 10627 | 4 |
| 10628 | </td> |
| 10629 | <td style="text-align:right;"> |
| 10630 | 140.8 |
| 10631 | </td> |
| 10632 | <td style="text-align:right;"> |
| 10633 | 95 |
| 10634 | </td> |
| 10635 | <td style="text-align:right;"> |
| 10636 | 3.92 |
| 10637 | </td> |
| 10638 | <td style="text-align:right;"> |
| 10639 | 3.150 |
| 10640 | </td> |
| 10641 | </tr> |
| 10642 | <tr> |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 10643 | <td style="text-align:left; padding-left: 2em;" indentlevel="1"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10644 | Merc 280 |
| 10645 | </td> |
| 10646 | <td style="text-align:right;"> |
| 10647 | 19.2 |
| 10648 | </td> |
| 10649 | <td style="text-align:right;"> |
| 10650 | 6 |
| 10651 | </td> |
| 10652 | <td style="text-align:right;"> |
| 10653 | 167.6 |
| 10654 | </td> |
| 10655 | <td style="text-align:right;"> |
| 10656 | 123 |
| 10657 | </td> |
| 10658 | <td style="text-align:right;"> |
| 10659 | 3.92 |
| 10660 | </td> |
| 10661 | <td style="text-align:right;"> |
| 10662 | 3.440 |
| 10663 | </td> |
| 10664 | </tr> |
| 10665 | </tbody> |
| 10666 | </table> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 10667 | <p>Another way to use <code>pack_rows</code> is to provide an grouping index, similar with <code>add_header_above()</code>. This feature is only available in kableExtra > 0.5.2.</p> |
Hao Zhu | 4840bc9 | 2017-09-15 15:55:05 -0400 | [diff] [blame] | 10668 | <pre class="r"><code># Not evaluated. This example generates the same table as above. |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 10669 | kbl(mtcars[1:10, 1:6], caption = "Group Rows") %>% |
Hao Zhu | 4840bc9 | 2017-09-15 15:55:05 -0400 | [diff] [blame] | 10670 | kable_styling("striped", full_width = F) %>% |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 10671 | pack_rows(index = c(" " = 3, "Group 1" = 4, "Group 2" = 3))</code></pre> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10672 | <p>For advanced users, you can even define your own css for the group labeling.</p> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 10673 | <pre class="r"><code>kbl(dt) %>% |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10674 | kable_styling("striped", full_width = F) %>% |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 10675 | pack_rows("Group 1", 3, 5, label_row_css = "background-color: #666; color: #fff;")</code></pre> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10676 | <table class="table table-striped" style="width: auto !important; margin-left: auto; margin-right: auto;"> |
| 10677 | <thead> |
| 10678 | <tr> |
| 10679 | <th style="text-align:left;"> |
| 10680 | </th> |
| 10681 | <th style="text-align:right;"> |
| 10682 | mpg |
| 10683 | </th> |
| 10684 | <th style="text-align:right;"> |
| 10685 | cyl |
| 10686 | </th> |
| 10687 | <th style="text-align:right;"> |
| 10688 | disp |
| 10689 | </th> |
| 10690 | <th style="text-align:right;"> |
| 10691 | hp |
| 10692 | </th> |
| 10693 | <th style="text-align:right;"> |
| 10694 | drat |
| 10695 | </th> |
| 10696 | <th style="text-align:right;"> |
| 10697 | wt |
| 10698 | </th> |
| 10699 | </tr> |
| 10700 | </thead> |
| 10701 | <tbody> |
| 10702 | <tr> |
| 10703 | <td style="text-align:left;"> |
| 10704 | Mazda RX4 |
| 10705 | </td> |
| 10706 | <td style="text-align:right;"> |
| 10707 | 21.0 |
| 10708 | </td> |
| 10709 | <td style="text-align:right;"> |
| 10710 | 6 |
| 10711 | </td> |
| 10712 | <td style="text-align:right;"> |
| 10713 | 160 |
| 10714 | </td> |
| 10715 | <td style="text-align:right;"> |
| 10716 | 110 |
| 10717 | </td> |
| 10718 | <td style="text-align:right;"> |
| 10719 | 3.90 |
| 10720 | </td> |
| 10721 | <td style="text-align:right;"> |
| 10722 | 2.620 |
| 10723 | </td> |
| 10724 | </tr> |
| 10725 | <tr> |
| 10726 | <td style="text-align:left;"> |
| 10727 | Mazda RX4 Wag |
| 10728 | </td> |
| 10729 | <td style="text-align:right;"> |
| 10730 | 21.0 |
| 10731 | </td> |
| 10732 | <td style="text-align:right;"> |
| 10733 | 6 |
| 10734 | </td> |
| 10735 | <td style="text-align:right;"> |
| 10736 | 160 |
| 10737 | </td> |
| 10738 | <td style="text-align:right;"> |
| 10739 | 110 |
| 10740 | </td> |
| 10741 | <td style="text-align:right;"> |
| 10742 | 3.90 |
| 10743 | </td> |
| 10744 | <td style="text-align:right;"> |
| 10745 | 2.875 |
| 10746 | </td> |
| 10747 | </tr> |
| 10748 | <tr grouplength="3"> |
| 10749 | <td colspan="7" style="background-color: #666; color: #fff;"> |
| 10750 | <strong>Group 1</strong> |
| 10751 | </td> |
| 10752 | </tr> |
| 10753 | <tr> |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 10754 | <td style="text-align:left; padding-left: 2em;" indentlevel="1"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10755 | Datsun 710 |
| 10756 | </td> |
| 10757 | <td style="text-align:right;"> |
| 10758 | 22.8 |
| 10759 | </td> |
| 10760 | <td style="text-align:right;"> |
| 10761 | 4 |
| 10762 | </td> |
| 10763 | <td style="text-align:right;"> |
| 10764 | 108 |
| 10765 | </td> |
| 10766 | <td style="text-align:right;"> |
| 10767 | 93 |
| 10768 | </td> |
| 10769 | <td style="text-align:right;"> |
| 10770 | 3.85 |
| 10771 | </td> |
| 10772 | <td style="text-align:right;"> |
| 10773 | 2.320 |
| 10774 | </td> |
| 10775 | </tr> |
| 10776 | <tr> |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 10777 | <td style="text-align:left; padding-left: 2em;" indentlevel="1"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10778 | Hornet 4 Drive |
| 10779 | </td> |
| 10780 | <td style="text-align:right;"> |
| 10781 | 21.4 |
| 10782 | </td> |
| 10783 | <td style="text-align:right;"> |
| 10784 | 6 |
| 10785 | </td> |
| 10786 | <td style="text-align:right;"> |
| 10787 | 258 |
| 10788 | </td> |
| 10789 | <td style="text-align:right;"> |
| 10790 | 110 |
| 10791 | </td> |
| 10792 | <td style="text-align:right;"> |
| 10793 | 3.08 |
| 10794 | </td> |
| 10795 | <td style="text-align:right;"> |
| 10796 | 3.215 |
| 10797 | </td> |
| 10798 | </tr> |
| 10799 | <tr> |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 10800 | <td style="text-align:left; padding-left: 2em;" indentlevel="1"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10801 | Hornet Sportabout |
| 10802 | </td> |
| 10803 | <td style="text-align:right;"> |
| 10804 | 18.7 |
| 10805 | </td> |
| 10806 | <td style="text-align:right;"> |
| 10807 | 8 |
| 10808 | </td> |
| 10809 | <td style="text-align:right;"> |
| 10810 | 360 |
| 10811 | </td> |
| 10812 | <td style="text-align:right;"> |
| 10813 | 175 |
| 10814 | </td> |
| 10815 | <td style="text-align:right;"> |
| 10816 | 3.15 |
| 10817 | </td> |
| 10818 | <td style="text-align:right;"> |
| 10819 | 3.440 |
| 10820 | </td> |
| 10821 | </tr> |
| 10822 | </tbody> |
| 10823 | </table> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 10824 | <p><span style=" font-weight: bold; color: #D7261E !important;">Important Note!</span></p> |
| 10825 | <p>Note that <code>dplyr</code> 0.8.0+ introduced a <code>group_rows</code> function as well for a trivial feature. Therefore, I’m create this <code>pack_rows</code> function as an alias to the original <code>group_rows</code>. In the future, <strong>I recommend all kableExtra users to use <code>pack_rows</code> instead of <code>group_rows</code> to get rid of the NAMESPACE conflict.</strong></p> |
| 10826 | <p>Alternatively, for pre-existing codes, you have two ways to solve this. You can either load <code>kableExtra</code> after <code>dplyr</code> or <code>tidyverse</code>, or to use the <code>conflicted</code> package. Here is an example.</p> |
| 10827 | <pre class="r"><code># Method 1 |
| 10828 | pack_rows() # instead of group_rows() |
| 10829 | |
| 10830 | # Method 2 |
| 10831 | library(dplyr) |
| 10832 | library(kableExtra) |
| 10833 | |
| 10834 | # Method 3 |
| 10835 | conflicted::conflict_prefer("group_rows", "kableExtra", "dplyr")</code></pre> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10836 | </div> |
| 10837 | <div id="row-indentation" class="section level2"> |
| 10838 | <h2>Row indentation</h2> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 10839 | <p>Unlike <code>pack_rows()</code>, which will insert a labeling row, sometimes we want to list a few sub groups under a total one. In that case, <code>add_indent()</code> is probably more apporiate. For advanced users, you can even define your own css for the group labeling.</p> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 10840 | <pre class="r"><code>kbl(dt) %>% |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10841 | kable_styling("striped", full_width = F) %>% |
| 10842 | add_indent(c(1, 3, 5))</code></pre> |
| 10843 | <table class="table table-striped" style="width: auto !important; margin-left: auto; margin-right: auto;"> |
| 10844 | <thead> |
| 10845 | <tr> |
| 10846 | <th style="text-align:left;"> |
| 10847 | </th> |
| 10848 | <th style="text-align:right;"> |
| 10849 | mpg |
| 10850 | </th> |
| 10851 | <th style="text-align:right;"> |
| 10852 | cyl |
| 10853 | </th> |
| 10854 | <th style="text-align:right;"> |
| 10855 | disp |
| 10856 | </th> |
| 10857 | <th style="text-align:right;"> |
| 10858 | hp |
| 10859 | </th> |
| 10860 | <th style="text-align:right;"> |
| 10861 | drat |
| 10862 | </th> |
| 10863 | <th style="text-align:right;"> |
| 10864 | wt |
| 10865 | </th> |
| 10866 | </tr> |
| 10867 | </thead> |
| 10868 | <tbody> |
| 10869 | <tr> |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 10870 | <td style="text-align:left; padding-left: 2em;" indentlevel="1"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10871 | Mazda RX4 |
| 10872 | </td> |
| 10873 | <td style="text-align:right;"> |
| 10874 | 21.0 |
| 10875 | </td> |
| 10876 | <td style="text-align:right;"> |
| 10877 | 6 |
| 10878 | </td> |
| 10879 | <td style="text-align:right;"> |
| 10880 | 160 |
| 10881 | </td> |
| 10882 | <td style="text-align:right;"> |
| 10883 | 110 |
| 10884 | </td> |
| 10885 | <td style="text-align:right;"> |
| 10886 | 3.90 |
| 10887 | </td> |
| 10888 | <td style="text-align:right;"> |
| 10889 | 2.620 |
| 10890 | </td> |
| 10891 | </tr> |
| 10892 | <tr> |
| 10893 | <td style="text-align:left;"> |
| 10894 | Mazda RX4 Wag |
| 10895 | </td> |
| 10896 | <td style="text-align:right;"> |
| 10897 | 21.0 |
| 10898 | </td> |
| 10899 | <td style="text-align:right;"> |
| 10900 | 6 |
| 10901 | </td> |
| 10902 | <td style="text-align:right;"> |
| 10903 | 160 |
| 10904 | </td> |
| 10905 | <td style="text-align:right;"> |
| 10906 | 110 |
| 10907 | </td> |
| 10908 | <td style="text-align:right;"> |
| 10909 | 3.90 |
| 10910 | </td> |
| 10911 | <td style="text-align:right;"> |
| 10912 | 2.875 |
| 10913 | </td> |
| 10914 | </tr> |
| 10915 | <tr> |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 10916 | <td style="text-align:left; padding-left: 2em;" indentlevel="1"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10917 | Datsun 710 |
| 10918 | </td> |
| 10919 | <td style="text-align:right;"> |
| 10920 | 22.8 |
| 10921 | </td> |
| 10922 | <td style="text-align:right;"> |
| 10923 | 4 |
| 10924 | </td> |
| 10925 | <td style="text-align:right;"> |
| 10926 | 108 |
| 10927 | </td> |
| 10928 | <td style="text-align:right;"> |
| 10929 | 93 |
| 10930 | </td> |
| 10931 | <td style="text-align:right;"> |
| 10932 | 3.85 |
| 10933 | </td> |
| 10934 | <td style="text-align:right;"> |
| 10935 | 2.320 |
| 10936 | </td> |
| 10937 | </tr> |
| 10938 | <tr> |
| 10939 | <td style="text-align:left;"> |
| 10940 | Hornet 4 Drive |
| 10941 | </td> |
| 10942 | <td style="text-align:right;"> |
| 10943 | 21.4 |
| 10944 | </td> |
| 10945 | <td style="text-align:right;"> |
| 10946 | 6 |
| 10947 | </td> |
| 10948 | <td style="text-align:right;"> |
| 10949 | 258 |
| 10950 | </td> |
| 10951 | <td style="text-align:right;"> |
| 10952 | 110 |
| 10953 | </td> |
| 10954 | <td style="text-align:right;"> |
| 10955 | 3.08 |
| 10956 | </td> |
| 10957 | <td style="text-align:right;"> |
| 10958 | 3.215 |
| 10959 | </td> |
| 10960 | </tr> |
| 10961 | <tr> |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 10962 | <td style="text-align:left; padding-left: 2em;" indentlevel="1"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10963 | Hornet Sportabout |
| 10964 | </td> |
| 10965 | <td style="text-align:right;"> |
| 10966 | 18.7 |
| 10967 | </td> |
| 10968 | <td style="text-align:right;"> |
| 10969 | 8 |
| 10970 | </td> |
| 10971 | <td style="text-align:right;"> |
| 10972 | 360 |
| 10973 | </td> |
| 10974 | <td style="text-align:right;"> |
| 10975 | 175 |
| 10976 | </td> |
| 10977 | <td style="text-align:right;"> |
| 10978 | 3.15 |
| 10979 | </td> |
| 10980 | <td style="text-align:right;"> |
| 10981 | 3.440 |
| 10982 | </td> |
| 10983 | </tr> |
| 10984 | </tbody> |
| 10985 | </table> |
| 10986 | </div> |
| 10987 | <div id="group-rows-via-multi-row-cell" class="section level2"> |
| 10988 | <h2>Group rows via multi-row cell</h2> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 10989 | <p>Function <code>pack_rows</code> is great for showing simple structural information on rows but sometimes people may need to show structural information with multiple layers. When it happens, you may consider to use <code>collapse_rows</code> instead, which will put repeating cells in columns into multi-row cells. The vertical allignment of the cell is controlled by <code>valign</code> with default as “top”.</p> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10990 | <pre class="r"><code>collapse_rows_dt <- data.frame(C1 = c(rep("a", 10), rep("b", 5)), |
| 10991 | C2 = c(rep("c", 7), rep("d", 3), rep("c", 2), rep("d", 3)), |
| 10992 | C3 = 1:15, |
| 10993 | C4 = sample(c(0,1), 15, replace = TRUE)) |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 10994 | kbl(collapse_rows_dt, align = "c") %>% |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10995 | kable_styling(full_width = F) %>% |
| 10996 | column_spec(1, bold = T) %>% |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 10997 | collapse_rows(columns = 1:2, valign = "top")</code></pre> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 10998 | <table class="table" style="width: auto !important; margin-left: auto; margin-right: auto;"> |
| 10999 | <thead> |
| 11000 | <tr> |
| 11001 | <th style="text-align:center;"> |
| 11002 | C1 |
| 11003 | </th> |
| 11004 | <th style="text-align:center;"> |
| 11005 | C2 |
| 11006 | </th> |
| 11007 | <th style="text-align:center;"> |
| 11008 | C3 |
| 11009 | </th> |
| 11010 | <th style="text-align:center;"> |
| 11011 | C4 |
| 11012 | </th> |
| 11013 | </tr> |
| 11014 | </thead> |
| 11015 | <tbody> |
| 11016 | <tr> |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 11017 | <td style="text-align:center;font-weight: bold;vertical-align: top !important;" rowspan="10"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11018 | a |
| 11019 | </td> |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 11020 | <td style="text-align:center;vertical-align: top !important;" rowspan="7"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11021 | c |
| 11022 | </td> |
| 11023 | <td style="text-align:center;"> |
| 11024 | 1 |
| 11025 | </td> |
| 11026 | <td style="text-align:center;"> |
Hao Zhu | 4e34cd8 | 2020-08-19 01:54:23 -0400 | [diff] [blame^] | 11027 | 0 |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11028 | </td> |
| 11029 | </tr> |
| 11030 | <tr> |
| 11031 | <td style="text-align:center;"> |
| 11032 | 2 |
| 11033 | </td> |
| 11034 | <td style="text-align:center;"> |
Hao Zhu | 4e34cd8 | 2020-08-19 01:54:23 -0400 | [diff] [blame^] | 11035 | 1 |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11036 | </td> |
| 11037 | </tr> |
| 11038 | <tr> |
| 11039 | <td style="text-align:center;"> |
| 11040 | 3 |
| 11041 | </td> |
| 11042 | <td style="text-align:center;"> |
Hao Zhu | 8f46db8 | 2020-08-18 21:48:23 -0400 | [diff] [blame] | 11043 | 0 |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11044 | </td> |
| 11045 | </tr> |
| 11046 | <tr> |
| 11047 | <td style="text-align:center;"> |
| 11048 | 4 |
| 11049 | </td> |
| 11050 | <td style="text-align:center;"> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 11051 | 0 |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11052 | </td> |
| 11053 | </tr> |
| 11054 | <tr> |
| 11055 | <td style="text-align:center;"> |
| 11056 | 5 |
| 11057 | </td> |
| 11058 | <td style="text-align:center;"> |
Hao Zhu | 4e34cd8 | 2020-08-19 01:54:23 -0400 | [diff] [blame^] | 11059 | 0 |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11060 | </td> |
| 11061 | </tr> |
| 11062 | <tr> |
| 11063 | <td style="text-align:center;"> |
| 11064 | 6 |
| 11065 | </td> |
| 11066 | <td style="text-align:center;"> |
Hao Zhu | 4e34cd8 | 2020-08-19 01:54:23 -0400 | [diff] [blame^] | 11067 | 0 |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11068 | </td> |
| 11069 | </tr> |
| 11070 | <tr> |
| 11071 | <td style="text-align:center;"> |
| 11072 | 7 |
| 11073 | </td> |
| 11074 | <td style="text-align:center;"> |
Hao Zhu | 81c335c | 2020-08-10 09:20:41 -0400 | [diff] [blame] | 11075 | 0 |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11076 | </td> |
| 11077 | </tr> |
| 11078 | <tr> |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 11079 | <td style="text-align:center;vertical-align: top !important;" rowspan="3"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11080 | d |
| 11081 | </td> |
| 11082 | <td style="text-align:center;"> |
| 11083 | 8 |
| 11084 | </td> |
| 11085 | <td style="text-align:center;"> |
Hao Zhu | 4e34cd8 | 2020-08-19 01:54:23 -0400 | [diff] [blame^] | 11086 | 0 |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11087 | </td> |
| 11088 | </tr> |
| 11089 | <tr> |
| 11090 | <td style="text-align:center;"> |
| 11091 | 9 |
| 11092 | </td> |
| 11093 | <td style="text-align:center;"> |
Hao Zhu | 33b865f | 2020-08-18 02:10:43 -0400 | [diff] [blame] | 11094 | 0 |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11095 | </td> |
| 11096 | </tr> |
| 11097 | <tr> |
| 11098 | <td style="text-align:center;"> |
| 11099 | 10 |
| 11100 | </td> |
| 11101 | <td style="text-align:center;"> |
Hao Zhu | 4e34cd8 | 2020-08-19 01:54:23 -0400 | [diff] [blame^] | 11102 | 1 |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11103 | </td> |
| 11104 | </tr> |
| 11105 | <tr> |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 11106 | <td style="text-align:center;font-weight: bold;vertical-align: top !important;" rowspan="5"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11107 | b |
| 11108 | </td> |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 11109 | <td style="text-align:center;vertical-align: top !important;" rowspan="2"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11110 | c |
| 11111 | </td> |
| 11112 | <td style="text-align:center;"> |
| 11113 | 11 |
| 11114 | </td> |
| 11115 | <td style="text-align:center;"> |
Hao Zhu | 4e34cd8 | 2020-08-19 01:54:23 -0400 | [diff] [blame^] | 11116 | 0 |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11117 | </td> |
| 11118 | </tr> |
| 11119 | <tr> |
| 11120 | <td style="text-align:center;"> |
| 11121 | 12 |
| 11122 | </td> |
| 11123 | <td style="text-align:center;"> |
Hao Zhu | 4e34cd8 | 2020-08-19 01:54:23 -0400 | [diff] [blame^] | 11124 | 0 |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11125 | </td> |
| 11126 | </tr> |
| 11127 | <tr> |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 11128 | <td style="text-align:center;vertical-align: top !important;" rowspan="3"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11129 | d |
| 11130 | </td> |
| 11131 | <td style="text-align:center;"> |
| 11132 | 13 |
| 11133 | </td> |
| 11134 | <td style="text-align:center;"> |
Hao Zhu | 4e34cd8 | 2020-08-19 01:54:23 -0400 | [diff] [blame^] | 11135 | 0 |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11136 | </td> |
| 11137 | </tr> |
| 11138 | <tr> |
| 11139 | <td style="text-align:center;"> |
| 11140 | 14 |
| 11141 | </td> |
| 11142 | <td style="text-align:center;"> |
Hao Zhu | 4e34cd8 | 2020-08-19 01:54:23 -0400 | [diff] [blame^] | 11143 | 1 |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11144 | </td> |
| 11145 | </tr> |
| 11146 | <tr> |
| 11147 | <td style="text-align:center;"> |
| 11148 | 15 |
| 11149 | </td> |
| 11150 | <td style="text-align:center;"> |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 11151 | 1 |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11152 | </td> |
| 11153 | </tr> |
| 11154 | </tbody> |
| 11155 | </table> |
| 11156 | </div> |
| 11157 | </div> |
| 11158 | <div id="table-footnote" class="section level1"> |
| 11159 | <h1>Table Footnote</h1> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11160 | <blockquote> |
| 11161 | <p>Now it’s recommended to use the new <code>footnote</code> function instead of <code>add_footnote</code> to make table footnotes.</p> |
| 11162 | </blockquote> |
| 11163 | <p>Documentations for <code>add_footnote</code> can be found <a href="http://haozhu233.github.io/kableExtra/legacy_features#add_footnote">here</a>.</p> |
| 11164 | <p>There are four notation systems in <code>footnote</code>, namely <code>general</code>, <code>number</code>, <code>alphabet</code> and <code>symbol</code>. The last three types of footnotes will be labeled with corresponding marks while <code>general</code> won’t be labeled. You can pick any one of these systems or choose to display them all for fulfill the APA table footnotes requirements.</p> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 11165 | <pre class="r"><code>kbl(dt, align = "c") %>% |
| 11166 | kable_classic(full_width = F) %>% |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11167 | footnote(general = "Here is a general comments of the table. ", |
| 11168 | number = c("Footnote 1; ", "Footnote 2; "), |
| 11169 | alphabet = c("Footnote A; ", "Footnote B; "), |
| 11170 | symbol = c("Footnote Symbol 1; ", "Footnote Symbol 2") |
| 11171 | )</code></pre> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 11172 | <table class=" lightable-classic" style="font-family: "Arial Narrow", "Source Sans Pro", sans-serif; width: auto !important; margin-left: auto; margin-right: auto;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11173 | <thead> |
| 11174 | <tr> |
| 11175 | <th style="text-align:left;"> |
| 11176 | </th> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11177 | <th style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11178 | mpg |
| 11179 | </th> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11180 | <th style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11181 | cyl |
| 11182 | </th> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11183 | <th style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11184 | disp |
| 11185 | </th> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11186 | <th style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11187 | hp |
| 11188 | </th> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11189 | <th style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11190 | drat |
| 11191 | </th> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11192 | <th style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11193 | wt |
| 11194 | </th> |
| 11195 | </tr> |
| 11196 | </thead> |
| 11197 | <tbody> |
| 11198 | <tr> |
| 11199 | <td style="text-align:left;"> |
| 11200 | Mazda RX4 |
| 11201 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11202 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11203 | 21.0 |
| 11204 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11205 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11206 | 6 |
| 11207 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11208 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11209 | 160 |
| 11210 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11211 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11212 | 110 |
| 11213 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11214 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11215 | 3.90 |
| 11216 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11217 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11218 | 2.620 |
| 11219 | </td> |
| 11220 | </tr> |
| 11221 | <tr> |
| 11222 | <td style="text-align:left;"> |
| 11223 | Mazda RX4 Wag |
| 11224 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11225 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11226 | 21.0 |
| 11227 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11228 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11229 | 6 |
| 11230 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11231 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11232 | 160 |
| 11233 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11234 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11235 | 110 |
| 11236 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11237 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11238 | 3.90 |
| 11239 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11240 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11241 | 2.875 |
| 11242 | </td> |
| 11243 | </tr> |
| 11244 | <tr> |
| 11245 | <td style="text-align:left;"> |
| 11246 | Datsun 710 |
| 11247 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11248 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11249 | 22.8 |
| 11250 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11251 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11252 | 4 |
| 11253 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11254 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11255 | 108 |
| 11256 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11257 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11258 | 93 |
| 11259 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11260 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11261 | 3.85 |
| 11262 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11263 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11264 | 2.320 |
| 11265 | </td> |
| 11266 | </tr> |
| 11267 | <tr> |
| 11268 | <td style="text-align:left;"> |
| 11269 | Hornet 4 Drive |
| 11270 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11271 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11272 | 21.4 |
| 11273 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11274 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11275 | 6 |
| 11276 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11277 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11278 | 258 |
| 11279 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11280 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11281 | 110 |
| 11282 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11283 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11284 | 3.08 |
| 11285 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11286 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11287 | 3.215 |
| 11288 | </td> |
| 11289 | </tr> |
| 11290 | <tr> |
| 11291 | <td style="text-align:left;"> |
| 11292 | Hornet Sportabout |
| 11293 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11294 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11295 | 18.7 |
| 11296 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11297 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11298 | 8 |
| 11299 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11300 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11301 | 360 |
| 11302 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11303 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11304 | 175 |
| 11305 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11306 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11307 | 3.15 |
| 11308 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11309 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11310 | 3.440 |
| 11311 | </td> |
| 11312 | </tr> |
| 11313 | </tbody> |
Hao Zhu | 462b449 | 2017-08-03 11:31:42 -0400 | [diff] [blame] | 11314 | <tfoot> |
| 11315 | <tr> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11316 | <td style="padding: 0; border: 0;" colspan="100%"> |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 11317 | <span style="font-style: italic;">Note: </span> |
Hao Zhu | 462b449 | 2017-08-03 11:31:42 -0400 | [diff] [blame] | 11318 | </td> |
| 11319 | </tr> |
| 11320 | <tr> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11321 | <td style="padding: 0; border: 0;" colspan="100%"> |
| 11322 | <sup></sup> Here is a general comments of the table. |
| 11323 | </td> |
| 11324 | </tr> |
| 11325 | <tr> |
| 11326 | <td style="padding: 0; border: 0;" colspan="100%"> |
| 11327 | <sup>1</sup> Footnote 1; |
| 11328 | </td> |
| 11329 | </tr> |
| 11330 | <tr> |
| 11331 | <td style="padding: 0; border: 0;" colspan="100%"> |
| 11332 | <sup>2</sup> Footnote 2; |
| 11333 | </td> |
| 11334 | </tr> |
| 11335 | <tr> |
| 11336 | <td style="padding: 0; border: 0;" colspan="100%"> |
| 11337 | <sup>a</sup> Footnote A; |
| 11338 | </td> |
| 11339 | </tr> |
| 11340 | <tr> |
| 11341 | <td style="padding: 0; border: 0;" colspan="100%"> |
| 11342 | <sup>b</sup> Footnote B; |
| 11343 | </td> |
| 11344 | </tr> |
| 11345 | <tr> |
| 11346 | <td style="padding: 0; border: 0;" colspan="100%"> |
| 11347 | <sup>*</sup> Footnote Symbol 1; |
| 11348 | </td> |
| 11349 | </tr> |
| 11350 | <tr> |
| 11351 | <td style="padding: 0; border: 0;" colspan="100%"> |
| 11352 | <sup>†</sup> Footnote Symbol 2 |
Hao Zhu | 462b449 | 2017-08-03 11:31:42 -0400 | [diff] [blame] | 11353 | </td> |
| 11354 | </tr> |
| 11355 | </tfoot> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11356 | </table> |
Hao Zhu | a171b45 | 2019-01-15 17:14:34 -0600 | [diff] [blame] | 11357 | <p>You can also specify title for each category by using the <code>***_title</code> arguments. Default value for <code>general_title</code> is “Note:” and "" for the rest three. You can also change the order using <code>footnote_order</code>. You can even display footnote as chunk texts (default is as a list) using <code>footnote_as_chunk</code>. The font format of the titles are controlled by <code>title_format</code> with options including “italic” (default), “bold” and “underline”.</p> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 11358 | <pre class="r"><code>kbl(dt, align = "c") %>% |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11359 | kable_styling(full_width = F) %>% |
| 11360 | footnote(general = "Here is a general comments of the table. ", |
| 11361 | number = c("Footnote 1; ", "Footnote 2; "), |
| 11362 | alphabet = c("Footnote A; ", "Footnote B; "), |
| 11363 | symbol = c("Footnote Symbol 1; ", "Footnote Symbol 2"), |
| 11364 | general_title = "General: ", number_title = "Type I: ", |
| 11365 | alphabet_title = "Type II: ", symbol_title = "Type III: ", |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 11366 | footnote_as_chunk = T, title_format = c("italic", "underline") |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11367 | )</code></pre> |
| 11368 | <table class="table" style="width: auto !important; margin-left: auto; margin-right: auto;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11369 | <thead> |
| 11370 | <tr> |
| 11371 | <th style="text-align:left;"> |
| 11372 | </th> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11373 | <th style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11374 | mpg |
| 11375 | </th> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11376 | <th style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11377 | cyl |
| 11378 | </th> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11379 | <th style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11380 | disp |
| 11381 | </th> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11382 | <th style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11383 | hp |
| 11384 | </th> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11385 | <th style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11386 | drat |
| 11387 | </th> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11388 | <th style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11389 | wt |
| 11390 | </th> |
| 11391 | </tr> |
| 11392 | </thead> |
| 11393 | <tbody> |
| 11394 | <tr> |
| 11395 | <td style="text-align:left;"> |
| 11396 | Mazda RX4 |
| 11397 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11398 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11399 | 21.0 |
| 11400 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11401 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11402 | 6 |
| 11403 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11404 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11405 | 160 |
| 11406 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11407 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11408 | 110 |
| 11409 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11410 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11411 | 3.90 |
| 11412 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11413 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11414 | 2.620 |
| 11415 | </td> |
| 11416 | </tr> |
| 11417 | <tr> |
| 11418 | <td style="text-align:left;"> |
| 11419 | Mazda RX4 Wag |
| 11420 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11421 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11422 | 21.0 |
| 11423 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11424 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11425 | 6 |
| 11426 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11427 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11428 | 160 |
| 11429 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11430 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11431 | 110 |
| 11432 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11433 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11434 | 3.90 |
| 11435 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11436 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11437 | 2.875 |
| 11438 | </td> |
| 11439 | </tr> |
| 11440 | <tr> |
| 11441 | <td style="text-align:left;"> |
| 11442 | Datsun 710 |
| 11443 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11444 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11445 | 22.8 |
| 11446 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11447 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11448 | 4 |
| 11449 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11450 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11451 | 108 |
| 11452 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11453 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11454 | 93 |
| 11455 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11456 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11457 | 3.85 |
| 11458 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11459 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11460 | 2.320 |
| 11461 | </td> |
| 11462 | </tr> |
| 11463 | <tr> |
| 11464 | <td style="text-align:left;"> |
| 11465 | Hornet 4 Drive |
| 11466 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11467 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11468 | 21.4 |
| 11469 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11470 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11471 | 6 |
| 11472 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11473 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11474 | 258 |
| 11475 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11476 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11477 | 110 |
| 11478 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11479 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11480 | 3.08 |
| 11481 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11482 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11483 | 3.215 |
| 11484 | </td> |
| 11485 | </tr> |
| 11486 | <tr> |
| 11487 | <td style="text-align:left;"> |
| 11488 | Hornet Sportabout |
| 11489 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11490 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11491 | 18.7 |
| 11492 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11493 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11494 | 8 |
| 11495 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11496 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11497 | 360 |
| 11498 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11499 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11500 | 175 |
| 11501 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11502 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11503 | 3.15 |
| 11504 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11505 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11506 | 3.440 |
| 11507 | </td> |
| 11508 | </tr> |
| 11509 | </tbody> |
Hao Zhu | 462b449 | 2017-08-03 11:31:42 -0400 | [diff] [blame] | 11510 | <tfoot> |
| 11511 | <tr> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11512 | <td style="padding: 0; border: 0;" colspan="100%"> |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 11513 | <span style="font-style: italic;text-decoration: underline;">General: </span> <sup></sup> Here is a general comments of the table. |
Hao Zhu | 462b449 | 2017-08-03 11:31:42 -0400 | [diff] [blame] | 11514 | </td> |
| 11515 | </tr> |
| 11516 | <tr> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11517 | <td style="padding: 0; border: 0;" colspan="100%"> |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 11518 | <span style="font-style: italic;text-decoration: underline;">Type I: </span> <sup>1</sup> Footnote 1; <sup>2</sup> Footnote 2; |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11519 | </td> |
| 11520 | </tr> |
| 11521 | <tr> |
| 11522 | <td style="padding: 0; border: 0;" colspan="100%"> |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 11523 | <span style="font-style: italic;text-decoration: underline;">Type II: </span> <sup>a</sup> Footnote A; <sup>b</sup> Footnote B; |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11524 | </td> |
| 11525 | </tr> |
| 11526 | <tr> |
| 11527 | <td style="padding: 0; border: 0;" colspan="100%"> |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 11528 | <span style="font-style: italic;text-decoration: underline;">Type III: </span> <sup>*</sup> Footnote Symbol 1; <sup>†</sup> Footnote Symbol 2 |
Hao Zhu | 462b449 | 2017-08-03 11:31:42 -0400 | [diff] [blame] | 11529 | </td> |
| 11530 | </tr> |
| 11531 | </tfoot> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11532 | </table> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11533 | <p>If you need to add footnote marks in table, you need to do it manually (no fancy) using <code>footnote_mark_***()</code>. Remember that similar with <code>cell_spec</code>, you need to tell this function whether you want it to do it in <code>HTML</code> (default) or <code>LaTeX</code>. You can set it for all using the <code>knitr.table.format</code> global option. ALso, if you have ever use <code>footnote_mark_***()</code>, you need to put <code>escape = F</code> in your <code>kable</code> function to avoid escaping of special characters.</p> |
| 11534 | <pre class="r"><code>dt_footnote <- dt |
| 11535 | names(dt_footnote)[2] <- paste0(names(dt_footnote)[2], |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 11536 | footnote_marker_symbol(1)) |
| 11537 | row.names(dt_footnote)[4] <- paste0(row.names(dt_footnote)[4], |
| 11538 | footnote_marker_alphabet(1)) |
| 11539 | kbl(dt_footnote, align = "c", |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11540 | # Remember this escape = F |
| 11541 | escape = F) %>% |
| 11542 | kable_styling(full_width = F) %>% |
Hao Zhu | 222cd7e | 2018-04-10 14:27:19 -0400 | [diff] [blame] | 11543 | footnote(alphabet = "Footnote A; ", |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11544 | symbol = "Footnote Symbol 1; ", |
| 11545 | alphabet_title = "Type II: ", symbol_title = "Type III: ", |
| 11546 | footnote_as_chunk = T)</code></pre> |
| 11547 | <table class="table" style="width: auto !important; margin-left: auto; margin-right: auto;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11548 | <thead> |
| 11549 | <tr> |
| 11550 | <th style="text-align:left;"> |
| 11551 | </th> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11552 | <th style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11553 | mpg |
| 11554 | </th> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11555 | <th style="text-align:center;"> |
| 11556 | cyl<sup>*</sup> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11557 | </th> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11558 | <th style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11559 | disp |
| 11560 | </th> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11561 | <th style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11562 | hp |
| 11563 | </th> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11564 | <th style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11565 | drat |
| 11566 | </th> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11567 | <th style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11568 | wt |
| 11569 | </th> |
| 11570 | </tr> |
| 11571 | </thead> |
| 11572 | <tbody> |
| 11573 | <tr> |
| 11574 | <td style="text-align:left;"> |
| 11575 | Mazda RX4 |
| 11576 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11577 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11578 | 21.0 |
| 11579 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11580 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11581 | 6 |
| 11582 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11583 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11584 | 160 |
| 11585 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11586 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11587 | 110 |
| 11588 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11589 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11590 | 3.90 |
| 11591 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11592 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11593 | 2.620 |
| 11594 | </td> |
| 11595 | </tr> |
| 11596 | <tr> |
| 11597 | <td style="text-align:left;"> |
| 11598 | Mazda RX4 Wag |
| 11599 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11600 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11601 | 21.0 |
| 11602 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11603 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11604 | 6 |
| 11605 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11606 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11607 | 160 |
| 11608 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11609 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11610 | 110 |
| 11611 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11612 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11613 | 3.90 |
| 11614 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11615 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11616 | 2.875 |
| 11617 | </td> |
| 11618 | </tr> |
| 11619 | <tr> |
| 11620 | <td style="text-align:left;"> |
| 11621 | Datsun 710 |
| 11622 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11623 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11624 | 22.8 |
| 11625 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11626 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11627 | 4 |
| 11628 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11629 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11630 | 108 |
| 11631 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11632 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11633 | 93 |
| 11634 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11635 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11636 | 3.85 |
| 11637 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11638 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11639 | 2.320 |
| 11640 | </td> |
| 11641 | </tr> |
| 11642 | <tr> |
| 11643 | <td style="text-align:left;"> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11644 | Hornet 4 Drive<sup>a</sup> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11645 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11646 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11647 | 21.4 |
| 11648 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11649 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11650 | 6 |
| 11651 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11652 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11653 | 258 |
| 11654 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11655 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11656 | 110 |
| 11657 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11658 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11659 | 3.08 |
| 11660 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11661 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11662 | 3.215 |
| 11663 | </td> |
| 11664 | </tr> |
| 11665 | <tr> |
| 11666 | <td style="text-align:left;"> |
| 11667 | Hornet Sportabout |
| 11668 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11669 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11670 | 18.7 |
| 11671 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11672 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11673 | 8 |
| 11674 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11675 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11676 | 360 |
| 11677 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11678 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11679 | 175 |
| 11680 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11681 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11682 | 3.15 |
| 11683 | </td> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11684 | <td style="text-align:center;"> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11685 | 3.440 |
| 11686 | </td> |
| 11687 | </tr> |
| 11688 | </tbody> |
Hao Zhu | 462b449 | 2017-08-03 11:31:42 -0400 | [diff] [blame] | 11689 | <tfoot> |
| 11690 | <tr> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11691 | <td style="padding: 0; border: 0;" colspan="100%"> |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 11692 | <span style="font-style: italic;">Type II: </span> <sup>a</sup> Footnote A; |
Hao Zhu | 462b449 | 2017-08-03 11:31:42 -0400 | [diff] [blame] | 11693 | </td> |
| 11694 | </tr> |
| 11695 | <tr> |
Hao Zhu | 4f8eaa2 | 2018-01-11 16:14:25 -0500 | [diff] [blame] | 11696 | <td style="padding: 0; border: 0;" colspan="100%"> |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 11697 | <span style="font-style: italic;">Type III: </span> <sup>*</sup> Footnote Symbol 1; |
Hao Zhu | 462b449 | 2017-08-03 11:31:42 -0400 | [diff] [blame] | 11698 | </td> |
| 11699 | </tr> |
| 11700 | </tfoot> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 11701 | </table> |
| 11702 | </div> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11703 | <div id="html-only-features" class="section level1"> |
| 11704 | <h1>HTML Only Features</h1> |
| 11705 | <div id="scroll-box" class="section level2"> |
| 11706 | <h2>Scroll box</h2> |
| 11707 | <p>If you have a huge table and you don’t want to reduce the font size to unreadable, you may want to put your HTML table in a scroll box, of which users can pick the part they like to read. Note that scroll box isn’t printer friendly, so be aware of that when you use this feature.</p> |
| 11708 | <p>When you use <code>scroll_box</code>, you can specify either <code>height</code> or <code>width</code>. When you specify <code>height</code>, you will get a vertically scrollable box and vice versa. If you specify both, you will get a two-way scrollable box.</p> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 11709 | <pre class="r"><code>kbl(cbind(mtcars, mtcars)) %>% |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11710 | kable_styling() %>% |
| 11711 | scroll_box(width = "500px", height = "200px")</code></pre> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11712 | <div style="border: 1px solid #ddd; padding: 0px; overflow-y: scroll; height:200px; overflow-x: scroll; width:500px; "> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11713 | <table class="table" style="margin-left: auto; margin-right: auto;"> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 11714 | <thead> |
| 11715 | <tr> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11716 | <th style="text-align:left;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 11717 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11718 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 11719 | mpg |
| 11720 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11721 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 11722 | cyl |
| 11723 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11724 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 11725 | disp |
| 11726 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11727 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 11728 | hp |
| 11729 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11730 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 11731 | drat |
| 11732 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11733 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 11734 | wt |
| 11735 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11736 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11737 | qsec |
| 11738 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11739 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11740 | vs |
| 11741 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11742 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11743 | am |
| 11744 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11745 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11746 | gear |
| 11747 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11748 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11749 | carb |
| 11750 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11751 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11752 | mpg |
| 11753 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11754 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11755 | cyl |
| 11756 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11757 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11758 | disp |
| 11759 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11760 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11761 | hp |
| 11762 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11763 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11764 | drat |
| 11765 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11766 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11767 | wt |
| 11768 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11769 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11770 | qsec |
| 11771 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11772 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11773 | vs |
| 11774 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11775 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11776 | am |
| 11777 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11778 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11779 | gear |
| 11780 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 11781 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11782 | carb |
| 11783 | </th> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 11784 | </tr> |
| 11785 | </thead> |
| 11786 | <tbody> |
| 11787 | <tr> |
| 11788 | <td style="text-align:left;"> |
| 11789 | Mazda RX4 |
| 11790 | </td> |
| 11791 | <td style="text-align:right;"> |
| 11792 | 21.0 |
| 11793 | </td> |
| 11794 | <td style="text-align:right;"> |
| 11795 | 6 |
| 11796 | </td> |
| 11797 | <td style="text-align:right;"> |
| 11798 | 160.0 |
| 11799 | </td> |
| 11800 | <td style="text-align:right;"> |
| 11801 | 110 |
| 11802 | </td> |
| 11803 | <td style="text-align:right;"> |
| 11804 | 3.90 |
| 11805 | </td> |
| 11806 | <td style="text-align:right;"> |
| 11807 | 2.620 |
| 11808 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11809 | <td style="text-align:right;"> |
| 11810 | 16.46 |
| 11811 | </td> |
| 11812 | <td style="text-align:right;"> |
| 11813 | 0 |
| 11814 | </td> |
| 11815 | <td style="text-align:right;"> |
| 11816 | 1 |
| 11817 | </td> |
| 11818 | <td style="text-align:right;"> |
| 11819 | 4 |
| 11820 | </td> |
| 11821 | <td style="text-align:right;"> |
| 11822 | 4 |
| 11823 | </td> |
| 11824 | <td style="text-align:right;"> |
| 11825 | 21.0 |
| 11826 | </td> |
| 11827 | <td style="text-align:right;"> |
| 11828 | 6 |
| 11829 | </td> |
| 11830 | <td style="text-align:right;"> |
| 11831 | 160.0 |
| 11832 | </td> |
| 11833 | <td style="text-align:right;"> |
| 11834 | 110 |
| 11835 | </td> |
| 11836 | <td style="text-align:right;"> |
| 11837 | 3.90 |
| 11838 | </td> |
| 11839 | <td style="text-align:right;"> |
| 11840 | 2.620 |
| 11841 | </td> |
| 11842 | <td style="text-align:right;"> |
| 11843 | 16.46 |
| 11844 | </td> |
| 11845 | <td style="text-align:right;"> |
| 11846 | 0 |
| 11847 | </td> |
| 11848 | <td style="text-align:right;"> |
| 11849 | 1 |
| 11850 | </td> |
| 11851 | <td style="text-align:right;"> |
| 11852 | 4 |
| 11853 | </td> |
| 11854 | <td style="text-align:right;"> |
| 11855 | 4 |
| 11856 | </td> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 11857 | </tr> |
| 11858 | <tr> |
| 11859 | <td style="text-align:left;"> |
| 11860 | Mazda RX4 Wag |
| 11861 | </td> |
| 11862 | <td style="text-align:right;"> |
| 11863 | 21.0 |
| 11864 | </td> |
| 11865 | <td style="text-align:right;"> |
| 11866 | 6 |
| 11867 | </td> |
| 11868 | <td style="text-align:right;"> |
| 11869 | 160.0 |
| 11870 | </td> |
| 11871 | <td style="text-align:right;"> |
| 11872 | 110 |
| 11873 | </td> |
| 11874 | <td style="text-align:right;"> |
| 11875 | 3.90 |
| 11876 | </td> |
| 11877 | <td style="text-align:right;"> |
| 11878 | 2.875 |
| 11879 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11880 | <td style="text-align:right;"> |
| 11881 | 17.02 |
| 11882 | </td> |
| 11883 | <td style="text-align:right;"> |
| 11884 | 0 |
| 11885 | </td> |
| 11886 | <td style="text-align:right;"> |
| 11887 | 1 |
| 11888 | </td> |
| 11889 | <td style="text-align:right;"> |
| 11890 | 4 |
| 11891 | </td> |
| 11892 | <td style="text-align:right;"> |
| 11893 | 4 |
| 11894 | </td> |
| 11895 | <td style="text-align:right;"> |
| 11896 | 21.0 |
| 11897 | </td> |
| 11898 | <td style="text-align:right;"> |
| 11899 | 6 |
| 11900 | </td> |
| 11901 | <td style="text-align:right;"> |
| 11902 | 160.0 |
| 11903 | </td> |
| 11904 | <td style="text-align:right;"> |
| 11905 | 110 |
| 11906 | </td> |
| 11907 | <td style="text-align:right;"> |
| 11908 | 3.90 |
| 11909 | </td> |
| 11910 | <td style="text-align:right;"> |
| 11911 | 2.875 |
| 11912 | </td> |
| 11913 | <td style="text-align:right;"> |
| 11914 | 17.02 |
| 11915 | </td> |
| 11916 | <td style="text-align:right;"> |
| 11917 | 0 |
| 11918 | </td> |
| 11919 | <td style="text-align:right;"> |
| 11920 | 1 |
| 11921 | </td> |
| 11922 | <td style="text-align:right;"> |
| 11923 | 4 |
| 11924 | </td> |
| 11925 | <td style="text-align:right;"> |
| 11926 | 4 |
| 11927 | </td> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 11928 | </tr> |
| 11929 | <tr> |
| 11930 | <td style="text-align:left;"> |
| 11931 | Datsun 710 |
| 11932 | </td> |
| 11933 | <td style="text-align:right;"> |
| 11934 | 22.8 |
| 11935 | </td> |
| 11936 | <td style="text-align:right;"> |
| 11937 | 4 |
| 11938 | </td> |
| 11939 | <td style="text-align:right;"> |
| 11940 | 108.0 |
| 11941 | </td> |
| 11942 | <td style="text-align:right;"> |
| 11943 | 93 |
| 11944 | </td> |
| 11945 | <td style="text-align:right;"> |
| 11946 | 3.85 |
| 11947 | </td> |
| 11948 | <td style="text-align:right;"> |
| 11949 | 2.320 |
| 11950 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 11951 | <td style="text-align:right;"> |
| 11952 | 18.61 |
| 11953 | </td> |
| 11954 | <td style="text-align:right;"> |
| 11955 | 1 |
| 11956 | </td> |
| 11957 | <td style="text-align:right;"> |
| 11958 | 1 |
| 11959 | </td> |
| 11960 | <td style="text-align:right;"> |
| 11961 | 4 |
| 11962 | </td> |
| 11963 | <td style="text-align:right;"> |
| 11964 | 1 |
| 11965 | </td> |
| 11966 | <td style="text-align:right;"> |
| 11967 | 22.8 |
| 11968 | </td> |
| 11969 | <td style="text-align:right;"> |
| 11970 | 4 |
| 11971 | </td> |
| 11972 | <td style="text-align:right;"> |
| 11973 | 108.0 |
| 11974 | </td> |
| 11975 | <td style="text-align:right;"> |
| 11976 | 93 |
| 11977 | </td> |
| 11978 | <td style="text-align:right;"> |
| 11979 | 3.85 |
| 11980 | </td> |
| 11981 | <td style="text-align:right;"> |
| 11982 | 2.320 |
| 11983 | </td> |
| 11984 | <td style="text-align:right;"> |
| 11985 | 18.61 |
| 11986 | </td> |
| 11987 | <td style="text-align:right;"> |
| 11988 | 1 |
| 11989 | </td> |
| 11990 | <td style="text-align:right;"> |
| 11991 | 1 |
| 11992 | </td> |
| 11993 | <td style="text-align:right;"> |
| 11994 | 4 |
| 11995 | </td> |
| 11996 | <td style="text-align:right;"> |
| 11997 | 1 |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 11998 | </td> |
| 11999 | </tr> |
| 12000 | <tr> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12001 | <td style="text-align:left;"> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12002 | Hornet 4 Drive |
| 12003 | </td> |
| 12004 | <td style="text-align:right;"> |
| 12005 | 21.4 |
| 12006 | </td> |
| 12007 | <td style="text-align:right;"> |
| 12008 | 6 |
| 12009 | </td> |
| 12010 | <td style="text-align:right;"> |
| 12011 | 258.0 |
| 12012 | </td> |
| 12013 | <td style="text-align:right;"> |
| 12014 | 110 |
| 12015 | </td> |
| 12016 | <td style="text-align:right;"> |
| 12017 | 3.08 |
| 12018 | </td> |
| 12019 | <td style="text-align:right;"> |
| 12020 | 3.215 |
| 12021 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12022 | <td style="text-align:right;"> |
| 12023 | 19.44 |
| 12024 | </td> |
| 12025 | <td style="text-align:right;"> |
| 12026 | 1 |
| 12027 | </td> |
| 12028 | <td style="text-align:right;"> |
| 12029 | 0 |
| 12030 | </td> |
| 12031 | <td style="text-align:right;"> |
| 12032 | 3 |
| 12033 | </td> |
| 12034 | <td style="text-align:right;"> |
| 12035 | 1 |
| 12036 | </td> |
| 12037 | <td style="text-align:right;"> |
| 12038 | 21.4 |
| 12039 | </td> |
| 12040 | <td style="text-align:right;"> |
| 12041 | 6 |
| 12042 | </td> |
| 12043 | <td style="text-align:right;"> |
| 12044 | 258.0 |
| 12045 | </td> |
| 12046 | <td style="text-align:right;"> |
| 12047 | 110 |
| 12048 | </td> |
| 12049 | <td style="text-align:right;"> |
| 12050 | 3.08 |
| 12051 | </td> |
| 12052 | <td style="text-align:right;"> |
| 12053 | 3.215 |
| 12054 | </td> |
| 12055 | <td style="text-align:right;"> |
| 12056 | 19.44 |
| 12057 | </td> |
| 12058 | <td style="text-align:right;"> |
| 12059 | 1 |
| 12060 | </td> |
| 12061 | <td style="text-align:right;"> |
| 12062 | 0 |
| 12063 | </td> |
| 12064 | <td style="text-align:right;"> |
| 12065 | 3 |
| 12066 | </td> |
| 12067 | <td style="text-align:right;"> |
| 12068 | 1 |
| 12069 | </td> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12070 | </tr> |
| 12071 | <tr> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12072 | <td style="text-align:left;"> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12073 | Hornet Sportabout |
| 12074 | </td> |
| 12075 | <td style="text-align:right;"> |
| 12076 | 18.7 |
| 12077 | </td> |
| 12078 | <td style="text-align:right;"> |
| 12079 | 8 |
| 12080 | </td> |
| 12081 | <td style="text-align:right;"> |
| 12082 | 360.0 |
| 12083 | </td> |
| 12084 | <td style="text-align:right;"> |
| 12085 | 175 |
| 12086 | </td> |
| 12087 | <td style="text-align:right;"> |
| 12088 | 3.15 |
| 12089 | </td> |
| 12090 | <td style="text-align:right;"> |
| 12091 | 3.440 |
| 12092 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12093 | <td style="text-align:right;"> |
| 12094 | 17.02 |
| 12095 | </td> |
| 12096 | <td style="text-align:right;"> |
| 12097 | 0 |
| 12098 | </td> |
| 12099 | <td style="text-align:right;"> |
| 12100 | 0 |
| 12101 | </td> |
| 12102 | <td style="text-align:right;"> |
| 12103 | 3 |
| 12104 | </td> |
| 12105 | <td style="text-align:right;"> |
| 12106 | 2 |
| 12107 | </td> |
| 12108 | <td style="text-align:right;"> |
| 12109 | 18.7 |
| 12110 | </td> |
| 12111 | <td style="text-align:right;"> |
| 12112 | 8 |
| 12113 | </td> |
| 12114 | <td style="text-align:right;"> |
| 12115 | 360.0 |
| 12116 | </td> |
| 12117 | <td style="text-align:right;"> |
| 12118 | 175 |
| 12119 | </td> |
| 12120 | <td style="text-align:right;"> |
| 12121 | 3.15 |
| 12122 | </td> |
| 12123 | <td style="text-align:right;"> |
| 12124 | 3.440 |
| 12125 | </td> |
| 12126 | <td style="text-align:right;"> |
| 12127 | 17.02 |
| 12128 | </td> |
| 12129 | <td style="text-align:right;"> |
| 12130 | 0 |
| 12131 | </td> |
| 12132 | <td style="text-align:right;"> |
| 12133 | 0 |
| 12134 | </td> |
| 12135 | <td style="text-align:right;"> |
| 12136 | 3 |
| 12137 | </td> |
| 12138 | <td style="text-align:right;"> |
| 12139 | 2 |
| 12140 | </td> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12141 | </tr> |
| 12142 | <tr> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12143 | <td style="text-align:left;"> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12144 | Valiant |
| 12145 | </td> |
| 12146 | <td style="text-align:right;"> |
| 12147 | 18.1 |
| 12148 | </td> |
| 12149 | <td style="text-align:right;"> |
| 12150 | 6 |
| 12151 | </td> |
| 12152 | <td style="text-align:right;"> |
| 12153 | 225.0 |
| 12154 | </td> |
| 12155 | <td style="text-align:right;"> |
| 12156 | 105 |
| 12157 | </td> |
| 12158 | <td style="text-align:right;"> |
| 12159 | 2.76 |
| 12160 | </td> |
| 12161 | <td style="text-align:right;"> |
| 12162 | 3.460 |
| 12163 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12164 | <td style="text-align:right;"> |
| 12165 | 20.22 |
| 12166 | </td> |
| 12167 | <td style="text-align:right;"> |
| 12168 | 1 |
| 12169 | </td> |
| 12170 | <td style="text-align:right;"> |
| 12171 | 0 |
| 12172 | </td> |
| 12173 | <td style="text-align:right;"> |
| 12174 | 3 |
| 12175 | </td> |
| 12176 | <td style="text-align:right;"> |
| 12177 | 1 |
| 12178 | </td> |
| 12179 | <td style="text-align:right;"> |
| 12180 | 18.1 |
| 12181 | </td> |
| 12182 | <td style="text-align:right;"> |
| 12183 | 6 |
| 12184 | </td> |
| 12185 | <td style="text-align:right;"> |
| 12186 | 225.0 |
| 12187 | </td> |
| 12188 | <td style="text-align:right;"> |
| 12189 | 105 |
| 12190 | </td> |
| 12191 | <td style="text-align:right;"> |
| 12192 | 2.76 |
| 12193 | </td> |
| 12194 | <td style="text-align:right;"> |
| 12195 | 3.460 |
| 12196 | </td> |
| 12197 | <td style="text-align:right;"> |
| 12198 | 20.22 |
| 12199 | </td> |
| 12200 | <td style="text-align:right;"> |
| 12201 | 1 |
| 12202 | </td> |
| 12203 | <td style="text-align:right;"> |
| 12204 | 0 |
| 12205 | </td> |
| 12206 | <td style="text-align:right;"> |
| 12207 | 3 |
| 12208 | </td> |
| 12209 | <td style="text-align:right;"> |
| 12210 | 1 |
| 12211 | </td> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12212 | </tr> |
| 12213 | <tr> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12214 | <td style="text-align:left;"> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12215 | Duster 360 |
| 12216 | </td> |
| 12217 | <td style="text-align:right;"> |
| 12218 | 14.3 |
| 12219 | </td> |
| 12220 | <td style="text-align:right;"> |
| 12221 | 8 |
| 12222 | </td> |
| 12223 | <td style="text-align:right;"> |
| 12224 | 360.0 |
| 12225 | </td> |
| 12226 | <td style="text-align:right;"> |
| 12227 | 245 |
| 12228 | </td> |
| 12229 | <td style="text-align:right;"> |
| 12230 | 3.21 |
| 12231 | </td> |
| 12232 | <td style="text-align:right;"> |
| 12233 | 3.570 |
| 12234 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12235 | <td style="text-align:right;"> |
| 12236 | 15.84 |
| 12237 | </td> |
| 12238 | <td style="text-align:right;"> |
| 12239 | 0 |
| 12240 | </td> |
| 12241 | <td style="text-align:right;"> |
| 12242 | 0 |
| 12243 | </td> |
| 12244 | <td style="text-align:right;"> |
| 12245 | 3 |
| 12246 | </td> |
| 12247 | <td style="text-align:right;"> |
| 12248 | 4 |
| 12249 | </td> |
| 12250 | <td style="text-align:right;"> |
| 12251 | 14.3 |
| 12252 | </td> |
| 12253 | <td style="text-align:right;"> |
| 12254 | 8 |
| 12255 | </td> |
| 12256 | <td style="text-align:right;"> |
| 12257 | 360.0 |
| 12258 | </td> |
| 12259 | <td style="text-align:right;"> |
| 12260 | 245 |
| 12261 | </td> |
| 12262 | <td style="text-align:right;"> |
| 12263 | 3.21 |
| 12264 | </td> |
| 12265 | <td style="text-align:right;"> |
| 12266 | 3.570 |
| 12267 | </td> |
| 12268 | <td style="text-align:right;"> |
| 12269 | 15.84 |
| 12270 | </td> |
| 12271 | <td style="text-align:right;"> |
| 12272 | 0 |
| 12273 | </td> |
| 12274 | <td style="text-align:right;"> |
| 12275 | 0 |
| 12276 | </td> |
| 12277 | <td style="text-align:right;"> |
| 12278 | 3 |
| 12279 | </td> |
| 12280 | <td style="text-align:right;"> |
| 12281 | 4 |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12282 | </td> |
| 12283 | </tr> |
| 12284 | <tr> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12285 | <td style="text-align:left;"> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12286 | Merc 240D |
| 12287 | </td> |
| 12288 | <td style="text-align:right;"> |
| 12289 | 24.4 |
| 12290 | </td> |
| 12291 | <td style="text-align:right;"> |
| 12292 | 4 |
| 12293 | </td> |
| 12294 | <td style="text-align:right;"> |
| 12295 | 146.7 |
| 12296 | </td> |
| 12297 | <td style="text-align:right;"> |
| 12298 | 62 |
| 12299 | </td> |
| 12300 | <td style="text-align:right;"> |
| 12301 | 3.69 |
| 12302 | </td> |
| 12303 | <td style="text-align:right;"> |
| 12304 | 3.190 |
| 12305 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12306 | <td style="text-align:right;"> |
| 12307 | 20.00 |
| 12308 | </td> |
| 12309 | <td style="text-align:right;"> |
| 12310 | 1 |
| 12311 | </td> |
| 12312 | <td style="text-align:right;"> |
| 12313 | 0 |
| 12314 | </td> |
| 12315 | <td style="text-align:right;"> |
| 12316 | 4 |
| 12317 | </td> |
| 12318 | <td style="text-align:right;"> |
| 12319 | 2 |
| 12320 | </td> |
| 12321 | <td style="text-align:right;"> |
| 12322 | 24.4 |
| 12323 | </td> |
| 12324 | <td style="text-align:right;"> |
| 12325 | 4 |
| 12326 | </td> |
| 12327 | <td style="text-align:right;"> |
| 12328 | 146.7 |
| 12329 | </td> |
| 12330 | <td style="text-align:right;"> |
| 12331 | 62 |
| 12332 | </td> |
| 12333 | <td style="text-align:right;"> |
| 12334 | 3.69 |
| 12335 | </td> |
| 12336 | <td style="text-align:right;"> |
| 12337 | 3.190 |
| 12338 | </td> |
| 12339 | <td style="text-align:right;"> |
| 12340 | 20.00 |
| 12341 | </td> |
| 12342 | <td style="text-align:right;"> |
| 12343 | 1 |
| 12344 | </td> |
| 12345 | <td style="text-align:right;"> |
| 12346 | 0 |
| 12347 | </td> |
| 12348 | <td style="text-align:right;"> |
| 12349 | 4 |
| 12350 | </td> |
| 12351 | <td style="text-align:right;"> |
| 12352 | 2 |
| 12353 | </td> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12354 | </tr> |
| 12355 | <tr> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12356 | <td style="text-align:left;"> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12357 | Merc 230 |
| 12358 | </td> |
| 12359 | <td style="text-align:right;"> |
| 12360 | 22.8 |
| 12361 | </td> |
| 12362 | <td style="text-align:right;"> |
| 12363 | 4 |
| 12364 | </td> |
| 12365 | <td style="text-align:right;"> |
| 12366 | 140.8 |
| 12367 | </td> |
| 12368 | <td style="text-align:right;"> |
| 12369 | 95 |
| 12370 | </td> |
| 12371 | <td style="text-align:right;"> |
| 12372 | 3.92 |
| 12373 | </td> |
| 12374 | <td style="text-align:right;"> |
| 12375 | 3.150 |
| 12376 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12377 | <td style="text-align:right;"> |
| 12378 | 22.90 |
| 12379 | </td> |
| 12380 | <td style="text-align:right;"> |
| 12381 | 1 |
| 12382 | </td> |
| 12383 | <td style="text-align:right;"> |
| 12384 | 0 |
| 12385 | </td> |
| 12386 | <td style="text-align:right;"> |
| 12387 | 4 |
| 12388 | </td> |
| 12389 | <td style="text-align:right;"> |
| 12390 | 2 |
| 12391 | </td> |
| 12392 | <td style="text-align:right;"> |
| 12393 | 22.8 |
| 12394 | </td> |
| 12395 | <td style="text-align:right;"> |
| 12396 | 4 |
| 12397 | </td> |
| 12398 | <td style="text-align:right;"> |
| 12399 | 140.8 |
| 12400 | </td> |
| 12401 | <td style="text-align:right;"> |
| 12402 | 95 |
| 12403 | </td> |
| 12404 | <td style="text-align:right;"> |
| 12405 | 3.92 |
| 12406 | </td> |
| 12407 | <td style="text-align:right;"> |
| 12408 | 3.150 |
| 12409 | </td> |
| 12410 | <td style="text-align:right;"> |
| 12411 | 22.90 |
| 12412 | </td> |
| 12413 | <td style="text-align:right;"> |
| 12414 | 1 |
| 12415 | </td> |
| 12416 | <td style="text-align:right;"> |
| 12417 | 0 |
| 12418 | </td> |
| 12419 | <td style="text-align:right;"> |
| 12420 | 4 |
| 12421 | </td> |
| 12422 | <td style="text-align:right;"> |
| 12423 | 2 |
| 12424 | </td> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12425 | </tr> |
| 12426 | <tr> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12427 | <td style="text-align:left;"> |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12428 | Merc 280 |
| 12429 | </td> |
| 12430 | <td style="text-align:right;"> |
| 12431 | 19.2 |
| 12432 | </td> |
| 12433 | <td style="text-align:right;"> |
| 12434 | 6 |
| 12435 | </td> |
| 12436 | <td style="text-align:right;"> |
| 12437 | 167.6 |
| 12438 | </td> |
| 12439 | <td style="text-align:right;"> |
| 12440 | 123 |
| 12441 | </td> |
| 12442 | <td style="text-align:right;"> |
| 12443 | 3.92 |
| 12444 | </td> |
| 12445 | <td style="text-align:right;"> |
| 12446 | 3.440 |
| 12447 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12448 | <td style="text-align:right;"> |
| 12449 | 18.30 |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12450 | </td> |
| 12451 | <td style="text-align:right;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12452 | 1 |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12453 | </td> |
| 12454 | <td style="text-align:right;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12455 | 0 |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12456 | </td> |
| 12457 | <td style="text-align:right;"> |
| 12458 | 4 |
| 12459 | </td> |
| 12460 | <td style="text-align:right;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12461 | 4 |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12462 | </td> |
| 12463 | <td style="text-align:right;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12464 | 19.2 |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12465 | </td> |
| 12466 | <td style="text-align:right;"> |
| 12467 | 6 |
| 12468 | </td> |
| 12469 | <td style="text-align:right;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12470 | 167.6 |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12471 | </td> |
| 12472 | <td style="text-align:right;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12473 | 123 |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12474 | </td> |
| 12475 | <td style="text-align:right;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12476 | 3.92 |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12477 | </td> |
| 12478 | <td style="text-align:right;"> |
| 12479 | 3.440 |
| 12480 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12481 | <td style="text-align:right;"> |
| 12482 | 18.30 |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12483 | </td> |
| 12484 | <td style="text-align:right;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12485 | 1 |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12486 | </td> |
| 12487 | <td style="text-align:right;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12488 | 0 |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12489 | </td> |
| 12490 | <td style="text-align:right;"> |
| 12491 | 4 |
| 12492 | </td> |
| 12493 | <td style="text-align:right;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12494 | 4 |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12495 | </td> |
| 12496 | </tr> |
| 12497 | <tr> |
| 12498 | <td style="text-align:left;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12499 | Merc 280C |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12500 | </td> |
| 12501 | <td style="text-align:right;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12502 | 17.8 |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12503 | </td> |
| 12504 | <td style="text-align:right;"> |
| 12505 | 6 |
| 12506 | </td> |
| 12507 | <td style="text-align:right;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12508 | 167.6 |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12509 | </td> |
| 12510 | <td style="text-align:right;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12511 | 123 |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12512 | </td> |
| 12513 | <td style="text-align:right;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12514 | 3.92 |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 12515 | </td> |
| 12516 | <td style="text-align:right;"> |
| 12517 | 3.440 |
| 12518 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12519 | <td style="text-align:right;"> |
| 12520 | 18.90 |
Hao Zhu | 6ff9d50 | 2017-06-13 17:13:03 -0400 | [diff] [blame] | 12521 | </td> |
| 12522 | <td style="text-align:right;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12523 | 1 |
Hao Zhu | 6ff9d50 | 2017-06-13 17:13:03 -0400 | [diff] [blame] | 12524 | </td> |
| 12525 | <td style="text-align:right;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12526 | 0 |
Hao Zhu | 6ff9d50 | 2017-06-13 17:13:03 -0400 | [diff] [blame] | 12527 | </td> |
| 12528 | <td style="text-align:right;"> |
| 12529 | 4 |
| 12530 | </td> |
| 12531 | <td style="text-align:right;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12532 | 4 |
Hao Zhu | 6ff9d50 | 2017-06-13 17:13:03 -0400 | [diff] [blame] | 12533 | </td> |
| 12534 | <td style="text-align:right;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12535 | 17.8 |
Hao Zhu | 6ff9d50 | 2017-06-13 17:13:03 -0400 | [diff] [blame] | 12536 | </td> |
| 12537 | <td style="text-align:right;"> |
| 12538 | 6 |
| 12539 | </td> |
| 12540 | <td style="text-align:right;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12541 | 167.6 |
Hao Zhu | 6ff9d50 | 2017-06-13 17:13:03 -0400 | [diff] [blame] | 12542 | </td> |
| 12543 | <td style="text-align:right;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12544 | 123 |
Hao Zhu | 6ff9d50 | 2017-06-13 17:13:03 -0400 | [diff] [blame] | 12545 | </td> |
| 12546 | <td style="text-align:right;"> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12547 | 3.92 |
Hao Zhu | 6ff9d50 | 2017-06-13 17:13:03 -0400 | [diff] [blame] | 12548 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12549 | <td style="text-align:right;"> |
Hao Zhu | 6ff9d50 | 2017-06-13 17:13:03 -0400 | [diff] [blame] | 12550 | 3.440 |
| 12551 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12552 | <td style="text-align:right;"> |
| 12553 | 18.90 |
Hao Zhu | 5a7689e | 2017-06-26 15:37:24 -1000 | [diff] [blame] | 12554 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12555 | <td style="text-align:right;"> |
Hao Zhu | 5a7689e | 2017-06-26 15:37:24 -1000 | [diff] [blame] | 12556 | 1 |
| 12557 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12558 | <td style="text-align:right;"> |
| 12559 | 0 |
| 12560 | </td> |
| 12561 | <td style="text-align:right;"> |
| 12562 | 4 |
| 12563 | </td> |
| 12564 | <td style="text-align:right;"> |
| 12565 | 4 |
Hao Zhu | 5a7689e | 2017-06-26 15:37:24 -1000 | [diff] [blame] | 12566 | </td> |
| 12567 | </tr> |
| 12568 | <tr> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12569 | <td style="text-align:left;"> |
| 12570 | Merc 450SE |
Hao Zhu | 5a7689e | 2017-06-26 15:37:24 -1000 | [diff] [blame] | 12571 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12572 | <td style="text-align:right;"> |
| 12573 | 16.4 |
Hao Zhu | 5a7689e | 2017-06-26 15:37:24 -1000 | [diff] [blame] | 12574 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12575 | <td style="text-align:right;"> |
| 12576 | 8 |
| 12577 | </td> |
| 12578 | <td style="text-align:right;"> |
| 12579 | 275.8 |
| 12580 | </td> |
| 12581 | <td style="text-align:right;"> |
| 12582 | 180 |
| 12583 | </td> |
| 12584 | <td style="text-align:right;"> |
| 12585 | 3.07 |
| 12586 | </td> |
| 12587 | <td style="text-align:right;"> |
| 12588 | 4.070 |
| 12589 | </td> |
| 12590 | <td style="text-align:right;"> |
| 12591 | 17.40 |
| 12592 | </td> |
| 12593 | <td style="text-align:right;"> |
| 12594 | 0 |
| 12595 | </td> |
| 12596 | <td style="text-align:right;"> |
| 12597 | 0 |
| 12598 | </td> |
| 12599 | <td style="text-align:right;"> |
Hao Zhu | 5a7689e | 2017-06-26 15:37:24 -1000 | [diff] [blame] | 12600 | 3 |
| 12601 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12602 | <td style="text-align:right;"> |
| 12603 | 3 |
Hao Zhu | 5a7689e | 2017-06-26 15:37:24 -1000 | [diff] [blame] | 12604 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12605 | <td style="text-align:right;"> |
| 12606 | 16.4 |
Hao Zhu | 5a7689e | 2017-06-26 15:37:24 -1000 | [diff] [blame] | 12607 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12608 | <td style="text-align:right;"> |
Hao Zhu | 5a7689e | 2017-06-26 15:37:24 -1000 | [diff] [blame] | 12609 | 8 |
| 12610 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12611 | <td style="text-align:right;"> |
| 12612 | 275.8 |
Hao Zhu | 5a7689e | 2017-06-26 15:37:24 -1000 | [diff] [blame] | 12613 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12614 | <td style="text-align:right;"> |
| 12615 | 180 |
Hao Zhu | 5a7689e | 2017-06-26 15:37:24 -1000 | [diff] [blame] | 12616 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12617 | <td style="text-align:right;"> |
| 12618 | 3.07 |
Hao Zhu | 5a7689e | 2017-06-26 15:37:24 -1000 | [diff] [blame] | 12619 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12620 | <td style="text-align:right;"> |
| 12621 | 4.070 |
Hao Zhu | 5a7689e | 2017-06-26 15:37:24 -1000 | [diff] [blame] | 12622 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12623 | <td style="text-align:right;"> |
| 12624 | 17.40 |
Hao Zhu | 5a7689e | 2017-06-26 15:37:24 -1000 | [diff] [blame] | 12625 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12626 | <td style="text-align:right;"> |
Hao Zhu | debb86e | 2017-07-03 19:35:40 -0400 | [diff] [blame] | 12627 | 0 |
Hao Zhu | 5a7689e | 2017-06-26 15:37:24 -1000 | [diff] [blame] | 12628 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12629 | <td style="text-align:right;"> |
Hao Zhu | fd516ba | 2017-07-28 14:30:25 -0400 | [diff] [blame] | 12630 | 0 |
Hao Zhu | 5a7689e | 2017-06-26 15:37:24 -1000 | [diff] [blame] | 12631 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12632 | <td style="text-align:right;"> |
| 12633 | 3 |
| 12634 | </td> |
| 12635 | <td style="text-align:right;"> |
| 12636 | 3 |
| 12637 | </td> |
Hao Zhu | 5a7689e | 2017-06-26 15:37:24 -1000 | [diff] [blame] | 12638 | </tr> |
| 12639 | <tr> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12640 | <td style="text-align:left;"> |
| 12641 | Merc 450SL |
Hao Zhu | 5a7689e | 2017-06-26 15:37:24 -1000 | [diff] [blame] | 12642 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 12643 | <td style="text-align:right;"> |
| 12644 | 17.3 |
| 12645 | </td> |
| 12646 | <td style="text-align:right;"> |
| 12647 | 8 |
| 12648 | </td> |
| 12649 | <td style="text-align:right;"> |
| 12650 | 275.8 |
| 12651 | </td> |
| 12652 | <td style="text-align:right;"> |
| 12653 | 180 |
| 12654 | </td> |
| 12655 | <td style="text-align:right;"> |
| 12656 | 3.07 |
| 12657 | </td> |
| 12658 | <td style="text-align:right;"> |
| 12659 | 3.730 |
| 12660 | </td> |
| 12661 | <td style="text-align:right;"> |
| 12662 | 17.60 |
| 12663 | </td> |
| 12664 | <td style="text-align:right;"> |
| 12665 | 0 |
| 12666 | </td> |
| 12667 | <td style="text-align:right;"> |
| 12668 | 0 |
| 12669 | </td> |
| 12670 | <td style="text-align:right;"> |
| 12671 | 3 |
| 12672 | </td> |
| 12673 | <td style="text-align:right;"> |
| 12674 | 3 |
| 12675 | </td> |
| 12676 | <td style="text-align:right;"> |
| 12677 | 17.3 |
| 12678 | </td> |
| 12679 | <td style="text-align:right;"> |
| 12680 | 8 |
| 12681 | </td> |
| 12682 | <td style="text-align:right;"> |
| 12683 | 275.8 |
| 12684 | </td> |
| 12685 | <td style="text-align:right;"> |
| 12686 | 180 |
| 12687 | </td> |
| 12688 | <td style="text-align:right;"> |
| 12689 | 3.07 |
| 12690 | </td> |
| 12691 | <td style="text-align:right;"> |
| 12692 | 3.730 |
| 12693 | </td> |
| 12694 | <td style="text-align:right;"> |
| 12695 | 17.60 |
| 12696 | </td> |
| 12697 | <td style="text-align:right;"> |
| 12698 | 0 |
| 12699 | </td> |
| 12700 | <td style="text-align:right;"> |
| 12701 | 0 |
| 12702 | </td> |
| 12703 | <td style="text-align:right;"> |
| 12704 | 3 |
| 12705 | </td> |
| 12706 | <td style="text-align:right;"> |
| 12707 | 3 |
| 12708 | </td> |
| 12709 | </tr> |
| 12710 | <tr> |
| 12711 | <td style="text-align:left;"> |
| 12712 | Merc 450SLC |
| 12713 | </td> |
| 12714 | <td style="text-align:right;"> |
| 12715 | 15.2 |
| 12716 | </td> |
| 12717 | <td style="text-align:right;"> |
| 12718 | 8 |
| 12719 | </td> |
| 12720 | <td style="text-align:right;"> |
| 12721 | 275.8 |
| 12722 | </td> |
| 12723 | <td style="text-align:right;"> |
| 12724 | 180 |
| 12725 | </td> |
| 12726 | <td style="text-align:right;"> |
| 12727 | 3.07 |
| 12728 | </td> |
| 12729 | <td style="text-align:right;"> |
| 12730 | 3.780 |
| 12731 | </td> |
| 12732 | <td style="text-align:right;"> |
| 12733 | 18.00 |
| 12734 | </td> |
| 12735 | <td style="text-align:right;"> |
| 12736 | 0 |
| 12737 | </td> |
| 12738 | <td style="text-align:right;"> |
| 12739 | 0 |
| 12740 | </td> |
| 12741 | <td style="text-align:right;"> |
| 12742 | 3 |
| 12743 | </td> |
| 12744 | <td style="text-align:right;"> |
| 12745 | 3 |
| 12746 | </td> |
| 12747 | <td style="text-align:right;"> |
| 12748 | 15.2 |
| 12749 | </td> |
| 12750 | <td style="text-align:right;"> |
| 12751 | 8 |
| 12752 | </td> |
| 12753 | <td style="text-align:right;"> |
| 12754 | 275.8 |
| 12755 | </td> |
| 12756 | <td style="text-align:right;"> |
| 12757 | 180 |
| 12758 | </td> |
| 12759 | <td style="text-align:right;"> |
| 12760 | 3.07 |
| 12761 | </td> |
| 12762 | <td style="text-align:right;"> |
| 12763 | 3.780 |
| 12764 | </td> |
| 12765 | <td style="text-align:right;"> |
| 12766 | 18.00 |
| 12767 | </td> |
| 12768 | <td style="text-align:right;"> |
| 12769 | 0 |
| 12770 | </td> |
| 12771 | <td style="text-align:right;"> |
| 12772 | 0 |
| 12773 | </td> |
| 12774 | <td style="text-align:right;"> |
| 12775 | 3 |
| 12776 | </td> |
| 12777 | <td style="text-align:right;"> |
| 12778 | 3 |
| 12779 | </td> |
| 12780 | </tr> |
| 12781 | <tr> |
| 12782 | <td style="text-align:left;"> |
| 12783 | Cadillac Fleetwood |
| 12784 | </td> |
| 12785 | <td style="text-align:right;"> |
| 12786 | 10.4 |
| 12787 | </td> |
| 12788 | <td style="text-align:right;"> |
| 12789 | 8 |
| 12790 | </td> |
| 12791 | <td style="text-align:right;"> |
| 12792 | 472.0 |
| 12793 | </td> |
| 12794 | <td style="text-align:right;"> |
| 12795 | 205 |
| 12796 | </td> |
| 12797 | <td style="text-align:right;"> |
| 12798 | 2.93 |
| 12799 | </td> |
| 12800 | <td style="text-align:right;"> |
| 12801 | 5.250 |
| 12802 | </td> |
| 12803 | <td style="text-align:right;"> |
| 12804 | 17.98 |
| 12805 | </td> |
| 12806 | <td style="text-align:right;"> |
| 12807 | 0 |
| 12808 | </td> |
| 12809 | <td style="text-align:right;"> |
| 12810 | 0 |
| 12811 | </td> |
| 12812 | <td style="text-align:right;"> |
| 12813 | 3 |
| 12814 | </td> |
| 12815 | <td style="text-align:right;"> |
| 12816 | 4 |
| 12817 | </td> |
| 12818 | <td style="text-align:right;"> |
| 12819 | 10.4 |
| 12820 | </td> |
| 12821 | <td style="text-align:right;"> |
| 12822 | 8 |
| 12823 | </td> |
| 12824 | <td style="text-align:right;"> |
| 12825 | 472.0 |
| 12826 | </td> |
| 12827 | <td style="text-align:right;"> |
| 12828 | 205 |
| 12829 | </td> |
| 12830 | <td style="text-align:right;"> |
| 12831 | 2.93 |
| 12832 | </td> |
| 12833 | <td style="text-align:right;"> |
| 12834 | 5.250 |
| 12835 | </td> |
| 12836 | <td style="text-align:right;"> |
| 12837 | 17.98 |
| 12838 | </td> |
| 12839 | <td style="text-align:right;"> |
| 12840 | 0 |
| 12841 | </td> |
| 12842 | <td style="text-align:right;"> |
| 12843 | 0 |
| 12844 | </td> |
| 12845 | <td style="text-align:right;"> |
| 12846 | 3 |
| 12847 | </td> |
| 12848 | <td style="text-align:right;"> |
| 12849 | 4 |
| 12850 | </td> |
| 12851 | </tr> |
| 12852 | <tr> |
| 12853 | <td style="text-align:left;"> |
| 12854 | Lincoln Continental |
| 12855 | </td> |
| 12856 | <td style="text-align:right;"> |
| 12857 | 10.4 |
| 12858 | </td> |
| 12859 | <td style="text-align:right;"> |
| 12860 | 8 |
| 12861 | </td> |
| 12862 | <td style="text-align:right;"> |
| 12863 | 460.0 |
| 12864 | </td> |
| 12865 | <td style="text-align:right;"> |
| 12866 | 215 |
| 12867 | </td> |
| 12868 | <td style="text-align:right;"> |
| 12869 | 3.00 |
| 12870 | </td> |
| 12871 | <td style="text-align:right;"> |
| 12872 | 5.424 |
| 12873 | </td> |
| 12874 | <td style="text-align:right;"> |
| 12875 | 17.82 |
| 12876 | </td> |
| 12877 | <td style="text-align:right;"> |
| 12878 | 0 |
| 12879 | </td> |
| 12880 | <td style="text-align:right;"> |
| 12881 | 0 |
| 12882 | </td> |
| 12883 | <td style="text-align:right;"> |
| 12884 | 3 |
| 12885 | </td> |
| 12886 | <td style="text-align:right;"> |
| 12887 | 4 |
| 12888 | </td> |
| 12889 | <td style="text-align:right;"> |
| 12890 | 10.4 |
| 12891 | </td> |
| 12892 | <td style="text-align:right;"> |
| 12893 | 8 |
| 12894 | </td> |
| 12895 | <td style="text-align:right;"> |
| 12896 | 460.0 |
| 12897 | </td> |
| 12898 | <td style="text-align:right;"> |
| 12899 | 215 |
| 12900 | </td> |
| 12901 | <td style="text-align:right;"> |
| 12902 | 3.00 |
| 12903 | </td> |
| 12904 | <td style="text-align:right;"> |
| 12905 | 5.424 |
| 12906 | </td> |
| 12907 | <td style="text-align:right;"> |
| 12908 | 17.82 |
| 12909 | </td> |
| 12910 | <td style="text-align:right;"> |
| 12911 | 0 |
| 12912 | </td> |
| 12913 | <td style="text-align:right;"> |
| 12914 | 0 |
| 12915 | </td> |
| 12916 | <td style="text-align:right;"> |
| 12917 | 3 |
| 12918 | </td> |
| 12919 | <td style="text-align:right;"> |
| 12920 | 4 |
| 12921 | </td> |
| 12922 | </tr> |
| 12923 | <tr> |
| 12924 | <td style="text-align:left;"> |
| 12925 | Chrysler Imperial |
| 12926 | </td> |
| 12927 | <td style="text-align:right;"> |
| 12928 | 14.7 |
| 12929 | </td> |
| 12930 | <td style="text-align:right;"> |
| 12931 | 8 |
| 12932 | </td> |
| 12933 | <td style="text-align:right;"> |
| 12934 | 440.0 |
| 12935 | </td> |
| 12936 | <td style="text-align:right;"> |
| 12937 | 230 |
| 12938 | </td> |
| 12939 | <td style="text-align:right;"> |
| 12940 | 3.23 |
| 12941 | </td> |
| 12942 | <td style="text-align:right;"> |
| 12943 | 5.345 |
| 12944 | </td> |
| 12945 | <td style="text-align:right;"> |
| 12946 | 17.42 |
| 12947 | </td> |
| 12948 | <td style="text-align:right;"> |
| 12949 | 0 |
| 12950 | </td> |
| 12951 | <td style="text-align:right;"> |
| 12952 | 0 |
| 12953 | </td> |
| 12954 | <td style="text-align:right;"> |
| 12955 | 3 |
| 12956 | </td> |
| 12957 | <td style="text-align:right;"> |
| 12958 | 4 |
| 12959 | </td> |
| 12960 | <td style="text-align:right;"> |
| 12961 | 14.7 |
| 12962 | </td> |
| 12963 | <td style="text-align:right;"> |
| 12964 | 8 |
| 12965 | </td> |
| 12966 | <td style="text-align:right;"> |
| 12967 | 440.0 |
| 12968 | </td> |
| 12969 | <td style="text-align:right;"> |
| 12970 | 230 |
| 12971 | </td> |
| 12972 | <td style="text-align:right;"> |
| 12973 | 3.23 |
| 12974 | </td> |
| 12975 | <td style="text-align:right;"> |
| 12976 | 5.345 |
| 12977 | </td> |
| 12978 | <td style="text-align:right;"> |
| 12979 | 17.42 |
| 12980 | </td> |
| 12981 | <td style="text-align:right;"> |
| 12982 | 0 |
| 12983 | </td> |
| 12984 | <td style="text-align:right;"> |
| 12985 | 0 |
| 12986 | </td> |
| 12987 | <td style="text-align:right;"> |
| 12988 | 3 |
| 12989 | </td> |
| 12990 | <td style="text-align:right;"> |
| 12991 | 4 |
| 12992 | </td> |
| 12993 | </tr> |
| 12994 | <tr> |
| 12995 | <td style="text-align:left;"> |
| 12996 | Fiat 128 |
| 12997 | </td> |
| 12998 | <td style="text-align:right;"> |
| 12999 | 32.4 |
| 13000 | </td> |
| 13001 | <td style="text-align:right;"> |
| 13002 | 4 |
| 13003 | </td> |
| 13004 | <td style="text-align:right;"> |
| 13005 | 78.7 |
| 13006 | </td> |
| 13007 | <td style="text-align:right;"> |
| 13008 | 66 |
| 13009 | </td> |
| 13010 | <td style="text-align:right;"> |
| 13011 | 4.08 |
| 13012 | </td> |
| 13013 | <td style="text-align:right;"> |
| 13014 | 2.200 |
| 13015 | </td> |
| 13016 | <td style="text-align:right;"> |
| 13017 | 19.47 |
| 13018 | </td> |
| 13019 | <td style="text-align:right;"> |
Hao Zhu | fd516ba | 2017-07-28 14:30:25 -0400 | [diff] [blame] | 13020 | 1 |
Hao Zhu | 5a7689e | 2017-06-26 15:37:24 -1000 | [diff] [blame] | 13021 | </td> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 13022 | <td style="text-align:right;"> |
| 13023 | 1 |
| 13024 | </td> |
| 13025 | <td style="text-align:right;"> |
| 13026 | 4 |
| 13027 | </td> |
| 13028 | <td style="text-align:right;"> |
| 13029 | 1 |
| 13030 | </td> |
| 13031 | <td style="text-align:right;"> |
| 13032 | 32.4 |
| 13033 | </td> |
| 13034 | <td style="text-align:right;"> |
| 13035 | 4 |
| 13036 | </td> |
| 13037 | <td style="text-align:right;"> |
| 13038 | 78.7 |
| 13039 | </td> |
| 13040 | <td style="text-align:right;"> |
| 13041 | 66 |
| 13042 | </td> |
| 13043 | <td style="text-align:right;"> |
| 13044 | 4.08 |
| 13045 | </td> |
| 13046 | <td style="text-align:right;"> |
| 13047 | 2.200 |
| 13048 | </td> |
| 13049 | <td style="text-align:right;"> |
| 13050 | 19.47 |
| 13051 | </td> |
| 13052 | <td style="text-align:right;"> |
| 13053 | 1 |
| 13054 | </td> |
| 13055 | <td style="text-align:right;"> |
| 13056 | 1 |
| 13057 | </td> |
| 13058 | <td style="text-align:right;"> |
| 13059 | 4 |
| 13060 | </td> |
| 13061 | <td style="text-align:right;"> |
| 13062 | 1 |
| 13063 | </td> |
| 13064 | </tr> |
| 13065 | <tr> |
| 13066 | <td style="text-align:left;"> |
| 13067 | Honda Civic |
| 13068 | </td> |
| 13069 | <td style="text-align:right;"> |
| 13070 | 30.4 |
| 13071 | </td> |
| 13072 | <td style="text-align:right;"> |
| 13073 | 4 |
| 13074 | </td> |
| 13075 | <td style="text-align:right;"> |
| 13076 | 75.7 |
| 13077 | </td> |
| 13078 | <td style="text-align:right;"> |
| 13079 | 52 |
| 13080 | </td> |
| 13081 | <td style="text-align:right;"> |
| 13082 | 4.93 |
| 13083 | </td> |
| 13084 | <td style="text-align:right;"> |
| 13085 | 1.615 |
| 13086 | </td> |
| 13087 | <td style="text-align:right;"> |
| 13088 | 18.52 |
| 13089 | </td> |
| 13090 | <td style="text-align:right;"> |
| 13091 | 1 |
| 13092 | </td> |
| 13093 | <td style="text-align:right;"> |
| 13094 | 1 |
| 13095 | </td> |
| 13096 | <td style="text-align:right;"> |
| 13097 | 4 |
| 13098 | </td> |
| 13099 | <td style="text-align:right;"> |
| 13100 | 2 |
| 13101 | </td> |
| 13102 | <td style="text-align:right;"> |
| 13103 | 30.4 |
| 13104 | </td> |
| 13105 | <td style="text-align:right;"> |
| 13106 | 4 |
| 13107 | </td> |
| 13108 | <td style="text-align:right;"> |
| 13109 | 75.7 |
| 13110 | </td> |
| 13111 | <td style="text-align:right;"> |
| 13112 | 52 |
| 13113 | </td> |
| 13114 | <td style="text-align:right;"> |
| 13115 | 4.93 |
| 13116 | </td> |
| 13117 | <td style="text-align:right;"> |
| 13118 | 1.615 |
| 13119 | </td> |
| 13120 | <td style="text-align:right;"> |
| 13121 | 18.52 |
| 13122 | </td> |
| 13123 | <td style="text-align:right;"> |
| 13124 | 1 |
| 13125 | </td> |
| 13126 | <td style="text-align:right;"> |
| 13127 | 1 |
| 13128 | </td> |
| 13129 | <td style="text-align:right;"> |
| 13130 | 4 |
| 13131 | </td> |
| 13132 | <td style="text-align:right;"> |
| 13133 | 2 |
| 13134 | </td> |
| 13135 | </tr> |
| 13136 | <tr> |
| 13137 | <td style="text-align:left;"> |
| 13138 | Toyota Corolla |
| 13139 | </td> |
| 13140 | <td style="text-align:right;"> |
| 13141 | 33.9 |
| 13142 | </td> |
| 13143 | <td style="text-align:right;"> |
| 13144 | 4 |
| 13145 | </td> |
| 13146 | <td style="text-align:right;"> |
| 13147 | 71.1 |
| 13148 | </td> |
| 13149 | <td style="text-align:right;"> |
| 13150 | 65 |
| 13151 | </td> |
| 13152 | <td style="text-align:right;"> |
| 13153 | 4.22 |
| 13154 | </td> |
| 13155 | <td style="text-align:right;"> |
| 13156 | 1.835 |
| 13157 | </td> |
| 13158 | <td style="text-align:right;"> |
| 13159 | 19.90 |
| 13160 | </td> |
| 13161 | <td style="text-align:right;"> |
| 13162 | 1 |
| 13163 | </td> |
| 13164 | <td style="text-align:right;"> |
| 13165 | 1 |
| 13166 | </td> |
| 13167 | <td style="text-align:right;"> |
| 13168 | 4 |
| 13169 | </td> |
| 13170 | <td style="text-align:right;"> |
| 13171 | 1 |
| 13172 | </td> |
| 13173 | <td style="text-align:right;"> |
| 13174 | 33.9 |
| 13175 | </td> |
| 13176 | <td style="text-align:right;"> |
| 13177 | 4 |
| 13178 | </td> |
| 13179 | <td style="text-align:right;"> |
| 13180 | 71.1 |
| 13181 | </td> |
| 13182 | <td style="text-align:right;"> |
| 13183 | 65 |
| 13184 | </td> |
| 13185 | <td style="text-align:right;"> |
| 13186 | 4.22 |
| 13187 | </td> |
| 13188 | <td style="text-align:right;"> |
| 13189 | 1.835 |
| 13190 | </td> |
| 13191 | <td style="text-align:right;"> |
| 13192 | 19.90 |
| 13193 | </td> |
| 13194 | <td style="text-align:right;"> |
| 13195 | 1 |
| 13196 | </td> |
| 13197 | <td style="text-align:right;"> |
| 13198 | 1 |
| 13199 | </td> |
| 13200 | <td style="text-align:right;"> |
| 13201 | 4 |
| 13202 | </td> |
| 13203 | <td style="text-align:right;"> |
| 13204 | 1 |
| 13205 | </td> |
| 13206 | </tr> |
| 13207 | <tr> |
| 13208 | <td style="text-align:left;"> |
| 13209 | Toyota Corona |
| 13210 | </td> |
| 13211 | <td style="text-align:right;"> |
| 13212 | 21.5 |
| 13213 | </td> |
| 13214 | <td style="text-align:right;"> |
| 13215 | 4 |
| 13216 | </td> |
| 13217 | <td style="text-align:right;"> |
| 13218 | 120.1 |
| 13219 | </td> |
| 13220 | <td style="text-align:right;"> |
| 13221 | 97 |
| 13222 | </td> |
| 13223 | <td style="text-align:right;"> |
| 13224 | 3.70 |
| 13225 | </td> |
| 13226 | <td style="text-align:right;"> |
| 13227 | 2.465 |
| 13228 | </td> |
| 13229 | <td style="text-align:right;"> |
| 13230 | 20.01 |
| 13231 | </td> |
| 13232 | <td style="text-align:right;"> |
| 13233 | 1 |
| 13234 | </td> |
| 13235 | <td style="text-align:right;"> |
| 13236 | 0 |
| 13237 | </td> |
| 13238 | <td style="text-align:right;"> |
| 13239 | 3 |
| 13240 | </td> |
| 13241 | <td style="text-align:right;"> |
| 13242 | 1 |
| 13243 | </td> |
| 13244 | <td style="text-align:right;"> |
| 13245 | 21.5 |
| 13246 | </td> |
| 13247 | <td style="text-align:right;"> |
| 13248 | 4 |
| 13249 | </td> |
| 13250 | <td style="text-align:right;"> |
| 13251 | 120.1 |
| 13252 | </td> |
| 13253 | <td style="text-align:right;"> |
| 13254 | 97 |
| 13255 | </td> |
| 13256 | <td style="text-align:right;"> |
| 13257 | 3.70 |
| 13258 | </td> |
| 13259 | <td style="text-align:right;"> |
| 13260 | 2.465 |
| 13261 | </td> |
| 13262 | <td style="text-align:right;"> |
| 13263 | 20.01 |
| 13264 | </td> |
| 13265 | <td style="text-align:right;"> |
| 13266 | 1 |
| 13267 | </td> |
| 13268 | <td style="text-align:right;"> |
| 13269 | 0 |
| 13270 | </td> |
| 13271 | <td style="text-align:right;"> |
| 13272 | 3 |
| 13273 | </td> |
| 13274 | <td style="text-align:right;"> |
| 13275 | 1 |
| 13276 | </td> |
| 13277 | </tr> |
| 13278 | <tr> |
| 13279 | <td style="text-align:left;"> |
| 13280 | Dodge Challenger |
| 13281 | </td> |
| 13282 | <td style="text-align:right;"> |
| 13283 | 15.5 |
| 13284 | </td> |
| 13285 | <td style="text-align:right;"> |
| 13286 | 8 |
| 13287 | </td> |
| 13288 | <td style="text-align:right;"> |
| 13289 | 318.0 |
| 13290 | </td> |
| 13291 | <td style="text-align:right;"> |
| 13292 | 150 |
| 13293 | </td> |
| 13294 | <td style="text-align:right;"> |
| 13295 | 2.76 |
| 13296 | </td> |
| 13297 | <td style="text-align:right;"> |
| 13298 | 3.520 |
| 13299 | </td> |
| 13300 | <td style="text-align:right;"> |
| 13301 | 16.87 |
| 13302 | </td> |
| 13303 | <td style="text-align:right;"> |
| 13304 | 0 |
| 13305 | </td> |
| 13306 | <td style="text-align:right;"> |
| 13307 | 0 |
| 13308 | </td> |
| 13309 | <td style="text-align:right;"> |
| 13310 | 3 |
| 13311 | </td> |
| 13312 | <td style="text-align:right;"> |
| 13313 | 2 |
| 13314 | </td> |
| 13315 | <td style="text-align:right;"> |
| 13316 | 15.5 |
| 13317 | </td> |
| 13318 | <td style="text-align:right;"> |
| 13319 | 8 |
| 13320 | </td> |
| 13321 | <td style="text-align:right;"> |
| 13322 | 318.0 |
| 13323 | </td> |
| 13324 | <td style="text-align:right;"> |
| 13325 | 150 |
| 13326 | </td> |
| 13327 | <td style="text-align:right;"> |
| 13328 | 2.76 |
| 13329 | </td> |
| 13330 | <td style="text-align:right;"> |
| 13331 | 3.520 |
| 13332 | </td> |
| 13333 | <td style="text-align:right;"> |
| 13334 | 16.87 |
| 13335 | </td> |
| 13336 | <td style="text-align:right;"> |
| 13337 | 0 |
| 13338 | </td> |
| 13339 | <td style="text-align:right;"> |
| 13340 | 0 |
| 13341 | </td> |
| 13342 | <td style="text-align:right;"> |
| 13343 | 3 |
| 13344 | </td> |
| 13345 | <td style="text-align:right;"> |
| 13346 | 2 |
| 13347 | </td> |
| 13348 | </tr> |
| 13349 | <tr> |
| 13350 | <td style="text-align:left;"> |
| 13351 | AMC Javelin |
| 13352 | </td> |
| 13353 | <td style="text-align:right;"> |
| 13354 | 15.2 |
| 13355 | </td> |
| 13356 | <td style="text-align:right;"> |
| 13357 | 8 |
| 13358 | </td> |
| 13359 | <td style="text-align:right;"> |
| 13360 | 304.0 |
| 13361 | </td> |
| 13362 | <td style="text-align:right;"> |
| 13363 | 150 |
| 13364 | </td> |
| 13365 | <td style="text-align:right;"> |
| 13366 | 3.15 |
| 13367 | </td> |
| 13368 | <td style="text-align:right;"> |
| 13369 | 3.435 |
| 13370 | </td> |
| 13371 | <td style="text-align:right;"> |
| 13372 | 17.30 |
| 13373 | </td> |
| 13374 | <td style="text-align:right;"> |
| 13375 | 0 |
| 13376 | </td> |
| 13377 | <td style="text-align:right;"> |
| 13378 | 0 |
| 13379 | </td> |
| 13380 | <td style="text-align:right;"> |
| 13381 | 3 |
| 13382 | </td> |
| 13383 | <td style="text-align:right;"> |
| 13384 | 2 |
| 13385 | </td> |
| 13386 | <td style="text-align:right;"> |
| 13387 | 15.2 |
| 13388 | </td> |
| 13389 | <td style="text-align:right;"> |
| 13390 | 8 |
| 13391 | </td> |
| 13392 | <td style="text-align:right;"> |
| 13393 | 304.0 |
| 13394 | </td> |
| 13395 | <td style="text-align:right;"> |
| 13396 | 150 |
| 13397 | </td> |
| 13398 | <td style="text-align:right;"> |
| 13399 | 3.15 |
| 13400 | </td> |
| 13401 | <td style="text-align:right;"> |
| 13402 | 3.435 |
| 13403 | </td> |
| 13404 | <td style="text-align:right;"> |
| 13405 | 17.30 |
| 13406 | </td> |
| 13407 | <td style="text-align:right;"> |
| 13408 | 0 |
| 13409 | </td> |
| 13410 | <td style="text-align:right;"> |
| 13411 | 0 |
| 13412 | </td> |
| 13413 | <td style="text-align:right;"> |
| 13414 | 3 |
| 13415 | </td> |
| 13416 | <td style="text-align:right;"> |
| 13417 | 2 |
| 13418 | </td> |
| 13419 | </tr> |
| 13420 | <tr> |
| 13421 | <td style="text-align:left;"> |
| 13422 | Camaro Z28 |
| 13423 | </td> |
| 13424 | <td style="text-align:right;"> |
| 13425 | 13.3 |
| 13426 | </td> |
| 13427 | <td style="text-align:right;"> |
| 13428 | 8 |
| 13429 | </td> |
| 13430 | <td style="text-align:right;"> |
| 13431 | 350.0 |
| 13432 | </td> |
| 13433 | <td style="text-align:right;"> |
| 13434 | 245 |
| 13435 | </td> |
| 13436 | <td style="text-align:right;"> |
| 13437 | 3.73 |
| 13438 | </td> |
| 13439 | <td style="text-align:right;"> |
| 13440 | 3.840 |
| 13441 | </td> |
| 13442 | <td style="text-align:right;"> |
| 13443 | 15.41 |
| 13444 | </td> |
| 13445 | <td style="text-align:right;"> |
| 13446 | 0 |
| 13447 | </td> |
| 13448 | <td style="text-align:right;"> |
| 13449 | 0 |
| 13450 | </td> |
| 13451 | <td style="text-align:right;"> |
| 13452 | 3 |
| 13453 | </td> |
| 13454 | <td style="text-align:right;"> |
| 13455 | 4 |
| 13456 | </td> |
| 13457 | <td style="text-align:right;"> |
| 13458 | 13.3 |
| 13459 | </td> |
| 13460 | <td style="text-align:right;"> |
| 13461 | 8 |
| 13462 | </td> |
| 13463 | <td style="text-align:right;"> |
| 13464 | 350.0 |
| 13465 | </td> |
| 13466 | <td style="text-align:right;"> |
| 13467 | 245 |
| 13468 | </td> |
| 13469 | <td style="text-align:right;"> |
| 13470 | 3.73 |
| 13471 | </td> |
| 13472 | <td style="text-align:right;"> |
| 13473 | 3.840 |
| 13474 | </td> |
| 13475 | <td style="text-align:right;"> |
| 13476 | 15.41 |
| 13477 | </td> |
| 13478 | <td style="text-align:right;"> |
| 13479 | 0 |
| 13480 | </td> |
| 13481 | <td style="text-align:right;"> |
| 13482 | 0 |
| 13483 | </td> |
| 13484 | <td style="text-align:right;"> |
| 13485 | 3 |
| 13486 | </td> |
| 13487 | <td style="text-align:right;"> |
| 13488 | 4 |
| 13489 | </td> |
| 13490 | </tr> |
| 13491 | <tr> |
| 13492 | <td style="text-align:left;"> |
| 13493 | Pontiac Firebird |
| 13494 | </td> |
| 13495 | <td style="text-align:right;"> |
| 13496 | 19.2 |
| 13497 | </td> |
| 13498 | <td style="text-align:right;"> |
| 13499 | 8 |
| 13500 | </td> |
| 13501 | <td style="text-align:right;"> |
| 13502 | 400.0 |
| 13503 | </td> |
| 13504 | <td style="text-align:right;"> |
| 13505 | 175 |
| 13506 | </td> |
| 13507 | <td style="text-align:right;"> |
| 13508 | 3.08 |
| 13509 | </td> |
| 13510 | <td style="text-align:right;"> |
| 13511 | 3.845 |
| 13512 | </td> |
| 13513 | <td style="text-align:right;"> |
| 13514 | 17.05 |
| 13515 | </td> |
| 13516 | <td style="text-align:right;"> |
| 13517 | 0 |
| 13518 | </td> |
| 13519 | <td style="text-align:right;"> |
| 13520 | 0 |
| 13521 | </td> |
| 13522 | <td style="text-align:right;"> |
| 13523 | 3 |
| 13524 | </td> |
| 13525 | <td style="text-align:right;"> |
| 13526 | 2 |
| 13527 | </td> |
| 13528 | <td style="text-align:right;"> |
| 13529 | 19.2 |
| 13530 | </td> |
| 13531 | <td style="text-align:right;"> |
| 13532 | 8 |
| 13533 | </td> |
| 13534 | <td style="text-align:right;"> |
| 13535 | 400.0 |
| 13536 | </td> |
| 13537 | <td style="text-align:right;"> |
| 13538 | 175 |
| 13539 | </td> |
| 13540 | <td style="text-align:right;"> |
| 13541 | 3.08 |
| 13542 | </td> |
| 13543 | <td style="text-align:right;"> |
| 13544 | 3.845 |
| 13545 | </td> |
| 13546 | <td style="text-align:right;"> |
| 13547 | 17.05 |
| 13548 | </td> |
| 13549 | <td style="text-align:right;"> |
| 13550 | 0 |
| 13551 | </td> |
| 13552 | <td style="text-align:right;"> |
| 13553 | 0 |
| 13554 | </td> |
| 13555 | <td style="text-align:right;"> |
| 13556 | 3 |
| 13557 | </td> |
| 13558 | <td style="text-align:right;"> |
| 13559 | 2 |
| 13560 | </td> |
| 13561 | </tr> |
| 13562 | <tr> |
| 13563 | <td style="text-align:left;"> |
| 13564 | Fiat X1-9 |
| 13565 | </td> |
| 13566 | <td style="text-align:right;"> |
| 13567 | 27.3 |
| 13568 | </td> |
| 13569 | <td style="text-align:right;"> |
| 13570 | 4 |
| 13571 | </td> |
| 13572 | <td style="text-align:right;"> |
| 13573 | 79.0 |
| 13574 | </td> |
| 13575 | <td style="text-align:right;"> |
| 13576 | 66 |
| 13577 | </td> |
| 13578 | <td style="text-align:right;"> |
| 13579 | 4.08 |
| 13580 | </td> |
| 13581 | <td style="text-align:right;"> |
| 13582 | 1.935 |
| 13583 | </td> |
| 13584 | <td style="text-align:right;"> |
| 13585 | 18.90 |
| 13586 | </td> |
| 13587 | <td style="text-align:right;"> |
| 13588 | 1 |
| 13589 | </td> |
| 13590 | <td style="text-align:right;"> |
| 13591 | 1 |
| 13592 | </td> |
| 13593 | <td style="text-align:right;"> |
| 13594 | 4 |
| 13595 | </td> |
| 13596 | <td style="text-align:right;"> |
| 13597 | 1 |
| 13598 | </td> |
| 13599 | <td style="text-align:right;"> |
| 13600 | 27.3 |
| 13601 | </td> |
| 13602 | <td style="text-align:right;"> |
| 13603 | 4 |
| 13604 | </td> |
| 13605 | <td style="text-align:right;"> |
| 13606 | 79.0 |
| 13607 | </td> |
| 13608 | <td style="text-align:right;"> |
| 13609 | 66 |
| 13610 | </td> |
| 13611 | <td style="text-align:right;"> |
| 13612 | 4.08 |
| 13613 | </td> |
| 13614 | <td style="text-align:right;"> |
| 13615 | 1.935 |
| 13616 | </td> |
| 13617 | <td style="text-align:right;"> |
| 13618 | 18.90 |
| 13619 | </td> |
| 13620 | <td style="text-align:right;"> |
| 13621 | 1 |
| 13622 | </td> |
| 13623 | <td style="text-align:right;"> |
| 13624 | 1 |
| 13625 | </td> |
| 13626 | <td style="text-align:right;"> |
| 13627 | 4 |
| 13628 | </td> |
| 13629 | <td style="text-align:right;"> |
| 13630 | 1 |
| 13631 | </td> |
| 13632 | </tr> |
| 13633 | <tr> |
| 13634 | <td style="text-align:left;"> |
| 13635 | Porsche 914-2 |
| 13636 | </td> |
| 13637 | <td style="text-align:right;"> |
| 13638 | 26.0 |
| 13639 | </td> |
| 13640 | <td style="text-align:right;"> |
| 13641 | 4 |
| 13642 | </td> |
| 13643 | <td style="text-align:right;"> |
| 13644 | 120.3 |
| 13645 | </td> |
| 13646 | <td style="text-align:right;"> |
| 13647 | 91 |
| 13648 | </td> |
| 13649 | <td style="text-align:right;"> |
| 13650 | 4.43 |
| 13651 | </td> |
| 13652 | <td style="text-align:right;"> |
| 13653 | 2.140 |
| 13654 | </td> |
| 13655 | <td style="text-align:right;"> |
| 13656 | 16.70 |
| 13657 | </td> |
| 13658 | <td style="text-align:right;"> |
| 13659 | 0 |
| 13660 | </td> |
| 13661 | <td style="text-align:right;"> |
| 13662 | 1 |
| 13663 | </td> |
| 13664 | <td style="text-align:right;"> |
| 13665 | 5 |
| 13666 | </td> |
| 13667 | <td style="text-align:right;"> |
| 13668 | 2 |
| 13669 | </td> |
| 13670 | <td style="text-align:right;"> |
| 13671 | 26.0 |
| 13672 | </td> |
| 13673 | <td style="text-align:right;"> |
| 13674 | 4 |
| 13675 | </td> |
| 13676 | <td style="text-align:right;"> |
| 13677 | 120.3 |
| 13678 | </td> |
| 13679 | <td style="text-align:right;"> |
| 13680 | 91 |
| 13681 | </td> |
| 13682 | <td style="text-align:right;"> |
| 13683 | 4.43 |
| 13684 | </td> |
| 13685 | <td style="text-align:right;"> |
| 13686 | 2.140 |
| 13687 | </td> |
| 13688 | <td style="text-align:right;"> |
| 13689 | 16.70 |
| 13690 | </td> |
| 13691 | <td style="text-align:right;"> |
| 13692 | 0 |
| 13693 | </td> |
| 13694 | <td style="text-align:right;"> |
| 13695 | 1 |
| 13696 | </td> |
| 13697 | <td style="text-align:right;"> |
| 13698 | 5 |
| 13699 | </td> |
| 13700 | <td style="text-align:right;"> |
| 13701 | 2 |
| 13702 | </td> |
| 13703 | </tr> |
| 13704 | <tr> |
| 13705 | <td style="text-align:left;"> |
| 13706 | Lotus Europa |
| 13707 | </td> |
| 13708 | <td style="text-align:right;"> |
| 13709 | 30.4 |
| 13710 | </td> |
| 13711 | <td style="text-align:right;"> |
| 13712 | 4 |
| 13713 | </td> |
| 13714 | <td style="text-align:right;"> |
| 13715 | 95.1 |
| 13716 | </td> |
| 13717 | <td style="text-align:right;"> |
| 13718 | 113 |
| 13719 | </td> |
| 13720 | <td style="text-align:right;"> |
| 13721 | 3.77 |
| 13722 | </td> |
| 13723 | <td style="text-align:right;"> |
| 13724 | 1.513 |
| 13725 | </td> |
| 13726 | <td style="text-align:right;"> |
| 13727 | 16.90 |
| 13728 | </td> |
| 13729 | <td style="text-align:right;"> |
| 13730 | 1 |
| 13731 | </td> |
| 13732 | <td style="text-align:right;"> |
| 13733 | 1 |
| 13734 | </td> |
| 13735 | <td style="text-align:right;"> |
| 13736 | 5 |
| 13737 | </td> |
| 13738 | <td style="text-align:right;"> |
| 13739 | 2 |
| 13740 | </td> |
| 13741 | <td style="text-align:right;"> |
| 13742 | 30.4 |
| 13743 | </td> |
| 13744 | <td style="text-align:right;"> |
| 13745 | 4 |
| 13746 | </td> |
| 13747 | <td style="text-align:right;"> |
| 13748 | 95.1 |
| 13749 | </td> |
| 13750 | <td style="text-align:right;"> |
| 13751 | 113 |
| 13752 | </td> |
| 13753 | <td style="text-align:right;"> |
| 13754 | 3.77 |
| 13755 | </td> |
| 13756 | <td style="text-align:right;"> |
| 13757 | 1.513 |
| 13758 | </td> |
| 13759 | <td style="text-align:right;"> |
| 13760 | 16.90 |
| 13761 | </td> |
| 13762 | <td style="text-align:right;"> |
| 13763 | 1 |
| 13764 | </td> |
| 13765 | <td style="text-align:right;"> |
| 13766 | 1 |
| 13767 | </td> |
| 13768 | <td style="text-align:right;"> |
| 13769 | 5 |
| 13770 | </td> |
| 13771 | <td style="text-align:right;"> |
| 13772 | 2 |
| 13773 | </td> |
| 13774 | </tr> |
| 13775 | <tr> |
| 13776 | <td style="text-align:left;"> |
| 13777 | Ford Pantera L |
| 13778 | </td> |
| 13779 | <td style="text-align:right;"> |
| 13780 | 15.8 |
| 13781 | </td> |
| 13782 | <td style="text-align:right;"> |
| 13783 | 8 |
| 13784 | </td> |
| 13785 | <td style="text-align:right;"> |
| 13786 | 351.0 |
| 13787 | </td> |
| 13788 | <td style="text-align:right;"> |
| 13789 | 264 |
| 13790 | </td> |
| 13791 | <td style="text-align:right;"> |
| 13792 | 4.22 |
| 13793 | </td> |
| 13794 | <td style="text-align:right;"> |
| 13795 | 3.170 |
| 13796 | </td> |
| 13797 | <td style="text-align:right;"> |
| 13798 | 14.50 |
| 13799 | </td> |
| 13800 | <td style="text-align:right;"> |
| 13801 | 0 |
| 13802 | </td> |
| 13803 | <td style="text-align:right;"> |
| 13804 | 1 |
| 13805 | </td> |
| 13806 | <td style="text-align:right;"> |
| 13807 | 5 |
| 13808 | </td> |
| 13809 | <td style="text-align:right;"> |
| 13810 | 4 |
| 13811 | </td> |
| 13812 | <td style="text-align:right;"> |
| 13813 | 15.8 |
| 13814 | </td> |
| 13815 | <td style="text-align:right;"> |
| 13816 | 8 |
| 13817 | </td> |
| 13818 | <td style="text-align:right;"> |
| 13819 | 351.0 |
| 13820 | </td> |
| 13821 | <td style="text-align:right;"> |
| 13822 | 264 |
| 13823 | </td> |
| 13824 | <td style="text-align:right;"> |
| 13825 | 4.22 |
| 13826 | </td> |
| 13827 | <td style="text-align:right;"> |
| 13828 | 3.170 |
| 13829 | </td> |
| 13830 | <td style="text-align:right;"> |
| 13831 | 14.50 |
| 13832 | </td> |
| 13833 | <td style="text-align:right;"> |
| 13834 | 0 |
| 13835 | </td> |
| 13836 | <td style="text-align:right;"> |
| 13837 | 1 |
| 13838 | </td> |
| 13839 | <td style="text-align:right;"> |
| 13840 | 5 |
| 13841 | </td> |
| 13842 | <td style="text-align:right;"> |
| 13843 | 4 |
| 13844 | </td> |
| 13845 | </tr> |
| 13846 | <tr> |
| 13847 | <td style="text-align:left;"> |
| 13848 | Ferrari Dino |
| 13849 | </td> |
| 13850 | <td style="text-align:right;"> |
| 13851 | 19.7 |
| 13852 | </td> |
| 13853 | <td style="text-align:right;"> |
| 13854 | 6 |
| 13855 | </td> |
| 13856 | <td style="text-align:right;"> |
| 13857 | 145.0 |
| 13858 | </td> |
| 13859 | <td style="text-align:right;"> |
| 13860 | 175 |
| 13861 | </td> |
| 13862 | <td style="text-align:right;"> |
| 13863 | 3.62 |
| 13864 | </td> |
| 13865 | <td style="text-align:right;"> |
| 13866 | 2.770 |
| 13867 | </td> |
| 13868 | <td style="text-align:right;"> |
| 13869 | 15.50 |
| 13870 | </td> |
| 13871 | <td style="text-align:right;"> |
| 13872 | 0 |
| 13873 | </td> |
| 13874 | <td style="text-align:right;"> |
| 13875 | 1 |
| 13876 | </td> |
| 13877 | <td style="text-align:right;"> |
| 13878 | 5 |
| 13879 | </td> |
| 13880 | <td style="text-align:right;"> |
| 13881 | 6 |
| 13882 | </td> |
| 13883 | <td style="text-align:right;"> |
| 13884 | 19.7 |
| 13885 | </td> |
| 13886 | <td style="text-align:right;"> |
| 13887 | 6 |
| 13888 | </td> |
| 13889 | <td style="text-align:right;"> |
| 13890 | 145.0 |
| 13891 | </td> |
| 13892 | <td style="text-align:right;"> |
| 13893 | 175 |
| 13894 | </td> |
| 13895 | <td style="text-align:right;"> |
| 13896 | 3.62 |
| 13897 | </td> |
| 13898 | <td style="text-align:right;"> |
| 13899 | 2.770 |
| 13900 | </td> |
| 13901 | <td style="text-align:right;"> |
| 13902 | 15.50 |
| 13903 | </td> |
| 13904 | <td style="text-align:right;"> |
| 13905 | 0 |
| 13906 | </td> |
| 13907 | <td style="text-align:right;"> |
| 13908 | 1 |
| 13909 | </td> |
| 13910 | <td style="text-align:right;"> |
| 13911 | 5 |
| 13912 | </td> |
| 13913 | <td style="text-align:right;"> |
| 13914 | 6 |
| 13915 | </td> |
| 13916 | </tr> |
| 13917 | <tr> |
| 13918 | <td style="text-align:left;"> |
| 13919 | Maserati Bora |
| 13920 | </td> |
| 13921 | <td style="text-align:right;"> |
| 13922 | 15.0 |
| 13923 | </td> |
| 13924 | <td style="text-align:right;"> |
| 13925 | 8 |
| 13926 | </td> |
| 13927 | <td style="text-align:right;"> |
| 13928 | 301.0 |
| 13929 | </td> |
| 13930 | <td style="text-align:right;"> |
| 13931 | 335 |
| 13932 | </td> |
| 13933 | <td style="text-align:right;"> |
| 13934 | 3.54 |
| 13935 | </td> |
| 13936 | <td style="text-align:right;"> |
| 13937 | 3.570 |
| 13938 | </td> |
| 13939 | <td style="text-align:right;"> |
| 13940 | 14.60 |
| 13941 | </td> |
| 13942 | <td style="text-align:right;"> |
| 13943 | 0 |
| 13944 | </td> |
| 13945 | <td style="text-align:right;"> |
| 13946 | 1 |
| 13947 | </td> |
| 13948 | <td style="text-align:right;"> |
| 13949 | 5 |
| 13950 | </td> |
| 13951 | <td style="text-align:right;"> |
| 13952 | 8 |
| 13953 | </td> |
| 13954 | <td style="text-align:right;"> |
| 13955 | 15.0 |
| 13956 | </td> |
| 13957 | <td style="text-align:right;"> |
| 13958 | 8 |
| 13959 | </td> |
| 13960 | <td style="text-align:right;"> |
| 13961 | 301.0 |
| 13962 | </td> |
| 13963 | <td style="text-align:right;"> |
| 13964 | 335 |
| 13965 | </td> |
| 13966 | <td style="text-align:right;"> |
| 13967 | 3.54 |
| 13968 | </td> |
| 13969 | <td style="text-align:right;"> |
| 13970 | 3.570 |
| 13971 | </td> |
| 13972 | <td style="text-align:right;"> |
| 13973 | 14.60 |
| 13974 | </td> |
| 13975 | <td style="text-align:right;"> |
| 13976 | 0 |
| 13977 | </td> |
| 13978 | <td style="text-align:right;"> |
| 13979 | 1 |
| 13980 | </td> |
| 13981 | <td style="text-align:right;"> |
| 13982 | 5 |
| 13983 | </td> |
| 13984 | <td style="text-align:right;"> |
| 13985 | 8 |
| 13986 | </td> |
| 13987 | </tr> |
| 13988 | <tr> |
| 13989 | <td style="text-align:left;"> |
| 13990 | Volvo 142E |
| 13991 | </td> |
| 13992 | <td style="text-align:right;"> |
| 13993 | 21.4 |
| 13994 | </td> |
| 13995 | <td style="text-align:right;"> |
| 13996 | 4 |
| 13997 | </td> |
| 13998 | <td style="text-align:right;"> |
| 13999 | 121.0 |
| 14000 | </td> |
| 14001 | <td style="text-align:right;"> |
| 14002 | 109 |
| 14003 | </td> |
| 14004 | <td style="text-align:right;"> |
| 14005 | 4.11 |
| 14006 | </td> |
| 14007 | <td style="text-align:right;"> |
| 14008 | 2.780 |
| 14009 | </td> |
| 14010 | <td style="text-align:right;"> |
| 14011 | 18.60 |
| 14012 | </td> |
| 14013 | <td style="text-align:right;"> |
| 14014 | 1 |
| 14015 | </td> |
| 14016 | <td style="text-align:right;"> |
| 14017 | 1 |
| 14018 | </td> |
| 14019 | <td style="text-align:right;"> |
| 14020 | 4 |
| 14021 | </td> |
| 14022 | <td style="text-align:right;"> |
| 14023 | 2 |
| 14024 | </td> |
| 14025 | <td style="text-align:right;"> |
| 14026 | 21.4 |
| 14027 | </td> |
| 14028 | <td style="text-align:right;"> |
| 14029 | 4 |
| 14030 | </td> |
| 14031 | <td style="text-align:right;"> |
| 14032 | 121.0 |
| 14033 | </td> |
| 14034 | <td style="text-align:right;"> |
| 14035 | 109 |
| 14036 | </td> |
| 14037 | <td style="text-align:right;"> |
| 14038 | 4.11 |
| 14039 | </td> |
| 14040 | <td style="text-align:right;"> |
| 14041 | 2.780 |
| 14042 | </td> |
| 14043 | <td style="text-align:right;"> |
| 14044 | 18.60 |
| 14045 | </td> |
| 14046 | <td style="text-align:right;"> |
| 14047 | 1 |
| 14048 | </td> |
| 14049 | <td style="text-align:right;"> |
| 14050 | 1 |
| 14051 | </td> |
| 14052 | <td style="text-align:right;"> |
| 14053 | 4 |
| 14054 | </td> |
| 14055 | <td style="text-align:right;"> |
| 14056 | 2 |
| 14057 | </td> |
Hao Zhu | 5a7689e | 2017-06-26 15:37:24 -1000 | [diff] [blame] | 14058 | </tr> |
| 14059 | </tbody> |
| 14060 | </table> |
| 14061 | </div> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14062 | <p><br></p> |
| 14063 | <p>You can also specify width using a percentage.</p> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 14064 | <pre class="r"><code>kbl(cbind(mtcars, mtcars)) %>% |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14065 | add_header_above(c("a" = 5, "b" = 18)) %>% |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14066 | kable_styling() %>% |
| 14067 | scroll_box(width = "100%", height = "200px")</code></pre> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14068 | <div style="border: 1px solid #ddd; padding: 0px; overflow-y: scroll; height:200px; overflow-x: scroll; width:100%; "> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14069 | <table class="table" style="margin-left: auto; margin-right: auto;"> |
| 14070 | <thead> |
| 14071 | <tr> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 14072 | <th style="border-bottom:hidden;padding-bottom:0; padding-left:3px;padding-right:3px;text-align: center; position: sticky; top:0; background-color: #FFFFFF;" colspan="5"> |
Hao Zhu | 1776949 | 2019-05-03 23:44:24 -0400 | [diff] [blame] | 14073 | <div style="border-bottom: 1px solid #ddd; padding-bottom: 5px; "> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14074 | a |
| 14075 | </div> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14076 | </th> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 14077 | <th style="border-bottom:hidden;padding-bottom:0; padding-left:3px;padding-right:3px;text-align: center; position: sticky; top:0; background-color: #FFFFFF;" colspan="18"> |
Hao Zhu | 1776949 | 2019-05-03 23:44:24 -0400 | [diff] [blame] | 14078 | <div style="border-bottom: 1px solid #ddd; padding-bottom: 5px; "> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14079 | b |
| 14080 | </div> |
| 14081 | </th> |
| 14082 | </tr> |
| 14083 | <tr> |
| 14084 | <th style="text-align:left;position: sticky; top:0; background-color: #FFFFFF;"> |
| 14085 | </th> |
| 14086 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14087 | mpg |
| 14088 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14089 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14090 | cyl |
| 14091 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14092 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14093 | disp |
| 14094 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14095 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14096 | hp |
| 14097 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14098 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14099 | drat |
| 14100 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14101 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14102 | wt |
| 14103 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14104 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14105 | qsec |
| 14106 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14107 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14108 | vs |
| 14109 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14110 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14111 | am |
| 14112 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14113 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14114 | gear |
| 14115 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14116 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14117 | carb |
| 14118 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14119 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14120 | mpg |
| 14121 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14122 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14123 | cyl |
| 14124 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14125 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14126 | disp |
| 14127 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14128 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14129 | hp |
| 14130 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14131 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14132 | drat |
| 14133 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14134 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14135 | wt |
| 14136 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14137 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14138 | qsec |
| 14139 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14140 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14141 | vs |
| 14142 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14143 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14144 | am |
| 14145 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14146 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14147 | gear |
| 14148 | </th> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 14149 | <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> |
Irene | 62a3b36 | 2018-04-17 15:20:43 -0700 | [diff] [blame] | 14150 | carb |
| 14151 | </th> |
| 14152 | </tr> |
| 14153 | </thead> |
| 14154 | <tbody> |
| 14155 | <tr> |
| 14156 | <td style="text-align:left;"> |
| 14157 | Mazda RX4 |
| 14158 | </td> |
| 14159 | <td style="text-align:right;"> |
| 14160 | 21.0 |
| 14161 | </td> |
| 14162 | <td style="text-align:right;"> |
| 14163 | 6 |
| 14164 | </td> |
| 14165 | <td style="text-align:right;"> |
| 14166 | 160.0 |
| 14167 | </td> |
| 14168 | <td style="text-align:right;"> |
| 14169 | 110 |
| 14170 | </td> |
| 14171 | <td style="text-align:right;"> |
| 14172 | 3.90 |
| 14173 | </td> |
| 14174 | <td style="text-align:right;"> |
| 14175 | 2.620 |
| 14176 | </td> |
| 14177 | <td style="text-align:right;"> |
| 14178 | 16.46 |
| 14179 | </td> |
| 14180 | <td style="text-align:right;"> |
| 14181 | 0 |
| 14182 | </td> |
| 14183 | <td style="text-align:right;"> |
| 14184 | 1 |
| 14185 | </td> |
| 14186 | <td style="text-align:right;"> |
| 14187 | 4 |
| 14188 | </td> |
| 14189 | <td style="text-align:right;"> |
| 14190 | 4 |
| 14191 | </td> |
| 14192 | <td style="text-align:right;"> |
| 14193 | 21.0 |
| 14194 | </td> |
| 14195 | <td style="text-align:right;"> |
| 14196 | 6 |
| 14197 | </td> |
| 14198 | <td style="text-align:right;"> |
| 14199 | 160.0 |
| 14200 | </td> |
| 14201 | <td style="text-align:right;"> |
| 14202 | 110 |
| 14203 | </td> |
| 14204 | <td style="text-align:right;"> |
| 14205 | 3.90 |
| 14206 | </td> |
| 14207 | <td style="text-align:right;"> |
| 14208 | 2.620 |
| 14209 | </td> |
| 14210 | <td style="text-align:right;"> |
| 14211 | 16.46 |
| 14212 | </td> |
| 14213 | <td style="text-align:right;"> |
| 14214 | 0 |
| 14215 | </td> |
| 14216 | <td style="text-align:right;"> |
| 14217 | 1 |
| 14218 | </td> |
| 14219 | <td style="text-align:right;"> |
| 14220 | 4 |
| 14221 | </td> |
| 14222 | <td style="text-align:right;"> |
| 14223 | 4 |
| 14224 | </td> |
| 14225 | </tr> |
| 14226 | <tr> |
| 14227 | <td style="text-align:left;"> |
| 14228 | Mazda RX4 Wag |
| 14229 | </td> |
| 14230 | <td style="text-align:right;"> |
| 14231 | 21.0 |
| 14232 | </td> |
| 14233 | <td style="text-align:right;"> |
| 14234 | 6 |
| 14235 | </td> |
| 14236 | <td style="text-align:right;"> |
| 14237 | 160.0 |
| 14238 | </td> |
| 14239 | <td style="text-align:right;"> |
| 14240 | 110 |
| 14241 | </td> |
| 14242 | <td style="text-align:right;"> |
| 14243 | 3.90 |
| 14244 | </td> |
| 14245 | <td style="text-align:right;"> |
| 14246 | 2.875 |
| 14247 | </td> |
| 14248 | <td style="text-align:right;"> |
| 14249 | 17.02 |
| 14250 | </td> |
| 14251 | <td style="text-align:right;"> |
| 14252 | 0 |
| 14253 | </td> |
| 14254 | <td style="text-align:right;"> |
| 14255 | 1 |
| 14256 | </td> |
| 14257 | <td style="text-align:right;"> |
| 14258 | 4 |
| 14259 | </td> |
| 14260 | <td style="text-align:right;"> |
| 14261 | 4 |
| 14262 | </td> |
| 14263 | <td style="text-align:right;"> |
| 14264 | 21.0 |
| 14265 | </td> |
| 14266 | <td style="text-align:right;"> |
| 14267 | 6 |
| 14268 | </td> |
| 14269 | <td style="text-align:right;"> |
| 14270 | 160.0 |
| 14271 | </td> |
| 14272 | <td style="text-align:right;"> |
| 14273 | 110 |
| 14274 | </td> |
| 14275 | <td style="text-align:right;"> |
| 14276 | 3.90 |
| 14277 | </td> |
| 14278 | <td style="text-align:right;"> |
| 14279 | 2.875 |
| 14280 | </td> |
| 14281 | <td style="text-align:right;"> |
| 14282 | 17.02 |
| 14283 | </td> |
| 14284 | <td style="text-align:right;"> |
| 14285 | 0 |
| 14286 | </td> |
| 14287 | <td style="text-align:right;"> |
| 14288 | 1 |
| 14289 | </td> |
| 14290 | <td style="text-align:right;"> |
| 14291 | 4 |
| 14292 | </td> |
| 14293 | <td style="text-align:right;"> |
| 14294 | 4 |
| 14295 | </td> |
| 14296 | </tr> |
| 14297 | <tr> |
| 14298 | <td style="text-align:left;"> |
| 14299 | Datsun 710 |
| 14300 | </td> |
| 14301 | <td style="text-align:right;"> |
| 14302 | 22.8 |
| 14303 | </td> |
| 14304 | <td style="text-align:right;"> |
| 14305 | 4 |
| 14306 | </td> |
| 14307 | <td style="text-align:right;"> |
| 14308 | 108.0 |
| 14309 | </td> |
| 14310 | <td style="text-align:right;"> |
| 14311 | 93 |
| 14312 | </td> |
| 14313 | <td style="text-align:right;"> |
| 14314 | 3.85 |
| 14315 | </td> |
| 14316 | <td style="text-align:right;"> |
| 14317 | 2.320 |
| 14318 | </td> |
| 14319 | <td style="text-align:right;"> |
| 14320 | 18.61 |
| 14321 | </td> |
| 14322 | <td style="text-align:right;"> |
| 14323 | 1 |
| 14324 | </td> |
| 14325 | <td style="text-align:right;"> |
| 14326 | 1 |
| 14327 | </td> |
| 14328 | <td style="text-align:right;"> |
| 14329 | 4 |
| 14330 | </td> |
| 14331 | <td style="text-align:right;"> |
| 14332 | 1 |
| 14333 | </td> |
| 14334 | <td style="text-align:right;"> |
| 14335 | 22.8 |
| 14336 | </td> |
| 14337 | <td style="text-align:right;"> |
| 14338 | 4 |
| 14339 | </td> |
| 14340 | <td style="text-align:right;"> |
| 14341 | 108.0 |
| 14342 | </td> |
| 14343 | <td style="text-align:right;"> |
| 14344 | 93 |
| 14345 | </td> |
| 14346 | <td style="text-align:right;"> |
| 14347 | 3.85 |
| 14348 | </td> |
| 14349 | <td style="text-align:right;"> |
| 14350 | 2.320 |
| 14351 | </td> |
| 14352 | <td style="text-align:right;"> |
| 14353 | 18.61 |
| 14354 | </td> |
| 14355 | <td style="text-align:right;"> |
| 14356 | 1 |
| 14357 | </td> |
| 14358 | <td style="text-align:right;"> |
| 14359 | 1 |
| 14360 | </td> |
| 14361 | <td style="text-align:right;"> |
| 14362 | 4 |
| 14363 | </td> |
| 14364 | <td style="text-align:right;"> |
| 14365 | 1 |
| 14366 | </td> |
| 14367 | </tr> |
| 14368 | <tr> |
| 14369 | <td style="text-align:left;"> |
| 14370 | Hornet 4 Drive |
| 14371 | </td> |
| 14372 | <td style="text-align:right;"> |
| 14373 | 21.4 |
| 14374 | </td> |
| 14375 | <td style="text-align:right;"> |
| 14376 | 6 |
| 14377 | </td> |
| 14378 | <td style="text-align:right;"> |
| 14379 | 258.0 |
| 14380 | </td> |
| 14381 | <td style="text-align:right;"> |
| 14382 | 110 |
| 14383 | </td> |
| 14384 | <td style="text-align:right;"> |
| 14385 | 3.08 |
| 14386 | </td> |
| 14387 | <td style="text-align:right;"> |
| 14388 | 3.215 |
| 14389 | </td> |
| 14390 | <td style="text-align:right;"> |
| 14391 | 19.44 |
| 14392 | </td> |
| 14393 | <td style="text-align:right;"> |
| 14394 | 1 |
| 14395 | </td> |
| 14396 | <td style="text-align:right;"> |
| 14397 | 0 |
| 14398 | </td> |
| 14399 | <td style="text-align:right;"> |
| 14400 | 3 |
| 14401 | </td> |
| 14402 | <td style="text-align:right;"> |
| 14403 | 1 |
| 14404 | </td> |
| 14405 | <td style="text-align:right;"> |
| 14406 | 21.4 |
| 14407 | </td> |
| 14408 | <td style="text-align:right;"> |
| 14409 | 6 |
| 14410 | </td> |
| 14411 | <td style="text-align:right;"> |
| 14412 | 258.0 |
| 14413 | </td> |
| 14414 | <td style="text-align:right;"> |
| 14415 | 110 |
| 14416 | </td> |
| 14417 | <td style="text-align:right;"> |
| 14418 | 3.08 |
| 14419 | </td> |
| 14420 | <td style="text-align:right;"> |
| 14421 | 3.215 |
| 14422 | </td> |
| 14423 | <td style="text-align:right;"> |
| 14424 | 19.44 |
| 14425 | </td> |
| 14426 | <td style="text-align:right;"> |
| 14427 | 1 |
| 14428 | </td> |
| 14429 | <td style="text-align:right;"> |
| 14430 | 0 |
| 14431 | </td> |
| 14432 | <td style="text-align:right;"> |
| 14433 | 3 |
| 14434 | </td> |
| 14435 | <td style="text-align:right;"> |
| 14436 | 1 |
| 14437 | </td> |
| 14438 | </tr> |
| 14439 | <tr> |
| 14440 | <td style="text-align:left;"> |
| 14441 | Hornet Sportabout |
| 14442 | </td> |
| 14443 | <td style="text-align:right;"> |
| 14444 | 18.7 |
| 14445 | </td> |
| 14446 | <td style="text-align:right;"> |
| 14447 | 8 |
| 14448 | </td> |
| 14449 | <td style="text-align:right;"> |
| 14450 | 360.0 |
| 14451 | </td> |
| 14452 | <td style="text-align:right;"> |
| 14453 | 175 |
| 14454 | </td> |
| 14455 | <td style="text-align:right;"> |
| 14456 | 3.15 |
| 14457 | </td> |
| 14458 | <td style="text-align:right;"> |
| 14459 | 3.440 |
| 14460 | </td> |
| 14461 | <td style="text-align:right;"> |
| 14462 | 17.02 |
| 14463 | </td> |
| 14464 | <td style="text-align:right;"> |
| 14465 | 0 |
| 14466 | </td> |
| 14467 | <td style="text-align:right;"> |
| 14468 | 0 |
| 14469 | </td> |
| 14470 | <td style="text-align:right;"> |
| 14471 | 3 |
| 14472 | </td> |
| 14473 | <td style="text-align:right;"> |
| 14474 | 2 |
| 14475 | </td> |
| 14476 | <td style="text-align:right;"> |
| 14477 | 18.7 |
| 14478 | </td> |
| 14479 | <td style="text-align:right;"> |
| 14480 | 8 |
| 14481 | </td> |
| 14482 | <td style="text-align:right;"> |
| 14483 | 360.0 |
| 14484 | </td> |
| 14485 | <td style="text-align:right;"> |
| 14486 | 175 |
| 14487 | </td> |
| 14488 | <td style="text-align:right;"> |
| 14489 | 3.15 |
| 14490 | </td> |
| 14491 | <td style="text-align:right;"> |
| 14492 | 3.440 |
| 14493 | </td> |
| 14494 | <td style="text-align:right;"> |
| 14495 | 17.02 |
| 14496 | </td> |
| 14497 | <td style="text-align:right;"> |
| 14498 | 0 |
| 14499 | </td> |
| 14500 | <td style="text-align:right;"> |
| 14501 | 0 |
| 14502 | </td> |
| 14503 | <td style="text-align:right;"> |
| 14504 | 3 |
| 14505 | </td> |
| 14506 | <td style="text-align:right;"> |
| 14507 | 2 |
| 14508 | </td> |
| 14509 | </tr> |
| 14510 | <tr> |
| 14511 | <td style="text-align:left;"> |
| 14512 | Valiant |
| 14513 | </td> |
| 14514 | <td style="text-align:right;"> |
| 14515 | 18.1 |
| 14516 | </td> |
| 14517 | <td style="text-align:right;"> |
| 14518 | 6 |
| 14519 | </td> |
| 14520 | <td style="text-align:right;"> |
| 14521 | 225.0 |
| 14522 | </td> |
| 14523 | <td style="text-align:right;"> |
| 14524 | 105 |
| 14525 | </td> |
| 14526 | <td style="text-align:right;"> |
| 14527 | 2.76 |
| 14528 | </td> |
| 14529 | <td style="text-align:right;"> |
| 14530 | 3.460 |
| 14531 | </td> |
| 14532 | <td style="text-align:right;"> |
| 14533 | 20.22 |
| 14534 | </td> |
| 14535 | <td style="text-align:right;"> |
| 14536 | 1 |
| 14537 | </td> |
| 14538 | <td style="text-align:right;"> |
| 14539 | 0 |
| 14540 | </td> |
| 14541 | <td style="text-align:right;"> |
| 14542 | 3 |
| 14543 | </td> |
| 14544 | <td style="text-align:right;"> |
| 14545 | 1 |
| 14546 | </td> |
| 14547 | <td style="text-align:right;"> |
| 14548 | 18.1 |
| 14549 | </td> |
| 14550 | <td style="text-align:right;"> |
| 14551 | 6 |
| 14552 | </td> |
| 14553 | <td style="text-align:right;"> |
| 14554 | 225.0 |
| 14555 | </td> |
| 14556 | <td style="text-align:right;"> |
| 14557 | 105 |
| 14558 | </td> |
| 14559 | <td style="text-align:right;"> |
| 14560 | 2.76 |
| 14561 | </td> |
| 14562 | <td style="text-align:right;"> |
| 14563 | 3.460 |
| 14564 | </td> |
| 14565 | <td style="text-align:right;"> |
| 14566 | 20.22 |
| 14567 | </td> |
| 14568 | <td style="text-align:right;"> |
| 14569 | 1 |
| 14570 | </td> |
| 14571 | <td style="text-align:right;"> |
| 14572 | 0 |
| 14573 | </td> |
| 14574 | <td style="text-align:right;"> |
| 14575 | 3 |
| 14576 | </td> |
| 14577 | <td style="text-align:right;"> |
| 14578 | 1 |
| 14579 | </td> |
| 14580 | </tr> |
| 14581 | <tr> |
| 14582 | <td style="text-align:left;"> |
| 14583 | Duster 360 |
| 14584 | </td> |
| 14585 | <td style="text-align:right;"> |
| 14586 | 14.3 |
| 14587 | </td> |
| 14588 | <td style="text-align:right;"> |
| 14589 | 8 |
| 14590 | </td> |
| 14591 | <td style="text-align:right;"> |
| 14592 | 360.0 |
| 14593 | </td> |
| 14594 | <td style="text-align:right;"> |
| 14595 | 245 |
| 14596 | </td> |
| 14597 | <td style="text-align:right;"> |
| 14598 | 3.21 |
| 14599 | </td> |
| 14600 | <td style="text-align:right;"> |
| 14601 | 3.570 |
| 14602 | </td> |
| 14603 | <td style="text-align:right;"> |
| 14604 | 15.84 |
| 14605 | </td> |
| 14606 | <td style="text-align:right;"> |
| 14607 | 0 |
| 14608 | </td> |
| 14609 | <td style="text-align:right;"> |
| 14610 | 0 |
| 14611 | </td> |
| 14612 | <td style="text-align:right;"> |
| 14613 | 3 |
| 14614 | </td> |
| 14615 | <td style="text-align:right;"> |
| 14616 | 4 |
| 14617 | </td> |
| 14618 | <td style="text-align:right;"> |
| 14619 | 14.3 |
| 14620 | </td> |
| 14621 | <td style="text-align:right;"> |
| 14622 | 8 |
| 14623 | </td> |
| 14624 | <td style="text-align:right;"> |
| 14625 | 360.0 |
| 14626 | </td> |
| 14627 | <td style="text-align:right;"> |
| 14628 | 245 |
| 14629 | </td> |
| 14630 | <td style="text-align:right;"> |
| 14631 | 3.21 |
| 14632 | </td> |
| 14633 | <td style="text-align:right;"> |
| 14634 | 3.570 |
| 14635 | </td> |
| 14636 | <td style="text-align:right;"> |
| 14637 | 15.84 |
| 14638 | </td> |
| 14639 | <td style="text-align:right;"> |
| 14640 | 0 |
| 14641 | </td> |
| 14642 | <td style="text-align:right;"> |
| 14643 | 0 |
| 14644 | </td> |
| 14645 | <td style="text-align:right;"> |
| 14646 | 3 |
| 14647 | </td> |
| 14648 | <td style="text-align:right;"> |
| 14649 | 4 |
| 14650 | </td> |
| 14651 | </tr> |
| 14652 | <tr> |
| 14653 | <td style="text-align:left;"> |
| 14654 | Merc 240D |
| 14655 | </td> |
| 14656 | <td style="text-align:right;"> |
| 14657 | 24.4 |
| 14658 | </td> |
| 14659 | <td style="text-align:right;"> |
| 14660 | 4 |
| 14661 | </td> |
| 14662 | <td style="text-align:right;"> |
| 14663 | 146.7 |
| 14664 | </td> |
| 14665 | <td style="text-align:right;"> |
| 14666 | 62 |
| 14667 | </td> |
| 14668 | <td style="text-align:right;"> |
| 14669 | 3.69 |
| 14670 | </td> |
| 14671 | <td style="text-align:right;"> |
| 14672 | 3.190 |
| 14673 | </td> |
| 14674 | <td style="text-align:right;"> |
| 14675 | 20.00 |
| 14676 | </td> |
| 14677 | <td style="text-align:right;"> |
| 14678 | 1 |
| 14679 | </td> |
| 14680 | <td style="text-align:right;"> |
| 14681 | 0 |
| 14682 | </td> |
| 14683 | <td style="text-align:right;"> |
| 14684 | 4 |
| 14685 | </td> |
| 14686 | <td style="text-align:right;"> |
| 14687 | 2 |
| 14688 | </td> |
| 14689 | <td style="text-align:right;"> |
| 14690 | 24.4 |
| 14691 | </td> |
| 14692 | <td style="text-align:right;"> |
| 14693 | 4 |
| 14694 | </td> |
| 14695 | <td style="text-align:right;"> |
| 14696 | 146.7 |
| 14697 | </td> |
| 14698 | <td style="text-align:right;"> |
| 14699 | 62 |
| 14700 | </td> |
| 14701 | <td style="text-align:right;"> |
| 14702 | 3.69 |
| 14703 | </td> |
| 14704 | <td style="text-align:right;"> |
| 14705 | 3.190 |
| 14706 | </td> |
| 14707 | <td style="text-align:right;"> |
| 14708 | 20.00 |
| 14709 | </td> |
| 14710 | <td style="text-align:right;"> |
| 14711 | 1 |
| 14712 | </td> |
| 14713 | <td style="text-align:right;"> |
| 14714 | 0 |
| 14715 | </td> |
| 14716 | <td style="text-align:right;"> |
| 14717 | 4 |
| 14718 | </td> |
| 14719 | <td style="text-align:right;"> |
| 14720 | 2 |
| 14721 | </td> |
| 14722 | </tr> |
| 14723 | <tr> |
| 14724 | <td style="text-align:left;"> |
| 14725 | Merc 230 |
| 14726 | </td> |
| 14727 | <td style="text-align:right;"> |
| 14728 | 22.8 |
| 14729 | </td> |
| 14730 | <td style="text-align:right;"> |
| 14731 | 4 |
| 14732 | </td> |
| 14733 | <td style="text-align:right;"> |
| 14734 | 140.8 |
| 14735 | </td> |
| 14736 | <td style="text-align:right;"> |
| 14737 | 95 |
| 14738 | </td> |
| 14739 | <td style="text-align:right;"> |
| 14740 | 3.92 |
| 14741 | </td> |
| 14742 | <td style="text-align:right;"> |
| 14743 | 3.150 |
| 14744 | </td> |
| 14745 | <td style="text-align:right;"> |
| 14746 | 22.90 |
| 14747 | </td> |
| 14748 | <td style="text-align:right;"> |
| 14749 | 1 |
| 14750 | </td> |
| 14751 | <td style="text-align:right;"> |
| 14752 | 0 |
| 14753 | </td> |
| 14754 | <td style="text-align:right;"> |
| 14755 | 4 |
| 14756 | </td> |
| 14757 | <td style="text-align:right;"> |
| 14758 | 2 |
| 14759 | </td> |
| 14760 | <td style="text-align:right;"> |
| 14761 | 22.8 |
| 14762 | </td> |
| 14763 | <td style="text-align:right;"> |
| 14764 | 4 |
| 14765 | </td> |
| 14766 | <td style="text-align:right;"> |
| 14767 | 140.8 |
| 14768 | </td> |
| 14769 | <td style="text-align:right;"> |
| 14770 | 95 |
| 14771 | </td> |
| 14772 | <td style="text-align:right;"> |
| 14773 | 3.92 |
| 14774 | </td> |
| 14775 | <td style="text-align:right;"> |
| 14776 | 3.150 |
| 14777 | </td> |
| 14778 | <td style="text-align:right;"> |
| 14779 | 22.90 |
| 14780 | </td> |
| 14781 | <td style="text-align:right;"> |
| 14782 | 1 |
| 14783 | </td> |
| 14784 | <td style="text-align:right;"> |
| 14785 | 0 |
| 14786 | </td> |
| 14787 | <td style="text-align:right;"> |
| 14788 | 4 |
| 14789 | </td> |
| 14790 | <td style="text-align:right;"> |
| 14791 | 2 |
| 14792 | </td> |
| 14793 | </tr> |
| 14794 | <tr> |
| 14795 | <td style="text-align:left;"> |
| 14796 | Merc 280 |
| 14797 | </td> |
| 14798 | <td style="text-align:right;"> |
| 14799 | 19.2 |
| 14800 | </td> |
| 14801 | <td style="text-align:right;"> |
| 14802 | 6 |
| 14803 | </td> |
| 14804 | <td style="text-align:right;"> |
| 14805 | 167.6 |
| 14806 | </td> |
| 14807 | <td style="text-align:right;"> |
| 14808 | 123 |
| 14809 | </td> |
| 14810 | <td style="text-align:right;"> |
| 14811 | 3.92 |
| 14812 | </td> |
| 14813 | <td style="text-align:right;"> |
| 14814 | 3.440 |
| 14815 | </td> |
| 14816 | <td style="text-align:right;"> |
| 14817 | 18.30 |
| 14818 | </td> |
| 14819 | <td style="text-align:right;"> |
| 14820 | 1 |
| 14821 | </td> |
| 14822 | <td style="text-align:right;"> |
| 14823 | 0 |
| 14824 | </td> |
| 14825 | <td style="text-align:right;"> |
| 14826 | 4 |
| 14827 | </td> |
| 14828 | <td style="text-align:right;"> |
| 14829 | 4 |
| 14830 | </td> |
| 14831 | <td style="text-align:right;"> |
| 14832 | 19.2 |
| 14833 | </td> |
| 14834 | <td style="text-align:right;"> |
| 14835 | 6 |
| 14836 | </td> |
| 14837 | <td style="text-align:right;"> |
| 14838 | 167.6 |
| 14839 | </td> |
| 14840 | <td style="text-align:right;"> |
| 14841 | 123 |
| 14842 | </td> |
| 14843 | <td style="text-align:right;"> |
| 14844 | 3.92 |
| 14845 | </td> |
| 14846 | <td style="text-align:right;"> |
| 14847 | 3.440 |
| 14848 | </td> |
| 14849 | <td style="text-align:right;"> |
| 14850 | 18.30 |
| 14851 | </td> |
| 14852 | <td style="text-align:right;"> |
| 14853 | 1 |
| 14854 | </td> |
| 14855 | <td style="text-align:right;"> |
| 14856 | 0 |
| 14857 | </td> |
| 14858 | <td style="text-align:right;"> |
| 14859 | 4 |
| 14860 | </td> |
| 14861 | <td style="text-align:right;"> |
| 14862 | 4 |
| 14863 | </td> |
| 14864 | </tr> |
| 14865 | <tr> |
| 14866 | <td style="text-align:left;"> |
| 14867 | Merc 280C |
| 14868 | </td> |
| 14869 | <td style="text-align:right;"> |
| 14870 | 17.8 |
| 14871 | </td> |
| 14872 | <td style="text-align:right;"> |
| 14873 | 6 |
| 14874 | </td> |
| 14875 | <td style="text-align:right;"> |
| 14876 | 167.6 |
| 14877 | </td> |
| 14878 | <td style="text-align:right;"> |
| 14879 | 123 |
| 14880 | </td> |
| 14881 | <td style="text-align:right;"> |
| 14882 | 3.92 |
| 14883 | </td> |
| 14884 | <td style="text-align:right;"> |
| 14885 | 3.440 |
| 14886 | </td> |
| 14887 | <td style="text-align:right;"> |
| 14888 | 18.90 |
| 14889 | </td> |
| 14890 | <td style="text-align:right;"> |
| 14891 | 1 |
| 14892 | </td> |
| 14893 | <td style="text-align:right;"> |
| 14894 | 0 |
| 14895 | </td> |
| 14896 | <td style="text-align:right;"> |
| 14897 | 4 |
| 14898 | </td> |
| 14899 | <td style="text-align:right;"> |
| 14900 | 4 |
| 14901 | </td> |
| 14902 | <td style="text-align:right;"> |
| 14903 | 17.8 |
| 14904 | </td> |
| 14905 | <td style="text-align:right;"> |
| 14906 | 6 |
| 14907 | </td> |
| 14908 | <td style="text-align:right;"> |
| 14909 | 167.6 |
| 14910 | </td> |
| 14911 | <td style="text-align:right;"> |
| 14912 | 123 |
| 14913 | </td> |
| 14914 | <td style="text-align:right;"> |
| 14915 | 3.92 |
| 14916 | </td> |
| 14917 | <td style="text-align:right;"> |
| 14918 | 3.440 |
| 14919 | </td> |
| 14920 | <td style="text-align:right;"> |
| 14921 | 18.90 |
| 14922 | </td> |
| 14923 | <td style="text-align:right;"> |
| 14924 | 1 |
| 14925 | </td> |
| 14926 | <td style="text-align:right;"> |
| 14927 | 0 |
| 14928 | </td> |
| 14929 | <td style="text-align:right;"> |
| 14930 | 4 |
| 14931 | </td> |
| 14932 | <td style="text-align:right;"> |
| 14933 | 4 |
| 14934 | </td> |
| 14935 | </tr> |
| 14936 | <tr> |
| 14937 | <td style="text-align:left;"> |
| 14938 | Merc 450SE |
| 14939 | </td> |
| 14940 | <td style="text-align:right;"> |
| 14941 | 16.4 |
| 14942 | </td> |
| 14943 | <td style="text-align:right;"> |
| 14944 | 8 |
| 14945 | </td> |
| 14946 | <td style="text-align:right;"> |
| 14947 | 275.8 |
| 14948 | </td> |
| 14949 | <td style="text-align:right;"> |
| 14950 | 180 |
| 14951 | </td> |
| 14952 | <td style="text-align:right;"> |
| 14953 | 3.07 |
| 14954 | </td> |
| 14955 | <td style="text-align:right;"> |
| 14956 | 4.070 |
| 14957 | </td> |
| 14958 | <td style="text-align:right;"> |
| 14959 | 17.40 |
| 14960 | </td> |
| 14961 | <td style="text-align:right;"> |
| 14962 | 0 |
| 14963 | </td> |
| 14964 | <td style="text-align:right;"> |
| 14965 | 0 |
| 14966 | </td> |
| 14967 | <td style="text-align:right;"> |
| 14968 | 3 |
| 14969 | </td> |
| 14970 | <td style="text-align:right;"> |
| 14971 | 3 |
| 14972 | </td> |
| 14973 | <td style="text-align:right;"> |
| 14974 | 16.4 |
| 14975 | </td> |
| 14976 | <td style="text-align:right;"> |
| 14977 | 8 |
| 14978 | </td> |
| 14979 | <td style="text-align:right;"> |
| 14980 | 275.8 |
| 14981 | </td> |
| 14982 | <td style="text-align:right;"> |
| 14983 | 180 |
| 14984 | </td> |
| 14985 | <td style="text-align:right;"> |
| 14986 | 3.07 |
| 14987 | </td> |
| 14988 | <td style="text-align:right;"> |
| 14989 | 4.070 |
| 14990 | </td> |
| 14991 | <td style="text-align:right;"> |
| 14992 | 17.40 |
| 14993 | </td> |
| 14994 | <td style="text-align:right;"> |
| 14995 | 0 |
| 14996 | </td> |
| 14997 | <td style="text-align:right;"> |
| 14998 | 0 |
| 14999 | </td> |
| 15000 | <td style="text-align:right;"> |
| 15001 | 3 |
| 15002 | </td> |
| 15003 | <td style="text-align:right;"> |
| 15004 | 3 |
| 15005 | </td> |
| 15006 | </tr> |
| 15007 | <tr> |
| 15008 | <td style="text-align:left;"> |
| 15009 | Merc 450SL |
| 15010 | </td> |
| 15011 | <td style="text-align:right;"> |
| 15012 | 17.3 |
| 15013 | </td> |
| 15014 | <td style="text-align:right;"> |
| 15015 | 8 |
| 15016 | </td> |
| 15017 | <td style="text-align:right;"> |
| 15018 | 275.8 |
| 15019 | </td> |
| 15020 | <td style="text-align:right;"> |
| 15021 | 180 |
| 15022 | </td> |
| 15023 | <td style="text-align:right;"> |
| 15024 | 3.07 |
| 15025 | </td> |
| 15026 | <td style="text-align:right;"> |
| 15027 | 3.730 |
| 15028 | </td> |
| 15029 | <td style="text-align:right;"> |
| 15030 | 17.60 |
| 15031 | </td> |
| 15032 | <td style="text-align:right;"> |
| 15033 | 0 |
| 15034 | </td> |
| 15035 | <td style="text-align:right;"> |
| 15036 | 0 |
| 15037 | </td> |
| 15038 | <td style="text-align:right;"> |
| 15039 | 3 |
| 15040 | </td> |
| 15041 | <td style="text-align:right;"> |
| 15042 | 3 |
| 15043 | </td> |
| 15044 | <td style="text-align:right;"> |
| 15045 | 17.3 |
| 15046 | </td> |
| 15047 | <td style="text-align:right;"> |
| 15048 | 8 |
| 15049 | </td> |
| 15050 | <td style="text-align:right;"> |
| 15051 | 275.8 |
| 15052 | </td> |
| 15053 | <td style="text-align:right;"> |
| 15054 | 180 |
| 15055 | </td> |
| 15056 | <td style="text-align:right;"> |
| 15057 | 3.07 |
| 15058 | </td> |
| 15059 | <td style="text-align:right;"> |
| 15060 | 3.730 |
| 15061 | </td> |
| 15062 | <td style="text-align:right;"> |
| 15063 | 17.60 |
| 15064 | </td> |
| 15065 | <td style="text-align:right;"> |
| 15066 | 0 |
| 15067 | </td> |
| 15068 | <td style="text-align:right;"> |
| 15069 | 0 |
| 15070 | </td> |
| 15071 | <td style="text-align:right;"> |
| 15072 | 3 |
| 15073 | </td> |
| 15074 | <td style="text-align:right;"> |
| 15075 | 3 |
| 15076 | </td> |
| 15077 | </tr> |
| 15078 | <tr> |
| 15079 | <td style="text-align:left;"> |
| 15080 | Merc 450SLC |
| 15081 | </td> |
| 15082 | <td style="text-align:right;"> |
| 15083 | 15.2 |
| 15084 | </td> |
| 15085 | <td style="text-align:right;"> |
| 15086 | 8 |
| 15087 | </td> |
| 15088 | <td style="text-align:right;"> |
| 15089 | 275.8 |
| 15090 | </td> |
| 15091 | <td style="text-align:right;"> |
| 15092 | 180 |
| 15093 | </td> |
| 15094 | <td style="text-align:right;"> |
| 15095 | 3.07 |
| 15096 | </td> |
| 15097 | <td style="text-align:right;"> |
| 15098 | 3.780 |
| 15099 | </td> |
| 15100 | <td style="text-align:right;"> |
| 15101 | 18.00 |
| 15102 | </td> |
| 15103 | <td style="text-align:right;"> |
| 15104 | 0 |
| 15105 | </td> |
| 15106 | <td style="text-align:right;"> |
| 15107 | 0 |
| 15108 | </td> |
| 15109 | <td style="text-align:right;"> |
| 15110 | 3 |
| 15111 | </td> |
| 15112 | <td style="text-align:right;"> |
| 15113 | 3 |
| 15114 | </td> |
| 15115 | <td style="text-align:right;"> |
| 15116 | 15.2 |
| 15117 | </td> |
| 15118 | <td style="text-align:right;"> |
| 15119 | 8 |
| 15120 | </td> |
| 15121 | <td style="text-align:right;"> |
| 15122 | 275.8 |
| 15123 | </td> |
| 15124 | <td style="text-align:right;"> |
| 15125 | 180 |
| 15126 | </td> |
| 15127 | <td style="text-align:right;"> |
| 15128 | 3.07 |
| 15129 | </td> |
| 15130 | <td style="text-align:right;"> |
| 15131 | 3.780 |
| 15132 | </td> |
| 15133 | <td style="text-align:right;"> |
| 15134 | 18.00 |
| 15135 | </td> |
| 15136 | <td style="text-align:right;"> |
| 15137 | 0 |
| 15138 | </td> |
| 15139 | <td style="text-align:right;"> |
| 15140 | 0 |
| 15141 | </td> |
| 15142 | <td style="text-align:right;"> |
| 15143 | 3 |
| 15144 | </td> |
| 15145 | <td style="text-align:right;"> |
| 15146 | 3 |
| 15147 | </td> |
| 15148 | </tr> |
| 15149 | <tr> |
| 15150 | <td style="text-align:left;"> |
| 15151 | Cadillac Fleetwood |
| 15152 | </td> |
| 15153 | <td style="text-align:right;"> |
| 15154 | 10.4 |
| 15155 | </td> |
| 15156 | <td style="text-align:right;"> |
| 15157 | 8 |
| 15158 | </td> |
| 15159 | <td style="text-align:right;"> |
| 15160 | 472.0 |
| 15161 | </td> |
| 15162 | <td style="text-align:right;"> |
| 15163 | 205 |
| 15164 | </td> |
| 15165 | <td style="text-align:right;"> |
| 15166 | 2.93 |
| 15167 | </td> |
| 15168 | <td style="text-align:right;"> |
| 15169 | 5.250 |
| 15170 | </td> |
| 15171 | <td style="text-align:right;"> |
| 15172 | 17.98 |
| 15173 | </td> |
| 15174 | <td style="text-align:right;"> |
| 15175 | 0 |
| 15176 | </td> |
| 15177 | <td style="text-align:right;"> |
| 15178 | 0 |
| 15179 | </td> |
| 15180 | <td style="text-align:right;"> |
| 15181 | 3 |
| 15182 | </td> |
| 15183 | <td style="text-align:right;"> |
| 15184 | 4 |
| 15185 | </td> |
| 15186 | <td style="text-align:right;"> |
| 15187 | 10.4 |
| 15188 | </td> |
| 15189 | <td style="text-align:right;"> |
| 15190 | 8 |
| 15191 | </td> |
| 15192 | <td style="text-align:right;"> |
| 15193 | 472.0 |
| 15194 | </td> |
| 15195 | <td style="text-align:right;"> |
| 15196 | 205 |
| 15197 | </td> |
| 15198 | <td style="text-align:right;"> |
| 15199 | 2.93 |
| 15200 | </td> |
| 15201 | <td style="text-align:right;"> |
| 15202 | 5.250 |
| 15203 | </td> |
| 15204 | <td style="text-align:right;"> |
| 15205 | 17.98 |
| 15206 | </td> |
| 15207 | <td style="text-align:right;"> |
| 15208 | 0 |
| 15209 | </td> |
| 15210 | <td style="text-align:right;"> |
| 15211 | 0 |
| 15212 | </td> |
| 15213 | <td style="text-align:right;"> |
| 15214 | 3 |
| 15215 | </td> |
| 15216 | <td style="text-align:right;"> |
| 15217 | 4 |
| 15218 | </td> |
| 15219 | </tr> |
| 15220 | <tr> |
| 15221 | <td style="text-align:left;"> |
| 15222 | Lincoln Continental |
| 15223 | </td> |
| 15224 | <td style="text-align:right;"> |
| 15225 | 10.4 |
| 15226 | </td> |
| 15227 | <td style="text-align:right;"> |
| 15228 | 8 |
| 15229 | </td> |
| 15230 | <td style="text-align:right;"> |
| 15231 | 460.0 |
| 15232 | </td> |
| 15233 | <td style="text-align:right;"> |
| 15234 | 215 |
| 15235 | </td> |
| 15236 | <td style="text-align:right;"> |
| 15237 | 3.00 |
| 15238 | </td> |
| 15239 | <td style="text-align:right;"> |
| 15240 | 5.424 |
| 15241 | </td> |
| 15242 | <td style="text-align:right;"> |
| 15243 | 17.82 |
| 15244 | </td> |
| 15245 | <td style="text-align:right;"> |
| 15246 | 0 |
| 15247 | </td> |
| 15248 | <td style="text-align:right;"> |
| 15249 | 0 |
| 15250 | </td> |
| 15251 | <td style="text-align:right;"> |
| 15252 | 3 |
| 15253 | </td> |
| 15254 | <td style="text-align:right;"> |
| 15255 | 4 |
| 15256 | </td> |
| 15257 | <td style="text-align:right;"> |
| 15258 | 10.4 |
| 15259 | </td> |
| 15260 | <td style="text-align:right;"> |
| 15261 | 8 |
| 15262 | </td> |
| 15263 | <td style="text-align:right;"> |
| 15264 | 460.0 |
| 15265 | </td> |
| 15266 | <td style="text-align:right;"> |
| 15267 | 215 |
| 15268 | </td> |
| 15269 | <td style="text-align:right;"> |
| 15270 | 3.00 |
| 15271 | </td> |
| 15272 | <td style="text-align:right;"> |
| 15273 | 5.424 |
| 15274 | </td> |
| 15275 | <td style="text-align:right;"> |
| 15276 | 17.82 |
| 15277 | </td> |
| 15278 | <td style="text-align:right;"> |
| 15279 | 0 |
| 15280 | </td> |
| 15281 | <td style="text-align:right;"> |
| 15282 | 0 |
| 15283 | </td> |
| 15284 | <td style="text-align:right;"> |
| 15285 | 3 |
| 15286 | </td> |
| 15287 | <td style="text-align:right;"> |
| 15288 | 4 |
| 15289 | </td> |
| 15290 | </tr> |
| 15291 | <tr> |
| 15292 | <td style="text-align:left;"> |
| 15293 | Chrysler Imperial |
| 15294 | </td> |
| 15295 | <td style="text-align:right;"> |
| 15296 | 14.7 |
| 15297 | </td> |
| 15298 | <td style="text-align:right;"> |
| 15299 | 8 |
| 15300 | </td> |
| 15301 | <td style="text-align:right;"> |
| 15302 | 440.0 |
| 15303 | </td> |
| 15304 | <td style="text-align:right;"> |
| 15305 | 230 |
| 15306 | </td> |
| 15307 | <td style="text-align:right;"> |
| 15308 | 3.23 |
| 15309 | </td> |
| 15310 | <td style="text-align:right;"> |
| 15311 | 5.345 |
| 15312 | </td> |
| 15313 | <td style="text-align:right;"> |
| 15314 | 17.42 |
| 15315 | </td> |
| 15316 | <td style="text-align:right;"> |
| 15317 | 0 |
| 15318 | </td> |
| 15319 | <td style="text-align:right;"> |
| 15320 | 0 |
| 15321 | </td> |
| 15322 | <td style="text-align:right;"> |
| 15323 | 3 |
| 15324 | </td> |
| 15325 | <td style="text-align:right;"> |
| 15326 | 4 |
| 15327 | </td> |
| 15328 | <td style="text-align:right;"> |
| 15329 | 14.7 |
| 15330 | </td> |
| 15331 | <td style="text-align:right;"> |
| 15332 | 8 |
| 15333 | </td> |
| 15334 | <td style="text-align:right;"> |
| 15335 | 440.0 |
| 15336 | </td> |
| 15337 | <td style="text-align:right;"> |
| 15338 | 230 |
| 15339 | </td> |
| 15340 | <td style="text-align:right;"> |
| 15341 | 3.23 |
| 15342 | </td> |
| 15343 | <td style="text-align:right;"> |
| 15344 | 5.345 |
| 15345 | </td> |
| 15346 | <td style="text-align:right;"> |
| 15347 | 17.42 |
| 15348 | </td> |
| 15349 | <td style="text-align:right;"> |
| 15350 | 0 |
| 15351 | </td> |
| 15352 | <td style="text-align:right;"> |
| 15353 | 0 |
| 15354 | </td> |
| 15355 | <td style="text-align:right;"> |
| 15356 | 3 |
| 15357 | </td> |
| 15358 | <td style="text-align:right;"> |
| 15359 | 4 |
| 15360 | </td> |
| 15361 | </tr> |
| 15362 | <tr> |
| 15363 | <td style="text-align:left;"> |
| 15364 | Fiat 128 |
| 15365 | </td> |
| 15366 | <td style="text-align:right;"> |
| 15367 | 32.4 |
| 15368 | </td> |
| 15369 | <td style="text-align:right;"> |
| 15370 | 4 |
| 15371 | </td> |
| 15372 | <td style="text-align:right;"> |
| 15373 | 78.7 |
| 15374 | </td> |
| 15375 | <td style="text-align:right;"> |
| 15376 | 66 |
| 15377 | </td> |
| 15378 | <td style="text-align:right;"> |
| 15379 | 4.08 |
| 15380 | </td> |
| 15381 | <td style="text-align:right;"> |
| 15382 | 2.200 |
| 15383 | </td> |
| 15384 | <td style="text-align:right;"> |
| 15385 | 19.47 |
| 15386 | </td> |
| 15387 | <td style="text-align:right;"> |
| 15388 | 1 |
| 15389 | </td> |
| 15390 | <td style="text-align:right;"> |
| 15391 | 1 |
| 15392 | </td> |
| 15393 | <td style="text-align:right;"> |
| 15394 | 4 |
| 15395 | </td> |
| 15396 | <td style="text-align:right;"> |
| 15397 | 1 |
| 15398 | </td> |
| 15399 | <td style="text-align:right;"> |
| 15400 | 32.4 |
| 15401 | </td> |
| 15402 | <td style="text-align:right;"> |
| 15403 | 4 |
| 15404 | </td> |
| 15405 | <td style="text-align:right;"> |
| 15406 | 78.7 |
| 15407 | </td> |
| 15408 | <td style="text-align:right;"> |
| 15409 | 66 |
| 15410 | </td> |
| 15411 | <td style="text-align:right;"> |
| 15412 | 4.08 |
| 15413 | </td> |
| 15414 | <td style="text-align:right;"> |
| 15415 | 2.200 |
| 15416 | </td> |
| 15417 | <td style="text-align:right;"> |
| 15418 | 19.47 |
| 15419 | </td> |
| 15420 | <td style="text-align:right;"> |
| 15421 | 1 |
| 15422 | </td> |
| 15423 | <td style="text-align:right;"> |
| 15424 | 1 |
| 15425 | </td> |
| 15426 | <td style="text-align:right;"> |
| 15427 | 4 |
| 15428 | </td> |
| 15429 | <td style="text-align:right;"> |
| 15430 | 1 |
| 15431 | </td> |
| 15432 | </tr> |
| 15433 | <tr> |
| 15434 | <td style="text-align:left;"> |
| 15435 | Honda Civic |
| 15436 | </td> |
| 15437 | <td style="text-align:right;"> |
| 15438 | 30.4 |
| 15439 | </td> |
| 15440 | <td style="text-align:right;"> |
| 15441 | 4 |
| 15442 | </td> |
| 15443 | <td style="text-align:right;"> |
| 15444 | 75.7 |
| 15445 | </td> |
| 15446 | <td style="text-align:right;"> |
| 15447 | 52 |
| 15448 | </td> |
| 15449 | <td style="text-align:right;"> |
| 15450 | 4.93 |
| 15451 | </td> |
| 15452 | <td style="text-align:right;"> |
| 15453 | 1.615 |
| 15454 | </td> |
| 15455 | <td style="text-align:right;"> |
| 15456 | 18.52 |
| 15457 | </td> |
| 15458 | <td style="text-align:right;"> |
| 15459 | 1 |
| 15460 | </td> |
| 15461 | <td style="text-align:right;"> |
| 15462 | 1 |
| 15463 | </td> |
| 15464 | <td style="text-align:right;"> |
| 15465 | 4 |
| 15466 | </td> |
| 15467 | <td style="text-align:right;"> |
| 15468 | 2 |
| 15469 | </td> |
| 15470 | <td style="text-align:right;"> |
| 15471 | 30.4 |
| 15472 | </td> |
| 15473 | <td style="text-align:right;"> |
| 15474 | 4 |
| 15475 | </td> |
| 15476 | <td style="text-align:right;"> |
| 15477 | 75.7 |
| 15478 | </td> |
| 15479 | <td style="text-align:right;"> |
| 15480 | 52 |
| 15481 | </td> |
| 15482 | <td style="text-align:right;"> |
| 15483 | 4.93 |
| 15484 | </td> |
| 15485 | <td style="text-align:right;"> |
| 15486 | 1.615 |
| 15487 | </td> |
| 15488 | <td style="text-align:right;"> |
| 15489 | 18.52 |
| 15490 | </td> |
| 15491 | <td style="text-align:right;"> |
| 15492 | 1 |
| 15493 | </td> |
| 15494 | <td style="text-align:right;"> |
| 15495 | 1 |
| 15496 | </td> |
| 15497 | <td style="text-align:right;"> |
| 15498 | 4 |
| 15499 | </td> |
| 15500 | <td style="text-align:right;"> |
| 15501 | 2 |
| 15502 | </td> |
| 15503 | </tr> |
| 15504 | <tr> |
| 15505 | <td style="text-align:left;"> |
| 15506 | Toyota Corolla |
| 15507 | </td> |
| 15508 | <td style="text-align:right;"> |
| 15509 | 33.9 |
| 15510 | </td> |
| 15511 | <td style="text-align:right;"> |
| 15512 | 4 |
| 15513 | </td> |
| 15514 | <td style="text-align:right;"> |
| 15515 | 71.1 |
| 15516 | </td> |
| 15517 | <td style="text-align:right;"> |
| 15518 | 65 |
| 15519 | </td> |
| 15520 | <td style="text-align:right;"> |
| 15521 | 4.22 |
| 15522 | </td> |
| 15523 | <td style="text-align:right;"> |
| 15524 | 1.835 |
| 15525 | </td> |
| 15526 | <td style="text-align:right;"> |
| 15527 | 19.90 |
| 15528 | </td> |
| 15529 | <td style="text-align:right;"> |
| 15530 | 1 |
| 15531 | </td> |
| 15532 | <td style="text-align:right;"> |
| 15533 | 1 |
| 15534 | </td> |
| 15535 | <td style="text-align:right;"> |
| 15536 | 4 |
| 15537 | </td> |
| 15538 | <td style="text-align:right;"> |
| 15539 | 1 |
| 15540 | </td> |
| 15541 | <td style="text-align:right;"> |
| 15542 | 33.9 |
| 15543 | </td> |
| 15544 | <td style="text-align:right;"> |
| 15545 | 4 |
| 15546 | </td> |
| 15547 | <td style="text-align:right;"> |
| 15548 | 71.1 |
| 15549 | </td> |
| 15550 | <td style="text-align:right;"> |
| 15551 | 65 |
| 15552 | </td> |
| 15553 | <td style="text-align:right;"> |
| 15554 | 4.22 |
| 15555 | </td> |
| 15556 | <td style="text-align:right;"> |
| 15557 | 1.835 |
| 15558 | </td> |
| 15559 | <td style="text-align:right;"> |
| 15560 | 19.90 |
| 15561 | </td> |
| 15562 | <td style="text-align:right;"> |
| 15563 | 1 |
| 15564 | </td> |
| 15565 | <td style="text-align:right;"> |
| 15566 | 1 |
| 15567 | </td> |
| 15568 | <td style="text-align:right;"> |
| 15569 | 4 |
| 15570 | </td> |
| 15571 | <td style="text-align:right;"> |
| 15572 | 1 |
| 15573 | </td> |
| 15574 | </tr> |
| 15575 | <tr> |
| 15576 | <td style="text-align:left;"> |
| 15577 | Toyota Corona |
| 15578 | </td> |
| 15579 | <td style="text-align:right;"> |
| 15580 | 21.5 |
| 15581 | </td> |
| 15582 | <td style="text-align:right;"> |
| 15583 | 4 |
| 15584 | </td> |
| 15585 | <td style="text-align:right;"> |
| 15586 | 120.1 |
| 15587 | </td> |
| 15588 | <td style="text-align:right;"> |
| 15589 | 97 |
| 15590 | </td> |
| 15591 | <td style="text-align:right;"> |
| 15592 | 3.70 |
| 15593 | </td> |
| 15594 | <td style="text-align:right;"> |
| 15595 | 2.465 |
| 15596 | </td> |
| 15597 | <td style="text-align:right;"> |
| 15598 | 20.01 |
| 15599 | </td> |
| 15600 | <td style="text-align:right;"> |
| 15601 | 1 |
| 15602 | </td> |
| 15603 | <td style="text-align:right;"> |
| 15604 | 0 |
| 15605 | </td> |
| 15606 | <td style="text-align:right;"> |
| 15607 | 3 |
| 15608 | </td> |
| 15609 | <td style="text-align:right;"> |
| 15610 | 1 |
| 15611 | </td> |
| 15612 | <td style="text-align:right;"> |
| 15613 | 21.5 |
| 15614 | </td> |
| 15615 | <td style="text-align:right;"> |
| 15616 | 4 |
| 15617 | </td> |
| 15618 | <td style="text-align:right;"> |
| 15619 | 120.1 |
| 15620 | </td> |
| 15621 | <td style="text-align:right;"> |
| 15622 | 97 |
| 15623 | </td> |
| 15624 | <td style="text-align:right;"> |
| 15625 | 3.70 |
| 15626 | </td> |
| 15627 | <td style="text-align:right;"> |
| 15628 | 2.465 |
| 15629 | </td> |
| 15630 | <td style="text-align:right;"> |
| 15631 | 20.01 |
| 15632 | </td> |
| 15633 | <td style="text-align:right;"> |
| 15634 | 1 |
| 15635 | </td> |
| 15636 | <td style="text-align:right;"> |
| 15637 | 0 |
| 15638 | </td> |
| 15639 | <td style="text-align:right;"> |
| 15640 | 3 |
| 15641 | </td> |
| 15642 | <td style="text-align:right;"> |
| 15643 | 1 |
| 15644 | </td> |
| 15645 | </tr> |
| 15646 | <tr> |
| 15647 | <td style="text-align:left;"> |
| 15648 | Dodge Challenger |
| 15649 | </td> |
| 15650 | <td style="text-align:right;"> |
| 15651 | 15.5 |
| 15652 | </td> |
| 15653 | <td style="text-align:right;"> |
| 15654 | 8 |
| 15655 | </td> |
| 15656 | <td style="text-align:right;"> |
| 15657 | 318.0 |
| 15658 | </td> |
| 15659 | <td style="text-align:right;"> |
| 15660 | 150 |
| 15661 | </td> |
| 15662 | <td style="text-align:right;"> |
| 15663 | 2.76 |
| 15664 | </td> |
| 15665 | <td style="text-align:right;"> |
| 15666 | 3.520 |
| 15667 | </td> |
| 15668 | <td style="text-align:right;"> |
| 15669 | 16.87 |
| 15670 | </td> |
| 15671 | <td style="text-align:right;"> |
| 15672 | 0 |
| 15673 | </td> |
| 15674 | <td style="text-align:right;"> |
| 15675 | 0 |
| 15676 | </td> |
| 15677 | <td style="text-align:right;"> |
| 15678 | 3 |
| 15679 | </td> |
| 15680 | <td style="text-align:right;"> |
| 15681 | 2 |
| 15682 | </td> |
| 15683 | <td style="text-align:right;"> |
| 15684 | 15.5 |
| 15685 | </td> |
| 15686 | <td style="text-align:right;"> |
| 15687 | 8 |
| 15688 | </td> |
| 15689 | <td style="text-align:right;"> |
| 15690 | 318.0 |
| 15691 | </td> |
| 15692 | <td style="text-align:right;"> |
| 15693 | 150 |
| 15694 | </td> |
| 15695 | <td style="text-align:right;"> |
| 15696 | 2.76 |
| 15697 | </td> |
| 15698 | <td style="text-align:right;"> |
| 15699 | 3.520 |
| 15700 | </td> |
| 15701 | <td style="text-align:right;"> |
| 15702 | 16.87 |
| 15703 | </td> |
| 15704 | <td style="text-align:right;"> |
| 15705 | 0 |
| 15706 | </td> |
| 15707 | <td style="text-align:right;"> |
| 15708 | 0 |
| 15709 | </td> |
| 15710 | <td style="text-align:right;"> |
| 15711 | 3 |
| 15712 | </td> |
| 15713 | <td style="text-align:right;"> |
| 15714 | 2 |
| 15715 | </td> |
| 15716 | </tr> |
| 15717 | <tr> |
| 15718 | <td style="text-align:left;"> |
| 15719 | AMC Javelin |
| 15720 | </td> |
| 15721 | <td style="text-align:right;"> |
| 15722 | 15.2 |
| 15723 | </td> |
| 15724 | <td style="text-align:right;"> |
| 15725 | 8 |
| 15726 | </td> |
| 15727 | <td style="text-align:right;"> |
| 15728 | 304.0 |
| 15729 | </td> |
| 15730 | <td style="text-align:right;"> |
| 15731 | 150 |
| 15732 | </td> |
| 15733 | <td style="text-align:right;"> |
| 15734 | 3.15 |
| 15735 | </td> |
| 15736 | <td style="text-align:right;"> |
| 15737 | 3.435 |
| 15738 | </td> |
| 15739 | <td style="text-align:right;"> |
| 15740 | 17.30 |
| 15741 | </td> |
| 15742 | <td style="text-align:right;"> |
| 15743 | 0 |
| 15744 | </td> |
| 15745 | <td style="text-align:right;"> |
| 15746 | 0 |
| 15747 | </td> |
| 15748 | <td style="text-align:right;"> |
| 15749 | 3 |
| 15750 | </td> |
| 15751 | <td style="text-align:right;"> |
| 15752 | 2 |
| 15753 | </td> |
| 15754 | <td style="text-align:right;"> |
| 15755 | 15.2 |
| 15756 | </td> |
| 15757 | <td style="text-align:right;"> |
| 15758 | 8 |
| 15759 | </td> |
| 15760 | <td style="text-align:right;"> |
| 15761 | 304.0 |
| 15762 | </td> |
| 15763 | <td style="text-align:right;"> |
| 15764 | 150 |
| 15765 | </td> |
| 15766 | <td style="text-align:right;"> |
| 15767 | 3.15 |
| 15768 | </td> |
| 15769 | <td style="text-align:right;"> |
| 15770 | 3.435 |
| 15771 | </td> |
| 15772 | <td style="text-align:right;"> |
| 15773 | 17.30 |
| 15774 | </td> |
| 15775 | <td style="text-align:right;"> |
| 15776 | 0 |
| 15777 | </td> |
| 15778 | <td style="text-align:right;"> |
| 15779 | 0 |
| 15780 | </td> |
| 15781 | <td style="text-align:right;"> |
| 15782 | 3 |
| 15783 | </td> |
| 15784 | <td style="text-align:right;"> |
| 15785 | 2 |
| 15786 | </td> |
| 15787 | </tr> |
| 15788 | <tr> |
| 15789 | <td style="text-align:left;"> |
| 15790 | Camaro Z28 |
| 15791 | </td> |
| 15792 | <td style="text-align:right;"> |
| 15793 | 13.3 |
| 15794 | </td> |
| 15795 | <td style="text-align:right;"> |
| 15796 | 8 |
| 15797 | </td> |
| 15798 | <td style="text-align:right;"> |
| 15799 | 350.0 |
| 15800 | </td> |
| 15801 | <td style="text-align:right;"> |
| 15802 | 245 |
| 15803 | </td> |
| 15804 | <td style="text-align:right;"> |
| 15805 | 3.73 |
| 15806 | </td> |
| 15807 | <td style="text-align:right;"> |
| 15808 | 3.840 |
| 15809 | </td> |
| 15810 | <td style="text-align:right;"> |
| 15811 | 15.41 |
| 15812 | </td> |
| 15813 | <td style="text-align:right;"> |
| 15814 | 0 |
| 15815 | </td> |
| 15816 | <td style="text-align:right;"> |
| 15817 | 0 |
| 15818 | </td> |
| 15819 | <td style="text-align:right;"> |
| 15820 | 3 |
| 15821 | </td> |
| 15822 | <td style="text-align:right;"> |
| 15823 | 4 |
| 15824 | </td> |
| 15825 | <td style="text-align:right;"> |
| 15826 | 13.3 |
| 15827 | </td> |
| 15828 | <td style="text-align:right;"> |
| 15829 | 8 |
| 15830 | </td> |
| 15831 | <td style="text-align:right;"> |
| 15832 | 350.0 |
| 15833 | </td> |
| 15834 | <td style="text-align:right;"> |
| 15835 | 245 |
| 15836 | </td> |
| 15837 | <td style="text-align:right;"> |
| 15838 | 3.73 |
| 15839 | </td> |
| 15840 | <td style="text-align:right;"> |
| 15841 | 3.840 |
| 15842 | </td> |
| 15843 | <td style="text-align:right;"> |
| 15844 | 15.41 |
| 15845 | </td> |
| 15846 | <td style="text-align:right;"> |
| 15847 | 0 |
| 15848 | </td> |
| 15849 | <td style="text-align:right;"> |
| 15850 | 0 |
| 15851 | </td> |
| 15852 | <td style="text-align:right;"> |
| 15853 | 3 |
| 15854 | </td> |
| 15855 | <td style="text-align:right;"> |
| 15856 | 4 |
| 15857 | </td> |
| 15858 | </tr> |
| 15859 | <tr> |
| 15860 | <td style="text-align:left;"> |
| 15861 | Pontiac Firebird |
| 15862 | </td> |
| 15863 | <td style="text-align:right;"> |
| 15864 | 19.2 |
| 15865 | </td> |
| 15866 | <td style="text-align:right;"> |
| 15867 | 8 |
| 15868 | </td> |
| 15869 | <td style="text-align:right;"> |
| 15870 | 400.0 |
| 15871 | </td> |
| 15872 | <td style="text-align:right;"> |
| 15873 | 175 |
| 15874 | </td> |
| 15875 | <td style="text-align:right;"> |
| 15876 | 3.08 |
| 15877 | </td> |
| 15878 | <td style="text-align:right;"> |
| 15879 | 3.845 |
| 15880 | </td> |
| 15881 | <td style="text-align:right;"> |
| 15882 | 17.05 |
| 15883 | </td> |
| 15884 | <td style="text-align:right;"> |
| 15885 | 0 |
| 15886 | </td> |
| 15887 | <td style="text-align:right;"> |
| 15888 | 0 |
| 15889 | </td> |
| 15890 | <td style="text-align:right;"> |
| 15891 | 3 |
| 15892 | </td> |
| 15893 | <td style="text-align:right;"> |
| 15894 | 2 |
| 15895 | </td> |
| 15896 | <td style="text-align:right;"> |
| 15897 | 19.2 |
| 15898 | </td> |
| 15899 | <td style="text-align:right;"> |
| 15900 | 8 |
| 15901 | </td> |
| 15902 | <td style="text-align:right;"> |
| 15903 | 400.0 |
| 15904 | </td> |
| 15905 | <td style="text-align:right;"> |
| 15906 | 175 |
| 15907 | </td> |
| 15908 | <td style="text-align:right;"> |
| 15909 | 3.08 |
| 15910 | </td> |
| 15911 | <td style="text-align:right;"> |
| 15912 | 3.845 |
| 15913 | </td> |
| 15914 | <td style="text-align:right;"> |
| 15915 | 17.05 |
| 15916 | </td> |
| 15917 | <td style="text-align:right;"> |
| 15918 | 0 |
| 15919 | </td> |
| 15920 | <td style="text-align:right;"> |
| 15921 | 0 |
| 15922 | </td> |
| 15923 | <td style="text-align:right;"> |
| 15924 | 3 |
| 15925 | </td> |
| 15926 | <td style="text-align:right;"> |
| 15927 | 2 |
| 15928 | </td> |
| 15929 | </tr> |
| 15930 | <tr> |
| 15931 | <td style="text-align:left;"> |
| 15932 | Fiat X1-9 |
| 15933 | </td> |
| 15934 | <td style="text-align:right;"> |
| 15935 | 27.3 |
| 15936 | </td> |
| 15937 | <td style="text-align:right;"> |
| 15938 | 4 |
| 15939 | </td> |
| 15940 | <td style="text-align:right;"> |
| 15941 | 79.0 |
| 15942 | </td> |
| 15943 | <td style="text-align:right;"> |
| 15944 | 66 |
| 15945 | </td> |
| 15946 | <td style="text-align:right;"> |
| 15947 | 4.08 |
| 15948 | </td> |
| 15949 | <td style="text-align:right;"> |
| 15950 | 1.935 |
| 15951 | </td> |
| 15952 | <td style="text-align:right;"> |
| 15953 | 18.90 |
| 15954 | </td> |
| 15955 | <td style="text-align:right;"> |
| 15956 | 1 |
| 15957 | </td> |
| 15958 | <td style="text-align:right;"> |
| 15959 | 1 |
| 15960 | </td> |
| 15961 | <td style="text-align:right;"> |
| 15962 | 4 |
| 15963 | </td> |
| 15964 | <td style="text-align:right;"> |
| 15965 | 1 |
| 15966 | </td> |
| 15967 | <td style="text-align:right;"> |
| 15968 | 27.3 |
| 15969 | </td> |
| 15970 | <td style="text-align:right;"> |
| 15971 | 4 |
| 15972 | </td> |
| 15973 | <td style="text-align:right;"> |
| 15974 | 79.0 |
| 15975 | </td> |
| 15976 | <td style="text-align:right;"> |
| 15977 | 66 |
| 15978 | </td> |
| 15979 | <td style="text-align:right;"> |
| 15980 | 4.08 |
| 15981 | </td> |
| 15982 | <td style="text-align:right;"> |
| 15983 | 1.935 |
| 15984 | </td> |
| 15985 | <td style="text-align:right;"> |
| 15986 | 18.90 |
| 15987 | </td> |
| 15988 | <td style="text-align:right;"> |
| 15989 | 1 |
| 15990 | </td> |
| 15991 | <td style="text-align:right;"> |
| 15992 | 1 |
| 15993 | </td> |
| 15994 | <td style="text-align:right;"> |
| 15995 | 4 |
| 15996 | </td> |
| 15997 | <td style="text-align:right;"> |
| 15998 | 1 |
| 15999 | </td> |
| 16000 | </tr> |
| 16001 | <tr> |
| 16002 | <td style="text-align:left;"> |
| 16003 | Porsche 914-2 |
| 16004 | </td> |
| 16005 | <td style="text-align:right;"> |
| 16006 | 26.0 |
| 16007 | </td> |
| 16008 | <td style="text-align:right;"> |
| 16009 | 4 |
| 16010 | </td> |
| 16011 | <td style="text-align:right;"> |
| 16012 | 120.3 |
| 16013 | </td> |
| 16014 | <td style="text-align:right;"> |
| 16015 | 91 |
| 16016 | </td> |
| 16017 | <td style="text-align:right;"> |
| 16018 | 4.43 |
| 16019 | </td> |
| 16020 | <td style="text-align:right;"> |
| 16021 | 2.140 |
| 16022 | </td> |
| 16023 | <td style="text-align:right;"> |
| 16024 | 16.70 |
| 16025 | </td> |
| 16026 | <td style="text-align:right;"> |
| 16027 | 0 |
| 16028 | </td> |
| 16029 | <td style="text-align:right;"> |
| 16030 | 1 |
| 16031 | </td> |
| 16032 | <td style="text-align:right;"> |
| 16033 | 5 |
| 16034 | </td> |
| 16035 | <td style="text-align:right;"> |
| 16036 | 2 |
| 16037 | </td> |
| 16038 | <td style="text-align:right;"> |
| 16039 | 26.0 |
| 16040 | </td> |
| 16041 | <td style="text-align:right;"> |
| 16042 | 4 |
| 16043 | </td> |
| 16044 | <td style="text-align:right;"> |
| 16045 | 120.3 |
| 16046 | </td> |
| 16047 | <td style="text-align:right;"> |
| 16048 | 91 |
| 16049 | </td> |
| 16050 | <td style="text-align:right;"> |
| 16051 | 4.43 |
| 16052 | </td> |
| 16053 | <td style="text-align:right;"> |
| 16054 | 2.140 |
| 16055 | </td> |
| 16056 | <td style="text-align:right;"> |
| 16057 | 16.70 |
| 16058 | </td> |
| 16059 | <td style="text-align:right;"> |
| 16060 | 0 |
| 16061 | </td> |
| 16062 | <td style="text-align:right;"> |
| 16063 | 1 |
| 16064 | </td> |
| 16065 | <td style="text-align:right;"> |
| 16066 | 5 |
| 16067 | </td> |
| 16068 | <td style="text-align:right;"> |
| 16069 | 2 |
| 16070 | </td> |
| 16071 | </tr> |
| 16072 | <tr> |
| 16073 | <td style="text-align:left;"> |
| 16074 | Lotus Europa |
| 16075 | </td> |
| 16076 | <td style="text-align:right;"> |
| 16077 | 30.4 |
| 16078 | </td> |
| 16079 | <td style="text-align:right;"> |
| 16080 | 4 |
| 16081 | </td> |
| 16082 | <td style="text-align:right;"> |
| 16083 | 95.1 |
| 16084 | </td> |
| 16085 | <td style="text-align:right;"> |
| 16086 | 113 |
| 16087 | </td> |
| 16088 | <td style="text-align:right;"> |
| 16089 | 3.77 |
| 16090 | </td> |
| 16091 | <td style="text-align:right;"> |
| 16092 | 1.513 |
| 16093 | </td> |
| 16094 | <td style="text-align:right;"> |
| 16095 | 16.90 |
| 16096 | </td> |
| 16097 | <td style="text-align:right;"> |
| 16098 | 1 |
| 16099 | </td> |
| 16100 | <td style="text-align:right;"> |
| 16101 | 1 |
| 16102 | </td> |
| 16103 | <td style="text-align:right;"> |
| 16104 | 5 |
| 16105 | </td> |
| 16106 | <td style="text-align:right;"> |
| 16107 | 2 |
| 16108 | </td> |
| 16109 | <td style="text-align:right;"> |
| 16110 | 30.4 |
| 16111 | </td> |
| 16112 | <td style="text-align:right;"> |
| 16113 | 4 |
| 16114 | </td> |
| 16115 | <td style="text-align:right;"> |
| 16116 | 95.1 |
| 16117 | </td> |
| 16118 | <td style="text-align:right;"> |
| 16119 | 113 |
| 16120 | </td> |
| 16121 | <td style="text-align:right;"> |
| 16122 | 3.77 |
| 16123 | </td> |
| 16124 | <td style="text-align:right;"> |
| 16125 | 1.513 |
| 16126 | </td> |
| 16127 | <td style="text-align:right;"> |
| 16128 | 16.90 |
| 16129 | </td> |
| 16130 | <td style="text-align:right;"> |
| 16131 | 1 |
| 16132 | </td> |
| 16133 | <td style="text-align:right;"> |
| 16134 | 1 |
| 16135 | </td> |
| 16136 | <td style="text-align:right;"> |
| 16137 | 5 |
| 16138 | </td> |
| 16139 | <td style="text-align:right;"> |
| 16140 | 2 |
| 16141 | </td> |
| 16142 | </tr> |
| 16143 | <tr> |
| 16144 | <td style="text-align:left;"> |
| 16145 | Ford Pantera L |
| 16146 | </td> |
| 16147 | <td style="text-align:right;"> |
| 16148 | 15.8 |
| 16149 | </td> |
| 16150 | <td style="text-align:right;"> |
| 16151 | 8 |
| 16152 | </td> |
| 16153 | <td style="text-align:right;"> |
| 16154 | 351.0 |
| 16155 | </td> |
| 16156 | <td style="text-align:right;"> |
| 16157 | 264 |
| 16158 | </td> |
| 16159 | <td style="text-align:right;"> |
| 16160 | 4.22 |
| 16161 | </td> |
| 16162 | <td style="text-align:right;"> |
| 16163 | 3.170 |
| 16164 | </td> |
| 16165 | <td style="text-align:right;"> |
| 16166 | 14.50 |
| 16167 | </td> |
| 16168 | <td style="text-align:right;"> |
| 16169 | 0 |
| 16170 | </td> |
| 16171 | <td style="text-align:right;"> |
| 16172 | 1 |
| 16173 | </td> |
| 16174 | <td style="text-align:right;"> |
| 16175 | 5 |
| 16176 | </td> |
| 16177 | <td style="text-align:right;"> |
| 16178 | 4 |
| 16179 | </td> |
| 16180 | <td style="text-align:right;"> |
| 16181 | 15.8 |
| 16182 | </td> |
| 16183 | <td style="text-align:right;"> |
| 16184 | 8 |
| 16185 | </td> |
| 16186 | <td style="text-align:right;"> |
| 16187 | 351.0 |
| 16188 | </td> |
| 16189 | <td style="text-align:right;"> |
| 16190 | 264 |
| 16191 | </td> |
| 16192 | <td style="text-align:right;"> |
| 16193 | 4.22 |
| 16194 | </td> |
| 16195 | <td style="text-align:right;"> |
| 16196 | 3.170 |
| 16197 | </td> |
| 16198 | <td style="text-align:right;"> |
| 16199 | 14.50 |
| 16200 | </td> |
| 16201 | <td style="text-align:right;"> |
| 16202 | 0 |
| 16203 | </td> |
| 16204 | <td style="text-align:right;"> |
| 16205 | 1 |
| 16206 | </td> |
| 16207 | <td style="text-align:right;"> |
| 16208 | 5 |
| 16209 | </td> |
| 16210 | <td style="text-align:right;"> |
| 16211 | 4 |
| 16212 | </td> |
| 16213 | </tr> |
| 16214 | <tr> |
| 16215 | <td style="text-align:left;"> |
| 16216 | Ferrari Dino |
| 16217 | </td> |
| 16218 | <td style="text-align:right;"> |
| 16219 | 19.7 |
| 16220 | </td> |
| 16221 | <td style="text-align:right;"> |
| 16222 | 6 |
| 16223 | </td> |
| 16224 | <td style="text-align:right;"> |
| 16225 | 145.0 |
| 16226 | </td> |
| 16227 | <td style="text-align:right;"> |
| 16228 | 175 |
| 16229 | </td> |
| 16230 | <td style="text-align:right;"> |
| 16231 | 3.62 |
| 16232 | </td> |
| 16233 | <td style="text-align:right;"> |
| 16234 | 2.770 |
| 16235 | </td> |
| 16236 | <td style="text-align:right;"> |
| 16237 | 15.50 |
| 16238 | </td> |
| 16239 | <td style="text-align:right;"> |
| 16240 | 0 |
| 16241 | </td> |
| 16242 | <td style="text-align:right;"> |
| 16243 | 1 |
| 16244 | </td> |
| 16245 | <td style="text-align:right;"> |
| 16246 | 5 |
| 16247 | </td> |
| 16248 | <td style="text-align:right;"> |
| 16249 | 6 |
| 16250 | </td> |
| 16251 | <td style="text-align:right;"> |
| 16252 | 19.7 |
| 16253 | </td> |
| 16254 | <td style="text-align:right;"> |
| 16255 | 6 |
| 16256 | </td> |
| 16257 | <td style="text-align:right;"> |
| 16258 | 145.0 |
| 16259 | </td> |
| 16260 | <td style="text-align:right;"> |
| 16261 | 175 |
| 16262 | </td> |
| 16263 | <td style="text-align:right;"> |
| 16264 | 3.62 |
| 16265 | </td> |
| 16266 | <td style="text-align:right;"> |
| 16267 | 2.770 |
| 16268 | </td> |
| 16269 | <td style="text-align:right;"> |
| 16270 | 15.50 |
| 16271 | </td> |
| 16272 | <td style="text-align:right;"> |
| 16273 | 0 |
| 16274 | </td> |
| 16275 | <td style="text-align:right;"> |
| 16276 | 1 |
| 16277 | </td> |
| 16278 | <td style="text-align:right;"> |
| 16279 | 5 |
| 16280 | </td> |
| 16281 | <td style="text-align:right;"> |
| 16282 | 6 |
| 16283 | </td> |
| 16284 | </tr> |
| 16285 | <tr> |
| 16286 | <td style="text-align:left;"> |
| 16287 | Maserati Bora |
| 16288 | </td> |
| 16289 | <td style="text-align:right;"> |
| 16290 | 15.0 |
| 16291 | </td> |
| 16292 | <td style="text-align:right;"> |
| 16293 | 8 |
| 16294 | </td> |
| 16295 | <td style="text-align:right;"> |
| 16296 | 301.0 |
| 16297 | </td> |
| 16298 | <td style="text-align:right;"> |
| 16299 | 335 |
| 16300 | </td> |
| 16301 | <td style="text-align:right;"> |
| 16302 | 3.54 |
| 16303 | </td> |
| 16304 | <td style="text-align:right;"> |
| 16305 | 3.570 |
| 16306 | </td> |
| 16307 | <td style="text-align:right;"> |
| 16308 | 14.60 |
| 16309 | </td> |
| 16310 | <td style="text-align:right;"> |
| 16311 | 0 |
| 16312 | </td> |
| 16313 | <td style="text-align:right;"> |
| 16314 | 1 |
| 16315 | </td> |
| 16316 | <td style="text-align:right;"> |
| 16317 | 5 |
| 16318 | </td> |
| 16319 | <td style="text-align:right;"> |
| 16320 | 8 |
| 16321 | </td> |
| 16322 | <td style="text-align:right;"> |
| 16323 | 15.0 |
| 16324 | </td> |
| 16325 | <td style="text-align:right;"> |
| 16326 | 8 |
| 16327 | </td> |
| 16328 | <td style="text-align:right;"> |
| 16329 | 301.0 |
| 16330 | </td> |
| 16331 | <td style="text-align:right;"> |
| 16332 | 335 |
| 16333 | </td> |
| 16334 | <td style="text-align:right;"> |
| 16335 | 3.54 |
| 16336 | </td> |
| 16337 | <td style="text-align:right;"> |
| 16338 | 3.570 |
| 16339 | </td> |
| 16340 | <td style="text-align:right;"> |
| 16341 | 14.60 |
| 16342 | </td> |
| 16343 | <td style="text-align:right;"> |
| 16344 | 0 |
| 16345 | </td> |
| 16346 | <td style="text-align:right;"> |
| 16347 | 1 |
| 16348 | </td> |
| 16349 | <td style="text-align:right;"> |
| 16350 | 5 |
| 16351 | </td> |
| 16352 | <td style="text-align:right;"> |
| 16353 | 8 |
| 16354 | </td> |
| 16355 | </tr> |
| 16356 | <tr> |
| 16357 | <td style="text-align:left;"> |
| 16358 | Volvo 142E |
| 16359 | </td> |
| 16360 | <td style="text-align:right;"> |
| 16361 | 21.4 |
| 16362 | </td> |
| 16363 | <td style="text-align:right;"> |
| 16364 | 4 |
| 16365 | </td> |
| 16366 | <td style="text-align:right;"> |
| 16367 | 121.0 |
| 16368 | </td> |
| 16369 | <td style="text-align:right;"> |
| 16370 | 109 |
| 16371 | </td> |
| 16372 | <td style="text-align:right;"> |
| 16373 | 4.11 |
| 16374 | </td> |
| 16375 | <td style="text-align:right;"> |
| 16376 | 2.780 |
| 16377 | </td> |
| 16378 | <td style="text-align:right;"> |
| 16379 | 18.60 |
| 16380 | </td> |
| 16381 | <td style="text-align:right;"> |
| 16382 | 1 |
| 16383 | </td> |
| 16384 | <td style="text-align:right;"> |
| 16385 | 1 |
| 16386 | </td> |
| 16387 | <td style="text-align:right;"> |
| 16388 | 4 |
| 16389 | </td> |
| 16390 | <td style="text-align:right;"> |
| 16391 | 2 |
| 16392 | </td> |
| 16393 | <td style="text-align:right;"> |
| 16394 | 21.4 |
| 16395 | </td> |
| 16396 | <td style="text-align:right;"> |
| 16397 | 4 |
| 16398 | </td> |
| 16399 | <td style="text-align:right;"> |
| 16400 | 121.0 |
| 16401 | </td> |
| 16402 | <td style="text-align:right;"> |
| 16403 | 109 |
| 16404 | </td> |
| 16405 | <td style="text-align:right;"> |
| 16406 | 4.11 |
| 16407 | </td> |
| 16408 | <td style="text-align:right;"> |
| 16409 | 2.780 |
| 16410 | </td> |
| 16411 | <td style="text-align:right;"> |
| 16412 | 18.60 |
| 16413 | </td> |
| 16414 | <td style="text-align:right;"> |
| 16415 | 1 |
| 16416 | </td> |
| 16417 | <td style="text-align:right;"> |
| 16418 | 1 |
| 16419 | </td> |
| 16420 | <td style="text-align:right;"> |
| 16421 | 4 |
| 16422 | </td> |
| 16423 | <td style="text-align:right;"> |
| 16424 | 2 |
| 16425 | </td> |
| 16426 | </tr> |
| 16427 | </tbody> |
| 16428 | </table> |
| 16429 | </div> |
Hao Zhu | 72917f9 | 2019-03-15 18:41:42 -0400 | [diff] [blame] | 16430 | <p>Starting from version 1.1.0, if you have a fixed-height box, the header row is fixed</p> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 16431 | </div> |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 16432 | <div id="save-html-table-directly" class="section level2"> |
| 16433 | <h2>Save HTML table directly</h2> |
| 16434 | <p>If you need to save those HTML tables but you don’t want to generate them through rmarkdown, you can try to use the <code>save_kable()</code> function. You can choose whether to let those HTML files be self contained (default is yes). Self contained files packed CSS into the HTML file so they are quite large when there are many.</p> |
Hao Zhu | 8b16a6c | 2020-08-18 16:59:20 -0400 | [diff] [blame] | 16435 | <pre class="r"><code>kbl(mtcars) %>% |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 16436 | kable_styling() %>% |
| 16437 | save_kable(file = "table1.html", self_contained = T)</code></pre> |
| 16438 | </div> |
Hao Zhu | 8f46db8 | 2020-08-18 21:48:23 -0400 | [diff] [blame] | 16439 | <div id="use-it-with-sparkline" class="section level2"> |
| 16440 | <h2>Use it with sparkline</h2> |
| 16441 | <p>Well, this is not a feature but rather a documentation of how to use the <code>sparkline</code> package together with this package. The easiest way is sort of a hack. You can call <code>sparkline::sparkline(0)</code> somewhere on your document where no one would mind so its dependencies could be loaded without any hurdles. Then you use <code>sparkline::spk_chr()</code> to generate the text. Here is another example: <a href="https://cranky-chandrasekhar-cfefcd.netlify.app/">Chinese names in US babynames</a></p> |
| 16442 | <pre class="r"><code>library(sparkline) |
| 16443 | sparkline(0)</code></pre> |
Hao Zhu | 4e34cd8 | 2020-08-19 01:54:23 -0400 | [diff] [blame^] | 16444 | <span id="htmlwidget-fe2aeadaaa92a48c86ee" class="sparkline html-widget"></span> |
| 16445 | <script type="application/json" data-for="htmlwidget-fe2aeadaaa92a48c86ee">{"x":{"values":0,"options":{"height":20,"width":60},"width":60,"height":20},"evals":[],"jsHooks":[]}</script> |
Hao Zhu | 8f46db8 | 2020-08-18 21:48:23 -0400 | [diff] [blame] | 16446 | <pre class="r"><code>spk_dt <- data.frame( |
| 16447 | var = c("mpg", "wt"), |
| 16448 | sparkline = c(spk_chr(mtcars$mpg), spk_chr(mtcars$wt)) |
| 16449 | ) |
| 16450 | |
| 16451 | kbl(spk_dt, escape = F) %>% |
| 16452 | kable_paper(full_width = F)</code></pre> |
| 16453 | <table class=" lightable-paper" style="font-family: "Arial Narrow", arial, helvetica, sans-serif; width: auto !important; margin-left: auto; margin-right: auto;"> |
| 16454 | <thead> |
| 16455 | <tr> |
| 16456 | <th style="text-align:left;"> |
| 16457 | var |
| 16458 | </th> |
| 16459 | <th style="text-align:left;"> |
| 16460 | sparkline |
| 16461 | </th> |
| 16462 | </tr> |
| 16463 | </thead> |
| 16464 | <tbody> |
| 16465 | <tr> |
| 16466 | <td style="text-align:left;"> |
| 16467 | mpg |
| 16468 | </td> |
| 16469 | <td style="text-align:left;"> |
Hao Zhu | 4e34cd8 | 2020-08-19 01:54:23 -0400 | [diff] [blame^] | 16470 | <span id="htmlwidget-fdddfe62cb83547210eb" class="sparkline html-widget"></span> |
| 16471 | <script type="application/json" data-for="htmlwidget-fdddfe62cb83547210eb">{"x":{"values":[21,21,22.8,21.4,18.7,18.1,14.3,24.4,22.8,19.2,17.8,16.4,17.3,15.2,10.4,10.4,14.7,32.4,30.4,33.9,21.5,15.5,15.2,13.3,19.2,27.3,26,30.4,15.8,19.7,15,21.4],"options":{"height":20,"width":60},"width":60,"height":20},"evals":[],"jsHooks":[]}</script> |
Hao Zhu | 8f46db8 | 2020-08-18 21:48:23 -0400 | [diff] [blame] | 16472 | </td> |
| 16473 | </tr> |
| 16474 | <tr> |
| 16475 | <td style="text-align:left;"> |
| 16476 | wt |
| 16477 | </td> |
| 16478 | <td style="text-align:left;"> |
Hao Zhu | 4e34cd8 | 2020-08-19 01:54:23 -0400 | [diff] [blame^] | 16479 | <span id="htmlwidget-da7e098e9f570e71333f" class="sparkline html-widget"></span> |
| 16480 | <script type="application/json" data-for="htmlwidget-da7e098e9f570e71333f">{"x":{"values":[2.62,2.875,2.32,3.215,3.44,3.46,3.57,3.19,3.15,3.44,3.44,4.07,3.73,3.78,5.25,5.424,5.345,2.2,1.615,1.835,2.465,3.52,3.435,3.84,3.845,1.935,2.14,1.513,3.17,2.77,3.57,2.78],"options":{"height":20,"width":60},"width":60,"height":20},"evals":[],"jsHooks":[]}</script> |
Hao Zhu | 8f46db8 | 2020-08-18 21:48:23 -0400 | [diff] [blame] | 16481 | </td> |
| 16482 | </tr> |
| 16483 | </tbody> |
| 16484 | </table> |
| 16485 | </div> |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 16486 | </div> |
| 16487 | <div id="from-other-packages" class="section level1"> |
| 16488 | <h1>From other packages</h1> |
| 16489 | <p>Since the structure of <code>kable</code> is relatively simple, it shouldn’t be too difficult to convert HTML or LaTeX tables generated by other packages to a <code>kable</code> object and then use <code>kableExtra</code> to modify the outputs. If you are a package author, feel free to reach out to me and we can collaborate.</p> |
| 16490 | <div id="tables" class="section level2"> |
| 16491 | <h2><code>tables</code></h2> |
Hao Zhu | ec16936 | 2018-05-21 01:05:29 -0400 | [diff] [blame] | 16492 | <p>The latest version of <a href="https://CRAN.R-project.org/package=tables"><code>tables</code></a> comes with a <code>toKable()</code> function, which is compatiable with functions in <code>kableExtra</code> (>=0.9.0).</p> |
Hao Zhu | 6107f37 | 2018-05-21 00:23:26 -0400 | [diff] [blame] | 16493 | </div> |
Hao Zhu | a171b45 | 2019-01-15 17:14:34 -0600 | [diff] [blame] | 16494 | <div id="xtable" class="section level2"> |
| 16495 | <h2><code>xtable</code></h2> |
| 16496 | <p>For <code>xtable</code> users, if you want to use <code>kableExtra</code> functions on that, check out this <code>xtable2kable()</code> function shipped with kableExtra 1.0.</p> |
| 16497 | <pre class="r"><code># Not evaluating |
| 16498 | xtable::xtable(mtcars[1:4, 1:4], caption = "Hello xtable") %>% |
| 16499 | xtable2kable() %>% |
| 16500 | column_spec(1, color = "red")</code></pre> |
| 16501 | </div> |
Hao Zhu | 4b0c51e | 2017-08-01 15:21:07 -0400 | [diff] [blame] | 16502 | </div> |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 16503 | |
| 16504 | |
| 16505 | |
| 16506 | </div> |
| 16507 | </div> |
| 16508 | |
| 16509 | </div> |
| 16510 | |
| 16511 | <script> |
| 16512 | |
| 16513 | // add bootstrap table styles to pandoc tables |
| 16514 | function bootstrapStylePandocTables() { |
| 16515 | $('tr.header').parent('thead').parent('table').addClass('table table-condensed'); |
| 16516 | } |
| 16517 | $(document).ready(function () { |
| 16518 | bootstrapStylePandocTables(); |
| 16519 | }); |
| 16520 | |
| 16521 | |
| 16522 | </script> |
| 16523 | |
Hao Zhu | d7762a4 | 2020-08-10 09:05:47 -0400 | [diff] [blame] | 16524 | <!-- tabsets --> |
| 16525 | |
| 16526 | <script> |
| 16527 | $(document).ready(function () { |
| 16528 | window.buildTabsets("TOC"); |
| 16529 | }); |
| 16530 | |
| 16531 | $(document).ready(function () { |
| 16532 | $('.tabset-dropdown > .nav-tabs > li').click(function () { |
| 16533 | $(this).parent().toggleClass('nav-tabs-open') |
| 16534 | }); |
| 16535 | }); |
| 16536 | </script> |
| 16537 | |
| 16538 | <!-- code folding --> |
| 16539 | |
| 16540 | <script> |
| 16541 | $(document).ready(function () { |
| 16542 | |
| 16543 | // move toc-ignore selectors from section div to header |
| 16544 | $('div.section.toc-ignore') |
| 16545 | .removeClass('toc-ignore') |
| 16546 | .children('h1,h2,h3,h4,h5').addClass('toc-ignore'); |
| 16547 | |
| 16548 | // establish options |
| 16549 | var options = { |
| 16550 | selectors: "h1,h2", |
| 16551 | theme: "bootstrap3", |
| 16552 | context: '.toc-content', |
| 16553 | hashGenerator: function (text) { |
| 16554 | return text.replace(/[.\\/?&!#<>]/g, '').replace(/\s/g, '_'); |
| 16555 | }, |
| 16556 | ignoreSelector: ".toc-ignore", |
| 16557 | scrollTo: 0 |
| 16558 | }; |
| 16559 | options.showAndHide = true; |
| 16560 | options.smoothScroll = true; |
| 16561 | |
| 16562 | // tocify |
| 16563 | var toc = $("#TOC").tocify(options).data("toc-tocify"); |
| 16564 | }); |
| 16565 | </script> |
| 16566 | |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 16567 | <!-- dynamically load mathjax for compatibility with self-contained --> |
| 16568 | <script> |
| 16569 | (function () { |
| 16570 | var script = document.createElement("script"); |
| 16571 | script.type = "text/javascript"; |
Hao Zhu | f9aa4c4 | 2017-05-22 15:53:35 -0400 | [diff] [blame] | 16572 | script.src = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"; |
Hao Zhu | 1fc48a6 | 2017-03-01 14:07:54 -0500 | [diff] [blame] | 16573 | document.getElementsByTagName("head")[0].appendChild(script); |
| 16574 | })(); |
| 16575 | </script> |
| 16576 | |
| 16577 | </body> |
| 16578 | </html> |