Skip to content

Instantly share code, notes, and snippets.

@667bdrm
Created September 1, 2018 08:52
Show Gist options
  • Save 667bdrm/8d7a333c0c5cf754b7de2345600ed99c to your computer and use it in GitHub Desktop.
Save 667bdrm/8d7a333c0c5cf754b7de2345600ed99c to your computer and use it in GitHub Desktop.
Russian governors wants the following obfuscated script to be inserted to the all government organizations website pages //esir.gov.spb.ru/static/widget/js/widget.js
/*! Widget hash: 1a02fc6429bccf93b9c99ec7050744ac */
!function(t) {
function e(i) {
if (n[i])
return n[i].exports;
var o = n[i] = {
exports: {},
id: i,
loaded: !1
};
return t[i].call(o.exports, o, o.exports, e),
o.loaded = !0,
o.exports
}
var n = {};
return e.m = t,
e.c = n,
e.p = "/",
e(0)
}([function(t, e, n) {
var i, o;
o = {},
n(23)(o),
n(21)(o),
n(18)(o),
n(22)(o),
n(11)(o),
n(15)(o),
n(12)(o),
n(17)(o),
n(19)(o),
n(20)(o),
n(13)(o),
n(16)(o),
n(14)(o),
n(35)(o),
n(36)(o),
i = n(10)(o),
n(9)(o, i),
n(2)(o, i),
n(1)(o, i),
n(7)(o, i),
n(8)(o, i),
n(4)(o, i),
n(5)(o, i),
n(6)(o, i),
n(3)(o, i),
o.domReady(function() {
return new o.BarView
})
}
, function(t, e) {
var n = {}.hasOwnProperty
, i = function(t, e) {
function i() {
this.constructor = t
}
for (var o in e)
n.call(e, o) && (t[o] = e[o]);
return i.prototype = e.prototype,
t.prototype = new i,
t.__super__ = e.prototype,
t
};
t.exports = function(t) {
var e;
return t.BarModel = function(t) {
function n() {
return e = n.__super__.constructor.apply(this, arguments)
}
return i(n, t),
n.prototype.defaults = {
bar_height: 50,
underlay: !1,
fullscreen: !1,
view: "bar",
windowSizeArr: [0, 0],
bodySizeArr: [0, 0],
scrollBarWidth: 0,
not_static: void 0,
message: {}
},
n
}(t.Model)
}
}
, function(t, e) {
var n = {}.hasOwnProperty
, i = function(t, e) {
function i() {
this.constructor = t
}
for (var o in e)
n.call(e, o) && (t[o] = e[o]);
return i.prototype = e.prototype,
t.prototype = new i,
t.__super__ = e.prototype,
t
};
t.exports = function(t) {
var e;
return t.CatalogModel = function(n) {
function o() {
return e = o.__super__.constructor.apply(this, arguments)
}
return i(o, n),
o.prototype.defaults = {
url: "/",
segments: []
},
o.prototype._clean = function(e) {
return t.isString(e) && (e = t.trim(e).replace(/^(\s+)?#/, "")),
e
}
,
o.prototype._segments = function(e) {
if (t.isString(e))
return e = this._clean(e),
e = e.replace(/(^\/)?(\/$)?/g, ""),
"" === e ? [] : e.split("/");
throw Error("invalid url param")
}
,
o.prototype.isEqual = function(t) {
return this.get("url") === this._clean(t)
}
,
o.prototype._set = function(e, n) {
var i = this;
return e.url && (e = t.reduce(e, function(t, e, n) {
return "url" === n && e !== i.get("url") ? (t.url = i._clean(e),
t.segments = i._segments(t.url)) : t[n] = e,
t
}, {})),
o.__super__._set.call(this, e, n)
}
,
o
}(t.Model)
}
}
, function(t, e, n) {
var i = function(t, e) {
return function() {
return t.apply(e, arguments)
}
}
, o = {}.hasOwnProperty
, r = function(t, e) {
function n() {
this.constructor = t
}
for (var i in e)
o.call(e, i) && (t[i] = e[i]);
return n.prototype = e.prototype,
t.prototype = new n,
t.__super__ = e.prototype,
t
};
t.exports = function(t, e) {
var n;
return n = function() {
function e(e, n) {
null == n && (n = {}),
this.options = t.extend({}, n),
this.el = e,
this.sum_width = Math.abs(this.options.end_pos - this.options.start_pos),
this.duration = this.sum_width / .06,
this.time_start = Date.now(),
this.timer_indent = 0,
this.stopped = !1,
this.requestId = 0
}
return e.prototype.render = function() {
var t, e, n = this;
if (!this.stopped)
return t = this.options.start_pos - (Date.now() - this.time_start) / this.duration * this.sum_width,
this.el[0].style.textIndent = "" + t + "px",
t < this.options.end_pos && (("function" == typeof (e = this.options).runAgain ? e.runAgain() : void 0) ? this.time_start = Date.now() : this.stop()),
this.requestId = window.requestAnimationFrame(function() {
return n.render()
})
}
,
e.prototype.start = function() {
var t = this;
return this.stopped = !1,
this.time_start = Date.now() - this.timer_indent,
this.requestId = window.requestAnimationFrame(function() {
return t.render()
})
}
,
e.prototype.stop = function() {
if (this.stopped = !0,
this.timer_indent = (Date.now() - this.time_start) % this.duration,
this.requestId)
return window.cancelAnimationFrame(this.requestId)
}
,
e
}(),
t.BarView = function(o) {
function s() {
this.positionRecounter = i(this.positionRecounter, this),
t.globalVars = t.extend({
onSiteCheckbox: !0,
searchIsDisabled: !1
}, null != t.winObj.eSi ? t.winObj.eSi : void 0),
null != t.globalVars.theme && t.globalVars.theme !== t.escapeAttrs(t.globalVars.theme) && (t.globalVars.theme = void 0),
this.testAndRun()
}
return r(s, o),
s.prototype.iframeStyle = t.extend({}, t.IframeView.prototype.iframeStyle, {
width: "100%",
height: "" + e.INITIAL_BAR_HEIGHT + "px",
position: "absolute",
"z-index": "1000000"
}),
s.prototype.iframeStyleFullscreen = t.extend({}, t.IframeView.prototype.iframeStyle, {
left: "0",
top: "0",
position: "fixed",
height: "100%",
"z-index": "123123123123"
}),
s.prototype._blockIds = ["catalog", "siteinfo", "underlay", "dynamic_css", "message", "full_message"],
s.prototype.getBodySize = function() {
return {
width: document.body.clientWidth,
height: document.body.clientHeight
}
}
,
s.prototype.getWindowSize = function() {
var t, e;
return "Microsoft Internet Explorer" === navigator.appName ? (t = document.documentElement.clientHeight,
e = document.documentElement.clientWidth) : (t = window.innerHeight,
e = window.innerWidth),
{
width: e,
height: t
}
}
,
s.prototype.getBodyAndWindowSize = function() {
var t;
return this.setIframeStyle(this.iframeNeutralStyle),
t = {
bodySize: this.getBodySize(),
windowSize: this.getWindowSize()
},
this.setIframeStyle(this.model.get("fullscreen") === !0 ? this.iframeStyleFullscreen : this.iframeStyle),
t
}
,
s.prototype.testAndRun = function() {
var n, i = this;
return n = t.getCookie("eSi_state"),
"on" === n && t.setStyle(document.body, {
"margin-top": "50px"
}),
t.JSONP({
url: "" + e.WIDGET_HOSTNAME + e.CHECK_URL + e.SITE_HOSTNAME,
success: function() {
return t.setCookie("eSi_state", "on", {
expires: 31536e3,
path: "/"
}),
t.BarView.__super__.constructor.call(i)
},
error: function() {
t.removeCookie("eSi_state")
}
})
}
,
s.prototype.initialize = function() {
return this.createModel(),
this._cache = {},
this.iframeNeutralStyle = t.extend({}, this.iframeStyle, {
width: "100%",
"max-width": "100%"
}),
this.noSiteinfo = "gov.spb.ru" === e.SITE_HOSTNAME,
t.globalVars.searchIsDisabled || this._blockIds.push("search", "search_placeholder", "search_query"),
this.data = void 0,
this.render(),
this.collectDomElements(),
this.domReadyFixes(),
this.createChildren(),
this.createPushstream(),
this.setStatBlock(),
this.initMetrika()
}
,
s.prototype.resizeTimer = void 0,
s.prototype.setStatBlock = function() {
var t;
if (e.STATISTIC_URL)
return t = new Image,
t.src = e.STATISTIC_URL
}
,
s.prototype.createPushstream = function() {
var n, i = this;
return !(!t.winObj.WebSocket && !t.winObj.MozWebSocket) && (n = new t.PushStream({
host: e.WS_HOSTNAME,
useSSL: "https" === e.WIDGET_PROTOCOL,
modes: "websocket",
messagesPublishedAfter: 172800,
messagesControlByArgument: !0,
reconnectOnTimeoutInterval: 3e4
}),
n.onmessage = function(e) {
var n;
return n = t.extend({}, e, {
msg: t.encodeHTML(e.msg)
}),
i.messageReceived(n)
}
,
n.addChannel("notification"),
n.connect())
}
,
s.prototype.isValidMessage = function(t) {
return Date.parse(t.date_end) - 5e3 > Date.now()
}
,
s.prototype.setMessage = function(t) {
var e, n;
return n = this.model.get("message"),
this.model.set("message", t),
e = this.model.get("bar_height"),
!n.msg && t.msg ? e += 30 : n.msg && !t.msg && (e -= 30),
this.model.set("bar_height", e)
}
,
s.prototype.messageReceived = function(t) {
var e, n;
return null != (n = this.message_ticker) && n.stop(),
e = this.model.get("message"),
this.isValidMessage(t) ? this.setMessage(t) : (e.id !== t.id && this.setMessage({}),
this)
}
,
s.prototype.tickerInit = function() {
var t, e, i, o, r, s = this;
return t = this.block.message.byClass("content"),
i = this.block.message.byClass("msg"),
e = t[0].clientWidth,
o = i[0].clientWidth,
this.message_ticker = new n(t,{
start_pos: e,
end_pos: -o,
runAgain: function() {
var t;
return t = s.model.get("message"),
!!s.isValidMessage(t) || (s.setMessage({}),
!1)
}
}),
i.on("mouseenter", function() {
var t;
return null != (t = s.message_ticker) ? t.stop() : void 0
}),
i.on("mouseleave", function() {
var t;
return null != (t = s.message_ticker) ? t.start() : void 0
}),
null != (r = this.message_ticker) ? r.start() : void 0
}
,
s.prototype.createChildren = function() {
return this.createFullMessage(),
t.globalVars.searchIsDisabled || this.createSearch(),
this.createCatalog(),
this.noSiteinfo || this.createSiteInfo(),
this
}
,
s.prototype.collectDomElements = function() {
var t, e, n, i, o;
for (this.block = {},
i = this._blockIds,
o = [],
e = 0,
n = i.length; e < n; e++)
t = i[e],
o.push(this.block[t] = this.el.byId(t));
return o
}
,
s.prototype.getContainer = function() {
return t.docObj.body
}
,
s.prototype.createModel = function() {
var e = this;
return this.model = new t.BarModel,
this.model.on("change:fullscreen", this.toggleFullscreen, this),
this.model.on("change:view", function(t) {
if (void 0 !== t && (e.iframeBody.attr("class", "view-" + t),
e.model.set("fullscreen", "bar" !== t)),
"full_message" !== t)
return e.block.message.setStyle({
opacity: "1"
})
}),
this.model.on("change:scrollBarWidth", function() {
return e.block.dynamic_css.html(t.render("dynamic_css", {
scrollBarWidth: e.model.get("scrollBarWidth")
})),
e.trigger("changeSize")
}),
this.model.on("change:bar_height", function(n) {
return e.iframeStyle.height = "" + n + "px",
t.setStyle(e.body, {
"margin-top": "" + n + "px"
}),
e.positionRecounter(),
e.trigger("changeSize")
}),
this.model.on("change:message", function(n) {
if (e.block.message.html(t.render("message", n)),
n.msg)
return e.tickerInit()
}),
this.model.on("change:windowSizeArr", function(n) {
return e.iframeStyleFullscreen = t.extend({}, e.iframeStyleFullscreen, {
width: n[0] + "px",
height: n[1] + "px"
}),
e.calculationIframeStyle(),
e.trigger("changeSize")
}),
this.model.on("change:bodySizeArr", function() {
e.calculationIframeStyle()
}),
this.model.on("change:not_static", function() {
return e.positionRecounter()
})
}
,
s.prototype.getFrameWidth = function() {
var t, e, n, i;
return i = this.model.get("windowSizeArr"),
e = this.model.get("bodySizeArr"),
n = this.model.get("scrollBarWidth"),
t = [this.body.scrollWidth, this.body.scrollHeight],
"Microsoft Internet Explorer" === navigator.appName ? Math.max(i[0], e[0]) : i[0] < e[0] ? e[0] : i[1] < e[1] || i[1] < t[1] ? i[0] - n : i[0]
}
,
s.prototype.calculationIframeStyle = function() {
this.iframeStyle = t.extend({}, this.iframeStyle, {
width: this.getFrameWidth() + "px"
}),
this.positionRecounter()
}
,
s.prototype.notStaticBody = function() {
var e;
return e = t.getStyle(this.body, "position"),
"relative" === e || "fixed" === e || "absolute" === e || "flex" === e
}
,
s.prototype.domReadyFixes = function() {
var e, n, i = this;
return this.updateWindowParams({
type: "resize"
}),
e = this.notStaticBody(),
(null != this._not_static ? this._not_static : void 0) !== e && (this._not_static = e,
t.on(t.winObj, "resize", function(t) {
return clearTimeout(i.resizeTimer),
i.resizeTimer = setTimeout(function() {
return i.updateWindowParams(t)
}, 50)
}),
n = function() {
setTimeout(function() {
return i.updateWindowParams(),
n()
}, 2e3)
}
,
this)
}
,
s.prototype.resizeTimer = void 0,
s.prototype.positionRecounter = function(e) {
var n, i, o, r;
return null == e && (e = !0),
o = t.offset(this.body) || {},
i = this.model.get("not_static"),
r = i ? -Math.max(o.top || 0, 0) : 0,
n = i ? -Math.max(o.left || 0, 0) : 0,
this.iframeStyle = t.extend({}, this.iframeStyle, {
left: n + "px",
top: r + "px"
}),
this.setIframeStyle(this.model.get("fullscreen") === !0 ? this.iframeStyleFullscreen : this.iframeStyle)
}
,
s.prototype.updateWindowParams = function(e) {
var n, i, o, r, s, a, l;
return l = this.getBodyAndWindowSize(),
n = l.bodySize,
s = l.windowSize,
r = e && "resize" === e.type ? t.getScrollBarWidth(this.iframeBody) : this.model.get("scrollBarWidth"),
i = [n.width, n.height],
a = [s.width, s.height],
o = {
not_static: this.notStaticBody(),
scrollBarWidth: r
},
this.model.get("bodySizeArr").join("") !== i.join("") && (o.bodySizeArr = i),
this.model.get("windowSizeArr").join("") !== a.join("") && (o.windowSizeArr = a),
this.model.set(o),
this
}
,
s.prototype.render = function() {
var n, i, o = this;
if (this.html = document.documentElement,
this.body = document.body,
t.setStyle(this.body, {
"margin-top": "" + this.model.get("bar_height") + "px"
}),
this.iframeBody.attr("class", "view-" + this.model.get("view")),
this.iframeBody.html(t.render("bar", {
action: t.globalVars.formAction || "" + e.WIDGET_HOSTNAME + "/search/",
searchField: t.globalVars.formAction && t.globalVars.searchField || "q",
site: e.SITE_HOSTNAME,
noSiteinfo: this.noSiteinfo,
check: !t.globalVars.onSiteCheckbox,
searchIsDisabled: !!t.globalVars.searchIsDisabled,
theme: t.globalVars.theme,
message: this.model.get("message")
})),
i = void 0,
n = function(e) {
return e && t.hasClass(e, "content") ? e : !!e.parentNode && n(e.parentNode)
}
,
this.iframeDoc.on("touchstart", function(t) {
return i = t.original.touches[0].pageY
}),
this.iframeDoc.on("touchmove", function(t) {
var e, r;
return e = n(t.target),
e && (r = i - t.original.touches[0].pageY,
i = t.original.touches[0].pageY,
o.scrollColumn(e, r / 30)),
t.preventDefault()
}),
this.iframeDoc.on("mousewheel", function(t) {
var e;
return e = n(t.target),
o.scrollColumn(e, t.delta),
t.preventDefault(),
t.stopPropagation()
}),
this.iframeDoc.on("click", function(e) {
var n;
if ((n = function(e) {
return (!e || !t.hasClass(e, "column") && "bar" !== e.id) && (!e.parentNode || n(e.parentNode))
}
)(e.target))
return o.closeAll()
}),
this.el.byId("message").on("click", function() {
return o.toggleFullmessage.apply(o, arguments)
}),
this.el.byId("full_message-toggle").on("click", function() {
return o.toggleFullmessage.apply(o, arguments)
}),
this.el.byId("catalog-toggle").on("click", function() {
return o.toggleCatalog.apply(o, arguments)
}),
!this.noSiteinfo)
return this.el.byId("siteinfo-toggle").on("click", function() {
return o.toggleSiteinfo.apply(o, arguments)
})
}
,
s.prototype.scrollColumn = function(e, n) {
var i;
return i = (e.scrollTop || e.clientTop) + 30 * n,
t.isNumber(e.scrollTop) ? e.scrollTop = i : e.clientTop = i
}
,
s.prototype.getData = function(t) {
var n = this;
return this.wget("" + e.WIDGET_HOSTNAME + e.DATA_URL, function(e) {
return n.parseData(e),
"function" == typeof t ? t() : void 0
}, this)
}
,
s.prototype.closeAll = function() {
return this.model.set("view", "bar")
}
,
s.prototype.toggleSiteinfo = function() {
return "siteinfo" === this.model.get("view") ? this.model.set("view", "bar") : this.model.set("view", "siteinfo"),
!1
}
,
s.prototype.toggleCatalog = function() {
return "catalog" === this.model.get("view") ? this.model.set("view", "bar") : this.model.set("view", "catalog"),
!1
}
,
s.prototype.toggleFullmessage = function() {
return "full_message" === this.model.get("view") ? this.model.set("view", "bar") : (this.model.set("view", "full_message"),
this.block.message.setStyle({
opacity: "0"
})),
!1
}
,
s.prototype.toggleFullscreen = function(e) {
var n, i, o = this;
return i = t.docObj.getElementsByTagName("html")[0],
n = t.docObj.getElementsByTagName("body")[0],
e === !0 ? (i.originStyles = t.attr(i, "style") || "",
n.originStyles = t.attr(n, "style") || "",
t.setStyle(i, {
overflow: "hidden",
height: this.iframeStyleFullscreen.height,
width: this.iframeStyle.width
}),
this.setIframeStyle(this.iframeStyleFullscreen),
this.block.underlay.setStyle({
opacity: "0.6"
})) : (this.block.underlay.setStyle({
opacity: "0"
}),
setTimeout(function() {
return i.removeAttribute("style"),
t.attr(i, "style", i.originStyles),
o.updateWindowParams(),
o.setIframeStyle(o.iframeStyle)
}, 200))
}
,
s.prototype.parseData = function(n) {
var i, o, r, s, a, l, c, h, u, d, p, m, g, C, f, b, v, w, A, D, y, E = this;
if (this.data)
return this.data;
for (this.data = {},
o = this.data.categories = {
0: []
},
u = this.data.sites = {},
a = this.data.orgs = {},
this.data.site = void 0,
w = n.categories,
d = 0,
C = w.length; d < C; d++)
i = w[d],
o[i.id] = t.extend({}, null != o[i.id] ? o[i.id] : void 0, {
item: i
}),
i.parent ? (l = o[i.parent] || (o[i.parent] = {}),
l.children || (l.children = []),
l.children.push(o[i.id])) : o[0].push(o[i.id]);
for (r = function(t) {
var n;
if ((n = e.SITE_HOSTNAME_UNICODE) === t.host || n === t.esir_host)
return E.data.site = t
}
,
A = n.sites,
p = 0,
f = A.length; p < f; p++) {
for (h = A[p],
u[h.id] = h,
D = h.categories,
m = 0,
b = D.length; m < b; m++)
c = D[m],
o[c].sites || (o[c].sites = []),
o[c].sites.push(h);
r(h)
}
for (y = n.organizations,
g = 0,
v = y.length; g < v; g++)
s = y[g],
a[s.id] = s;
return this.data
}
,
s.prototype.createSearch = function() {
return this.search = new t.SearchView({
el: this.block.search,
parent: this
})
}
,
s.prototype.createCatalog = function() {
return this.catalog = new t.CatalogView({
el: this.block.catalog,
parent: this
})
}
,
s.prototype.createFullMessage = function() {
return this.full_message = new t.FullMessageView({
el: this.block.full_message,
parent: this
})
}
,
s.prototype.createSiteInfo = function() {
return this.siteinfo = new t.SiteInfoView({
el: this.block.siteinfo,
parent: this
})
}
,
s.prototype._wgetCallbacks = {},
s.prototype.wget = function(e, n, i) {
var o = this;
return this._cache[e] ? this._cache[e] === !0 ? (this._wgetCallbacks[e].push(arguments),
!1) : setTimeout(function() {
return n.apply(i, [o._cache[e]])
}, 0) : (this._cache[e] = !0,
this._wgetCallbacks[e] = [],
this._wgetCallbacks[e].push(arguments),
t.JSONP({
url: e,
success: function(t) {
var n, i, r, s, a, l, c;
for (o._cache[e] = t,
c = o._wgetCallbacks[e],
a = 0,
l = c.length; a < l; a++)
n = c[a],
s = n[0],
i = n[1],
r = n[2],
i.apply(r, [t]);
return delete o._wgetCallbacks[e]
}
}))
}
,
s.prototype.initMetrika = function() {
return function(t, e, n) {
(e[n] = e[n] || []).push(function() {
try {
e.yaCounter25567901 = new Ya.Metrika({
id: 25567901,
webvisor: !0,
clickmap: !0,
trackLinks: !0,
accurateTrackBounce: !0
})
} catch (t) {}
});
var i = t.getElementsByTagName("script")[0]
, o = t.createElement("script")
, r = function() {
i.parentNode.insertBefore(o, i)
};
o.type = "text/javascript",
o.async = !0,
o.src = ("https:" == t.location.protocol ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js",
"[object Opera]" == e.opera ? t.addEventListener("DOMContentLoaded", r, !1) : r()
}(document, window, "yandex_metrika_callbacks"),
this
}
,
s
}(t.IframeView)
}
}
, function(t, e) {
var n = {}.hasOwnProperty
, i = function(t, e) {
function i() {
this.constructor = t
}
for (var o in e)
n.call(e, o) && (t[o] = e[o]);
return i.prototype = e.prototype,
t.prototype = new i,
t.__super__ = e.prototype,
t
}
, o = [].slice;
t.exports = function(t, e) {
return t.CatalogView = function(n) {
function r(e) {
null == e && (e = {}),
this.options = t.extend({}, null != this.options ? this.options : void 0, e),
this.columns = [],
this.options.parent && (this.parent = this.options.parent),
this.catalog = {},
r.__super__.constructor.call(this, e)
}
return i(r, n),
r.prototype.zPos = 5e3,
r.prototype.maxColumns = 2,
r.prototype.initialize = function() {
var e = this;
return this.columnWrapper = this.el.byClass("column-wrapper"),
this.createModel(),
this.calculateVisible(),
this.model.set("level", 0),
this.parent.model.on("change:view", this.checkView, this),
this.parent.on("changeSize", this.changeFrameSize, this),
this.parent.model.on("change:bar_height", function(t) {
return e.model.set("top", t)
}, this),
this.model.on("change:top", this.changePosition, this),
this.model.on("change:show", this.toggleView, this),
this.model.on("change:level", this.changeLevel, this),
this.catalog = this.parent.data || void 0,
this.el_trans = new t.Transition(this.el,{
duration: 200
}),
this.el.setStyle({
left: "-" + this.columnWidth + "px",
opacity: 1
})
}
,
r.prototype.createModel = function() {
return this.model = new t.CatalogModel({
show: !1,
top: this.parent.model.get("bar_height")
})
}
,
r.prototype.checkView = function(t) {
var e = this;
return this.catalog ? this.model.set("show", "catalog" === t) : this.parent.getData(function() {
if (e.catalog = e.parent.data,
e.addColumn(0, 0),
"catalog" === e.parent.model.get("view"))
return e.model.set("show", !0)
})
}
,
r.prototype.changePosition = function(t) {
return this.el_trans.animate({
top: "" + t + "px"
})
}
,
r.prototype.toggleView = function(e) {
var n, i = this;
return n = this.model.get("top"),
e === !0 ? (t.removeClass(this.el[0], "hiddenBlock"),
this.el_trans.animate({
left: "0px",
top: "" + n + "px"
})) : this.el_trans.animate({
left: "-" + (this.columnWidth + 50) + "px",
top: "" + n + "px"
}, function() {
return i.model.set("level", 0),
t.addClass(i.el[0], "hiddenBlock")
})
}
,
r.prototype.changeFrameSize = function() {
var e, n, i, o, r, s, a;
for (i = this.calculateVisible(),
this.animateColumns(),
e = this.model.get("level") - i + 1,
s = this.columns.slice(1),
a = [],
o = 0,
r = s.length; o < r; o++)
n = s[o],
e === n.lvl ? a.push(t.addClass(n.header[0], "show_back")) : a.push(t.removeClass(n.header[0], "show_back"));
return a
}
,
r.prototype.createColumn = function() {
var e;
return e = t.create("<div class='column'></div>")
}
,
r.prototype.drawColumn = function() {
var n, i, r, s, a, l;
return n = 1 <= arguments.length ? o.call(arguments, 0) : [],
r = n[0],
s = n[1],
s = t.extend({}, s, {
catalogUrl: "" + e.WIDGET_HOSTNAME
}),
i = this.model.get("level"),
l = this.model.get("visibleColumns"),
r.html(t.render("catalog_" + s._tmpl, s)),
a = 0,
0 !== r.lvl && (a = (r.lvl - i + l - 1) * this.columnWidth,
r.lvl < l && r.lvl !== i && (a = -this.columnWidth)),
r.setStyle({
left: "" + a + "px"
}),
r.trans = new t.Transition(r,{
duration: 200
}),
this.addHanlers(r, s)
}
,
r.prototype.animateColumns = function(t) {
if (null == t && (t = this.model.get("level")),
!(this.columns.length <= 0))
return this.toggleColumns(this.columns.slice(0, +t + 1 || 9e9)),
this.removeColumns(t + 1),
this.columns[t].currentItem ? (this.columns[t].currentItem.className = "",
this.columns[t].currentItem = void 0) : void 0
}
,
r.prototype.calculateVisible = function() {
var t, e;
return this.columns.length > 0 ? t = this.columns[0] : (t = this.createColumn(),
this.columnWrapper.append(t),
setTimeout(function() {
return t.remove()
}, 0)),
this.columnWidth = t[0].offsetWidth,
e = Math.min(Math.floor(this.el[0].offsetWidth / this.columnWidth), this.maxColumns),
this.model.set("visibleColumns", e),
e
}
,
r.prototype.changeLevel = function(t) {
return this.animateColumns(t)
}
,
r.prototype.addColumn = function(t, e) {
var n;
return n = this.createColumn(),
n.lvl = e,
n.setStyle({
"z-index": this.zPos - 10 * e
}),
this.columns.push(n),
this.columnWrapper.append(n),
this.drawColumn(n, this.getColumnData(t))
}
,
r.prototype.sortCat = function(t, e) {
return t.item.name.toLowerCase() > e.item.name.toLowerCase() ? 1 : -1
}
,
r.prototype.sortSites = function(t, e) {
return t.name.toLowerCase().replace(/<\/?nobr>/gim, "") > e.name.toLowerCase().replace(/<\/?nobr>/gim, "") ? 1 : -1
}
,
r.prototype.getColumnData = function(e) {
var n, i, o;
return t.isString(e) && 0 === e.indexOf("all_") ? (i = this.catalog.categories[parseInt(e.slice(4), 10)],
n = !0) : i = this.catalog.categories[e],
o = {},
0 === e ? (o.items = i.sort(this.sortCat),
o._tmpl = "categories",
o.correctImageExtantion = t.hasClass(this.parent.el[0], "lt-ie9") ? "png" : "svg",
o) : (o.title = i.item.name,
i.item.parent ? o.parent_title = this.catalog.categories[i.item.parent].item.name : o.parent_title = "Каталог",
n ? (o.items = this.collectSites(i),
o._tmpl = "sites",
o) : (i.children ? (i.children.sort(this.sortCat),
o.items = i.children.slice(),
o.items.unshift({
item: {
name: "Вся категория",
id: "all_" + i.item.id,
parent: i.item.id
}
}),
o._tmpl = "subcategories") : (o.items = i.sites.sort(this.sortSites),
o._tmpl = "sites"),
o))
}
,
r.prototype.collectSites = function(e) {
var n, i, o, r, s;
for (i = [],
s = e.children,
o = 0,
r = s.length; o < r; o++)
n = s[o],
n.sites && (i = t.union(i, n.sites || []));
return e.sites && (i = t.union(i, e.sites || [])),
i = this.uniq(i),
i.sort(this.sortSites)
}
,
r.prototype.uniq = function(t) {
var e, n, i, o, r, s;
for (o = {},
i = [],
e = r = 0,
s = t.length; r < s; e = ++r)
n = t[e],
o[n.id] || i.push(n),
o[n.id] = !0;
return i
}
,
r.prototype.addHanlers = function(t, e) {
return this.eventHandlers[e._tmpl].apply(this, [t, e])
}
,
r.prototype.eventHandlers = {
categories: function(e, n) {
var i, o = this;
return i = e.lvl,
t.each(e[0].getElementsByTagName("li"), function(n) {
return t.on(n, "click", function(t) {
var r;
if (t.preventDefault(),
r = n.getAttribute("data-id"),
r.indexOf("all_") < 0 && (r = parseInt(r, 10)),
e.currentItem) {
if (e.currentItem === n)
return void o.model.set("level", o.model.get("level") - 1);
e.currentItem.className = "",
o.removeColumns(i + 1, !1),
o.addColumn(r, i + 1)
} else
o.addColumn(r, i + 1),
setTimeout(function() {
return o.model.set("level", i + 1)
}, 0);
return e.currentItem = n,
e.currentItem.className = "current"
})
}),
this.eventHandlers.addDefaultHandler.apply(this, [e])
},
subcategories: function(t, e) {
return this.eventHandlers.categories.apply(this, arguments),
this.eventHandlers.addHeaderHandler.apply(this, [t])
},
sites: function(e, n, i) {
return this.eventHandlers.addHeaderHandler.apply(this, [e]),
this.eventHandlers.addDefaultHandler.apply(this, [e]),
t.each(e[0].getElementsByTagName("li"), function(n) {
return t.on(n, "click", function(i) {
var o;
if ((o = function(e) {
return e && t.hasClass(e, "site-toggle") ? e : !!e.parentNode && o(e.parentNode)
}
)(i.target))
return e.currentItem && e.currentItem !== n && t.removeClass(e.currentItem, "open"),
t.hasClass(n, "open") ? (t.removeClass(n, "open"),
e.currentItem = void 0) : (e.currentItem = n,
t.addClass(n, "open"))
})
})
},
addDefaultHandler: function(e) {
var n;
return n = e.byClass("content")[0],
e.byClass("content").on("mouseenter", function() {
return n.scrollHeight !== n.clientHeight ? t.addClass(n, "scrolled") : t.removeClass(n, "scrolled")
}),
e.byClass("content").on("click", function() {
return setTimeout(function() {
return n.scrollHeight !== n.clientHeight ? t.addClass(n, "scrolled") : t.removeClass(n, "scrolled")
}, 10)
})
},
addHeaderHandler: function(e) {
var n, i = this;
return !e.events && (e.events = {}),
n = e.header || (e.header = e.byClass("extra-head")),
e.events["change:level"] = this.model.on("change:level", function(t) {
var o;
return t < 0 ? (i.model.set("level", 0),
!1) : (o = i.model.get("visibleColumns"),
t - o + 1 === e.lvl ? n.addClass("show_back") : n.removeClass("show_back"))
}),
n.on("click", function() {
if (t.hasClass(n[0], "show_back"))
return i.model.set("level", i.model.get("level") - 1)
})
}
},
r.prototype.setCurrent = function(t) {
var e, n;
return e = t.lvl,
n = this.model,
header.on("click", function() {
return n.set("level", e)
})
}
,
r.prototype.removeColumns = function(t) {
var e, n, i, o, r;
for (n = this.columns.slice(t),
this.columns = this.columns.slice(0, t),
r = [],
i = 0,
o = n.length; i < o; i++)
e = n[i],
r.push(e.trans.animate({
opacity: "0"
}, function() {
return e.remove()
}));
return r
}
,
r.prototype.toggleColumns = function(t) {
var e, n, i, o, r, s, a;
for (e = this.model.get("level"),
o = this.model.get("visibleColumns"),
a = [],
r = 0,
s = t.length; r < s; r++)
n = t[r],
i = n.lvl + (-e + o - 1),
i = e < o - 1 ? 0 : i,
a.push(n.trans.animate({
left: "" + i * this.columnWidth + "px"
}));
return a
}
,
r
}(t.View)
}
}
, function(t, e) {
var n = {}.hasOwnProperty
, i = function(t, e) {
function i() {
this.constructor = t
}
for (var o in e)
n.call(e, o) && (t[o] = e[o]);
return i.prototype = e.prototype,
t.prototype = new i,
t.__super__ = e.prototype,
t
};
t.exports = function(t, e) {
return t.FullMessageView = function(n) {
function o(e) {
null == e && (e = {}),
this.options = t.extend({}, null != this.options ? this.options : void 0, e),
this.options.parent && (this.parent = this.options.parent),
o.__super__.constructor.call(this, e)
}
return i(o, n),
o.prototype.initialize = function() {
var e = this;
return this.createModel(),
this.parent.model.on("change:view", this.checkView, this),
this.model.on("change:top", this.changePosition, this),
this.model.on("change:show", this.toggleView, this),
this.parent.model.on("change:message", function(t) {
return e.el.trigger("click"),
!t.msg && e.model.get("message") ? e.model.set("message", !1) : e.model.set("message", t)
}, this),
this.model.on("change:message", function(t) {
if (t)
return e.draw(t)
}, this),
this.content = this.el.byId("full_message_content"),
this.data = this.parent.data || void 0,
this.el_trans = new t.Transition(this.el,{
duration: 200
})
}
,
o.prototype.createModel = function() {
return this.model = new t.Model({
show: !1,
top: e.INITIAL_BAR_HEIGHT
})
}
,
o.prototype.checkView = function(t) {
return this.model.set("show", "full_message" === t)
}
,
o.prototype.changePosition = function(t) {
return this.el_trans.animate({
top: "" + t + "px"
})
}
,
o.prototype.getFullMessage = function() {
var n, i = this;
return n = this.model.get("message"),
t.JSONP({
url: "//" + e.NOTIFICATION_HOSTNAME + "/messages/" + n.id + "/",
success: function(e) {
var o;
return o = t.extend({}, null != e ? e : void 0),
o.text = t.encodeHTML(o.text),
o.title = t.encodeHTML(o.title),
i.model.set("message", t.extend({}, n, o))
}
})
}
,
o.prototype.toggleView = function(e) {
var n, i, o, r = this;
return i = this.model.get("top"),
e === !0 ? (n = this.model.get("message"),
n.text || this.getFullMessage(),
t.removeClass(this.el[0], "hiddenBlock"),
this.el_trans.animate({
left: "0px",
top: "" + i + "px"
})) : (this.el_trans.animate({
left: "-100%",
top: "" + i + "px"
}, function() {
return t.addClass(r.el[0], "hiddenBlock")
}),
null != (o = this.el.byTag("audio")[0]) && "function" == typeof o.pause ? o.pause() : void 0)
}
,
o.prototype.draw = function(n) {
return this.content.html(t.render("full_message", t.extend({}, {
NOTIFICATION_HOSTNAME: e.NOTIFICATION_HOSTNAME
}, n))),
this.addHandlers(this.content)
}
,
o.prototype.addHandlers = function(e) {
var n;
return n = e.byClass("content")[0],
e.byClass("content").on("mouseenter", function(i) {
var o;
return e = function(n) {
return n && t.hasClass(n, "content") ? n : !!n.parentNode && e(n.parentNode)
}
,
o = e(i.target),
n.scrollHeight !== n.clientHeight ? t.addClass(o, "scrolled") : t.removeClass(o, "scrolled")
})
}
,
o
}(t.View)
}
}
, function(t, e) {
var n = {}.hasOwnProperty
, i = function(t, e) {
function i() {
this.constructor = t
}
for (var o in e)
n.call(e, o) && (t[o] = e[o]);
return i.prototype = e.prototype,
t.prototype = new i,
t.__super__ = e.prototype,
t
};
t.exports = function(t, e) {
return t.IframeView = function(n) {
function o(t) {
var e = this;
null == t && (t = {}),
this.container = t.container,
this.createIframe(function() {
return o.__super__.constructor.call(e, t)
})
}
return i(o, n),
o.prototype.iframeAttributes = {
scrolling: "no",
frameBorder: "0",
allowtransparency: "true",
marginWidth: "0",
marginHeight: "0",
vspace: "0",
hspace: "0"
},
o.prototype.hiddenStyle = {
position: "absolute",
top: "-9999em",
left: "-9999em",
"z-index": "-1",
visibility: "hidden"
},
o.prototype.iframeStyle = {
background: "transparent none repeat scroll 0 0",
"border-width": "0",
"border-style": "none",
"border-image": "none",
display: "block",
"border-radius": "0",
bottom: "0",
"box-shadow": "none",
"box-sizing": "content-box",
cursor: "auto",
filer: "none",
"float": "none",
margin: "0",
"max-height": "none",
"max-width": "none",
"min-height": "0",
"min-width": "0",
opacity: "1",
overflow: "hidden",
outline: "none",
padding: "0",
right: "auto",
transform: "none",
visibility: "visible",
zoom: "normal",
"z-index": "1",
top: "0",
left: "0",
height: "auto",
width: "auto",
position: "static",
"writing-mode:": "none",
"-moz-transform": "none",
"-ms-transform": "none",
"-webkit-transform": "none",
"-o-transform": "none",
transform: "none"
},
o.prototype.events = {
"click a": "linkHandler",
mousewheel: "scrollHandler"
},
o.prototype.prepareContainer = function() {}
,
o.prototype.initialize = function() {}
,
o.prototype.getContainer = function() {
var e;
if (t.isString(this.container) && (e = t.byId(this.container)))
return e;
if (t.isElement(this.container))
return this.container;
if (this.container.length && t.isElement(this.container[0]))
return this.container[0];
throw Error("invalid container element")
}
,
o.prototype.createIframe = function(e) {
var n, i = this;
return this.iframe = t.create(t.docObj.createElement("iframe")),
this.iframe.attr("id", "widgetEsirGovSpbRu"),
n = function() {
return i.iframe.off("load", n),
i.iframeReady(),
e()
}
,
this.iframe.on("load", n),
t.domReady(function() {
return i.hideIframe(),
i.iframe.prependTo(i.getContainer())
})
}
,
o.prototype.hideIframe = function() {
return this.iframe.setStyleAttr(this.hiddenStyle, !0)
}
,
o.prototype.setIframeAttributes = function() {
var e = this;
return t.each(this.iframeAttributes, function(t, n) {
return e.iframe.attr(n, t)
}),
this.setIframeStyle(this.iframeStyle)
}
,
o.prototype.setIframeStyle = function(t) {
return this.iframe.setStyleAttr(t, !0)
}
,
o.prototype.collectElements = function() {
return this.el = t.create(this.iframeDoc[0].documentElement),
this.iframeBody = t.create(this.iframeDoc[0].body),
this.html = t.create(t.docObj.documentElement),
this.body = t.create(t.docObj.body)
}
,
o.prototype.renderIframe = function() {
return this.iframeDoc.each(function(n) {
return n.open(),
n.write(t.render("iframe", {
widgetUrl: e.WIDGET_HOSTNAME
})),
n.close()
})
}
,
o.prototype.iframeReady = function() {
return this.iframeDoc = t.create(this.iframe[0].contentDocument || this.iframe[0].contentWindow.document),
this.renderIframe(),
this.collectElements(),
this.prepareContainer(),
this.setIframeAttributes(),
this.trigger("ready")
}
,
o.prototype.scrollHandler = function(t) {
var e;
if (null != (e = this.model) ? e.get("fullscreen") : void 0)
return t.preventDefault(),
t.stopPropagation()
}
,
o.prototype.linkHandler = function(e) {
var n, i, o;
if (i = t.create(e.target),
o = t.trim(i.attr("target")),
"_blank" !== o && (e.preventDefault(),
e.stopPropagation(),
n = t.trim(i.attr("href")),
n && "#" !== n[0]))
return t.redirect(n)
}
,
o
}(t.View)
}
}
, function(t, e) {
var n = function(t, e) {
return function() {
return t.apply(e, arguments)
}
}
, i = {}.hasOwnProperty
, o = function(t, e) {
function n() {
this.constructor = t
}
for (var o in e)
i.call(e, o) && (t[o] = e[o]);
return n.prototype = e.prototype,
t.prototype = new n,
t.__super__ = e.prototype,
t
};
t.exports = function(t, e) {
return t.SearchView = function(i) {
function r(e) {
this.outerClick = n(this.outerClick, this),
this.options = t.extend({}, null != this.options && this.options || {}, e),
this.options.parent && (this.parent = this.options.parent),
r.__super__.constructor.call(this, e)
}
return o(r, i),
r.prototype.initialize = function() {
var e = this;
return this.collectChildren(["search_query", "site", "on_all", "searchResult"]),
this.setHandlers(),
this.parent.model.on("change:view", function(n) {
if ("search" !== n)
return e.children.searchResult.empty(),
t.removeClass(e.el[0], "focus")
})
}
,
r.prototype.collectChildren = function(e) {
var n, i, o, r;
for (this.children = {},
r = [],
i = 0,
o = e.length; i < o; i++)
n = e[i],
r.push(this.children[n] = t.byId(n, this.el));
return r
}
,
r.prototype.outerClick = function(e) {
if (!(e.pageX <= 0 && e.pageY <= 0))
return this.resetSearch(),
t.removeClass(this.el[0], "focus")
}
,
r.prototype.setHandlers = function() {
var n = this;
return t.on(this.parent.el[0], "click", this.outerClick, this),
t.on(t.docObj, "click", this.outerClick, this),
this.el.on("click", function(e) {
return e.stopPropagation(),
setTimeout(function() {
return t.addClass(n.el[0], "focus"),
n.parent.model.set("view", "search"),
n.children.search_query[0].focus()
}, 0)
}),
this.children.searchResult.on("mouseup", function(e) {
var i;
if (i = t.closest(e.target, "li"))
return n.resetSearch(i.getAttribute("data-value"))
}),
this.el.on("keyup", function(t) {
return n.searchHandler(t)
}),
this.el.on("submit", function(i) {
var o, r, s;
if (i.preventDefault(),
i.stopPropagation(),
!t.hasClass(n.el[0], "focus"))
return !1;
if (n.children.site[0].disabled = !n.children.on_all[0].checked,
n.children.on_all[0].checked ? n.el.append(t.create("<input type='hidden' name='all' value='1' />")) : n.children.site[0].disabled = !1,
t.globalVars.formAction)
if (n.children.on_all[0].checked)
n.el.attr("action", "" + e.WIDGET_HOSTNAME + "/search/"),
n.children.search_query.attr("name", "q"),
n.children.site[0].disabled = !0;
else if (t.globalVars.additionalFields) {
s = t.globalVars.additionalFields;
for (o in s)
r = s[o],
n.el.append(t.create("<input type='hidden' name='" + o + "' value='" + r + "' />"))
}
return n.el[0].submit()
})
}
,
r.prototype.selectSearchItem = function(t) {
var e, n, i;
return i = this.children.searchResult.byClass("selected"),
i.length > 0 ? (i.removeClass("selected"),
n = i[t]()) : (e = this.children.searchResult.byClass("search-suggest"),
n = "prev" === t ? e.last() : e.first()),
n.length > 0 ? (this.children.search_query[0].value = n[0].getAttribute("data-value"),
n.addClass("selected")) : this.children.search_query[0].value = this.defaultValue || ""
}
,
r.prototype.submitHandler = function(t) {
return this.el.trigger("submit")
}
,
r.prototype.searchHandler = function(t) {
var e, n;
return e = t.keyCode,
38 === e || 40 === e ? this.selectSearchItem(40 === e ? "next" : "prev") : 27 === e ? this.resetSearch() : 13 === e ? this.submitHandler(t) : (n = this.getSearchValue(),
n ? (this.defaultValue = n,
this.loadSuggest(n)) : this.resetSearch())
}
,
r.prototype.getSearchValue = function() {
return this.children.search_query[0].value || ""
}
,
r.prototype.renderSearchSuggest = function(e) {
var n;
return null == e && (e = {}),
n = t.render("search", e),
this.children.searchResult.html(n)
}
,
r.prototype.renderSelected = function(t) {
var e, n, i, o, r, s;
for (e = t,
o = this._prevRenderedSelected || [],
o && o.length > e.length && (e = o),
n = r = 0,
s = e.length; r < s; n = ++r)
i = e[n],
t[n] !== o[n] && (this.iframeDoc.byId(t[n]).addClass("selected"),
o[n] && this.iframeDoc.byId(o[n]).removeClass("selected"));
return this._prevRenderedSelected = t
}
,
r.prototype.loadSuggest = function(n) {
var i, o = this;
return !!n && (i = t.extend({
_: (new Date).getTime(),
part: n
}, e.YANDEX_DATA),
this.defLoad && clearTimeout(this.defLoad),
this.defLoad = setTimeout(function() {
return t.JSONP({
url: e.YANDEX_URL,
data: i,
success: function(t) {
var e, n;
return e = t[0],
n = t[1],
e === o.getSearchValue() && o.renderSearchSuggest({
search: e,
suggests: n
})
},
complete: function() {
return o.defLoad = null
}
})
}, 300))
}
,
r.prototype.resetSearch = function(t) {
if (this.children.searchResult.empty(),
this.children.search_query[0].value = t || "",
t)
return this.el.trigger("submit")
}
,
r
}(t.View)
}
}
, function(t, e) {
var n = {}.hasOwnProperty
, i = function(t, e) {
function i() {
this.constructor = t
}
for (var o in e)
n.call(e, o) && (t[o] = e[o]);
return i.prototype = e.prototype,
t.prototype = new i,
t.__super__ = e.prototype,
t
};
t.exports = function(t, e) {
return t.SiteInfoView = function(e) {
function n(e) {
null == e && (e = {}),
this.options = t.extend({}, null != this.options ? this.options : void 0, e),
this.options.parent && (this.parent = this.options.parent),
n.__super__.constructor.call(this, e)
}
return i(n, e),
n.prototype.initialize = function() {
var e = this;
return this.createModel(),
this.parent.model.on("change:view", this.checkView, this),
this.parent.model.on("change:bar_height", function(t) {
return e.model.set("top", t)
}, this),
this.model.on("change:top", this.changePosition, this),
this.model.on("change:show", this.toggleView, this),
this.information = this.el.byId("information"),
this.data = this.parent.data || void 0,
this.el_trans = new t.Transition(this.el,{
duration: 200
})
}
,
n.prototype.createModel = function() {
return this.model = new t.Model({
show: !1,
top: this.parent.model.get("bar_height")
})
}
,
n.prototype.checkView = function(t) {
var e = this;
return this.data ? this.model.set("show", "siteinfo" === t) : this.parent.getData(function() {
if (e.data = e.parent.data,
e.drawSiteInfo(e.getSiteInfo()),
"siteinfo" === e.parent.model.get("view"))
return e.model.set("show", !0)
})
}
,
n.prototype.changePosition = function(t) {
return this.el_trans.animate({
top: "" + t + "px"
})
}
,
n.prototype.toggleView = function(e) {
var n, i = this;
return n = this.model.get("top"),
e === !0 ? (t.removeClass(this.el[0], "hiddenBlock"),
this.el_trans.animate({
right: "0px",
top: "" + n + "px"
})) : this.el_trans.animate({
right: "-100%",
top: "" + n + "px"
}, function() {
return t.addClass(i.el[0], "hiddenBlock")
})
}
,
n.prototype.drawSiteInfo = function(e) {
return this.information.html(t.render("siteinfo", e)),
this.addHandlers(this.information)
}
,
n.prototype.getSiteInfo = function() {
var t, e;
return e = this.data.site,
t = {
site: e,
organization: this.data.orgs[e.organization],
organization_parent: this.data.orgs[e.organization_parent]
}
}
,
n.prototype.addHandlers = function(e) {
var n, i;
return n = e.byClass("accordion"),
n.current = void 0,
i = e.byClass("content")[0],
t.each(n[0].getElementsByTagName("dt"), function(e) {
return t.on(e, "click", function(e) {
var o, r, s;
return s = function(t) {
var e;
return t && "dt" === (null != (e = t.tagName) ? e.toLowerCase() : void 0) ? t : !!t.parentNode && arguments.callee(t.parentNode)
}(e.target),
!(!s || t.hasClass(s, "open")) && (o = t.next(s),
r = n.current && t.next(n.current) || void 0,
n.current && t.removeClass(n.current, "open"),
n.current = s,
t.addClass(s, "open"),
o.trans || (o.trans = new t.Transition(new t.DomObj(o),{
duration: 200
})),
r && !r.trans && (r.trans = new t.Transition(new t.DomObj(r),{
duration: 200
})),
o.trans.animate({
height: "" + (o.scrollTop || o.scrollHeight) + "px"
}),
null != r ? r.trans.animate({
height: "0px"
}, function() {
return i.scrollHeight !== i.clientHeight ? t.addClass(i, "scrolled") : t.removeClass(i, "scrolled")
}) : void 0)
})
}),
e.byClass("content").on("mouseenter", function(n) {
var o;
return e = function(n) {
return n && t.hasClass(n, "content") ? n : !!n.parentNode && e(n.parentNode)
}
,
o = e(n.target),
i.scrollHeight !== i.clientHeight ? t.addClass(o, "scrolled") : t.removeClass(o, "scrolled")
}),
n.byClass("default")[0].click()
}
,
n
}(t.View)
}
}
, function(t, e, n) {
t.exports = function(t, e) {
var i, o, r, s;
r = {
css: n(25),
dynamic_css: n(24),
iframe: n(31),
bar: n(26),
siteinfo: n(34),
full_message: n(30),
catalog_categories: n(27),
catalog_subcategories: n(29),
catalog_sites: n(28),
search: n(33),
message: n(32)
},
s = [];
for (i in r)
o = r[i],
s.push(t.defineTemplate(i, o));
return s
}
}
, function(t, e) {
t.exports = function(t) {
var e, n;
return n = {
WIDGET_HOSTNAME: "esir.gov.spb.ru",
WIDGET_PROTOCOL: "https",
SITE_HOSTNAME: function() {
var t;
return t = window.location.hostname,
0 === t.indexOf("www.") && (t = t.substring(4)),
t
}(window)
},
e = {
WIDGET_HOSTNAME: "" + n.WIDGET_PROTOCOL + "://" + n.WIDGET_HOSTNAME,
WIDGET_PROTOCOL: n.WIDGET_PROTOCOL,
DATA_URL: "/json/data.json",
CHECK_URL: "/sites/",
INITIAL_BAR_HEIGHT: 50,
SITE_HOSTNAME: n.SITE_HOSTNAME,
SITE_HOSTNAME_UNICODE: t.punycode.toUnicode(n.SITE_HOSTNAME),
WS_HOSTNAME: "" + n.WIDGET_HOSTNAME,
NOTIFICATION_HOSTNAME: "" + n.WIDGET_HOSTNAME,
STATISTIC_HTML: !1,
STATISTIC_URL: "" + n.WIDGET_PROTOCOL + "://" + n.WIDGET_HOSTNAME + "/counter",
YANDEX_URL: "https://sitesuggest.yandex.ru/suggest-ya.cgi",
YANDEX_DATA: {
v: 2,
site: "#2211610",
usebigdictionary: 1,
lang: "ru"
}
}
}
}
, function(t, e) {
var n = [].slice;
t.exports = function(t) {
return t.Abstract = function() {
function t() {}
return t.prototype.on = function(t, e, n) {
var i;
return null == this._events && (this._events = {}),
i = this._events[t] || (this._events[t] = []),
i.push({
name: t,
cb: e,
ctx: n || this
}),
this
}
,
t.prototype.off = function(t, e, n) {
var i, o, r, s, a;
if (null == this._events)
return this;
if (null == t && null == e && null == n)
return this._events = {},
this;
if (o = this._events[t]) {
if (e || n)
for (this._events[t] = r = [],
s = 0,
a = o.length; s < a; s++)
i = o[s],
(e && e !== i.cb || n && n !== i.ctx) && r.push(i);
else
this._events[t] = [];
0 === this._events[t].length && delete this._events[t]
}
return this
}
,
t.prototype.trigger = function() {
var t, e, i, o, r, s, a, l, c;
if (r = arguments[0],
e = 2 <= arguments.length ? n.call(arguments, 1) : [],
null == this._events)
return this;
if (null != (o = this._events[r]) && "all" !== r)
for (s = 0,
l = o.length; s < l; s++)
i = o[s],
i.cb.apply(i.ctx, e);
if (null != (t = this._events.all))
for (a = 0,
c = t.length; a < c; a++)
i = t[a],
i.cb.apply(i.ctx, arguments);
return this
}
,
t
}()
}
}
, function(t, e) {
var n = {}.hasOwnProperty
, i = function(t, e) {
function i() {
this.constructor = t
}
for (var o in e)
n.call(e, o) && (t[o] = e[o]);
return i.prototype = e.prototype,
t.prototype = new i,
t.__super__ = e.prototype,
t
}
, o = [].slice;
t.exports = function(t) {
return t.Collection = function(e) {
function n(e) {
t.isArray(e) && t.each(e, this.add, this)
}
return i(n, e),
n.prototype._add = function(e) {
var n, i, o = this;
return n = this.model || t.Model,
e.items && (e.items = t.map(e.items, function(t) {
return null != e.id && (t.parent = e.id),
o._add(t)
})),
e && e.id && this.get(e.id) ? this.get(e.id).set(e) : (e = new n(e),
e.collection = this,
i = e.get("id"),
e.on("all", function(t, n) {
return o._proxyTrigger(e, t, n)
}, this),
null != i && (this._byId[i] = e),
this.models.push(e),
this.trigger("add", e)),
e
}
,
n.prototype.add = function(e) {
var n, i, o;
for (null == this.models && (this.models = []),
null == this._byId && (this._byId = {}),
t.isArray(e) || (e = [e]),
i = 0,
o = e.length; i < o; i++)
n = e[i],
this._add(n);
return this
}
,
n.prototype.get = function(t) {
if (this._byId)
return this._byId[t]
}
,
n.prototype._proxyTrigger = function(t, e, n) {
return this.trigger(e, t, n)
}
,
n.prototype.toJSON = function() {
return t.map(this.models, function(t) {
return t.toJSON()
})
}
,
n.prototype.each = function() {
var e;
return e = 1 <= arguments.length ? o.call(arguments, 0) : [],
e.unshift(this),
t.each.apply(t, e),
this
}
,
n
}(t.Abstract)
}
}
, function(t, e) {
var n = [].slice;
t.exports = function(t) {
return t.DomObj = function() {
function e(e) {
var n = this;
null == e && (e = []),
(t.isElement(e) || t.isWindow(e) || t.isDocument(e)) && (e = [e]),
t.each(e, function(t, e) {
return n[e] = t
}),
this.length = e.length
}
return e.prototype.first = function() {
return this.nth(0)
}
,
e.prototype.last = function() {
return this.nth(this.length - 1)
}
,
e.prototype.nth = function(e) {
var n;
return n = this[e],
new t.DomObj(n ? n : [])
}
,
e.prototype.toArray = function() {
return t.map(this, function(t) {
return t
})
}
,
e.prototype.each = function(e, n) {
return t.each.call(t, this, e, n),
this
}
,
e
}(),
t.each(["html", "remove", "empty", "setStyle", "setStyleAttr", "on", "off", "trigger", "addClass", "removeClass", "hasClass"], function(e) {
return t.DomObj.prototype[e] = function() {
var i;
return i = 1 <= arguments.length ? n.call(arguments, 0) : [],
this.each(function(n) {
return i.unshift(n),
t[e].apply(t, i)
}),
this
}
}),
t.DomObj.prototype.attr = function(e, n) {
return null == n ? t.attr.call(t, this[0], e) : (this.each(function(i) {
return t.attr.call(t, i, e, n)
}),
this)
}
,
t.each(["getStyle", "offset"], function(e) {
return t.DomObj.prototype[e] = function() {
var i;
return i = 1 <= arguments.length ? n.call(arguments, 0) : [],
i.unshift(this[0]),
t[e].apply(t, i)
}
}),
t.each(["append", "prepend"], function(e) {
return t.DomObj.prototype[e] = function(n) {
return t[e](n, this[0]),
this
}
,
t.DomObj.prototype["" + e + "To"] = function(n) {
return t[e](this, n),
this
}
}),
t.each(["closest", "next", "prev"], function(e) {
return t.DomObj.prototype[e] = function() {
var i;
return i = 1 <= arguments.length ? n.call(arguments, 0) : [],
i.unshift(this[0]),
new t.DomObj(t[e].apply(t, i))
}
}),
t.each(["byId", "byClass", "byTag"], function(e) {
return t.DomObj.prototype[e] = function(n) {
var i;
return i = t.map(this, function(i) {
return t[e](n, i).toArray()
}),
new t.DomObj(t.union.apply(t, i))
}
})
}
}
, function(t, e) {
var n = {}.hasOwnProperty
, i = function(t, e) {
function i() {
this.constructor = t
}
for (var o in e)
n.call(e, o) && (t[o] = e[o]);
return i.prototype = e.prototype,
t.prototype = new i,
t.__super__ = e.prototype,
t
};
t.exports = function(t) {
return t.JSONP = function(e) {
function o(e) {
if (!(this instanceof t.JSONP))
return new t.JSONP(e);
if (null == e || null == e.url)
throw Error("Invalid url param: " + e.url);
this._ensureOptions(e),
this.send()
}
return i(o, e),
o.prototype.UNIQ_ID = 0,
o.prototype.GLOBAL = t.winObj,
o.prototype.defaults = {
timeout: 15
},
o.prototype._ensureOptions = function(e) {
return this.options = t.extend({}, this.defaults, e),
null == this.options.callback && (this.options.callback = this.uniq()),
null == this.options.data && (this.options.data = {}),
this.options.data.callback = this.options.callback,
this.options
}
,
o.prototype.send = function() {
var e, n, i, o = this;
return n = this.createScript(),
this.createCallback(),
e = this.param(this.options.data),
i = this.options.url,
"" !== e && (i += "?" + e),
this._errorHandler = function() {
return o.errorHandler("Error while trying to access the URL")
}
,
this._timeoutHandler = function() {
return o.errorHandler("Timeout error")
}
,
t.on(n, "error", this._errorHandler),
this.timer = setTimeout(this._timeoutHandler, 1e3 * this.options.timeout),
n.setAttribute("src", i),
this
}
,
o.prototype.createCallback = function() {
var t = this;
return this.GLOBAL[this.options.callback] = function(e) {
return null == e ? t.errorHandler("Invalid data returned") : t.successHandler(e)
}
,
this
}
,
o.prototype.createScript = function() {
var t, e;
return t = this.GLOBAL.document,
e = t.documentElement || t.body || t.getElementsByTagName("head")[0],
this.script = t.createElement("script"),
e.appendChild(this.script),
this.script
}
,
o.prototype.cleanGarbage = function() {
var e;
e = this.options.callback,
clearTimeout(this.timer),
t.off(this.script, "error", this._errorHandler),
this.script.parentNode.removeChild(this.script),
this.GLOBAL[e] = void 0,
this.script = void 0,
this.options = void 0;
try {
delete this.GLOBAL[e],
delete this.script,
delete this.options
} catch (n) {}
return this.trigger("cleaned"),
!0
}
,
o.prototype.uniq = function() {
return ++this.UNIQ_ID,
"jsonp_" + this.UNIQ_ID + (new Date).getTime()
}
,
o.prototype.param = function(t, e) {
var i, o, r, s;
return null == e && (e = !0),
null == t ? "" : (r = function() {
var r;
r = [];
for (i in t)
n.call(t, i) && (s = t[i],
o = e ? "" + encodeURIComponent(i) + "=" + encodeURIComponent(s) : "" + i + "=" + s,
r.push(o));
return r
}(),
r.join("&").replace(/#/g, "%23"))
}
,
o.prototype.completeHandler = function(t, e) {
return this.trigger("complete", t, e),
this.options.complete && this.options.complete(t, e),
this.cleanGarbage(),
this
}
,
o.prototype.errorHandler = function(t) {
return this.trigger("error", t),
this.options.error && this.options.error(t),
this.completeHandler("error", t)
}
,
o.prototype.successHandler = function(t) {
return this.trigger("success", t),
this.options.success && this.options.success(t),
this.completeHandler("success", t)
}
,
o
}(t.Abstract)
}
}
, function(t, e) {
var n = {}.hasOwnProperty
, i = function(t, e) {
function i() {
this.constructor = t
}
for (var o in e)
n.call(e, o) && (t[o] = e[o]);
return i.prototype = e.prototype,
t.prototype = new i,
t.__super__ = e.prototype,
t
};
t.exports = function(t) {
return t.Model = function(e) {
function n(e) {
var n;
this._previous = {},
n = this.defaults ? t.extend({}, this.defaults, e) : t.extend({}, e),
this._attributes = {},
this.set(n, {
silent: !0
})
}
return i(n, e),
n.prototype.set = function(e, n, i) {
var o;
return null == n && (n = {}),
null == i && (i = {}),
o = {},
t.isObject(e) ? (i = n,
o = e) : o[e] = n,
this._set(o, i)
}
,
n.prototype._set = function(e, n) {
var i, o, r = this;
return i = {},
o = t.reduce(e, function(t, e, n) {
return r._attributes[n] !== e && (t = !0,
i[n] = e,
r._previous[n] = r._attributes[n],
r._attributes[n] = e),
t
}, !1),
n.silent !== !0 && o && (t.each(i, function(t, e) {
return r.trigger("change:" + e, t)
}),
o && this.trigger("change", i)),
this
}
,
n.prototype.get = function(t) {
return this._attributes[t]
}
,
n.prototype.previous = function(t) {
return this._previous[t]
}
,
n.prototype.toJSON = function() {
var e;
return e = t.extend({}, this._attributes),
e.items && (e.items = t.map(e.items, function(t) {
return t.toJSON()
})),
e
}
,
n
}(t.Abstract)
}
}
, function(t, e) {
var n = {}.hasOwnProperty
, i = function(t, e) {
function i() {
this.constructor = t
}
for (var o in e)
n.call(e, o) && (t[o] = e[o]);
return i.prototype = e.prototype,
t.prototype = new i,
t.__super__ = e.prototype,
t
};
t.exports = function(t) {
return t.Transition = function(e) {
function n(e, n) {
if (null == e)
throw Error("invalid elements");
null == e.length && (e = [e]),
this.is_animating = !1,
this.elements = e,
this.options = t.extend({}, this.defaults, n)
}
return i(n, e),
n.prototype.needFallback = !t.support.transitionCss,
n.prototype.defaults = {
delay: 10,
duration: 500
},
n.prototype._valueRE = /(\-?\d+(\.\d+)?)(px|em|%|pt|ex)?/,
n.prototype.animate = function(t, e) {
return this.needFallback ? this._animateFallback(t, e) : this._animateTransition(t, e),
this
}
,
n.prototype.stop = function() {
return this.needFallback ? this._stopFallback() : this._stopTransition(),
this
}
,
n.prototype._parseValue = function(e, n) {
var i, o, r;
return "=" === (null != e ? e[1] : void 0) ? (o = "-" === rule[0] || "+" === rule[0],
e = e.substring(2)) : o = !1,
i = this._valueRE.exec(e),
i ? (e = i[1],
r = i[3] || null) : r = null,
t.isString(e) && (e = parseFloat(e)),
{
relative: o,
value: e,
type: r
}
}
,
n.prototype._parseRule = function(e, n) {
var i;
return n = t.camelCase(n),
i = this._parseValue(e, n),
{
name: n,
value: i.value,
type: i.type,
relative: i.relative
}
}
,
n.prototype._parseCssRules = function(e) {
return t.map(e, function(t, e) {
return this._parseRule(t, e)
}, this)
}
,
n.prototype._getStartRules = function(e) {
var n = this;
return t.map(this.elements, function(i) {
var o;
return o = {},
t.each(e, function(e) {
return o[e.name] = n._parseRule(t.getStyle(i, e.name), e.name)
}),
o
})
}
,
n.prototype._setRules = function(e, n, i) {
return t.each(this.elements, function(o, r) {
var s;
return s = n[r],
t.each(e, function(e) {
var n, r, a;
return r = s[e.name],
n = e.relative ? e.value * i : -(r.value - e.value) * i,
a = r.value + n,
t.setStyle(o, e.name, a + (e.type || r.type || ""))
})
}),
!0
}
,
n.prototype._stopFallback = function(t) {
if (null == t && (t = !1),
this.callback)
return this.callback(!t)
}
,
n.prototype._animateFallback = function(t, e) {
var n, i, o, r, s, a = this;
return this._stopFallback(),
this.is_animating = !0,
this.callback = function(t) {
if (clearInterval(s),
a.callback = null,
a.is_animating = !1,
a.trigger("end"),
e)
return e.call(a, t)
}
,
i = this.options,
o = new Date,
n = i.duration,
t = this._parseCssRules(t),
r = this._getStartRules(t),
s = setInterval(function() {
var e;
if (e = (new Date - o) / n,
e > 1 && (e = 1),
a._setRules(t, r, e),
1 === e)
return a._stopFallback(!0)
}, i.delay),
this.trigger("start"),
!0
}
,
n.prototype._addEvent = function() {
var e = this;
if (null == this.transitionEnd)
return this.elements.on(t.support.transitionendEvent, this.transitionEnd = function() {
return e._removeEvent(),
e._stopTransition(!0)
}
)
}
,
n.prototype._removeEvent = function() {
if (this.transitionEnd)
return this.elements.off(t.support.transitionendEvent, this.transitionEnd),
this.transitionEnd = null
}
,
n.prototype._stopTransition = function(t) {
if (null == t && (t = !1),
this.callback)
return this.callback(!t)
}
,
n.prototype._animateTransition = function(e, n) {
var i, o, r, s = this;
return this.is_animating && this._stopTransition(),
this.is_animating = !0,
i = this.options.duration / 1e3,
r = t.map(e, function(t, e) {
return "" + e + " " + i + "s linear"
}).join(", "),
this.callback = function() {
return s.callback = null,
t.each(s.elements, function(n) {
return t.each(e, function(e) {
return t.setStyle(n, e.name, t.getStyle(n, e.name))
}),
s._removeEvent(),
t.setStyle(n, {
transition: "none",
"-webkit-transition": "none"
})
}),
n && n.apply(s.elements),
s.trigger("end")
}
,
this._addEvent(),
e = this._parseCssRules(e),
o = this._getStartRules(e),
t.each(this.elements, function(e) {
return t.setStyle(e, {
transition: r,
"-webkit-transition": r
})
}),
this._setRules(e, o, 1),
this.trigger("start"),
!0
}
,
n
}(t.Abstract)
}
}
, function(t, e) {
var n = {}.hasOwnProperty
, i = function(t, e) {
function i() {
this.constructor = t
}
for (var o in e)
n.call(e, o) && (t[o] = e[o]);
return i.prototype = e.prototype,
t.prototype = new i,
t.__super__ = e.prototype,
t
};
t.exports = function(t) {
return t.View = function(e) {
function n(e) {
null == e && (e = {}),
null != e.el && (this.el = e.el instanceof t.DomObj ? e.el : t.DomObj(e.el)),
this.delegateEvents(),
this.initialize()
}
return i(n, e),
n.prototype.initialize = function() {}
,
n.prototype.destroy = function() {
return this.undelegateEvents(),
this.el.remove()
}
,
n.prototype.byId = function(t) {
return this.el.byId(t)
}
,
n.prototype.byClass = function(t) {
return this.el.byClass(t)
}
,
n.prototype._parseEvent = function(t) {
var e;
return e = t.split(" "),
{
event: e[0],
selector: e[1]
}
}
,
n.prototype.undelegateEvents = function() {
var e, n = this;
return null == this._handlers ? this : (e = this._handlers,
this._handlers = [],
t.each(e, function(e) {
var i, o;
return o = e,
i = o.event,
e = o.handler,
"mousewheel" === i ? n.el.each(function(n) {
return t.off(n.ownerDocument, i, e)
}) : n.el.off(i, e)
}),
this)
}
,
n.prototype.delegateEvents = function(e) {
var n = this;
return null == e && (e = this.events),
null == e ? this : (this._handlers = this._handlers || [],
t.each(e, function(e, i) {
var o, r, s;
return t.isString(e) && (e = n[e]),
s = n._parseEvent(i),
r = s.selector,
i = s.event,
o = r ? function(i) {
var o;
if (o = t.closest(i.target, r, i.currentTarget))
return i.target = o,
e.call(n, i)
}
: function(t) {
return e.call(n, t)
}
,
n._handlers.push({
handler: o,
event: i
}),
"mousewheel" === i ? n.el.each(function(e) {
return t.on(e.ownerDocument, i, o)
}) : n.el.on(i, o)
}),
this)
}
,
n
}(t.Abstract)
}
}
, function(t, e) {
t.exports = function(t) {
var e, n;
return e = t.docObj,
n = /([\.$?*|{}\(\)\[\]\\\/\+^])/g,
t.setCookie = function(t, e, n) {
var i, o, r, s, a;
null == n && (n = {}),
o = n.expires,
"number" == typeof o && o && (i = new Date,
i.setTime(i.getTime() + 1e3 * o),
o = n.expires = i),
o && o.toUTCString && (n.expires = o.toUTCString()),
e = encodeURIComponent(e),
a = t + "=" + e;
for (r in n)
a += "; " + r,
s = n[r],
s && (a += "=" + s);
return document.cookie = a,
this
}
,
t.getCookie = function(t) {
var e;
return e = document.cookie.match(new RegExp("(?:^|; )" + t.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, "\\$1") + "=([^;]*)")),
e ? decodeURIComponent(e[1]) : void 0
}
,
t.removeCookie = function(e) {
return t.setCookie(e, null, {
expires: -1
})
}
}
}
, function(t, e) {
t.exports = function(t) {
var e, n;
return n = t.winObj,
e = t.docObj,
t.byId = function(n, i) {
var o, r, s, a, l;
if (null == i && (i = e),
null != i.length && (i = i[0]),
this.isDocument(i))
r = i.getElementById(n),
s = r ? [r] : [];
else if (this.isFunction(i.querySelector))
s = [i.querySelector("#" + n)];
else
for (o = i.getElementsByTagName("*"),
a = 0,
l = o.length; a < l; a++)
if (r = o[a],
r.getAttribute("id") === n)
return new t.DomObj([r]);
return new t.DomObj(s)
}
,
t.byClass = function(n, i) {
var o;
return null == i && (i = e),
null == i.length && (i = [i]),
o = [],
t.each(i, function(e) {
var i, r, s, a, l, c, h, u, d, p;
if (t.isFunction(e.getElementsByClassName)) {
for (u = e.getElementsByClassName(n),
d = [],
a = 0,
c = u.length; a < c; a++)
r = u[a],
d.push(o.push(r));
return d
}
for (s = new RegExp("(^| )" + n + "( |$)"),
i = e.getElementsByTagName("*"),
p = [],
l = 0,
h = i.length; l < h; l++)
r = i[l],
s.test(r.className) ? p.push(o.push(r)) : p.push(void 0);
return p
}),
new t.DomObj(o)
}
,
t.byTag = function(n, i) {
var o;
return null == i && (i = e),
i.length || (i = [i]),
o = [],
t.each(i, function(e) {
var i, r, s, a, l;
if (t.isFunction(e.getElementsByTagName)) {
for (a = e.getElementsByTagName(n),
l = [],
r = 0,
s = a.length; r < s; r++)
i = a[r],
l.push(o.push(i));
return l
}
}),
new t.DomObj(o)
}
,
t.create = function(n) {
var i, o, r = this;
return o = e.createElement("div"),
this.isElement(n) || this.isWindow(n) || this.isDocument(n) ? new t.DomObj(null != n.length ? n : [n]) : (this.isArray(n) ? this.each(n, function(t) {
var e;
return e = r.create(t),
r.append(e, o)
}) : this.html(o, "" + n),
i = t.map(o.childNodes, function(t) {
return r.remove(t),
t
}),
new t.DomObj(i))
}
,
t.html = function(t, e) {
return null != t && (t.innerHTML = e),
t
}
,
t.remove = function(t) {
return (null != t ? t.parentNode : void 0) && t.parentNode.removeChild(t),
t
}
,
t.append = function(e, n) {
var i;
return null == e ? e : (i = null != e.length ? e : [e],
t.each(i, function(t) {
return n.appendChild(t)
}),
e)
}
,
t.prepend = function(t, e) {
var n, i, o, r;
if (null == t)
return t;
for (o = null != t.length ? t : [t],
i = e.firstChild,
r = o.length - 1; r >= 0; r += -1)
n = o[r],
i ? e.insertBefore(n, i) : (this.append([n], e),
i = n);
return t
}
,
t.empty = function(e) {
var n;
return null == e ? e : (n = t.map(e.childNodes, function(t) {
return t
}),
t.each(n, function(t) {
return this.remove(t)
}, t),
e)
}
,
t.next = function(e) {
var n;
return null == e ? null : (n = e.nextSibling,
n && t.isElement(n) ? n : null != n && n.nextSibling ? this.next(n) : null)
}
,
t.prev = function(e) {
var n;
return null == e ? null : (n = e.previousSibling,
n && t.isElement(n) ? n : null != n && n.previousSibling ? this.prev(n) : null)
}
,
t._getFilter = function(e) {
var n = this;
return e = t.trim(e),
"." === e[0] ? (e = e.substr(1),
function(t) {
return n.hasClass(t, e)
}
) : "#" === e[0] ? (e = e.substr(1),
function(t) {
return t.getAttribute("id") === e
}
) : (e = e.toLowerCase(),
function(t) {
return t.tagName.toLowerCase() === e
}
)
}
,
t.closest = function(e, n, i) {
return t.isElement(e) ? (t.isString(n) && (n = this._getFilter(n)),
n(e) ? e : e === i ? null : null != e.parentNode ? this.closest(e.parentNode, n, i) : null) : null
}
,
t.getStyle = function(n, i) {
var o, r, s, a;
if (t.isArray(i)) {
for (r = {},
s = 0,
a = i.length; s < a; s++)
o = i[s],
r[o] = t.getStyle(n, o);
return r
}
return i = this.support[i] || i,
n.style[i] ? n.style[i] : e.defaultView && e.defaultView.getComputedStyle ? e.defaultView.getComputedStyle(n, "").getPropertyValue(i) : n.currentStyle ? (i = i.replace(/\-(\w)/g, function(t, e) {
return e.toUpperCase()
}),
n.currentStyle[i]) : void 0
}
,
t._setStyle = function(e, n, i) {
var o;
return o = t.camelCase(n),
o = this.support["" + o] || o,
e.style[o] = i,
!0
}
,
t.setStyle = function(e, n, i) {
return t.isString(n) && null != i ? t._setStyle(e, n, i) : t.each(n, function(n, i) {
return t._setStyle(e, i, n)
}),
e
}
,
t.attr = function(t, e, n) {
return null != n ? (t.setAttribute(e, "" + n),
this) : t.getAttribute(e)
}
,
t.setStyleAttr = function(e, n, i) {
var o;
return o = t.map(n, function(t, e) {
return "" + e + ":" + t + (i && "display" !== e ? " !important" : "")
}).join(";"),
null != e.style.cssText ? e.style.cssText = o : e.setAttribute("style", o),
e
}
,
t.offset = function(t) {
var n, i, o, r, s, a, l, c, h;
if (h = 0,
a = 0,
t.getBoundingClientRect)
i = t.getBoundingClientRect(),
n = e.body,
s = e.documentElement,
c = window.pageYOffset || s.scrollTop || n.scrollTop,
l = window.pageXOffset || s.scrollLeft || n.scrollLeft,
r = s.clientTop || n.clientTop || 0,
o = s.clientLeft || n.clientLeft || 0,
h = i.top + c - r,
a = i.left + l - o;
else
for (; t; )
h += parseFloat(t.offsetTop, 10),
a += parseInt(t.offsetLeft, 10),
t = t.offsetParent;
return {
top: h,
left: a
}
}
,
t.hasClass = function(e, n) {
var i, o;
return null != e && (t.isFunction(null != (o = e.classList) ? o.contains : void 0) ? e.classList.contains(n) : (i = new RegExp("(^|\\s)" + n + "(\\s|$)","g"),
i.test(e.className)))
}
,
t.addClass = function(e, n) {
var i;
return null == e ? e : (t.isFunction(null != e && null != (i = e.classList) ? i.add : void 0) ? e.classList.add(n) : this.hasClass(e, n) || (e.className = t.trim(("" + e.className + " " + n).replace(/\s+/g, " "))),
e)
}
,
t.removeClass = function(e, n) {
var i, o;
return null == e ? e : (t.isFunction(null != e && null != (o = e.classList) ? o.remove : void 0) ? e.classList.remove(n) : (i = new RegExp("(^|\\s)" + n + "(\\s|$)","g"),
e.className = e.className.replace(i, "$1").replace(/\s+/g, " ").replace(/(^ | $)/g, "")),
e)
}
,
t.getScrollBarWidth = function(n) {
var i, o, r;
return n ? (i = function(i) {
var o, r;
return null == i && (i = "hidden"),
r = t.create(e.createElement("div")),
o = t.create(e.createElement("div")),
o[0].innerText = "TEXT inner: " + i,
r.setStyle({
position: "fixed",
top: "-1000px",
left: "-1000px",
width: "200px",
height: "150px",
overflow: i,
padding: "0px",
margin: "0px"
}),
o.setStyle({
width: "100%",
height: "200px",
position: "relative",
padding: "0px",
margin: "0px",
display: "block"
}),
r.append(o),
n.append ? n.append(r) : r.appendTo(n),
o
}
,
this.__scrollBarWidth || (this.__scrollBarWidth = {},
this.__scrollBarWidth.hidden = i(),
this.__scrollBarWidth.scroll = i("scroll")),
o = this.__scrollBarWidth.hidden[0].offsetWidth,
r = this.__scrollBarWidth.scroll[0].offsetWidth,
o - r) : -1
}
}
}
, function(t, e) {
var n = {}.hasOwnProperty;
t.exports = function(t) {
var e, i, o, r;
return r = t.winObj,
i = t.docObj,
o = 0,
e = function(e) {
var n;
return e = new t.Event(e,e.currentTarget || this),
n = this._widgetEvents[e.type],
t.each(n, function(t) {
var n;
if (n = t.call(this, e),
n === !1)
return e.preventDefault(),
e.stopPropagation()
})
}
,
t.on = function(n, i, r) {
return i = t.support["" + i + "Event"] || i,
n.setInterval && n !== window && !n.frameElement && (n = window),
r.guid || (r.guid = ++o),
n._widgetEvents || (n._widgetEvents = {},
n._widgetHandle = function(t) {
return e.call(n, t)
}
),
n._widgetEvents[i] || (n._widgetEvents[i] = {},
n.addEventListener ? n.addEventListener(i, n._widgetHandle, !1) : n.attachEvent ? n.attachEvent("on" + i, n._widgetHandle) : n["on" + i] = n._widgetHandle),
n._widgetEvents[i][r.guid] = r,
this
}
,
t.off = function(e, i, o) {
var r, s, a, l;
if (i = t.support["" + i + "Event"] || i,
a = e._widgetEvents && e._widgetEvents[i],
!a)
return this;
delete a[o.guid];
for (r in a)
if (n.call(a, r))
return this;
e.removeEventListener ? e.removeEventListener(i, e._widgetHandle, !1) : e.detachEvent && e.detachEvent("on" + i, e._widgetHandle),
delete e._widgetEvents[i],
l = e._widgetEvents;
for (r in l)
if (n.call(l, r))
return this;
try {
delete e._widgetHandle,
delete e._widgetEvents
} catch (c) {
s = c;
try {
e.removeAttribute("_widgetHandle"),
e.removeAttribute("_widgetEvents")
} catch (c) {
s = c,
e._widgetHandle = null,
e._widgetEvents = null
}
}
return this
}
,
t.trigger = function(t, e) {
var n;
return i.createEvent ? (n = document.createEvent("HTMLEvents"),
n.initEvent(e, !0, !0)) : (n = document.createEventObject(),
n.eventType = e),
n.eventName = e,
i.createEvent ? t.dispatchEvent(n) : t.fireEvent("on" + e, n),
this
}
,
t.domReady = function() {
var e, n, o, s, a, l, c;
if (e = [],
o = !1,
n = null,
l = function() {
return t.each(e, function(t) {
return t(i)
}),
e = []
}
,
a = function() {
if (!o)
return o = !0,
n && clearInterval(n),
l(),
t.off(r, "load", a),
t.off(i, "DOMContentLoaded", a)
}
,
i.addEventListener)
t.on(i, "DOMContentLoaded", a);
else {
c = document.createElement("div");
try {
s = null === r.frameElement
} catch (h) {}
c.doScroll && s && r.external && (n = setInterval(function() {
try {
return c.doScroll(),
a()
} catch (t) {}
}, 30))
}
return t.on(r, "load", a),
"complete" === i.readyState && (o = !0),
function(t) {
return o ? t(i) : e.push(t),
this
}
}(),
t.Event = function() {
function e(t, e) {
this.original = t || window.event,
this.ensureEvent(this.original, e)
}
return e.prototype.preventDefault = function() {
return this.original.preventDefault ? this.original.preventDefault() : this.original.returnValue = !1
}
,
e.prototype.stopPropagation = function() {
return this.original.stopPropagation ? this.original.stopPropagation() : this.original.cancelBubble = !0
}
,
e.prototype.ensureEvent = function(e, n) {
var i, o, r;
if (o = t.docObj.documentElement,
i = t.docObj.body,
n && (this.currentTarget = n),
this.type = e.type,
this.target = e.target || e.srcElement,
this.keyCode = e.keyCode,
null != e.pageX && null != e.clientX ? (r = null != (null != o ? o.scrollLeft : void 0) ? o : i,
this.pageX = e.clientX + r.scrollLeft || 0 - ((null != o ? o.clientLeft : void 0) || 0),
this.pageY = e.clientY + r.scrollTop || 0 - ((null != o ? o.clientTop : void 0) || 0)) : (this.pageX = e.pageX,
this.pageY = e.pageY),
this.delta = (e.detail || -e.wheelDelta) > 0 ? 1 : -1,
e.which || !e.button)
return this.which = e.which;
switch (e.button) {
case 1:
return this.which = 1;
case 2:
return this.which = 3;
case 4:
return this.which = 2;
default:
return this.which = 0
}
}
,
e
}()
}
}
, function(t, e) {
t.exports = function(t) {
var e, n, i, o, r, s, a, l, c, h, u;
for (l = t.winObj,
i = t.docObj,
e = i.body || i.documentElement,
r = e.style,
s = t.support = {},
a = ["Moz", "Webkit", "Khtml", "O", "ms"],
n = function(e) {
var n, i, s;
if (t.isString(r[e]))
return e;
for (n = t.camelCase(o, !1),
n = n.charAt(0).toUpperCase() + n.substr(1),
s = a.length - 1; s >= 0; s += -1)
if (i = a[s],
e = i + n,
t.isString(r[e]))
return e;
return !1
}
,
u = ["transition", "opacity", "filter", "border-radius", "box-shadow", "box-sizing", "transform"],
c = 0,
h = u.length; c < h; c++)
o = u[c],
s["" + t.camelCase(o) + "Css"] = n(o);
return s.transitionendEvent = function() {
var t;
return t = {
transition: "transitionend",
OTransition: "oTransitionEnd",
MozTransition: "transitionend",
KhtmlTransition: "webkitTransitionEnd",
WebkitTransition: "webkitTransitionEnd"
},
i.addEventListener ? t[s.transitionCss] || null : null
}(),
s.mousewheelEvent = function() {
return i.addEventListener ? void 0 !== i.wheel ? "onwheel" : void 0 !== i.onmousewheel ? "mousewheel" : "MozMousePixelScroll" : "mousewheel"
}()
}
}
, function(t, e) {
t.exports = function(t) {
return t.render = function(t, e) {
if (null == e && (e = {}),
null == this._templates)
throw Error("Templates register is empty");
if (null == this._templates[t])
throw Error("Template not found: " + t);
return this._templates[t].call(this, e)
}
,
t.defineTemplate = function(t, e) {
return null == this._templates && (this._templates = {}),
this._templates[t] = e,
this
}
}
}
, function(t, e, n) {
var i = {}.hasOwnProperty
, o = [].slice;
t.exports = function(t) {
var e, n, r, s, a, l, c, h, u, d, p, m, g, C, f, b, v, w, A, D, y, E, x, F, k;
return s = {},
f = t.winObj = window,
t.docObj = t.winObj.document,
e = f.Array.prototype,
n = f.Object.prototype,
r = f.String.prototype,
C = r.trim,
h = n.hasOwnProperty,
g = n.toString,
m = e.slice,
u = e.forEach,
d = e.indexOf,
p = e.isArray,
v = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,
E = /^[\],:{}\s]*$/,
x = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
F = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
y = /(?:^|:|,)(?:\s*\[)+/g,
c = function(t, e) {
return e.toUpperCase()
}
,
A = /^-ms-/,
w = /-([\da-z])/gi,
a = t.each = function(t, e, n) {
var o, r, s, a;
if (null == t)
return !1;
if (u && t.forEach === u)
t.forEach(e, n);
else if (t.length === +t.length)
for (o = s = 0,
a = t.length; s < a; o = ++s)
r = t[o],
e.call(n, r, o, t);
else
for (o in t)
i.call(t, o) && (r = t[o],
e.call(n, r, o, t));
return !0
}
,
b = function(t) {
var e;
for (e in t)
this[e] = t[e];
return this
}
,
l = t.extend = function() {
var t, e;
return e = arguments[0],
t = 2 <= arguments.length ? o.call(arguments, 1) : [],
a(t, b, e),
e
}
,
t.parseData = function(t) {
try {
switch (t) {
case "true" === t:
return !0;
case "false" === t:
return !1;
case "null" === t:
return null;
case t = +t + "":
return +t;
case v.test(t):
return this.parseJSON(t);
default:
return t
}
} catch (e) {}
}
,
null == C || C.call("\ufeff ") ? (k = "[\\x20\\t\\r\\n\\f]",
D = new RegExp("^" + k + "+|((?:^|[^\\\\])(?:\\\\.)*)" + k + "+$","g"),
t.trim = function(t) {
return null == t ? "" : (t + "").replace(D, "")
}
) : t.trim = function(t) {
return null == t ? "" : C.call(t)
}
,
null != f.JSON ? t.parseJSON = function(t) {
return f.JSON.parse(t)
}
: t.parseJSON = function(t) {
if (!this.isString(t))
return null;
if (t = this.trim(t),
E.test(t.replace(x, "@").replace(F, "]").replace(y, "")))
return new Function("return " + t)();
throw "Invalid JSON: " + t
}
,
a(["Arguments", "Function", "String", "Number", "Date", "RegExp"], function(e) {
return t["is" + e] = function(t) {
return g.call(t) === "[object " + e + "]"
}
}),
t.isFunction = function(t) {
return "function" == typeof t
}
,
function() {
if (!t.isArguments(arguments))
return t.isArguments = function(t) {
return !(!t || !h.call(t, "callee"))
}
}(),
t.isArray = p || function(t) {
return "[object Array]" === g.call(t)
}
,
l(t, {
redirect: function(e) {
return t.winObj.location = e,
!0
},
map: function(e, n, i) {
var o;
return t.isFunction(e.map) ? o = e.map(n, i) : (o = [],
this.each(e, function() {
return o.push(n.apply(i, arguments))
}, i)),
o
},
reduce: function(e, n, i) {
return null == i && (i = []),
t.isFunction(e.reduce) ? i = e.reduce(n, i) : this.each(e, function(t, e) {
return i = n.call(i, i, t, e)
}),
i
},
escapeAttrs: function(t, e) {
return e = null != e ? e : {
"&#13;": "\n"
},
("" + t).replace(/&/g, "&amp;").replace(/'/g, "&apos;").replace(/"/g, "&quot;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\r\n/g, e).replace(/[\r\n]/g, e)
},
union: function() {
var t, n;
return n = arguments[0],
t = 2 <= arguments.length ? o.call(arguments, 1) : [],
null != n ? e.concat.apply(n, t) : []
},
indexOf: function(t, e) {
var n, i, o, r;
if (null == t)
return -1;
if (d && t.indexOf === d)
return t.indexOf(e);
for (n = i = 0,
r = t.length; i < r; n = ++i)
if (o = t[n],
o === e)
return n;
return -1
},
camelCase: function(t, e) {
var n;
return null == e && (e = !0),
s[t] && e ? s[t] : this.isString(t) ? (n = t.replace(A, "ms-").replace(w, c),
e && (s[t] = n),
n) : ""
},
isWindow: function(t) {
return null != t && t === t.window
},
isDocument: function(t) {
return null != t && "undefined" != typeof t.nodeType && 9 === t.nodeType
},
isObject: function(t) {
return t === Object(t)
},
isElement: function(t) {
return null != t && "undefined" != typeof t.nodeType && 1 === t.nodeType
},
isNan: function(t) {
return this.isNumber(t) && t !== +t
},
isBoolean: function(t) {
return t === !0 || t === !1
},
isNativeFunction: function(t) {
return !(!this.isFunction(t) || !this.isFunction(t.toString)) && t.toString().indexOf("[native code]") > -1
},
btoa: function(t) {
var e;
if (e = "function" == typeof window.btoa ? window.btoa(t) : void 0)
return e;
var n, i, o = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", r = String(t), s = 0;
for (e = "",
map = o; r.charAt(0 | s) || (map = "=",
s % 1); e += map.charAt(63 & n >> 8 - s % 1 * 8)) {
if (i = r.charCodeAt(s += .75),
i > 255)
throw new Error("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");
n = n << 8 | i
}
return e
},
atob: function(t) {
var e;
if (e = "function" == typeof window.atob ? window.atob(t) : void 0)
return e;
var n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
, i = String(t).replace(/=+$/, "");
if (i.length % 4 == 1)
throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");
for (var o, r, s = 0, a = 0, e = ""; r = i.charAt(a++); ~r && (o = s % 4 ? 64 * o + r : r,
s++ % 4) ? e += String.fromCharCode(255 & o >> (-2 * s & 6)) : 0)
r = n.indexOf(r);
return e
},
encodeHTML: function(t) {
var e, n;
return e = {
"&": "&#38;",
"<": "&#60;",
">": "&#62;",
'"': "&#34;",
"'": "&#39;",
"/": "&#47;"
},
n = /&(?!#?\w+;)|<|>|"|'|\//g,
t ? t.toString().replace(n, function(t) {
return e[t] || t
}) : ""
}
})
}
}
, function(t, e) {
t.exports = function() {
var t = function(t) {
var e = ".column .content{overflow-y:" + (t.scrollBarWidth <= 0 ? "scroll" : "hidden") + "}.column .content .header,.column .content .body{padding-right:40px}.column .content.scrolled:hover .header,.column .content.scrolled:hover .body{padding-right:" + Math.max(40 - t.scrollBarWidth, 0) + "px}";
return e
};
return t.render = t,
t
}()
}
, function(t, e) {
t.exports = function() {
var t = function(t) {
var e = '*{margin:0;padding:0;border:0;font-weight:normal;font-style:normal;line-height:inherit;font-family:inherit}table,tr,th,td{border-collapse:collapse;border-spacing:0}ol,ul{list-style:none}q:before,q:after,blockquote:before,blockquote:after{content:""}html{-webkit-text-size-adjust:none;-ms-text-size-adjust:none}html,body{height:100%;background:transparent;line-height:1;margin:0;padding:0;border:0 none}body{overflow:hidden;position:relative;color:#333;font:15px/20px Verdana,"DejaVu Sans",sans-serif}* ::-webkit-input-placeholder{color:#bcbcbc}* :-moz-placeholder{color:#bcbcbc}* ::-moz-placeholder{color:#bcbcbc}* :-ms-input-placeholder{color:#bcbcbc}#underlay{background:#333333;opacity:0;position:absolute;left:0;top:0;z-index:1;width:100%;height:100%;-webkit-transition:.2s ease-in-out;-moz-transition:.2s ease-in-out;transition:.2s ease-in-out}h1{font:28px/35px Verdana,"DejaVu Sans",sans-serif}h2{font:18px/25px Verdana,"DejaVu Sans",sans-serif}h3{font:16px/22px Verdana,"DejaVu Sans",sans-serif}h4{font:13px/15px Verdana,"DejaVu Sans",sans-serif}h1,h2,h3,p{margin:0 0 20px 0}#main{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;min-width:300px;z-index:10}#message{position:relative;z-index:2;clear:both}#message .messageColumn{height:30px;background:#d1351a;color:#fff;cursor:pointer;overflow:hidden;text-align:left}#message .messageColumn:hover{background:#9D2A23}#message .messageColumn:hover .msg-helper{background-color:#d1351a}#message .messageColumn .content{position:relative;overflow:hidden;white-space:nowrap;font-size:13px;line-height:13px;height:13px;top:8px;text-indent:100%}#message .messageColumn .msg-helper{float:left;height:30px;background:#9d2a23;color:#fff;padding:0 15px;line-height:30px;text-indent:0;font-size:13px}#message .messageColumn .msg-helper--audio{background:#9d2a23 url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%20standalone%3D%22no%22%3F%3E%0A%3Csvg%0A%20%20%20xmlns%3Adc%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%22%0A%20%20%20xmlns%3Acc%3D%22http%3A%2F%2Fcreativecommons.org%2Fns%23%22%0A%20%20%20xmlns%3Ardf%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%22%0A%20%20%20xmlns%3Asvg%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20%20height%3D%22100%25%22%0A%20%20%20width%3D%22100%25%22%0A%20%20%20version%3D%221.1%22%0A%20%20%20id%3D%22svg2%22%0A%20%20%20viewBox%3D%220%20-256%201792%201792%22%3E%0A%20%20%3Cmetadata%0A%20%20%20%20%20id%3D%22metadata12%22%3E%0A%20%20%20%20%3Crdf%3ARDF%3E%0A%20%20%20%20%20%20%3Ccc%3AWork%0A%20%20%20%20%20%20%20%20%20rdf%3Aabout%3D%22%22%3E%0A%20%20%20%20%20%20%20%20%3Cdc%3Aformat%3Eimage%2Fsvg%2Bxml%3C%2Fdc%3Aformat%3E%0A%20%20%20%20%20%20%20%20%3Cdc%3Atype%0A%20%20%20%20%20%20%20%20%20%20%20rdf%3Aresource%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Fdcmitype%2FStillImage%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3Cdc%3Atitle%3E%3C%2Fdc%3Atitle%3E%0A%20%20%20%20%20%20%3C%2Fcc%3AWork%3E%0A%20%20%20%20%3C%2Frdf%3ARDF%3E%0A%20%20%3C%2Fmetadata%3E%0A%20%20%3Cdefs%0A%20%20%20%20%20id%3D%22defs10%22%20%2F%3E%0A%20%20%3Cg%0A%20%20%20%20%20id%3D%22g4%22%0A%20%20%20%20%20transform%3D%22matrix(1%2C0%2C0%2C-1%2C53.152542%2C1285.4237)%22%3E%0A%20%20%20%20%3Cpath%0A%20%20%20%20%20%20%20style%3D%22fill%3A%23ffffff%22%0A%20%20%20%20%20%20%20id%3D%22path6%22%0A%20%20%20%20%20%20%20d%3D%22M%20768%2C1184%20V%2096%20Q%20768%2C70%20749%2C51%20730%2C32%20704%2C32%20678%2C32%20659%2C51%20L%20326%2C384%20H%2064%20Q%2038%2C384%2019%2C403%200%2C422%200%2C448%20v%20384%20q%200%2C26%2019%2C45%2019%2C19%2045%2C19%20h%20262%20l%20333%2C333%20q%2019%2C19%2045%2C19%2026%2C0%2045%2C-19%2019%2C-19%2019%2C-45%20z%20m%20384%2C-544%20q%200%2C-76%20-42.5%2C-141.5%20Q%201067%2C433%20997%2C405%20q%20-10%2C-5%20-25%2C-5%20-26%2C0%20-45%2C18.5%20-19%2C18.5%20-19%2C45.5%200%2C21%2012%2C35.5%2012%2C14.5%2029%2C25%2017%2C10.5%2034%2C23%2017%2C12.5%2029%2C35.5%2012%2C23%2012%2C57%200%2C34%20-12%2C57%20-12%2C23%20-29%2C35.5%20-17%2C12.5%20-34%2C23%20-17%2C10.5%20-29%2C25%20-12%2C14.5%20-12%2C35.5%200%2C27%2019%2C45.5%2019%2C18.5%2045%2C18.5%2015%2C0%2025%2C-5%2070%2C-27%20112.5%2C-93%2042.5%2C-66%2042.5%2C-142%20z%20m%20256%2C0%20Q%201408%2C487%201323%2C357.5%201238%2C228%201098%2C169%20q%20-13%2C-5%20-25%2C-5%20-27%2C0%20-46%2C19%20-19%2C19%20-19%2C45%200%2C39%2039%2C59%2056%2C29%2076%2C44%2074%2C54%20115.5%2C135.5%2041.5%2C81.5%2041.5%2C173.5%200%2C92%20-41.5%2C173.5%20Q%201197%2C895%201123%2C949%20q%20-20%2C15%20-76%2C44%20-39%2C20%20-39%2C59%200%2C26%2019%2C45%2019%2C19%2045%2C19%2013%2C0%2026%2C-5%20140%2C-59%20225%2C-188.5%2085%2C-129.5%2085%2C-282.5%20z%20m%20256%2C0%20Q%201664%2C410%201537%2C217.5%201410%2C25%201199%2C-66%20q%20-13%2C-5%20-26%2C-5%20-26%2C0%20-45%2C19%20-19%2C19%20-19%2C45%200%2C36%2039%2C59%207%2C4%2022.5%2C10.5%2015.5%2C6.5%2022.5%2C10.5%2046%2C25%2082%2C51%20123%2C91%20192%2C227%2069%2C136%2069%2C289%200%2C153%20-69%2C289%20-69%2C136%20-192%2C227%20-36%2C26%20-82%2C51%20-7%2C4%20-22.5%2C10.5%20-15.5%2C6.5%20-22.5%2C10.5%20-39%2C23%20-39%2C59%200%2C26%2019%2C45%2019%2C19%2045%2C19%2013%2C0%2026%2C-5%20211%2C-91%20338%2C-283.5%20Q%201664%2C870%201664%2C640%20z%22%20%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A") no-repeat 15px center;background-size:16px;padding-left:35px}#message .messageColumn .msg{display:inline-block;line-height:13px;text-indent:0}#bar{z-index:1000;position:relative;border-bottom:1px solid #d3dae0;color:#4A5C6A;background:#E1E6EB;background-image:-moz-linear-gradient(top, #EDF1F5 0, #E6EBF0 45%, #E1E6EB 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #EDF1F5), color-stop(45%, #E6EBF0), color-stop(100%, #E1E6EB));background-image:-webkit-linear-gradient(top, #EDF1F5 0, #E6EBF0 45%, #E1E6EB 100%);background-image:-o-linear-gradient(top, #EDF1F5 0, #E6EBF0 45%, #E1E6EB 100%);background-image:-ms-linear-gradient(top, #EDF1F5 0, #E6EBF0 45%, #E1E6EB 100%);background-image:linear-gradient(to bottom, #EDF1F5 0, #E6EBF0 55%, #E1E6EB 100%)}#bar:after{display:block;clear:both;content:""}#bar .centerColumn .content,#bar .leftColumn .content,#bar .rightColumn .content{height:49px}#bar .centerWrapper{float:left;width:100%}@media (min-width:1400px){#bar .centerWrapper{width:980px;position:relative;z-index:1500;float:none;margin:0 auto;background:#E1E6EB;background-image:-moz-linear-gradient(top, #EDF1F5 0, #E6EBF0 45%, #E1E6EB 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #EDF1F5), color-stop(45%, #E6EBF0), color-stop(100%, #E1E6EB));background-image:-webkit-linear-gradient(top, #EDF1F5 0, #E6EBF0 45%, #E1E6EB 100%);background-image:-o-linear-gradient(top, #EDF1F5 0, #E6EBF0 45%, #E1E6EB 100%);background-image:-ms-linear-gradient(top, #EDF1F5 0, #E6EBF0 45%, #E1E6EB 100%);background-image:linear-gradient(to bottom, #EDF1F5 0, #E6EBF0 55%, #E1E6EB 100%)}}#bar .centerWrapper .centerColumn{color:white;border-style:solid;border-color:#d3dae0;border-width:0 1px;margin:0 210px 0 210px}@media (max-width:1000px){#bar .centerWrapper .centerColumn{margin:0 120px 0 49px}}@media (min-width:1400px){#bar .centerWrapper .centerColumn{margin:0 auto;max-width:978px}}#bar .centerWrapper .centerColumn #search *{outline:0 none}#bar .centerWrapper .centerColumn #search .search-input{display:block;margin:0 118px 0 39px;padding-right:10px;position:relative}#bar .centerWrapper .centerColumn #search .search-input input{width:100%;height:49px;background:transparent;border:0 none;font:15px/20px Verdana,"DejaVu Sans",sans-serif;position:relative;z-index:10}#bar .centerWrapper .centerColumn #search .search-input input#search_placeholder{position:absolute;z-index:5;color:#cccccc;left:0;top:0}@media (max-width:1000px){#bar .centerWrapper .centerColumn #search .search-input{margin-right:0}}#bar .centerWrapper .centerColumn #search .search-input .search-input-icon{display:block;width:39px;font-size:18px;color:#4F555D;text-align:center;vertical-align:middle;line-height:49px;float:left;height:49px;margin-left:-39px}#bar .centerWrapper .centerColumn #search .search-input .search-input-icon>*{display:inline-block;vertical-align:middle}#bar .centerWrapper .centerColumn #search .checkbox{display:none}#bar .centerWrapper .centerColumn #search button{float:right;margin-right:7px;margin-top:-42px;text-align:center;font-size:15px;color:#ffffff;vertical-align:middle;line-height:35px;height:35px;width:111px;background:#b5b9c0}@media (max-width:1000px){#bar .centerWrapper .centerColumn #search button{display:none}}#bar .centerWrapper .centerColumn #search.focus{cursor:default;background-color:#FFFFFF}#bar .centerWrapper .centerColumn #search.focus .search-input{margin-right:300px}#bar .centerWrapper .centerColumn #search.focus .search-input .search-input-icon{color:#D12A18}#bar .centerWrapper .centerColumn #search.focus .checkbox{display:block;float:right;vertical-align:middle;line-height:35px;height:35px;width:180px;margin-top:-42px;margin-right:120px;font-size:11px;color:#868686}#bar .centerWrapper .centerColumn #search.focus .checkbox input{position:relative;top:2px;margin-right:3px}#bar .centerWrapper .centerColumn #search.focus button{background:#4f555d;display:block;cursor:pointer}@media (max-width:600px){#bar .centerWrapper .centerColumn #search.focus button,#bar .centerWrapper .centerColumn #search.focus .checkbox{display:none}#bar .centerWrapper .centerColumn #search.focus .search-input{margin-right:0}}#bar .centerWrapper .centerColumn #search .search-result{background:#fff;color:#000}#bar .centerWrapper .centerColumn #search .search-result ul li{margin:0;padding:5px 10px;cursor:pointer}#bar .centerWrapper .centerColumn #search .search-result ul li:hover,#bar .centerWrapper .centerColumn #search .search-result ul li.selected{background:#EDF1F5}#bar .rightColumn .content,#bar .leftColumn .content{font:11px/13px Verdana,"DejaVu Sans",sans-serif;cursor:pointer}#bar .rightColumn .content span,#bar .leftColumn .content span{display:block;padding:4px 10px 0;letter-spacing:-0.03em}#bar .leftColumn{float:left;margin-left:-100%;overflow:hidden;width:210px}#bar .leftColumn .content{background:transparent no-repeat 10px center}#bar .leftColumn .content span{display:block;padding-left:50px;padding-right:0}@media (max-width:1000px){#bar .leftColumn{width:49px}#bar .leftColumn .content{background-position:center center}#bar .leftColumn span{display:none}}#bar .rightColumn{float:left;margin-left:-210px;width:210px}#bar .rightColumn .content .alt{display:none}@media (max-width:1000px){#bar .rightColumn{width:120px;margin-left:-120px}#bar .rightColumn .content .alt{display:block;font:13px/49px Verdana,"DejaVu Sans",sans-serif;vertical-align:middle;padding:0 10px;text-align:center}#bar .rightColumn .content .main{display:none}}#bar .leftColumn:hover,#bar .rightColumn:hover,#bar #search:hover{background-color:#edf1f5;cursor:pointer}@media (min-width:1400px){#bar .leftColumn,#bar .rightColumn{position:absolute;top:0;width:40%;z-index:500;margin:0;float:none}#bar .leftColumn .content,#bar .rightColumn .content{width:210px}}@media (min-width:1400px){#bar .leftColumn{left:0}}@media (min-width:1400px){#bar .rightColumn{right:0}#bar .rightColumn .content{float:right}}.column{width:479px;overflow:hidden;height:100%;position:absolute;background:#FFFFFF;float:left;border:0 solid #646A71;border-right-width:1px;margin:0 0 0 50px;z-index:5000}@media (max-width:1000px){.column{margin-left:0}}.column .extra-head{padding:0 40px;height:70px;font-size:0;line-height:70px;vertical-align:middle;background:#4F555D no-repeat right center;color:#FFFFFF;overflow:hidden;position:relative;z-index:1}.column .extra-head .extra-head-content{vertical-align:middle;display:inline-block;margin-right:20px}.column .extra-head h2{margin:0;padding:0;line-height:25px}@media (max-width:600px){.column .extra-head h2{font-size:15px;line-height:20px}}@media (max-width:350px){.column .extra-head h2{font-size:11px;line-height:18px}}.column .extra-head h2 a{color:#FFFFFF;text-decoration:none}.column .extra-head .about-catalog{font-size:15px;line-height:70px;color:#B4BAC2;position:absolute;top:0;right:40px}@media (max-width:600px){.column .extra-head .about-catalog{font-size:11px}}.column .extra-head svg{display:none;top:50%;margin-top:-10px;right:30px;width:40px;position:absolute}.column .extra-head.show_back{cursor:pointer}.column .extra-head.show_back svg{display:block}.column .content{position:absolute;top:0;left:0;width:100%;bottom:0;overflow:hidden}.column .content.extra-head-on{top:70px}.column .content .header,.column .content .body{padding:20px 40px}.column .content.scrolled:hover{overflow-y:scroll;overflow-x:hidden}.column .content.scrolled:hover .header,.column .content.scrolled:hover .body{padding:20px 40px}.column .content .header{background:#4F555D;color:#FFFFFF}.column .content .header:after{display:block;content:"";clear:both}.column .content .body{font:13px/15px Verdana,"DejaVu Sans",sans-serif}.column .content .body a{color:#3D75DB}.column .content .body a:hover{color:#D12A18}.column .content .body .accordion dt{padding:0 20px;height:50px;vertical-align:middle;line-height:50px;background:#edf1f5;cursor:pointer;margin-top:-1px;border-style:solid;border-color:#E1E6EB;border-width:1px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column .content .body .accordion dt:hover{color:#D12A18}.column .content .body .accordion dt.open{padding-left:18px;color:#333333;cursor:default;border-left:2px solid #D12A18}.column .content .body .accordion dd{font:15px/20px Verdana,"DejaVu Sans",sans-serif;overflow:hidden;height:0;padding:0}.column .content .body .accordion dd .slide-content{padding:20px 0}.column .content .body ul{font:15px/20px Verdana,"DejaVu Sans",sans-serif}.column .content .body ul.information li{margin:10px 0}.column .content .body ul[class^="list-of"] li{display:block;cursor:pointer;padding:0 40px;margin:0 -40px;border-bottom:1px solid #ebeff2;vertical-align:middle}.column .content .body ul[class^="list-of"] li:first-child{border-top:1px solid #ebeff2}.column .content .body ul[class^="list-of"] li:hover{background-color:#edf1f5}.column .content .body ul[class^="list-of"] li:hover span.item-name{color:#D12A18}.column .content .body ul[class^="list-of"] li.current{background-color:#edf1f5;border-left:2px solid #D12A18;padding:0 40px 0 38px}.column .content .body ul[class^="list-of"] li.current span.item-name{color:#363636}.column .content .body ul[class^="list-of"] li span.item-name{color:#3D75DB}.column .content .body ul[class^="list-of"] li span.summary{font-size:13px;color:#868686}.column .content .body ul[class^="list-of-categories"] li{display:block;min-height:69px;line-height:69px;font-size:0;position:relative}.column .content .body ul[class^="list-of-categories"] li>span{display:inline-block;vertical-align:middle;font:15px/20px Verdana,"DejaVu Sans",sans-serif;margin-right:50px}.column .content .body ul[class^="list-of-categories"] li>span span{display:block}.column .content .body ul[class^="list-of-categories"] li>span[class^="item-icon-"]{margin:0;display:block;width:40px;height:100%;background:transparent no-repeat center center;background-size:40px auto;position:absolute;right:40px;top:0}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-4{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m39%2C39%200-10.5-1-1.5-14-4-8%2C0-14%2C4-1%2C1.5%200%2C10.5z%22%2F%3E%0A%3Ccircle%20cx%3D%2220%22%20cy%3D%2216%22%20r%3D%228%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20fill%3D%22%2360666d%22%3E%0A%3Cpath%20d%3D%22m25%2C32h9v2h-9z%22%2F%3E%0A%3Cpath%20d%3D%22m6%2C32h9v2h-9z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m20%2C27%200%2C11%22%2F%3E%0A%3Cellipse%20cx%3D%2220%22%20cy%3D%228%22%20rx%3D%2213%22%20ry%3D%225%22%2F%3E%0A%3C%2Fg%3E%0A%3Ccircle%20fill%3D%22%2360666d%22%20cx%3D%2220%22%20cy%3D%228%22%20r%3D%222%22%2F%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m11%2C12h18v4h-18z%22%2F%3E%0A%3Cpath%20fill%3D%22%2360666d%22%20d%3D%22m28%2C13v2h-16v-2h16m2-2h-2-16-2v2%202%202h2%2016%202v-2-2-2z%22%2F%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-6{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22M39%2C15%20%20%20c0-5.523-4.477-10-10-10c-3.967%2C0-7.384%2C2.315-9%2C5.663C18.384%2C7.315%2C14.967%2C5%2C11%2C5C5.478%2C5%2C1%2C9.477%2C1%2C15%20%20%20c0%2C2.671%2C1.054%2C5.091%2C2.76%2C6.885H3.747C10.248%2C28.731%2C20%2C39%2C20%2C39s9.752-10.269%2C16.253-17.115H36.24C37.946%2C20.091%2C39%2C17.671%2C39%2C15%20%20%20z%22%2F%3E%0A%3Cpath%20d%3D%22m28%2C17-5%2C0%200-5-6%2C0%200%2C5-5%2C0%200%2C6%205%2C0%200%2C5%206%2C0%200-5%205%2C0z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-11{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m2%2C39c-.552%2C0-1-.448-1-1v-30c0-.552%20.448-1%201-1h36c.552%2C0%201%2C.448%201%2C1v30c0%2C.552-.448%2C1-1%2C1h-36z%22%2F%3E%0A%3Cpath%20fill%3D%22%2360666d%22%20d%3D%22m38%2C8v30h-36v-30h36m0-2h-36c-1.104%2C0-2%2C.896-2%2C2v30c0%2C1.104%20.896%2C2%202%2C2h36c1.104%2C0%202-.896%202-2v-30c0-1.104-.896-2-2-2z%22%2F%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m6%2C35c-.552%2C0-1-.448-1-1v-28c0-.552%20.448-1%201-1h28c.552%2C0%201%2C.448%201%2C1v28c0%2C.552-.448%2C1-1%2C1h-28z%22%2F%3E%0A%3Cpath%20fill%3D%22%2360666d%22%20d%3D%22m34%2C6v28h-28v-28h28m0-2h-28c-1.104%2C0-2%2C.896-2%2C2v28c0%2C1.104%20.896%2C2%202%2C2h28c1.104%2C0%202-.896%202-2v-28c0-1.104-.896-2-2-2z%22%2F%3E%0A%3Cg%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cg%20fill%3D%22none%22%3E%0A%3Cpath%20d%3D%22m20%2C5%200%2C35%22%2F%3E%0A%3Cpath%20d%3D%22m8%2C14%209%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m8%2C26%209%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m8%2C20%209%2C0%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20fill%3D%22%23fff%22%3E%0A%3Cpath%20d%3D%22m23%2C14%209%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m23%2C26%209%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m23%2C20%209%2C0%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-27{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20fill%3D%22none%22%20d%3D%22m1%2C6%200%2C33%2039%2C0%22%2F%3E%0A%3Cg%20fill%3D%22%23fff%22%3E%0A%3Cpath%20d%3D%22m16%2C11h8v28h-8z%22%2F%3E%0A%3Cpath%20d%3D%22m24%2C16h8v23h-8z%22%2F%3E%0A%3Cpath%20d%3D%22m8%2C26h8v13h-8z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-29{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cg%20fill%3D%22%23fff%22%3E%0A%3Cpath%20d%3D%22m39%2C35-4.999%2C0-4.001-1-5%2C1-5-1-5%2C1-5-1-4%2C1-5%2C0%200-5%201-5-1-5%201-5-1-5%200-5%204.999%2C0%204.001%2C1%205-1%205%2C1%205-1%205%2C1%204-1%205%2C0%200%2C5-1%2C5%201%2C5-1%2C5%201%2C5z%22%2F%3E%0A%3Cpath%20d%3D%22m7%2C11h26v18h-26z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cpath%20fill%3D%22none%22%20d%3D%22m12%2C19%2014%2C5%22%2F%3E%0A%3C%2Fg%3E%0A%3Ccircle%20fill%3D%22%2360666d%22%20cx%3D%2226%22%20cy%3D%2217%22%20r%3D%222%22%2F%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-35{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Ccircle%20fill%3D%22none%22%20cx%3D%2220%22%20cy%3D%2214%22%20stroke%3D%22%2360666d%22%20r%3D%229%22%2F%3E%0A%3Cg%20fill%3D%22%23fff%22%3E%0A%3Cg%20stroke%3D%22%2360666d%22%3E%0A%3Cpath%20d%3D%22m1%2C11h38v17h-38z%22%2F%3E%0A%3Cpath%20d%3D%22m1%2C28h38v11h-38z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cpath%20stroke%3D%22%23656565%22%20d%3D%22m40%2C28-1%2C0%22%2F%3E%0A%3Cg%20stroke%3D%22%2360666d%22%3E%0A%3Cpath%20d%3D%22m12%2C31-5%2C0%200-5%205%2C0%200%2C3z%22%2F%3E%0A%3Cpath%20d%3D%22m28%2C26h5v5h-5z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-67{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m24%2C39c-.552%2C0-1-.448-1-1v-12h-3c-.552%2C0-1-.448-1-1v-13c0-.552%20.448-1%201-1h14c.466%2C0%20.87%2C.321%20.975%2C.775l3%2C13c.068%2C.297-.002%2C.609-.192%2C.848-.19%2C.238-.478%2C.377-.783%2C.377h-6v12c0%2C.552-.448%2C1-1%2C1h-6z%22%2F%3E%0A%3Cpath%20fill%3D%22%2360666d%22%20d%3D%22m34%2C12l3%2C13h-7v13h-2-2-2v-13h-4v-13h2%205%205%202m0-2h-2-5-5-2c-1.104%2C0-2%2C.896-2%2C2v13c0%2C1.104%20.896%2C2%202%2C2h2v11c0%2C1.104%20.896%2C2%202%2C2h2%202%202c1.104%2C0%202-.896%202-2v-11h5c.609%2C0%201.186-.278%201.565-.755%20.38-.477%20.521-1.101%20.384-1.695l-3-13c-.21-.907-1.018-1.55-1.949-1.55z%22%2F%3E%0A%3Cg%20fill%3D%22%23fff%22%3E%0A%3Cg%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cg%20stroke-linecap%3D%22round%22%3E%0A%3Cpath%20d%3D%22m27%2C28%200%2C10%22%2F%3E%0A%3Cpath%20d%3D%22m31%2C10-7%2C0-7%2C6%202%2C15%2016%2C0z%22%2F%3E%0A%3C%2Fg%3E%0A%3Ccircle%20cx%3D%2227%22%20cy%3D%226%22%20r%3D%225%22%2F%3E%0A%3C%2Fg%3E%0A%3Cpath%20d%3D%22m8%2C39c-.552%2C0-1-.448-1-1v-12h-4c-.552%2C0-1-.448-1-1v-12c0-.431%20.275-.813%20.684-.949l6-2%204.074-1.021c.079-.02%20.16-.03%20.242-.03s.163%2C.01%20.243%2C.03l4%2C1%206.074%2C2.021c.408%2C.137%20.683%2C.518%20.683%2C.949v12c0%2C.552-.448%2C1-1%2C1h-4v12c0%2C.552-.448%2C1-1%2C1h-10z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cpath%20fill%3D%22%2360666d%22%20d%3D%22m13%2C10l4%2C1%206%2C2v12h-5v13h-4-2-4v-13h-5v-12l6-2%204-1m0-2c-.163%2C0-.326%2C.02-.485%2C.06l-4%2C1c-.05%2C.013-.099%2C.027-.147%2C.043l-6%2C2c-.817%2C.272-1.368%2C1.036-1.368%2C1.897v12c0%2C1.104%20.896%2C2%202%2C2h3v11c0%2C1.104%20.896%2C2%202%2C2h4%202%204c1.104%2C0%202-.896%202-2v-11h3c1.104%2C0%202-.896%202-2v-12c0-.861-.551-1.625-1.368-1.897l-6-2c-.048-.016-.098-.03-.147-.043l-4-1c-.159-.04-.322-.06-.485-.06z%22%2F%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m13%2C25%200%2C13%22%2F%3E%0A%3Cpath%20d%3D%22m19%2C15%200%2C16%22%2F%3E%0A%3Cpath%20d%3D%22m7%2C15%200%2C16%22%2F%3E%0A%3Ccircle%20cx%3D%2213%22%20cy%3D%226%22%20r%3D%225%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-69{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m17%2C28c-.553%2C0-1-.448-1-1v-8h-3c-.553%2C0-1-.448-1-1v-8c0-.431%20.275-.813%20.684-.949l6-2c.102-.034%20.209-.051%20.316-.051h2c.107%2C0%20.214%2C.017%20.316%2C.051l6%2C2c.409%2C.137%20.684%2C.518%20.684%2C.949v8c0%2C.552-.447%2C1-1%2C1h-3v8c0%2C.552-.447%2C1-1%2C1h-6z%22%2F%3E%0A%3Cpath%20fill%3D%22%2360666d%22%20d%3D%22m21%2C8l6%2C2v8h-4v9h-2-2-2v-9h-4v-8l6-2h1%201m0-2h-1-1c-.215%2C0-.429%2C.035-.633%2C.103l-6%2C2c-.816%2C.272-1.367%2C1.036-1.367%2C1.897v8c0%2C1.104%20.896%2C2%202%2C2h2v7c0%2C1.104%20.896%2C2%202%2C2h2%202%202c1.104%2C0%202-.896%202-2v-7h2c1.104%2C0%202-.896%202-2v-8c0-.861-.551-1.625-1.367-1.897l-6-2c-.204-.068-.418-.103-.633-.103z%22%2F%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m20%2C18%200%2C9%22%2F%3E%0A%3Cpath%20d%3D%22m24%2C13%200%2C10%22%2F%3E%0A%3Cpath%20d%3D%22m16%2C13%200%2C10%22%2F%3E%0A%3Ccircle%20cx%3D%2220%22%20cy%3D%225%22%20r%3D%224%22%2F%3E%0A%3Cpath%20d%3D%22m10%2C31h10c1.381%2C0%202.5-1.119%202.5-2.5s-1.119-2.5-2.5-2.5h-12l-7%2C7%205%2C5%203-3h19l9.887-9.887c.583-.521%20.957-1.27%20.957-2.113%200-1.57-1.273-2.844-2.844-2.844-.845%2C0-1.594%2C.375-2.115%2C.959l-6.885%2C6.885h-6%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-70{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m1%2C29h38v4h-38z%22%2F%3E%0A%3Cpath%20d%3D%22m1%2C7h38v22h-38z%22%2F%3E%0A%3Cpath%20d%3D%22m16%2C33h8v6h-8z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20fill%3D%22%2360666d%22%3E%0A%3Cpath%20d%3D%22m13%2C38h14v2h-14z%22%2F%3E%0A%3Cpath%20d%3D%22m15%2C23h2v2h-2z%22%2F%3E%0A%3Cpath%20d%3D%22m19%2C23h2v2h-2z%22%2F%3E%0A%3Cpath%20d%3D%22m23%2C23h2v2h-2z%22%2F%3E%0A%3Cpath%20d%3D%22m27%2C23h2v2h-2z%22%2F%3E%0A%3Cpath%20d%3D%22m11%2C23h2v2h-2z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-71{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m4.885%2C18.5c0%2C5.77%203.05%2C10.814%207.615%2C13.651%204.565-2.837%207.614-7.882%207.615-13.651-.001-5.77-3.05-10.816-7.615-13.651-4.565%2C2.835-7.615%2C7.881-7.615%2C13.651z%22%2F%3E%0A%3Cpath%20d%3D%22m17.079%2C13.078c-5.245%2C5.244-7.059%2C12.604-5.487%2C19.33%206.728%2C1.572%2014.085-.242%2019.33-5.486%205.244-5.244%207.059-12.603%205.486-19.33-6.727-1.572-14.085%2C.242-19.329%2C5.486z%22%2F%3E%0A%3Cpath%20d%3D%22m31.045%2C13-26%2C26%22%2F%3E%0A%3Cpath%20d%3D%22M%2024%2C20.103%2024%2C15%22%2F%3E%0A%3Cpath%20d%3D%22m24.045%2C19%205.904%2C0%22%2F%3E%0A%3Cpath%20d%3D%22M%2017.045%2C26%2025%2C26%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-73{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cg%20fill%3D%22%23fff%22%3E%0A%3Cpath%20d%3D%22m29.834%2C14.445c-1.217-.862-4.574-2.411-4.574-2.411-2.135-1.285-1.338-4.707-1.338-4.707l-7.922%2C.013%20.604%2C4.38c0%2C0-.33-2.276%200%2C.05%20.334%2C2.355%201.352%2C4.86%203.361%2C6.18l2.68%2C1.77c.01%2C.01%20.029%2C.02%20.039%2C.03%201.221%2C.82%202.07%2C2.16%202.24%2C3.7%20.02%2C.18%20.031%2C.36%20.031%2C.55%200%2C2.83-2.301%2C5.13-5.121%2C5.13-1.57%2C0-2.98-.71-3.92-1.82l-.09-.11-.02-.03-6.49-7.66-.109-.14c-.182-.22-.41-.38-.682-.48-.18-.07-.369-.11-.58-.11-.908%2C0-1.648%2C.74-1.648%2C1.65%200%2C.09%20.01%2C.17%20.02%2C.25l.02%2C.12%20.881%2C5.93%20.059%2C.37c1%2C6.73%206.811%2C11.9%2013.83%2C11.9%207.721%2C0%2013.98-6.26%2013.98-13.98-.001-3.45-1.468-7.895-5.251-10.575z%22%2F%3E%0A%3Cpath%20d%3D%22m28%2C10-15%2C0-1-9%2017%2C0z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cpath%20fill%3D%22none%22%20d%3D%22m13%2C5%2015%2C0%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-75{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m16%2C1.43c-1.69%2C1.891-3.12%2C4.021-4.24%2C6.33-1.56-.48-3.069-1.1-4.51-1.84%202.42-2.199%205.43-3.779%208.75-4.49z%22%2F%3E%0A%3Cpath%20d%3D%22m11.76%2C7.76c-1.8%2C3.7-2.81%2C7.85-2.81%2C12.24h-7.95c0-5.58%202.41-10.59%206.24-14.08h.01c1.44%2C.74%202.95%2C1.359%204.51%2C1.84z%22%2F%3E%0A%3Cpath%20d%3D%22m11.77%2C32.23c-1.569%2C.49-3.079%2C1.109-4.52%2C1.85h-.01c-3.83-3.49-6.24-8.5-6.24-14.08h7.95c0%2C4.391%201.01%2C8.54%202.82%2C12.23z%22%2F%3E%0A%3Cpath%20d%3D%22m16%2C38.57c-3.32-.711-6.33-2.291-8.75-4.49%201.44-.74%202.95-1.359%204.52-1.85%201.11%2C2.31%202.54%2C4.45%204.23%2C6.34z%22%2F%3E%0A%3Cpath%20d%3D%22m20%2C31v8c-1.37%2C0-2.71-.15-4-.43-1.69-1.891-3.12-4.03-4.23-6.34%202.6-.8%205.36-1.23%208.23-1.23z%22%2F%3E%0A%3Cpath%20d%3D%22m20%2C1v8c-2.87%2C0-5.64-.439-8.24-1.24%201.12-2.31%202.55-4.44%204.24-6.33%201.29-.28%202.63-.43%204-.43z%22%2F%3E%0A%3Cpath%20d%3D%22m28.24%2C7.76c-2.6%2C.81-5.37%2C1.24-8.24%2C1.24v-8c1.37%2C0%202.71%2C.15%204%2C.43%201.69%2C1.89%203.12%2C4.02%204.24%2C6.33z%22%2F%3E%0A%3Cpath%20d%3D%22m28.23%2C32.23c-1.11%2C2.31-2.54%2C4.449-4.23%2C6.34-1.29%2C.28-2.63%2C.43-4%2C.43v-8c2.87%2C0%205.63%2C.43%208.23%2C1.23z%22%2F%3E%0A%3Cpath%20d%3D%22m32.75%2C34.08c-2.42%2C2.199-5.43%2C3.779-8.75%2C4.49%201.69-1.891%203.12-4.03%204.23-6.34%201.57%2C.491%203.08%2C1.11%204.52%2C1.85z%22%2F%3E%0A%3Cpath%20d%3D%22m39%2C20c0%2C5.58-2.41%2C10.59-6.24%2C14.08h-.01c-1.44-.74-2.95-1.359-4.52-1.85%201.81-3.69%202.819-7.84%202.819-12.23h7.951z%22%2F%3E%0A%3Cpath%20d%3D%22m39%2C20h-7.95c0-4.391-1.01-8.54-2.81-12.24%201.56-.48%203.069-1.1%204.51-1.84h.01c3.83%2C3.49%206.24%2C8.5%206.24%2C14.08z%22%2F%3E%0A%3Cpath%20d%3D%22m32.75%2C5.92c-1.44%2C.74-2.95%2C1.359-4.51%2C1.84-1.12-2.31-2.55-4.44-4.24-6.33%203.32%2C.711%206.33%2C2.291%208.75%2C4.49z%22%2F%3E%0A%3Cpath%20d%3D%22m31.05%2C20h-11.05v-11c2.87%2C0%205.64-.43%208.24-1.24%201.8%2C3.7%202.81%2C7.849%202.81%2C12.24z%22%2F%3E%0A%3Cpath%20d%3D%22M31.05%2C20%20%20%20%20c0%2C4.391-1.01%2C8.54-2.819%2C12.23C25.63%2C31.43%2C22.87%2C31%2C20%2C31V20H31.05z%22%2F%3E%0A%3Cpath%20d%3D%22M20%2C9v11H8.95%20%20%20%20c0-4.391%2C1.01-8.54%2C2.81-12.24C14.36%2C8.561%2C17.13%2C9%2C20%2C9z%22%2F%3E%0A%3Cpath%20d%3D%22m20%2C20v11c-2.87%2C0-5.63%2C.43-8.23%2C1.23-1.81-3.69-2.82-7.839-2.82-12.23h11.05z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-77{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m38%2C27%200%2C8-10%2C0-16%2C0-10%2C0%200-8%202-7%2032%2C0z%22%2F%3E%0A%3Cpath%20d%3D%22m36%2C20-32%2C0%207-9%2018%2C0z%22%2F%3E%0A%3Cpath%20d%3D%22m33%2C35h5v4h-5z%22%2F%3E%0A%3Cpath%20d%3D%22m2%2C35h5v4h-5z%22%2F%3E%0A%3Cpath%20d%3D%22m40%2C20-4%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m4%2C20-4%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m12%2C26h16v9h-16z%22%2F%3E%0A%3Cpath%20d%3D%22m28%2C26h6v4h-6z%22%2F%3E%0A%3Cpath%20d%3D%22m6%2C26h6v4h-6z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-81{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cg%20fill%3D%22%23fff%22%3E%0A%3Cpath%20d%3D%22M%201%2C7.028%20H32.972%20V39%20H1%20z%22%2F%3E%0A%3Cpath%20d%3D%22m5%2C5h30v30h-30z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20fill%3D%22none%22%3E%0A%3Cpath%20d%3D%22m5%2C14%2031%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m16%2C5%200%2C9%22%2F%3E%0A%3Cpath%20d%3D%22m16%2C14-5%2C21%22%2F%3E%0A%3Cpath%20d%3D%22m17%2C10%2018%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m28%2C34%200-29%22%2F%3E%0A%3Cpath%20d%3D%22m15%2C20%2020%2C6%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-83{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22M39%2C5v26%20%20%20c0%2C2.21-1.79%2C4-4%2C4H7l0.4-0.811l0.01-0.01L9%2C31V5H39z%22%2F%3E%0A%3Cpath%20d%3D%22m26%2C11h7v8h-7z%22%2F%3E%0A%3Cpath%20d%3D%22m13%2C19%2010%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m13%2C15%2010%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m13%2C11%2010%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m13%2C24%2021%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m13%2C29%2021%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m1%2C14v17c0%2C2.21%201.79%2C4%204%2C4%20.9%2C0%201.73-.3%202.4-.811%20.97-.718%201.6-1.878%201.6-3.189v-13.6-3.4h-8z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-84{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cg%20stroke-linejoin%3D%22round%22%3E%0A%3Cpath%20d%3D%22m34%2C11h-3v6h3c1.657%2C0%203-1.344%203-3s-1.343-3-3-3z%22%2F%3E%0A%3Cpath%20d%3D%22m6%2C11h3v6h-3c-1.657%2C0-3-1.344-3-3s1.343-3%203-3z%22%2F%3E%0A%3Cpath%20d%3D%22m10%2C3-1%2C0%200%2C10%205-6z%22%2F%3E%0A%3Cpath%20d%3D%22m30%2C3%201%2C0%200%2C10-5-6z%22%2F%3E%0A%3Cpath%20d%3D%22m28%2C29%200%2C6-16-1%200-5%201%2C0%202-5%201-5%200-12%208%2C0%200%2C12%201%2C5%202%2C5z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cpath%20stroke-linejoin%3D%22bevel%22%20d%3D%22M28.979%2C31.792%20%20%20C28.87%2C30.234%2C27.585%2C29%2C26%2C29H14c-1.585%2C0-2.87%2C1.234-2.979%2C2.792H11V36c0%2C1.656%2C1.343%2C3%2C3%2C3h12c1.657%2C0%2C3-1.344%2C3-3v-4.208%20%20%20H28.979z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20fill%3D%22%2360666d%22%3E%0A%3Ccircle%20cx%3D%2224%22%20cy%3D%2234%22%20r%3D%222%22%2F%3E%0A%3Ccircle%20cx%3D%2216%22%20cy%3D%2234%22%20r%3D%222%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m13%2C7l-4%2C3c0%2C0%200%2C4%200%2C8s3%2C11%203%2C11h1l2-5%201-5v-12h-3z%22%2F%3E%0A%3Cpath%20d%3D%22m27%2C7h-3v12l1%2C5%202%2C5h1c0%2C0%203-7%203-11%200-3%200-8%200-8l-4-3z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-86{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20fill%3D%22%23fff%22%3E%0A%3Cg%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m5%2C11h30v28h-30z%22%2F%3E%0A%3Cpath%20d%3D%22m34%2C5-28%2C0-3%2C6%2034%2C0z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cpath%20d%3D%22m26%2C7c-.552%2C0-1-.448-1-1v-4c0-.552%20.448-1%201-1h2c.552%2C0%201%2C.448%201%2C1v4c0%2C.552-.448%2C1-1%2C1h-2z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cpath%20fill%3D%22%2360666d%22%20d%3D%22m28%2C2v4h-2v-4h2m0-2h-2c-1.104%2C0-2%2C.896-2%2C2v4c0%2C1.104%20.896%2C2%202%2C2h2c1.104%2C0%202-.896%202-2v-4c0-1.104-.896-2-2-2z%22%2F%3E%0A%3Cg%20fill%3D%22none%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m11%2C24%2018%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m11%2C31%2018%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m20%2C17%200%2C22%22%2F%3E%0A%3Cpath%20d%3D%22m11%2C16h18v23h-18z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-88{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m20%2C20%208-8%206%2C21-3%2C3z%22%2F%3E%0A%3Cpath%20d%3D%22m28%2C12-8%2C8-16-11%203-3z%22%2F%3E%0A%3Cpath%20d%3D%22m10%2C26l23.963-23.963c.521-.584%201.271-.959%202.115-.959%201.57%2C0%202.844%2C1.273%202.844%2C2.844%200%2C.844-.374%2C1.592-.957%2C2.113l-23.965%2C23.965v9h-4l-2-7-7-2v-4h9z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-148{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m6%2C18.083h29v4h-29z%22%2F%3E%0A%3Cpath%20d%3D%22m5%2C11h4v18h-4z%22%2F%3E%0A%3Cpath%20d%3D%22m9%2C8h5v24h-5z%22%2F%3E%0A%3Cpath%20d%3D%22m31%2C11h4v18h-4z%22%2F%3E%0A%3Cpath%20d%3D%22m35%2C14h4v12h-4z%22%2F%3E%0A%3Cpath%20d%3D%22m1%2C14h4v12h-4z%22%2F%3E%0A%3Cpath%20d%3D%22m26%2C8h5v24h-5z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-154{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M39%2C20c0-2.271-3.994-4.245-9.882-5.264C31.18%2C9.127%2C31.466%2C4.681%2C29.5%2C3.545S23.827%2C4.882%2C20%2C9.471%20%20%20c-3.827-4.589-7.534-7.061-9.5-5.926s-1.68%2C5.582%2C0.382%2C11.19C4.994%2C15.755%2C1%2C17.729%2C1%2C20s3.994%2C4.245%2C9.882%2C5.264%20%20%20C8.82%2C30.873%2C8.534%2C35.319%2C10.5%2C36.455s5.673-1.336%2C9.5-5.926c3.827%2C4.589%2C7.534%2C7.061%2C9.5%2C5.926s1.68-5.582-0.382-11.19%20%20%20C35.006%2C24.245%2C39%2C22.271%2C39%2C20z%22%2F%3E%0A%3Cg%20fill%3D%22none%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cellipse%20cx%3D%2220%22%20cy%3D%2220%22%20rx%3D%2219%22%20ry%3D%226%22%2F%3E%0A%3Cellipse%20cx%3D%2220%22%20cy%3D%2220%22%20rx%3D%226%22%20ry%3D%2219%22%20transform%3D%22matrix(.866%20.5%20-.5%20.866%2012.6792%20-7.3204)%22%2F%3E%0A%3Cellipse%20cx%3D%2220%22%20cy%3D%2220%22%20rx%3D%226%22%20ry%3D%2219%22%20transform%3D%22matrix(-.866%20.5%20-.5%20-.866%2047.3204%2027.3208)%22%2F%3E%0A%3C%2Fg%3E%0A%3Ccircle%20fill%3D%22%2360666d%22%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%222%22%2F%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-156{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m6%2C29h28v11h-28z%22%2F%3E%0A%3Cg%20stroke%3D%22%2360666d%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m26.6%2C2.334c-1.5%2C0-2.1-1.334-4.2-1.334-1.799%2C0-2.4%2C.533-2.4%2C.533v4.999c0%2C0%20.601-.532%202.4-.532%20.78%2C0%201.392%2C.25%201.956%2C.532%20.738%2C.374%201.396%2C.8%202.245%2C.8%201.5%2C0%202.4-.666%202.4-.666v-4.666c-.001%2C0-.901%2C.334-2.401%2C.334z%22%2F%3E%0A%3Cg%20stroke-linejoin%3D%22round%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M1%2C16%2019.885%2C9%2039%2C16z%22%2F%3E%0A%3Cpath%20fill%3D%22none%22%20d%3D%22m20%2C9%200-8%22%2F%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m2%2C28v11h4v-5c0-1.104%20.896-2%202-2s2%2C.896%202%2C2v5h4v-5c0-1.104%20.896-2%202-2s2%2C.896%202%2C2v5h4v-5c0-1.104%20.896-2%202-2s2%2C.896%202%2C2v5h4v-5c0-1.104%20.896-2%202-2s2%2C.896%202%2C2v5h4v-11h-36z%22%2F%3E%0A%3Cpath%20fill%3D%22none%22%20d%3D%22m6.092%2C39%2028.273%2C0%22%2F%3E%0A%3Cg%20fill%3D%22%23fff%22%3E%0A%3Cpath%20d%3D%22m3%2C16h4v12h-4z%22%2F%3E%0A%3Cpath%20d%3D%22m33%2C16h4v12h-4z%22%2F%3E%0A%3Cpath%20d%3D%22m23%2C16h4v12h-4z%22%2F%3E%0A%3Cpath%20d%3D%22m13%2C16h4v12h-4z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-png-4{background-image:url(\'' + t.widgetUrl + "/static/img/catalog-icons/4.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-6{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/6.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-11{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/11.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-27{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/27.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-29{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/29.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-35{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/35.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-67{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/67.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-69{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/69.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-70{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/70.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-71{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/71.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-73{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/73.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-75{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/75.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-77{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/77.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-81{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/81.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-83{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/83.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-84{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/84.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-86{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/86.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-88{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/88.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-148{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/148.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-154{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/154.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-156{background-image:url('" + t.widgetUrl + '/static/img/catalog-icons/156.png\')}.column .content .body ul[class^="list-of-subcategories"] li{display:block;min-height:49px;line-height:49px;font-size:0}.column .content .body ul[class^="list-of-subcategories"] li>span{display:inline-block;vertical-align:middle;font:15px/20px Verdana,"DejaVu Sans",sans-serif;width:100%}.column .content .body ul[class^="list-of-subcategories"] li>span span{display:block}.column .content .body ul[class^="list-of-subcategories"] li>span span.summary{float:right}.column .content .body ul[class^="list-of-sites"] li{cursor:default;display:block;background:#EDF1F5;overflow:hidden;border-color:#e1e6eb}.column .content .body ul[class^="list-of-sites"] li:hover{background-color:#FFFFFF}.column .content .body ul[class^="list-of-sites"] li .icon-site_lightgrey{font:13px/15px Verdana,"DejaVu Sans",sans-serif;text-decoration:none}.column .content .body ul[class^="list-of-sites"] li .icon-site_lightgrey:hover{color:#D12A18}.column .content .body ul[class^="list-of-sites"] li>span{display:block;font:15px/20px Verdana,"DejaVu Sans",sans-serif;padding:5px 20px 5px 0;position:relative}.column .content .body ul[class^="list-of-sites"] li>span span{display:block;margin:10px 0}.column .content .body ul[class^="list-of-sites"] li>span span.toggle{display:none;position:absolute;right:40px;top:0;bottom:0;color:#3d75db;width:10px;background-repeat:no-repeat;background-position:center center;overflow:hidden}.column .content .body ul[class^="list-of-sites"] li>span span.toggle svg{position:absolute;left:-5px;top:50%;margin-top:-10px}.column .content .body ul[class^="list-of-sites"] li>span span.toggle .arrow-top{display:none}.column .content .body ul[class^="list-of-sites"] li>span span.toggle .arrow-bottom{display:inline-block}.column .content .body ul[class^="list-of-sites"] li>span.site-toggle{cursor:pointer;margin:0 -40px;padding:5px 60px 5px 40px}.column .content .body ul[class^="list-of-sites"] li>span.site-toggle .toggle{display:block}.column .content .body ul[class^="list-of-sites"] li>span.site-description{display:none;font:13px/15px Verdana,"DejaVu Sans",sans-serif;line-height:20px;border-top:1px solid #EBEFF2;margin:0 -40px;padding:20px 40px;color:#868686;cursor:auto}.column .content .body ul[class^="list-of-sites"] li>span.site-description span{margin:0}.column .content .body ul[class^="list-of-sites"] li>span.site-description .arr-down{display:block;width:0;height:0;border:15px solid transparent;border-top-color:#EBEFF2;border-bottom:0 none;position:relative;margin:0 0 -15px 0;top:-21px}.column .content .body ul[class^="list-of-sites"] li>span.site-description .arr-down i{display:block;width:0;height:0;border:14px solid transparent;border-top-color:#FFFFFF;border-bottom:0 none;position:relative;top:-15px;left:-14px}.column .content .body ul[class^="list-of-sites"] li>span.site-description .icon-outer-link{font:15px/20px Verdana,"DejaVu Sans",sans-serif;margin-bottom:0;color:#3D75DB}.column .content .body ul[class^="list-of-sites"] li>span.site-description .icon-outer-link:hover{color:#D12A18}.column .content .body ul[class^="list-of-sites"] li.open{background-color:#FFFFFF}.column .content .body ul[class^="list-of-sites"] li.open span.toggle .arrow-top{display:inline-block}.column .content .body ul[class^="list-of-sites"] li.open span.toggle .arrow-bottom{display:none}.column .content .body ul[class^="list-of-sites"] li.open .site-toggle{padding-left:38px;border-left:2px solid #D12A18}.column .content .body ul[class^="list-of-sites"] li.open .site-description{display:block}.block-close{overflow:hidden;height:100%;position:relative;float:left;width:49px;background:#e4e9ed url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cg%20fill%3D%22none%22%20stroke%3D%22%234f555d%22%20stroke-width%3D%221.5%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m1%2C1%2018%2C18%22%2F%3E%0A%3Cpath%20d%3D%22m19%2C1-18%2C18%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A") no-repeat center 20px;cursor:pointer;border:0 solid #d3dae0;border-right-width:1px;z-index:5500}.block-close:hover{background-color:#edf1f5}@media (max-width:1000px){.block-close{display:none}}.column-wrapper{width:300%;min-height:100%;height:100%}.column.hiddenColumn{position:absolute;left:-10000px;top:-10000px;opacity:0;visibility:hidden}.column [class^="icon-"]{padding-left:25px;background:transparent no-repeat left top}.column .icon-phone{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cg%20fill%3D%22%234f555d%22%3E%0A%3Cpath%20d%3D%22m7%2C7%200-4-2%2C0-2%2C0%200%2C14%202%2C0%202%2C0%200-4-2%2C0%200-6z%22%2F%3E%0A%3Cpath%20d%3D%22m8%2C3v14h9v-14h-9zm3%2C12h-1v-1h1v1zm0-2h-1v-1h1v1zm0-2h-1v-1h1v1zm2%2C4h-1v-1h1v1zm0-2h-1v-1h1v1zm0-2h-1v-1h1v1zm2%2C4h-1v-1h1v1zm0-2h-1v-1h1v1zm0-2h-1v-1h1v1zm0-3h-5v-3h5v3z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .icon-e-mail{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cpath%20fill%3D%22%234f555d%22%20d%3D%22M3%2C5v10h14V5H3z%20M10%2C12L4%2C7V6h1l5.012%2C4L15%2C6h1v1L10%2C12z%22%2F%3E%0A%3C%2Fsvg%3E%0A")}.column .icon-address{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cpath%20fill%3D%22%234f555d%22%20d%3D%22m10%2C3c-2.76%2C0-5%2C2.24-5%2C5%200%2C1.03%20.31%2C1.98%20.84%2C2.78%20.01%2C.02%204.17%2C6.22%204.17%2C6.22s4.12-6.19%204.15-6.23c.53-.8%20.84-1.75%20.84-2.77%200-2.76-2.24-5-5-5zm0%2C7c-1.104%2C0-2-.896-2-2s.896-2%202-2%202%2C.896%202%2C2-.896%2C2-2%2C2z%22%2F%3E%0A%3C%2Fsvg%3E%0A")}.column .icon-site{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cg%20fill%3D%22%234f555d%22%3E%0A%3Cpath%20d%3D%22m3%2C3h14v4h-14z%22%2F%3E%0A%3Cpath%20d%3D%22m13%2C9h4v8h-4z%22%2F%3E%0A%3Cpath%20d%3D%22m3%2C15h8v2h-8z%22%2F%3E%0A%3Cpath%20d%3D%22m3%2C12h7v2h-7z%22%2F%3E%0A%3Cpath%20d%3D%22m3%2C9h9v2h-9z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .icon-bookmark{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cg%20fill%3D%22%234f555d%22%3E%0A%3Cpath%20d%3D%22m5%2C3h10v3h-10z%22%2F%3E%0A%3Cpath%20d%3D%22m5%2C17%205-4%205%2C4%200-10-10%2C0z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .icon-home-site{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cpath%20fill%3D%22%23b4bac2%22%20d%3D%22m10.063%2C5-7.063%2C5%202%2C0%200%2C7%204%2C0%200-3%203%2C0%200%2C3%203%2C0%200-7%202%2C0z%22%2F%3E%0A%3C%2Fsvg%3E%0A")}.column .icon-outer-link{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cg%20fill%3D%22%234f555d%22%3E%0A%3Cpath%20d%3D%22m11%2C9v6h-6v-6h6m2-2h-10v10h10v-10z%22%2F%3E%0A%3Cpath%20d%3D%22m12%2C3%205%2C0%200%2C5z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .icon-site_lightgrey{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cg%20fill%3D%22%23868686%22%3E%0A%3Cpath%20d%3D%22m3%2C3h14v4h-14z%22%2F%3E%0A%3Cpath%20d%3D%22m13%2C9h4v8h-4z%22%2F%3E%0A%3Cpath%20d%3D%22m3%2C15h8v2h-8z%22%2F%3E%0A%3Cpath%20d%3D%22m3%2C12h7v2h-7z%22%2F%3E%0A%3Cpath%20d%3D%22m3%2C9h9v2h-9z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}@media (max-width:1000px){.column{position:absolute;top:0;width:100%;left:0;border:0 none}}.hiddenBlock{top:-10000px;left:-100%;visibility:hidden;opacity:0}#siteinfo{position:fixed;overflow:auto;top:49px;bottom:0;left:auto;right:-100%;width:100%;z-index:500}#siteinfo .block-close{float:right;border-width:0 0 0 1px}#siteinfo .column{float:right;right:50px;border-width:0 0 0 1px}@media (max-width:1000px){#siteinfo .column{right:0}}#siteinfo .column .responsible_org{margin-bottom:2px;color:#868686}#siteinfo .header h1{margin-bottom:0;padding-top:10px}#siteinfo .header .icon-home-site{padding-left:20px;background-position:-2px -3px;font:13px/15px Verdana,"DejaVu Sans",sans-serif;color:#B4BAC2;text-decoration:none}#siteinfo .header .icon-home-site:hover{text-decoration:underline}#full_message{position:fixed;overflow:hidden;top:49px;bottom:0;left:-100%;width:100%;z-index:500}#full_message .column{background:#d1351a}#full_message audio{max-width:100%;width:100%}#full_message .content{background:#fff;top:18px;bottom:18px;left:20px;right:20px;width:auto}@media (max-width:1000px){#full_message .content{left:0;right:0}}#full_message .content .body{padding-top:0;padding-bottom:0}#full_message .body{font-size:15px;line-height:18px}#full_message .body h2{font-size:18px;line-height:25px;text-align:center}#full_message .body .full_text{margin-bottom:20px}#full_message .body .logo{background:transparent no-repeat top center;background-size:110px auto;height:130px;margin:40px 0}#bar .leftColumn .content,#full_message .body .logo{background-image:url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generator%3A%20Adobe%20Illustrator%2016.0.0%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%206.00%20Build%200)%20%20--%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20width%3D%2229px%22%20height%3D%2234px%22%20viewBox%3D%22-485.005%20517.5%2029%2034%22%20enable-background%3D%22new%20-485.005%20517.5%2029%2034%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cg%3E%0A%09%0A%09%09%3CradialGradient%20id%3D%22SVGID_1_%22%20cx%3D%22-892.0098%22%20cy%3D%22517.1348%22%20r%3D%2215.1938%22%20gradientTransform%3D%22matrix(1%200%200%203%20421.5%20-1017.1035)%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%0A%09%09%3Cstop%20%20offset%3D%220%22%20style%3D%22stop-color%3A%23DA461F%22%2F%3E%0A%09%09%3Cstop%20%20offset%3D%221%22%20style%3D%22stop-color%3A%23D02617%22%2F%3E%0A%09%3C%2FradialGradient%3E%0A%09%3Cpath%20fill%3D%22url(%23SVGID_1_)%22%20d%3D%22M-470.527%2C550.604c-0.5-0.678-1.47-1.605-3.041-1.605l-7.729%2C0.004c-0.333%2C0-1.19-0.027-1.957-0.289%0A%09%09c-1.251-0.426-1.251-1.141-1.251-1.373V518h27.99l-0.008%2C29.035c0%2C1.869-2.309%2C1.963-2.771%2C1.963h-8.274%0A%09%09C-468.929%2C548.998-469.965%2C549.939-470.527%2C550.604L-470.527%2C550.604z%22%2F%3E%0A%09%3Cpath%20fill%3D%22%23BE2B1E%22%20d%3D%22M-457.015%2C518.5c-0.002%2C5.088-0.008%2C27.889-0.008%2C28.535c0%2C1.391-1.887%2C1.463-2.295%2C1.463%0A%09%09c-0.002%2C0-0.002%2C0-0.002%2C0h-8.25c-1.264%2C0-2.271%2C0.697-2.938%2C1.354c-0.626-0.668-1.621-1.354-3.061-1.354h-7.621l-0.108%2C0.002%0A%09%09c-0.11%2C0-2.708-0.014-2.708-1.162V518.5H-457.015%20M-456.015%2C517.5h-28.99c0%2C0%2C0%2C28.527%2C0%2C29.838c0%2C2.043%2C3.007%2C2.162%2C3.708%2C2.162%0A%09%09c0.093%2C0%2C0.146-0.002%2C0.146-0.002s4.497%2C0%2C7.583%2C0c2.123%2C0%2C3%2C2.002%2C3%2C2.002s1.204-2.002%2C3-2.002c2.401%2C0%2C8.25%2C0%2C8.25%2C0%0A%09%09s0.008%2C0%2C0.025%2C0c0.313%2C0%2C3.271-0.063%2C3.271-2.463C-456.021%2C546.307-456.015%2C517.5-456.015%2C517.5L-456.015%2C517.5z%22%2F%3E%0A%09%3Cg%3E%0A%09%09%3Cpath%20fill%3D%22%23B8361B%22%20d%3D%22M-469.005%2C521.5v1l-1-2h-1l-1%2C2v-1h-1v1l1%2C1v1l1%2C1v14l-1%2C1v3l1%2C1v2h-1v1h1v1h1v-1h1v-1h-1v-2l1-1v-3l-1-1%0A%09%09%09v-14l1-1v-1l1-1v-1H-469.005z%22%2F%3E%0A%09%09%3Cpath%20fill%3D%22%23B8361B%22%20d%3D%22M-461.979%2C540.693c-0.396%2C0-0.851%2C0.125-1.183%2C0.289l-0.231-0.229l0%2C0c0%2C0%2C0.752-0.953%2C2.83-1.785%0A%09%09%09c-0.24-0.521-0.252-0.529-0.252-0.529s-1.215%2C0.184-2.795%2C0.836c-0.168%2C0.063-0.856%2C0.264-1.123%2C0.121%0A%09%09%09c0.01-0.025%2C0.021-0.049%2C0.025-0.072l-0.052%2C0.055c-0.011-0.008-0.021-0.012-0.027-0.02c-0.071-0.072-4.868-4.844-4.868-4.844%0A%09%09%09l6.211-6.473c0%2C0%2C0.909-0.803%2C1.564-0.754c0.654%2C0.051%2C0.951%2C0.252%2C0.951%2C0.252s0.002%2C0.641-0.645%2C1.229%0A%09%09%09c-0.135-0.264-0.168-0.309-0.168-0.309s-1.254%2C1.652-1.648%2C1.924l0%2C0c0.8-0.236%2C1.756-0.533%2C2.601-1.143%0A%09%09%09c-0.315-0.125-0.362-0.141-0.362-0.141s0.541-0.543%2C0.728-0.809l0%2C0c0.106%2C0.342%2C0.13%2C1.158-0.503%2C1.791l0%2C0%0A%09%09%09c-0.1-0.133-0.225-0.313-0.225-0.313s-0.979%2C1.428-1.649%2C2.063l0%2C0c0.719-0.162%2C1.687-0.521%2C2.739-1.311%0A%09%09%09c-0.43-0.066-0.477-0.082-0.477-0.082s0.979-0.947%2C0.979-2.287c0-0.75-0.782-1.309-0.782-1.309s-0.372-0.582-1.229-0.586%0A%09%09%09c-0.688%2C0-0.896%2C0.223-0.896%2C0.223s0.349-1.229%2C0.083-1.672c-0.362-0.607-0.896-0.641-0.896-0.641l0%2C0%0A%09%09%09c0%2C0-0.455-0.613-1.537-0.613c-1.084%2C0-1.957%2C0.977-1.957%2C0.977l-0.141-0.195c0%2C0-0.464%2C0.443-0.922%2C2.424%0A%09%09%09c0.521-0.549%2C1.068-1.154%2C1.816-1.645c-0.33-0.146-0.334-0.139-0.334-0.139s0.572-0.725%2C1.371-0.725%0A%09%09%09c0.158%2C0%2C0.477%2C0.08%2C0.477%2C0.08s-0.376%2C0.217-0.786%2C0.811c-0.187-0.268-0.196-0.277-0.196-0.277s-0.668%2C0.818-0.979%2C2.535l0%2C0%0A%09%09%09c0.484-0.447%2C1.419-1.244%2C2.041-1.643c-0.48-0.168-0.503-0.168-0.503-0.168s0.514-0.686%2C1.034-0.67%0A%09%09%09c0.185%2C0.006%2C0.437%2C0.109%2C0.496%2C0.383c0.059%2C0.27%2C0.109%2C1.057-0.383%2C1.625c-0.141%2C0.16-6.688%2C6.779-6.688%2C6.779l-7.906-7.867%0A%09%09%09c0%2C0-0.224-0.451%2C0.196-0.727c0.42-0.271%2C0.779-0.469%2C1.482-0.334c0.527%2C0.102%2C0.846%2C0.285%2C0.972%2C0.371l-0.274%2C0.408l0%2C0%0A%09%09%09c0%2C0%2C1.139%2C0.387%2C2.237%2C1.197c-0.286-0.76-0.83-1.809-1.398-2.453l0%2C0l-0.276%2C0.414c-0.233-0.18-0.829-0.578-1.597-0.635%0A%09%09%09c-0.536%2C0-1.274%2C0.111-2.069%2C0.111s-1.761-0.195-1.761-0.195s0.196%2C0.822%2C0.196%2C1.449c0%2C0.625-0.191%2C1.959-0.084%2C2.48%0A%09%09%09c0.115%2C0.66%2C0.418%2C1.145%2C0.551%2C1.336l-0.316%2C0.25c-0.004%2C0-0.008%2C0.002-0.012%2C0.002c0.001%2C0%2C0.002-0.018%2C0.003-0.016l-0.01-0.008%0A%09%09%09h0.02c0.128%2C0%2C0.965%2C0.9%2C2.365%2C1.482c-0.285-0.422-0.956-1.436-1.314-2.305l-0.363%2C0.291c-0.092-0.182-0.267-0.584-0.281-1.039%0A%09%09%09c-0.018-0.615%2C0.235-1.117%2C0.419-1.334c0.184-0.219%2C0.325-0.303%2C0.503-0.279c0.172%2C0.021%2C7.909%2C8.211%2C7.909%2C8.211l-6.369%2C6.42%0A%09%09%09c0%2C0-0.704-0.254-1.099-0.254c-1.38%2C0-2.499%2C1.119-2.499%2C2.5c0%2C1.379%2C1.119%2C2.498%2C2.499%2C2.498c1.38%2C0%2C2.499-1.119%2C2.499-2.498%0A%09%09%09c0-0.521-0.434-1.406-0.434-1.406l-0.004-0.004l6.216-6.402l4.813%2C4.93c0%2C0%2C0.002%2C0.002%2C0.004%2C0.008l-0.052%2C0.053%0A%09%09%09c0%2C0%2C0.022-0.014%2C0.062-0.039c0.033%2C0.066%2C0.123%2C0.256%2C0.098%2C0.422c-0.031%2C0.205-0.686%2C1.834-0.949%2C2.482%0A%09%09%09c-0.265%2C0.645-0.365%2C1.143-0.365%2C1.143l0.645%2C0.223c0%2C0%2C0.332-1.295%2C1.836-2.943c0.004%2C0.008%2C0.007%2C0.014%2C0.007%2C0.014l0.013-0.012%0A%09%09%09c0.039%2C0.045%2C0.129%2C0.137%2C0.235%2C0.244c-0.229%2C0.377-0.358%2C0.818-0.358%2C1.291c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5%0A%09%09%09c1.379%2C0%2C2.498-1.119%2C2.498-2.5C-459.481%2C541.813-460.603%2C540.693-461.979%2C540.693L-461.979%2C540.693z%20M-478.743%2C544.732%0A%09%09%09c-0.85%2C0-1.539-0.689-1.539-1.539s0.689-1.539%2C1.539-1.539c0.147%2C0%2C0.29%2C0.021%2C0.425%2C0.059c-0.02%2C0.146-0.016%2C0.418%2C0.207%2C0.641%0A%09%09%09c0.303%2C0.303%2C0.69%2C0.158%2C0.739%2C0.139c0.108%2C0.209%2C0.169%2C0.447%2C0.169%2C0.699C-477.203%2C544.043-477.893%2C544.732-478.743%2C544.732z%0A%09%09%09%20M-461.979%2C544.732c-0.852%2C0-1.539-0.689-1.539-1.539c0-0.211%2C0.041-0.412%2C0.119-0.594c0.092%2C0.041%2C0.418%2C0.156%2C0.73-0.145%0A%09%09%09c0.296-0.283%2C0.284-0.568%2C0.221-0.729c0.163-0.063%2C0.281-0.072%2C0.469-0.072c0.85%2C0%2C1.539%2C0.689%2C1.539%2C1.539%0A%09%09%09S-461.131%2C544.732-461.979%2C544.732z%22%2F%3E%0A%09%3C%2Fg%3E%0A%09%3Cpath%20fill%3D%22%23C4E4F8%22%20d%3D%22M-461.979%2C539.693c-0.396%2C0-0.851%2C0.125-1.183%2C0.289l-0.231-0.229l0%2C0c0%2C0%2C0.752-0.953%2C2.83-1.785%0A%09%09c-0.24-0.521-0.252-0.529-0.252-0.529s-1.215%2C0.184-2.795%2C0.836c-0.168%2C0.063-0.856%2C0.264-1.123%2C0.121%0A%09%09c0.01-0.025%2C0.021-0.049%2C0.025-0.072l-0.052%2C0.055c-0.011-0.008-0.021-0.012-0.027-0.02c-0.071-0.072-4.868-4.844-4.868-4.844%0A%09%09l6.211-6.473c0%2C0%2C0.909-0.803%2C1.564-0.754c0.654%2C0.051%2C0.951%2C0.252%2C0.951%2C0.252s0.002%2C0.641-0.645%2C1.229%0A%09%09c-0.135-0.264-0.168-0.309-0.168-0.309s-1.254%2C1.652-1.648%2C1.924l0%2C0c0.8-0.236%2C1.756-0.533%2C2.601-1.143%0A%09%09c-0.315-0.125-0.362-0.141-0.362-0.141s0.541-0.543%2C0.728-0.809l0%2C0c0.106%2C0.342%2C0.13%2C1.158-0.503%2C1.791l0%2C0%0A%09%09c-0.1-0.133-0.225-0.313-0.225-0.313s-0.979%2C1.428-1.649%2C2.063l0%2C0c0.719-0.162%2C1.687-0.521%2C2.739-1.311%0A%09%09c-0.43-0.066-0.477-0.082-0.477-0.082s0.979-0.947%2C0.979-2.287c0-0.75-0.782-1.309-0.782-1.309s-0.372-0.582-1.229-0.586%0A%09%09c-0.688%2C0-0.896%2C0.223-0.896%2C0.223s0.349-1.229%2C0.083-1.672c-0.362-0.607-0.896-0.641-0.896-0.641l0%2C0c0%2C0-0.455-0.613-1.537-0.613%0A%09%09c-1.084%2C0-1.957%2C0.977-1.957%2C0.977l-0.141-0.195c0%2C0-0.464%2C0.443-0.922%2C2.424c0.521-0.549%2C1.068-1.154%2C1.816-1.645%0A%09%09c-0.33-0.146-0.334-0.139-0.334-0.139s0.572-0.725%2C1.371-0.725c0.158%2C0%2C0.477%2C0.08%2C0.477%2C0.08s-0.376%2C0.217-0.786%2C0.811%0A%09%09c-0.187-0.268-0.196-0.277-0.196-0.277s-0.668%2C0.818-0.979%2C2.535l0%2C0c0.484-0.447%2C1.419-1.244%2C2.041-1.643%0A%09%09c-0.48-0.168-0.503-0.168-0.503-0.168s0.514-0.686%2C1.034-0.67c0.185%2C0.006%2C0.437%2C0.109%2C0.496%2C0.383%0A%09%09c0.059%2C0.27%2C0.109%2C1.057-0.383%2C1.625c-0.141%2C0.16-6.688%2C6.779-6.688%2C6.779l-7.906-7.867c0%2C0-0.224-0.451%2C0.196-0.727%0A%09%09c0.42-0.271%2C0.779-0.469%2C1.482-0.334c0.527%2C0.102%2C0.846%2C0.285%2C0.972%2C0.371l-0.274%2C0.408l0%2C0c0%2C0%2C1.139%2C0.387%2C2.237%2C1.197%0A%09%09c-0.286-0.76-0.83-1.809-1.398-2.453l0%2C0l-0.276%2C0.414c-0.233-0.18-0.829-0.578-1.597-0.635c-0.536%2C0-1.274%2C0.111-2.069%2C0.111%0A%09%09s-1.761-0.195-1.761-0.195s0.196%2C0.822%2C0.196%2C1.449c0%2C0.625-0.191%2C1.959-0.084%2C2.48c0.115%2C0.66%2C0.418%2C1.145%2C0.551%2C1.336%0A%09%09l-0.316%2C0.25c-0.004%2C0-0.008%2C0.002-0.012%2C0.002c0.001%2C0%2C0.002-0.018%2C0.003-0.016l-0.01-0.008h0.02c0.128%2C0%2C0.965%2C0.9%2C2.365%2C1.482%0A%09%09c-0.285-0.422-0.956-1.436-1.314-2.305l-0.363%2C0.291c-0.092-0.182-0.267-0.584-0.281-1.039c-0.018-0.615%2C0.235-1.117%2C0.419-1.334%0A%09%09c0.184-0.219%2C0.325-0.303%2C0.503-0.279c0.172%2C0.021%2C7.909%2C8.211%2C7.909%2C8.211l-6.369%2C6.42c0%2C0-0.704-0.254-1.099-0.254%0A%09%09c-1.38%2C0-2.499%2C1.119-2.499%2C2.5c0%2C1.379%2C1.119%2C2.498%2C2.499%2C2.498c1.38%2C0%2C2.499-1.119%2C2.499-2.498c0-0.521-0.434-1.406-0.434-1.406%0A%09%09l-0.004-0.004l6.216-6.402l4.813%2C4.93c0%2C0%2C0.002%2C0.002%2C0.004%2C0.008l-0.052%2C0.053c0%2C0%2C0.022-0.014%2C0.062-0.039%0A%09%09c0.033%2C0.066%2C0.123%2C0.256%2C0.098%2C0.422c-0.031%2C0.205-0.686%2C1.834-0.949%2C2.482c-0.265%2C0.645-0.365%2C1.143-0.365%2C1.143l0.645%2C0.223%0A%09%09c0%2C0%2C0.332-1.295%2C1.836-2.943c0.004%2C0.008%2C0.007%2C0.014%2C0.007%2C0.014l0.013-0.012c0.039%2C0.045%2C0.129%2C0.137%2C0.235%2C0.244%0A%09%09c-0.229%2C0.377-0.358%2C0.818-0.358%2C1.291c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5c1.379%2C0%2C2.498-1.119%2C2.498-2.5%0A%09%09C-459.481%2C540.813-460.603%2C539.693-461.979%2C539.693L-461.979%2C539.693z%20M-478.743%2C543.732c-0.85%2C0-1.539-0.689-1.539-1.539%0A%09%09s0.689-1.539%2C1.539-1.539c0.147%2C0%2C0.29%2C0.021%2C0.425%2C0.059c-0.02%2C0.146-0.016%2C0.418%2C0.207%2C0.641c0.303%2C0.303%2C0.69%2C0.158%2C0.739%2C0.139%0A%09%09c0.108%2C0.209%2C0.169%2C0.447%2C0.169%2C0.699C-477.203%2C543.043-477.893%2C543.732-478.743%2C543.732z%20M-461.979%2C543.732%0A%09%09c-0.852%2C0-1.539-0.689-1.539-1.539c0-0.211%2C0.041-0.412%2C0.119-0.594c0.092%2C0.041%2C0.418%2C0.156%2C0.73-0.145%0A%09%09c0.296-0.283%2C0.284-0.568%2C0.221-0.729c0.163-0.063%2C0.281-0.072%2C0.469-0.072c0.85%2C0%2C1.539%2C0.689%2C1.539%2C1.539%0A%09%09S-461.131%2C543.732-461.979%2C543.732z%22%2F%3E%0A%09%3Cpath%20fill%3D%22%23D9D59F%22%20d%3D%22M-469.005%2C520.5v2l-1-3h-1l-1%2C3v-2h-1v1l1%2C1v1l1%2C0.949v5l-1%2C1.051v2v1l1%2C2v3l-1%2C2l1%2C3v2h-1v1h1v1h1v-1h1v-1%0A%09%09h-1v-2l1-3l-1-2v-3l1-2v-1v-2l-1-1v-5l1-1v-1l1-1v-1H-469.005z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}#catalog{position:fixed;overflow:hidden;top:49px;bottom:0;left:-100%;width:100%;z-index:500}#catalog .content .body{padding-top:0;padding-bottom:0}#catalog .catalog-header .extra-head-content{margin-right:0;width:100%}#catalog .catalog-header .extra-head-content h2{margin-right:100px}@media (max-width:600px){#catalog .catalog-header .extra-head-content h2{margin-right:80px}}@media (max-width:350px){#catalog .catalog-header .extra-head-content h2{margin-right:70px}}#full_message-toggle{display:none}@media (max-width:1000px){.view-catalog #bar .leftColumn .content,.view-full_message #bar .leftColumn .content{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cg%20fill%3D%22none%22%20stroke%3D%22%234f555d%22%20stroke-width%3D%221.5%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m1%2C1%2018%2C18%22%2F%3E%0A%3Cpath%20d%3D%22m19%2C1-18%2C18%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}}@media (max-width:1000px){.view-full_message #catalog-toggle{display:none}.view-full_message #full_message-toggle{display:block}}@media (max-width:1000px){.view-siteinfo #bar .centerWrapper .centerColumn{margin-right:50px}.view-siteinfo #bar .rightColumn{width:50px;margin-left:-50px}.view-siteinfo #bar .rightColumn .content{background:url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cg%20fill%3D%22none%22%20stroke%3D%22%234f555d%22%20stroke-width%3D%221.5%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m1%2C1%2018%2C18%22%2F%3E%0A%3Cpath%20d%3D%22m19%2C1-18%2C18%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center}.view-siteinfo #bar .rightColumn .content span{display:none}}.lt-ie9 #full_message .body .logo,.lt-ie9 #bar .leftColumn .content{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAiCAYAAACjv9J3AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTQtMDQtMjVUMTc6MzI6MDcrMDQ6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE0LTA0LTI1VDE3OjMyOjE1KzA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE0LTA0LTI1VDE3OjMyOjE1KzA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowM0E3NEFBOENDN0UxMUUzQUY4MEJGMThBQjcwMjdDNCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowM0E3NEFBOUNDN0UxMUUzQUY4MEJGMThBQjcwMjdDNCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjAzQTc0QUE2Q0M3RTExRTNBRjgwQkYxOEFCNzAyN0M0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAzQTc0QUE3Q0M3RTExRTNBRjgwQkYxOEFCNzAyN0M0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+6aGqrwAABt9JREFUeNq8V31sHcUR/+3enX1+z8bfdj5qh4SElJCqVUhjJGgVDCmBtkJtBcItFU0VRBFqaWuahABJyAeqTEtEEwHBf5TEkRDQQpQ/UpCdAGlLE1LUggxVIKLBcUMxcfD7vs9dZu/O9p1jp1igrt69eTdvZ34zu7Mzs+zQpa0S/+ehq69a3wZjDIzTC49RhoAP9c5CXkDVa0TlqMmKChlRxZfhf8STIqRCMHzMjUBdqJPFnjiPh5TzEFM92txZ0Lu3gM9vgRbjcz5BJrJ1XHdoIY/sTvrPJrBY9KUACUxcuTRg+0suBX9iC1jaTMyZUk80+EQ0FjciLhTRzIHD4EsWhcKXLUbupdcgLDtpewJsgs7RPY0P57oOcsELlkOmK8EzZ1DW/yqQHwl43nO94Nd/PZir1VXDeb4XaVLoXLYc1vWr4M+YA+O1PphP7wAbOTtpIPGEZfRYy7+N0s+7UPphJ5x8BnZFGiM7+mCvuDmYWquzwFs1lJfVrkOA7civ3gz7H4fhnf437NaLUbxjW0Jv3Hs+0QohBKRVhF/IQj92EPzgM7B2rkWpbSVkuRnuJXkXrMq+XmgUrta8L8F+pBP8xp9CPr8L4vWX4VTXwlu0FLLMnHpPx1Zc12Gt/Q7ksUPwNu1GKlWFmr8fhLPtx5CaHkysNcLZNXoYOGLfLlxgmrDuuxmVA8ehXdsBNm8xCmt2Iv/wPsjK6gTGOZ7KfA4NJ09A7+mC038UuQ27Yaar0MzosFmFsSAdM5U+1V4J/I3DaMh8CGfTXnjvH0fxtitQWvs9iNYFsK/+7vmil8bbR+H+4mFU02HW93bBfe8tZO9/EpI85vHjE/utzqhJ3pQ27oU7dArYfhcaaV8rHnkBLm2P+/HQ+UGNV1+A0zwb7rKrUUMphXdvgDvwLjIPPAVRXRdJsfGspKKcDMqu/z3cs0OQD92JeloZp20FnN6nYDTMhn60dwrQSEHFfwfh3tsBNxuGex0FCnt8PQGfQPbengCY3fTNUOSGawACyKx7Em6pCNH1EzRIDyBZ7+CzML56DcSf98N0nET0MpXw66WTyLuMqEO0PHgP89kw5Ux5904YM1pQV/X6mK0jw1+EIzj8B25Fk1sI86/a/tkX4ezpk6hyXaS8MP9K+m9Ylk2yp9Eom5C/6kEe/PZncCcceFcz4G3+EZr8QkKCnzqBZtdDWvzPNDj1UAobmQPx69sSfK/rDjSLwjmKjMnT7vRARwOnqZzDdcMD7/kpMsQN44p9ej3TApVlFch17kKBzQ/eC/ZMZNftgaiqm7RYfWZQWV6B7K+egDtjLvIb7wp4xa2dtNMcmfUEfEFdWMA/L1AFmFsTAlr3d6B5ZDDgN3hZuFtuhaebBNwTAif2g9Rr2nRA5Tjgum64rQthb10VABqRlEr2zcWP4GzogGeYlLl64NNRcZatQKHzd8g+2kdJf9kUoPI8Ht7TDa9lIawNP0DjB+/CUC3HonBP2YILoXJ+c2EoBK6sQWb7i8iveQx2ZhjFzm/B7//b5I1ZHNifewnsVWsp89QHS+M3txDgLWg6/Q4MLYwUb+VVgaC/cjn0N48TMHmcG8LwO/+E1vYNyJEzYHMWIr1xN9j+3cAr+xMYPOlZCoUtPbDfPga772n4F14C98Aeqjr9CKqZjJ7KVCiQTsGPeLyqFtrSdnjUNbCaBggCtvd1o3j7JniLL0+sZqJd8ecvhp8dhvHso8HZy1HnYF53C2WnCCw6EoVj/aimlkXRShFqs668Ad6RF8FP/gueY4FT4U9bJeQv/grstnak3jgyeSD5w6fBG2Yh1diCNOlKL/gyxJkPzokvBTYKHjS39CktaYe250EYQ4PQv3ARasnCCr0MxsIl8D4cmGJP1QtVmNxzjyG/4wBYbgTCdwFK5GOOKv2qdg6GhpR/dCZYEYXrbluNemra7SN/gnv5SmS7/xI0eII8L+v7w+SgSqlGX+YzBHroj9CohElK2o3SD/NfDFU1Z0G7ogLLCYWbZNiGpnwfBaqpxZlz6Jhq0AbfQ8oRiUMSljbhBAvNotLmE5VEDTZa6savGYryxzePN3K/fJBSkxVeH2LXCFeEdw5NjPME0bMoi53T2KM8NuSENCFHqcT7d24N+Kfu/g1EyQ54iTnREuryXN2jnp40pd9qQjBtzKvQa8QvUNEqKLYg3n8oSGbSnusKUF2OZOwSFV2gAiOid58uTyXJBcX1m8qga22mbbehfY3mVcJXYXyeZM1hpculOcu0YVkMwzaz6DZmfooUTrPxMtHbE8WIvGbtbw1MWSvof5UV2sjRXSQ4jyYOkKGrifdXkrOn0xBMexB4LZG99HyfwDLTlf9EgAEADgPlsIU1XNYAAAAASUVORK5CYII=")}.lt-ie9 #bar .centerWrapper .centerColumn #search .search-input:before{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTQtMDQtMjVUMTY6NTY6NTMrMDQ6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE0LTA0LTI1VDE3OjI3OjMyKzA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE0LTA0LTI1VDE3OjI3OjMyKzA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1QjIwOTBCMkNDN0QxMUUzQjY2Q0Q1QUIyMDlFQjZGMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1QjIwOTBCM0NDN0QxMUUzQjY2Q0Q1QUIyMDlFQjZGMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjVCMjA5MEIwQ0M3RDExRTNCNjZDRDVBQjIwOUVCNkYwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjVCMjA5MEIxQ0M3RDExRTNCNjZDRDVBQjIwOUVCNkYwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+xIu3GgAAAW9JREFUeNrklMErBFEYwPfh4ICDOElJSeJASvbAjQMHm7JLWf+Agxzl4sAJOTu4rBulRYrbtodtHVDi4KY9uEnKbKzD+D19U9M0M2/K3Lz69c3Oe99v33zvm1G2bSfiHHWJmEfswgbnQin1G2fmsk2EZViAPllTgTPYPT0+rHgl7rIp54cWIuuXxG4oQRG+YAim4RMWkeaNwlR6qZVwD3qH8yRdupP4s17CCfTAOPNlP6G7hmvQARmvTA/uPREmoAp7UQ4lDdckXgUtZu6FcACj7LjTJNQL7iIc5K3ELpPQgvYIQmfNh0lYgEkepS3IxJySdnqDB5NwG5ohR2JjgHMDRmCHen77LfD24TqXm/AIW9KHNRiEFenFC8jqEiGthTa2PFZGdus9RUvu78M5vMIs0mqoUKT1ujVgQF69Z11jki3mklzrPm2Rt2kqf5R7DxWaBtJhkeoDLCNM/ulrw05vCGNS61XfQ/k/H9gfAQYABpiK8tOO/IQAAAAASUVORK5CYII=")}.lt-ie9 #bar .centerWrapper .centerColumn #search.focus .search-input:before{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTQtMDQtMjVUMTY6NTY6NTMrMDQ6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE0LTA0LTI1VDE3OjI4OjQ1KzA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE0LTA0LTI1VDE3OjI4OjQ1KzA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4NkMyMkUwRUNDN0QxMUUzQkUzRDlEQjVGNjkxRDM2MiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4NkMyMkUwRkNDN0QxMUUzQkUzRDlEQjVGNjkxRDM2MiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjg2QzIyRTBDQ0M3RDExRTNCRTNEOURCNUY2OTFEMzYyIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjg2QzIyRTBEQ0M3RDExRTNCRTNEOURCNUY2OTFEMzYyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+ATmZuwAAAW9JREFUeNrklM8rBFEcwPexBwcctIqkpCRWfqRkD+vGgZuDpfgLHOQoFwdOyNnBxR8g2ZS9yUHrgMgqN+0BF0mZjXUYn6fv1DTNzJsyN68+fWfnve9n33zfd0bZtp2Ic9QkYh6xC5POhVLqN970ttQTFmEOemRNGY5ge+D+peyVuMumnB9aiCwtiZ1wDmfwBUMwBZ8wj/TQKLxNtzbpAHqHsySduJP4s27CAXTBGPNFP6G7hivQBjmvTA/uPRDGoQI7UQ5lBi5ILAQtZu6JsAej7LjdJNQLriMc5JXEDpPQguYIQmfNh0l4ChM8SirIxJySdnqDO5NwExpgn8S6AOcajMAW9fz2W+Dtw1Uu16EEG9KHVRiEJenFY1jQJUJaDW1seayc7NZ7ipbc34U8vMI00kqoUKS1ujWgT169R11jki3mMlzrPm2Ut2myv/T8Hio0DaTDItUHWESY+dPXhp1eErJS62XfQ/k/H9gfAQYAj6GKzr551WQAAAAASUVORK5CYII=")}.lt-ie9 #underlay{filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60)}.lt-ie9 .column .icon-phone{background-image:url(\'' + t.widgetUrl + "/static/img/icons/little_icons-02.png')}.lt-ie9 .column .icon-e-mail{background-image:url('" + t.widgetUrl + "/static/img/icons/little_icons-03.png')}.lt-ie9 .column .icon-address{background-image:url('" + t.widgetUrl + "/static/img/icons/little_icons-04.png')}.lt-ie9 .column .icon-site{background-image:url('" + t.widgetUrl + "/static/img/icons/little_icons-01.png')}.lt-ie9 .column .icon-bookmark{background-image:url('" + t.widgetUrl + "/static/img/icons/little_icons-05.png')}.lt-ie9 .column .icon-home-site{background-image:url('" + t.widgetUrl + "/static/img/icons/little_icons-07.png')}.lt-ie9 .column .icon-outer-link{background-image:url('" + t.widgetUrl + "/static/img/icons/little_icons-06.png')}.lt-ie9 .column .icon-site_lightgrey{background-image:url('" + t.widgetUrl + '/static/img/icons/little_icons-08.png\')}.lt-ie9 .column .extra-head.show_back:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTQtMDQtMjVUMTY6NTY6NTMrMDQ6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE0LTA0LTI1VDE3OjI4OjI2KzA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE0LTA0LTI1VDE3OjI4OjI2KzA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3QjQ4NjNDQUNDN0QxMUUzODlBQkM0QTJCNjZFNDk1NCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3QjQ4NjNDQkNDN0QxMUUzODlBQkM0QTJCNjZFNDk1NCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjdCNDg2M0M4Q0M3RDExRTM4OUFCQzRBMkI2NkU0OTU0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjdCNDg2M0M5Q0M3RDExRTM4OUFCQzRBMkI2NkU0OTU0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+OWstzwAAAKVJREFUeNq8lUEOQDAQRTuE41m5kY24gL2w64bjsajfaBOhg9L6yYtEpi8tY5BSSoRM4rpJRCxIDkZQPRZywWm0TIICZFzRCaYuBVJtqdm1T4RGNhhZc7mZO+FB1gJ6LdSLQeeSeQuNrOVkXsKDrHfJfIVWpp9detFGJxIROr8cOfhLidI2URo7yqcXZTjsxxeYrPRzH2LAzriUYAKLsyb0L2AVYACl848hhuxdHgAAAABJRU5ErkJggg==")}.lt-ie9 .column .content .body ul[class^="list-of-sites"] li>span span.toggle{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTQtMDQtMjVUMTY6NTY6NTMrMDQ6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE0LTA0LTI1VDE3OjI3OjU3KzA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE0LTA0LTI1VDE3OjI3OjU3KzA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2QTY1MDVCQ0NDN0QxMUUzOTlEOEZDNTQ3NjQ0QjVGNyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2QTY1MDVCRENDN0QxMUUzOTlEOEZDNTQ3NjQ0QjVGNyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjZBNjUwNUJBQ0M3RDExRTM5OUQ4RkM1NDc2NDRCNUY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjZBNjUwNUJCQ0M3RDExRTM5OUQ4RkM1NDc2NDRCNUY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Q8QzBgAAAKBJREFUeNpi/P//PwM1ARMDlcGogYPQQBZsgnZld7qAlA0Qux/uVv2MLGdbepsXSO0E4iOHulTKiHXhfSC2BOKNQAO4kAwDsTdC5e5j08iILWEzMjKCNFcAme1AvB+IvaFSW4HYEYgrgS7vwKoXl4FQF8EM3QyV8oUZBuKQbCDUUJDmcii3E2hYBUyOLAORDGVANowkA0dzyqiB+AFAgAEAFBNE08QpnGMAAAAASUVORK5CYII=")}.lt-ie9 .column .content .body ul[class^="list-of-sites"] li.open span.toggle{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTQtMDQtMjVUMTY6NTY6NTMrMDQ6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE0LTA0LTI1VDE3OjI4OjEwKzA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE0LTA0LTI1VDE3OjI4OjEwKzA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3MjFCMkEzNENDN0QxMUUzOTFBMkM0RjVCNjc5NTFBNSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3MjFCMkEzNUNDN0QxMUUzOTFBMkM0RjVCNjc5NTFBNSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjcyMUIyQTMyQ0M3RDExRTM5MUEyQzRGNUI2Nzk1MUE1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjcyMUIyQTMzQ0M3RDExRTM5MUEyQzRGNUI2Nzk1MUE1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/b5rcgAAAJ5JREFUeNpi/P//PwM1ARMDlcGogYPQQBZsgoyMjCh829LbHSD6cLdqBbI4tiRH0IVQw8pBGGYw2V4GGlABNWwzFJdDxXACRmzOBnkZqrEdiPcDsTdUaisQOwJxJdD7HVj1YhO0K7uTCaSmQQ3zAWr+BnUxF5DaAjU061CXynRivawIxMeB2B9mGDRSQGx/qJwi0V4ezSmjBuIHAAEGAHptOtEsPVu4AAAAAElFTkSuQmCC")}.lt-ie9 .block-close{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTQtMDQtMjVUMTY6NTY6NTMrMDQ6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE0LTA0LTI1VDE3OjI3OjQ1KzA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE0LTA0LTI1VDE3OjI3OjQ1KzA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2MzI3QkM4QUNDN0QxMUUzOTkxNEE5QUQ1N0Q2QUY2QiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2MzI3QkM4QkNDN0QxMUUzOTkxNEE5QUQ1N0Q2QUY2QiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjYzMjdCQzg4Q0M3RDExRTM5OTE0QTlBRDU3RDZBRjZCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjYzMjdCQzg5Q0M3RDExRTM5OTE0QTlBRDU3RDZBRjZCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+LF0CVgAAAcVJREFUeNqslE8ow2EYx3+/rZCLAzlISjkoB7k47IBEaodNIgdJuaidREsuxAW5rzmaHObPsh1WSv5cHamVElpLDpNJU1zm8+hZrdkfv7W3Pr/n7Xmf59v7e5/3eU33xPSyYRi9MBk+3Ps2Khho1GCCcG3j0wajEGGhvgIxyYmoRpsIemAbRiBKQIMFMYmNaq5oeMycxRXMmmwbnPz+axmxRhWT41olfl389mzAXezmqrOr+4PprAgyP8aXLiLWjLmAHlhEbDO7ZhYInsP44BEGCE7krbdiLqFdfpH1ndx1s8gOpjC78AyDJN2rvwNzDi0wg38/P9cscUYuzBEk9dBlnEITjCMWKZRnljn4Ib0SX+qqBRdiZ8Vy7KUEKcoDxXljOgZ1MI9YsFRO1XdoK3OGcs9S0Kek9PK7LAlqlUPwIkLs6FZQUfGFNKa8oN7DADyBI3tlZOjcoWsBjS0uSMACxg8xFUvkJ6jPoTF+zflbZe3lDe3lYRKTJaqfpvoH0knSqswz0rq/VUZIKr0FXhCnG7F3C69NGPr1tVmyad96tQuc/xXT35dYp+aKhk8E43Ci9+vT6gOrOS7ViJuZTMao5vgRYADuIbdSxzeX1wAAAABJRU5ErkJggg==")}@media (max-width:1400px){.no-siteinfo #bar .centerWrapper .centerColumn{margin-right:0 !important}}.no-siteinfo #bar .rightColumn{display:none !important}@media print{*{display:none !important}}.light-theme{color:#868686}.light-theme #bar{border-bottom:1px solid #c8c8c8;color:#868686;background:#fefefe}@media (min-width:1400px){.light-theme #bar .centerWrapper{background:#fefefe}}.light-theme #bar .centerWrapper .centerColumn{border-color:#c8c8c8}.light-theme #bar .leftColumn:hover,.light-theme #bar .rightColumn:hover,.light-theme #bar #search:hover{background:#f9f9f9;cursor:pointer}.light-theme .block-close{background-color:#dfdfdf;border-color:#e0e5ea}.light-theme .column{border:0 none;background-color:#fefefe}.light-theme .column::after,.light-theme .column::before{position:absolute;top:0;bottom:0;content:\'\';box-shadow:0 0 0 1px #e0e5ea;display:block;z-index:2}.light-theme .column::before{left:0}.light-theme .column::after{right:0}.light-theme .column .content .header,.light-theme .column .extra-head{background-color:#f4f4f4;color:#333333;border-bottom:1px solid #e0e5ea}.light-theme .column .content .header h2 a,.light-theme .column .extra-head h2 a{color:#333333}.light-theme #siteinfo{color:#363636}.light-theme #siteinfo .column:after{display:none}.light-theme #siteinfo .content .body .accordion dt{color:#868686;background:#f9f9f9}.light-theme #siteinfo .content .body .accordion dt:hover{color:#D12A18;background:#f9f9f9}.light-theme #siteinfo .content .body .accordion dt.open{color:#363636;background:#f9f9f9}.light-theme #siteinfo .header .icon-home-site{color:#868686}.light-theme #catalog .column::before{display:none}.light-theme #catalog .column .content .body a{color:#868686}.light-theme #catalog .column .content .body a:hover{color:#D12A18}.light-theme #catalog .column .content .body ul[class^="list-of"] li{background-color:#fefefe;border-bottom-color:#e0e5ea}.light-theme #catalog .column .content .body ul[class^="list-of"] li:hover{background-color:#f9f9f9}.light-theme #catalog .column .content .body ul[class^="list-of"] li:hover span.item-name{color:#D12A18}.light-theme #catalog .column .content .body ul[class^="list-of"] li.current{background-color:#f9f9f9}.light-theme #catalog .column .content .body ul[class^="list-of"] li.current span.item-name{color:#333333}.light-theme #catalog .column .content .body ul[class^="list-of"] li span.item-name{color:#928E89}.light-theme #catalog .column .content .body ul[class^="list-of-sites"] li{background-color:#f9f9f9;color:#333333}.light-theme #catalog .column .content .body ul[class^="list-of-sites"] li:hover{background-color:#fefefe}.light-theme #catalog .column .content .body ul[class^="list-of-sites"] li.open{color:#333333;background-color:#fefefe}.light-theme #catalog .column .content .body ul[class^="list-of-sites"] li span.toggle{color:#928E89}.light-theme #catalog .column .content .body ul[class^="list-of-sites"] li span.site-description{border-top-color:#e0e5ea}.light-theme #catalog .column .content .body ul[class^="list-of-sites"] li span.site-description .arr-down{border-top-color:#e0e5ea}.light-theme #catalog .column .content .body ul[class^="list-of-sites"] li span.site-description .arr-down i{border-top-color:#fefefe}.light-theme * ::-webkit-input-placeholder{color:#BCBCBC}.light-theme * :-moz-placeholder{color:#BCBCBC}.light-theme * ::-moz-placeholder{color:#BCBCBC}.light-theme * :-ms-input-placeholder{color:#BCBCBC}.light-theme #bar .centerWrapper .centerColumn #search button{color:#878B8E;background:#ededed}.light-theme #bar .centerWrapper .centerColumn #search .search-input-icon{color:#b4bbc0}.light-theme #bar .centerWrapper .centerColumn #search.focus{background-color:#f1f1f1}.light-theme #bar .centerWrapper .centerColumn #search.focus button{color:#878B8E;background:#dfdfdf}.light-theme #bar .centerWrapper .centerColumn #search.focus button:hover{color:#878B8E;background:#dfdfdf}.light-theme #bar .centerWrapper .centerColumn #search.focus .search-input-icon{color:#D12A18}.light-theme #bar .centerWrapper .centerColumn #search .search-result{margin:0 -1px;background:#f1f1f1}.light-theme #bar .centerWrapper .centerColumn #search .search-result ul{border:1px solid #c8c8c8;border-top:0 none}.light-theme #bar .centerWrapper .centerColumn #search .search-result ul li:hover{background:#f9f9f9}.light-theme #bar .centerWrapper .centerColumn #search .search-result ul li.selected{background:#f9f9f9}.dark-theme{color:#333333}.dark-theme #bar{border-bottom:1px solid #727983;color:#B4BAC2;background:#4f555d}@media (min-width:1400px){.dark-theme #bar .centerWrapper{background:#4f555d}}.dark-theme #bar .centerWrapper .centerColumn{border-color:#727983}.dark-theme #bar .leftColumn:hover,.dark-theme #bar .rightColumn:hover,.dark-theme #bar #search:hover{background:#67707a;cursor:pointer}.dark-theme .block-close{background-color:#E4E9ED;border-color:#d3d5d8}.dark-theme .column{border:0 none;background-color:#ecf0f4}.dark-theme .column::after,.dark-theme .column::before{position:absolute;top:0;bottom:0;content:\'\';box-shadow:0 0 0 1px rgba(184,189,194,0.5);display:block;z-index:2}.dark-theme .column::before{left:0}.dark-theme .column::after{right:0}.dark-theme .column .content .header,.dark-theme .column .extra-head{background-color:#4f555d;color:#fff;border-bottom:1px solid #727983}.dark-theme .column .content .header h2 a,.dark-theme .column .extra-head h2 a{color:#fff}.dark-theme #catalog .column::before{display:none}.dark-theme #catalog .column .content .body a{color:#868686}.dark-theme #catalog .column .content .body a:hover{color:#D12A18}.dark-theme #catalog .column .content .body ul[class^="list-of"] li{background-color:#EDF1F5;border-bottom-color:#E1E6EB}.dark-theme #catalog .column .content .body ul[class^="list-of"] li:hover{background-color:#FAFAFA}.dark-theme #catalog .column .content .body ul[class^="list-of"] li:hover span.item-name{color:#D12A18}.dark-theme #catalog .column .content .body ul[class^="list-of"] li.current{background-color:#FAFAFA}.dark-theme #catalog .column .content .body ul[class^="list-of"] li.current span.item-name{color:#333333}.dark-theme #catalog .column .content .body ul[class^="list-of"] li span.item-name{color:#868686}.dark-theme #catalog .column .content .body ul[class^="list-of-sites"] li{background-color:#fafafa;color:#333333}.dark-theme #catalog .column .content .body ul[class^="list-of-sites"] li:hover{background-color:#edf1f5}.dark-theme #catalog .column .content .body ul[class^="list-of-sites"] li.open{color:#333333;background-color:#edf1f5}.dark-theme #catalog .column .content .body ul[class^="list-of-sites"] li span.toggle{color:#868686}.dark-theme #catalog .column .content .body ul[class^="list-of-sites"] li span.site-description{border-top-color:#E1E6EB}.dark-theme #catalog .column .content .body ul[class^="list-of-sites"] li span.site-description .arr-down{border-top-color:#E1E6EB}.dark-theme #catalog .column .content .body ul[class^="list-of-sites"] li span.site-description .arr-down i{border-top-color:#edf1f5}.dark-theme #siteinfo{color:#363636}.dark-theme #siteinfo .column:after{display:none}.dark-theme #siteinfo .content .body .accordion dt{color:#868686;background:#FAFAFA}.dark-theme #siteinfo .content .body .accordion dt:hover{color:#D12A18;background:#FAFAFA}.dark-theme #siteinfo .content .body .accordion dt.open{color:#363636;background:#FAFAFA}.dark-theme #siteinfo .header .icon-home-site{color:#B4BAC2}.dark-theme * ::-webkit-input-placeholder{color:#BCBCBC}.dark-theme * :-moz-placeholder{color:#BCBCBC}.dark-theme * ::-moz-placeholder{color:#BCBCBC}.dark-theme * :-ms-input-placeholder{color:#BCBCBC}.dark-theme #bar .centerWrapper .centerColumn #search button{color:#B4BAC2;background:#60656C}.dark-theme #bar .centerWrapper .centerColumn #search .search-input-icon{color:#f9f9fa}.dark-theme #bar .centerWrapper .centerColumn #search.focus{background-color:#fafafa}.dark-theme #bar .centerWrapper .centerColumn #search.focus button{color:#B4BAC2;background:#60666D}.dark-theme #bar .centerWrapper .centerColumn #search.focus button:hover{color:#B4BAC2;background:#60666D}.dark-theme #bar .centerWrapper .centerColumn #search.focus .search-input-icon{color:#D12A18}.dark-theme #bar .centerWrapper .centerColumn #search .search-result{margin:0 -1px;background:#fafafa}.dark-theme #bar .centerWrapper .centerColumn #search .search-result ul{border:1px solid #727983;border-top:0 none}.dark-theme #bar .centerWrapper .centerColumn #search .search-result ul li:hover{background:#ecf0f4}.dark-theme #bar .centerWrapper .centerColumn #search .search-result ul li.selected{background:#ecf0f4}@media (max-width:1000px){.view-siteinfo .dark-theme #bar .rightColumn .content,.view-catalog .dark-theme #bar .leftColumn .content,.view-full_message .dark-theme #bar .leftColumn .content{background:url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cg%20fill%3D%22none%22%20stroke%3D%22%23f9f9fa%22%20stroke-width%3D%221.5%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m1%2C1%2018%2C18%22%2F%3E%0A%3Cpath%20d%3D%22m19%2C1-18%2C18%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center}}';
return e
};
return t.render = t,
t
}()
}
, function(t, e, n) {
t.exports = function() {
var t = function(t) {
var e = '<style id="dynamic_css"></style><div id="main" class="' + (t.theme || "default") + "-theme ";
return t.noSiteinfo && (e += "no-siteinfo"),
e += '"> <div id="underlay"></div> ',
t.noSiteinfo || (e += ' <div id="siteinfo" class="hiddenBlock siteinfo"> <div class="block-close"></div> <div class="column" id="information"></div> </div> '),
e += ' <div id="full_message" class="hiddenBlock"> <div class="block-close"></div> <div class="column" id="full_message_content"></div> </div> <div id="catalog" class="hiddenBlock catalog"> <div class="column-wrapper"> <div class="block-close"></div> </div> </div> <div id="bar"> <div class="centerWrapper"> <div class="centerColumn"> <div class="content"> ',
t.searchIsDisabled || (e += ' <form id="search" action="' + t.action + '" method="get" target="_top" accept-charset="UTF-8"> <div class="search-input"> <span class="search-input-icon"><svg width="20" xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 0 20 20" xmlns:xlink="http://www.w3.org/1999/xlink" enable-background="new 0 0 20 20"><path fill="currentColor" d="m9,4.5c2.481,0 4.5,2.019 4.5,4.5s-2.019,4.5-4.5,4.5-4.5-2.019-4.5-4.5 2.019-4.5 4.5-4.5m0-1.5c-3.313,0-6,2.687-6,6s2.687,6 6,6 6-2.687 6-6-2.687-6-6-6z"/><path fill="none" stroke="currentColor" stroke-width="2" d="m14,14 3,3" stroke-miterlimit="10"/></svg></span> <input type="text" id="search_query" name="' + t.searchField + '" placeholder="Поиск по сайту" value="" autocomplete="off" ',
e += ' /><input type="text" id="search_placeholder" tabIndex="-1" value="" /></div> <input id="site" name="site" type="hidden" value="' + t.site + '" disabled="" /> <button type="submit" ',
e += '>Найти</button> <div class="checkbox"> <label><input type="checkbox" id="on_all" ',
t.check && (e += 'checked="checked"'),
e += ' />По всем сайтам каталога</label></div> <div class="search-result" id="searchResult"></div> </form> '),
e += ' </div> </div> </div> <div class="leftColumn"> <div id="catalog-toggle"> <div class="content logo"> <span>Навигатор по государственным <br/>сайтам Санкт-Петербурга</span> </div> </div> <div id="full_message-toggle"> <div class="content"> <span></span> </div> </div> </div> ',
t.noSiteinfo || (e += ' <div class="rightColumn" id="siteinfo-toggle"> <div class="content"> <span class="main"> Этот сайт включен <br/> в каталог государственных сайтов Санкт-Петербурга </span> <span class="alt"> О сайте </span> </div> </div> '),
e += ' </div> <div id="message"></div></div>'
};
return t.render = t,
t
}()
}
, function(t, e) {
t.exports = function() {
var t = function(t) {
var e = '<div class="extra-head catalog-header"> <div class="extra-head-content"> <h2><a href="' + t.catalogUrl + '/" target="_blank">Каталог государственных сайтов <nobr>Санкт-Петербурга</nobr></a></h2> </div></div><div class="content extra-head-on"> <div class="body"> <ul class="list-of-categories"> '
, n = t.items;
if (n)
for (var i, o = -1, r = n.length - 1; o < r; )
i = n[o += 1],
e += " ",
i.item && i.item.name && (e += ' <li id="cat_' + i.item.id + '" data-id="' + i.item.id + '"> <span> <span class="item-name">' + i.item.name + '</span> </span> <span class="item-icon-' + t.correctImageExtantion + "-" + i.item.id + '"></span> </li> '),
e += " ";
return e += " </ul> </div></div>"
};
return t.render = t,
t
}()
}
, function(t, e) {
t.exports = function() {
var t = function(t) {
var e = '<div class="extra-head"> <svg width="20" xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 0 20 20" xmlns:xlink="http://www.w3.org/1999/xlink" enable-background="new 0 0 20 20"> <path fill="none" stroke="currentColor" stroke-width="1.5" d="m14,1-8,9 8,9" stroke-miterlimit="10"/> </svg> <div class="extra-head-content"> <h2>' + t.title + '</h2> </div></div><div class="content extra-head-on"> <div class="body"> <ul class="list-of-sites"> '
, n = t.items;
if (n)
for (var i, o = -1, r = n.length - 1; o < r; )
i = n[o += 1],
e += ' <li id="site_' + (i.id || "IDD") + '"> <span ',
i.description && (e += 'class="site-toggle"'),
e += "> ",
i.description && (e += ' <span class="toggle"> <svg class="arrow-bottom" width="20" xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 0 20 20" xmlns:xlink="http://www.w3.org/1999/xlink" enable-background="new 0 0 20 20"> <path fill="none" stroke="currentColor" stroke-width="1.5" d="m14,8-4,5-4-5" stroke-miterlimit="10"/> </svg> <svg class="arrow-top" width="20" xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 0 20 20" xmlns:xlink="http://www.w3.org/1999/xlink" enable-background="new 0 0 20 20"> <path fill="none" stroke="currentColor" stroke-width="1.5" d="m14,13-4-5-4,5" stroke-miterlimit="10"/> </svg> </span> '),
e += ' <span><a href="http://' + i.host + '" target="_blank" class="icon-site_lightgrey">' + i.host + "</a></span> <span>" + i.name + "</span> </span> ",
i.description && (e += ' <span class="site-description"> <i class="arr-down"> <i></i> </i> <span>' + i.description + "</span> </span> "),
e += " </li> ";
return e += " </ul> </div></div>"
};
return t.render = t,
t
}()
}
, function(t, e) {
t.exports = function() {
var t = function(t) {
var e = '<div class="extra-head"> <svg width="20" xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 0 20 20" xmlns:xlink="http://www.w3.org/1999/xlink" enable-background="new 0 0 20 20"> <path fill="none" stroke="currentColor" stroke-width="1.5" d="m14,1-8,9 8,9" stroke-miterlimit="10"/> </svg> <div class="extra-head-content"> <h2>' + t.title + '</h2> </div></div><div class="content extra-head-on"> <div class="body"> <ul class="list-of-subcategories"> '
, n = t.items;
if (n)
for (var i, o = -1, r = n.length - 1; o < r; )
i = n[o += 1],
e += " ",
i.item && i.item.name && (e += ' <li id="subcat_' + i.item.id + '" data-id="' + i.item.id + '"> <span> <span class="item-name">' + i.item.name + "</span> </span> </li> "),
e += " ";
return e += " </ul> </div></div>"
};
return t.render = t,
t
}()
}
, function(t, e) {
t.exports = function() {
var t = function(t) {
var e = '<div class="content"> <div class="body"> <div class="logo"></div> ';
return t.text ? (e += " ",
t.title && (e += " <h2>" + t.title + "</h2> "),
e += ' <div class="full_text"> ' + t.text.replace(/\n/gim, "<br />") + " </div> ",
t.link && (e += ' <div class="audio"> <audio src="//' + t.NOTIFICATION_HOSTNAME + t.link + '" controls="controls" preload="none"> Ваш браузер не поддерживает аудио элементы. </audio> </div> '),
e += " ") : e += " идет загрузка... ",
e += " </div></div>"
};
return t.render = t,
t
}()
}
, function(t, e) {
t.exports = function() {
var t = function(t) {
var e = '<!DOCTYPE html><!--[if lt IE 7]><html class="lt-ie9 lt-ie8 lt-ie7" lang="ru"><![endif]--><!--[if IE 7]><html class="lt-ie9 lt-ie8" lang="ru"><![endif]--><!--[if IE 8]><html class="lt-ie9" lang="ru"><![endif]--><!--[if IE 9]><html class="lt-ie10" lang="ru"><![endif]--><!--[if gt IE 9]><!--><html lang="ru"><!--<![endif]--><head> <meta charset="utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <style type="text/css">' + this.render("css", t) + "</style></head><body></body></html>";
return e
};
return t.render = t,
t
}()
}
, function(t, e) {
t.exports = function() {
var t = function(t) {
var e = "";
return t.msg && (e += '<div class="messageColumn" id="message-toggle"> <span class="msg-helper ',
t.link && (e += "msg-helper--audio"),
e += '"> Полный текст </span> <div class="content"> <span class="msg"> ' + t.msg + " </span> </div></div>"),
e
};
return t.render = t,
t
}()
}
, function(t, e) {
t.exports = function() {
var t = function(t) {
var e = "";
if (t.suggests && t.suggests.length > 0) {
e += "<ul> ";
var n;
e += " ";
for (var i = 0, o = t.suggests.length; i < o; i++)
e += " ",
n = t.suggests[i],
e += ' <li class="search-suggest" data-value="' + this.escapeAttrs(n) + '">' + n + "</li> ";
e += "</ul>"
}
return e
};
return t.render = t,
t
}()
}
, function(t, e) {
t.exports = function() {
var t = function(t) {
var e = ' <div class="content"> <div class="header"> <a class="icon-home-site" href="http://' + t.site.host + '" target="_blank">' + t.site.host + "</a> <h1>" + t.site.name + '</h1> </div> <div class="body"> <p class="responsible_org">Ответственная организация</p> <h2>' + t.organization.full_name + '</h2> <dl class="accordion"> ';
return t.organization && (e += ' <dt class="default">Контактная информация</dt> <dd> <div class="slide-content"> <ul class="information"> ',
t.organization.phone && (e += ' <li class="icon-phone">' + t.organization.phone + "</li> "),
e += " ",
t.organization.email && (e += ' <li class="icon-e-mail"><a href="mailto:' + t.organization.email + '">' + t.organization.email + "</a></li> "),
e += " ",
t.organization.address && (e += ' <li class="icon-address">' + t.organization.address + "</li> "),
e += " ",
!t.site.is_official && t.organization.website_url && (e += ' <li class="icon-site"> <a href="' + t.organization.website_url + '" target="_blank">' + t.organization.website_url + "</a> </li> "),
e += " ",
t.organization.gov_url && (e += ' <li class="icon-outer-link"><a href="' + t.organization.gov_url + '" target="_blank">Раздел на официальном сайте Администрации Санкт-Петербурга</a></li> '),
e += " </ul> </div> </dd> "),
e += " ",
t.organization.description && (e += ' <dt>Об организации</dt> <dd> <div class="slide-content"> ' + t.organization.description + " </div> </dd> "),
e += " ",
t.organization_parent && (e += ' <dt>Курирующая организация</dt> <dd> <div class="slide-content"> ',
t.organization_parent && (e += " <h2>" + t.organization_parent.full_name + "</h2> "),
e += ' <ul class="information"> ',
t.organization_parent.phone && (e += ' <li class="icon-phone">' + t.organization_parent.phone + "</li> "),
e += " ",
t.organization_parent.email && (e += ' <li class="icon-e-mail"><a href="mailto:' + t.organization_parent.email + '">' + t.organization_parent.email + "</a></li> "),
e += " ",
t.organization_parent.address && (e += ' <li class="icon-address">' + t.organization_parent.address + "</li> "),
e += " ",
t.organization_parent.website_url && (e += ' <li class="icon-site"> <a href="' + t.organization_parent.website_url + '" target="_blank">' + t.organization_parent.website_url + "</a> </li> "),
e += " ",
t.organization_parent.gov_url && (e += ' <li class="icon-outer-link"><a href="' + t.organization_parent.gov_url + '" target="_blank">Раздел на официальном сайте Администрации Санкт-Петербурга</a></li> '),
e += " </ul> </div> </dd> "),
e += " </dl> </div> </div>"
};
return t.render = t,
t
}()
}
, function(t, e) {
t.exports = function(t, e) {
"use strict";
function n(t) {
throw RangeError(k[t])
}
function i(t, e) {
for (var n = t.length; n--; )
t[n] = e(t[n]);
return t
}
function o(t, e) {
return i(t.split(F), e).join(".")
}
function r(t) {
for (var e, n, i = [], o = 0, r = t.length; o < r; )
e = t.charCodeAt(o++),
e >= 55296 && e <= 56319 && o < r ? (n = t.charCodeAt(o++),
56320 == (64512 & n) ? i.push(((1023 & e) << 10) + (1023 & n) + 65536) : (i.push(e),
o--)) : i.push(e);
return i
}
function s(t) {
return i(t, function(t) {
var e = "";
return t > 65535 && (t -= 65536,
e += I(t >>> 10 & 1023 | 55296),
t = 56320 | 1023 & t),
e += I(t)
}).join("")
}
function a(t) {
return t - 48 < 10 ? t - 22 : t - 65 < 26 ? t - 65 : t - 97 < 26 ? t - 97 : C
}
function l(t, e) {
return t + 22 + 75 * (t < 26) - ((0 != e) << 5)
}
function c(t, e, n) {
var i = 0;
for (t = n ? S(t / w) : t >> 1,
t += S(t / e); t > _ * b >> 1; i += C)
t = S(t / _);
return S(i + (_ + 1) * t / (t + v))
}
function h(t) {
var e, i, o, r, l, h, u, d, p, m, v = [], w = t.length, E = 0, x = D, F = A;
for (i = t.lastIndexOf(y),
i < 0 && (i = 0),
o = 0; o < i; ++o)
t.charCodeAt(o) >= 128 && n("not-basic"),
v.push(t.charCodeAt(o));
for (r = i > 0 ? i + 1 : 0; r < w; ) {
for (l = E,
h = 1,
u = C; r >= w && n("invalid-input"),
d = a(t.charCodeAt(r++)),
(d >= C || d > S((g - E) / h)) && n("overflow"),
E += d * h,
p = u <= F ? f : u >= F + b ? b : u - F,
!(d < p); u += C)
m = C - p,
h > S(g / m) && n("overflow"),
h *= m;
e = v.length + 1,
F = c(E - l, e, 0 == l),
S(E / e) > g - x && n("overflow"),
x += S(E / e),
E %= e,
v.splice(E++, 0, x)
}
return s(v)
}
function u(t) {
var e, i, o, s, a, h, u, d, p, m, v, w, E, x, F, k = [];
for (t = r(t),
w = t.length,
e = D,
i = 0,
a = A,
h = 0; h < w; ++h)
v = t[h],
v < 128 && k.push(I(v));
for (o = s = k.length,
s && k.push(y); o < w; ) {
for (u = g,
h = 0; h < w; ++h)
v = t[h],
v >= e && v < u && (u = v);
for (E = o + 1,
u - e > S((g - i) / E) && n("overflow"),
i += (u - e) * E,
e = u,
h = 0; h < w; ++h)
if (v = t[h],
v < e && ++i > g && n("overflow"),
v == e) {
for (d = i,
p = C; m = p <= a ? f : p >= a + b ? b : p - a,
!(d < m); p += C)
F = d - m,
x = C - m,
k.push(I(l(m + F % x, 0))),
d = S(F / x);
k.push(I(l(d, 0))),
a = c(i, E, o == s),
i = 0,
++o
}
++i,
++e
}
return k.join("")
}
function d(t) {
return o(t, function(t) {
return E.test(t) ? h(t.slice(4).toLowerCase()) : t
})
}
function p(t) {
return o(t, function(t) {
return x.test(t) ? "xn--" + u(t) : t
})
}
var m, g = 2147483647, C = 36, f = 1, b = 26, v = 38, w = 700, A = 72, D = 128, y = "-", E = /^xn--/, x = /[^ -~]/, F = /\x2E|\u3002|\uFF0E|\uFF61/g, k = {
overflow: "Overflow: input needs wider integers to process",
"not-basic": "Illegal input >= 0x80 (not a basic code point)",
"invalid-input": "Invalid input"
}, _ = C - f, S = Math.floor, I = String.fromCharCode;
m = {
version: "1.2.4",
ucs2: {
decode: r,
encode: s
},
decode: h,
encode: u,
toASCII: p,
toUnicode: d
},
t.punycode = m
}
}
, function(t, e) {
t.exports = function(t, e) {
"use strict";
if (!t.PushStream) {
var n = {}
, i = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
, o = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
, r = function(t) {
return (t < 10 ? "0" : "") + t
};
n.dateToUTCString = function(t) {
var e = r(t.getUTCHours()) + ":" + r(t.getUTCMinutes()) + ":" + r(t.getUTCSeconds());
return i[t.getUTCDay()] + ", " + r(t.getUTCDate()) + " " + o[t.getUTCMonth()] + " " + t.getUTCFullYear() + " " + e + " GMT"
}
;
var s = function() {
for (var t = arguments[0] || {}, e = 0; e < arguments.length; e++) {
var n = arguments[e];
for (var i in n)
n.hasOwnProperty && !n.hasOwnProperty(i) || (t[i] = n[i])
}
return t
}
, a = /^[\],:{}\s]*$/
, l = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g
, c = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g
, h = /(?:^|:|,)(?:\s*\[)+/g
, u = function(t) {
return t.replace(/^\s*/, "").replace(/\s*$/, "")
};
n.parseJSON = function(t) {
if (!t || !b(t))
return null;
if (t = u(t),
window.JSON && window.JSON.parse)
try {
return window.JSON.parse(t)
} catch (e) {
throw "Invalid JSON: " + t
}
if (a.test(t.replace(l, "@").replace(c, "]").replace(h, "")))
return new Function("return " + t)();
throw "Invalid JSON: " + t
}
;
var d = function(t) {
var e = {};
return e[t.tagArgument] = "",
e[t.timeArgument] = "",
e[t.eventIdArgument] = "",
t.messagesControlByArgument && (e[t.tagArgument] = Number(t._etag),
t._lastModified ? e[t.timeArgument] = t._lastModified : t._lastEventId && (e[t.eventIdArgument] = t._lastEventId)),
e
}
, p = function() {
return (new Date).getTime()
}
, m = function() {
return {
_: p()
}
}
, g = function(t) {
var e = t;
if ("object" == typeof t) {
e = "";
for (var n in t)
t.hasOwnProperty && !t.hasOwnProperty(n) || (e += "&" + n + "=" + window.escape(t[n]));
e = e.substring(1)
}
return e || ""
}
, C = function(t, e) {
return t + (t.indexOf("?") < 0 ? "?" : "&") + g(e)
}
, f = Array.isArray || function(t) {
return "[object Array]" === Object.prototype.toString.call(t)
}
, b = function(t) {
return "[object String]" === Object.prototype.toString.call(t)
}
, v = function(t) {
return "[object Date]" === Object.prototype.toString.call(t)
}
, w = {
logger: null,
debug: function() {
"debug" === L.LOG_LEVEL && w._log.apply(w._log, arguments)
},
info: function() {
"info" !== L.LOG_LEVEL && "debug" !== L.LOG_LEVEL || w._log.apply(w._log, arguments)
},
error: function() {
w._log.apply(w._log, arguments)
},
_initLogger: function() {
var t = window.console;
t && t.log && (t.log.apply ? w.logger = t.log : "object" == typeof t.log && Function.prototype.bind ? w.logger = Function.prototype.bind.call(t.log, t) : "object" == typeof t.log && Function.prototype.call && (w.logger = function() {
Function.prototype.call.call(t.log, t, Array.prototype.slice.call(arguments))
}
))
},
_log: function() {
if (w.logger || w._initLogger(),
w.logger)
try {
w.logger.apply(window.console, arguments)
} catch (t) {
w._initLogger(),
w.logger && w.logger.apply(window.console, arguments)
}
var e = document.getElementById(L.LOG_OUTPUT_ELEMENT_ID);
if (e) {
for (var n = "", i = 0; i < arguments.length; i++)
n += arguments[i] + " ";
e.innerHTML += n + "\n";
var o = e.innerHTML.split("\n");
o.length > 100 && (e.innerHTML = o.slice(-100).join("\n"))
}
}
}
, A = {
_getXHRObject: function(t) {
var e = !1;
if (t) {
try {
e = new window.XDomainRequest
} catch (n) {}
if (e)
return e
}
try {
e = new window.XMLHttpRequest
} catch (i) {
try {
e = new window.ActiveXObject("Msxml2.XMLHTTP")
} catch (o) {
try {
e = new window.ActiveXObject("Microsoft.XMLHTTP")
} catch (r) {
e = !1
}
}
}
return e
},
_send: function(t, e) {
t = t || {},
t.timeout = t.timeout || 3e4;
var n = A._getXHRObject(t.crossDomain);
if (n && t.url) {
A.clear(t),
t.xhr = n,
window.XDomainRequest && n instanceof window.XDomainRequest ? (n.onload = function() {
t.afterReceive && t.afterReceive(n),
t.success && t.success(n.responseText)
}
,
n.onerror = n.ontimeout = function() {
t.afterReceive && t.afterReceive(n),
t.error && t.error(n.status)
}
) : n.onreadystatechange = function() {
4 === n.readyState && (A.clear(t),
t.afterReceive && t.afterReceive(n),
200 === n.status ? t.success && t.success(n.responseText) : t.error && t.error(n.status))
}
,
t.beforeOpen && t.beforeOpen(n);
var i = {}
, o = null
, r = "GET";
e ? (o = g(t.data),
r = "POST") : i = t.data || {},
n.open(r, C(t.url, s({}, i, m())), !0),
t.beforeSend && t.beforeSend(n);
var a = function() {
A.clear(t);
try {
n.abort()
} catch (e) {}
t.error(304)
};
return e ? n.setRequestHeader && (n.setRequestHeader("Accept", "application/json"),
n.setRequestHeader("Content-type", "application/x-www-form-urlencoded")) : t.timeoutId = window.setTimeout(a, t.timeout + 2e3),
n.send(o),
n
}
},
_clear_xhr: function(t) {
t && (t.onreadystatechange = null)
},
_clear_script: function(t) {
t && (t.onerror = t.onload = t.onreadystatechange = null,
t.parentNode && t.parentNode.removeChild(t))
},
_clear_timeout: function(t) {
t.timeoutId = I(t.timeoutId)
},
_clear_jsonp: function(t) {
var e = t.data.callback;
e && (window[e] = function() {
window[e] = null
}
)
},
clear: function(t) {
A._clear_timeout(t),
A._clear_jsonp(t),
A._clear_script(document.getElementById(t.scriptId)),
A._clear_xhr(t.xhr)
},
jsonp: function(t) {
t.timeout = t.timeout || 3e4,
A.clear(t);
var e = document.head || document.getElementsByTagName("head")[0]
, n = document.createElement("script")
, i = p()
, o = function() {
A.clear(t);
var e = p();
t.error(e - i > t.timeout / 2 ? 304 : 403)
}
, r = function() {
A.clear(t),
t.load()
}
, a = function() {
t.afterSuccess = !0,
t.success.apply(null, arguments)
};
return n.onerror = o,
n.onload = n.onreadystatechange = function(e) {
n.readyState && !/loaded|complete/.test(n.readyState) || (t.afterSuccess ? r() : o())
}
,
t.beforeOpen && t.beforeOpen({}),
t.beforeSend && t.beforeSend({}),
t.timeoutId = window.setTimeout(o, t.timeout + 2e3),
t.scriptId = t.scriptId || p(),
t.afterSuccess = null,
t.data.callback = t.scriptId + "_onmessage_" + p(),
window[t.data.callback] = a,
n.setAttribute("src", C(t.url, s({}, t.data, m()))),
n.setAttribute("async", "async"),
n.setAttribute("id", t.scriptId),
e.insertBefore(n, e.firstChild),
t
},
load: function(t) {
return A._send(t, !1)
},
post: function(t) {
return A._send(t, !0)
}
}
, D = function(t) {
return t ? window.escape(t) : ""
}
, y = function(t) {
return t ? window.unescape(t) : ""
};
n.parseMessage = function(t, e) {
var i = t;
b(t) && (i = n.parseJSON(t));
var o = {
id: i[e.jsonIdKey],
channel: i[e.jsonChannelKey],
text: b(i[e.jsonTextKey]) ? y(i[e.jsonTextKey]) : i[e.jsonTextKey],
tag: i[e.jsonTagKey],
time: i[e.jsonTimeKey],
eventid: i[e.jsonEventIdKey] || ""
};
return o
}
;
var E = function(t) {
return t.backtrack ? ".b" + Number(t.backtrack) : ""
}
, x = function(t, e) {
var n = "";
for (var i in t)
t.hasOwnProperty && !t.hasOwnProperty(i) || (n += "/" + i + (e ? E(t[i]) : ""));
return n
}
, F = function(t, e, n, i) {
var o = t.wrapper.type === T.TYPE
, r = t.useSSL
, a = _(r, t.port)
, l = o ? r ? "wss://" : "ws://" : r ? "https://" : "http://";
l += t.host,
l += a ? ":" + a : "",
l += e;
var c = x(t.channels, i);
if (t.channelsByArgument) {
var h = {};
h[t.channelsArgument] = c.substring(1),
n = s({}, n, h)
} else
l += c;
return C(l, n)
}
, k = function(t) {
var e = _(t.useSSL, t.port)
, n = t.useSSL ? "https://" : "http://";
return n += t.host,
n += e ? ":" + e : "",
n += t.urlPrefixPublisher,
n += "?id=" + x(t.channels, !1)
};
n.extract_xss_domain = function(t) {
if (t.match(/^(\d{1,3}\.){3}\d{1,3}$/))
return t;
var e = t.split(".")
, n = Math.max(e.length - 1, t.match(/(\w{4,}\.\w{2}|\.\w{3,})$/) ? 2 : 3);
return e.slice(-1 * n).join(".")
}
;
var _ = function(t, e) {
return e = Number(e || (t ? 443 : 80)),
!t && 80 === e || t && 443 === e ? "" : e
};
n.isCrossDomainUrl = function(t) {
if (!t)
return !1;
var e = document.createElement("a");
e.href = t;
var n = _("https:" === window.location.protocol, window.location.port)
, i = _("https:" === e.protocol, e.port);
return window.location.protocol !== e.protocol || window.location.hostname !== e.hostname || n !== i
}
;
var S = function(t, e) {
return function() {
return t.apply(e, arguments)
}
}
, I = function(t) {
return t && window.clearTimeout(t),
null
}
, z = function(t) {
w.info("[" + this.type + "] message received", arguments);
var e = n.parseMessage(t.data, this.pushstream);
e.tag && (this.pushstream._etag = e.tag),
e.time && (this.pushstream._lastModified = e.time),
e.eventid && (this.pushstream._lastEventId = e.eventid),
this.pushstream._onmessage(e.text, e.id, e.channel, e.eventid, !0, e.time)
}
, N = function() {
this.pushstream._onopen(),
w.info("[" + this.type + "] connection opened")
}
, M = function(t) {
w.info("[" + this.type + "] error (disconnected by server):", t),
this.pushstream.readyState === L.OPEN && this.type === B.TYPE && "error" === t.type && this.connection.readyState === window.EventSource.CONNECTING || (this._closeCurrentConnection(),
this.pushstream._onerror({
type: t && ("load" === t.type || "close" === t.type && 1006 === t.code) || this.pushstream.readyState === L.CONNECTING ? "load" : "timeout"
}))
}
, T = function(t) {
if (!window.WebSocket && !window.MozWebSocket)
throw "WebSocket not supported";
this.type = T.TYPE,
this.pushstream = t,
this.connection = null
};
T.TYPE = "WebSocket",
T.prototype = {
connect: function() {
this._closeCurrentConnection();
var t = s({}, this.pushstream.extraParams(), m(), d(this.pushstream))
, e = F(this.pushstream, this.pushstream.urlPrefixWebsocket, t, !this.pushstream._useControlArguments());
this.connection = window.WebSocket ? new window.WebSocket(e) : new window.MozWebSocket(e),
this.connection.onerror = S(M, this),
this.connection.onclose = S(M, this),
this.connection.onopen = S(N, this),
this.connection.onmessage = S(z, this),
w.info("[WebSocket] connecting to:", e)
},
disconnect: function() {
this.connection && (w.debug("[WebSocket] closing connection to:", this.connection.url),
this.connection.onclose = null,
this._closeCurrentConnection(),
this.pushstream._onclose())
},
_closeCurrentConnection: function() {
if (this.connection) {
try {
this.connection.close()
} catch (t) {}
this.connection = null
}
},
sendMessage: function(t) {
this.connection && this.connection.send(t)
}
};
var B = function(t) {
if (!window.EventSource)
throw "EventSource not supported";
this.type = B.TYPE,
this.pushstream = t,
this.connection = null
};
B.TYPE = "EventSource",
B.prototype = {
connect: function() {
this._closeCurrentConnection();
var t = s({}, this.pushstream.extraParams(), m(), d(this.pushstream))
, e = F(this.pushstream, this.pushstream.urlPrefixEventsource, t, !this.pushstream._useControlArguments());
this.connection = new window.EventSource(e),
this.connection.onerror = S(M, this),
this.connection.onopen = S(N, this),
this.connection.onmessage = S(z, this),
w.info("[EventSource] connecting to:", e)
},
disconnect: function() {
this.connection && (w.debug("[EventSource] closing connection to:", this.connection.url),
this.connection.onclose = null,
this._closeCurrentConnection(),
this.pushstream._onclose())
},
_closeCurrentConnection: function() {
if (this.connection) {
try {
this.connection.close()
} catch (t) {}
this.connection = null
}
}
};
var j = function(t) {
this.type = j.TYPE,
this.pushstream = t,
this.connection = null,
this.url = null,
this.frameloadtimer = null,
this.pingtimer = null,
this.iframeId = "PushStreamManager_" + t.id
};
j.TYPE = "Stream",
j.prototype = {
connect: function() {
this._closeCurrentConnection();
var t = n.extract_xss_domain(this.pushstream.host);
try {
document.domain = t
} catch (e) {
w.error("[Stream] (warning) problem setting document.domain = " + t + " (OBS: IE8 does not support set IP numbers as domain)")
}
var i = s({}, this.pushstream.extraParams(), m(), {
streamid: this.pushstream.id
}, d(this.pushstream));
this.url = F(this.pushstream, this.pushstream.urlPrefixStream, i, !this.pushstream._useControlArguments()),
w.debug("[Stream] connecting to:", this.url),
this.loadFrame(this.url)
},
disconnect: function() {
this.connection && (w.debug("[Stream] closing connection to:", this.url),
this._closeCurrentConnection(),
this.pushstream._onclose())
},
_clear_iframe: function() {
var t = document.getElementById(this.iframeId);
t && (t.onload = null,
t.src = "about:blank",
t.parentNode && t.parentNode.removeChild(t))
},
_closeCurrentConnection: function() {
this._clear_iframe(),
this.connection && (this.pingtimer = I(this.pingtimer),
this.frameloadtimer = I(this.frameloadtimer),
this.connection = null,
this.transferDoc = null,
"function" == typeof window.CollectGarbage && window.CollectGarbage())
},
loadFrame: function(t) {
this._clear_iframe();
var e = null;
if ("ActiveXObject"in window) {
var n = new window.ActiveXObject("htmlfile");
n.open(),
n.write("<html><script>document.domain='" + document.domain + "';</script>"),
n.write("<body><iframe id='" + this.iframeId + "' src='" + t + "'></iframe></body></html>"),
n.parentWindow.PushStream = L,
n.close(),
e = n.getElementById(this.iframeId),
this.transferDoc = n
} else
e = document.createElement("IFRAME"),
e.style.width = "1px",
e.style.height = "1px",
e.style.border = "none",
e.style.position = "absolute",
e.style.top = "-10px",
e.style.marginTop = "-10px",
e.style.zIndex = "-20",
e.PushStream = L,
document.body.appendChild(e),
e.setAttribute("src", t),
e.setAttribute("id", this.iframeId);
e.onload = S(M, this),
this.connection = e,
this.frameloadtimer = window.setTimeout(S(M, this), this.pushstream.timeout)
},
register: function(t) {
this.frameloadtimer = I(this.frameloadtimer),
t.p = S(this.process, this),
this.connection.onload = S(this._onframeloaded, this),
this.pushstream._onopen(),
this.setPingTimer(),
w.info("[Stream] frame registered")
},
process: function(t, e, n, i, o, r) {
this.pingtimer = I(this.pingtimer),
w.info("[Stream] message received", arguments),
t !== -1 && (r && (this.pushstream._etag = r),
o && (this.pushstream._lastModified = o),
i && (this.pushstream._lastEventId = i)),
this.pushstream._onmessage(y(n), t, e, i || "", !0, o),
this.setPingTimer()
},
_onframeloaded: function() {
w.info("[Stream] frame loaded (disconnected by server)"),
this.pushstream._onerror({
type: "timeout"
}),
this.connection.onload = null,
this.disconnect()
},
setPingTimer: function() {
this.pingtimer && I(this.pingtimer),
this.pingtimer = window.setTimeout(S(M, this), this.pushstream.pingtimeout)
}
};
var R = function(t) {
this.type = R.TYPE,
this.pushstream = t,
this.connection = null,
this.opentimer = null,
this.messagesQueue = [],
this._linkedInternalListen = S(this._internalListen, this),
this.xhrSettings = {
timeout: this.pushstream.timeout,
data: {},
url: null,
success: S(this.onmessage, this),
error: S(this.onerror, this),
load: S(this.onload, this),
beforeSend: S(this.beforeSend, this),
afterReceive: S(this.afterReceive, this)
}
};
R.TYPE = "LongPolling",
R.prototype = {
connect: function() {
this.messagesQueue = [],
this._closeCurrentConnection(),
this.urlWithBacktrack = F(this.pushstream, this.pushstream.urlPrefixLongpolling, {}, !0),
this.urlWithoutBacktrack = F(this.pushstream, this.pushstream.urlPrefixLongpolling, {}, !1),
this.xhrSettings.url = this.urlWithBacktrack,
this.useJSONP = this.pushstream._crossDomain || this.pushstream.useJSONP,
this.xhrSettings.scriptId = "PushStreamManager_" + this.pushstream.id,
this.useJSONP && (this.pushstream.messagesControlByArgument = !0),
this._listen(),
this.opentimer = window.setTimeout(S(N, this), 150),
w.info("[LongPolling] connecting to:", this.xhrSettings.url)
},
_listen: function() {
this._internalListenTimeout && I(this._internalListenTimeout),
this._internalListenTimeout = window.setTimeout(this._linkedInternalListen, 100)
},
_internalListen: function() {
this.pushstream._keepConnected && (this.xhrSettings.url = this.pushstream._useControlArguments() ? this.urlWithoutBacktrack : this.urlWithBacktrack,
this.xhrSettings.data = s({}, this.pushstream.extraParams(), this.xhrSettings.data, d(this.pushstream)),
this.useJSONP ? this.connection = A.jsonp(this.xhrSettings) : this.connection || (this.connection = A.load(this.xhrSettings)))
},
disconnect: function() {
this.connection && (w.debug("[LongPolling] closing connection to:", this.xhrSettings.url),
this._closeCurrentConnection(),
this.pushstream._onclose())
},
_closeCurrentConnection: function() {
if (this.opentimer = I(this.opentimer),
this.connection) {
try {
this.connection.abort()
} catch (t) {
try {
A.clear(this.connection)
} catch (e) {}
}
this.connection = null,
this.xhrSettings.url = null
}
},
beforeSend: function(t) {
this.pushstream.messagesControlByArgument || (t.setRequestHeader("If-None-Match", this.pushstream._etag),
t.setRequestHeader("If-Modified-Since", this.pushstream._lastModified))
},
afterReceive: function(t) {
this.pushstream.messagesControlByArgument || (this.pushstream._etag = t.getResponseHeader("Etag"),
this.pushstream._lastModified = t.getResponseHeader("Last-Modified")),
this.connection = null
},
onerror: function(t) {
this._closeCurrentConnection(),
this.pushstream._keepConnected && (304 === t ? this._listen() : (w.info("[LongPolling] error (disconnected by server):", t),
this.pushstream._onerror({
type: 403 === t || this.pushstream.readyState === L.CONNECTING ? "load" : "timeout"
})))
},
onload: function() {
this._listen()
},
onmessage: function(t) {
this._internalListenTimeout && I(this._internalListenTimeout),
w.info("[LongPolling] message received", t);
for (var e = null, i = f(t) ? t : t.replace(/\}\{/g, "}\r\n{").split("\r\n"), o = 0; o < i.length; o++)
i[o] && (e = n.parseMessage(i[o], this.pushstream),
this.messagesQueue.push(e),
this.pushstream.messagesControlByArgument && e.time && (this.pushstream._etag = e.tag,
this.pushstream._lastModified = e.time));
for (this._listen(); this.messagesQueue.length > 0; ) {
var r = this.messagesQueue.shift();
this.pushstream._onmessage(r.text, r.id, r.channel, r.eventid, 0 === this.messagesQueue.length, r.time)
}
}
};
var O = []
, L = function(t) {
t = t || {},
this.id = O.push(this) - 1,
this.useSSL = t.useSSL || !1,
this.host = t.host || window.location.hostname,
this.port = Number(t.port || (this.useSSL ? 443 : 80)),
this.timeout = t.timeout || 3e4,
this.pingtimeout = t.pingtimeout || 3e4,
this.reconnectOnTimeoutInterval = t.reconnectOnTimeoutInterval || 3e3,
this.reconnectOnChannelUnavailableInterval = t.reconnectOnChannelUnavailableInterval || 6e4,
this.autoReconnect = t.autoReconnect !== !1,
this.lastEventId = t.lastEventId || null,
this.messagesPublishedAfter = t.messagesPublishedAfter,
this.messagesControlByArgument = t.messagesControlByArgument || !1,
this.tagArgument = t.tagArgument || "tag",
this.timeArgument = t.timeArgument || "time",
this.eventIdArgument = t.eventIdArgument || "eventid",
this.useJSONP = t.useJSONP || !1,
this._reconnecttimer = null,
this._etag = 0,
this._lastModified = null,
this._lastEventId = null,
this.urlPrefixPublisher = t.urlPrefixPublisher || "/pub",
this.urlPrefixStream = t.urlPrefixStream || "/sub",
this.urlPrefixEventsource = t.urlPrefixEventsource || "/ev",
this.urlPrefixLongpolling = t.urlPrefixLongpolling || "/lp",
this.urlPrefixWebsocket = t.urlPrefixWebsocket || "/ws",
this.jsonIdKey = t.jsonIdKey || "id",
this.jsonChannelKey = t.jsonChannelKey || "channel",
this.jsonTextKey = t.jsonTextKey || "text",
this.jsonTagKey = t.jsonTagKey || "tag",
this.jsonTimeKey = t.jsonTimeKey || "time",
this.jsonEventIdKey = t.jsonEventIdKey || "eventid",
this.modes = (t.modes || "eventsource|websocket|stream|longpolling").split("|"),
this.wrappers = [],
this.wrapper = null,
this.onchanneldeleted = t.onchanneldeleted || null,
this.onmessage = t.onmessage || null,
this.onerror = t.onerror || null,
this.onstatuschange = t.onstatuschange || null,
this.extraParams = t.extraParams || function() {
return {}
}
,
this.channels = {},
this.channelsCount = 0,
this.channelsByArgument = t.channelsByArgument || !1,
this.channelsArgument = t.channelsArgument || "channels",
this._crossDomain = n.isCrossDomainUrl(k(this));
for (var e = 0; e < this.modes.length; e++)
try {
var i = null;
switch (this.modes[e]) {
case "websocket":
i = new T(this);
break;
case "eventsource":
i = new B(this);
break;
case "longpolling":
i = new R(this);
break;
case "stream":
i = new j(this)
}
this.wrappers[this.wrappers.length] = i
} catch (o) {
w.info(o)
}
this.readyState = 0
};
L.LOG_LEVEL = "error",
L.LOG_OUTPUT_ELEMENT_ID = "Log4jsLogOutput",
L.CLOSED = 0,
L.CONNECTING = 1,
L.OPEN = 2,
L.prototype = {
addChannel: function(t, e) {
if (D(t) !== t)
throw "Invalid channel name! Channel has to be a set of [a-zA-Z0-9]";
if (w.debug("entering addChannel"),
"undefined" != typeof this.channels[t])
throw "Cannot add channel " + t + ": already subscribed";
e = e || {},
w.info("adding channel", t, e),
this.channels[t] = e,
this.channelsCount++,
this.readyState !== L.CLOSED && this.connect(),
w.debug("leaving addChannel")
},
removeChannel: function(t) {
this.channels[t] && (w.info("removing channel", t),
delete this.channels[t],
this.channelsCount--)
},
removeAllChannels: function() {
w.info("removing all channels"),
this.channels = {},
this.channelsCount = 0
},
_setState: function(t) {
this.readyState !== t && (w.info("status changed", t),
this.readyState = t,
this.onstatuschange && this.onstatuschange(this.readyState))
},
connect: function() {
if (w.debug("entering connect"),
!this.host)
throw "PushStream host not specified";
if (isNaN(this.port))
throw "PushStream port not specified";
if (!this.channelsCount)
throw "No channels specified";
if (0 === this.wrappers.length)
throw "No available support for this browser";
this._keepConnected = !0,
this._lastUsedMode = 0,
this._connect(),
w.debug("leaving connect")
},
disconnect: function() {
w.debug("entering disconnect"),
this._keepConnected = !1,
this._disconnect(),
this._setState(L.CLOSED),
w.info("disconnected"),
w.debug("leaving disconnect")
},
_useControlArguments: function() {
return this.messagesControlByArgument && (null !== this._lastModified || null !== this._lastEventId)
},
_connect: function() {
if (null === this._lastEventId && (this._lastEventId = this.lastEventId),
null === this._lastModified) {
var t = this.messagesPublishedAfter;
if (!v(t)) {
var e = Number(this.messagesPublishedAfter);
e > 0 ? (t = new Date,
t.setTime(t.getTime() - 1e3 * e)) : e < 0 && (t = new Date(0))
}
v(t) && (this._lastModified = n.dateToUTCString(t));
}
this._disconnect(),
this._setState(L.CONNECTING),
this.wrapper = this.wrappers[this._lastUsedMode++ % this.wrappers.length];
try {
this.wrapper.connect()
} catch (i) {
this.wrapper && this.wrapper.disconnect()
}
},
_disconnect: function() {
this._reconnecttimer = I(this._reconnecttimer),
this.wrapper && this.wrapper.disconnect()
},
_onopen: function() {
this._reconnecttimer = I(this._reconnecttimer),
this._setState(L.OPEN),
this._lastUsedMode > 0 && this._lastUsedMode--
},
_onclose: function() {
this._reconnecttimer = I(this._reconnecttimer),
this._setState(L.CLOSED),
this._reconnect(this.reconnectOnTimeoutInterval)
},
_onmessage: function(t, e, n, i, o, r) {
w.debug("message", t, e, n, i, o, r),
e === -2 ? this.onchanneldeleted && this.onchanneldeleted(n) : e > 0 && this.onmessage && this.onmessage(t, e, n, i, o, r)
},
_onerror: function(t) {
this._setState(L.CLOSED),
this._reconnect("timeout" === t.type ? this.reconnectOnTimeoutInterval : this.reconnectOnChannelUnavailableInterval),
this.onerror && this.onerror(t)
},
_reconnect: function(t) {
this.autoReconnect && this._keepConnected && !this._reconnecttimer && this.readyState !== L.CONNECTING && (w.info("trying to reconnect in", t),
this._reconnecttimer = window.setTimeout(S(this._connect, this), t))
},
sendMessage: function(t, e, n) {
t = D(t),
this.wrapper.type === T.TYPE ? (this.wrapper.sendMessage(t),
e && e()) : A.post({
url: k(this),
data: t,
success: e,
error: n,
crossDomain: this._crossDomain
})
}
},
L.sendMessage = function(t, e, n, i) {
A.post({
url: t,
data: D(e),
success: n,
error: i
})
}
,
L.register = function(t) {
var e = t.window.location.href.match(/streamid=([0-9]*)&?/);
e[1] && O[e[1]] && O[e[1]].wrapper.register(t)
}
,
L.unload = function() {
for (var t = 0; t < O.length; t++)
try {
O[t].disconnect()
} catch (e) {}
}
,
t.PushStream = L,
t.PushStreamManager = O,
window.attachEvent && window.attachEvent("onunload", L.unload),
window.addEventListener && window.addEventListener.call(window, "unload", L.unload, !1)
}
}
}
]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment