function definitionItemViewModel(n){this.title=n.definitionTitle;this.description=n.definitionDescription}(function(){function t(t,i,r,u){return new n(t,i,r,u)}function n(n,t,r,u){this.options=u||{};this.options.adapters=this.options.adapters||{};this.obj=n;this.keypath=t;this.callback=r;this.objectPath=[];this.update=this.update.bind(this);this.parse();i(this.target=this.realize())&&this.set(!0,this.key,this.target,this.callback)}function i(n){return"object"==typeof n&&null!==n}function r(n){throw new Error("[sightglass] "+n);}t.adapters={};n.tokenize=function(n,t,i){for(var u,e=[],f={i:i,path:""},r=0;r<n.length;r++)u=n.charAt(r),~t.indexOf(u)?(e.push(f),f={i:u,path:""}):f.path+=u;return e.push(f),e};n.prototype.parse=function(){var i,u,f=this.interfaces();f.length||r("Must define at least one adapter interface.");~f.indexOf(this.keypath[0])?(i=this.keypath[0],u=this.keypath.substr(1)):("undefined"==typeof(i=this.options.root||t.root)&&r("Must define a default root adapter."),u=this.keypath);this.tokens=n.tokenize(u,f,i);this.key=this.tokens.pop()};n.prototype.realize=function(){var t,n=this.obj,r=!1;return this.tokens.forEach(function(u,f){i(n)?("undefined"!=typeof this.objectPath[f]?n!==(t=this.objectPath[f])&&(this.set(!1,u,t,this.update),this.set(!0,u,n,this.update),this.objectPath[f]=n):(this.set(!0,u,n,this.update),this.objectPath[f]=n),n=this.get(u,n)):(r===!1&&(r=f),(t=this.objectPath[f])&&this.set(!1,u,t,this.update))},this),r!==!1&&this.objectPath.splice(r),n};n.prototype.update=function(){var n,t;(n=this.realize())!==this.target&&(i(this.target)&&this.set(!1,this.key,this.target,this.callback),i(n)&&this.set(!0,this.key,n,this.callback),t=this.value(),this.target=n,(this.value()instanceof Function||this.value()!==t)&&this.callback())};n.prototype.value=function(){if(i(this.target))return this.get(this.key,this.target)};n.prototype.setValue=function(n){i(this.target)&&this.adapter(this.key).set(this.target,this.key.path,n)};n.prototype.get=function(n,t){return this.adapter(n).get(t,n.path)};n.prototype.set=function(n,t,i,r){var u=n?"observe":"unobserve";this.adapter(t)[u](i,t.path,r)};n.prototype.interfaces=function(){var n=Object.keys(this.options.adapters);return Object.keys(t.adapters).forEach(function(t){~n.indexOf(t)||n.push(t)}),n};n.prototype.adapter=function(n){return this.options.adapters[n.i]||t.adapters[n.i]};n.prototype.unobserve=function(){var n;this.tokens.forEach(function(t,i){(n=this.objectPath[i])&&this.set(!1,t,n,this.update)},this);i(this.target)&&this.set(!1,this.key,this.target,this.callback)};"undefined"!=typeof module&&module.exports?module.exports=t:"function"==typeof define&&define.amd?define([],function(){return this.sightglass=t}):this.sightglass=t}).call(this),function(){var n,f,e,u,t=function(n,t){return function(){return n.apply(t,arguments)}},i=[].slice,s={}.hasOwnProperty,o=function(n,t){function r(){this.constructor=n}for(var i in t)s.call(t,i)&&(n[i]=t[i]);return r.prototype=t.prototype,n.prototype=new r,n.__super__=t.prototype,n},r=[].indexOf||function(n){for(var t=0,i=this.length;i>t;t++)if(t in this&&this[t]===n)return t;return-1};n={options:["prefix","templateDelimiters","rootInterface","preloadData","handler","executeFunctions"],extensions:["binders","formatters","components","adapters"],public:{binders:{},components:{},formatters:{},adapters:{},prefix:"rv",templateDelimiters:["{","}"],rootInterface:".",preloadData:!0,executeFunctions:!1,iterationAlias:function(n){return"%"+n+"%"},handler:function(n,t,i){return this.call(n,t,i.view.models)},configure:function(t){var f,u,i,r;null==t&&(t={});for(i in t)if(r=t[i],"binders"===i||"components"===i||"formatters"===i||"adapters"===i)for(u in r)f=r[u],n[i][u]=f;else n.public[i]=r},bind:function(t,i,r){var u;return null==i&&(i={}),null==r&&(r={}),u=new n.View(t,i,r),u.bind(),u},init:function(t,i,r){var e,u,f;if(null==r&&(r={}),null==i&&(i=document.createElement("div")),t=n.public.components[t],u=t.template.call(this,i),u instanceof HTMLElement){for(;i.firstChild;)i.removeChild(i.firstChild);i.appendChild(u)}else i.innerHTML=u;return e=t.initialize.call(this,i,r),f=new n.View(i,e),f.bind(),f}}};window.jQuery||window.$?(u="on"in jQuery.prototype?["on","off"]:["bind","unbind"],f=u[0],e=u[1],n.Util={bindEvent:function(n,t,i){return jQuery(n)[f](t,i)},unbindEvent:function(n,t,i){return jQuery(n)[e](t,i)},getInputValue:function(n){var t;return t=jQuery(n),"checkbox"===t.attr("type")?t.is(":checked"):t.val()}}):n.Util={bindEvent:function(){return"addEventListener"in window?function(n,t,i){return n.addEventListener(t,i,!1)}:function(n,t,i){return n.attachEvent("on"+t,i)}}(),unbindEvent:function(){return"removeEventListener"in window?function(n,t,i){return n.removeEventListener(t,i,!1)}:function(n,t,i){return n.detachEvent("on"+t,i)}}(),getInputValue:function(n){var i,t,u,r;if("checkbox"===n.type)return n.checked;if("select-multiple"===n.type){for(r=[],t=0,u=n.length;u>t;t++)i=n[t],i.selected&&r.push(i.value);return r}return n.value}};n.TypeParser=function(){function n(){}return n.types={primitive:0,keypath:1},n.parse=function(n){return/^'.*'$|^".*"$/.test(n)?{type:this.types.primitive,value:n.slice(1,-1)}:"true"===n?{type:this.types.primitive,value:!0}:"false"===n?{type:this.types.primitive,value:!1}:"null"===n?{type:this.types.primitive,value:null}:"undefined"===n?{type:this.types.primitive,value:void 0}:""===n?{type:this.types.primitive,value:void 0}:isNaN(Number(n))===!1?{type:this.types.primitive,value:Number(n)}:{type:this.types.keypath,value:n}},n}();n.TextTemplateParser=function(){function n(){}return n.types={text:0,binding:1},n.parse=function(n,t){var i,r,f,o,e,u,s;for(u=[],o=n.length,i=0,r=0;o>r;){if(i=n.indexOf(t[0],r),0>i){u.push({type:this.types.text,value:n.slice(r)});break}if(i>0&&i>r&&u.push({type:this.types.text,value:n.slice(r,i)}),r=i+t[0].length,i=n.indexOf(t[1],r),0>i){e=n.slice(r-t[1].length);f=u[u.length-1];(null!=f?f.type:void 0)===this.types.text?f.value+=e:u.push({type:this.types.text,value:e});break}s=n.slice(r,i).trim();u.push({type:this.types.binding,value:s});r=i+t[1].length}return u},n}();n.View=function(){function i(i,r,u){var e,f,o,y,s,h,p,w,c,l,a,v,b;for(this.els=i,this.models=r,null==u&&(u={}),this.update=t(this.update,this),this.publish=t(this.publish,this),this.sync=t(this.sync,this),this.unbind=t(this.unbind,this),this.bind=t(this.bind,this),this.select=t(this.select,this),this.traverse=t(this.traverse,this),this.build=t(this.build,this),this.buildBinding=t(this.buildBinding,this),this.bindingRegExp=t(this.bindingRegExp,this),this.options=t(this.options,this),this.els.jquery||this.els instanceof Array||(this.els=[this.els]),c=n.extensions,s=0,p=c.length;p>s;s++){if(f=c[s],this[f]={},u[f]){l=u[f];for(e in l)o=l[e],this[f][e]=o}a=n.public[f];for(e in a)o=a[e],null==(y=this[f])[e]&&(y[e]=o)}for(v=n.options,h=0,w=v.length;w>h;h++)f=v[h],this[f]=null!=(b=u[f])?b:n.public[f];this.build()}return i.prototype.options=function(){var i,r,t,f,u;for(r={},u=n.extensions.concat(n.options),t=0,f=u.length;f>t;t++)i=u[t],r[i]=this[i];return r},i.prototype.bindingRegExp=function(){return new RegExp("^"+this.prefix+"-")},i.prototype.buildBinding=function(t,i,r,u){var e,s,h,c,f,l,o;return f={},o=function(){var n,r,t,i;for(t=u.match(/((?:'[^']*')*(?:(?:[^\|']*(?:'[^']*')+[^\|']*)+|[^\|]+))|^$/g),i=[],n=0,r=t.length;r>n;n++)l=t[n],i.push(l.trim());return i}(),e=function(){var n,r,t,i;for(t=o.shift().split("<"),i=[],n=0,r=t.length;r>n;n++)s=t[n],i.push(s.trim());return i}(),c=e.shift(),f.formatters=o,(h=e.shift())&&(f.dependencies=h.split(/\s+/)),this.bindings.push(new n[t](this,i,r,c,f))},i.prototype.build=function(){var u,i,t,f,r;for(this.bindings=[],i=function(t){return function(r){var l,a,v,y,s,h,f,u,e,o,p,w,c;if(3===r.nodeType){if(s=n.TextTemplateParser,(v=t.templateDelimiters)&&(u=s.parse(r.data,v)).length&&(1!==u.length||u[0].type!==s.types.text)){for(e=0,p=u.length;p>e;e++)f=u[e],h=document.createTextNode(f.value),r.parentNode.insertBefore(h,r),1===f.type&&t.buildBinding("TextBinding",h,null,f.value);r.parentNode.removeChild(r)}}else 1===r.nodeType&&(l=t.traverse(r));if(!l)for(c=function(){var n,u,t,i;for(t=r.childNodes,i=[],n=0,u=t.length;u>n;n++)y=t[n],i.push(y);return i}(),o=0,w=c.length;w>o;o++)a=c[o],i(a)}}(this),r=this.els,t=0,f=r.length;f>t;t++)u=r[t],i(u);this.bindings.sort(function(n,t){var i,r;return((null!=(i=t.binder)?i.priority:void 0)||0)-((null!=(r=n.binder)?r.priority:void 0)||0)})},i.prototype.traverse=function(t){var i,v,u,f,e,o,y,r,p,s,h,w,b,c,l,a;for(f=this.bindingRegExp(),e="SCRIPT"===t.nodeName||"STYLE"===t.nodeName,c=t.attributes,s=0,w=c.length;w>s;s++)if(i=c[s],f.test(i.name)){if(r=i.name.replace(f,""),!(u=this.binders[r])){l=this.binders;for(o in l)p=l[o],"*"!==o&&-1!==o.indexOf("*")&&(y=new RegExp("^"+o.replace(/\*/g,".+")+"$"),y.test(r)&&(u=p))}u||(u=this.binders["*"]);u.block&&(e=!0,v=[i])}for(a=v||t.attributes,h=0,b=a.length;b>h;h++)i=a[h],f.test(i.name)&&(r=i.name.replace(f,""),this.buildBinding("Binding",t,r,i.value));return e||(r=t.nodeName.toLowerCase(),this.components[r]&&!t._bound&&(this.bindings.push(new n.ComponentBinding(this,t,r)),e=!0)),e},i.prototype.select=function(n){var i,t,f,r,u;for(r=this.bindings,u=[],t=0,f=r.length;f>t;t++)i=r[t],n(i)&&u.push(i);return u},i.prototype.bind=function(){var i,n,r,t;for(t=this.bindings,n=0,r=t.length;r>n;n++)i=t[n],i.bind()},i.prototype.unbind=function(){var i,n,r,t;for(t=this.bindings,n=0,r=t.length;r>n;n++)i=t[n],i.unbind()},i.prototype.sync=function(){var t,n,r,i;for(i=this.bindings,n=0,r=i.length;r>n;n++)t=i[n],"function"==typeof t.sync&&t.sync()},i.prototype.publish=function(){var i,n,r,t;for(t=this.select(function(n){var t;if(null!=(t=n.binder))return t.publishes}),n=0,r=t.length;r>n;n++)i=t[n],i.publish()},i.prototype.update=function(n){var i,r,f,t,e,u;null==n&&(n={});for(r in n)f=n[r],this.models[r]=f;for(u=this.bindings,t=0,e=u.length;e>t;t++)i=u[t],"function"==typeof i.update&&i.update(n)},i}();n.Binding=function(){function r(n,i,r,u,f){this.view=n;this.el=i;this.type=r;this.keypath=u;this.options=null!=f?f:{};this.getValue=t(this.getValue,this);this.update=t(this.update,this);this.unbind=t(this.unbind,this);this.bind=t(this.bind,this);this.publish=t(this.publish,this);this.sync=t(this.sync,this);this.set=t(this.set,this);this.eventHandler=t(this.eventHandler,this);this.formattedValue=t(this.formattedValue,this);this.parseFormatterArguments=t(this.parseFormatterArguments,this);this.parseTarget=t(this.parseTarget,this);this.observe=t(this.observe,this);this.setBinder=t(this.setBinder,this);this.formatters=this.options.formatters||[];this.dependencies=[];this.formatterObservers={};this.model=void 0;this.setBinder()}return r.prototype.setBinder=function(){var n,i,r,t;if(!(this.binder=this.view.binders[this.type])){t=this.view.binders;for(n in t)r=t[n],"*"!==n&&-1!==n.indexOf("*")&&(i=new RegExp("^"+n.replace(/\*/g,".+")+"$"),i.test(this.type)&&(this.binder=r,this.args=new RegExp("^"+n.replace(/\*/g,"(.+)")+"$").exec(this.type),this.args.shift()))}return this.binder||(this.binder=this.view.binders["*"]),this.binder instanceof Function?this.binder={routine:this.binder}:void 0},r.prototype.observe=function(t,i,r){return n.sightglass(t,i,r,{root:this.view.rootInterface,adapters:this.view.adapters})},r.prototype.parseTarget=function(){var t;return t=n.TypeParser.parse(this.keypath),t.type===n.TypeParser.types.primitive?this.value=t.value:(this.observer=this.observe(this.view.models,this.keypath,this.sync),this.model=this.observer.target)},r.prototype.parseFormatterArguments=function(t,i){var u,r,f,e,s,o,h;for(t=function(){var i,f,u;for(u=[],i=0,f=t.length;f>i;i++)r=t[i],u.push(n.TypeParser.parse(r));return u}(),e=[],u=o=0,h=t.length;h>o;u=++o)r=t[u],e.push(r.type===n.TypeParser.types.primitive?r.value:((s=this.formatterObservers)[i]||(s[i]={}),(f=this.formatterObservers[i][u])?void 0:(f=this.observe(this.view.models,r.value,this.sync),this.formatterObservers[i][u]=f),f.value()));return e},r.prototype.formattedValue=function(n){var u,r,t,s,f,e,h,o,c;for(o=this.formatters,r=e=0,h=o.length;h>e;r=++e)t=o[r],u=t.match(/[^\s']+|'([^']|'[^\s])*'|"([^"]|"[^\s])*"/g),s=u.shift(),t=this.view.formatters[s],f=this.parseFormatterArguments(u,r),(null!=t?t.read:void 0)instanceof Function?n=(c=t.read).call.apply(c,[this.model,n].concat(i.call(f))):t instanceof Function&&(n=t.call.apply(t,[this.model,n].concat(i.call(f))));return n},r.prototype.eventHandler=function(n){var t,i;return i=(t=this).view.handler,function(r){return i.call(n,this,r,t)}},r.prototype.set=function(t){var i;return t=t instanceof Function&&!this.binder["function"]&&n.public.executeFunctions?this.formattedValue(t.call(this.model)):this.formattedValue(t),null!=(i=this.binder.routine)?i.call(this,this.el,t):void 0},r.prototype.sync=function(){var t,n;return this.set(function(){var i,r,e,o,u,s,f;if(this.observer){if(this.model!==this.observer.target){for(u=this.dependencies,i=0,e=u.length;e>i;i++)n=u[i],n.unobserve();if(this.dependencies=[],null!=(this.model=this.observer.target)&&(null!=(s=this.options.dependencies)?s.length:void 0))for(f=this.options.dependencies,r=0,o=f.length;o>r;r++)t=f[r],n=this.observe(this.model,t,this.sync),this.dependencies.push(n)}return this.observer.value()}return this.value}.call(this))},r.prototype.publish=function(){var r,o,n,s,u,h,c,t,f,l,e,a,v;if(this.observer){for(t=this.getValue(this.el),h=this.formatters.length-1,e=this.formatters.slice(0).reverse(),n=f=0,l=e.length;l>f;n=++f)s=e[n],o=h-n,r=s.split(/\s+/),u=r.shift(),c=this.parseFormatterArguments(r,o),(null!=(a=this.view.formatters[u])?a.publish:void 0)&&(t=(v=this.view.formatters[u]).publish.apply(v,[t].concat(i.call(c))));return this.observer.setValue(t)}},r.prototype.bind=function(){var i,r,n,u,f,e,t;if(this.parseTarget(),null!=(f=this.binder.bind)&&f.call(this,this.el),null!=this.model&&(null!=(e=this.options.dependencies)?e.length:void 0))for(t=this.options.dependencies,n=0,u=t.length;u>n;n++)i=t[n],r=this.observe(this.model,i,this.sync),this.dependencies.push(r);if(this.view.preloadData)return this.sync()},r.prototype.unbind=function(){var f,i,e,n,t,o,s,h,r,u;for(null!=(s=this.binder.unbind)&&s.call(this,this.el),null!=(h=this.observer)&&h.unobserve(),r=this.dependencies,t=0,o=r.length;o>t;t++)n=r[t],n.unobserve();this.dependencies=[];u=this.formatterObservers;for(e in u){i=u[e];for(f in i)n=i[f],n.unobserve()}return this.formatterObservers={}},r.prototype.update=function(n){var t,i;return null==n&&(n={}),this.model=null!=(t=this.observer)?t.target:void 0,null!=(i=this.binder.update)?i.call(this,n):void 0},r.prototype.getValue=function(t){return this.binder&&null!=this.binder.getValue?this.binder.getValue.call(this,t):n.Util.getInputValue(t)},r}();n.ComponentBinding=function(i){function u(i,u,f){var e,l,o,h,s,a,c,v;for(this.view=i,this.el=u,this.type=f,this.unbind=t(this.unbind,this),this.bind=t(this.bind,this),this.locals=t(this.locals,this),this.component=this.view.components[this.type],this.static={},this.observers={},this.upstreamObservers={},l=i.bindingRegExp(),c=this.el.attributes||[],s=0,a=c.length;a>s;s++)e=c[s],l.test(e.name)||(o=this.camelCase(e.name),h=n.TypeParser.parse(e.value),r.call(null!=(v=this.component.static)?v:[],o)>=0?this.static[o]=e.value:h.type===n.TypeParser.types.primitive?this.static[o]=h.value:this.observers[o]=e.value)}return o(u,i),u.prototype.sync=function(){},u.prototype.update=function(){},u.prototype.publish=function(){},u.prototype.locals=function(){var n,u,t,f,i,r;t={};i=this.static;for(n in i)f=i[n],t[n]=f;r=this.observers;for(n in r)u=r[n],t[n]=u.value();return t},u.prototype.camelCase=function(n){return n.replace(/-([a-z])/g,function(n){return n[1].toUpperCase()})},u.prototype.bind=function(){var r,i,y,p,t,u,w,f,b,e,o,k,d,s,h,c,l,a,g,v;if(!this.bound){s=this.observers;for(i in s)y=s[i],this.observers[i]=this.observe(this.view.models,y,function(n){return function(t){return function(){return n.componentView.models[t]=n.observers[t].value()}}}(this).call(this,i));this.bound=!0}if(null!=this.componentView)this.componentView.bind();else{for(this.el.innerHTML=this.component.template.call(this),w=this.component.initialize.call(this,this.el,this.locals()),this.el._bound=!0,u={},h=n.extensions,e=0,k=h.length;k>e;e++){if(t=h[e],u[t]={},this.component[t]){c=this.component[t];for(r in c)f=c[r],u[t][r]=f}l=this.view[t];for(r in l)f=l[r],null==(b=u[t])[r]&&(b[r]=f)}for(a=n.options,o=0,d=a.length;d>o;o++)t=a[o],u[t]=null!=(g=this.component[t])?g:this.view[t];this.componentView=new n.View(Array.prototype.slice.call(this.el.childNodes),w,u);this.componentView.bind();v=this.observers;for(i in v)p=v[i],this.upstreamObservers[i]=this.observe(this.componentView.models,i,function(n){return function(t,i){return function(){return i.setValue(n.componentView.models[t])}}}(this).call(this,i,p))}},u.prototype.unbind=function(){var n,t,i,r,u;i=this.upstreamObservers;for(n in i)t=i[n],t.unobserve();r=this.observers;for(n in r)t=r[n],t.unobserve();if(null!=(u=this.componentView))return u.unbind.call(this)},u}(n.Binding);n.TextBinding=function(n){function i(n,i,r,u,f){this.view=n;this.el=i;this.type=r;this.keypath=u;this.options=null!=f?f:{};this.sync=t(this.sync,this);this.formatters=this.options.formatters||[];this.dependencies=[];this.formatterObservers={}}return o(i,n),i.prototype.binder={routine:function(n,t){return n.data=null!=t?t:""}},i.prototype.sync=function(){return i.__super__.sync.apply(this,arguments)},i}(n.Binding);n.public.binders.text=function(n,t){return null!=n.textContent?n.textContent=null!=t?t:"":n.innerText=null!=t?t:""};n.public.binders.html=function(n,t){return n.innerHTML=null!=t?t:""};n.public.binders.show=function(n,t){return n.style.display=t?"":"none"};n.public.binders.hide=function(n,t){return n.style.display=t?"none":""};n.public.binders.enabled=function(n,t){return n.disabled=!t};n.public.binders.disabled=function(n,t){return n.disabled=!!t};n.public.binders.checked={publishes:!0,priority:2e3,bind:function(t){return n.Util.bindEvent(t,"change",this.publish)},unbind:function(t){return n.Util.unbindEvent(t,"change",this.publish)},routine:function(n,t){var i;return n.checked="radio"===n.type?(null!=(i=n.value)?i.toString():void 0)===(null!=t?t.toString():void 0):!!t}};n.public.binders.unchecked={publishes:!0,priority:2e3,bind:function(t){return n.Util.bindEvent(t,"change",this.publish)},unbind:function(t){return n.Util.unbindEvent(t,"change",this.publish)},routine:function(n,t){var i;return n.checked="radio"===n.type?(null!=(i=n.value)?i.toString():void 0)!==(null!=t?t.toString():void 0):!t}};n.public.binders.value={publishes:!0,priority:3e3,bind:function(t){if("INPUT"!==t.tagName||"radio"!==t.type)return(this.event="SELECT"===t.tagName?"change":"input",n.Util.bindEvent(t,this.event,this.publish))},unbind:function(t){if("INPUT"!==t.tagName||"radio"!==t.type)return n.Util.unbindEvent(t,this.event,this.publish)},routine:function(n,t){var u,i,e,o,s,h,f;if("INPUT"===n.tagName&&"radio"===n.type)return n.setAttribute("value",t);if(null!=window.jQuery){if(n=jQuery(n),(null!=t?t.toString():void 0)!==(null!=(o=n.val())?o.toString():void 0))return n.val(null!=t?t:"")}else if("select-multiple"===n.type){if(null!=t){for(f=[],i=0,e=n.length;e>i;i++)u=n[i],f.push(u.selected=(s=u.value,r.call(t,s)>=0));return f}}else if((null!=t?t.toString():void 0)!==(null!=(h=n.value)?h.toString():void 0))return n.value=null!=t?t:""}};n.public.binders["if"]={block:!0,priority:4e3,bind:function(n){var t,i;if(null==this.marker)return(t=[this.view.prefix,this.type].join("-").replace("--","-"),i=n.getAttribute(t),this.marker=document.createComment(" rivets: "+this.type+" "+i+" "),this.bound=!1,n.removeAttribute(t),n.parentNode.insertBefore(this.marker,n),n.parentNode.removeChild(n))},unbind:function(){if(this.nested)return(this.nested.unbind(),this.bound=!1)},routine:function(t,i){var r,e,u,f;if(!!i==!this.bound){if(i){u={};f=this.view.models;for(r in f)e=f[r],u[r]=e;return(this.nested||(this.nested=new n.View(t,u,this.view.options()))).bind(),this.marker.parentNode.insertBefore(t,this.marker.nextSibling),this.bound=!0}return t.parentNode.removeChild(t),this.nested.unbind(),this.bound=!1}},update:function(n){var t;if(null!=(t=this.nested))return t.update(n)}};n.public.binders.unless={block:!0,priority:4e3,bind:function(t){return n.public.binders["if"].bind.call(this,t)},unbind:function(){return n.public.binders["if"].unbind.call(this)},routine:function(t,i){return n.public.binders["if"].routine.call(this,t,!i)},update:function(t){return n.public.binders["if"].update.call(this,t)}};n.public.binders["on-*"]={"function":!0,priority:1e3,unbind:function(t){if(this.handler)return n.Util.unbindEvent(t,this.args[0],this.handler)},routine:function(t,i){return this.handler&&n.Util.unbindEvent(t,this.args[0],this.handler),n.Util.bindEvent(t,this.args[0],this.handler=this.eventHandler(i))}};n.public.binders["each-*"]={block:!0,priority:4e3,bind:function(n){var r,u,t,f,i;if(null==this.marker)r=[this.view.prefix,this.type].join("-").replace("--","-"),this.marker=document.createComment(" rivets: "+this.type+" "),this.iterated=[],n.removeAttribute(r),n.parentNode.insertBefore(this.marker,n),n.parentNode.removeChild(n);else for(i=this.iterated,t=0,f=i.length;f>t;t++)u=i[t],u.bind()},unbind:function(){var i,n,r,t;if(null!=this.iterated)for(t=this.iterated,n=0,r=t.length;r>n;n++)i=t[n],i.unbind()},routine:function(t,i){var o,u,tt,r,s,e,h,a,k,v,f,c,y,l,d,g,nt,p,w,b;if(h=this.args[0],i=i||[],this.iterated.length>i.length)for(p=Array(this.iterated.length-i.length),c=0,d=p.length;d>c;c++)tt=p[c],f=this.iterated.pop(),f.unbind(),this.marker.parentNode.removeChild(f.els[0]);for(r=y=0,g=i.length;g>y;r=++y)if(e=i[r],u={index:r},u[n.public.iterationAlias(h)]=r,u[h]=e,null==this.iterated[r]){w=this.view.models;for(s in w)e=w[s],null==u[s]&&(u[s]=e);k=this.iterated.length?this.iterated[this.iterated.length-1].els[0]:this.marker;a=this.view.options();a.preloadData=!0;v=t.cloneNode(!0);f=new n.View(v,u,a);f.bind();this.iterated.push(f);this.marker.parentNode.insertBefore(v,k.nextSibling)}else this.iterated[r].models[h]!==e&&this.iterated[r].update(u);if("OPTION"===t.nodeName)for(b=this.view.bindings,l=0,nt=b.length;nt>l;l++)o=b[l],o.el===this.marker.parentNode&&"value"===o.type&&o.sync()},update:function(n){var r,t,f,e,i,o,u;r={};for(t in n)f=n[t],t!==this.args[0]&&(r[t]=f);for(u=this.iterated,i=0,o=u.length;o>i;i++)e=u[i],e.update(r)}};n.public.binders["class-*"]=function(n,t){var i;return i=" "+n.className+" ",!t==(-1!==i.indexOf(" "+this.args[0]+" "))?n.className=t?""+n.className+" "+this.args[0]:i.replace(" "+this.args[0]+" "," ").trim():void 0};n.public.binders["*"]=function(n,t){return null!=t?n.setAttribute(this.type,t):n.removeAttribute(this.type)};n.public.formatters.call=function(){var t,n;return n=arguments[0],t=2<=arguments.length?i.call(arguments,1):[],n.call.apply(n,[this].concat(i.call(t)))};n.public.adapters["."]={id:"_rv",counter:0,weakmap:{},weakReference:function(n){var t,i,r;return n.hasOwnProperty(this.id)||(t=this.counter++,Object.defineProperty(n,this.id,{value:t})),(i=this.weakmap)[r=n[this.id]]||(i[r]={callbacks:{}})},cleanupWeakReference:function(n,t){if(!Object.keys(n.callbacks).length&&(!n.pointers||!Object.keys(n.pointers).length))return delete this.weakmap[t]},stubFunction:function(n,t){var i,r,u;return r=n[t],i=this.weakReference(n),u=this.weakmap,n[t]=function(){var s,h,f,c,t,l,e,a,v,o;c=r.apply(n,arguments);e=i.pointers;for(f in e)for(h=e[f],o=null!=(a=null!=(v=u[f])?v.callbacks[h]:void 0)?a:[],t=0,l=o.length;l>t;t++)s=o[t],s();return c}},observeMutations:function(n,t,i){var o,e,u,s,f,h;if(Array.isArray(n)){if(u=this.weakReference(n),null==u.pointers)for(u.pointers={},e=["push","pop","shift","unshift","sort","reverse","splice"],f=0,h=e.length;h>f;f++)o=e[f],this.stubFunction(n,o);if(null==(s=u.pointers)[t]&&(s[t]=[]),r.call(u.pointers[t],i)<0)return u.pointers[t].push(i)}},unobserveMutations:function(n,t,i){var f,r,u;if(Array.isArray(n)&&null!=n[this.id]&&(r=this.weakmap[n[this.id]])&&(u=r.pointers[t]))return((f=u.indexOf(i))>=0&&u.splice(f,1),u.length||delete r.pointers[t],this.cleanupWeakReference(r,n[this.id]))},observe:function(n,t,i){var u,f,e;return u=this.weakReference(n).callbacks,null==u[t]&&(u[t]=[],f=Object.getOwnPropertyDescriptor(n,t),(null!=f?f.get:void 0)||(null!=f?f.set:void 0)||(e=n[t],Object.defineProperty(n,t,{enumerable:!0,get:function(){return e},set:function(i){return function(f){var s,c,o,l,h;if(f!==e&&(i.unobserveMutations(e,n[i.id],t),e=f,c=i.weakmap[n[i.id]])){if(u=c.callbacks,u[t])for(h=u[t].slice(),o=0,l=h.length;l>o;o++)s=h[o],r.call(u[t],s)>=0&&s();return i.observeMutations(f,n[i.id],t)}}}(this)}))),r.call(u[t],i)<0&&u[t].push(i),this.observeMutations(n[t],n[this.id],t)},unobserve:function(n,t,i){var r,f,u;if((u=this.weakmap[n[this.id]])&&(r=u.callbacks[t]))return((f=r.indexOf(i))>=0&&(r.splice(f,1),r.length||(delete u.callbacks[t],this.unobserveMutations(n[t],n[this.id],t))),this.cleanupWeakReference(u,n[this.id]))},get:function(n,t){return n[t]},set:function(n,t,i){return n[t]=i}};n.factory=function(t){return n.sightglass=t,n.public._=n,n.public};"object"==typeof("undefined"!=typeof module&&null!==module?module.exports:void 0)?module.exports=n.factory(require("sightglass")):"function"==typeof define&&define.amd?define(["sightglass"],function(t){return this.rivets=n.factory(t)}):this.rivets=n.factory(sightglass)}.call(this);rivets.configure({handler:function(n,t,i){return this.call(i.view.models,n,t)}});rivets.formatters["!="]=function(n,t){return n!=t};rivets.formatters["="]=function(n,t){return n==t};rivets.formatters[">"]=function(n,t){return n>t};rivets.formatters[">="]=function(n,t){return n>=t};rivets.formatters["<"]=function(n,t){return n<t};rivets.formatters["<="]=function(n,t){return n<=t};rivets.formatters["+"]=function(n,t){return n+t};rivets.formatters["-"]=function(n,t){return n-t};rivets.formatters.or=function(n,t){return n||t};rivets.formatters.and=function(n,t){return n&&t};rivets.formatters.invert=function(n){return!n};rivets.formatters.append=function(n,t){return n+t};rivets.formatters.prepend=function(n,t){return t+n};rivets.formatters.hasElement=function(n){return Array.isArray(n)&&n.length>0};rivets.formatters.empty=function(n){return n===""||Array.isArray(n)&&n.length===0};rivets.formatters.emptyOrNil=function(n){return n===undefined||n===null||n===""||Array.isArray(n)&&n.length===0};rivets.formatters.if=function(n,t,i){return n?t:i};rivets.formatters.length=function(n){return Array.isArray(n)?n.length:0};rivets.formatters.stopPropagation=function(n){return function(t,i){return i.stopPropagation(),n.call(this,i),!1}};rivets.formatters.preventDefault=function(n){return function(t,i){return i.preventDefault(),n.call(this,i),!1}};rivets.formatters.endsWith=function(n,t){return n?n.toLowerCase().endsWith(t.toLowerCase()):!1};rivets.formatters.startsWith=function(n,t){return n?n.toLowerCase().startsWith(t.toLowerCase()):!1};rivets.formatters.hasValue=function(n){return typeof n!="undefined"&&n!==null&&n!==""};rivets.formatters["%"]=function(n){return n+"%"};rivets.formatters.format=function(n,t){var u=t.replace("$value",n),r=arguments.length===1?[arguments[0]]:Array.apply(null,arguments),i;for(r.shift(),r.shift(),i=0;i<r.length;i++)u=u.replace("$"+i,r[i]);return u};rivets.binders.collapse=function(n,t){$(n).collapse(t?"show":"hide")};rivets.binders["collapse-button-state"]=function(n,t){$(n).addClass(t?"glyphicon-chevron-up":"glyphicon-chevron-down").removeClass(t?"glyphicon-chevron-down":"glyphicon-chevron-up")};rivets.binders["attr-*"]=function(n,t){var i=this.type.substring(this.type.indexOf("-")+1);t?n.setAttribute(i,t):n.removeAttribute(i)};rivets.binders["data-*"]=function(n,t){var i=this.type.substring(this.type.indexOf("-")+1);t?$(n).data(i,t):$(n).removeData(i)};rivets.binders["style-*"]=function(n,t){n.style.setProperty(this.args[0],t)};rivets.binders["select2-options"]=function(n,t){var i=$(n),r=i.data("id-prop")||"id",u=i.data("text-prop")||"text";t=t||[];t=t.map(function(n){return{id:n[r],text:n[u]}});Common.Select2.initClientSide(n,t,!0)};rivets.binders["select2-ajax"]=function(n,t){Common.Select2.initServerSide(n,!0,t)};rivets.binders["trigger-*"]=function(n){$(n).trigger(this.args[0])};rivets.binders["select2-value"]={publishes:!0,priority:3e3,bind:rivets.binders.value.bind,unbind:rivets.binders.value.unbind,routine:function(n,t){rivets.binders.value.routine(n,t);!n.value&&t&&$(n).data("select2-value",t);!t&&$(n).data("select2-value")&&$(n).removeData("select2-value");$(n).trigger("change.select2")}};rivets.binders["prevent-submit"]=function(n){$(n).submit(function(n){return n.preventDefault(),!1})};rivets.binders["date-value"]={publishes:!0,priority:3e3,bind:function(n){Common.DatePicker.initDatePicker(n);$(n).on("dp.change",this.publish)},unbind:function(n){$(n).data("DateTimePicker").destroy();$(n).off("dp.change",this.publish)},routine:function(n,t){t==undefined&&(t=null);$(n).data("DateTimePicker").date(t)},getValue:function(n){return $(n).val()}};rivets.binders["datetime-value"]={publishes:!0,priority:3e3,bind:function(n){Common.DatePicker.initDateTimePicker(n);$(n).on("dp.change",this.publish)},unbind:function(n){$(n).data("DateTimePicker").destroy();$(n).off("dp.change",this.publish)},routine:function(n,t){t&&$(n).data("DateTimePicker").date(t)},getValue:function(n){return $(n).val()}};rivets.components["definition-list-item"]={template:function(){return"<dt>{title}<\/dt><dd>{description}<\/dd>"},initialize:function(n,t){return new definitionItemViewModel(t)}}