diff --git a/public/javascripts/vendor/chessground.min.js b/public/javascripts/vendor/chessground.min.js index cd48ebadd2..c4f3799656 100755 --- a/public/javascripts/vendor/chessground.min.js +++ b/public/javascripts/vendor/chessground.min.js @@ -1,2 +1,2 @@ !function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.Chessground=e()}}(function(){var e;return function t(e,n,r){function o(i,s){if(!n[i]){if(!e[i]){var l="function"==typeof require&&require;if(!s&&l)return l(i,!0);if(a)return a(i,!0);var c=new Error("Cannot find module '"+i+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[i]={exports:{}};e[i][0].call(u.exports,function(t){var n=e[i][1][t];return o(n?n:t)},u,u.exports,t,e,n,r)}return n[i].exports}for(var a="function"==typeof require&&require,i=0;il;++l){var c=r[l],u=o(c);if("object"===u)for(var d in c){var f=e?a.clone(c[d]):c[d];i[d]=t?n(i[d],f):f}}return i}function o(e){return{}.toString.call(e).slice(8,-1).toLowerCase()}var a=function(e){return r(e===!0,!1,arguments)},i="merge";a.recursive=function(e){return r(e===!0,!0,arguments)},a.clone=function(e){var t,n,r=e,i=o(e);if("array"===i)for(r=[],n=e.length,t=0;n>t;++t)r[t]=a.clone(e[t]);else if("object"===i){r={};for(t in e)r[t]=a.clone(e[t])}return r},e?t.exports=a:window[i]=a}("object"==typeof t&&t&&"object"==typeof t.exports&&t.exports)},{}],3:[function(t,n,r){var o=function a(e,t){function n(e){T=e.document,j=e.location,D=e.cancelAnimationFrame||e.clearTimeout,N=e.requestAnimationFrame||e.setTimeout}function r(){var e,t=[].slice.call(arguments),n=!(null==t[1]||K.call(t[1])!==S||"tag"in t[1]||"view"in t[1]||"subtree"in t[1]),r=n?t[1]:{},o="class"in r?"class":"className",a={tag:"div",attrs:{}},i=[];if(K.call(t[0])!=R)throw new Error("selector in m(selector, attrs, children) should be a string");for(;e=B.exec(t[0]);)if(""===e[1]&&e[2])a.tag=e[2];else if("#"===e[1])a.attrs.id=e[2];else if("."===e[1])i.push(e[2]);else if("["===e[3][0]){var s=F.exec(e[3]);a.attrs[s[1]]=s[3]||(s[2]?"":!0)}var l=t.slice(n?2:1);a.children=1===l.length&&K.call(l[0])===q?l[0]:l;for(var c in r)r.hasOwnProperty(c)&&(c===o&&null!=r[c]&&""!==r[c]?(i.push(r[c]),a.attrs[c]=""):a.attrs[c]=r[c]);return i.length>0&&(a.attrs[o]=i.join(" ")),a}function o(e,n,a,c,d,f,p,h,v,g,m){try{(null==d||null==d.toString())&&(d="")}catch(b){d=""}if("retain"===d.subtree)return f;var y=K.call(f),w=K.call(d);if(null==f||y!==w){if(null!=f)if(a&&a.nodes){var k=h-c,x=k+(w===q?d:f.nodes).length;l(a.nodes.slice(k,x),a.slice(k,x))}else f.nodes&&l(f.nodes,f);f=new d.constructor,f.tag&&(f={}),f.nodes=[]}if(w===q){for(var E=0,C=d.length;C>E;E++)K.call(d[E])===q&&(d=d.concat.apply([],d),E--,C=d.length);for(var M=[],O=f.length===d.length,P=0,A=1,j=2,N=3,D={},B=!1,E=0;EE;E++)if(d[E]&&d[E].attrs&&null!=d[E].attrs.key){for(var U=0,C=d.length;C>U;U++)d[U]&&d[U].attrs&&null==d[U].attrs.key&&(d[U].attrs.key="__mithril__"+F++);break}if(B){var z=!1;if(d.length!=f.length)z=!0;else for(var X,G,E=0;X=f[E],G=d[E];E++)if(X.attrs&&G.attrs&&X.attrs.key!=G.attrs.key){z=!0;break}if(z){for(var E=0,C=d.length;C>E;E++)if(d[E]&&d[E].attrs&&null!=d[E].attrs.key){var H=d[E].attrs.key;D[H]=D[H]?{action:N,index:E,from:D[H].index,element:f.nodes[D[H].index]||T.createElement("div")}:{action:j,index:E}}var W=[];for(var _ in D)W.push(D[_]);var J=W.sort(i),Y=new Array(f.length);Y.nodes=f.nodes.slice();for(var V,E=0;V=J[E];E++){if(V.action===A&&(l(f[V.index].nodes,f[V.index]),Y.splice(V.index,1)),V.action===j){var Q=T.createElement("div");Q.key=d[V.index].attrs.key,e.insertBefore(Q,e.childNodes[V.index]||null),Y.splice(V.index,0,{attrs:{key:d[V.index].attrs.key},nodes:[Q]}),Y.nodes[V.index]=Q}V.action===N&&(e.childNodes[V.index]!==V.element&&null!==V.element&&e.insertBefore(V.element,e.childNodes[V.index]||null),Y[V.index]=f[V.from],Y.nodes[V.index]=V.element)}f=Y}}for(var E=0,Z=0,C=d.length;C>E;E++){var te=o(e,n,f,h,d[E],f[Z],p,h+P||P,v,g,m);te!==t&&(te.nodes.intact||(O=!1),P+=te.$trusted?(te.match(/<[^\/]|\>\s*[^<]/g)||[0]).length:K.call(te)===q?te.length:1,f[Z++]=te)}if(!O){for(var E=0,C=d.length;C>E;E++)null!=f[E]&&M.push.apply(M,f[E].nodes);for(var ne,E=0;ne=f.nodes[E];E++)null!=ne.parentNode&&M.indexOf(ne)<0&&l([ne],[f[E]]);d.length-1?f.controllers[se]:new(d.controller||$),H=d&&d.attrs&&d.attrs.key;if(d=0==re||f&&f.controllers&&f.controllers.indexOf(le)>-1?d.view(le):{tag:"placeholder"},"retain"===d.subtree)return f;H&&(d.attrs||(d.attrs={}),d.attrs.key=H),le.onunload&&ee.push({controller:le,handler:le.onunload}),oe.push(ie),ae.push(le)}if(!d.tag&&ae.length)throw new Error("Component template must return a virtual element, not an array, string, etc.");d.attrs||(d.attrs={}),f.attrs||(f.attrs={});var ce=Object.keys(d.attrs),ue=ce.length>("key"in d.attrs?1:0);if((d.tag!=f.tag||ce.sort().join()!=Object.keys(f.attrs).sort().join()||d.attrs.id!=f.attrs.id||d.attrs.key!=f.attrs.key||"all"==r.redraw.strategy()&&(!f.configContext||f.configContext.retain!==!0)||"diff"==r.redraw.strategy()&&f.configContext&&f.configContext.retain===!1)&&(f.nodes.length&&l(f.nodes),f.configContext&&typeof f.configContext.onunload===L&&f.configContext.onunload(),f.controllers))for(var le,E=0;le=f.controllers[E];E++)typeof le.onunload===L&&le.onunload({preventDefault:$});if(K.call(d.tag)!=R)return;var ne,de=0===f.nodes.length;if(d.attrs.xmlns?g=d.attrs.xmlns:"svg"===d.tag?g="http://www.w3.org/2000/svg":"math"===d.tag&&(g="http://www.w3.org/1998/Math/MathML"),de){if(ne=d.attrs.is?g===t?T.createElement(d.tag,d.attrs.is):T.createElementNS(g,d.tag,d.attrs.is):g===t?T.createElement(d.tag):T.createElementNS(g,d.tag),f={tag:d.tag,attrs:ue?s(ne,d.tag,d.attrs,{},g):d.attrs,children:null!=d.children&&d.children.length>0?o(ne,d.tag,t,t,d.children,f.children,!0,0,d.attrs.contenteditable?ne:v,g,m):d.children,nodes:[ne]},ae.length){f.views=oe,f.controllers=ae;for(var le,E=0;le=ae[E];E++)if(le.onunload&&le.onunload.$old&&(le.onunload=le.onunload.$old),re&&le.onunload){var fe=le.onunload;le.onunload=$,le.onunload.$old=fe}}f.children&&!f.children.nodes&&(f.children.nodes=[]),"select"===d.tag&&"value"in d.attrs&&s(ne,d.tag,{value:d.attrs.value},{},g),e.insertBefore(ne,e.childNodes[h]||null)}else ne=f.nodes[0],ue&&s(ne,d.tag,d.attrs,f.attrs,g),f.children=o(ne,d.tag,t,t,d.children,f.children,!1,0,d.attrs.contenteditable?ne:v,g,m),f.nodes.intact=!0,ae.length&&(f.views=oe,f.controllers=ae),p===!0&&null!=ne&&e.insertBefore(ne,e.childNodes[h]||null);if(typeof d.attrs.config===L){var pe=f.configContext=f.configContext||{},he=function(e,t){return function(){return e.attrs.config.apply(e,t)}};m.push(he(d,[ne,!de,pe,f]))}}else if(typeof d!=L){var M;0===f.nodes.length?(d.$trusted?M=u(e,h,d):(M=[T.createTextNode(d)],e.nodeName.match(I)||e.insertBefore(M[0],e.childNodes[h]||null)),f="string number boolean".indexOf(typeof d)>-1?new d.constructor(d):d,f.nodes=M):f.valueOf()!==d.valueOf()||p===!0?(M=f.nodes,v&&v===T.activeElement||(d.$trusted?(l(M,f),M=u(e,h,d)):"textarea"===n?e.value=d:v?v.innerHTML=d:((1===M[0].nodeType||M.length>1)&&(l(f.nodes,f),M=[T.createTextNode(d)]),e.insertBefore(M[0],e.childNodes[h]||null),M[0].nodeValue=d)),f=new d.constructor(d),f.nodes=M):f.nodes.intact=!0}return f}function i(e,t){return e.action-t.action||e.index-t.index}function s(e,t,n,r,o){for(var a in n){var i=n[a],s=r[a];if(a in r&&s===i)"value"===a&&"input"===t&&e.value!=i&&(e.value=i);else{r[a]=i;try{if("config"===a||"key"==a)continue;if(typeof i===L&&0===a.indexOf("on"))e[a]=d(i,e);else if("style"===a&&null!=i&&K.call(i)===S){for(var l in i)(null==s||s[l]!==i[l])&&(e.style[l]=i[l]);for(var l in s)l in i||(e.style[l]="")}else null!=o?"href"===a?e.setAttributeNS("http://www.w3.org/1999/xlink","href",i):"className"===a?e.setAttribute("class",i):e.setAttribute(a,i):a in e&&"list"!==a&&"style"!==a&&"form"!==a&&"type"!==a&&"width"!==a&&"height"!==a?("input"!==t||e[a]!==i)&&(e[a]=i):e.setAttribute(a,i)}catch(c){if(c.message.indexOf("Invalid argument")<0)throw c}}}return r}function l(e,t){for(var n=e.length-1;n>-1;n--)if(e[n]&&e[n].parentNode){try{e[n].parentNode.removeChild(e[n])}catch(r){}t=[].concat(t),t[n]&&c(t[n])}0!=e.length&&(e.length=0)}function c(e){if(e.configContext&&typeof e.configContext.onunload===L&&(e.configContext.onunload(),e.configContext.onunload=null),e.controllers)for(var t,n=0;t=e.controllers[n];n++)typeof t.onunload===L&&t.onunload({preventDefault:$});if(e.children)if(K.call(e.children)===q)for(var r,n=0;r=e.children[n];n++)c(r);else e.children.tag&&c(e.children)}function u(e,t,n){var r=e.childNodes[t];if(r){var o=1!=r.nodeType,a=T.createElement("span");o?(e.insertBefore(a,r||null),a.insertAdjacentHTML("beforebegin",n),e.removeChild(a)):r.insertAdjacentHTML("beforebegin",n)}else e.insertAdjacentHTML("beforeend",n);for(var i=[];e.childNodes[t]!==r;)i.push(e.childNodes[t]),t++;return i}function d(e,t){return function(n){n=n||event,r.redraw.strategy("diff"),r.startComputation();try{return e.call(t,n)}finally{oe()}}}function f(e){var t=X.indexOf(e);return 0>t?X.push(e)-1:t}function p(e){var t=function(){return arguments.length&&(e=arguments[0]),e};return t.toJSON=function(){return e},t}function h(e,t){var n=function(){return(e.controller||$).apply(this,t)||this},r=function(n){return arguments.length>1&&(t=t.concat([].slice.call(arguments,1))),e.view.apply(e,t?[n].concat(t):[n])};r.$original=e.view;var o={controller:n,view:r};return t[0]&&null!=t[0].key&&(o.attrs={key:t[0].key}),o}function v(){Q&&(Q(),Q=null);for(var e,t=0;e=W[t];t++)if(J[t]){var n=_[t].controller&&_[t].controller.$$args?[J[t]].concat(_[t].controller.$$args):[J[t]];r.render(e,_[t].view?_[t].view(J[t],n):"")}Z&&(Z(),Z=null),Y=null,V=new Date,r.redraw.strategy("diff")}function g(e){return e.slice(se[r.route.mode].length)}function m(e,t,n){ae={};var o=n.indexOf("?");-1!==o&&(ae=k(n.substr(o+1,n.length)),n=n.substr(0,o));var a=Object.keys(t),i=a.indexOf(n);if(-1!==i)return r.mount(e,t[a[i]]),!0;for(var s in t){if(s===n)return r.mount(e,t[s]),!0;var l=new RegExp("^"+s.replace(/:[^\/]+?\.{3}/g,"(.*?)").replace(/:[^\/]+/g,"([^\\/]+)")+"/?$");if(l.test(n))return n.replace(l,function(){for(var n=s.match(/:[^\/]+/g)||[],o=[].slice.call(arguments,1,-2),a=0,i=n.length;i>a;a++)ae[n[a].replace(/:|\./g,"")]=decodeURIComponent(o[a]);r.mount(e,t[s])}),!0}}function b(e){if(e=e||event,!e.ctrlKey&&!e.metaKey&&2!==e.which){e.preventDefault?e.preventDefault():e.returnValue=!1;for(var t=e.currentTarget||e.srcElement,n="pathname"===r.route.mode&&t.search?k(t.search.slice(1)):{};t&&"A"!=t.nodeName.toUpperCase();)t=t.parentNode;r.route(t[r.route.mode].slice(se[r.route.mode].length),n)}}function y(){"hash"!=r.route.mode&&j.hash?j.hash=j.hash:e.scrollTo(0,0)}function w(e,n){var r={},o=[];for(var a in e){var i=n?n+"["+a+"]":a,s=e[a],l=K.call(s),c=null===s?encodeURIComponent(i):l===S?w(s,i):l===q?s.reduce(function(e,t){return r[i]||(r[i]={}),r[i][t]?e:(r[i][t]=!0,e.concat(encodeURIComponent(i)+"="+encodeURIComponent(t)))},[]).join("&"):encodeURIComponent(i)+"="+encodeURIComponent(s);s!==t&&o.push(c)}return o.join("&")}function k(e){"?"===e.charAt(0)&&(e=e.substring(1));for(var t=e.split("&"),n={},r=0,o=t.length;o>r;r++){var a=t[r].split("="),i=decodeURIComponent(a[0]),s=2==a.length?decodeURIComponent(a[1]):null;null!=n[i]?(K.call(n[i])!==q&&(n[i]=[n[i]]),n[i].push(s)):n[i]=s}return n}function x(e){var n=f(e);l(e.childNodes,G[n]),G[n]=t}function E(e,t){var n=r.prop(t);return e.then(n),n.then=function(n,r){return E(e.then(n,r),t)},n}function C(e,t){function n(e){d=e||c,p.map(function(e){d===l&&e.resolve(f)||e.reject(f)})}function o(e,t,n,o){if((null!=f&&K.call(f)===S||typeof f===L)&&typeof e===L)try{var a=0;e.call(f,function(e){a++||(f=e,t())},function(e){a++||(f=e,n())})}catch(i){r.deferred.onerror(i),f=i,n()}else o()}function a(){var c;try{c=f&&f.then}catch(p){return r.deferred.onerror(p),f=p,d=s,a()}o(c,function(){d=i,a()},function(){d=s,a()},function(){try{d===i&&typeof e===L?f=e(f):d===s&&"function"==typeof t&&(f=t(f),d=i)}catch(a){return r.deferred.onerror(a),f=a,n()}f===u?(f=TypeError(),n()):o(c,function(){n(l)},n,function(){n(d===i&&l)})})}var i=1,s=2,l=3,c=4,u=this,d=0,f=0,p=[];u.promise={},u.resolve=function(e){return d||(f=e,d=i,a()),this},u.reject=function(e){return d||(f=e,d=s,a()),this},u.promise.then=function(e,t){var n=new C(e,t);return d===l?n.resolve(f):d===c?n.reject(f):p.push(n),n.promise}}function M(e){return e}function O(n){if(!n.dataType||"jsonp"!==n.dataType.toLowerCase()){var r=new e.XMLHttpRequest;if(r.open(n.method,n.url,!0,n.user,n.password),r.onreadystatechange=function(){4===r.readyState&&(r.status>=200&&r.status<300?n.onload({type:"load",target:r}):n.onerror({type:"error",target:r}))},n.serialize===JSON.stringify&&n.data&&"GET"!==n.method&&r.setRequestHeader("Content-Type","application/json; charset=utf-8"),n.deserialize===JSON.parse&&r.setRequestHeader("Accept","application/json, text/*"),typeof n.config===L){var o=n.config(r,n);null!=o&&(r=o)}var a="GET"!==n.method&&n.data?n.data:"";if(a&&K.call(a)!=R&&a.constructor!=e.FormData)throw"Request data should be either be a string or FormData. Check the `serialize` option in `m.request`";return r.send(a),r}var i="mithril_callback_"+(new Date).getTime()+"_"+Math.round(1e16*Math.random()).toString(36),s=T.createElement("script");e[i]=function(r){s.parentNode.removeChild(s),n.onload({type:"load",target:{responseText:r}}),e[i]=t},s.onerror=function(r){return s.parentNode.removeChild(s),n.onerror({type:"error",target:{status:500,responseText:JSON.stringify({error:"Error making jsonp request"})}}),e[i]=t,!1},s.onload=function(e){return!1},s.src=n.url+(n.url.indexOf("?")>0?"&":"?")+(n.callbackKey?n.callbackKey:"callback")+"="+i+"&"+w(n.data||{}),T.body.appendChild(s)}function P(e,t,n){if("GET"===e.method&&"jsonp"!=e.dataType){var r=e.url.indexOf("?")<0?"?":"&",o=w(t);e.url=e.url+(o?r+o:"")}else e.data=n(t);return e}function A(e,t){var n=e.match(/:[a-z]\w+/gi);if(n&&t)for(var r=0;ru;u++)a[u]()},r.trust=function(e){return e=new String(e),e.$trusted=!0,e},r.prop=function(e){return(null!=e&&K.call(e)===S||typeof e===L)&&typeof e.then===L?E(e):p(e)};var H,W=[],_=[],J=[],Y=null,V=0,Q=null,Z=null,ee=[],te=16;r.component=function(e){return h(e,[].slice.call(arguments,1))},r.mount=r.module=function(e,t){if(!e)throw new Error("Please ensure the DOM element exists before rendering a template into it.");var n=W.indexOf(e);0>n&&(n=W.length);for(var o,a=!1,i={preventDefault:function(){a=!0,Q=Z=null}},s=0;o=ee[s];s++)o.handler.call(o.controller,i),o.controller.onunload=null;if(a)for(var o,s=0;o=ee[s];s++)o.controller.onunload=o.handler;else ee=[];if(J[n]&&typeof J[n].onunload===L&&J[n].onunload(i),!a){r.redraw.strategy("all"),r.startComputation(),W[n]=e,arguments.length>2&&(t=subcomponent(t,[].slice.call(arguments,2)));var l=H=t=t||{controller:function(){}},c=t.controller||$,u=new c;return l===H&&(J[n]=u,_[n]=t),oe(),J[n]}};var ne=!1;r.redraw=function(t){ne||(ne=!0,Y&&t!==!0?(N===e.requestAnimationFrame||new Date-V>te)&&(Y>0&&D(Y),Y=N(v,te)):(v(),Y=N(function(){Y=null},te)),ne=!1)},r.redraw.strategy=r.prop();var re=0;r.startComputation=function(){re++},r.endComputation=function(){re=Math.max(re-1,0),0===re&&r.redraw()};var oe=function(){"none"==r.redraw.strategy()?(re--,r.redraw.strategy("diff")):r.endComputation()};r.withAttr=function(e,t){return function(n){n=n||event;var r=n.currentTarget||this;t(e in r?r[e]:r.getAttribute(e))}};var ae,ie,se={pathname:"",hash:"#",search:"?"},le=$,ce=!1;return r.route=function(){if(0===arguments.length)return ie;if(3===arguments.length&&K.call(arguments[1])===R){var t=arguments[0],n=arguments[1],o=arguments[2];le=function(e){var a=ie=g(e);if(!m(t,o,a)){if(ce)throw new Error("Ensure the default route matches one of the routes defined in m.route");ce=!0,r.route(n,!0),ce=!1}};var a="hash"===r.route.mode?"onhashchange":"onpopstate";e[a]=function(){var e=j[r.route.mode];"pathname"===r.route.mode&&(e+=j.search),ie!=g(e)&&le(e)},Q=y,e[a]()}else if(arguments[0].addEventListener||arguments[0].attachEvent){var i=arguments[0],s=(arguments[1],arguments[2],arguments[3]);i.href=("pathname"!==r.route.mode?j.pathname:"")+se[r.route.mode]+s.attrs.href,i.addEventListener?(i.removeEventListener("click",b),i.addEventListener("click",b)):(i.detachEvent("onclick",b),i.attachEvent("onclick",b))}else if(K.call(arguments[0])===R){var l=ie;ie=arguments[0];var c=arguments[1]||{},u=ie.indexOf("?"),d=u>-1?k(ie.slice(u+1)):{};for(var f in c)d[f]=c[f];var p=w(d),h=u>-1?ie.slice(0,u):ie;p&&(ie=h+(-1===h.indexOf("?")?"?":"&")+p);var v=(3===arguments.length?arguments[2]:arguments[1])===!0||l===arguments[0];e.history.pushState?(Q=y,Z=function(){e.history[v?"replaceState":"pushState"](null,T.title,se[r.route.mode]+ie)},le(se[r.route.mode]+ie)):(j[r.route.mode]=ie,le(se[r.route.mode]+ie))}},r.route.param=function(e){if(!ae)throw new Error("You must call m.route(element, defaultRoute, routes) before calling m.route.param()");return ae[e]},r.route.mode="search",r.route.buildQueryString=w,r.route.parseQueryString=k,r.deferred=function(){var e=new C;return e.promise=E(e.promise),e},r.deferred.onerror=function(e){if("[object Error]"===K.call(e)&&!e.constructor.toString().match(/ Error/))throw e},r.sync=function(e){function t(e,t){return function(r){return i[e]=r,t||(n="reject"),0===--a&&(o.promise(i),o[n](i)),r}}var n="resolve",o=r.deferred(),a=e.length,i=new Array(a);if(e.length>0)for(var s=0;s=t)e.animation.current={},e.render();else{var n=d.easeInOutCubic(t);for(var r in e.animation.current.anims){var o=e.animation.current.anims[r];o[1]=[s(o[0][0]*n,10),s(o[0][1]*n,10)]}for(var a in e.animation.current.fadings)e.animation.current.fadings[a].opacity=s(n,100);e.render(),u.requestAnimationFrame(function(){l(e)})}}}function c(e,t){var n={orientation:t.orientation,pieces:{}};for(var r in t.pieces)n.pieces[r]={role:t.pieces[r].role,color:t.pieces[r].color};var o=e(),a=i(n,t);if(Object.keys(a.anims).length>0||a.fadings.length>0){var s=t.animation.current.start;t.animation.current={start:(new Date).getTime(),duration:t.animation.duration,anims:a.anims,fadings:a.fadings},s||l(t)}else t.renderRAF();return o}var u=e("./util"),d={easeInOutCubic:function(e){return.5>e?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1}};t.exports=function(e,t,n){return function(){var r=[t].concat(Array.prototype.slice.call(arguments,0));if(t.render){if(t.animation.enabled&&!n)return c(u.partialApply(e,r),t);var o=e.apply(null,r);return t.renderRAF(),o}return e.apply(null,r)}}},{"./util":16}],5:[function(e,t,n){var r=e("./board");t.exports=function(e){return{set:e.set,toggleOrientation:e.toggleOrientation,getOrientation:function(){return e.data.orientation},getPieces:function(){return e.data.pieces},getMaterialDiff:function(){return r.getMaterialDiff(e.data)},getFen:e.getFen,dump:function(){return e.data},move:e.apiMove,setPieces:e.setPieces,setCheck:e.setCheck,playPremove:e.playPremove,cancelPremove:e.cancelPremove,cancelMove:e.cancelMove,stop:e.stop,explode:e.explode,setAutoShapes:e.setAutoShapes}}},{"./board":6}],6:[function(e,t,n){function r(e){setTimeout(e,1)}function o(e){e.orientation=P.opposite(e.orientation)}function a(e){e.lastMove=null,g(e,null),c(e)}function i(e,t){Object.keys(t).forEach(function(n){t[n]?e.pieces[n]=t[n]:delete e.pieces[n]}),e.movable.dropped=[]}function s(e,t){var n=t||e.turnColor;Object.keys(e.pieces).forEach(function(t){e.pieces[t].color===n&&"king"===e.pieces[t].role&&(e.check=t)})}function l(e,t,n){e.premovable.current=[t,n],r(P.partial(e.premovable.events.set,t,n))}function c(e){e.premovable.current&&(e.premovable.current=null,r(e.premovable.events.unset))}function u(e,t,n){if(e.autoCastle){var r=e.pieces[n];if("king"===r.role){var o=P.key2pos(t);if(5===o[0]&&(1===o[1]||8===o[1])){var a,i,s,l=P.key2pos(n);if(7===l[0]||8===l[0])a=P.pos2key([8,o[1]]),i=P.pos2key([6,o[1]]),s=P.pos2key([7,o[1]]);else{if(3!==l[0]&&1!==l[0])return;a=P.pos2key([1,o[1]]),i=P.pos2key([4,o[1]]),s=P.pos2key([3,o[1]])}delete e.pieces[t],delete e.pieces[n],delete e.pieces[a],e.pieces[s]={role:"king",color:r.color},e.pieces[i]={role:"rook",color:r.color}}}}}function d(e,t,n){var o=T(function(){if(t===n||!e.pieces[t])return!1;var o=e.pieces[n]&&e.pieces[n].color!==e.pieces[t].color?e.pieces[n]:null;return r(P.partial(e.events.move,t,n,o)),e.pieces[n]=e.pieces[t],delete e.pieces[t],e.lastMove=[t,n],e.check=null,u(e,t,n),r(e.events.change),!0},e)();return o&&(e.movable.dropped=[]),o}function f(e,t,n){var r=d(e,t,n);return r&&(e.movable.dests={},e.turnColor=P.opposite(e.turnColor)),r}function p(e,t,n){return d(e,t,n)}function h(e,t,n){if(n)if(b(e,t,n)){if(f(e,t,n)){var o=j.stop();return g(e,null),r(P.partial(e.movable.events.after,t,n,{premove:!1,holdTime:o})),!0}}else w(e,t,n)?(l(e,t,n),g(e,null)):m(e,n)||y(e,n)?(g(e,n),j.start()):g(e,null);else j.cancel(),g(e,null),"trash"===e.movable.dropOff&&(delete e.pieces[t],r(e.events.change))}function v(e,t){e.selected?t?e.selected!==t?h(e,e.selected,t)&&(e.stats.dragged=!1):j.start():(g(e,null),j.cancel()):(m(e,t)||y(e,t))&&(g(e,t),j.start()),t&&r(P.partial(e.events.select,t))}function g(e,t){e.selected=t,e.premovable.dests=t&&y(e,t)?A(e.pieces,t,e.premovable.castle):null}function m(e,t){var n=e.pieces[t];return n&&("both"===e.movable.color||e.movable.color===n.color&&e.turnColor===n.color)}function b(e,t,n){return t!==n&&m(e,t)&&(e.movable.free||P.containsX(e.movable.dests[t],n))}function y(e,t){var n=e.pieces[t];return n&&e.premovable.enabled&&e.movable.color===n.color&&e.turnColor!==n.color}function w(e,t,n){return t!==n&&y(e,t)&&P.containsX(A(e.pieces,t,e.premovable.castle),n)}function k(e,t){var n=e.pieces[t];return n&&e.draggable.enabled&&("both"===e.movable.color||e.movable.color===n.color&&(e.turnColor===n.color||e.premovable.enabled))}function x(e){var t=e.premovable.current;if(t){var n=t[0],o=t[1];b(e,n,o)&&f(e,n,o)&&r(P.partial(e.movable.events.after,n,o,{premove:!0})),c(e)}}function E(e){c(e),v(e,null)}function C(e){e.movable.color=null,e.movable.dests={},E(e)}function M(e,t,n){if(n||e.bounds){n=n||e.bounds();var r=Math.ceil(8*((t[0]-n.left)/n.width));r="white"===e.orientation?r:9-r;var o=Math.ceil(8-8*((t[1]-n.top)/n.height));return o="white"===e.orientation?o:9-o,r>0&&9>r&&o>0&&9>o?P.pos2key([r,o]):void 0}}function O(e){var t={king:0,queen:0,rook:0,bishop:0,knight:0,pawn:0};for(var n in e.pieces){var r=e.pieces[n];t[r.role]+="white"===r.color?1:-1}var o={white:{},black:{}};for(var a in t){var i=t[a];i>0?o.white[a]=i:0>i&&(o.black[a]=-i)}return o}var P=e("./util"),A=e("./premove"),T=e("./anim"),j=e("./hold");t.exports={reset:a,toggleOrientation:o,setPieces:i,setCheck:s,selectSquare:v,setSelected:g,isDraggable:k,canMove:b,userMove:h,apiMove:p,playPremove:x,unsetPremove:c,cancelMove:E,stop:C,getKeyAtDomPos:M,getMaterialDiff:O}},{"./anim":4,"./hold":13,"./premove":14,"./util":16}],7:[function(e,t,n){var r=e("merge"),o=e("./board"),a=e("./fen");t.exports=function(e,t){t&&(t.movable&&t.movable.dests&&delete e.movable.dests,r.recursive(e,t),e.fen&&(e.pieces=a.read(e.fen),e.check=t.check,e.drawable.shapes=[],delete e.fen),e.check===!0&&o.setCheck(e),e.movable.dropped=[],e.selected&&o.setSelected(e,e.selected),(!e.animation.duration||e.animation.duration<10)&&(e.animation.enabled=!1))}},{"./board":6,"./fen":12,merge:2}],8:[function(e,t,n){var r=e("./board"),o=e("./data"),a=e("./fen"),i=e("./configure"),s=e("./anim"),l=e("./drag");t.exports=function(e){this.data=o(e),this.vm={exploding:!1},this.getFen=function(){return a.write(this.data.pieces)}.bind(this),this.set=s(i,this.data),this.toggleOrientation=s(r.toggleOrientation,this.data),this.setPieces=s(r.setPieces,this.data),this.selectSquare=s(r.selectSquare,this.data,!0),this.apiMove=s(r.apiMove,this.data),this.playPremove=s(r.playPremove,this.data),this.cancelPremove=s(r.unsetPremove,this.data,!0),this.setCheck=s(r.setCheck,this.data,!0),this.cancelMove=s(function(e){r.cancelMove(e),l.cancel(e)}.bind(this),this.data,!0),this.stop=s(function(e){r.stop(e),l.cancel(e)}.bind(this),this.data,!0),this.explode=function(e){this.data.render&&(this.vm.exploding=e,this.data.renderRAF(),setTimeout(function(){this.vm.exploding=!1,this.data.renderRAF()}.bind(this),200))}.bind(this),this.setAutoShapes=function(e){s(function(t){t.drawable.autoShapes=e},this.data,!1)()}.bind(this)}},{"./anim":4,"./board":6,"./configure":7,"./data":9,"./drag":10,"./fen":12}],9:[function(e,t,n){var r=e("./fen"),o=e("./configure");t.exports=function(e){var t={pieces:r.read(r.initial),orientation:"white",turnColor:"white",check:null,lastMove:null,selected:null,coordinates:!0,render:null,renderRAF:null,element:null,bounds:null,autoCastle:!1,viewOnly:!1,minimalDom:!1,disableContextMenu:!1,resizable:!0,highlight:{lastMove:!0,check:!0,dragOver:!0},animation:{enabled:!0,duration:200,current:{}},movable:{free:!0,color:"both",dests:{},dropOff:"revert",dropped:[],showDests:!0,events:{after:function(e,t,n){}}},premovable:{enabled:!0,showDests:!0,castle:!0,dests:[],current:null,events:{set:function(e,t){},unset:function(){}}},draggable:{enabled:!0,distance:3,autoDistance:!0,squareTarget:!1,centerPiece:!0,showGhost:!0,current:{}},stats:{dragged:!("ontouchstart"in window)},events:{change:function(){},move:function(e,t,n){},capture:function(e,t){},select:function(e){}},drawable:{enabled:!1,shapes:[],autoShapes:[],current:{},brushes:{green:{key:"g",color:"#15781B",opacity:1,lineWidth:10,circleMargin:0},red:{key:"r",color:"#882020",opacity:1,lineWidth:10,circleMargin:1},blue:{key:"b",color:"#003088",opacity:1,lineWidth:10,circleMargin:2},yellow:{key:"y",color:"#e68f00",opacity:1,lineWidth:10,circleMargin:3},paleBlue:{key:"pb",color:"#003088",opacity:.45,lineWidth:15,circleMargin:0},paleGreen:{key:"pg",color:"#15781B",opacity:.55,lineWidth:15,circleMargin:0}}}};return o(t,e||{}),t}},{"./configure":7,"./fen":12}],10:[function(e,t,n){function r(e){return e?e.color+e.role:""}function o(e,t,n){var r=f.key2pos(n);return"white"!==e.orientation&&(r[0]=9-r[0],r[1]=9-r[1]),{left:t.left+t.width*(r[0]-1)/8,top:t.top+t.height*(8-r[1])/8,width:t.width/8,height:t.height/8}}function a(e,t){if(!(void 0!==t.button&&0!==t.button||t.touches&&t.touches.length>1)){t.stopPropagation(),t.preventDefault(),u=t.target;var n=e.selected,a=f.eventPosition(t),s=e.bounds(),l=d.getKeyAtDomPos(e,a,s),c=!!e.premovable.current;d.selectSquare(e,l);var p=e.selected===l;if(e.pieces[l]&&p&&d.isDraggable(e,l)){var h=o(e,s,l);e.draggable.current={previouslySelected:n,orig:l,piece:r(e.pieces[l]),rel:a,epos:a,pos:[0,0],dec:e.draggable.centerPiece?[a[0]-(h.left+h.width/2),a[1]-(h.top+h.height/2)]:[0,0],bounds:s,started:e.draggable.autoDistance&&e.stats.dragged}}else c&&d.unsetPremove(e);i(e)}}function i(e){f.requestAnimationFrame(function(){var t=e.draggable.current;t.orig&&(e.animation.current.start&&e.animation.current.anims[t.orig]&&(e.animation.current={}),r(e.pieces[t.orig])!==t.piece?c(e):(!t.started&&f.distance(t.epos,t.rel)>=e.draggable.distance&&(t.started=!0),t.started&&(t.pos=[t.epos[0]-t.rel[0],t.epos[1]-t.rel[1]],t.over=d.getKeyAtDomPos(e,t.epos,t.bounds)))),e.render(),t.orig&&i(e)})}function s(e,t){t.touches&&t.touches.length>1||e.draggable.current.orig&&(e.draggable.current.epos=f.eventPosition(t))}function l(e,t){var n=e.draggable,r=n.current?n.current.orig:null;if(r&&(!t||"touchend"!==t.type||u===t.target)){d.unsetPremove(e);var o=n.current.over;n.current.started&&(r!==o&&(e.movable.dropped=[r,o]),d.userMove(e,r,o)&&(e.stats.dragged=!0)),r!==n.current.previouslySelected||r!==o&&o||d.setSelected(e,null),n.current={}}}function c(e){e.draggable.current.orig&&(e.draggable.current={},d.selectSquare(e,null))}var u,d=e("./board"),f=e("./util");t.exports={start:a,move:s,end:l,cancel:c,processDrag:i -}},{"./board":6,"./util":16}],11:[function(e,t,n){function r(e,t){if(!(t.touches&&t.touches.length>1)){t.stopPropagation(),t.preventDefault(),f.cancelMove(e);var n=p.eventPosition(t),r=e.bounds(),a=f.getKeyAtDomPos(e,n,r);e.drawable.current={orig:a,epos:n,bounds:r,brush:h[(t.shiftKey&p.isRightButton(t))+(t.altKey?2:0)]},o(e)}}function o(e){p.requestAnimationFrame(function(){var t=e.drawable.current;if(t.orig){var n=f.getKeyAtDomPos(e,t.epos,t.bounds);t.dest=t.orig===n?void 0:n}e.render(),t.orig&&o(e)})}function a(e,t){e.drawable.current.orig&&(e.drawable.current.epos=p.eventPosition(t))}function i(e,t){var n=e.drawable,r=n.current.orig,o=n.current.dest;r&&o?d(n,r,o):r&&u(n,r),n.current={},e.render()}function s(e){e.drawable.current.orig&&(e.drawable.current={})}function l(e,t){0!==t.button||t.shiftKey||e.drawable.shapes.length&&(e.drawable.shapes=[],e.render())}function c(e){return function(t){return!e(t)}}function u(e,t){var n=e.current.brush,r=function(e){return e.brush===n&&e.orig===t&&!e.dest},o=e.shapes.filter(r).length>0;o?e.shapes=e.shapes.filter(c(r)):e.shapes.push({brush:n,orig:t})}function d(e,t,n){var r=e.current.brush,o=function(e){return e.orig&&e.dest&&(e.orig===t&&e.dest===n||e.dest===t&&e.orig===n)},a=e.shapes.filter(o).length>0;a?e.shapes=e.shapes.filter(c(o)):e.shapes.push({brush:r,orig:t,dest:n})}var f=e("./board"),p=e("./util"),h=["green","red","blue","yellow"];t.exports={start:r,move:a,end:i,cancel:s,clear:l,processDraw:o}},{"./board":6,"./util":16}],12:[function(e,t,n){function r(e){"start"===e&&(e=i);var t={};return e.replace(/ .+$/,"").split("/").forEach(function(e,n){var r=0;e.split("").forEach(function(e){var o=parseInt(e);o?r+=o:(r++,t[a.pos2key([r,8-n])]={role:s[e.toLowerCase()],color:e===e.toLowerCase()?"black":"white"})})}),t}function o(e){return[8,7,6,5,4,3,2].reduce(function(e,t){return e.replace(new RegExp(Array(t+1).join("1"),"g"),t)},a.invRanks.map(function(t){return a.ranks.map(function(n){var r=e[a.pos2key([n,t])];if(r){var o=l[r.role];return"white"===r.color?o.toUpperCase():o}return"1"}).join("")}).join("/"))}var a=e("./util"),i="rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR",s={p:"pawn",r:"rook",n:"knight",b:"bishop",q:"queen",k:"king"},l={pawn:"p",rook:"r",knight:"n",bishop:"b",queen:"q",king:"k"};t.exports={initial:i,read:r,write:o}},{"./util":16}],13:[function(e,t,n){var r,o=function(){r=new Date},a=function(){r=null},i=function(){if(!r)return 0;var e=new Date-r;return r=null,e};t.exports={start:o,cancel:a,stop:i}},{}],14:[function(e,t,n){function r(e,t){return Math.abs(e-t)}function o(e,t,n,o,a){return r(t,o)<2&&("white"===e?a===n+1||2>=n&&a===n+2&&t===o:a===n-1||n>=7&&a===n-2&&t===o)}function a(e,t,n,o){var a=r(e,n),i=r(t,o);return 1===a&&2===i||2===a&&1===i}function i(e,t,n,o){return r(e,n)===r(t,o)}function s(e,t,n,r){return e===n||t===r}function l(e,t,n,r){return i(e,t,n,r)||s(e,t,n,r)}function c(e,t,n,o,a,i,s){return r(o,i)<2&&r(a,s)<2||n&&a===s&&a===("white"===e?1:8)&&(5===o&&(3===i||7===i)||f.containsX(t,i))}function u(e,t){return Object.keys(e).filter(function(n){var r=e[n];return r&&r.color===t&&"rook"===r.role}).map(function(e){return f.key2pos(e)[0]})}function d(e,t,n){var r,d=e[t],p=f.key2pos(t);switch(d.role){case"pawn":r=o.bind(null,d.color);break;case"knight":r=a;break;case"bishop":r=i;break;case"rook":r=s;break;case"queen":r=l;break;case"king":r=c.bind(null,d.color,u(e,d.color),n)}return f.allPos.filter(function(e){return(p[0]!==e[0]||p[1]!==e[1])&&r(p[0],p[1],e[0],e[1])}).map(f.pos2key)}var f=e("./util");t.exports=d},{"./util":16}],15:[function(e,t,n){function r(e,t){return(e?2:4)/512*t.width}function o(e,t,n){return(e.lineWidth||10)*(t?.7:1)/512*n.width}function a(e,t){return(e.opacity||1)*(t?.6:1)}function i(e,t){return(e?12:24)/512*t.width}function s(e,t){var n=t.width/8;return[(e[0]-.5)*n,(8.5-e[1])*n]}function l(e,t,n,o){var i=s(t,o),l=r(n,o),c=o.width/16;return{tag:"circle",attrs:{key:n?"current":t+e.key,stroke:e.color,"stroke-width":l,fill:"none",opacity:a(e,n),cx:i[0],cy:i[1],r:c-l/2-e.circleMargin*l*1.5}}}function c(e,t,n,r,l){var c=i(r,l),u=s(t,l),d=s(n,l),f=d[0]-u[0],p=d[1]-u[1],h=Math.atan2(p,f),v=Math.cos(h)*c,g=Math.sin(h)*c;return{tag:"line",attrs:{key:r?"current":t+n+e.key,stroke:e.color,"stroke-width":o(e,r,l),"stroke-linecap":"round","marker-end":"url(#arrowhead-"+e.key+")",opacity:a(e,r),x1:u[0],y1:u[1],x2:d[0]-v,y2:d[1]-g}}}function u(e){return{tag:"defs",children:[e.map(function(e){return{key:e.key,tag:"marker",attrs:{id:"arrowhead-"+e.key,orient:"auto",markerWidth:4,markerHeight:8,refX:2.05,refY:2.01},children:[{tag:"path",attrs:{d:"M0,0 V4 L3,2 Z",fill:e.color}}]}})]}}function d(e,t){return"white"===t?e:[9-e[0],9-e[1]]}function f(e,t,n,r){return function(o){return o.orig&&o.dest?c(n[o.brush],d(p(o.orig),e),d(p(o.dest),e),t,r):o.orig?l(n[o.brush],d(p(o.orig),e),t,r):void 0}}var p=(e("mithril"),e("./util").key2pos);t.exports=function(e){if(e.data.bounds){var t=e.data.bounds();if(t.width===t.height){var n=e.data.drawable,r=n.shapes.concat(n.autoShapes);if(r.length||n.current.orig){var o=Object.keys(e.data.drawable.brushes).filter(function(e){return n.current&&n.current.dest&&n.current.brush===e||r.filter(function(t){return t.dest&&t.brush===e}).length}).map(function(t){return e.data.drawable.brushes[t]});return{tag:"svg",children:[u(o),r.map(f(e.data.orientation,!1,e.data.drawable.brushes,t)),f(e.data.orientation,!0,e.data.drawable.brushes,t)(n.current)]}}}}}},{"./util":16,mithril:3}],16:[function(e,t,n){function r(e){return w[e[0]-1]+e[1]}function o(e){return[w.indexOf(e[0])+1,parseInt(e[1])]}function a(e){return w[7-w.indexOf(e[0])]+(9-parseInt(e[1]))}function i(e){var t=[];for(var n in e)e[n]&&t.push(n);return t.join(" ")}function s(e){return"white"===e?"black":"white"}function l(e,t){return e&&(e[0]===t||e[1]===t)}function c(e,t){return e&&-1!==e.indexOf(t)}function u(e,t){return Math.sqrt(Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2))}function d(){return"transform"in document.body.style?"transform":"webkitTransform"in document.body.style?"webkitTransform":"mozTransform"in document.body.style?"mozTransform":"oTransform"in document.body.style?"oTransform":"msTransform"}function f(){return y||(y=d()),y}function p(e){return"translate("+e[0]+"px,"+e[1]+"px)"}function h(e){return e.touches?[e.targetTouches[0].clientX,e.targetTouches[0].clientY]:[e.clientX,e.clientY]}function v(e,t){return e.bind.apply(e,[null].concat(t))}function g(){return v(arguments[0],Array.prototype.slice.call(arguments,1))}function m(e){return 2===e.buttons||2===e.button}function b(e){var t,n=function(){return void 0===t&&(t=e()),t};return n.clear=function(){t=void 0},n}var y,w="abcdefgh".split(""),k=[1,2,3,4,5,6,7,8],x=[8,7,6,5,4,3,2,1],E=function(){var e=[];return x.forEach(function(t){k.forEach(function(n){e.push([n,t])})}),e}(),C=E.slice().reverse(),M=E.map(r);t.exports={files:w,ranks:k,invRanks:x,allPos:E,invPos:C,allKeys:M,pos2key:r,key2pos:o,invertKey:a,classSet:i,opposite:s,translate:p,contains2:l,containsX:c,distance:u,eventPosition:h,partialApply:v,partial:g,transformProp:f,requestAnimationFrame:(window.requestAnimationFrame||window.setTimeout).bind(window),isRightButton:m,memo:b}},{}],17:[function(e,t,n){function r(e){return e.role+" "+e.color}function o(e,t,n){var o={style:{},"class":r(n)},a=e.data.draggable.current;if(a.orig===t&&a.started)o.style[g.transformProp()]=g.translate([a.pos[0]+a.dec[0],a.pos[1]+a.dec[1]]),o["class"]+=" dragging";else if(e.data.animation.current.anims){var i=e.data.animation.current.anims[t];i&&(o.style[g.transformProp()]=g.translate(i[1]))}return{tag:"piece",attrs:o}}function a(e){return{tag:"piece",attrs:{"class":r(e)+" ghost"}}}function i(e,t,n){var r=g.files[t[0]-1],i=t[1],s=r+i,l=e.data.pieces[s],c=e.data.highlight.dragOver&&e.data.draggable.current.over===s,u=g.classSet({selected:e.data.selected===s,check:e.data.highlight.check&&e.data.check===s,"last-move":e.data.highlight.lastMove&&g.contains2(e.data.lastMove,s),"move-dest":(c||e.data.movable.showDests)&&g.containsX(e.data.movable.dests[e.data.selected],s),"premove-dest":(c||e.data.premovable.showDests)&&g.containsX(e.data.premovable.dests,s),"current-premove":g.contains2(e.data.premovable.current,s),"drag-over":c,oc:!!l,exploding:e.vm.exploding&&-1!==e.vm.exploding.indexOf(s)}),d={style:{left:12.5*(n?t[0]-1:8-t[0])+"%",bottom:12.5*(n?t[1]-1:8-t[1])+"%"}};u&&(d["class"]=u),e.data.coordinates&&(t[1]===(n?1:8)&&(d["data-coord-x"]=r),t[0]===(n?8:1)&&(d["data-coord-y"]=i));var f=[];return l&&(f.push(o(e,s,l)),e.data.draggable.current.orig===s&&e.data.draggable.showGhost&&f.push(a(l))),{tag:"square",attrs:d,children:f}}function s(e,t){var n=g.key2pos(t.over),r="white"===e.data.orientation?n[0]:9-n[0],o="white"===e.data.orientation?n[1]:9-n[1];return{tag:"div",attrs:{id:"cg-square-target",style:{width:t.bounds.width/4+"px",height:t.bounds.height/4+"px",left:(r-1.5)*t.bounds.width/8+"px",top:(7.5-o)*t.bounds.height/8+"px"}}}}function l(e){return{tag:"square",attrs:{"class":"fading",style:{left:e.left,bottom:e.bottom,opacity:e.opacity}},children:[{tag:"piece",attrs:{"class":r(e.piece)}}]}}function c(e,t){var n=[];e.data.lastMove&&e.data.lastMove.forEach(function(e){var r=g.key2pos(e);n.push({tag:"square",attrs:{"class":"last-move",style:{left:12.5*(t?r[0]-1:8-r[0])+"%",bottom:12.5*(t?r[1]-1:8-r[1])+"%"}}})});for(var o=Object.keys(e.data.pieces),a=0,i=o.length;i>a;a++){var s=o[a],l=g.key2pos(s),c={style:{left:12.5*(t?l[0]-1:8-l[0])+"%",bottom:12.5*(t?l[1]-1:8-l[1])+"%"},"class":r(e.data.pieces[s])};if(e.data.animation.current.anims){var u=e.data.animation.current.anims[s];u&&(c.style[g.transformProp()]=g.translate(u[1]))}n.push({tag:"piece",attrs:c})}return n}function u(e){var t="white"===e.data.orientation;if(e.data.minimalDom)return c(e,t);for(var n=t?g.allPos:g.invPos,r=[],o=0,a=n.length;a>o;o++)r.push(i(e,n[o],t));return e.data.draggable.current.over&&e.data.draggable.squareTarget&&r.push(s(e,e.data.draggable.current)),e.data.animation.current.fadings&&e.data.animation.current.fadings.forEach(function(e){r.push(l(e))}),e.data.drawable.enabled&&r.push(m(e)),r}function d(e,t,n){return function(r){e.drawable.enabled&&(r.shiftKey||g.isRightButton(r))?n(e,r):e.viewOnly||t(e,r)}}function f(e,t,n){var r=e.data,o=d(r,h.start,v.start),a=d(r,h.move,v.move),i=d(r,h.end,v.end),s=g.partial(v.clear,r),l=["touchstart","mousedown"],c=["touchmove","mousemove"],u=["touchend","mouseup"];l.forEach(function(e){t.addEventListener(e,o)}),c.forEach(function(e){document.addEventListener(e,a)}),u.forEach(function(e){document.addEventListener(e,i)}),t.addEventListener("mousedown",s),n.onunload=function(){l.forEach(function(e){t.removeEventListener(e,o)}),c.forEach(function(e){document.removeEventListener(e,a)}),u.forEach(function(e){document.removeEventListener(e,i)}),t.removeEventListener("mousedown",s)}}function p(e){return{tag:"div",attrs:{"class":"cg-board orientation-"+e.data.orientation,config:function(t,n,r){n||((!e.data.viewOnly||e.data.drawable.enabled)&&f(e,t,r),e.data.render=function(){b.render(t,u(e))},e.data.renderRAF=function(){g.requestAnimationFrame(e.data.render)},e.data.bounds=g.memo(t.getBoundingClientRect.bind(t)),e.data.element=t,e.data.render())}},children:[]}}var h=e("./drag"),v=e("./draw"),g=e("./util"),m=e("./svg"),b=e("mithril");t.exports=function(e){return{tag:"div",attrs:{config:function(t,n){n||(t.addEventListener("contextmenu",function(t){return e.data.disableContextMenu||e.data.drawable.enabled?(t.preventDefault(),!1):void 0}),e.data.resizable&&document.body.addEventListener("chessground.resize",function(t){e.data.bounds.clear(),e.data.render()},!1))},"class":["cg-board-wrap",e.data.viewOnly?"view-only":"manipulable",e.data.minimalDom?"minimal-dom":"full-dom"].join(" ")},children:[p(e)]}}},{"./drag":10,"./draw":11,"./svg":15,"./util":16,mithril:3}]},{},[1])(1)}); \ No newline at end of file +}},{"./board":6,"./util":16}],11:[function(e,t,n){function r(e,t){if(!(t.touches&&t.touches.length>1)){t.stopPropagation(),t.preventDefault(),f.cancelMove(e);var n=p.eventPosition(t),r=e.bounds(),a=f.getKeyAtDomPos(e,n,r);e.drawable.current={orig:a,epos:n,bounds:r,brush:h[(t.shiftKey&p.isRightButton(t))+(t.altKey?2:0)]},o(e)}}function o(e){p.requestAnimationFrame(function(){var t=e.drawable.current;if(t.orig){var n=f.getKeyAtDomPos(e,t.epos,t.bounds);t.dest=t.orig===n?void 0:n}e.render(),t.orig&&o(e)})}function a(e,t){e.drawable.current.orig&&(e.drawable.current.epos=p.eventPosition(t))}function i(e,t){var n=e.drawable,r=n.current.orig,o=n.current.dest;r&&o?d(n,r,o):r&&u(n,r),n.current={},e.render()}function s(e){e.drawable.current.orig&&(e.drawable.current={})}function l(e,t){0!==t.button||t.shiftKey||e.drawable.shapes.length&&(e.drawable.shapes=[],e.render())}function c(e){return function(t){return!e(t)}}function u(e,t){var n=e.current.brush,r=function(e){return e.brush===n&&e.orig===t&&!e.dest},o=e.shapes.filter(r).length>0;o?e.shapes=e.shapes.filter(c(r)):e.shapes.push({brush:n,orig:t})}function d(e,t,n){var r=e.current.brush,o=function(e){return e.orig&&e.dest&&(e.orig===t&&e.dest===n||e.dest===t&&e.orig===n)},a=e.shapes.filter(o).length>0;a?e.shapes=e.shapes.filter(c(o)):e.shapes.push({brush:r,orig:t,dest:n})}var f=e("./board"),p=e("./util"),h=["green","red","blue","yellow"];t.exports={start:r,move:a,end:i,cancel:s,clear:l,processDraw:o}},{"./board":6,"./util":16}],12:[function(e,t,n){function r(e){"start"===e&&(e=i);var t={};return e.replace(/ .+$/,"").split("/").forEach(function(e,n){var r=0;e.split("").forEach(function(e){var o=parseInt(e);o?r+=o:(r++,t[a.pos2key([r,8-n])]={role:s[e.toLowerCase()],color:e===e.toLowerCase()?"black":"white"})})}),t}function o(e){return[8,7,6,5,4,3,2].reduce(function(e,t){return e.replace(new RegExp(Array(t+1).join("1"),"g"),t)},a.invRanks.map(function(t){return a.ranks.map(function(n){var r=e[a.pos2key([n,t])];if(r){var o=l[r.role];return"white"===r.color?o.toUpperCase():o}return"1"}).join("")}).join("/"))}var a=e("./util"),i="rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR",s={p:"pawn",r:"rook",n:"knight",b:"bishop",q:"queen",k:"king"},l={pawn:"p",rook:"r",knight:"n",bishop:"b",queen:"q",king:"k"};t.exports={initial:i,read:r,write:o}},{"./util":16}],13:[function(e,t,n){var r,o=function(){r=new Date},a=function(){r=null},i=function(){if(!r)return 0;var e=new Date-r;return r=null,e};t.exports={start:o,cancel:a,stop:i}},{}],14:[function(e,t,n){function r(e,t){return Math.abs(e-t)}function o(e,t,n,o,a){return r(t,o)<2&&("white"===e?a===n+1||2>=n&&a===n+2&&t===o:a===n-1||n>=7&&a===n-2&&t===o)}function a(e,t,n,o){var a=r(e,n),i=r(t,o);return 1===a&&2===i||2===a&&1===i}function i(e,t,n,o){return r(e,n)===r(t,o)}function s(e,t,n,r){return e===n||t===r}function l(e,t,n,r){return i(e,t,n,r)||s(e,t,n,r)}function c(e,t,n,o,a,i,s){return r(o,i)<2&&r(a,s)<2||n&&a===s&&a===("white"===e?1:8)&&(5===o&&(3===i||7===i)||f.containsX(t,i))}function u(e,t){return Object.keys(e).filter(function(n){var r=e[n];return r&&r.color===t&&"rook"===r.role}).map(function(e){return f.key2pos(e)[0]})}function d(e,t,n){var r,d=e[t],p=f.key2pos(t);switch(d.role){case"pawn":r=o.bind(null,d.color);break;case"knight":r=a;break;case"bishop":r=i;break;case"rook":r=s;break;case"queen":r=l;break;case"king":r=c.bind(null,d.color,u(e,d.color),n)}return f.allPos.filter(function(e){return(p[0]!==e[0]||p[1]!==e[1])&&r(p[0],p[1],e[0],e[1])}).map(f.pos2key)}var f=e("./util");t.exports=d},{"./util":16}],15:[function(e,t,n){function r(e,t){return(e?2:4)/512*t.width}function o(e,t,n){return(e.lineWidth||10)*(t?.7:1)/512*n.width}function a(e,t){return(e.opacity||1)*(t?.6:1)}function i(e,t){return(e?12:24)/512*t.width}function s(e,t){var n=t.width/8;return[(e[0]-.5)*n,(8.5-e[1])*n]}function l(e,t,n,o){var i=s(t,o),l=r(n,o),c=o.width/16;return{tag:"circle",attrs:{key:n?"current":t+e.key,stroke:e.color,"stroke-width":l,fill:"none",opacity:a(e,n),cx:i[0],cy:i[1],r:c-l/2-e.circleMargin*l*1.5}}}function c(e,t,n,r,l){var c=i(r,l),u=s(t,l),d=s(n,l),f=d[0]-u[0],p=d[1]-u[1],h=Math.atan2(p,f),v=Math.cos(h)*c,g=Math.sin(h)*c;return{tag:"line",attrs:{key:r?"current":t+n+e.key,stroke:e.color,"stroke-width":o(e,r,l),"stroke-linecap":"round","marker-end":"url(#arrowhead-"+e.key+")",opacity:a(e,r),x1:u[0],y1:u[1],x2:d[0]-v,y2:d[1]-g}}}function u(e){return{tag:"defs",children:[e.map(function(e){return{key:e.key,tag:"marker",attrs:{id:"arrowhead-"+e.key,orient:"auto",markerWidth:4,markerHeight:8,refX:2.05,refY:2.01},children:[{tag:"path",attrs:{d:"M0,0 V4 L3,2 Z",fill:e.color}}]}})]}}function d(e,t){return"white"===t?e:[9-e[0],9-e[1]]}function f(e,t,n,r){return function(o){return o.orig&&o.dest?c(n[o.brush],d(p(o.orig),e),d(p(o.dest),e),t,r):o.orig?l(n[o.brush],d(p(o.orig),e),t,r):void 0}}var p=(e("mithril"),e("./util").key2pos);t.exports=function(e){if(e.data.bounds){var t=e.data.bounds();if(t.width===t.height){var n=e.data.drawable,r=n.shapes.concat(n.autoShapes);if(r.length||n.current.orig){var o=Object.keys(e.data.drawable.brushes).filter(function(e){return n.current&&n.current.dest&&n.current.brush===e||r.filter(function(t){return t.dest&&t.brush===e}).length}).map(function(t){return e.data.drawable.brushes[t]});return{tag:"svg",children:[u(o),r.map(f(e.data.orientation,!1,e.data.drawable.brushes,t)),f(e.data.orientation,!0,e.data.drawable.brushes,t)(n.current)]}}}}}},{"./util":16,mithril:3}],16:[function(e,t,n){function r(e){return w[e[0]-1]+e[1]}function o(e){return[w.indexOf(e[0])+1,parseInt(e[1])]}function a(e){return w[7-w.indexOf(e[0])]+(9-parseInt(e[1]))}function i(e){var t=[];for(var n in e)e[n]&&t.push(n);return t.join(" ")}function s(e){return"white"===e?"black":"white"}function l(e,t){return e&&(e[0]===t||e[1]===t)}function c(e,t){return e&&-1!==e.indexOf(t)}function u(e,t){return Math.sqrt(Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2))}function d(){return"transform"in document.body.style?"transform":"webkitTransform"in document.body.style?"webkitTransform":"mozTransform"in document.body.style?"mozTransform":"oTransform"in document.body.style?"oTransform":"msTransform"}function f(){return y||(y=d()),y}function p(e){return"translate("+e[0]+"px,"+e[1]+"px)"}function h(e){return e.touches?[e.targetTouches[0].clientX,e.targetTouches[0].clientY]:[e.clientX,e.clientY]}function v(e,t){return e.bind.apply(e,[null].concat(t))}function g(){return v(arguments[0],Array.prototype.slice.call(arguments,1))}function m(e){return 2===e.buttons||2===e.button}function b(e){var t,n=function(){return void 0===t&&(t=e()),t};return n.clear=function(){t=void 0},n}var y,w="abcdefgh".split(""),k=[1,2,3,4,5,6,7,8],x=[8,7,6,5,4,3,2,1],E=function(){var e=[];return x.forEach(function(t){k.forEach(function(n){e.push([n,t])})}),e}(),C=E.slice().reverse(),M=E.map(r);t.exports={files:w,ranks:k,invRanks:x,allPos:E,invPos:C,allKeys:M,pos2key:r,key2pos:o,invertKey:a,classSet:i,opposite:s,translate:p,contains2:l,containsX:c,distance:u,eventPosition:h,partialApply:v,partial:g,transformProp:f,requestAnimationFrame:(window.requestAnimationFrame||window.setTimeout).bind(window),isRightButton:m,memo:b}},{}],17:[function(e,t,n){function r(e){return e.role+" "+e.color}function o(e,t,n){var o={style:{},"class":r(n)},a=e.data.draggable.current;if(a.orig===t&&a.started)o.style[g.transformProp()]=g.translate([a.pos[0]+a.dec[0],a.pos[1]+a.dec[1]]),o["class"]+=" dragging";else if(e.data.animation.current.anims){var i=e.data.animation.current.anims[t];i&&(o.style[g.transformProp()]=g.translate(i[1]))}return{tag:"piece",attrs:o}}function a(e){return{tag:"piece",attrs:{"class":r(e)+" ghost"}}}function i(e,t,n){var r=g.files[t[0]-1],i=t[1],s=r+i,l=e.data.pieces[s],c=e.data.highlight.dragOver&&e.data.draggable.current.over===s,u=g.classSet({selected:e.data.selected===s,check:e.data.highlight.check&&e.data.check===s,"last-move":e.data.highlight.lastMove&&g.contains2(e.data.lastMove,s),"move-dest":(c||e.data.movable.showDests)&&g.containsX(e.data.movable.dests[e.data.selected],s),"premove-dest":(c||e.data.premovable.showDests)&&g.containsX(e.data.premovable.dests,s),"current-premove":g.contains2(e.data.premovable.current,s),"drag-over":c,oc:!!l,exploding:e.vm.exploding&&-1!==e.vm.exploding.indexOf(s)}),d={style:{left:12.5*(n?t[0]-1:8-t[0])+"%",bottom:12.5*(n?t[1]-1:8-t[1])+"%"}};u&&(d["class"]=u),e.data.coordinates&&(t[1]===(n?1:8)&&(d["data-coord-x"]=r),t[0]===(n?8:1)&&(d["data-coord-y"]=i));var f=[];return l&&(f.push(o(e,s,l)),e.data.draggable.current.orig===s&&e.data.draggable.showGhost&&f.push(a(l))),{tag:"square",attrs:d,children:f}}function s(e,t){var n=g.key2pos(t.over),r="white"===e.data.orientation?n[0]:9-n[0],o="white"===e.data.orientation?n[1]:9-n[1];return{tag:"div",attrs:{id:"cg-square-target",style:{width:t.bounds.width/4+"px",height:t.bounds.height/4+"px",left:(r-1.5)*t.bounds.width/8+"px",top:(7.5-o)*t.bounds.height/8+"px"}}}}function l(e){return{tag:"square",attrs:{"class":"fading",style:{left:e.left,bottom:e.bottom,opacity:e.opacity}},children:[{tag:"piece",attrs:{"class":r(e.piece)}}]}}function c(e,t){var n=[];e.data.lastMove&&e.data.lastMove.forEach(function(e){var r=g.key2pos(e);n.push({tag:"square",attrs:{"class":"last-move",style:{left:12.5*(t?r[0]-1:8-r[0])+"%",bottom:12.5*(t?r[1]-1:8-r[1])+"%"}}})});for(var o=Object.keys(e.data.pieces),a=0,i=o.length;i>a;a++){var s=o[a],l=g.key2pos(s),c={style:{left:12.5*(t?l[0]-1:8-l[0])+"%",bottom:12.5*(t?l[1]-1:8-l[1])+"%"},"class":r(e.data.pieces[s])};if(e.data.animation.current.anims){var u=e.data.animation.current.anims[s];u&&(c.style[g.transformProp()]=g.translate(u[1]))}n.push({tag:"piece",attrs:c})}return n}function u(e){var t="white"===e.data.orientation;if(e.data.minimalDom)return c(e,t);for(var n=t?g.allPos:g.invPos,r=[],o=0,a=n.length;a>o;o++)r.push(i(e,n[o],t));return e.data.draggable.current.over&&e.data.draggable.squareTarget&&r.push(s(e,e.data.draggable.current)),e.data.animation.current.fadings&&e.data.animation.current.fadings.forEach(function(e){r.push(l(e))}),e.data.drawable.enabled&&r.push(m(e)),r}function d(e,t,n){return function(r){e.drawable.enabled&&(r.shiftKey||g.isRightButton(r))?n(e,r):e.viewOnly||t(e,r)}}function f(e,t,n){var r=e.data,o=d(r,h.start,v.start),a=d(r,h.move,v.move),i=d(r,h.end,v.end),s=g.partial(v.clear,r),l=["touchstart","mousedown"],c=["touchmove","mousemove"],u=["touchend","mouseup"];l.forEach(function(e){t.addEventListener(e,o)}),c.forEach(function(e){document.addEventListener(e,a)}),u.forEach(function(e){document.addEventListener(e,i)}),t.addEventListener("mousedown",s),n.onunload=function(){l.forEach(function(e){t.removeEventListener(e,o)}),c.forEach(function(e){document.removeEventListener(e,a)}),u.forEach(function(e){document.removeEventListener(e,i)}),t.removeEventListener("mousedown",s)}}function p(e){return{tag:"div",attrs:{"class":"cg-board orientation-"+e.data.orientation,config:function(t,n,r){n||((!e.data.viewOnly||e.data.drawable.enabled)&&f(e,t,r),e.data.render=function(){b.render(t,u(e))},e.data.renderRAF=function(){g.requestAnimationFrame(e.data.render)},e.data.bounds=g.memo(t.getBoundingClientRect.bind(t)),e.data.element=t,e.data.render())}},children:[]}}var h=e("./drag"),v=e("./draw"),g=e("./util"),m=e("./svg"),b=e("mithril");t.exports=function(e){return{tag:"div",attrs:{config:function(t,n){if(!n){t.addEventListener("contextmenu",function(t){return e.data.disableContextMenu||e.data.drawable.enabled?(t.preventDefault(),!1):void 0}),e.data.resizable&&document.body.addEventListener("chessground.resize",function(t){e.data.bounds.clear(),e.data.render()},!1);var r=window.onscroll;window.onscroll=function(){r&&r(),e.data.bounds.clear()}}},"class":["cg-board-wrap",e.data.viewOnly?"view-only":"manipulable",e.data.minimalDom?"minimal-dom":"full-dom"].join(" ")},children:[p(e)]}}},{"./drag":10,"./draw":11,"./svg":15,"./util":16,mithril:3}]},{},[1])(1)}); \ No newline at end of file diff --git a/ui/analyse/package.json b/ui/analyse/package.json index ee03dcf8b7..8ba3f55efa 100644 --- a/ui/analyse/package.json +++ b/ui/analyse/package.json @@ -29,7 +29,7 @@ "watchify": "~3.1.1" }, "dependencies": { - "chessground": "2.13.1", + "chessground": "2.13.2", "game": "file:../game", "mithril": "0.2.0" } diff --git a/ui/coachMove/package.json b/ui/coachMove/package.json index 2f29978c06..09dc135fa7 100644 --- a/ui/coachMove/package.json +++ b/ui/coachMove/package.json @@ -30,7 +30,7 @@ }, "dependencies": { "coach": "../coach", - "chessground": "2.13.1", + "chessground": "2.13.2", "mithril": "0.2.0" } } diff --git a/ui/coachOpening/package.json b/ui/coachOpening/package.json index 56b8c93bb2..700d33bf84 100644 --- a/ui/coachOpening/package.json +++ b/ui/coachOpening/package.json @@ -30,7 +30,7 @@ }, "dependencies": { "coach": "../coach", - "chessground": "2.13.1", + "chessground": "2.13.2", "mithril": "0.2.0" } } diff --git a/ui/editor/package.json b/ui/editor/package.json index 285621edf7..e408cca317 100644 --- a/ui/editor/package.json +++ b/ui/editor/package.json @@ -29,7 +29,7 @@ "watchify": "~3.1.1" }, "dependencies": { - "chessground": "2.13.1", + "chessground": "2.13.2", "lodash": "~3.7.0", "mithril": "0.2.0" } diff --git a/ui/lobby/package.json b/ui/lobby/package.json index dac6176d45..6f844750e3 100644 --- a/ui/lobby/package.json +++ b/ui/lobby/package.json @@ -29,7 +29,7 @@ "watchify": "~3.1.1" }, "dependencies": { - "chessground": "2.13.1", + "chessground": "2.13.2", "lodash-node": "^2.4.1", "mithril": "0.2.0" } diff --git a/ui/opening/package.json b/ui/opening/package.json index 2980e32b72..2e418081dd 100644 --- a/ui/opening/package.json +++ b/ui/opening/package.json @@ -30,7 +30,7 @@ }, "dependencies": { "chessli.js": "file:../chessli", - "chessground": "2.13.1", + "chessground": "2.13.2", "lodash": "~3.7.0", "merge": "~1.2.0", "mithril": "0.2.0" diff --git a/ui/puzzle/package.json b/ui/puzzle/package.json index 4ad1c34aa4..0ef7c5c6b9 100644 --- a/ui/puzzle/package.json +++ b/ui/puzzle/package.json @@ -30,7 +30,7 @@ }, "dependencies": { "chessli.js": "file:../chessli", - "chessground": "2.13.1", + "chessground": "2.13.2", "lodash": "~3.7.0", "merge": "~1.2.0", "mithril": "0.2.0" diff --git a/ui/round/package.json b/ui/round/package.json index b070bc1589..b69a2cd0b9 100644 --- a/ui/round/package.json +++ b/ui/round/package.json @@ -29,7 +29,7 @@ "watchify": "~3.1.1" }, "dependencies": { - "chessground": "2.13.1", + "chessground": "2.13.2", "game": "file:../game", "mithril": "0.2.0" } diff --git a/ui/simul/package.json b/ui/simul/package.json index f498fe1fd5..2514ac8ff5 100644 --- a/ui/simul/package.json +++ b/ui/simul/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "game": "file:../game", - "chessground": "2.13.1", + "chessground": "2.13.2", "lodash": "~3.7.0", "mithril": "0.2.0" } diff --git a/ui/tournament/package.json b/ui/tournament/package.json index 70f804daf5..e647f5a6ef 100644 --- a/ui/tournament/package.json +++ b/ui/tournament/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "game": "file:../game", - "chessground": "2.13.1", + "chessground": "2.13.2", "lodash": "~3.7.0", "mithril": "0.2.0" }