text: /*!
  
  Holder - client side image placeholders
  Version 2.6.0+51ebp
  © 2015 Ivan Malopinsky - http://imsky.co
  
  Site:     http://holderjs.com
  Issues:   https://github.com/imsky/holder/issues
  License:  http://opensource.org/licenses/MIT
  
  */
  /*!
   * AnchorJS - v1.0.1 - 2015-05-15
   * https://github.com/bryanbraun/anchorjs
   * Copyright (c) 2015 Bryan Braun; Licensed MIT
   */
  function AnchorJS(a) {
  	"use strict";
  	this.options = a || {},
  	this._applyRemainingDefaultOptions = function(a) {
  		this.options.icon = this.options.hasOwnProperty("icon") ? a.icon: "&#xe9cb",
  		this.options.visible = this.options.hasOwnProperty("visible") ? a.visible: "hover",
  		this.options.placement = this.options.hasOwnProperty("placement") ? a.placement: "right",
  		this.options["class"] = this.options.hasOwnProperty("class") ? a["class"] : ""
  	},
  	this._applyRemainingDefaultOptions(a),
  	this.add = function(a) {
  		var b, c, d, e, f, g, h, i, j, k, l, m, n, o;
  		if (this._applyRemainingDefaultOptions(this.options), a) {
  			if ("string" != typeof a) throw new Error("The selector provided to AnchorJS was invalid.")
  		} else a = "h1, h2, h3, h4, h5, h6";
  		if (b = document.querySelectorAll(a), 0 === b.length) return ! 1;
  		for (this._addBaselineStyles(), c = document.querySelectorAll("[id]"), d = [].map.call(c,
  		function(a) {
  			return a.id
  		}), f = 0; f < b.length; f++) {
  			if (b[f].hasAttribute("id")) e = b[f].getAttribute("id");
  			else {
  				g = b[f].textContent,
  				h = g.replace(/[^\w\s-]/gi, "").replace(/\s+/g, "-").replace(/-{2,}/g, "-").substring(0, 32).replace(/^-+|-+$/gm, "").toLowerCase(),
  				k = h,
  				j = 0;
  				do void 0 !== i && (k = h + "-" + j),
  				i = d.indexOf(k),
  				j += 1;
  				while ( - 1 !== i);
  				i = void 0,
  				d.push(k),
  				b[f].setAttribute("id", k),
  				e = k
  			}
  			l = e.replace(/-/g, " "),
  			m = '<a class="anchorjs-link ' + this.options["class"] + '" href="#' + e + '" aria-label="Anchor link for: ' + l + '" data-anchorjs-icon="' + this.options.icon + '"></a>',
  			n = document.createElement("div"),
  			n.innerHTML = m,
  			o = n.childNodes,
  			"always" === this.options.visible && (o[0].style.opacity = "1"),
  			"&#xe9cb" === this.options.icon && (o[0].style.fontFamily = "anchorjs-icons", o[0].style.fontStyle = "normal", o[0].style.fontVariant = "normal", o[0].style.fontWeight = "normal"),
  			"left" === this.options.placement ? (o[0].style.position = "absolute", o[0].style.marginLeft = "-1em", o[0].style.paddingRight = "0.5em", b[f].insertBefore(o[0], b[f].firstChild)) : (o[0].style.paddingLeft = "0.375em", b[f].appendChild(o[0]))
  		}
  		return this
  	},
  	this.remove = function(a) {
  		for (var b, c = document.querySelectorAll(a), d = 0; d < c.length; d++) b = c[d].querySelector(".anchorjs-link"),
  		b && c[d].removeChild(b);
  		return this
  	},
  	this._addBaselineStyles = function() {
  		if (null === document.head.querySelector("style.anchorjs")) {
  			var a, b = document.createElement("style"),
  			c = " .anchorjs-link {   opacity: 0;   text-decoration: none;   -webkit-font-smoothing: antialiased;   -moz-osx-font-smoothing: grayscale; }",
  			d = " *:hover > .anchorjs-link, .anchorjs-link:focus  {   opacity: 1; }",
  			e = ' @font-face {   font-family: "anchorjs-icons";   font-style: normal;   font-weight: normal;   src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBTUAAAC8AAAAYGNtYXAWi9QdAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zgq29TcAAAF4AAABNGhlYWQEZM3pAAACrAAAADZoaGVhBhUDxgAAAuQAAAAkaG10eASAADEAAAMIAAAAFGxvY2EAKACuAAADHAAAAAxtYXhwAAgAVwAAAygAAAAgbmFtZQ5yJ3cAAANIAAAB2nBvc3QAAwAAAAAFJAAAACAAAwJAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpywPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6cv//f//AAAAAAAg6cv//f//AAH/4xY5AAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAACADEARAJTAsAAKwBUAAABIiYnJjQ/AT4BMzIWFxYUDwEGIicmND8BNjQnLgEjIgYPAQYUFxYUBw4BIwciJicmND8BNjIXFhQPAQYUFx4BMzI2PwE2NCcmNDc2MhcWFA8BDgEjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAEAAAABAACiToc1Xw889QALBAAAAAAA0XnFFgAAAADRecUWAAAAAAJTAsAAAAAIAAIAAAAAAAAAAQAAA8D/wAAABAAAAAAAAlMAAQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAACAAAAAoAAMQAAAAAACgAUAB4AmgABAAAABQBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADgAAAAEAAAAAAAIABwCfAAEAAAAAAAMADgBLAAEAAAAAAAQADgC0AAEAAAAAAAUACwAqAAEAAAAAAAYADgB1AAEAAAAAAAoAGgDeAAMAAQQJAAEAHAAOAAMAAQQJAAIADgCmAAMAAQQJAAMAHABZAAMAAQQJAAQAHADCAAMAAQQJAAUAFgA1AAMAAQQJAAYAHACDAAMAAQQJAAoANAD4YW5jaG9yanMtaWNvbnMAYQBuAGMAaABvAHIAagBzAC0AaQBjAG8AbgBzVmVyc2lvbiAxLjAAVgBlAHIAcwBpAG8AbgAgADEALgAwYW5jaG9yanMtaWNvbnMAYQBuAGMAaABvAHIAagBzAC0AaQBjAG8AbgBzYW5jaG9yanMtaWNvbnMAYQBuAGMAaABvAHIAagBzAC0AaQBjAG8AbgBzUmVndWxhcgBSAGUAZwB1AGwAYQByYW5jaG9yanMtaWNvbnMAYQBuAGMAaABvAHIAagBzAC0AaQBjAG8AbgBzRm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format("truetype"); }',
  			f = " [data-anchorjs-icon]::after {   content: attr(data-anchorjs-icon); }";
  			b.className = "anchorjs",
  			b.appendChild(document.createTextNode("")),
  			a = document.head.querySelector('[rel="stylesheet"], style'),
  			void 0 === a ? document.head.appendChild(b) : document.head.insertBefore(b, a),
  			b.sheet.insertRule(c, b.sheet.cssRules.length),
  			b.sheet.insertRule(d, b.sheet.cssRules.length),
  			b.sheet.insertRule(f, b.sheet.cssRules.length),
  			b.sheet.insertRule(e, b.sheet.cssRules.length)
  		}
  	}
  } !
  function(a, b) {
  	"object" == typeof exports && "object" == typeof module ? module.exports = b() : "function" == typeof define && define.amd ? define(b) : "object" == typeof exports ? exports.Holder = b() : a.Holder = b()
  } (this,
  function() {
  	return function(a) {
  		function b(d) {
  			if (c[d]) return c[d].exports;
  			var e = c[d] = {
  				exports: {},
  				id: d,
  				loaded: !1
  			};
  			return a[d].call(e.exports, e, e.exports, b),
  			e.loaded = !0,
  			e.exports
  		}
  		var c = {};
  		return b.m = a,
  		b.c = c,
  		b.p = "",
  		b(0)
  	} ([function(a, b, c) { (function(b) {
  			function d(a, b, c, d) {
  				var g = e(c.substr(c.lastIndexOf(a.domain)), a);
  				g && f({
  					mode: null,
  					el: d,
  					flags: g,
  					engineSettings: b
  				})
  			}
  			function e(a, b) {
  				for (var c = {
  					theme: y(K.settings.themes.gray, null),
  					stylesheets: b.stylesheets,
  					holderURL: []
  				},
  				d = !1, e = String.fromCharCode(11), f = a.replace(/([^\\])\//g, "$1" + e).split(e), g = /%[0-9a-f]{2}/gi, h = f.length, i = 0; h > i; i++) {
  					var j = f[i];
  					if (j.match(g)) try {
  						j = decodeURIComponent(j)
  					} catch(k) {
  						j = f[i]
  					}
  					var l = !1;
  					if (K.flags.dimensions.match(j)) d = !0,
  					c.dimensions = K.flags.dimensions.output(j),
  					l = !0;
  					else if (K.flags.fluid.match(j)) d = !0,
  					c.dimensions = K.flags.fluid.output(j),
  					c.fluid = !0,
  					l = !0;
  					else if (K.flags.textmode.match(j)) c.textmode = K.flags.textmode.output(j),
  					l = !0;
  					else if (K.flags.colors.match(j)) {
  						var m = K.flags.colors.output(j);
  						c.theme = y(c.theme, m),
  						l = !0
  					} else if (b.themes[j]) b.themes.hasOwnProperty(j) && (c.theme = y(b.themes[j], null)),
  					l = !0;
  					else if (K.flags.font.match(j)) c.font = K.flags.font.output(j),
  					l = !0;
  					else if (K.flags.auto.match(j)) c.auto = !0,
  					l = !0;
  					else if (K.flags.text.match(j)) c.text = K.flags.text.output(j),
  					l = !0;
  					else if (K.flags.size.match(j)) c.size = K.flags.size.output(j),
  					l = !0;
  					else if (K.flags.random.match(j)) {
  						null == K.vars.cache.themeKeys && (K.vars.cache.themeKeys = Object.keys(b.themes));
  						var n = K.vars.cache.themeKeys[0 | Math.random() * K.vars.cache.themeKeys.length];
  						c.theme = y(b.themes[n], null),
  						l = !0
  					}
  					l && c.holderURL.push(j)
  				}
  				return c.holderURL.unshift(b.domain),
  				c.holderURL = c.holderURL.join("/"),
  				d ? c: !1
  			}
  			function f(a) {
  				var b = a.mode,
  				c = a.el,
  				d = a.flags,
  				e = a.engineSettings,
  				f = d.dimensions,
  				h = d.theme,
  				i = f.width + "x" + f.height;
  				if (b = null == b ? d.fluid ? "fluid": "image": b, null != d.text && (h.text = d.text, "object" === c.nodeName.toLowerCase())) {
  					for (var l = h.text.split("\\n"), m = 0; m < l.length; m++) l[m] = A(l[m]);
  					h.text = l.join("\\n")
  				}
  				var n = d.holderURL,
  				o = y(e, null);
  				if (d.font && (h.font = d.font, !o.noFontFallback && "img" === c.nodeName.toLowerCase() && K.setup.supportsCanvas && "svg" === o.renderer && (o = y(o, {
  					renderer: "canvas"
  				}))), d.font && "canvas" == o.renderer && (o.reRender = !0), "background" == b) null == c.getAttribute("data-background-src") && p(c, {
  					"data-background-src": n
  				});
  				else {
  					var q = {};
  					q[K.vars.dataAttr] = n,
  					p(c, q)
  				}
  				d.theme = h,
  				c.holderData = {
  					flags: d,
  					engineSettings: o
  				},
  				("image" == b || "fluid" == b) && p(c, {
  					alt: h.text ? h.text + " [" + i + "]": i
  				});
  				var r = {
  					mode: b,
  					el: c,
  					holderSettings: {
  						dimensions: f,
  						theme: h,
  						flags: d
  					},
  					engineSettings: o
  				};
  				"image" == b ? ("html" != o.renderer && d.auto || (c.style.width = f.width + "px", c.style.height = f.height + "px"), "html" == o.renderer ? c.style.backgroundColor = h.background: (g(r), "exact" == d.textmode && (c.holderData.resizeUpdate = !0, K.vars.resizableImages.push(c), j(c)))) : "background" == b && "html" != o.renderer ? g(r) : "fluid" == b && (c.holderData.resizeUpdate = !0, "%" == f.height.slice( - 1) ? c.style.height = f.height: null != d.auto && d.auto || (c.style.height = f.height + "px"), "%" == f.width.slice( - 1) ? c.style.width = f.width: null != d.auto && d.auto || (c.style.width = f.width + "px"), ("inline" == c.style.display || "" === c.style.display || "none" == c.style.display) && (c.style.display = "block"), k(c), "html" == o.renderer ? c.style.backgroundColor = h.background: (K.vars.resizableImages.push(c), j(c)))
  			}
  			function g(a) {
  				function c() {
  					var b = null;
  					switch (i.renderer) {
  					case "canvas":
  						b = M(k, a);
  						break;
  					case "svg":
  						b = N(k, a);
  						break;
  					default:
  						throw "Holder: invalid renderer: " + i.renderer
  					}
  					return b
  				}
  				var d = null,
  				e = a.mode,
  				f = a.holderSettings,
  				g = a.el,
  				i = a.engineSettings;
  				switch (i.renderer) {
  				case "svg":
  					if (!K.setup.supportsSVG) return;
  					break;
  				case "canvas":
  					if (!K.setup.supportsCanvas) return;
  					break;
  				default:
  					return
  				}
  				var j = {
  					width: f.dimensions.width,
  					height: f.dimensions.height,
  					theme: f.theme,
  					flags: f.flags
  				},
  				k = h(j);
  				if (d = c(), null == d) throw "Holder: couldn't render placeholder";
  				"background" == e ? (g.style.backgroundImage = "url(" + d + ")", g.style.backgroundSize = j.width + "px " + j.height + "px") : ("img" === g.nodeName.toLowerCase() ? p(g, {
  					src: d
  				}) : "object" === g.nodeName.toLowerCase() && (p(g, {
  					data: d
  				}), p(g, {
  					type: "image/svg+xml"
  				})), i.reRender && b.setTimeout(function() {
  					var a = c();
  					if (null == a) throw "Holder: couldn't render placeholder";
  					"img" === g.nodeName.toLowerCase() ? p(g, {
  						src: a
  					}) : "object" === g.nodeName.toLowerCase() && (p(g, {
  						data: a
  					}), p(g, {
  						type: "image/svg+xml"
  					}))
  				},
  				100)),
  				p(g, {
  					"data-holder-rendered": !0
  				})
  			}
  			function h(a) {
  				function b(a, b, c, d) {
  					b.width = c,
  					b.height = d,
  					a.width = Math.max(a.width, b.width),
  					a.height += b.height,
  					a.add(b)
  				}
  				var c = K.defaults.size;
  				switch (parseFloat(a.theme.size) ? c = a.theme.size: parseFloat(a.flags.size) && (c = a.flags.size), a.font = {
  					family: a.theme.font ? a.theme.font: "Arial, Helvetica, Open Sans, sans-serif",
  					size: i(a.width, a.height, c),
  					units: a.theme.units ? a.theme.units: K.defaults.units,
  					weight: a.theme.fontweight ? a.theme.fontweight: "bold"
  				},
  				a.text = a.theme.text ? a.theme.text: Math.floor(a.width) + "x" + Math.floor(a.height), a.flags.textmode) {
  				case "literal":
  					a.text = a.flags.dimensions.width + "x" + a.flags.dimensions.height;
  					break;
  				case "exact":
  					if (!a.flags.exactDimensions) break;
  					a.text = Math.floor(a.flags.exactDimensions.width) + "x" + Math.floor(a.flags.exactDimensions.height)
  				}
  				var d = new w({
  					width: a.width,
  					height: a.height
  				}),
  				e = d.Shape,
  				f = new e.Rect("holderBg", {
  					fill: a.theme.background
  				});
  				f.resize(a.width, a.height),
  				d.root.add(f);
  				var g = new e.Group("holderTextGroup", {
  					text: a.text,
  					align: "center",
  					font: a.font,
  					fill: a.theme.foreground
  				});
  				g.moveTo(null, null, 1),
  				d.root.add(g);
  				var h = g.textPositionData = L(d);
  				if (!h) throw "Holder: staging fallback not supported yet.";
  				g.properties.leading = h.boundingBox.height;
  				var j = null,
  				k = null;
  				if (h.lineCount > 1) {
  					var l = 0,
  					m = 0,
  					n = a.width * K.setup.lineWrapRatio,
  					o = 0;
  					k = new e.Group("line" + o);
  					for (var p = 0; p < h.words.length; p++) {
  						var q = h.words[p];
  						j = new e.Text(q.text);
  						var r = "\\n" == q.text; (l + q.width >= n || r === !0) && (b(g, k, l, g.properties.leading), l = 0, m += g.properties.leading, o += 1, k = new e.Group("line" + o), k.y = m),
  						r !== !0 && (j.moveTo(l, 0), l += h.spaceWidth + q.width, k.add(j))
  					}
  					b(g, k, l, g.properties.leading);
  					for (var s in g.children) k = g.children[s],
  					k.moveTo((g.width - k.width) / 2, null, null);
  					g.moveTo((a.width - g.width) / 2, (a.height - g.height) / 2, null),
  					(a.height - g.height) / 2 < 0 && g.moveTo(null, 0, null)
  				} else j = new e.Text(a.text),
  				k = new e.Group("line0"),
  				k.add(j),
  				g.add(k),
  				g.moveTo((a.width - h.boundingBox.width) / 2, (a.height - h.boundingBox.height) / 2, null);
  				return d
  			}
  			function i(a, b, c) {
  				var d = parseInt(a, 10),
  				e = parseInt(b, 10),
  				f = Math.max(d, e),
  				g = Math.min(d, e),
  				h = .8 * Math.min(g, f * K.defaults.scale);
  				return Math.round(Math.max(c, h))
  			}
  			function j(a) {
  				var b;
  				b = null == a || null == a.nodeType ? K.vars.resizableImages: [a];
  				for (var c = 0,
  				d = b.length; d > c; c++) {
  					var e = b[c];
  					if (e.holderData) {
  						var f = e.holderData.flags,
  						h = E(e);
  						if (h) {
  							if (!e.holderData.resizeUpdate) continue;
  							if (f.fluid && f.auto) {
  								var i = e.holderData.fluidConfig;
  								switch (i.mode) {
  								case "width":
  									h.height = h.width / i.ratio;
  									break;
  								case "height":
  									h.width = h.height * i.ratio
  								}
  							}
  							var j = {
  								mode: "image",
  								holderSettings: {
  									dimensions: h,
  									theme: f.theme,
  									flags: f
  								},
  								el: e,
  								engineSettings: e.holderData.engineSettings
  							};
  							"exact" == f.textmode && (f.exactDimensions = h, j.holderSettings.dimensions = f.dimensions),
  							g(j)
  						} else n(e)
  					}
  				}
  			}
  			function k(a) {
  				if (a.holderData) {
  					var b = E(a);
  					if (b) {
  						var c = a.holderData.flags,
  						d = {
  							fluidHeight: "%" == c.dimensions.height.slice( - 1),
  							fluidWidth: "%" == c.dimensions.width.slice( - 1),
  							mode: null,
  							initialDimensions: b
  						};
  						d.fluidWidth && !d.fluidHeight ? (d.mode = "width", d.ratio = d.initialDimensions.width / parseFloat(c.dimensions.height)) : !d.fluidWidth && d.fluidHeight && (d.mode = "height", d.ratio = parseFloat(c.dimensions.width) / d.initialDimensions.height),
  						a.holderData.fluidConfig = d
  					} else n(a)
  				}
  			}
  			function l() {
  				for (var a, c = [], d = Object.keys(K.vars.invisibleImages), e = 0, f = d.length; f > e; e++) a = K.vars.invisibleImages[d[e]],
  				E(a) && "img" == a.nodeName.toLowerCase() && (c.push(a), delete K.vars.invisibleImages[d[e]]);
  				c.length && J.run({
  					images: c
  				}),
  				b.requestAnimationFrame(l)
  			}
  			function m() {
  				K.vars.visibilityCheckStarted || (b.requestAnimationFrame(l), K.vars.visibilityCheckStarted = !0)
  			}
  			function n(a) {
  				a.holderData.invisibleId || (K.vars.invisibleId += 1, K.vars.invisibleImages["i" + K.vars.invisibleId] = a, a.holderData.invisibleId = K.vars.invisibleId)
  			}
  			function o(a, b) {
  				return null == b ? document.createElement(a) : document.createElementNS(b, a)
  			}
  			function p(a, b) {
  				for (var c in b) a.setAttribute(c, b[c])
  			}
  			function q(a, b, c) {
  				var d, e;
  				null == a ? (a = o("svg", F), d = o("defs", F), e = o("style", F), p(e, {
  					type: "text/css"
  				}), d.appendChild(e), a.appendChild(d)) : e = a.querySelector("style"),
  				a.webkitMatchesSelector && a.setAttribute("xmlns", F);
  				for (var f = 0; f < a.childNodes.length; f++) a.childNodes[f].nodeType === G && a.removeChild(a.childNodes[f]);
  				for (; e.childNodes.length;) e.removeChild(e.childNodes[0]);
  				return p(a, {
  					width: b,
  					height: c,
  					viewBox: "0 0 " + b + " " + c,
  					preserveAspectRatio: "none"
  				}),
  				a
  			}
  			function r(a, c) {
  				if (b.XMLSerializer) {
  					var d = new XMLSerializer,
  					e = "",
  					f = c.stylesheets;
  					if (c.svgXMLStylesheet) {
  						for (var g = s(), h = f.length - 1; h >= 0; h--) {
  							var i = g.createProcessingInstruction("xml-stylesheet", 'href="' + f[h] + '" rel="stylesheet"');
  							g.insertBefore(i, g.firstChild)
  						}
  						var j = g.createProcessingInstruction("xml", 'version="1.0" encoding="UTF-8" standalone="yes"');
  						g.insertBefore(j, g.firstChild),
  						g.removeChild(g.documentElement),
  						e = d.serializeToString(g)
  					}
  					var k = d.serializeToString(a);
  					return k = k.replace(/\&amp;(\#[0-9]{2,}\;)/g, "&$1"),
  					e + k
  				}
  			}
  			function s() {
  				return b.DOMParser ? (new DOMParser).parseFromString("<xml />", "application/xml") : void 0
  			}
  			function t(a) {
  				K.vars.debounceTimer || a.call(this),
  				K.vars.debounceTimer && b.clearTimeout(K.vars.debounceTimer),
  				K.vars.debounceTimer = b.setTimeout(function() {
  					K.vars.debounceTimer = null,
  					a.call(this)
  				},
  				K.setup.debounce)
  			}
  			function u() {
  				t(function() {
  					j(null)
  				})
  			}
  			var v = c(1),
  			w = c(2),
  			x = c(3),
  			y = x.extend,
  			z = x.cssProps,
  			A = x.encodeHtmlEntity,
  			B = x.decodeHtmlEntity,
  			C = x.imageExists,
  			D = x.getNodeArray,
  			E = x.dimensionCheck,
  			F = "http://www.w3.org/2000/svg",
  			G = 8,
  			H = "2.6.0",
  			I = "\nCreated with Holder.js " + H + ".\nLearn more at http://holderjs.com\n(c) 2012-2015 Ivan Malopinsky - http://imsky.co\n",
  			J = {
  				version: H,
  				addTheme: function(a, b) {
  					return null != a && null != b && (K.settings.themes[a] = b),
  					delete K.vars.cache.themeKeys,
  					this
  				},
  				addImage: function(a, b) {
  					var c = document.querySelectorAll(b);
  					if (c.length) for (var d = 0,
  					e = c.length; e > d; d++) {
  						var f = o("img"),
  						g = {};
  						g[K.vars.dataAttr] = a,
  						p(f, g),
  						c[d].appendChild(f)
  					}
  					return this
  				},
  				setResizeUpdate: function(a, b) {
  					a.holderData && (a.holderData.resizeUpdate = !!b, a.holderData.resizeUpdate && j(a))
  				},
  				run: function(a) {
  					a = a || {};
  					var c = {},
  					g = y(K.settings, a);
  					K.vars.preempted = !0,
  					K.vars.dataAttr = g.dataAttr || K.vars.dataAttr,
  					c.renderer = g.renderer ? g.renderer: K.setup.renderer,
  					-1 === K.setup.renderers.join(",").indexOf(c.renderer) && (c.renderer = K.setup.supportsSVG ? "svg": K.setup.supportsCanvas ? "canvas": "html");
  					var h = D(g.images),
  					i = D(g.bgnodes),
  					j = D(g.stylenodes),
  					k = D(g.objects);
  					c.stylesheets = [],
  					c.svgXMLStylesheet = !0,
  					c.noFontFallback = g.noFontFallback ? g.noFontFallback: !1;
  					for (var l = 0; l < j.length; l++) {
  						var m = j[l];
  						if (m.attributes.rel && m.attributes.href && "stylesheet" == m.attributes.rel.value) {
  							var n = m.attributes.href.value,
  							p = o("a");
  							p.href = n;
  							var q = p.protocol + "//" + p.host + p.pathname + p.search;
  							c.stylesheets.push(q)
  						}
  					}
  					for (l = 0; l < i.length; l++) if (b.getComputedStyle) {
  						var r = b.getComputedStyle(i[l], null).getPropertyValue("background-image"),
  						s = i[l].getAttribute("data-background-src"),
  						t = null;
  						t = null == s ? r: s;
  						var u = null,
  						v = "?" + g.domain + "/";
  						if (0 === t.indexOf(v)) u = t.slice(1);
  						else if ( - 1 != t.indexOf(v)) {
  							var w = t.substr(t.indexOf(v)).slice(1),
  							x = w.match(/([^\"]*)"?\)/);
  							null != x && (u = x[1])
  						}
  						if (null != u) {
  							var z = e(u, g);
  							z && f({
  								mode: "background",
  								el: i[l],
  								flags: z,
  								engineSettings: c
  							})
  						}
  					}
  					for (l = 0; l < k.length; l++) {
  						var A = k[l],
  						B = {};
  						try {
  							B.data = A.getAttribute("data"),
  							B.dataSrc = A.getAttribute(K.vars.dataAttr)
  						} catch(E) {}
  						var F = null != B.data && 0 === B.data.indexOf(g.domain),
  						G = null != B.dataSrc && 0 === B.dataSrc.indexOf(g.domain);
  						F ? d(g, c, B.data, A) : G && d(g, c, B.dataSrc, A)
  					}
  					for (l = 0; l < h.length; l++) {
  						var H = h[l],
  						I = {};
  						try {
  							I.src = H.getAttribute("src"),
  							I.dataSrc = H.getAttribute(K.vars.dataAttr),
  							I.rendered = H.getAttribute("data-holder-rendered")
  						} catch(E) {}
  						var J = null != I.src,
  						L = null != I.dataSrc && 0 === I.dataSrc.indexOf(g.domain),
  						M = null != I.rendered && "true" == I.rendered;
  						J ? 0 === I.src.indexOf(g.domain) ? d(g, c, I.src, H) : L && (M ? d(g, c, I.dataSrc, H) : !
  						function(a, b, c, e, f) {
  							C(a,
  							function(a) {
  								a || d(b, c, e, f)
  							})
  						} (I.src, g, c, I.dataSrc, H)) : L && d(g, c, I.dataSrc, H)
  					}
  					return this
  				}
  			},
  			K = {
  				settings: {
  					domain: "holder.js",
  					images: "img",
  					objects: "object",
  					bgnodes: "body .holderjs",
  					stylenodes: "head link.holderjs",
  					stylesheets: [],
  					themes: {
  						gray: {
  							background: "#EEEEEE",
  							foreground: "#AAAAAA"
  						},
  						social: {
  							background: "#3a5a97",
  							foreground: "#FFFFFF"
  						},
  						industrial: {
  							background: "#434A52",
  							foreground: "#C2F200"
  						},
  						sky: {
  							background: "#0D8FDB",
  							foreground: "#FFFFFF"
  						},
  						vine: {
  							background: "#39DBAC",
  							foreground: "#1E292C"
  						},
  						lava: {
  							background: "#F8591A",
  							foreground: "#1C2846"
  						}
  					}
  				},
  				defaults: {
  					size: 10,
  					units: "pt",
  					scale: 1 / 16
  				},
  				flags: {
  					dimensions: {
  						regex: /^(\d+)x(\d+)$/,
  						output: function(a) {
  							var b = this.regex.exec(a);
  							return {
  								width: +b[1],
  								height: +b[2]
  							}
  						}
  					},
  					fluid: {
  						regex: /^([0-9]+%?)x([0-9]+%?)$/,
  						output: function(a) {
  							var b = this.regex.exec(a);
  							return {
  								width: b[1],
  								height: b[2]
  							}
  						}
  					},
  					colors: {
  						regex: /(?:#|\^)([0-9a-f]{3,})\:(?:#|\^)([0-9a-f]{3,})/i,
  						output: function(a) {
  							var b = this.regex.exec(a);
  							return {
  								foreground: "#" + b[2],
  								background: "#" + b[1]
  							}
  						}
  					},
  					text: {
  						regex: /text\:(.*)/,
  						output: function(a) {
  							return this.regex.exec(a)[1].replace("\\/", "/")
  						}
  					},
  					font: {
  						regex: /font\:(.*)/,
  						output: function(a) {
  							return this.regex.exec(a)[1]
  						}
  					},
  					auto: {
  						regex: /^auto$/
  					},
  					textmode: {
  						regex: /textmode\:(.*)/,
  						output: function(a) {
  							return this.regex.exec(a)[1]
  						}
  					},
  					random: {
  						regex: /^random$/
  					},
  					size: {
  						regex: /size\:(\d+)/,
  						output: function(a) {
  							return this.regex.exec(a)[1]
  						}
  					}
  				}
  			},
  			L = function() {
  				var a = null,
  				b = null,
  				c = null;
  				return function(d) {
  					var e = d.root;
  					if (K.setup.supportsSVG) {
  						var f = !1,
  						g = function(a) {
  							return document.createTextNode(a)
  						}; (null == a || a.parentNode !== document.body) && (f = !0),
  						a = q(a, e.properties.width, e.properties.height),
  						a.style.display = "block",
  						f && (b = o("text", F), c = g(null), p(b, {
  							x: 0
  						}), b.appendChild(c), a.appendChild(b), document.body.appendChild(a), a.style.visibility = "hidden", a.style.position = "absolute", a.style.top = "-100%", a.style.left = "-100%");
  						var h = e.children.holderTextGroup,
  						i = h.properties;
  						p(b, {
  							y: i.font.size,
  							style: z({
  								"font-weight": i.font.weight,
  								"font-size": i.font.size + i.font.units,
  								"font-family": i.font.family
  							})
  						}),
  						c.nodeValue = i.text;
  						var j = b.getBBox(),
  						k = Math.ceil(j.width / (e.properties.width * K.setup.lineWrapRatio)),
  						l = i.text.split(" "),
  						m = i.text.match(/\\n/g);
  						k += null == m ? 0 : m.length,
  						c.nodeValue = i.text.replace(/[ ]+/g, "");
  						var n = b.getComputedTextLength(),
  						r = j.width - n,
  						s = Math.round(r / Math.max(1, l.length - 1)),
  						t = [];
  						if (k > 1) {
  							c.nodeValue = "";
  							for (var u = 0; u < l.length; u++) if (0 !== l[u].length) {
  								c.nodeValue = B(l[u]);
  								var v = b.getBBox();
  								t.push({
  									text: l[u],
  									width: v.width
  								})
  							}
  						}
  						return a.style.display = "none",
  						{
  							spaceWidth: s,
  							lineCount: k,
  							boundingBox: j,
  							words: t
  						}
  					}
  					return ! 1
  				}
  			} (),
  			M = function() {
  				var a = o("canvas"),
  				b = null;
  				return function(c) {
  					null == b && (b = a.getContext("2d"));
  					var d = c.root;
  					a.width = K.dpr(d.properties.width),
  					a.height = K.dpr(d.properties.height),
  					b.textBaseline = "middle",
  					b.fillStyle = d.children.holderBg.properties.fill,
  					b.fillRect(0, 0, K.dpr(d.children.holderBg.width), K.dpr(d.children.holderBg.height));
  					var e = d.children.holderTextGroup;
  					e.properties,
  					b.font = e.properties.font.weight + " " + K.dpr(e.properties.font.size) + e.properties.font.units + " " + e.properties.font.family + ", monospace",
  					b.fillStyle = e.properties.fill;
  					for (var f in e.children) {
  						var g = e.children[f];
  						for (var h in g.children) {
  							var i = g.children[h],
  							j = K.dpr(e.x + g.x + i.x),
  							k = K.dpr(e.y + g.y + i.y + e.properties.leading / 2);
  							b.fillText(i.properties.text, j, k)
  						}
  					}
  					return a.toDataURL("image/png")
  				}
  			} (),
  			N = function() {
  				if (b.XMLSerializer) {
  					var a = s(),
  					c = q(null, 0, 0),
  					d = o("rect", F);
  					return c.appendChild(d),
  					function(b, e) {
  						var f = b.root;
  						q(c, f.properties.width, f.properties.height);
  						for (var g = c.querySelectorAll("g"), h = 0; h < g.length; h++) g[h].parentNode.removeChild(g[h]);
  						var i = e.holderSettings.flags.holderURL,
  						j = "holder_" + (Number(new Date) + 32768 + (0 | 32768 * Math.random())).toString(16),
  						k = o("g", F),
  						l = f.children.holderTextGroup,
  						m = l.properties,
  						n = o("g", F),
  						s = l.textPositionData,
  						t = "#" + j + " text { " + z({
  							fill: m.fill,
  							"font-weight": m.font.weight,
  							"font-family": m.font.family + ", monospace",
  							"font-size": m.font.size + m.font.units
  						}) + " } ",
  						u = a.createComment("\nSource URL: " + i + I),
  						v = a.createCDATASection(t),
  						w = c.querySelector("style");
  						p(k, {
  							id: j
  						}),
  						c.insertBefore(u, c.firstChild),
  						w.appendChild(v),
  						k.appendChild(d),
  						k.appendChild(n),
  						c.appendChild(k),
  						p(d, {
  							width: f.children.holderBg.width,
  							height: f.children.holderBg.height,
  							fill: f.children.holderBg.properties.fill
  						}),
  						l.y += .8 * s.boundingBox.height;
  						for (var x in l.children) {
  							var y = l.children[x];
  							for (var A in y.children) {
  								var B = y.children[A],
  								C = l.x + y.x + B.x,
  								D = l.y + y.y + B.y,
  								E = o("text", F),
  								G = document.createTextNode(null);
  								p(E, {
  									x: C,
  									y: D
  								}),
  								G.nodeValue = B.properties.text,
  								E.appendChild(G),
  								n.appendChild(E)
  							}
  						}
  						var H = "data:image/svg+xml;base64," + btoa(unescape(encodeURIComponent(r(c, e.engineSettings))));
  						return H
  					}
  				}
  			} ();
  			for (var O in K.flags) K.flags.hasOwnProperty(O) && (K.flags[O].match = function(a) {
  				return a.match(this.regex)
  			});
  			K.setup = {
  				renderer: "html",
  				debounce: 100,
  				ratio: 1,
  				supportsCanvas: !1,
  				supportsSVG: !1,
  				lineWrapRatio: .9,
  				renderers: ["html", "canvas", "svg"]
  			},
  			K.dpr = function(a) {
  				return a * K.setup.ratio
  			},
  			K.vars = {
  				preempted: !1,
  				resizableImages: [],
  				invisibleImages: {},
  				invisibleId: 0,
  				visibilityCheckStarted: !1,
  				debounceTimer: null,
  				cache: {},
  				dataAttr: "data-src"
  			},
  			function() {
  				var a = 1,
  				c = 1,
  				d = o("canvas"),
  				e = null;
  				d.getContext && -1 != d.toDataURL("image/png").indexOf("data:image/png") && (K.setup.renderer = "canvas", e = d.getContext("2d"), K.setup.supportsCanvas = !0),
  				K.setup.supportsCanvas && (a = b.devicePixelRatio || 1, c = e.webkitBackingStorePixelRatio || e.mozBackingStorePixelRatio || e.msBackingStorePixelRatio || e.oBackingStorePixelRatio || e.backingStorePixelRatio || 1),
  				K.setup.ratio = a / c,
  				document.createElementNS && document.createElementNS(F, "svg").createSVGRect && (K.setup.renderer = "svg", K.setup.supportsSVG = !0)
  			} (),
  			m(),
  			v && v(function() {
  				K.vars.preempted || J.run(),
  				b.addEventListener ? (b.addEventListener("resize", u, !1), b.addEventListener("orientationchange", u, !1)) : b.attachEvent("onresize", u),
  				"object" == typeof b.Turbolinks && b.document.addEventListener("page:change",
  				function() {
  					J.run()
  				})
  			}),
  			a.exports = J
  		}).call(b,
  		function() {
  			return this
  		} ())
  	},
  	function(a) {
  		function b(a) {
  			function b(a) {
  				if (!v) {
  					if (!g.body) return e(b);
  					for (v = !0; a = w.shift();) e(a)
  				}
  			}
  			function c(a) { (t || a.type === i || g[m] === l) && (d(), b())
  			}
  			function d() {
  				t ? (g[s](q, c, j), a[s](i, c, j)) : (g[o](r, c), a[o](k, c))
  			}
  			function e(a, b) {
  				setTimeout(a, +b >= 0 ? b: 1)
  			}
  			function f(a) {
  				v ? e(a) : w.push(a)
  			}
  			null == document.readyState && document.addEventListener && (document.addEventListener("DOMContentLoaded",
  			function y() {
  				document.removeEventListener("DOMContentLoaded", y, !1),
  				document.readyState = "complete"
  			},
  			!1), document.readyState = "loading");
  			var g = a.document,
  			h = g.documentElement,
  			i = "load",
  			j = !1,
  			k = "on" + i,
  			l = "complete",
  			m = "readyState",
  			n = "attachEvent",
  			o = "detachEvent",
  			p = "addEventListener",
  			q = "DOMContentLoaded",
  			r = "onreadystatechange",
  			s = "removeEventListener",
  			t = p in g,
  			u = j,
  			v = j,
  			w = [];
  			if (g[m] === l) e(b);
  			else if (t) g[p](q, c, j),
  			a[p](i, c, j);
  			else {
  				g[n](r, c),
  				a[n](k, c);
  				try {
  					u = null == a.frameElement && h
  				} catch(x) {}
  				u && u.doScroll && !
  				function z() {
  					if (!v) {
  						try {
  							u.doScroll("left")
  						} catch(a) {
  							return e(z, 50)
  						}
  						d(),
  						b()
  					}
  				} ()
  			}
  			return f.version = "1.4.0",
  			f.isReady = function() {
  				return v
  			},
  			f
  		}
  		a.exports = "undefined" != typeof window && b(window)
  	},
  	function(a, b, c) {
  		var d = c(4),
  		e = function(a) {
  			function b(a, b) {
  				for (var c in b) a[c] = b[c];
  				return a
  			}
  			var c = 1,
  			e = d.defclass({
  				constructor: function(a) {
  					c++,
  					this.parent = null,
  					this.children = {},
  					this.id = c,
  					this.name = "n" + c,
  					null != a && (this.name = a),
  					this.x = 0,
  					this.y = 0,
  					this.z = 0,
  					this.width = 0,
  					this.height = 0
  				},
  				resize: function(a, b) {
  					null != a && (this.width = a),
  					null != b && (this.height = b)
  				},
  				moveTo: function(a, b, c) {
  					this.x = null != a ? a: this.x,
  					this.y = null != b ? b: this.y,
  					this.z = null != c ? c: this.z
  				},
  				add: function(a) {
  					var b = a.name;
  					if (null != this.children[b]) throw "SceneGraph: child with that name already exists: " + b;
  					this.children[b] = a,
  					a.parent = this
  				}
  			}),
  			f = d(e,
  			function(b) {
  				this.constructor = function() {
  					b.constructor.call(this, "root"),
  					this.properties = a
  				}
  			}),
  			g = d(e,
  			function(a) {
  				function c(c, d) {
  					if (a.constructor.call(this, c), this.properties = {
  						fill: "#000"
  					},
  					null != d) b(this.properties, d);
  					else if (null != c && "string" != typeof c) throw "SceneGraph: invalid node name"
  				}
  				this.Group = d.extend(this, {
  					constructor: c,
  					type: "group"
  				}),
  				this.Rect = d.extend(this, {
  					constructor: c,
  					type: "rect"
  				}),
  				this.Text = d.extend(this, {
  					constructor: function(a) {
  						c.call(this),
  						this.properties.text = a
  					},
  					type: "text"
  				})
  			}),
  			h = new f;
  			return this.Shape = g,
  			this.root = h,
  			this
  		};
  		a.exports = e
  	},
  	function(a, b) { (function(a) {
  			b.extend = function(a, b) {
  				var c = {};
  				for (var d in a) a.hasOwnProperty(d) && (c[d] = a[d]);
  				if (null != b) for (var e in b) b.hasOwnProperty(e) && (c[e] = b[e]);
  				return c
  			},
  			b.cssProps = function(a) {
  				var b = [];
  				for (var c in a) a.hasOwnProperty(c) && b.push(c + ":" + a[c]);
  				return b.join(";")
  			},
  			b.encodeHtmlEntity = function(a) {
  				for (var b = [], c = 0, d = a.length - 1; d >= 0; d--) c = a.charCodeAt(d),
  				b.unshift(c > 128 ? ["&#", c, ";"].join("") : a[d]);
  				return b.join("")
  			},
  			b.getNodeArray = function(b) {
  				var c = null;
  				return "string" == typeof b ? c = document.querySelectorAll(b) : a.NodeList && b instanceof a.NodeList ? c = b: a.Node && b instanceof a.Node ? c = [b] : a.HTMLCollection && b instanceof a.HTMLCollection ? c = b: b instanceof Array ? c = b: null === b && (c = []),
  				c
  			},
  			b.imageExists = function(a, b) {
  				var c = new Image;
  				c.onerror = function() {
  					b.call(this, !1)
  				},
  				c.onload = function() {
  					b.call(this, !0)
  				},
  				c.src = a
  			},
  			b.decodeHtmlEntity = function(a) {
  				return a.replace(/&#(\d+);/g,
  				function(a, b) {
  					return String.fromCharCode(b)
  				})
  			},
  			b.dimensionCheck = function(a) {
  				var b = {
  					height: a.clientHeight,
  					width: a.clientWidth
  				};
  				return b.height && b.width ? b: !1
  			}
  		}).call(b,
  		function() {
  			return this
  		} ())
  	},
  	function(a) {
  		var b = function() {},
  		c = Array.prototype.slice,
  		d = function(a, d) {
  			var e = b.prototype = "function" == typeof a ? a.prototype: a,
  			f = new b,
  			g = d.apply(f, c.call(arguments, 2).concat(e));
  			if ("object" == typeof g) for (var h in g) f[h] = g[h];
  			if (!f.hasOwnProperty("constructor")) return f;
  			var i = f.constructor;
  			return i.prototype = f,
  			i
  		};
  		d.defclass = function(a) {
  			var b = a.constructor;
  			return b.prototype = a,
  			b
  		},
  		d.extend = function(a, b) {
  			return d(a,
  			function(a) {
  				return this.uber = a,
  				b
  			})
  		},
  		a.exports = d
  	}])
  }),
  /*!
  * ZeroClipboard
  * The ZeroClipboard library provides an easy way to copy text to the clipboard using an invisible Adobe Flash movie and a JavaScript interface.
  * Copyright (c) 2014 Jon Rohan, James M. Greene
  * Licensed MIT
  * http://zeroclipboard.org/
  * v1.3.5
  */
  !
  function(a) {
  	"use strict";
  	function b(a) {
  		return a.replace(/,/g, ".").replace(/[^0-9\.]/g, "")
  	}
  	function c(a) {
  		return parseFloat(b(a)) >= 10
  	}
  	var d, e = {
  		bridge: null,
  		version: "0.0.0",
  		disabled: null,
  		outdated: null,
  		ready: null
  	},
  	f = {},
  	g = 0,
  	h = {},
  	i = 0,
  	j = {},
  	k = null,
  	l = null,
  	m = function() {
  		var a, b, c, d, e = "ZeroClipboard.swf";
  		if (document.currentScript && (d = document.currentScript.src));
  		else {
  			var f = document.getElementsByTagName("script");
  			if ("readyState" in f[0]) for (a = f.length; a--&&("interactive" !== f[a].readyState || !(d = f[a].src)););
  			else if ("loading" === document.readyState) d = f[f.length - 1].src;
  			else {
  				for (a = f.length; a--;) {
  					if (c = f[a].src, !c) {
  						b = null;
  						break
  					}
  					if (c = c.split("#")[0].split("?")[0], c = c.slice(0, c.lastIndexOf("/") + 1), null == b) b = c;
  					else if (b !== c) {
  						b = null;
  						break
  					}
  				}
  				null !== b && (d = b)
  			}
  		}
  		return d && (d = d.split("#")[0].split("?")[0], e = d.slice(0, d.lastIndexOf("/") + 1) + e),
  		e
  	} (),
  	n = function() {
  		var a = /\-([a-z])/g,
  		b = function(a, b) {
  			return b.toUpperCase()
  		};
  		return function(c) {
  			return c.replace(a, b)
  		}
  	} (),
  	o = function(b, c) {
  		var d, e, f;
  		return a.getComputedStyle ? d = a.getComputedStyle(b, null).getPropertyValue(c) : (e = n(c), d = b.currentStyle ? b.currentStyle[e] : b.style[e]),
  		"cursor" !== c || d && "auto" !== d || (f = b.tagName.toLowerCase(), "a" !== f) ? d: "pointer"
  	},
  	p = function(b) {
  		b || (b = a.event);
  		var c;
  		this !== a ? c = this: b.target ? c = b.target: b.srcElement && (c = b.srcElement),
  		K.activate(c)
  	},
  	q = function(a, b, c) {
  		a && 1 === a.nodeType && (a.addEventListener ? a.addEventListener(b, c, !1) : a.attachEvent && a.attachEvent("on" + b, c))
  	},
  	r = function(a, b, c) {
  		a && 1 === a.nodeType && (a.removeEventListener ? a.removeEventListener(b, c, !1) : a.detachEvent && a.detachEvent("on" + b, c))
  	},
  	s = function(a, b) {
  		if (!a || 1 !== a.nodeType) return a;
  		if (a.classList) return a.classList.contains(b) || a.classList.add(b),
  		a;
  		if (b && "string" == typeof b) {
  			var c = (b || "").split(/\s+/);
  			if (1 === a.nodeType) if (a.className) {
  				for (var d = " " + a.className + " ",
  				e = a.className,
  				f = 0,
  				g = c.length; g > f; f++) d.indexOf(" " + c[f] + " ") < 0 && (e += " " + c[f]);
  				a.className = e.replace(/^\s+|\s+$/g, "")
  			} else a.className = b
  		}
  		return a
  	},
  	t = function(a, b) {
  		if (!a || 1 !== a.nodeType) return a;
  		if (a.classList) return a.classList.contains(b) && a.classList.remove(b),
  		a;
  		if (b && "string" == typeof b || void 0 === b) {
  			var c = (b || "").split(/\s+/);
  			if (1 === a.nodeType && a.className) if (b) {
  				for (var d = (" " + a.className + " ").replace(/[\n\t]/g, " "), e = 0, f = c.length; f > e; e++) d = d.replace(" " + c[e] + " ", " ");
  				a.className = d.replace(/^\s+|\s+$/g, "")
  			} else a.className = ""
  		}
  		return a
  	},
  	u = function() {
  		var a, b, c, d = 1;
  		return "function" == typeof document.body.getBoundingClientRect && (a = document.body.getBoundingClientRect(), b = a.right - a.left, c = document.body.offsetWidth, d = Math.round(b / c * 100) / 100),
  		d
  	},
  	v = function(b, c) {
  		var d = {
  			left: 0,
  			top: 0,
  			width: 0,
  			height: 0,
  			zIndex: B(c) - 1
  		};
  		if (b.getBoundingClientRect) {
  			var e, f, g, h = b.getBoundingClientRect();
  			"pageXOffset" in a && "pageYOffset" in a ? (e = a.pageXOffset, f = a.pageYOffset) : (g = u(), e = Math.round(document.documentElement.scrollLeft / g), f = Math.round(document.documentElement.scrollTop / g));
  			var i = document.documentElement.clientLeft || 0,
  			j = document.documentElement.clientTop || 0;
  			d.left = h.left + e - i,
  			d.top = h.top + f - j,
  			d.width = "width" in h ? h.width: h.right - h.left,
  			d.height = "height" in h ? h.height: h.bottom - h.top
  		}
  		return d
  	},
  	w = function(a, b) {
  		var c = null == b || b && b.cacheBust === !0 && b.useNoCache === !0;
  		return c ? ( - 1 === a.indexOf("?") ? "?": "&") + "noCache=" + (new Date).getTime() : ""
  	},
  	x = function(b) {
  		var c, d, e, f = [],
  		g = [],
  		h = [];
  		if (b.trustedOrigins && ("string" == typeof b.trustedOrigins ? g.push(b.trustedOrigins) : "object" == typeof b.trustedOrigins && "length" in b.trustedOrigins && (g = g.concat(b.trustedOrigins))), b.trustedDomains && ("string" == typeof b.trustedDomains ? g.push(b.trustedDomains) : "object" == typeof b.trustedDomains && "length" in b.trustedDomains && (g = g.concat(b.trustedDomains))), g.length) for (c = 0, d = g.length; d > c; c++) if (g.hasOwnProperty(c) && g[c] && "string" == typeof g[c]) {
  			if (e = E(g[c]), !e) continue;
  			if ("*" === e) {
  				h = [e];
  				break
  			}
  			h.push.apply(h, [e, "//" + e, a.location.protocol + "//" + e])
  		}
  		return h.length && f.push("trustedOrigins=" + encodeURIComponent(h.join(","))),
  		"string" == typeof b.jsModuleId && b.jsModuleId && f.push("jsModuleId=" + encodeURIComponent(b.jsModuleId)),
  		f.join("&")
  	},
  	y = function(a, b, c) {
  		if ("function" == typeof b.indexOf) return b.indexOf(a, c);
  		var d, e = b.length;
  		for ("undefined" == typeof c ? c = 0 : 0 > c && (c = e + c), d = c; e > d; d++) if (b.hasOwnProperty(d) && b[d] === a) return d;
  		return - 1
  	},
  	z = function(a) {
  		if ("string" == typeof a) throw new TypeError("ZeroClipboard doesn't accept query strings.");
  		return a.length ? a: [a]
  	},
  	A = function(b, c, d, e) {
  		e ? a.setTimeout(function() {
  			b.apply(c, d)
  		},
  		0) : b.apply(c, d)
  	},
  	B = function(a) {
  		var b, c;
  		return a && ("number" == typeof a && a > 0 ? b = a: "string" == typeof a && (c = parseInt(a, 10)) && !isNaN(c) && c > 0 && (b = c)),
  		b || ("number" == typeof N.zIndex && N.zIndex > 0 ? b = N.zIndex: "string" == typeof N.zIndex && (c = parseInt(N.zIndex, 10)) && !isNaN(c) && c > 0 && (b = c)),
  		b || 0
  	},
  	C = function(a, b) {
  		if (a && b !== !1 && "undefined" != typeof console && console && (console.warn || console.log)) {
  			var c = "`" + a + "` is deprecated. See docs for more info:\n    https://github.com/zeroclipboard/zeroclipboard/blob/master/docs/instructions.md#deprecations";
  			console.warn ? console.warn(c) : console.log(c)
  		}
  	},
  	D = function() {
  		var a, b, c, d, e, f, g = arguments[0] || {};
  		for (a = 1, b = arguments.length; b > a; a++) if (null != (c = arguments[a])) for (d in c) if (c.hasOwnProperty(d)) {
  			if (e = g[d], f = c[d], g === f) continue;
  			void 0 !== f && (g[d] = f)
  		}
  		return g
  	},
  	E = function(a) {
  		if (null == a || "" === a) return null;
  		if (a = a.replace(/^\s+|\s+$/g, ""), "" === a) return null;
  		var b = a.indexOf("//");
  		a = -1 === b ? a: a.slice(b + 2);
  		var c = a.indexOf("/");
  		return a = -1 === c ? a: -1 === b || 0 === c ? null: a.slice(0, c),
  		a && ".swf" === a.slice( - 4).toLowerCase() ? null: a || null
  	},
  	F = function() {
  		var a = function(a, b) {
  			var c, d, e;
  			if (null != a && "*" !== b[0] && ("string" == typeof a && (a = [a]), "object" == typeof a && "length" in a)) for (c = 0, d = a.length; d > c; c++) if (a.hasOwnProperty(c) && (e = E(a[c]))) {
  				if ("*" === e) {
  					b.length = 0,
  					b.push("*");
  					break
  				} - 1 === y(e, b) && b.push(e)
  			}
  		},
  		b = {
  			always: "always",
  			samedomain: "sameDomain",
  			never: "never"
  		};
  		return function(c, d) {
  			var e, f = d.allowScriptAccess;
  			if ("string" == typeof f && (e = f.toLowerCase()) && /^always|samedomain|never$/.test(e)) return b[e];
  			var g = E(d.moviePath);
  			null === g && (g = c);
  			var h = [];
  			a(d.trustedOrigins, h),
  			a(d.trustedDomains, h);
  			var i = h.length;
  			if (i > 0) {
  				if (1 === i && "*" === h[0]) return "always";
  				if ( - 1 !== y(c, h)) return 1 === i && c === g ? "sameDomain": "always"
  			}
  			return "never"
  		}
  	} (),
  	G = function(a) {
  		if (null == a) return [];
  		if (Object.keys) return Object.keys(a);
  		var b = [];
  		for (var c in a) a.hasOwnProperty(c) && b.push(c);
  		return b
  	},
  	H = function(a) {
  		if (a) for (var b in a) a.hasOwnProperty(b) && delete a[b];
  		return a
  	},
  	I = function() {
  		try {
  			return document.activeElement
  		} catch(a) {}
  		return null
  	},
  	J = function() {
  		var a = !1;
  		if ("boolean" == typeof e.disabled) a = e.disabled === !1;
  		else {
  			if ("function" == typeof ActiveXObject) try {
  				new ActiveXObject("ShockwaveFlash.ShockwaveFlash") && (a = !0)
  			} catch(b) {} ! a && navigator.mimeTypes["application/x-shockwave-flash"] && (a = !0)
  		}
  		return a
  	},
  	K = function(a, b) {
  		return this instanceof K ? (this.id = "" + g++, h[this.id] = {
  			instance: this,
  			elements: [],
  			handlers: {}
  		},
  		a && this.clip(a), "undefined" != typeof b && (C("new ZeroClipboard(elements, options)", N.debug), K.config(b)), this.options = K.config(), "boolean" != typeof e.disabled && (e.disabled = !J()), void(e.disabled === !1 && e.outdated !== !0 && null === e.bridge && (e.outdated = !1, e.ready = !1, O()))) : new K(a, b)
  	};
  	K.prototype.setText = function(a) {
  		return a && "" !== a && (f["text/plain"] = a, e.ready === !0 && e.bridge && "function" == typeof e.bridge.setText ? e.bridge.setText(a) : e.ready = !1),
  		this
  	},
  	K.prototype.setSize = function(a, b) {
  		return e.ready === !0 && e.bridge && "function" == typeof e.bridge.setSize ? e.bridge.setSize(a, b) : e.ready = !1,
  		this
  	};
  	var L = function(a) {
  		e.ready === !0 && e.bridge && "function" == typeof e.bridge.setHandCursor ? e.bridge.setHandCursor(a) : e.ready = !1
  	};
  	K.prototype.destroy = function() {
  		this.unclip(),
  		this.off(),
  		delete h[this.id]
  	};
  	var M = function() {
  		var a, b, c, d = [],
  		e = G(h);
  		for (a = 0, b = e.length; b > a; a++) c = h[e[a]].instance,
  		c && c instanceof K && d.push(c);
  		return d
  	};
  	K.version = "1.3.5";
  	var N = {
  		swfPath: m,
  		trustedDomains: a.location.host ? [a.location.host] : [],
  		cacheBust: !0,
  		forceHandCursor: !1,
  		zIndex: 999999999,
  		debug: !0,
  		title: null,
  		autoActivate: !0
  	};
  	K.config = function(a) {
  		if ("object" == typeof a && null !== a && D(N, a), "string" != typeof a || !a) {
  			var b = {};
  			for (var c in N) N.hasOwnProperty(c) && (b[c] = "object" == typeof N[c] && null !== N[c] ? "length" in N[c] ? N[c].slice(0) : D({},
  			N[c]) : N[c]);
  			return b
  		}
  		return N.hasOwnProperty(a) ? N[a] : void 0
  	},
  	K.destroy = function() {
  		K.deactivate();
  		for (var a in h) if (h.hasOwnProperty(a) && h[a]) {
  			var b = h[a].instance;
  			b && "function" == typeof b.destroy && b.destroy()
  		}
  		var c = P(e.bridge);
  		c && c.parentNode && (c.parentNode.removeChild(c), e.ready = null, e.bridge = null)
  	},
  	K.activate = function(a) {
  		d && (t(d, N.hoverClass), t(d, N.activeClass)),
  		d = a,
  		s(a, N.hoverClass),
  		Q();
  		var b = N.title || a.getAttribute("title");
  		if (b) {
  			var c = P(e.bridge);
  			c && c.setAttribute("title", b)
  		}
  		var f = N.forceHandCursor === !0 || "pointer" === o(a, "cursor");
  		L(f)
  	},
  	K.deactivate = function() {
  		var a = P(e.bridge);
  		a && (a.style.left = "0px", a.style.top = "-9999px", a.removeAttribute("title")),
  		d && (t(d, N.hoverClass), t(d, N.activeClass), d = null)
  	};
  	var O = function() {
  		var b, c, d = document.getElementById("global-zeroclipboard-html-bridge");
  		if (!d) {
  			var f = K.config();
  			f.jsModuleId = "string" == typeof k && k || "string" == typeof l && l || null;
  			var g = F(a.location.host, N),
  			h = x(f),
  			i = N.moviePath + w(N.moviePath, N),
  			j = '      <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id="global-zeroclipboard-flash-bridge" width="100%" height="100%">         <param name="movie" value="' + i + '"/>         <param name="allowScriptAccess" value="' + g + '"/>         <param name="scale" value="exactfit"/>         <param name="loop" value="false"/>         <param name="menu" value="false"/>         <param name="quality" value="best" />         <param name="bgcolor" value="#ffffff"/>         <param name="wmode" value="transparent"/>         <param name="flashvars" value="' + h + '"/>         <embed src="' + i + '"           loop="false" menu="false"           quality="best" bgcolor="#ffffff"           width="100%" height="100%"           name="global-zeroclipboard-flash-bridge"           allowScriptAccess="' + g + '"           allowFullScreen="false"           type="application/x-shockwave-flash"           wmode="transparent"           pluginspage="http://www.macromedia.com/go/getflashplayer"           flashvars="' + h + '"           scale="exactfit">         </embed>       </object>';
  			d = document.createElement("div"),
  			d.id = "global-zeroclipboard-html-bridge",
  			d.setAttribute("class", "global-zeroclipboard-container"),
  			d.style.position = "absolute",
  			d.style.left = "0px",
  			d.style.top = "-9999px",
  			d.style.width = "15px",
  			d.style.height = "15px",
  			d.style.zIndex = "" + B(N.zIndex),
  			document.body.appendChild(d),
  			d.innerHTML = j
  		}
  		b = document["global-zeroclipboard-flash-bridge"],
  		b && (c = b.length) && (b = b[c - 1]),
  		e.bridge = b || d.children[0].lastElementChild
  	},
  	P = function(a) {
  		for (var b = /^OBJECT|EMBED$/,
  		c = a && a.parentNode; c && b.test(c.nodeName) && c.parentNode;) c = c.parentNode;
  		return c || null
  	},
  	Q = function() {
  		if (d) {
  			var a = v(d, N.zIndex),
  			b = P(e.bridge);
  			b && (b.style.top = a.top + "px", b.style.left = a.left + "px", b.style.width = a.width + "px", b.style.height = a.height + "px", b.style.zIndex = a.zIndex + 1),
  			e.ready === !0 && e.bridge && "function" == typeof e.bridge.setSize ? e.bridge.setSize(a.width, a.height) : e.ready = !1
  		}
  		return this
  	};
  	K.prototype.on = function(a, b) {
  		var c, d, f, g = {},
  		i = h[this.id] && h[this.id].handlers;
  		if ("string" == typeof a && a) f = a.toLowerCase().split(/\s+/);
  		else if ("object" == typeof a && a && "undefined" == typeof b) for (c in a) a.hasOwnProperty(c) && "string" == typeof c && c && "function" == typeof a[c] && this.on(c, a[c]);
  		if (f && f.length) {
  			for (c = 0, d = f.length; d > c; c++) a = f[c].replace(/^on/, ""),
  			g[a] = !0,
  			i[a] || (i[a] = []),
  			i[a].push(b);
  			g.noflash && e.disabled && T.call(this, "noflash", {}),
  			g.wrongflash && e.outdated && T.call(this, "wrongflash", {
  				flashVersion: e.version
  			}),
  			g.load && e.ready && T.call(this, "load", {
  				flashVersion: e.version
  			})
  		}
  		return this
  	},
  	K.prototype.off = function(a, b) {
  		var c, d, e, f, g, i = h[this.id] && h[this.id].handlers;
  		if (0 === arguments.length) f = G(i);
  		else if ("string" == typeof a && a) f = a.split(/\s+/);
  		else if ("object" == typeof a && a && "undefined" == typeof b) for (c in a) a.hasOwnProperty(c) && "string" == typeof c && c && "function" == typeof a[c] && this.off(c, a[c]);
  		if (f && f.length) for (c = 0, d = f.length; d > c; c++) if (a = f[c].toLowerCase().replace(/^on/, ""), g = i[a], g && g.length) if (b) for (e = y(b, g); - 1 !== e;) g.splice(e, 1),
  		e = y(b, g, e);
  		else i[a].length = 0;
  		return this
  	},
  	K.prototype.handlers = function(a) {
  		var b, c = null,
  		d = h[this.id] && h[this.id].handlers;
  		if (d) {
  			if ("string" == typeof a && a) return d[a] ? d[a].slice(0) : null;
  			c = {};
  			for (b in d) d.hasOwnProperty(b) && d[b] && (c[b] = d[b].slice(0))
  		}
  		return c
  	};
  	var R = function(b, c, d, e) {
  		var f = h[this.id] && h[this.id].handlers[b];
  		if (f && f.length) {
  			var g, i, j, k = c || this;
  			for (g = 0, i = f.length; i > g; g++) j = f[g],
  			c = k,
  			"string" == typeof j && "function" == typeof a[j] && (j = a[j]),
  			"object" == typeof j && j && "function" == typeof j.handleEvent && (c = j, j = j.handleEvent),
  			"function" == typeof j && A(j, c, d, e)
  		}
  		return this
  	};
  	K.prototype.clip = function(a) {
  		a = z(a);
  		for (var b = 0; b < a.length; b++) if (a.hasOwnProperty(b) && a[b] && 1 === a[b].nodeType) {
  			a[b].zcClippingId ? -1 === y(this.id, j[a[b].zcClippingId]) && j[a[b].zcClippingId].push(this.id) : (a[b].zcClippingId = "zcClippingId_" + i++, j[a[b].zcClippingId] = [this.id], N.autoActivate === !0 && q(a[b], "mouseover", p));
  			var c = h[this.id].elements; - 1 === y(a[b], c) && c.push(a[b])
  		}
  		return this
  	},
  	K.prototype.unclip = function(a) {
  		var b = h[this.id];
  		if (b) {
  			var c, d = b.elements;
  			a = "undefined" == typeof a ? d.slice(0) : z(a);
  			for (var e = a.length; e--;) if (a.hasOwnProperty(e) && a[e] && 1 === a[e].nodeType) {
  				for (c = 0; - 1 !== (c = y(a[e], d, c));) d.splice(c, 1);
  				var f = j[a[e].zcClippingId];
  				if (f) {
  					for (c = 0; - 1 !== (c = y(this.id, f, c));) f.splice(c, 1);
  					0 === f.length && (N.autoActivate === !0 && r(a[e], "mouseover", p), delete a[e].zcClippingId)
  				}
  			}
  		}
  		return this
  	},
  	K.prototype.elements = function() {
  		var a = h[this.id];
  		return a && a.elements ? a.elements.slice(0) : []
  	};
  	var S = function(a) {
  		var b, c, d, e, f, g = [];
  		if (a && 1 === a.nodeType && (b = a.zcClippingId) && j.hasOwnProperty(b) && (c = j[b], c && c.length)) for (d = 0, e = c.length; e > d; d++) f = h[c[d]].instance,
  		f && f instanceof K && g.push(f);
  		return g
  	};
  	N.hoverClass = "zeroclipboard-is-hover",
  	N.activeClass = "zeroclipboard-is-active",
  	N.trustedOrigins = null,
  	N.allowScriptAccess = null,
  	N.useNoCache = !0,
  	N.moviePath = "ZeroClipboard.swf",
  	K.detectFlashSupport = function() {
  		return C("ZeroClipboard.detectFlashSupport", N.debug),
  		J()
  	},
  	K.dispatch = function(a, b) {
  		if ("string" == typeof a && a) {
  			var c = a.toLowerCase().replace(/^on/, "");
  			if (c) for (var e = d && N.autoActivate === !0 ? S(d) : M(), f = 0, g = e.length; g > f; f++) T.call(e[f], c, b)
  		}
  	},
  	K.prototype.setHandCursor = function(a) {
  		return C("ZeroClipboard.prototype.setHandCursor", N.debug),
  		a = "boolean" == typeof a ? a: !!a,
  		L(a),
  		N.forceHandCursor = a,
  		this
  	},
  	K.prototype.reposition = function() {
  		return C("ZeroClipboard.prototype.reposition", N.debug),
  		Q()
  	},
  	K.prototype.receiveEvent = function(a, b) {
  		if (C("ZeroClipboard.prototype.receiveEvent", N.debug), "string" == typeof a && a) {
  			var c = a.toLowerCase().replace(/^on/, "");
  			c && T.call(this, c, b)
  		}
  	},
  	K.prototype.setCurrent = function(a) {
  		return C("ZeroClipboard.prototype.setCurrent", N.debug),
  		K.activate(a),
  		this
  	},
  	K.prototype.resetBridge = function() {
  		return C("ZeroClipboard.prototype.resetBridge", N.debug),
  		K.deactivate(),
  		this
  	},
  	K.prototype.setTitle = function(a) {
  		if (C("ZeroClipboard.prototype.setTitle", N.debug), a = a || N.title || d && d.getAttribute("title")) {
  			var b = P(e.bridge);
  			b && b.setAttribute("title", a)
  		}
  		return this
  	},
  	K.setDefaults = function(a) {
  		C("ZeroClipboard.setDefaults", N.debug),
  		K.config(a)
  	},
  	K.prototype.addEventListener = function(a, b) {
  		return C("ZeroClipboard.prototype.addEventListener", N.debug),
  		this.on(a, b)
  	},
  	K.prototype.removeEventListener = function(a, b) {
  		return C("ZeroClipboard.prototype.removeEventListener", N.debug),
  		this.off(a, b)
  	},
  	K.prototype.ready = function() {
  		return C("ZeroClipboard.prototype.ready", N.debug),
  		e.ready === !0
  	};
  	var T = function(a, g) {
  		a = a.toLowerCase().replace(/^on/, "");
  		var h = g && g.flashVersion && b(g.flashVersion) || null,
  		i = d,
  		j = !0;
  		switch (a) {
  		case "load":
  			if (h) {
  				if (!c(h)) return void T.call(this, "onWrongFlash", {
  					flashVersion: h
  				});
  				e.outdated = !1,
  				e.ready = !0,
  				e.version = h
  			}
  			break;
  		case "wrongflash":
  			h && !c(h) && (e.outdated = !0, e.ready = !1, e.version = h);
  			break;
  		case "mouseover":
  			s(i, N.hoverClass);
  			break;
  		case "mouseout":
  			N.autoActivate === !0 && K.deactivate();
  			break;
  		case "mousedown":
  			s(i, N.activeClass);
  			break;
  		case "mouseup":
  			t(i, N.activeClass);
  			break;
  		case "datarequested":
  			if (i) {
  				var k = i.getAttribute("data-clipboard-target"),
  				l = k ? document.getElementById(k) : null;
  				if (l) {
  					var m = l.value || l.textContent || l.innerText;
  					m && this.setText(m)
  				} else {
  					var n = i.getAttribute("data-clipboard-text");
  					n && this.setText(n)
  				}
  			}
  			j = !1;
  			break;
  		case "complete":
  			H(f),
  			i && i !== I() && i.focus && i.focus()
  		}
  		var o = i,
  		p = [this, g];
  		return R.call(this, a, o, p, j)
  	};
  	"function" == typeof define && define.amd ? define(["require", "exports", "module"],
  	function(a, b, c) {
  		return k = c && c.id || null,
  		K
  	}) : "object" == typeof module && module && "object" == typeof module.exports && module.exports && "function" == typeof a.require ? (l = module.id || null, module.exports = K) : a.ZeroClipboard = K
  } (function() {
  	return this
  } ());
  var anchors = new AnchorJS;
  /*!
   * JavaScript for Bootstrap's docs (http://getbootstrap.com)
   * Copyright 2011-2015 Twitter, Inc.
   * Licensed under the Creative Commons Attribution 3.0 Unported License. For
   * details, see https://creativecommons.org/licenses/by/3.0/.
   */
  !
  function(a) {
  	"use strict";
  	a(function() {
  		var b = a(window),
  		c = a(document.body);
  		c.scrollspy({
  			target: ".bs-docs-sidebar"
  		}),
  		b.on("load",
  		function() {
  			c.scrollspy("refresh")
  		}),
  		a(".bs-docs-container [href=#]").click(function(a) {
  			a.preventDefault()
  		}),
  		setTimeout(function() {
  			var b = a(".bs-docs-sidebar");
  			b.affix({
  				offset: {
  					top: function() {
  						var c = b.offset().top,
  						d = parseInt(b.children(0).css("margin-top"), 10),
  						e = a(".bs-docs-nav").height();
  						return this.top = c - e - d
  					},
  					bottom: function() {
  						return this.bottom = a(".bs-docs-footer").outerHeight(!0)
  					}
  				}
  			})
  		},
  		100),
  		setTimeout(function() {
  			a(".bs-top").affix()
  		},
  		100),
  		function() {
  			var b = a("#bs-theme-stylesheet"),
  			c = a(".bs-docs-theme-toggle"),
  			d = function() {
  				b.attr("href", b.attr("data-href")),
  				c.text("禁用主题预览"),
  				localStorage.setItem("previewTheme", !0)
  			};
  			localStorage.getItem("previewTheme") && d(),
  			c.click(function() {
  				var a = b.attr("href");
  				a && 0 !== a.indexOf("data") ? (b.attr("href", ""), c.text("主题预览"), localStorage.removeItem("previewTheme")) : d()
  			})
  		} (),
  		a(".tooltip-demo").tooltip({
  			selector: '[data-toggle="tooltip"]',
  			container: "body"
  		}),
  		a(".popover-demo").popover({
  			selector: '[data-toggle="popover"]',
  			container: "body"
  		}),
  		a(".tooltip-test").tooltip(),
  		a(".popover-test").popover(),
  		a(".bs-docs-popover").popover(),
  		a("#loading-example-btn").on("click",
  		function() {
  			var b = a(this);
  			b.button("loading"),
  			setTimeout(function() {
  				b.button("reset")
  			},
  			3e3)
  		}),
  		a("#exampleModal").on("show.bs.modal",
  		function(b) {
  			var c = a(b.relatedTarget),
  			d = c.data("whatever"),
  			e = a(this);
  			e.find(".modal-title").text("New message to " + d),
  			e.find(".modal-body input").val(d)
  		}),
  		a(".bs-docs-activate-animated-progressbar").on("click",
  		function() {
  			a(this).siblings(".progress").find(".progress-bar-striped").toggleClass("active")
  		}),
  		ZeroClipboard.config({
  			moviePath: "/assets/flash/ZeroClipboard.swf",
  			hoverClass: "btn-clipboard-hover"
  		}),
  		a(".highlight").each(function() {
  			var b = '<div class="zero-clipboard"><span class="btn-clipboard">复制</span></div>';
  			a(this).before(b)
  		});
  		var d = new ZeroClipboard(a(".btn-clipboard")),
  		e = a("#global-zeroclipboard-html-bridge");
  		d.on("load",
  		function() {
  			e.data("placement", "top").attr("title", "复制到剪贴板").tooltip(),
  			d.on("dataRequested",
  			function(b) {
  				var c = a(this).parent().nextAll(".highlight").first();
  				b.setText(c.text())
  			}),
  			d.on("complete",
  			function() {
  				e.attr("title", "复制成功！").tooltip("fixTitle").tooltip("show").attr("title", "复制到剪贴板").tooltip("fixTitle")
  			})
  		}),
  		d.on("noflash wrongflash",
  		function() {
  			a(".zero-clipboard").remove(),
  			ZeroClipboard.destroy()
  		})
  	})
  } (jQuery),
  function() {
  	"use strict";
  	anchors.options.placement = "left",
  	anchors.add(".bs-docs-section > h1, .bs-docs-section > h2, .bs-docs-section > h3, .bs-docs-section > h4, .bs-docs-section > h5")
  } ();