d&&s[d]===r[d];d++){}var a=n-d;for(p=1;a>=p&&s[n-p]===r[o-p];p++){}var i=1":i+">"+u+""+this._currentElement.type+">"}switch(this._tag){case"input":e.getReactMountReady().enqueue(p,this);case"button":case"select":case"textarea":s.autoFocus&&e.getReactMountReady().enqueue(m.focusDOMComponent,this);}return c},_createOpenTagMarkupAndPutListeners:function _createOpenTagMarkupAndPutListeners(d,e){var t="<"+this._currentElement.type;for(var p in e){if(e.hasOwnProperty(p)){var r=e[p];if(null!=r)if(B.hasOwnProperty(p))r&&u(this._rootNodeID,p,r,d);else{p===K&&(r&&(r=this._previousStyleCopy=I({},e.style)),r=g.createMarkupForStyles(r));var s=null;null!=this._tag&&f(this._tag,e)?p!==j&&(s=C.createMarkupForCustomAttribute(p,r)):s=C.createMarkupForProperty(p,r),s&&(t+=" "+s)}}}if(d.renderToStaticMarkup)return t;var l=C.createMarkupForID(this._rootNodeID);return t+" "+l},_createContentMarkup:function _createContentMarkup(d,e,t){var n="",p=e.dangerouslySetInnerHTML;if(null!=p)null!=p.__html&&(n=p.__html);else{var o=W[_typeof(e.children)]?e.children:null,a=null!=o?null:e.children;if(null!=o)n=O(o);else if(null!=a){var i=this.mountChildren(a,d,t);n=i.join("")}}return G[this._tag]&&"\n"===n.charAt(0)?"\n"+n:n},_createInitialChildren:function _createInitialChildren(d,e,t,n){var r=e.dangerouslySetInnerHTML;if(null!=r)null!=r.__html&&L(n,r.__html);else{var o=W[_typeof(e.children)]?e.children:null,a=null!=o?null:e.children;if(null!=o)U(n,o);else if(null!=a)for(var i=this.mountChildren(a,d,t),p=0;pc){var f=c;c=r,r=f}var i=m(d,r),u=m(d,c);if(i&&u){var s=document.createRange();s.setStart(i.node,i.offset),t.removeAllRanges(),r>c?(t.addRange(s),t.extend(u.node,u.offset)):(s.setEnd(u.node,u.offset),t.addRange(s))}}}var a=n(144),m=n(127),l=n(128),i=a.canUseDOM&&"selection"in document&&!("getSelection"in window),p={getOffsets:i?t:o,setOffsets:i?function(a,e){var t,d,i=document.selection.createRange().duplicate();"undefined"==typeof e.end?(t=e.start,d=t):e.start>e.end?(t=e.end,d=e.start):(t=e.start,d=e.end),i.moveToElementText(a),i.moveStart("character",t),i.setEndPoint("EndToStart",i),i.moveEnd("character",d-t),i.select()}:r};e.exports=p},{127:127,128:128,144:144}],50:[function(n,e){"use strict";var t=n(54),r=n(86),o=n(94);t.inject();var a={renderToString:r.renderToString,renderToStaticMarkup:r.renderToStaticMarkup,version:o};e.exports=a},{54:54,86:86,94:94}],51:[function(n,e){"use strict";var t=n(9),d=n(11),o=n(35),p=n(70),r=n(24),i=n(118),s=n(136),a=(n(141),function(){});r(a.prototype,{construct:function construct(t){this._currentElement=t,this._stringText=""+t,this._rootNodeID=null,this._mountIndex=0},mountComponent:function mountComponent(o,e,t){if(this._rootNodeID=o,e.useCreateElement){var n=t[p.ownerDocumentContextKey],r=n.createElement("span");return d.setAttributeForID(r,o),p.getID(r),s(r,this._stringText),r}var a=i(this._stringText);return e.renderToStaticMarkup?a:""+a+" "},receiveComponent:function receiveComponent(r){if(r!==this._currentElement){this._currentElement=r;var e=""+r;if(e!==this._stringText){this._stringText=e;var n=p.getNode(this._rootNodeID);t.updateTextContent(n,e)}}},unmountComponent:function unmountComponent(){o.unmountIDFromEnvironment(this._rootNodeID)}}),e.exports=a},{11:11,118:118,136:136,141:141,24:24,35:35,70:70,9:9}],52:[function(n,e){"use strict";function d(){this._rootNodeID&&t.updateWrapper(this)}function p(r){var e=this._currentElement.props,t=o.executeOnChange(e,r);return a.asap(d,this),t}var o=n(23),r=n(45),a=n(93),i=n(24),s=n(158),t=(n(168),{getNativeProps:function getNativeProps(n,e){null!=e.dangerouslySetInnerHTML?s(!1):void 0;var t=i({},e,{defaultValue:void 0,value:void 0,children:n._wrapperState.initialValue,onChange:n._wrapperState.onChange});return t},mountWrapper:function mountWrapper(a,e){var t=e.defaultValue,d=e.children;null!=d&&(null!=t?s(!1):void 0,Array.isArray(d)&&(1>=d.length?void 0:s(!1),d=d[0]),t=""+d),null==t&&(t="");var u=o.getValue(e);a._wrapperState={initialValue:""+(null!=u?u:t),onChange:p.bind(a)}},updateWrapper:function updateWrapper(a){var e=a._currentElement.props,t=o.getValue(e);null!=t&&r.updatePropertyByID(a._rootNodeID,"value",""+t)}});e.exports=t},{158:158,168:168,23:23,24:24,45:45,93:93}],53:[function(n,e){"use strict";function t(){this.reinitializeTransaction()}var r=n(93),o=n(110),a=n(24),i=n(150),s={initialize:i,close:r.flushBatchedUpdates.bind(r)},u=[s,{initialize:i,close:function close(){p.isBatchingUpdates=!1}}];a(t.prototype,o.Mixin,{getTransactionWrappers:function getTransactionWrappers(){return u}});var l=new t,p={isBatchingUpdates:!1,batchedUpdates:function batchedUpdates(d,e,t,n,r,o){var a=p.isBatchingUpdates;p.isBatchingUpdates=!0,a?d(e,t,n,r,o):l.perform(d,null,e,t,n,r,o)}};e.exports=p},{110:110,150:150,24:24,93:93}],54:[function(n,e){"use strict";function t(){D||(D=!0,m.EventEmitter.injectReactEventListener(v),m.EventPluginHub.injectEventPluginOrder(i),m.EventPluginHub.injectInstanceHandle(g),m.EventPluginHub.injectMount(y),m.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:_,EnterLeaveEventPlugin:u,ChangeEventPlugin:o,SelectEventPlugin:b,BeforeInputEventPlugin:r}),m.NativeComponent.injectGenericComponentClass(f),m.NativeComponent.injectTextComponentClass(h),m.Class.injectMixin(c),m.DOMProperty.injectDOMPropertyConfig(l),m.DOMProperty.injectDOMPropertyConfig(x),m.EmptyComponent.injectEmptyComponent("noscript"),m.Updates.injectReconcileTransaction(C),m.Updates.injectBatchingStrategy(d),m.RootIndex.injectCreateReactRootIndex(s.canUseDOM?a.createReactRootIndex:E.createReactRootIndex),m.Component.injectEnvironment(p))}var r=n(3),o=n(7),a=n(8),i=n(13),u=n(14),s=n(144),l=n(21),c=n(27),p=n(35),d=n(53),f=n(42),h=n(51),v=n(61),m=n(63),g=n(65),y=n(70),C=n(81),b=n(96),E=n(97),_=n(98),x=n(95),D=!1;e.exports={inject:t}},{13:13,14:14,144:144,21:21,27:27,3:3,35:35,42:42,51:51,53:53,61:61,63:63,65:65,7:7,70:70,8:8,81:81,95:95,96:96,97:97,98:98}],55:[function(n,e){"use strict";var m=n(39),r=n(24),d=(n(114),"function"==typeof Symbol&&Symbol["for"]&&Symbol["for"]("react.element")||60103),p={key:!0,ref:!0,__self:!0,__source:!0},i=function(a,e,t,n,r,o,i){return{$$typeof:d,type:a,key:e,ref:t,props:i,_owner:o}};i.createElement=function(r,e,t){var n,u={},a=null,g=null,y=null,C=null;if(null!=e){g=void 0===e.ref?null:e.ref,a=void 0===e.key?null:""+e.key,y=void 0===e.__self?null:e.__self,C=void 0===e.__source?null:e.__source;for(n in e){e.hasOwnProperty(n)&&!p.hasOwnProperty(n)&&(u[n]=e[n])}}var b=arguments.length-2;if(1==b)u.children=t;else if(1f;f++){d[f]=arguments[f+2]}u.children=d}if(r&&r.defaultProps){var E=r.defaultProps;for(n in E){"undefined"==typeof u[n]&&(u[n]=E[n])}}return i(r,a,g,y,C,m.current,u)},i.createFactory=function(n){var e=i.createElement.bind(null,n);return e.type=n,e},i.cloneAndReplaceKey=function(o,e){var t=i(o.type,e,o.ref,o._self,o._source,o._owner,o.props);return t},i.cloneAndReplaceProps=function(o,e){var t=i(o.type,o.key,o.ref,o._self,o._source,o._owner,e);return t},i.cloneElement=function(o,e,t){var n,u=r({},o.props),s=o.key,g=o.ref,y=o._self,C=o._source,d=o._owner;if(null!=e){void 0!==e.ref&&(g=e.ref,d=m.current),void 0!==e.key&&(s=""+e.key);for(n in e){e.hasOwnProperty(n)&&!p.hasOwnProperty(n)&&(u[n]=e[n])}}var b=arguments.length-2;if(1==b)u.children=t;else if(1E;E++){h[E]=arguments[E+2]}u.children=h}return i(o.type,s,g,y,C,d,u)},i.isValidElement=function(t){return"object"==_typeof(t)&&null!==t&&t.$$typeof===d},e.exports=i},{114:114,24:24,39:39}],56:[function(n,e){"use strict";function g(){if(l.current){var t=l.current.getName();if(t)return" Check the render method of `"+t+"`."}return""}function y(n,e){n._store&&!n._store.validated&&null==n.key&&(n._store.validated=!0,o("uniqueKey",n,e))}function o(r,e,t){var n=g();if(!n){var d="string"==typeof t?t:t.displayName||t.name;d&&(n=" Check the top-level render call using <"+d+">.")}var a=c[r]||(c[r]={});if(a[n])return null;a[n]=!0;var i={parentOrOwner:n,url:" See https://fb.me/react-warning-keys for more information.",childOwner:null};return e&&e._owner&&e._owner!==l.current&&(i.childOwner=" It was passed a child from "+e._owner.getName()+"."),i}function t(o,e){if("object"==_typeof(o))if(Array.isArray(o))for(var t=0,d;t=d;d++){if(m(a,d)&&m(e,d))n=d;else if(a.charAt(d)!==e.charAt(d))break}var p=a.substr(0,n);return o(p)?void 0:y(!1),p}function l(d,s,m,n,r,o){d=d||"",s=s||"",d===s?y(!1):void 0;var a=g(s,d);a||g(d,s)?void 0:y(!1);for(var l=0,C=a?i:u,b=d;;b=C(b,s)){var E;if(r&&b===d||o&&b===s||(E=m(b,a,n)),!1===E||b===s)break;l++/,i={CHECKSUM_ATTR_NAME:"data-react-checksum",addChecksumToMarkup:function addChecksumToMarkup(n){var e=d(n);return n.replace(r," "+i.CHECKSUM_ATTR_NAME+"=\""+e+"\"$&")},canReuseMarkup:function canReuseMarkup(r,e){var t=e.getAttribute(i.CHECKSUM_ATTR_NAME);t=t&&parseInt(t,10);var a=d(r);return a===t}};e.exports=i},{113:113}],70:[function(n,e){"use strict";function d(o,e){for(var t=Math.min(o.length,e.length),n=0;t>n;n++){if(o.charAt(n)!==e.charAt(n))return n}return o.length===e.length?-1:t}function j(t){return t?t.nodeType===w?t.documentElement:t.firstChild:null}function o(n){var e=j(n);return e&&W.getID(e)}function a(t){return t&&t.getAttribute&&t.getAttribute(k)||""}function r(o,e){if(o){a(o)!==e?R(!1):void 0;var t=W.findReactContainerForID(e);if(t&&N(t,o))return!0}return!1}function i(n){var e=O[n];return e&&r(e,n)?void(V=e):!1}function p(n){V=null,C.traverseAncestors(n,i);var e=V;return V=null,e}function s(d,e,t,n,r,o){h.useCreateElement&&(o=P({},o),t.nodeType===w?o[A]=t:o[A]=t.ownerDocument);var p=x.mountComponent(d,e,n,o);d._renderedComponent._topLevelWrapper=d,W._mountImageIntoNode(p,t,r,n)}function u(d,e,t,n,r){var o=D.ReactReconcileTransaction.getPooled(n);o.perform(s,null,d,e,t,o,n,r),D.ReactReconcileTransaction.release(o)}function l(n,e){for(x.unmountComponent(n),e.nodeType===w&&(e=e.documentElement);e.lastChild;){e.removeChild(e.lastChild)}}function m(n){var e=o(n);return e?e!==C.getReactRootIDFromNodeID(e):!1}function t(d){for(;d&&d.parentNode!==d;d=d.parentNode){if(1===d.nodeType){var i=a(d);if(i){var t,p=C.getReactRootIDFromNodeID(i),r=d;do{if(t=a(r),r=r.parentNode,null==r)return null}while(t!==p);if(r===U[p])return d}}}return null}var c=n(10),f=n(28),h=(n(39),n(44)),y=n(55),g=n(58),C=n(65),b=n(66),E=n(69),_=n(76),x=n(82),v=n(92),D=n(93),P=n(24),T=n(151),N=n(147),M=n(129),R=n(158),S=n(135),I=n(138),k=(n(141),n(168),c.ID_ATTRIBUTE_NAME),O={},w=9,A="__ReactMount_ownerDocument$"+Math.random().toString(36).slice(2),L={},U={},F=[],V=null,B=function(){};B.prototype.isReactComponent={},B.prototype.render=function(){return this.props};var W={TopLevelWrapper:B,_instancesByReactRootID:L,scrollMonitor:function scrollMonitor(n,e){e()},_updateRootComponent:function _updateRootComponent(o,e,t,n){return W.scrollMonitor(t,function(){v.enqueueElementInternal(o,e),n&&v.enqueueCallbackInternal(o,n)}),o},_registerComponent:function _registerComponent(o,e){!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11?R(!1):void 0,f.ensureScrollValueMonitoring();var t=W.registerContainer(e);return L[t]=o,t},_renderNewRootComponent:function _renderNewRootComponent(d,e,t,n){var r=M(d,null),o=W._registerComponent(r,e);return D.batchedUpdates(u,r,o,e,t,n),r},renderSubtreeIntoContainer:function renderSubtreeIntoContainer(o,e,t,n){return null==o||null==o._reactInternalInstance?R(!1):void 0,W._renderSubtreeIntoContainer(o,e,t,n)},_renderSubtreeIntoContainer:function _renderSubtreeIntoContainer(u,e,t,n){y.isValidElement(e)?void 0:R(!1);var r=new y(B,null,null,null,null,null,e),i=L[o(t)];if(i){var s=i._currentElement,l=s.props;if(I(l,e)){var c=i._renderedComponent.getPublicInstance(),p=n&&function(){n.call(c)};return W._updateRootComponent(i,r,t,p),c}W.unmountComponentAtNode(t)}var d=j(t),f=d&&!!a(d),h=m(t),C=W._renderNewRootComponent(r,t,f&&!i&&!h,null!=u?u._reactInternalInstance._processChildContext(u._reactInternalInstance._context):T)._renderedComponent.getPublicInstance();return n&&n.call(C),C},render:function render(o,e,t){return W._renderSubtreeIntoContainer(null,o,e,t)},registerContainer:function registerContainer(n){var e=o(n);return e&&(e=C.getReactRootIDFromNodeID(e)),e||(e=C.createReactRootID()),U[e]=n,e},unmountComponentAtNode:function unmountComponentAtNode(d){!d||d.nodeType!==1&&d.nodeType!==9&&d.nodeType!==11?R(!1):void 0;var e=o(d),t=L[e];if(!t){var n=(m(d),a(d));return n&&n===C.getReactRootIDFromNodeID(n),!1}return D.batchedUpdates(l,t,d),delete L[e],delete U[e],!0},findReactContainerForID:function findReactContainerForID(o){var e=C.getReactRootIDFromNodeID(o),t=U[e];return t},findReactNodeByID:function findReactNodeByID(n){var e=W.findReactContainerForID(n);return W.findComponentRoot(e,n)},getFirstReactDOM:function getFirstReactDOM(n){return t(n)},findComponentRoot:function findComponentRoot(d,e){var t=F,n=0,s=p(e)||d;for(t[0]=s.firstChild,t.length=1;n>"}var i=n(55),c=n(78),o=n(150),s=n(126),m="<>",r={array:t("array"),bool:t("boolean"),func:t("function"),number:t("number"),object:t("object"),string:t("string"),any:function(){return a(o.thatReturns(null))}(),arrayOf:function(n){function e(e,t,d,r,o){var a=e[t];if(!Array.isArray(a)){var i=c[r],p=f(a);return new Error("Invalid "+i+" `"+o+"` of type "+("`"+p+"` supplied to `"+d+"`, expected an array."))}for(var s=0,u;st;t++){var p=m[t],r=p._pendingCallbacks;if(p._pendingCallbacks=null,d.performUpdateIfNecessary(p,i.reconcileTransaction),r)for(var o=0;o=document.documentMode,f={select:{phasedRegistrationNames:{bubbled:p({onSelect:null}),captured:p({onSelectCapture:null})},dependencies:[l.topBlur,l.topContextMenu,l.topFocus,l.topKeyDown,l.topMouseDown,l.topMouseUp,l.topSelectionChange]}},m=null,h=null,v=null,P=!1,T=!1,N=p({onSelect:null});e.exports={eventTypes:f,extractEvents:function extractEvents(o,e,t,n,r){if(!T)return null;switch(o){case l.topFocus:(u(e)||"true"===e.contentEditable)&&(m=e,h=t,v=null);break;case l.topBlur:m=null,h=null,v=null;break;case l.topMouseDown:P=!0;break;case l.topContextMenu:case l.topMouseUp:return P=!1,D(n,r);case l.topSelectionChange:if(c)break;case l.topKeyDown:case l.topKeyUp:return D(n,r);}return null},didPutListener:function didPutListener(n,e){e===N&&(T=!0)}}},{102:102,131:131,144:144,15:15,153:153,163:163,166:166,19:19,64:64}],97:[function(n,e){"use strict";var t=Math.pow(2,53);e.exports={createReactRootIndex:function createReactRootIndex(){return Math.ceil(Math.random()*9007199254740992)}}},{}],98:[function(n,e){"use strict";var t=n(15),T=n(143),N=n(19),o=n(70),a=n(99),i=n(102),s=n(103),u=n(105),l=n(106),p=n(101),d=n(107),c=n(108),f=n(109),h=n(150),m=n(122),g=n(158),r=n(163),y=t.topLevelTypes,C={abort:{phasedRegistrationNames:{bubbled:r({onAbort:!0}),captured:r({onAbortCapture:!0})}},blur:{phasedRegistrationNames:{bubbled:r({onBlur:!0}),captured:r({onBlurCapture:!0})}},canPlay:{phasedRegistrationNames:{bubbled:r({onCanPlay:!0}),captured:r({onCanPlayCapture:!0})}},canPlayThrough:{phasedRegistrationNames:{bubbled:r({onCanPlayThrough:!0}),captured:r({onCanPlayThroughCapture:!0})}},click:{phasedRegistrationNames:{bubbled:r({onClick:!0}),captured:r({onClickCapture:!0})}},contextMenu:{phasedRegistrationNames:{bubbled:r({onContextMenu:!0}),captured:r({onContextMenuCapture:!0})}},copy:{phasedRegistrationNames:{bubbled:r({onCopy:!0}),captured:r({onCopyCapture:!0})}},cut:{phasedRegistrationNames:{bubbled:r({onCut:!0}),captured:r({onCutCapture:!0})}},doubleClick:{phasedRegistrationNames:{bubbled:r({onDoubleClick:!0}),captured:r({onDoubleClickCapture:!0})}},drag:{phasedRegistrationNames:{bubbled:r({onDrag:!0}),captured:r({onDragCapture:!0})}},dragEnd:{phasedRegistrationNames:{bubbled:r({onDragEnd:!0}),captured:r({onDragEndCapture:!0})}},dragEnter:{phasedRegistrationNames:{bubbled:r({onDragEnter:!0}),captured:r({onDragEnterCapture:!0})}},dragExit:{phasedRegistrationNames:{bubbled:r({onDragExit:!0}),captured:r({onDragExitCapture:!0})}},dragLeave:{phasedRegistrationNames:{bubbled:r({onDragLeave:!0}),captured:r({onDragLeaveCapture:!0})}},dragOver:{phasedRegistrationNames:{bubbled:r({onDragOver:!0}),captured:r({onDragOverCapture:!0})}},dragStart:{phasedRegistrationNames:{bubbled:r({onDragStart:!0}),captured:r({onDragStartCapture:!0})}},drop:{phasedRegistrationNames:{bubbled:r({onDrop:!0}),captured:r({onDropCapture:!0})}},durationChange:{phasedRegistrationNames:{bubbled:r({onDurationChange:!0}),captured:r({onDurationChangeCapture:!0})}},emptied:{phasedRegistrationNames:{bubbled:r({onEmptied:!0}),captured:r({onEmptiedCapture:!0})}},encrypted:{phasedRegistrationNames:{bubbled:r({onEncrypted:!0}),captured:r({onEncryptedCapture:!0})}},ended:{phasedRegistrationNames:{bubbled:r({onEnded:!0}),captured:r({onEndedCapture:!0})}},error:{phasedRegistrationNames:{bubbled:r({onError:!0}),captured:r({onErrorCapture:!0})}},focus:{phasedRegistrationNames:{bubbled:r({onFocus:!0}),captured:r({onFocusCapture:!0})}},input:{phasedRegistrationNames:{bubbled:r({onInput:!0}),captured:r({onInputCapture:!0})}},keyDown:{phasedRegistrationNames:{bubbled:r({onKeyDown:!0}),captured:r({onKeyDownCapture:!0})}},keyPress:{phasedRegistrationNames:{bubbled:r({onKeyPress:!0}),captured:r({onKeyPressCapture:!0})}},keyUp:{phasedRegistrationNames:{bubbled:r({onKeyUp:!0}),captured:r({onKeyUpCapture:!0})}},load:{phasedRegistrationNames:{bubbled:r({onLoad:!0}),captured:r({onLoadCapture:!0})}},loadedData:{phasedRegistrationNames:{bubbled:r({onLoadedData:!0}),captured:r({onLoadedDataCapture:!0})}},loadedMetadata:{phasedRegistrationNames:{bubbled:r({onLoadedMetadata:!0}),captured:r({onLoadedMetadataCapture:!0})}},loadStart:{phasedRegistrationNames:{bubbled:r({onLoadStart:!0}),captured:r({onLoadStartCapture:!0})}},mouseDown:{phasedRegistrationNames:{bubbled:r({onMouseDown:!0}),captured:r({onMouseDownCapture:!0})}},mouseMove:{phasedRegistrationNames:{bubbled:r({onMouseMove:!0}),captured:r({onMouseMoveCapture:!0})}},mouseOut:{phasedRegistrationNames:{bubbled:r({onMouseOut:!0}),captured:r({onMouseOutCapture:!0})}},mouseOver:{phasedRegistrationNames:{bubbled:r({onMouseOver:!0}),captured:r({onMouseOverCapture:!0})}},mouseUp:{phasedRegistrationNames:{bubbled:r({onMouseUp:!0}),captured:r({onMouseUpCapture:!0})}},paste:{phasedRegistrationNames:{bubbled:r({onPaste:!0}),captured:r({onPasteCapture:!0})}},pause:{phasedRegistrationNames:{bubbled:r({onPause:!0}),captured:r({onPauseCapture:!0})}},play:{phasedRegistrationNames:{bubbled:r({onPlay:!0}),captured:r({onPlayCapture:!0})}},playing:{phasedRegistrationNames:{bubbled:r({onPlaying:!0}),captured:r({onPlayingCapture:!0})}},progress:{phasedRegistrationNames:{bubbled:r({onProgress:!0}),captured:r({onProgressCapture:!0})}},rateChange:{phasedRegistrationNames:{bubbled:r({onRateChange:!0}),captured:r({onRateChangeCapture:!0})}},reset:{phasedRegistrationNames:{bubbled:r({onReset:!0}),captured:r({onResetCapture:!0})}},scroll:{phasedRegistrationNames:{bubbled:r({onScroll:!0}),captured:r({onScrollCapture:!0})}},seeked:{phasedRegistrationNames:{bubbled:r({onSeeked:!0}),captured:r({onSeekedCapture:!0})}},seeking:{phasedRegistrationNames:{bubbled:r({onSeeking:!0}),captured:r({onSeekingCapture:!0})}},stalled:{phasedRegistrationNames:{bubbled:r({onStalled:!0}),captured:r({onStalledCapture:!0})}},submit:{phasedRegistrationNames:{bubbled:r({onSubmit:!0}),captured:r({onSubmitCapture:!0})}},suspend:{phasedRegistrationNames:{bubbled:r({onSuspend:!0}),captured:r({onSuspendCapture:!0})}},timeUpdate:{phasedRegistrationNames:{bubbled:r({onTimeUpdate:!0}),captured:r({onTimeUpdateCapture:!0})}},touchCancel:{phasedRegistrationNames:{bubbled:r({onTouchCancel:!0}),captured:r({onTouchCancelCapture:!0})}},touchEnd:{phasedRegistrationNames:{bubbled:r({onTouchEnd:!0}),captured:r({onTouchEndCapture:!0})}},touchMove:{phasedRegistrationNames:{bubbled:r({onTouchMove:!0}),captured:r({onTouchMoveCapture:!0})}},touchStart:{phasedRegistrationNames:{bubbled:r({onTouchStart:!0}),captured:r({onTouchStartCapture:!0})}},volumeChange:{phasedRegistrationNames:{bubbled:r({onVolumeChange:!0}),captured:r({onVolumeChangeCapture:!0})}},waiting:{phasedRegistrationNames:{bubbled:r({onWaiting:!0}),captured:r({onWaitingCapture:!0})}},wheel:{phasedRegistrationNames:{bubbled:r({onWheel:!0}),captured:r({onWheelCapture:!0})}}},b={topAbort:C.abort,topBlur:C.blur,topCanPlay:C.canPlay,topCanPlayThrough:C.canPlayThrough,topClick:C.click,topContextMenu:C.contextMenu,topCopy:C.copy,topCut:C.cut,topDoubleClick:C.doubleClick,topDrag:C.drag,topDragEnd:C.dragEnd,topDragEnter:C.dragEnter,topDragExit:C.dragExit,topDragLeave:C.dragLeave,topDragOver:C.dragOver,topDragStart:C.dragStart,topDrop:C.drop,topDurationChange:C.durationChange,topEmptied:C.emptied,topEncrypted:C.encrypted,topEnded:C.ended,topError:C.error,topFocus:C.focus,topInput:C.input,topKeyDown:C.keyDown,topKeyPress:C.keyPress,topKeyUp:C.keyUp,topLoad:C.load,topLoadedData:C.loadedData,topLoadedMetadata:C.loadedMetadata,topLoadStart:C.loadStart,topMouseDown:C.mouseDown,topMouseMove:C.mouseMove,topMouseOut:C.mouseOut,topMouseOver:C.mouseOver,topMouseUp:C.mouseUp,topPaste:C.paste,topPause:C.pause,topPlay:C.play,topPlaying:C.playing,topProgress:C.progress,topRateChange:C.rateChange,topReset:C.reset,topScroll:C.scroll,topSeeked:C.seeked,topSeeking:C.seeking,topStalled:C.stalled,topSubmit:C.submit,topSuspend:C.suspend,topTimeUpdate:C.timeUpdate,topTouchCancel:C.touchCancel,topTouchEnd:C.touchEnd,topTouchMove:C.touchMove,topTouchStart:C.touchStart,topVolumeChange:C.volumeChange,topWaiting:C.waiting,topWheel:C.wheel};for(var E in b){b[E].dependencies=[E]}var _=r({onClick:null}),x={};e.exports={eventTypes:C,extractEvents:function extractEvents(h,e,t,n,r){var o=b[h];if(!o)return null;var E;switch(h){case y.topAbort:case y.topCanPlay:case y.topCanPlayThrough:case y.topDurationChange:case y.topEmptied:case y.topEncrypted:case y.topEnded:case y.topError:case y.topInput:case y.topLoad:case y.topLoadedData:case y.topLoadedMetadata:case y.topLoadStart:case y.topPause:case y.topPlay:case y.topPlaying:case y.topProgress:case y.topRateChange:case y.topReset:case y.topSeeked:case y.topSeeking:case y.topStalled:case y.topSubmit:case y.topSuspend:case y.topTimeUpdate:case y.topVolumeChange:case y.topWaiting:E=i;break;case y.topKeyPress:if(0===m(n))return null;case y.topKeyDown:case y.topKeyUp:E=u;break;case y.topBlur:case y.topFocus:E=s;break;case y.topClick:if(2===n.button)return null;case y.topContextMenu:case y.topDoubleClick:case y.topMouseDown:case y.topMouseMove:case y.topMouseOut:case y.topMouseOver:case y.topMouseUp:E=l;break;case y.topDrag:case y.topDragEnd:case y.topDragEnter:case y.topDragExit:case y.topDragLeave:case y.topDragOver:case y.topDragStart:case y.topDrop:E=p;break;case y.topTouchCancel:case y.topTouchEnd:case y.topTouchMove:case y.topTouchStart:E=d;break;case y.topScroll:E=c;break;case y.topWheel:E=f;break;case y.topCopy:case y.topCut:case y.topPaste:E=a;}E?void 0:g(!1);var _=E.getPooled(o,t,n,r);return N.accumulateTwoPhaseDispatches(_),_},didPutListener:function didPutListener(n,e){if(e===_){var t=o.getNode(n);x[n]||(x[n]=T.listen(t,"click",h))}},willDeleteListener:function willDeleteListener(n,e){e===_&&(x[n].remove(),delete x[n])}}},{101:101,102:102,103:103,105:105,106:106,107:107,108:108,109:109,122:122,143:143,15:15,150:150,158:158,163:163,19:19,70:70,99:99}],99:[function(n,e){"use strict";function t(o,e,t,n){a.call(this,o,e,t,n)}var a=n(102);a.augmentClass(t,{clipboardData:function clipboardData(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),e.exports=t},{102:102}],100:[function(n,e){"use strict";function t(o,e,t,n){a.call(this,o,e,t,n)}var a=n(102);a.augmentClass(t,{data:null}),e.exports=t},{102:102}],101:[function(n,e){"use strict";function t(o,e,t,n){a.call(this,o,e,t,n)}var a=n(106);a.augmentClass(t,{dataTransfer:null}),e.exports=t},{106:106}],102:[function(n,e){"use strict";function t(d,e,t,n){this.dispatchConfig=d,this.dispatchMarker=e,this.nativeEvent=t,this.target=n,this.currentTarget=n;var r=this.constructor.Interface;for(var o in r){if(r.hasOwnProperty(o)){var a=r[o];a?this[o]=a(t):this[o]=t[o]}}var i=null!=t.defaultPrevented?t.defaultPrevented:!1===t.returnValue;i?this.isDefaultPrevented=p.thatReturnsTrue:this.isDefaultPrevented=p.thatReturnsFalse,this.isPropagationStopped=p.thatReturnsFalse}var d=n(25),o=n(24),p=n(150),r=(n(168),{type:null,currentTarget:p.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function timeStamp(t){return t.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null});o(t.prototype,{preventDefault:function preventDefault(){this.defaultPrevented=!0;var t=this.nativeEvent;t&&(t.preventDefault?t.preventDefault():t.returnValue=!1,this.isDefaultPrevented=p.thatReturnsTrue)},stopPropagation:function stopPropagation(){var t=this.nativeEvent;t&&(t.stopPropagation?t.stopPropagation():t.cancelBubble=!0,this.isPropagationStopped=p.thatReturnsTrue)},persist:function persist(){this.isPersistent=p.thatReturnsTrue},isPersistent:p.thatReturnsFalse,destructor:function destructor(){var n=this.constructor.Interface;for(var e in n){this[e]=null}this.dispatchConfig=null,this.dispatchMarker=null,this.nativeEvent=null}}),t.Interface=r,t.augmentClass=function(a,e){var t=this,n=Object.create(t.prototype);o(n,a.prototype),a.prototype=n,a.prototype.constructor=a,a.Interface=o({},t.Interface,e),a.augmentClass=t.augmentClass,d.addPoolingTo(a,d.fourArgumentPooler)},d.addPoolingTo(t,d.fourArgumentPooler),e.exports=t},{150:150,168:168,24:24,25:25}],103:[function(n,e){"use strict";function t(o,e,t,n){a.call(this,o,e,t,n)}var a=n(108);a.augmentClass(t,{relatedTarget:null}),e.exports=t},{108:108}],104:[function(n,e){"use strict";function t(o,e,t,n){a.call(this,o,e,t,n)}var a=n(102);a.augmentClass(t,{data:null}),e.exports=t},{102:102}],105:[function(n,e){"use strict";function t(o,e,t,n){d.call(this,o,e,t,n)}var d=n(108),o=n(122),r=n(123),a=n(124);d.augmentClass(t,{key:r,location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:a,charCode:function charCode(t){return"keypress"===t.type?o(t):0},keyCode:function keyCode(t){return"keydown"===t.type||"keyup"===t.type?t.keyCode:0},which:function which(t){return"keypress"===t.type?o(t):"keydown"===t.type||"keyup"===t.type?t.keyCode:0}}),e.exports=t},{108:108,122:122,123:123,124:124}],106:[function(n,e){"use strict";function t(o,e,t,n){d.call(this,o,e,t,n)}var d=n(108),o=n(111),r=n(124);d.augmentClass(t,{screenX:null,screenY:null,clientX:null,clientY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:r,button:function button(n){var e=n.button;return"which"in n?e:2===e?2:4===e?1:0},buttons:null,relatedTarget:function relatedTarget(t){return t.relatedTarget||(t.fromElement===t.srcElement?t.toElement:t.fromElement)},pageX:function pageX(t){return"pageX"in t?t.pageX:t.clientX+o.currentScrollLeft},pageY:function pageY(t){return"pageY"in t?t.pageY:t.clientY+o.currentScrollTop}}),e.exports=t},{108:108,111:111,124:124}],107:[function(n,e){"use strict";function t(o,e,t,n){d.call(this,o,e,t,n)}var d=n(108),o=n(124);d.augmentClass(t,{touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:o}),e.exports=t},{108:108,124:124}],108:[function(n,e){"use strict";function t(o,e,t,n){d.call(this,o,e,t,n)}var d=n(102),o=n(125);d.augmentClass(t,{view:function view(r){if(r.view)return r.view;var e=o(r);if(null!=e&&e.window===e)return e;var t=e.ownerDocument;return t?t.defaultView||t.parentWindow:window},detail:function detail(t){return t.detail||0}}),e.exports=t},{102:102,125:125}],109:[function(n,e){"use strict";function t(o,e,t,n){a.call(this,o,e,t,n)}var a=n(106);a.augmentClass(t,{deltaX:function deltaX(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function deltaY(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:null,deltaMode:null}),e.exports=t},{106:106}],110:[function(n,e){"use strict";var d=n(158),t={Mixin:{reinitializeTransaction:function reinitializeTransaction(){this.transactionWrappers=this.getTransactionWrappers(),this.wrapperInitData?this.wrapperInitData.length=0:this.wrapperInitData=[],this._isInTransaction=!1},_isInTransaction:!1,getTransactionWrappers:null,isInTransaction:function isInTransaction(){return!!this._isInTransaction},perform:function perform(r,e,t,n,o,a,i,p){this.isInTransaction()?d(!1):void 0;var s,u;try{this._isInTransaction=!0,s=!0,this.initializeAll(0),u=r.call(e,t,n,o,a,i,p),s=!1}finally{try{if(s)try{this.closeAll(0)}catch(e){}else this.closeAll(0)}finally{this._isInTransaction=!1}}return u},initializeAll:function initializeAll(o){for(var e=this.transactionWrappers,a=o,d;as;){for(;ss;s++){p+=e+=o.charCodeAt(s)}return e%=d,p%=d,e|p<<16}var d=65521;e.exports=t},{}],114:[function(n,e){"use strict";e.exports=!1},{}],115:[function(n,e){"use strict";var r=n(55),o=n(77),t=n(163),a=(n(168),t({children:null}));e.exports=function(d,e){var t=o.mergeProps(e,d.props);return!t.hasOwnProperty(a)&&d.props.hasOwnProperty(a)&&(t.children=d.props.children),r.createElement(d.type,t)}},{163:163,168:168,55:55,77:77}],116:[function(n,e){"use strict";function t(a,e){var d=null==e||"boolean"==typeof e||""===e;if(d)return"";var n=isNaN(e);return n||0===e||o.hasOwnProperty(a)&&o[a]?""+e:("string"==typeof e&&(e=e.trim()),e+"px")}var r=n(4),o=r.isUnitlessNumber;e.exports=t},{4:4}],117:[function(n,e){"use strict";function t(a,e,t,n,r){return r}n(24),n(168);e.exports=t},{168:168,24:24}],118:[function(n,e){"use strict";function t(t){return o[t]}var o={"&":"&",">":">","<":"<",'"':""","'":"'"},r=/[&><"']/g;e.exports=function(n){return(""+n).replace(r,t)}},{}],119:[function(n,e){"use strict";var t=(n(39),n(66)),o=n(70),r=n(158);n(168);e.exports=function(n){return null==n?null:1===n.nodeType?n:t.has(n)?o.getNodeFromInstance(n):(null!=n.render&&"function"==typeof n.render?r(!1):void 0,void r(!1))}},{158:158,168:168,39:39,66:66,70:70}],120:[function(n,e){"use strict";function o(a,e,t){var n=a,r=void 0===n[t];r&&null!=e&&(n[t]=e)}var r=n(139);n(168);e.exports=function(n){if(null==n)return n;var e={};return r(n,o,e),e}},{139:139,168:168}],121:[function(n,e){"use strict";e.exports=function r(o,e,t){Array.isArray(o)?o.forEach(e,t):o&&e.call(t,o)}},{}],122:[function(n,e){"use strict";function t(o){var e,r=o.keyCode;return"charCode"in o?(e=o.charCode,0===e&&13===r&&(e=13)):e=r,32<=e||13===e?e:0}e.exports=t},{}],123:[function(n,e){"use strict";var t=n(122),o={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},r={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"};e.exports=function(a){if(a.key){var e=o[a.key]||a.key;if("Unidentified"!==e)return e}if("keypress"===a.type){var d=t(a);return 13===d?"Enter":String.fromCharCode(d)}return"keydown"===a.type||"keyup"===a.type?r[a.keyCode]||"Unidentified":""}},{122:122}],124:[function(n,e){"use strict";function t(a){var e=this,t=e.nativeEvent;if(t.getModifierState)return t.getModifierState(a);var n=o[a];return n?!!t[n]:!1}var o={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};e.exports=function(){return t}},{}],125:[function(n,e){"use strict";e.exports=function(n){var e=n.target||n.srcElement||window;return 3===e.nodeType?e.parentNode:e}},{}],126:[function(n,e){"use strict";var r="function"==typeof Symbol&&Symbol.iterator;e.exports=function(n){var e=n&&(r&&n[r]||n["@@iterator"]);return"function"==typeof e?e:void 0}},{}],127:[function(n,e){"use strict";function d(t){for(;t&&t.firstChild;){t=t.firstChild}return t}function r(t){for(;t;){if(t.nextSibling)return t.nextSibling;t=t.parentNode}}function t(o,e){for(var t=d(o),p=0,s=0;t;){if(3===t.nodeType){if(s=p+t.textContent.length,e>=p&&s>=e)return{node:t,offset:e-p};p=s}t=d(r(t))}}e.exports=t},{}],128:[function(n,e){"use strict";function t(){return!o&&r.canUseDOM&&(o="textContent"in document.documentElement?"textContent":"innerText"),o}var r=n(144),o=null;e.exports=t},{144:144}],129:[function(n,e){"use strict";function t(t){return"function"==typeof t&&"undefined"!=typeof t.prototype&&"function"==typeof t.prototype.mountComponent&&"function"==typeof t.prototype.receiveComponent}function r(o){var e;if(null===o||!1===o)e=new a(r);else if("object"==_typeof(o)){var i=o;!i||"function"!=typeof i.type&&"string"!=typeof i.type?p(!1):void 0,e="string"==typeof i.type?d.createInternalComponent(i):t(i.type)?new i.type(i):new s}else"string"==typeof o||"number"==typeof o?e=d.createInstanceForText(o):p(!1);return e.construct(o),e._mountIndex=0,e._mountImage=null,e}var o=n(38),a=n(57),d=n(73),i=n(24),p=n(158),s=(n(168),function(){});i(s.prototype,o.Mixin,{_instantiateReactComponent:r}),e.exports=r},{158:158,168:168,24:24,38:38,57:57,73:73}],130:[function(n,e){"use strict";function t(o,e){if(!p.canUseDOM||e&&!("addEventListener"in document))return!1;var t="on"+o,n=t in document;if(!n){var a=document.createElement("div");a.setAttribute(t,"return;"),n="function"==typeof a[t]}return!n&&d&&"wheel"===o&&(n=document.implementation.hasFeature("Events.wheel","3.0")),n}var d,p=n(144);p.canUseDOM&&(d=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),e.exports=t},{144:144}],131:[function(n,e){"use strict";var r={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};e.exports=function(n){var e=n&&n.nodeName&&n.nodeName.toLowerCase();return e&&("input"===e&&r[n.type]||"textarea"===e)}},{}],132:[function(n,e){"use strict";var t=n(55),o=n(158);e.exports=function(n){return t.isValidElement(n)?void 0:o(!1),n}},{158:158,55:55}],133:[function(n,e){"use strict";var t=n(118);e.exports=function(n){return"\""+t(n)+"\""}},{118:118}],134:[function(n,e){"use strict";var t=n(70);e.exports=t.renderSubtreeIntoContainer},{70:70}],135:[function(n,e){"use strict";var t=n(144),r=/^[ \r\n\t\f]/,o=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,a=function(n,e){n.innerHTML=e};if("undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction&&(a=function(n,e){MSApp.execUnsafeLocalFunction(function(){n.innerHTML=e})}),t.canUseDOM){var d=document.createElement("div");d.innerHTML=" ",""===d.innerHTML&&(a=function(a,e){if(a.parentNode&&a.parentNode.replaceChild(a,a),r.test(e)||"<"===e[0]&&o.test(e)){a.innerHTML=String.fromCharCode(65279)+e;var t=a.firstChild;1===t.data.length?a.removeChild(t):t.deleteData(0,1)}else a.innerHTML=e})}e.exports=a},{144:144}],136:[function(n,e){"use strict";var t=n(144),r=n(118),o=n(135),a=function(n,e){n.textContent=e};t.canUseDOM&&("textContent"in document.documentElement||(a=function(n,e){o(n,r(e))})),e.exports=a},{118:118,135:135,144:144}],137:[function(n,e){"use strict";var r=n(166);e.exports=function(o,e,t){return!r(o.props,e)||!r(o.state,t)}},{166:166}],138:[function(n,e){"use strict";function t(d,e){var t=null===d||!1===d,n=null===e||!1===e;if(t||n)return t==n;var r=_typeof(d),o=_typeof(e);return"string"===r||"number"===r?"string"===o||"number"===o:"object"===o&&d.type===e.type&&d.key===e.key}e.exports=t},{}],139:[function(n,e){"use strict";function t(t){return s[t]}function x(n,e){return n&&null!=n.key?a(n.key):e.toString(36)}function o(n){return(""+n).replace(c,t)}function a(t){return"$"+o(t)}function i(o,h,t,n){var r=_typeof(o);if(("undefined"===r||"boolean"===r)&&(o=null),null===o||"string"===r||"number"===r||u.isValidElement(o))return t(n,o,""===h?d+x(o,0):h),1;var D,P,T=0,N=""===h?d:h+f;if(Array.isArray(o))for(var m=0;m",""],s=[1,""],u=[3,""],l=[1,""," "],p={"*":[1,"?","
"],area:[1,""," "],col:[2,""],legend:[1,""," "],param:[1,""," "],tr:[2,""],optgroup:i,option:i,caption:s,colgroup:s,tbody:s,tfoot:s,thead:s,td:u,th:u};["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"].forEach(function(t){p[t]=l,a[t]=!0}),e.exports=function(t){return r?void 0:o(!1),p.hasOwnProperty(t)||(t="*"),a.hasOwnProperty(t)||("*"===t?r.innerHTML=" ":r.innerHTML="<"+t+">"+t+">",a[t]=!r.firstChild),a[t]?p[t]:null}},{144:144,158:158}],155:[function(n,e){"use strict";e.exports=function(t){return t===window?{x:window.pageXOffset||document.documentElement.scrollLeft,y:window.pageYOffset||document.documentElement.scrollTop}:{x:t.scrollLeft,y:t.scrollTop}}},{}],156:[function(n,e){"use strict";var t=/([A-Z])/g;e.exports=function(n){return n.replace(t,"-$1").toLowerCase()}},{}],157:[function(n,e){"use strict";var t=n(156),o=/^ms-/;e.exports=function(n){return t(n).replace(o,"-ms-")}},{156:156}],158:[function(n,e){"use strict";e.exports=function r(r,e,t,n,d,o,a,i){if(!r){var p;if(void 0===e)p=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[t,n,d,o,a,i],l=0;p=new Error("Invariant Violation: "+e.replace(/%s/g,function(){return u[l++]}))}throw p.framesToPop=1,p}}},{}],159:[function(n,e){"use strict";function t(t){return!(!t||!("function"==typeof Node?t instanceof Node:"object"==_typeof(t)&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName))}e.exports=t},{}],160:[function(n,e){"use strict";var t=n(159);e.exports=function(n){return t(n)&&3==n.nodeType}},{159:159}],161:[function(n,e){"use strict";function t(o){o||(o="");var a,d=arguments.length;if(1n;n++){a=arguments[n],a&&(o=(o?o+" ":"")+a)}return o}e.exports=t},{}],162:[function(n,e){"use strict";var o=n(158);e.exports=function o(r){var e,a={};r instanceof Object&&!Array.isArray(r)?void 0:o(!1);for(e in r){r.hasOwnProperty(e)&&(a[e]=e)}return a}},{158:158}],163:[function(n,e){"use strict";e.exports=function r(n){for(var e in n){if(n.hasOwnProperty(e))return e}return null}},{}],164:[function(n,e){"use strict";function t(o,e,t){if(!o)return null;var n={};for(var r in o){d.call(o,r)&&(n[r]=e.call(t,o[r],r,o))}return n}var d=Object.prototype.hasOwnProperty;e.exports=t},{}],165:[function(n,e){"use strict";e.exports=function(o){var e={};return function(t){return e.hasOwnProperty(t)||(e[t]=o.call(this,t)),e[t]}}},{}],166:[function(n,e){"use strict";function t(o,e){if(o===e)return!0;if("object"!=_typeof(o)||null===o||"object"!=_typeof(e)||null===e)return!1;var t=Object.keys(o),n=Object.keys(e);if(t.length!==n.length)return!1;for(var d=r.bind(e),a=0;ao;o++){t[o]=n[o]}return t}var d=n(158);e.exports=t},{158:158}],168:[function(n,e){"use strict";var t=n(150);e.exports=t},{150:150}]},{},[1])(1)});
-//# sourceMappingURL=react-with-addons.min.js.map
+!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.React=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g8&&11>=x),A=32,B=String.fromCharCode(A),C=n.topLevelTypes,D={beforeInput:{phasedRegistrationNames:{bubbled:t({onBeforeInput:null}),captured:t({onBeforeInputCapture:null})},dependencies:[C.topCompositionEnd,C.topKeyPress,C.topTextInput,C.topPaste]},compositionEnd:{phasedRegistrationNames:{bubbled:t({onCompositionEnd:null}),captured:t({onCompositionEndCapture:null})},dependencies:[C.topBlur,C.topCompositionEnd,C.topKeyDown,C.topKeyPress,C.topKeyUp,C.topMouseDown]},compositionStart:{phasedRegistrationNames:{bubbled:t({onCompositionStart:null}),captured:t({onCompositionStartCapture:null})},dependencies:[C.topBlur,C.topCompositionStart,C.topKeyDown,C.topKeyPress,C.topKeyUp,C.topMouseDown]},compositionUpdate:{phasedRegistrationNames:{bubbled:t({onCompositionUpdate:null}),captured:t({onCompositionUpdateCapture:null})},dependencies:[C.topBlur,C.topCompositionUpdate,C.topKeyDown,C.topKeyPress,C.topKeyUp,C.topMouseDown]}},E=!1,F=null,G={eventTypes:D,extractEvents:function(a,b,c,d,e){return[j(a,b,c,d,e),m(a,b,c,d,e)]}};b.exports=G},{100:100,104:104,144:144,15:15,163:163,19:19,20:20}],4:[function(a,b,c){"use strict";function d(a,b){return a+b.charAt(0).toUpperCase()+b.substring(1)}var e={animationIterationCount:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,stopOpacity:!0,strokeDashoffset:!0,strokeOpacity:!0,strokeWidth:!0},f=["Webkit","ms","Moz","O"];Object.keys(e).forEach(function(a){f.forEach(function(b){e[d(b,a)]=e[a]})});var g={background:{backgroundAttachment:!0,backgroundColor:!0,backgroundImage:!0,backgroundPositionX:!0,backgroundPositionY:!0,backgroundRepeat:!0},backgroundPosition:{backgroundPositionX:!0,backgroundPositionY:!0},border:{borderWidth:!0,borderStyle:!0,borderColor:!0},borderBottom:{borderBottomWidth:!0,borderBottomStyle:!0,borderBottomColor:!0},borderLeft:{borderLeftWidth:!0,borderLeftStyle:!0,borderLeftColor:!0},borderRight:{borderRightWidth:!0,borderRightStyle:!0,borderRightColor:!0},borderTop:{borderTopWidth:!0,borderTopStyle:!0,borderTopColor:!0},font:{fontStyle:!0,fontVariant:!0,fontWeight:!0,fontSize:!0,lineHeight:!0,fontFamily:!0},outline:{outlineWidth:!0,outlineStyle:!0,outlineColor:!0}},h={isUnitlessNumber:e,shorthandPropertyExpansions:g};b.exports=h},{}],5:[function(a,b,c){"use strict";var d=a(4),e=a(144),f=a(76),g=(a(146),a(116)),h=a(157),i=a(165),j=(a(168),i(function(a){return h(a)})),k=!1,l="cssFloat";if(e.canUseDOM){var m=document.createElement("div").style;try{m.font=""}catch(n){k=!0}void 0===document.documentElement.style.cssFloat&&(l="styleFloat")}var o={createMarkupForStyles:function(a){var b="";for(var c in a)if(a.hasOwnProperty(c)){var d=a[c];null!=d&&(b+=j(c)+":",b+=g(c,d)+";")}return b||null},setValueForStyles:function(a,b){var c=a.style;for(var e in b)if(b.hasOwnProperty(e)){var f=g(e,b[e]);if("float"===e&&(e=l),f)c[e]=f;else{var h=k&&d.shorthandPropertyExpansions[e];if(h)for(var i in h)c[i]="";else c[e]=""}}}};f.measureMethods(o,"CSSPropertyOperations",{setValueForStyles:"setValueForStyles"}),b.exports=o},{116:116,144:144,146:146,157:157,165:165,168:168,4:4,76:76}],6:[function(a,b,c){"use strict";function d(){this._callbacks=null,this._contexts=null}var e=a(25),f=a(24),g=a(158);f(d.prototype,{enqueue:function(a,b){this._callbacks=this._callbacks||[],this._contexts=this._contexts||[],this._callbacks.push(a),this._contexts.push(b)},notifyAll:function(){var a=this._callbacks,b=this._contexts;if(a){a.length!==b.length?g(!1):void 0,this._callbacks=null,this._contexts=null;for(var c=0;c8));var J=!1;v.canUseDOM&&(J=z("input")&&(!("documentMode"in document)||document.documentMode>9));var K={get:function(){return H.get.call(this)},set:function(a){G=""+a,H.set.call(this,a)}},L={eventTypes:D,extractEvents:function(a,b,c,e,f){var g,h;if(d(b)?I?g=i:h=j:A(b)?J?g=n:(g=p,h=o):q(b)&&(g=r),g){var k=g(a,b,c);if(k){var l=x.getPooled(D.change,k,e,f);return l.type="change",u.accumulateTwoPhaseDispatches(l),l}}h&&h(a,b,c)}};b.exports=L},{102:102,125:125,130:130,131:131,144:144,15:15,16:16,163:163,19:19,93:93}],8:[function(a,b,c){"use strict";var d=0,e={createReactRootIndex:function(){return d++}};b.exports=e},{}],9:[function(a,b,c){"use strict";function d(a,b,c){var d=c>=a.childNodes.length?null:a.childNodes.item(c);a.insertBefore(b,d)}var e=a(12),f=a(72),g=a(76),h=a(135),i=a(136),j=a(158),k={dangerouslyReplaceNodeWithMarkup:e.dangerouslyReplaceNodeWithMarkup,updateTextContent:i,processUpdates:function(a,b){for(var c,g=null,k=null,l=0;lb||a.hasOverloadedBooleanValue&&b===!1}var f=a(10),g=a(76),h=a(133),i=(a(168),/^[a-zA-Z_][\w\.\-]*$/),j={},k={},l={createMarkupForID:function(a){return f.ID_ATTRIBUTE_NAME+"="+h(a)},setAttributeForID:function(a,b){a.setAttribute(f.ID_ATTRIBUTE_NAME,b)},createMarkupForProperty:function(a,b){var c=f.properties.hasOwnProperty(a)?f.properties[a]:null;if(c){if(e(c,b))return"";var d=c.attributeName;return c.hasBooleanValue||c.hasOverloadedBooleanValue&&b===!0?d+'=""':d+"="+h(b)}return f.isCustomAttribute(a)?null==b?"":a+"="+h(b):null},createMarkupForCustomAttribute:function(a,b){return d(a)&&null!=b?a+"="+h(b):""},setValueForProperty:function(a,b,c){var d=f.properties.hasOwnProperty(b)?f.properties[b]:null;if(d){var g=d.mutationMethod;if(g)g(a,c);else if(e(d,c))this.deleteValueForProperty(a,b);else if(d.mustUseAttribute){var h=d.attributeName,i=d.attributeNamespace;i?a.setAttributeNS(i,h,""+c):d.hasBooleanValue||d.hasOverloadedBooleanValue&&c===!0?a.setAttribute(h,""):a.setAttribute(h,""+c)}else{var j=d.propertyName;d.hasSideEffects&&""+a[j]==""+c||(a[j]=c)}}else f.isCustomAttribute(b)&&l.setValueForAttribute(a,b,c)},setValueForAttribute:function(a,b,c){d(b)&&(null==c?a.removeAttribute(b):a.setAttribute(b,""+c))},deleteValueForProperty:function(a,b){var c=f.properties.hasOwnProperty(b)?f.properties[b]:null;if(c){var d=c.mutationMethod;if(d)d(a,void 0);else if(c.mustUseAttribute)a.removeAttribute(c.attributeName);else{var e=c.propertyName,g=f.getDefaultValueForProperty(a.nodeName,e);c.hasSideEffects&&""+a[e]===g||(a[e]=g)}}else f.isCustomAttribute(b)&&a.removeAttribute(b)}};g.measureMethods(l,"DOMPropertyOperations",{setValueForProperty:"setValueForProperty",setValueForAttribute:"setValueForAttribute",deleteValueForProperty:"deleteValueForProperty"}),b.exports=l},{10:10,133:133,168:168,76:76}],12:[function(a,b,c){"use strict";function d(a){return a.substring(1,a.indexOf(" "))}var e=a(144),f=a(149),g=a(150),h=a(154),i=a(158),j=/^(<[^ \/>]+)/,k="data-danger-index",l={dangerouslyRenderMarkup:function(a){e.canUseDOM?void 0:i(!1);for(var b,c={},l=0;l-1?void 0:g(!1),!j.plugins[c]){b.extractEvents?void 0:g(!1),j.plugins[c]=b;var d=b.eventTypes;for(var f in d)e(d[f],b,f)?void 0:g(!1)}}}function e(a,b,c){j.eventNameDispatchConfigs.hasOwnProperty(c)?g(!1):void 0,j.eventNameDispatchConfigs[c]=a;var d=a.phasedRegistrationNames;if(d){for(var e in d)if(d.hasOwnProperty(e)){var h=d[e];f(h,b,c)}return!0}return!!a.registrationName&&(f(a.registrationName,b,c),!0)}function f(a,b,c){j.registrationNameModules[a]?g(!1):void 0,j.registrationNameModules[a]=b,j.registrationNameDependencies[a]=b.eventTypes[c].dependencies}var g=a(158),h=null,i={},j={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},injectEventPluginOrder:function(a){h?g(!1):void 0,h=Array.prototype.slice.call(a),d()},injectEventPluginsByName:function(a){var b=!1;for(var c in a)if(a.hasOwnProperty(c)){var e=a[c];i.hasOwnProperty(c)&&i[c]===e||(i[c]?g(!1):void 0,i[c]=e,b=!0)}b&&d()},getPluginModuleForEvent:function(a){var b=a.dispatchConfig;if(b.registrationName)return j.registrationNameModules[b.registrationName]||null;for(var c in b.phasedRegistrationNames)if(b.phasedRegistrationNames.hasOwnProperty(c)){var d=j.registrationNameModules[b.phasedRegistrationNames[c]];if(d)return d}return null},_resetEventPlugins:function(){h=null;for(var a in i)i.hasOwnProperty(a)&&delete i[a];j.plugins.length=0;var b=j.eventNameDispatchConfigs;for(var c in b)b.hasOwnProperty(c)&&delete b[c];var d=j.registrationNameModules;for(var e in d)d.hasOwnProperty(e)&&delete d[e]}};b.exports=j},{158:158}],18:[function(a,b,c){"use strict";function d(a){return a===q.topMouseUp||a===q.topTouchEnd||a===q.topTouchCancel}function e(a){return a===q.topMouseMove||a===q.topTouchMove}function f(a){return a===q.topMouseDown||a===q.topTouchStart}function g(a,b,c,d){var e=a.type||"unknown-event";a.currentTarget=p.Mount.getNode(d),b?n.invokeGuardedCallbackWithCatch(e,c,a,d):n.invokeGuardedCallback(e,c,a,d),a.currentTarget=null}function h(a,b){var c=a._dispatchListeners,d=a._dispatchIDs;if(Array.isArray(c))for(var e=0;ea&&c[a]===e[a];a++);var g=d-a;for(b=1;g>=b&&c[d-b]===e[f-b];b++);var h=b>1?1-b:void 0;return this._fallbackText=e.slice(a,h),this._fallbackText}}),e.addPoolingTo(d),b.exports=d},{128:128,24:24,25:25}],21:[function(a,b,c){"use strict";var d,e=a(10),f=a(144),g=e.injection.MUST_USE_ATTRIBUTE,h=e.injection.MUST_USE_PROPERTY,i=e.injection.HAS_BOOLEAN_VALUE,j=e.injection.HAS_SIDE_EFFECTS,k=e.injection.HAS_NUMERIC_VALUE,l=e.injection.HAS_POSITIVE_NUMERIC_VALUE,m=e.injection.HAS_OVERLOADED_BOOLEAN_VALUE;if(f.canUseDOM){var n=document.implementation;d=n&&n.hasFeature&&n.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")}var o={isCustomAttribute:RegExp.prototype.test.bind(/^(data|aria)-[a-z_][a-z\d_.\-]*$/),Properties:{accept:null,acceptCharset:null,accessKey:null,action:null,allowFullScreen:g|i,allowTransparency:g,alt:null,async:i,autoComplete:null,autoPlay:i,capture:g|i,cellPadding:null,cellSpacing:null,charSet:g,challenge:g,checked:h|i,classID:g,className:d?g:h,cols:g|l,colSpan:null,content:null,contentEditable:null,contextMenu:g,controls:h|i,coords:null,crossOrigin:null,data:null,dateTime:g,"default":i,defer:i,dir:null,disabled:g|i,download:m,draggable:null,encType:null,form:g,formAction:g,formEncType:g,formMethod:g,formNoValidate:i,formTarget:g,frameBorder:g,headers:null,height:g,hidden:g|i,high:null,href:null,hrefLang:null,htmlFor:null,httpEquiv:null,icon:null,id:h,inputMode:g,integrity:null,is:g,keyParams:g,keyType:g,kind:null,label:null,lang:null,list:g,loop:h|i,low:null,manifest:g,marginHeight:null,marginWidth:null,max:null,maxLength:g,media:g,mediaGroup:null,method:null,min:null,minLength:g,multiple:h|i,muted:h|i,name:null,nonce:g,noValidate:i,open:i,optimum:null,pattern:null,placeholder:null,poster:null,preload:null,radioGroup:null,readOnly:h|i,rel:null,required:i,reversed:i,role:g,rows:g|l,rowSpan:null,sandbox:null,scope:null,scoped:i,scrolling:null,seamless:g|i,selected:h|i,shape:null,size:g|l,sizes:g,span:l,spellCheck:null,src:null,srcDoc:h,srcLang:null,srcSet:g,start:k,step:null,style:null,summary:null,tabIndex:null,target:null,title:null,type:null,useMap:null,value:h|j,width:g,wmode:g,wrap:null,about:g,datatype:g,inlist:g,prefix:g,property:g,resource:g,"typeof":g,vocab:g,autoCapitalize:null,autoCorrect:null,autoSave:null,color:null,itemProp:g,itemScope:g|i,itemType:g,itemID:g,itemRef:g,results:null,security:g,unselectable:g},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{autoCapitalize:"autocapitalize",autoComplete:"autocomplete",autoCorrect:"autocorrect",autoFocus:"autofocus",autoPlay:"autoplay",autoSave:"autosave",encType:"encoding",hrefLang:"hreflang",radioGroup:"radiogroup",spellCheck:"spellcheck",srcDoc:"srcdoc",srcSet:"srcset"}};b.exports=o},{10:10,144:144}],22:[function(a,b,c){"use strict";var d=a(68),e=a(88),f={linkState:function(a){return new d(this.state[a],e.createStateKeySetter(this,a))}};b.exports=f},{68:68,88:88}],23:[function(a,b,c){"use strict";function d(a){null!=a.checkedLink&&null!=a.valueLink?j(!1):void 0}function e(a){d(a),null!=a.value||null!=a.onChange?j(!1):void 0}function f(a){d(a),null!=a.checked||null!=a.onChange?j(!1):void 0}function g(a){if(a){var b=a.getName();if(b)return" Check the render method of `"+b+"`."}return""}var h=a(80),i=a(79),j=a(158),k=(a(168),{button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0}),l={value:function(a,b,c){return!a[b]||k[a.type]||a.onChange||a.readOnly||a.disabled?null:new Error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.")},checked:function(a,b,c){return!a[b]||a.onChange||a.readOnly||a.disabled?null:new Error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.")},onChange:h.func},m={},n={checkPropTypes:function(a,b,c){for(var d in l){if(l.hasOwnProperty(d))var e=l[d](b,d,a,i.prop);e instanceof Error&&!(e.message in m)&&(m[e.message]=!0,g(c))}},getValue:function(a){return a.valueLink?(e(a),a.valueLink.value):a.value},getChecked:function(a){return a.checkedLink?(f(a),a.checkedLink.value):a.checked},executeOnChange:function(a,b){return a.valueLink?(e(a),a.valueLink.requestChange(b.target.value)):a.checkedLink?(f(a),a.checkedLink.requestChange(b.target.checked)):a.onChange?a.onChange.call(void 0,b):void 0}};b.exports=n},{158:158,168:168,79:79,80:80}],24:[function(a,b,c){"use strict";function d(a,b){if(null==a)throw new TypeError("Object.assign target cannot be null or undefined");for(var c=Object(a),d=Object.prototype.hasOwnProperty,e=1;e=0||null!=b.is}function q(a){o(a),this._tag=a.toLowerCase(),this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._rootNodeID=null,this._wrapperState=null,this._topLevelWrapper=null,this._nodeWithLegacyProperties=null}var r=a(2),s=a(5),t=a(10),u=a(11),v=a(15),w=a(28),x=a(35),y=a(41),z=a(46),A=a(47),B=a(48),C=a(52),D=a(70),E=a(71),F=a(76),G=a(92),H=a(24),I=a(114),J=a(118),K=a(158),L=(a(130),a(163)),M=a(135),N=a(136),O=(a(166),a(141),a(168),w.deleteListener),P=w.listenTo,Q=w.registrationNameModules,R={string:!0,number:!0},S=L({children:null}),T=L({style:null}),U=L({__html:null}),V=1,W={topAbort:"abort",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topSeeked:"seeked",topSeeking:"seeking",topStalled:"stalled",topSuspend:"suspend",topTimeUpdate:"timeupdate",topVolumeChange:"volumechange",topWaiting:"waiting"},X={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},Y={listing:!0,pre:!0,textarea:!0},Z=(H({menuitem:!0},X),/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/),$={},_={}.hasOwnProperty;q.displayName="ReactDOMComponent",q.Mixin={construct:function(a){this._currentElement=a},mountComponent:function(a,b,c){this._rootNodeID=a;var d=this._currentElement.props;switch(this._tag){case"iframe":case"img":case"form":case"video":case"audio":this._wrapperState={listeners:null},b.getReactMountReady().enqueue(l,this);break;case"button":d=y.getNativeProps(this,d,c);break;case"input":z.mountWrapper(this,d,c),d=z.getNativeProps(this,d,c);break;case"option":A.mountWrapper(this,d,c),d=A.getNativeProps(this,d,c);break;case"select":B.mountWrapper(this,d,c),d=B.getNativeProps(this,d,c),c=B.processChildContext(this,d,c);break;case"textarea":C.mountWrapper(this,d,c),d=C.getNativeProps(this,d,c)}i(this,d);var e;if(b.useCreateElement){var f=c[D.ownerDocumentContextKey],g=f.createElement(this._currentElement.type);u.setAttributeForID(g,this._rootNodeID),D.getID(g),this._updateDOMProperties({},d,b,g),this._createInitialChildren(b,d,c,g),e=g}else{var h=this._createOpenTagMarkupAndPutListeners(b,d),j=this._createContentMarkup(b,d,c);e=!j&&X[this._tag]?h+"/>":h+">"+j+""+this._currentElement.type+">"}switch(this._tag){case"input":b.getReactMountReady().enqueue(m,this);case"button":case"select":case"textarea":d.autoFocus&&b.getReactMountReady().enqueue(r.focusDOMComponent,this)}return e},_createOpenTagMarkupAndPutListeners:function(a,b){var c="<"+this._currentElement.type;for(var d in b)if(b.hasOwnProperty(d)){var e=b[d];if(null!=e)if(Q.hasOwnProperty(d))e&&j(this._rootNodeID,d,e,a);else{d===T&&(e&&(e=this._previousStyleCopy=H({},b.style)),e=s.createMarkupForStyles(e));var f=null;null!=this._tag&&p(this._tag,b)?d!==S&&(f=u.createMarkupForCustomAttribute(d,e)):f=u.createMarkupForProperty(d,e),f&&(c+=" "+f)}}if(a.renderToStaticMarkup)return c;var g=u.createMarkupForID(this._rootNodeID);return c+" "+g},_createContentMarkup:function(a,b,c){var d="",e=b.dangerouslySetInnerHTML;if(null!=e)null!=e.__html&&(d=e.__html);else{var f=R[typeof b.children]?b.children:null,g=null!=f?null:b.children;if(null!=f)d=J(f);else if(null!=g){var h=this.mountChildren(g,a,c);d=h.join("")}}return Y[this._tag]&&"\n"===d.charAt(0)?"\n"+d:d},_createInitialChildren:function(a,b,c,d){var e=b.dangerouslySetInnerHTML;if(null!=e)null!=e.__html&&M(d,e.__html);else{var f=R[typeof b.children]?b.children:null,g=null!=f?null:b.children;if(null!=f)N(d,f);else if(null!=g)for(var h=this.mountChildren(g,a,c),i=0;ib.end?(c=b.end,d=b.start):(c=b.start,d=b.end),e.moveToElementText(a),e.moveStart("character",c),e.setEndPoint("EndToStart",e),e.moveEnd("character",d-c),e.select()}function h(a,b){if(window.getSelection){var c=window.getSelection(),d=a[k()].length,e=Math.min(b.start,d),f="undefined"==typeof b.end?e:Math.min(b.end,d);if(!c.extend&&e>f){var g=f;f=e,e=g}var h=j(a,e),i=j(a,f);if(h&&i){var l=document.createRange();l.setStart(h.node,h.offset),c.removeAllRanges(),e>f?(c.addRange(l),c.extend(i.node,i.offset)):(l.setEnd(i.node,i.offset),c.addRange(l))}}}var i=a(144),j=a(127),k=a(128),l=i.canUseDOM&&"selection"in document&&!("getSelection"in window),m={getOffsets:l?e:f,setOffsets:l?g:h};b.exports=m},{127:127,128:128,144:144}],50:[function(a,b,c){"use strict";var d=a(54),e=a(86),f=a(94);d.inject();var g={renderToString:e.renderToString,renderToStaticMarkup:e.renderToStaticMarkup,version:f};b.exports=g},{54:54,86:86,94:94}],51:[function(a,b,c){"use strict";var d=a(9),e=a(11),f=a(35),g=a(70),h=a(24),i=a(118),j=a(136),k=(a(141),function(a){});h(k.prototype,{construct:function(a){this._currentElement=a,this._stringText=""+a,this._rootNodeID=null,this._mountIndex=0},mountComponent:function(a,b,c){if(this._rootNodeID=a,b.useCreateElement){var d=c[g.ownerDocumentContextKey],f=d.createElement("span");return e.setAttributeForID(f,a),g.getID(f),j(f,this._stringText),f}var h=i(this._stringText);return b.renderToStaticMarkup?h:""+h+" "},receiveComponent:function(a,b){if(a!==this._currentElement){this._currentElement=a;var c=""+a;if(c!==this._stringText){this._stringText=c;var e=g.getNode(this._rootNodeID);d.updateTextContent(e,c)}}},unmountComponent:function(){f.unmountIDFromEnvironment(this._rootNodeID)}}),b.exports=k},{11:11,118:118,136:136,141:141,24:24,35:35,70:70,9:9}],52:[function(a,b,c){"use strict";function d(){this._rootNodeID&&k.updateWrapper(this)}function e(a){var b=this._currentElement.props,c=f.executeOnChange(b,a);return h.asap(d,this),c}var f=a(23),g=a(45),h=a(93),i=a(24),j=a(158),k=(a(168),{getNativeProps:function(a,b,c){null!=b.dangerouslySetInnerHTML?j(!1):void 0;var d=i({},b,{defaultValue:void 0,value:void 0,children:a._wrapperState.initialValue,onChange:a._wrapperState.onChange});return d},mountWrapper:function(a,b){var c=b.defaultValue,d=b.children;null!=d&&(null!=c?j(!1):void 0,Array.isArray(d)&&(d.length<=1?void 0:j(!1),d=d[0]),c=""+d),null==c&&(c="");var g=f.getValue(b);a._wrapperState={initialValue:""+(null!=g?g:c),onChange:e.bind(a)}},updateWrapper:function(a){var b=a._currentElement.props,c=f.getValue(b);null!=c&&g.updatePropertyByID(a._rootNodeID,"value",""+c)}});b.exports=k},{158:158,168:168,23:23,24:24,45:45,93:93}],53:[function(a,b,c){"use strict";function d(){this.reinitializeTransaction()}var e=a(93),f=a(110),g=a(24),h=a(150),i={initialize:h,close:function(){m.isBatchingUpdates=!1}},j={initialize:h,close:e.flushBatchedUpdates.bind(e)},k=[j,i];g(d.prototype,f.Mixin,{getTransactionWrappers:function(){return k}});var l=new d,m={isBatchingUpdates:!1,batchedUpdates:function(a,b,c,d,e,f){var g=m.isBatchingUpdates;m.isBatchingUpdates=!0,g?a(b,c,d,e,f):l.perform(a,null,b,c,d,e,f)}};b.exports=m},{110:110,150:150,24:24,93:93}],54:[function(a,b,c){"use strict";function d(){z||(z=!0,r.EventEmitter.injectReactEventListener(q),r.EventPluginHub.injectEventPluginOrder(h),r.EventPluginHub.injectInstanceHandle(s),r.EventPluginHub.injectMount(t),r.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:x,EnterLeaveEventPlugin:i,ChangeEventPlugin:f,SelectEventPlugin:v,BeforeInputEventPlugin:e}),r.NativeComponent.injectGenericComponentClass(o),r.NativeComponent.injectTextComponentClass(p),r.Class.injectMixin(l),r.DOMProperty.injectDOMPropertyConfig(k),r.DOMProperty.injectDOMPropertyConfig(y),r.EmptyComponent.injectEmptyComponent("noscript"),r.Updates.injectReconcileTransaction(u),r.Updates.injectBatchingStrategy(n),r.RootIndex.injectCreateReactRootIndex(j.canUseDOM?g.createReactRootIndex:w.createReactRootIndex),r.Component.injectEnvironment(m))}var e=a(3),f=a(7),g=a(8),h=a(13),i=a(14),j=a(144),k=a(21),l=a(27),m=a(35),n=a(53),o=a(42),p=a(51),q=a(61),r=a(63),s=a(65),t=a(70),u=a(81),v=a(96),w=a(97),x=a(98),y=a(95),z=!1;b.exports={inject:d}},{13:13,14:14,144:144,21:21,27:27,3:3,35:35,42:42,51:51,53:53,61:61,63:63,65:65,7:7,70:70,8:8,81:81,95:95,96:96,97:97,98:98}],55:[function(a,b,c){"use strict";var d=a(39),e=a(24),f=(a(114),"function"==typeof Symbol&&Symbol["for"]&&Symbol["for"]("react.element")||60103),g={key:!0,ref:!0,__self:!0,__source:!0},h=function(a,b,c,d,e,g,h){var i={$$typeof:f,type:a,key:b,ref:c,props:h,_owner:g};return i};h.createElement=function(a,b,c){var e,f={},i=null,j=null,k=null,l=null;if(null!=b){j=void 0===b.ref?null:b.ref,i=void 0===b.key?null:""+b.key,k=void 0===b.__self?null:b.__self,l=void 0===b.__source?null:b.__source;for(e in b)b.hasOwnProperty(e)&&!g.hasOwnProperty(e)&&(f[e]=b[e])}var m=arguments.length-2;if(1===m)f.children=c;else if(m>1){for(var n=Array(m),o=0;m>o;o++)n[o]=arguments[o+2];f.children=n}if(a&&a.defaultProps){var p=a.defaultProps;for(e in p)"undefined"==typeof f[e]&&(f[e]=p[e])}return h(a,i,j,k,l,d.current,f)},h.createFactory=function(a){var b=h.createElement.bind(null,a);return b.type=a,b},h.cloneAndReplaceKey=function(a,b){var c=h(a.type,b,a.ref,a._self,a._source,a._owner,a.props);return c},h.cloneAndReplaceProps=function(a,b){var c=h(a.type,a.key,a.ref,a._self,a._source,a._owner,b);return c},h.cloneElement=function(a,b,c){var f,i=e({},a.props),j=a.key,k=a.ref,l=a._self,m=a._source,n=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,n=d.current),void 0!==b.key&&(j=""+b.key);for(f in b)b.hasOwnProperty(f)&&!g.hasOwnProperty(f)&&(i[f]=b[f])}var o=arguments.length-2;if(1===o)i.children=c;else if(o>1){for(var p=Array(o),q=0;o>q;q++)p[q]=arguments[q+2];i.children=p}return h(a.type,j,k,l,m,n,i)},h.isValidElement=function(a){return"object"==typeof a&&null!==a&&a.$$typeof===f},b.exports=h},{114:114,24:24,39:39}],56:[function(a,b,c){"use strict";function d(){if(l.current){var a=l.current.getName();if(a)return" Check the render method of `"+a+"`."}return""}function e(a,b){a._store&&!a._store.validated&&null==a.key&&(a._store.validated=!0,f("uniqueKey",a,b))}function f(a,b,c){var e=d();if(!e){var f="string"==typeof c?c:c.displayName||c.name;f&&(e=" Check the top-level render call using <"+f+">.")}var g=o[a]||(o[a]={});if(g[e])return null;g[e]=!0;var h={parentOrOwner:e,url:" See https://fb.me/react-warning-keys for more information.",childOwner:null};return b&&b._owner&&b._owner!==l.current&&(h.childOwner=" It was passed a child from "+b._owner.getName()+"."),h}function g(a,b){if("object"==typeof a)if(Array.isArray(a))for(var c=0;c=g;g++)if(e(a,g)&&e(b,g))d=g;else if(a.charAt(g)!==b.charAt(g))break;var h=a.substr(0,d);return f(h)?void 0:m(!1),h}function k(a,b,c,d,e,f){a=a||"",b=b||"",a===b?m(!1):void 0;var j=g(b,a);j||g(a,b)?void 0:m(!1);for(var k=0,l=j?h:i,n=a;;n=l(n,b)){var o;if(e&&n===a||f&&n===b||(o=c(n,j,d)),o===!1||n===b)break;k++1){var b=a.indexOf(n,1);return b>-1?a.substr(0,b):a}return null},traverseEnterLeave:function(a,b,c,d,e){var f=j(a,b);f!==a&&k(a,f,c,d,!1,!0),f!==b&&k(f,b,c,e,!0,!1)},traverseTwoPhase:function(a,b,c){a&&(k("",a,b,c,!0,!1),k(a,"",b,c,!1,!0))},traverseTwoPhaseSkipTarget:function(a,b,c){a&&(k("",a,b,c,!0,!0),k(a,"",b,c,!0,!0))},traverseAncestors:function(a,b,c){k("",a,b,c,!0,!1)},getFirstCommonAncestorID:j,_getNextDescendantID:i,isAncestorIDOf:g,SEPARATOR:n};b.exports=q},{158:158,84:84}],66:[function(a,b,c){"use strict";var d={remove:function(a){a._reactInternalInstance=void 0},get:function(a){return a._reactInternalInstance},has:function(a){return void 0!==a._reactInternalInstance},set:function(a,b){a._reactInternalInstance=b}};b.exports=d},{}],67:[function(a,b,c){"use strict";var d=a(32),e=a(34),f=a(33),g=a(43),h=a(55),i=(a(56),a(80)),j=a(94),k=a(24),l=a(132),m=h.createElement,n=h.createFactory,o=h.cloneElement,p={Children:{map:d.map,forEach:d.forEach,count:d.count,toArray:d.toArray,only:l},Component:e,createElement:m,cloneElement:o,isValidElement:h.isValidElement,PropTypes:i,createClass:f.createClass,createFactory:n,createMixin:function(a){return a},DOM:g,version:j,__spread:k};b.exports=p},{132:132,24:24,32:32,33:33,34:34,43:43,55:55,56:56,80:80,94:94}],68:[function(a,b,c){"use strict";function d(a,b){this.value=a,this.requestChange=b}function e(a){var b={value:"undefined"==typeof a?f.PropTypes.any.isRequired:a.isRequired,requestChange:f.PropTypes.func.isRequired};return f.PropTypes.shape(b)}var f=a(26);d.PropTypes={link:e},b.exports=d},{26:26}],69:[function(a,b,c){"use strict";var d=a(113),e=/\/?>/,f={CHECKSUM_ATTR_NAME:"data-react-checksum",addChecksumToMarkup:function(a){var b=d(a);return a.replace(e," "+f.CHECKSUM_ATTR_NAME+'="'+b+'"$&')},canReuseMarkup:function(a,b){var c=b.getAttribute(f.CHECKSUM_ATTR_NAME);c=c&&parseInt(c,10);var e=d(a);return e===c}};b.exports=f},{113:113}],70:[function(a,b,c){"use strict";function d(a,b){for(var c=Math.min(a.length,b.length),d=0;c>d;d++)if(a.charAt(d)!==b.charAt(d))return d;return a.length===b.length?-1:c}function e(a){return a?a.nodeType===Q?a.documentElement:a.firstChild:null}function f(a){var b=e(a);return b&&Y.getID(b)}function g(a){var b=h(a);if(b)if(O.hasOwnProperty(b)){var c=O[b];c!==a&&(l(c,b)?K(!1):void 0,O[b]=a)}else O[b]=a;return b}function h(a){return a&&a.getAttribute&&a.getAttribute(N)||""}function i(a,b){var c=h(a);c!==b&&delete O[c],a.setAttribute(N,b),O[b]=a}function j(a){return O.hasOwnProperty(a)&&l(O[a],a)||(O[a]=Y.findReactNodeByID(a)),O[a]}function k(a){var b=A.get(a)._rootNodeID;return y.isNullComponentID(b)?null:(O.hasOwnProperty(b)&&l(O[b],b)||(O[b]=Y.findReactNodeByID(b)),O[b])}function l(a,b){if(a){h(a)!==b?K(!1):void 0;var c=Y.findReactContainerForID(b);if(c&&I(c,a))return!0}return!1}function m(a){delete O[a]}function n(a){var b=O[a];return!(!b||!l(b,a))&&void(W=b)}function o(a){W=null,z.traverseAncestors(a,n);var b=W;return W=null,b}function p(a,b,c,d,e,f){w.useCreateElement&&(f=G({},f),c.nodeType===Q?f[S]=c:f[S]=c.ownerDocument);var g=D.mountComponent(a,b,d,f);a._renderedComponent._topLevelWrapper=a,Y._mountImageIntoNode(g,c,e,d)}function q(a,b,c,d,e){var f=F.ReactReconcileTransaction.getPooled(d);f.perform(p,null,a,b,c,f,d,e),F.ReactReconcileTransaction.release(f)}function r(a,b){for(D.unmountComponent(a),b.nodeType===Q&&(b=b.documentElement);b.lastChild;)b.removeChild(b.lastChild)}function s(a){var b=f(a);return!!b&&b!==z.getReactRootIDFromNodeID(b)}function t(a){for(;a&&a.parentNode!==a;a=a.parentNode)if(1===a.nodeType){var b=h(a);if(b){var c,d=z.getReactRootIDFromNodeID(b),e=a;do if(c=h(e),e=e.parentNode,null==e)return null;while(c!==d);if(e===U[d])return a}}return null}var u=a(10),v=a(28),w=(a(39),a(44)),x=a(55),y=a(58),z=a(65),A=a(66),B=a(69),C=a(76),D=a(82),E=a(92),F=a(93),G=a(24),H=a(151),I=a(147),J=a(129),K=a(158),L=a(135),M=a(138),N=(a(141),a(168),u.ID_ATTRIBUTE_NAME),O={},P=1,Q=9,R=11,S="__ReactMount_ownerDocument$"+Math.random().toString(36).slice(2),T={},U={},V=[],W=null,X=function(){};X.prototype.isReactComponent={},X.prototype.render=function(){return this.props};var Y={TopLevelWrapper:X,_instancesByReactRootID:T,scrollMonitor:function(a,b){b()},_updateRootComponent:function(a,b,c,d){return Y.scrollMonitor(c,function(){E.enqueueElementInternal(a,b),d&&E.enqueueCallbackInternal(a,d)}),a},_registerComponent:function(a,b){!b||b.nodeType!==P&&b.nodeType!==Q&&b.nodeType!==R?K(!1):void 0,v.ensureScrollValueMonitoring();var c=Y.registerContainer(b);return T[c]=a,c},_renderNewRootComponent:function(a,b,c,d){var e=J(a,null),f=Y._registerComponent(e,b);return F.batchedUpdates(q,e,f,b,c,d),e},renderSubtreeIntoContainer:function(a,b,c,d){return null==a||null==a._reactInternalInstance?K(!1):void 0,Y._renderSubtreeIntoContainer(a,b,c,d)},_renderSubtreeIntoContainer:function(a,b,c,d){x.isValidElement(b)?void 0:K(!1);var g=new x(X,null,null,null,null,null,b),i=T[f(c)];if(i){var j=i._currentElement,k=j.props;if(M(k,b)){var l=i._renderedComponent.getPublicInstance(),m=d&&function(){d.call(l)};return Y._updateRootComponent(i,g,c,m),l}Y.unmountComponentAtNode(c)}var n=e(c),o=n&&!!h(n),p=s(c),q=o&&!i&&!p,r=Y._renderNewRootComponent(g,c,q,null!=a?a._reactInternalInstance._processChildContext(a._reactInternalInstance._context):H)._renderedComponent.getPublicInstance();return d&&d.call(r),r},render:function(a,b,c){return Y._renderSubtreeIntoContainer(null,a,b,c)},registerContainer:function(a){var b=f(a);return b&&(b=z.getReactRootIDFromNodeID(b)),b||(b=z.createReactRootID()),U[b]=a,b},unmountComponentAtNode:function(a){!a||a.nodeType!==P&&a.nodeType!==Q&&a.nodeType!==R?K(!1):void 0;var b=f(a),c=T[b];if(!c){var d=(s(a),h(a));return d&&d===z.getReactRootIDFromNodeID(d),!1}return F.batchedUpdates(r,c,a),delete T[b],delete U[b],!0},findReactContainerForID:function(a){var b=z.getReactRootIDFromNodeID(a),c=U[b];return c},findReactNodeByID:function(a){var b=Y.findReactContainerForID(a);return Y.findComponentRoot(b,a)},getFirstReactDOM:function(a){return t(a)},findComponentRoot:function(a,b){var c=V,d=0,e=o(b)||a;for(c[0]=e.firstChild,c.length=1;d>"}var s=a(55),t=a(78),u=a(150),v=a(126),w="<>",x={array:e("array"),bool:e("boolean"),func:e("function"),number:e("number"),object:e("object"),string:e("string"),any:f(),arrayOf:g,element:h(),instanceOf:i,node:m(),objectOf:k,oneOf:j,oneOfType:l,shape:n};b.exports=x},{126:126,150:150,55:55,78:78}],81:[function(a,b,c){"use strict";function d(a){this.reinitializeTransaction(),this.renderToStaticMarkup=!1,this.reactMountReady=e.getPooled(null),this.useCreateElement=!a&&h.useCreateElement}var e=a(6),f=a(25),g=a(28),h=a(44),i=a(64),j=a(110),k=a(24),l={initialize:i.getSelectionInformation,close:i.restoreSelection},m={initialize:function(){var a=g.isEnabled();return g.setEnabled(!1),a},close:function(a){g.setEnabled(a)}},n={initialize:function(){this.reactMountReady.reset()},close:function(){this.reactMountReady.notifyAll()}},o=[l,m,n],p={getTransactionWrappers:function(){return o},getReactMountReady:function(){return this.reactMountReady},destructor:function(){e.release(this.reactMountReady),this.reactMountReady=null}};k(d.prototype,j.Mixin,p),f.addPoolingTo(d),b.exports=d},{110:110,24:24,25:25,28:28,44:44,6:6,64:64}],82:[function(a,b,c){"use strict";function d(){e.attachRefs(this,this._currentElement)}var e=a(83),f={mountComponent:function(a,b,c,e){var f=a.mountComponent(b,c,e);return a._currentElement&&null!=a._currentElement.ref&&c.getReactMountReady().enqueue(d,a),f},unmountComponent:function(a){e.detachRefs(a,a._currentElement),a.unmountComponent()},receiveComponent:function(a,b,c,f){var g=a._currentElement;if(b!==g||f!==a._context){var h=e.shouldUpdateRefs(g,b);h&&e.detachRefs(a,g),a.receiveComponent(b,c,f),h&&a._currentElement&&null!=a._currentElement.ref&&c.getReactMountReady().enqueue(d,a)}},performUpdateIfNecessary:function(a,b){a.performUpdateIfNecessary(b)}};b.exports=f},{83:83}],83:[function(a,b,c){"use strict";function d(a,b,c){"function"==typeof a?a(b.getPublicInstance()):f.addComponentAsRefTo(b,a,c)}function e(a,b,c){"function"==typeof a?a(null):f.removeComponentAsRefFrom(b,a,c)}var f=a(75),g={};g.attachRefs=function(a,b){if(null!==b&&b!==!1){var c=b.ref;null!=c&&d(c,a,b._owner)}},g.shouldUpdateRefs=function(a,b){var c=null===a||a===!1,d=null===b||b===!1;return c||d||b._owner!==a._owner||b.ref!==a.ref},g.detachRefs=function(a,b){if(null!==b&&b!==!1){var c=b.ref;null!=c&&e(c,a,b._owner)}},b.exports=g},{75:75}],84:[function(a,b,c){"use strict";var d={injectCreateReactRootIndex:function(a){e.createReactRootIndex=a}},e={createReactRootIndex:null,injection:d};b.exports=e},{}],85:[function(a,b,c){"use strict";var d={isBatchingUpdates:!1,batchedUpdates:function(a){}};b.exports=d},{}],86:[function(a,b,c){"use strict";function d(a){g.isValidElement(a)?void 0:o(!1);var b;try{l.injection.injectBatchingStrategy(j);var c=h.createReactRootID();return b=k.getPooled(!1),b.perform(function(){var d=n(a,null),e=d.mountComponent(c,b,m);return i.addChecksumToMarkup(e)},null)}finally{k.release(b),l.injection.injectBatchingStrategy(f)}}function e(a){g.isValidElement(a)?void 0:o(!1);var b;try{l.injection.injectBatchingStrategy(j);var c=h.createReactRootID();return b=k.getPooled(!0),b.perform(function(){var d=n(a,null);return d.mountComponent(c,b,m)},null)}finally{k.release(b),l.injection.injectBatchingStrategy(f)}}var f=a(53),g=a(55),h=a(65),i=a(69),j=a(85),k=a(87),l=a(93),m=a(151),n=a(129),o=a(158);b.exports={renderToString:d,renderToStaticMarkup:e}},{129:129,151:151,158:158,53:53,55:55,65:65,69:69,85:85,87:87,93:93}],87:[function(a,b,c){"use strict";function d(a){this.reinitializeTransaction(),this.renderToStaticMarkup=a,this.reactMountReady=f.getPooled(null),this.useCreateElement=!1}var e=a(25),f=a(6),g=a(110),h=a(24),i=a(150),j={initialize:function(){this.reactMountReady.reset()},close:i},k=[j],l={getTransactionWrappers:function(){return k},getReactMountReady:function(){return this.reactMountReady},destructor:function(){f.release(this.reactMountReady),this.reactMountReady=null}};h(d.prototype,g.Mixin,l),e.addPoolingTo(d),b.exports=d},{110:110,150:150,24:24,25:25,6:6}],88:[function(a,b,c){"use strict";function d(a,b){var c={};return function(d){c[b]=d,a.setState(c)}}var e={createStateSetter:function(a,b){return function(c,d,e,f,g,h){var i=b.call(a,c,d,e,f,g,h);i&&a.setState(i)}},createStateKeySetter:function(a,b){var c=a.__keySetters||(a.__keySetters={});return c[b]||(c[b]=d(a,b))}};e.Mixin={createStateSetter:function(a){return e.createStateSetter(this,a)},createStateKeySetter:function(a){return e.createStateKeySetter(this,a)}},b.exports=e},{}],89:[function(a,b,c){"use strict";var d=a(120),e={getChildMapping:function(a){return a?d(a):a},mergeChildMappings:function(a,b){function c(c){return b.hasOwnProperty(c)?b[c]:a[c]}a=a||{},b=b||{};var d={},e=[];for(var f in a)b.hasOwnProperty(f)?e.length&&(d[f]=e,e=[]):e.push(f);var g,h={};for(var i in b){if(d.hasOwnProperty(i))for(g=0;gc;c++){var d=r[c],e=d._pendingCallbacks;if(d._pendingCallbacks=null,n.performUpdateIfNecessary(d,a.reconcileTransaction),e)for(var f=0;fd;){for(;dd;d++)c+=b+=a.charCodeAt(d);return b%=e,c%=e,b|c<<16}var e=65521;b.exports=d},{}],114:[function(a,b,c){"use strict";var d=!1;b.exports=d},{}],115:[function(a,b,c){"use strict";function d(a,b){var c=f.mergeProps(b,a.props);return!c.hasOwnProperty(h)&&a.props.hasOwnProperty(h)&&(c.children=a.props.children),e.createElement(a.type,c)}var e=a(55),f=a(77),g=a(163),h=(a(168),g({children:null}));b.exports=d},{163:163,168:168,55:55,77:77}],116:[function(a,b,c){"use strict";function d(a,b){var c=null==b||"boolean"==typeof b||""===b;if(c)return"";var d=isNaN(b);return d||0===b||f.hasOwnProperty(a)&&f[a]?""+b:("string"==typeof b&&(b=b.trim()),b+"px")}var e=a(4),f=e.isUnitlessNumber;b.exports=d},{4:4}],117:[function(a,b,c){"use strict";function d(a,b,c,d,e){return e}a(24),a(168),b.exports=d},{168:168,24:24}],118:[function(a,b,c){"use strict";function d(a){return f[a]}function e(a){return(""+a).replace(g,d)}var f={"&":"&",">":">","<":"<",'"':""","'":"'"},g=/[&><"']/g;b.exports=e},{}],119:[function(a,b,c){"use strict";function d(a){return null==a?null:1===a.nodeType?a:e.has(a)?f.getNodeFromInstance(a):(null!=a.render&&"function"==typeof a.render?g(!1):void 0,void g(!1))}var e=(a(39),a(66)),f=a(70),g=a(158);a(168),b.exports=d},{158:158,168:168,39:39,66:66,70:70}],120:[function(a,b,c){"use strict";function d(a,b,c){var d=a,e=void 0===d[c];e&&null!=b&&(d[c]=b)}function e(a){if(null==a)return a;var b={};return f(a,d,b),b}var f=a(139);a(168),b.exports=e},{139:139,168:168}],121:[function(a,b,c){"use strict";var d=function(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)};b.exports=d},{}],122:[function(a,b,c){"use strict";function d(a){var b,c=a.keyCode;return"charCode"in a?(b=a.charCode,0===b&&13===c&&(b=13)):b=c,b>=32||13===b?b:0}b.exports=d},{}],123:[function(a,b,c){"use strict";function d(a){if(a.key){var b=f[a.key]||a.key;if("Unidentified"!==b)return b}if("keypress"===a.type){var c=e(a);return 13===c?"Enter":String.fromCharCode(c)}return"keydown"===a.type||"keyup"===a.type?g[a.keyCode]||"Unidentified":""}var e=a(122),f={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},g={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"};b.exports=d},{122:122}],124:[function(a,b,c){"use strict";function d(a){var b=this,c=b.nativeEvent;if(c.getModifierState)return c.getModifierState(a);var d=f[a];return!!d&&!!c[d]}function e(a){return d}var f={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};b.exports=e},{}],125:[function(a,b,c){"use strict";function d(a){var b=a.target||a.srcElement||window;return 3===b.nodeType?b.parentNode:b}b.exports=d},{}],126:[function(a,b,c){"use strict";function d(a){var b=a&&(e&&a[e]||a[f]);return"function"==typeof b?b:void 0}var e="function"==typeof Symbol&&Symbol.iterator,f="@@iterator";b.exports=d},{}],127:[function(a,b,c){"use strict";function d(a){for(;a&&a.firstChild;)a=a.firstChild;return a}function e(a){for(;a;){if(a.nextSibling)return a.nextSibling;a=a.parentNode}}function f(a,b){for(var c=d(a),f=0,g=0;c;){if(3===c.nodeType){if(g=f+c.textContent.length,b>=f&&g>=b)return{node:c,offset:b-f};f=g}c=d(e(c))}}b.exports=f},{}],128:[function(a,b,c){"use strict";function d(){return!f&&e.canUseDOM&&(f="textContent"in document.documentElement?"textContent":"innerText"),f}var e=a(144),f=null;b.exports=d},{144:144}],129:[function(a,b,c){"use strict";function d(a){return"function"==typeof a&&"undefined"!=typeof a.prototype&&"function"==typeof a.prototype.mountComponent&&"function"==typeof a.prototype.receiveComponent}function e(a){var b;if(null===a||a===!1)b=new g(e);else if("object"==typeof a){var c=a;!c||"function"!=typeof c.type&&"string"!=typeof c.type?j(!1):void 0,b="string"==typeof c.type?h.createInternalComponent(c):d(c.type)?new c.type(c):new k}else"string"==typeof a||"number"==typeof a?b=h.createInstanceForText(a):j(!1);return b.construct(a),b._mountIndex=0,b._mountImage=null,b}var f=a(38),g=a(57),h=a(73),i=a(24),j=a(158),k=(a(168),function(){});i(k.prototype,f.Mixin,{_instantiateReactComponent:e}),b.exports=e},{158:158,168:168,24:24,38:38,57:57,73:73}],130:[function(a,b,c){"use strict";function d(a,b){if(!f.canUseDOM||b&&!("addEventListener"in document))return!1;var c="on"+a,d=c in document;if(!d){var g=document.createElement("div");g.setAttribute(c,"return;"),d="function"==typeof g[c]}return!d&&e&&"wheel"===a&&(d=document.implementation.hasFeature("Events.wheel","3.0")),d}var e,f=a(144);f.canUseDOM&&(e=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0),b.exports=d},{144:144}],131:[function(a,b,c){"use strict";function d(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&("input"===b&&e[a.type]||"textarea"===b)}var e={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};b.exports=d},{}],132:[function(a,b,c){"use strict";function d(a){return e.isValidElement(a)?void 0:f(!1),a}var e=a(55),f=a(158);b.exports=d},{158:158,55:55}],133:[function(a,b,c){"use strict";function d(a){return'"'+e(a)+'"'}var e=a(118);b.exports=d},{118:118}],134:[function(a,b,c){"use strict";var d=a(70);b.exports=d.renderSubtreeIntoContainer},{70:70}],135:[function(a,b,c){"use strict";var d=a(144),e=/^[ \r\n\t\f]/,f=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,g=function(a,b){a.innerHTML=b};if("undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction&&(g=function(a,b){MSApp.execUnsafeLocalFunction(function(){a.innerHTML=b})}),d.canUseDOM){var h=document.createElement("div");h.innerHTML=" ",""===h.innerHTML&&(g=function(a,b){if(a.parentNode&&a.parentNode.replaceChild(a,a),e.test(b)||"<"===b[0]&&f.test(b)){a.innerHTML=String.fromCharCode(65279)+b;var c=a.firstChild;1===c.data.length?a.removeChild(c):c.deleteData(0,1)}else a.innerHTML=b})}b.exports=g},{144:144}],136:[function(a,b,c){"use strict";var d=a(144),e=a(118),f=a(135),g=function(a,b){a.textContent=b};d.canUseDOM&&("textContent"in document.documentElement||(g=function(a,b){f(a,e(b))})),b.exports=g},{118:118,135:135,144:144}],137:[function(a,b,c){"use strict";function d(a,b,c){return!e(a.props,b)||!e(a.state,c)}var e=a(166);b.exports=d},{166:166}],138:[function(a,b,c){"use strict";function d(a,b){var c=null===a||a===!1,d=null===b||b===!1;if(c||d)return c===d;var e=typeof a,f=typeof b;return"string"===e||"number"===e?"string"===f||"number"===f:"object"===f&&a.type===b.type&&a.key===b.key}b.exports=d},{}],139:[function(a,b,c){"use strict";function d(a){return p[a]}function e(a,b){return a&&null!=a.key?g(a.key):b.toString(36)}function f(a){return(""+a).replace(q,d)}function g(a){return"$"+f(a)}function h(a,b,c,d){var f=typeof a;if(("undefined"===f||"boolean"===f)&&(a=null),null===a||"string"===f||"number"===f||j.isValidElement(a))return c(d,a,""===b?n+e(a,0):b),1;var i,k,p=0,q=""===b?n:b+o;if(Array.isArray(a))for(var r=0;r-1}};b.exports=e},{158:158}],143:[function(a,b,c){"use strict";var d=a(150),e={listen:function(a,b,c){return a.addEventListener?(a.addEventListener(b,c,!1),{remove:function(){a.removeEventListener(b,c,!1)}}):a.attachEvent?(a.attachEvent("on"+b,c),{remove:function(){a.detachEvent("on"+b,c)}}):void 0},capture:function(a,b,c){return a.addEventListener?(a.addEventListener(b,c,!0),{remove:function(){a.removeEventListener(b,c,!0)}}):{remove:d}},registerDefault:function(){}};b.exports=e},{150:150}],144:[function(a,b,c){"use strict";var d=!("undefined"==typeof window||!window.document||!window.document.createElement),e={canUseDOM:d,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:d&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:d&&!!window.screen,isInWorker:!d};b.exports=e},{}],145:[function(a,b,c){"use strict";function d(a){return a.replace(e,function(a,b){return b.toUpperCase()})}var e=/-(.)/g;b.exports=d},{}],146:[function(a,b,c){"use strict";function d(a){return e(a.replace(f,"ms-"))}var e=a(145),f=/^-ms-/;b.exports=d},{145:145}],147:[function(a,b,c){"use strict";function d(a,b){var c=!0;a:for(;c;){var d=a,f=b;if(c=!1,d&&f){if(d===f)return!0;if(e(d))return!1;if(e(f)){a=d,b=f.parentNode,c=!0;continue a}return d.contains?d.contains(f):!!d.compareDocumentPosition&&!!(16&d.compareDocumentPosition(f))}return!1}}var e=a(160);b.exports=d},{160:160}],148:[function(a,b,c){"use strict";function d(a){return!!a&&("object"==typeof a||"function"==typeof a)&&"length"in a&&!("setInterval"in a)&&"number"!=typeof a.nodeType&&(Array.isArray(a)||"callee"in a||"item"in a)}function e(a){return d(a)?Array.isArray(a)?a.slice():f(a):[a]}var f=a(167);b.exports=e},{167:167}],149:[function(a,b,c){"use strict";function d(a){var b=a.match(k);return b&&b[1].toLowerCase()}function e(a,b){var c=j;j?void 0:i(!1);var e=d(a),f=e&&h(e);if(f){c.innerHTML=f[1]+a+f[2];for(var k=f[0];k--;)c=c.lastChild}else c.innerHTML=a;var l=c.getElementsByTagName("script");l.length&&(b?void 0:i(!1),g(l).forEach(b));for(var m=g(c.childNodes);c.lastChild;)c.removeChild(c.lastChild);return m}var f=a(144),g=a(148),h=a(154),i=a(158),j=f.canUseDOM?document.createElement("div"):null,k=/^\s*<(\w+)/;b.exports=e},{144:144,148:148,154:154,158:158}],150:[function(a,b,c){"use strict";function d(a){return function(){return a}}function e(){}e.thatReturns=d,e.thatReturnsFalse=d(!1),e.thatReturnsTrue=d(!0),e.thatReturnsNull=d(null),e.thatReturnsThis=function(){return this},e.thatReturnsArgument=function(a){return a},b.exports=e},{}],151:[function(a,b,c){"use strict";var d={};b.exports=d},{}],152:[function(a,b,c){"use strict";function d(a){try{a.focus()}catch(b){}}b.exports=d},{}],153:[function(a,b,c){"use strict";function d(){if("undefined"==typeof document)return null;try{return document.activeElement||document.body}catch(a){return document.body}}b.exports=d},{}],154:[function(a,b,c){"use strict";function d(a){return g?void 0:f(!1),m.hasOwnProperty(a)||(a="*"),h.hasOwnProperty(a)||("*"===a?g.innerHTML=" ":g.innerHTML="<"+a+">"+a+">",h[a]=!g.firstChild),h[a]?m[a]:null}var e=a(144),f=a(158),g=e.canUseDOM?document.createElement("div"):null,h={},i=[1,''," "],j=[1,""],k=[3,""],l=[1,''," "],m={"*":[1,"?","
"],area:[1,""," "],col:[2,""],legend:[1,""," "],param:[1,""," "],tr:[2,""],optgroup:i,option:i,caption:j,colgroup:j,tbody:j,tfoot:j,thead:j,td:k,th:k},n=["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"];n.forEach(function(a){m[a]=l,h[a]=!0}),b.exports=d},{144:144,158:158}],155:[function(a,b,c){"use strict";function d(a){return a===window?{x:window.pageXOffset||document.documentElement.scrollLeft,y:window.pageYOffset||document.documentElement.scrollTop}:{x:a.scrollLeft,y:a.scrollTop}}b.exports=d},{}],156:[function(a,b,c){"use strict";function d(a){return a.replace(e,"-$1").toLowerCase()}var e=/([A-Z])/g;b.exports=d},{}],157:[function(a,b,c){"use strict";function d(a){return e(a).replace(f,"-ms-")}var e=a(156),f=/^ms-/;b.exports=d},{156:156}],158:[function(a,b,c){"use strict";var d=function(a,b,c,d,e,f,g,h){if(!a){var i;if(void 0===b)i=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var j=[c,d,e,f,g,h],k=0;i=new Error("Invariant Violation: "+b.replace(/%s/g,function(){return j[k++]}))}throw i.framesToPop=1,i}};b.exports=d},{}],159:[function(a,b,c){"use strict";function d(a){return!(!a||!("function"==typeof Node?a instanceof Node:"object"==typeof a&&"number"==typeof a.nodeType&&"string"==typeof a.nodeName))}b.exports=d},{}],160:[function(a,b,c){"use strict";function d(a){return e(a)&&3==a.nodeType}var e=a(159);b.exports=d},{159:159}],161:[function(a,b,c){"use strict";function d(a){a||(a="");var b,c=arguments.length;if(c>1)for(var d=1;c>d;d++)b=arguments[d],b&&(a=(a?a+" ":"")+b);return a}b.exports=d},{}],162:[function(a,b,c){"use strict";var d=a(158),e=function(a){var b,c={};a instanceof Object&&!Array.isArray(a)?void 0:d(!1);for(b in a)a.hasOwnProperty(b)&&(c[b]=b);return c};b.exports=e},{158:158}],163:[function(a,b,c){"use strict";var d=function(a){var b;for(b in a)if(a.hasOwnProperty(b))return b;return null};b.exports=d},{}],164:[function(a,b,c){"use strict";function d(a,b,c){if(!a)return null;var d={};for(var f in a)e.call(a,f)&&(d[f]=b.call(c,a[f],f,a));return d}var e=Object.prototype.hasOwnProperty;b.exports=d},{}],165:[function(a,b,c){"use strict";function d(a){var b={};return function(c){return b.hasOwnProperty(c)||(b[c]=a.call(this,c)),b[c]}}b.exports=d},{}],166:[function(a,b,c){"use strict";function d(a,b){if(a===b)return!0;if("object"!=typeof a||null===a||"object"!=typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(var f=e.bind(b),g=0;gf;f++)d[f]=a[f];return d}var e=a(158);b.exports=d},{158:158}],168:[function(a,b,c){"use strict";var d=a(150),e=d;b.exports=e},{150:150}]},{},[1])(1)});
\ No newline at end of file
diff --git a/amd/build/react_amd.min.js b/amd/build/react_amd.min.js
index 68f9cffa..4e2b7700 100644
--- a/amd/build/react_amd.min.js
+++ b/amd/build/react_amd.min.js
@@ -1,2 +1 @@
-define ("filter_poodll/react_amd",["jquery","core/log","filter_poodll/react-with-addons"],function(a,b,c){"use strict";b.debug("Filter PoodLL: revealjs initialising");window.React=c;return{}});
-//# sourceMappingURL=react_amd.min.js.map
+define(["jquery","core/log","filter_poodll/react-with-addons"],function(a,b,c){"use strict";return b.debug("Filter PoodLL: revealjs initialising"),window.React=c,{}});
\ No newline at end of file
diff --git a/amd/build/responsiveiframe.min.js b/amd/build/responsiveiframe.min.js
index b1916087..9e6ae0de 100644
--- a/amd/build/responsiveiframe.min.js
+++ b/amd/build/responsiveiframe.min.js
@@ -1,2 +1 @@
-define ("filter_poodll/responsiveiframe",["jquery","core/log"],function(a,b){"use strict";b.debug("responsive iframe initialising");return{defheight:150,defwidth:300,init:function init(b){var c=a("#"+b.iframeid);if(0==c.length){c=a("#"+b.iframeid,window.parent.document)}if(0b.length){return}var c=b[0].contentWindow.document.body.scrollHeight,d=b[0].contentWindow.document.body.scrollWidth;if(c!=a.currentheight||d!=a.currentwidth){b.attr("height",c+"px");b.attr("width",d+"px")}a.currentheight=c;a.currentwidth=d;setTimeout(a.thisref._iframeResize,100,a)}}});
-//# sourceMappingURL=responsiveiframe.min.js.map
+define(["jquery","core/log"],function(a,b){"use strict";return b.debug("responsive iframe initialising"),{defheight:150,defwidth:300,init:function(b){var c=a("#"+b.iframeid);if(0==c.length&&(c=a("#"+b.iframeid,window.parent.document)),c.length>0){var d={currentheight:this.defheight,currentwidth:this.defwidth,theiframe:c,thisref:this};this._iframeResize(d)}},_iframeResize:function(a){var b=a.theiframe;if(b&&!(b.length<1)){var c=b[0].contentWindow.document.body.scrollHeight,d=b[0].contentWindow.document.body.scrollWidth;c==a.currentheight&&d==a.currentwidth||(b.attr("height",c+"px"),b.attr("width",d+"px")),a.currentheight=c,a.currentwidth=d,setTimeout(a.thisref._iframeResize,100,a)}}}});
\ No newline at end of file
diff --git a/amd/build/speech_browser.min.js b/amd/build/speech_browser.min.js
index 98c73994..0a60d37d 100644
--- a/amd/build/speech_browser.min.js
+++ b/amd/build/speech_browser.min.js
@@ -1,2 +1 @@
-define ("filter_poodll/speech_browser",["jquery","core/log"],function(a,b){"use strict";b.debug("speech_browser: initialising");return{recognition:null,recognizing:!1,ignore_onend:!1,final_transcript:"",start_timestamp:0,lang:"en-US",clone:function clone(){return a.extend(!0,{},this)},init:function init(a){var b=b||webkitSpeechRecognition;this.recognition=new b;this.recognition.continuous=!0;this.recognition.interimResults=!0;this.lang=a?a:"en-US";this.register_events()},set_grammar:function set_grammar(a){var b=b||webkitSpeechGrammarList;if(b){var c=new b;c.addFromString(a,1);this.recognition.grammars=c}},start:function start(){if(this.recognizing){return}this.recognizing=!0;this.final_transcript="";this.recognition.lang=this.lang;this.recognition.start();this.ignore_onend=!1;this.start_timestamp=Date.now()},stop:function stop(){this.recognizing=!1;this.recognition.stop()},register_events:function register_events(){var a=this.recognition,c=this;a.onstart=function(){c.recognizing=!0};a.onerror=function(a){if("no-speech"==a.error){b.debug("info_no_speech");c.ignore_onend=!0}if("audio-capture"==a.error){b.debug("info_no_microphone");c.ignore_onend=!0}if("not-allowed"==a.error){if(100>a.timeStamp-c.start_timestamp){b.debug("info_blocked")}else{b.debug("info_denied")}c.ignore_onend=!0}};a.onend=function(){if(!1==c.recognizing){return}if(c.ignore_onend){c.recognizing=!1}else{a.start()}};a.onresult=function(a){for(var b="",d=a.resultIndex;dthis.csslinks.indexOf(b.CSSLINK)){this.csslinks.push(b.CSSLINK);this.injectcss(b.CSSLINK)}}if(b.CSSUPLOAD){if(0>this.csslinks.indexOf(b.CSSUPLOAD)){this.csslinks.push(b.CSSUPLOAD);this.injectcss(b.CSSUPLOAD)}}if(b.CSSCUSTOM){if(0>this.csslinks.indexOf(b.CSSCUSTOM)){this.csslinks.push(b.CSSCUSTOM);this.injectcss(b.CSSCUSTOM)}}if("undefined"!=typeof b.TEMPLATEID){require(["filter_poodll_d"+b.TEMPLATEID],function(a){a(b)})}}}});
-//# sourceMappingURL=template_amd.min.js.map
+define(["jquery","core/log"],function(a,b){"use strict";return b.debug("Filter Poodll initialising"),{allopts:{},extscripts:{},csslinks:Array(),jslinks:Array(),appendjspath:function(a,b){require.config({paths:{theprefix:a}})},injectcss:function(a){var b=document.createElement("link");b.href=a,a.toLowerCase().lastIndexOf(".html")==a.length-5?b.rel="import":(b.type="text/css",b.rel="stylesheet"),document.getElementsByTagName("head")[0].appendChild(b)},loadtemplate:function(b){var c="#filter_poodll_amdopts_"+b.AUTOID,d=a(c).get(0);d&&(b=JSON.parse(d.value),a(c).remove()),b.CSSLINK&&this.csslinks.indexOf(b.CSSLINK)<0&&(this.csslinks.push(b.CSSLINK),this.injectcss(b.CSSLINK)),b.CSSUPLOAD&&this.csslinks.indexOf(b.CSSUPLOAD)<0&&(this.csslinks.push(b.CSSUPLOAD),this.injectcss(b.CSSUPLOAD)),b.CSSCUSTOM&&this.csslinks.indexOf(b.CSSCUSTOM)<0&&(this.csslinks.push(b.CSSCUSTOM),this.injectcss(b.CSSCUSTOM)),"undefined"!=typeof b.TEMPLATEID&&require(["filter_poodll_d"+b.TEMPLATEID],function(a){a(b)})}}});
\ No newline at end of file
diff --git a/amd/build/template_presets_amd.min.js b/amd/build/template_presets_amd.min.js
index 582dd248..be588369 100644
--- a/amd/build/template_presets_amd.min.js
+++ b/amd/build/template_presets_amd.min.js
@@ -1,2 +1 @@
-define ("filter_poodll/template_presets_amd",["jquery","core/log"],function(a,b){"use strict";b.debug("Filter Poodll Presets initialising");return{presetdata:!1,dataitems:["name","key","version","instructions","showatto","showplayers","requirecss","requirejs","shim","defaults","amd","body","bodyend","script","style","dataset","datasetvars","alternate","alternateend"],fetchcontrols:function fetchcontrols(a){var b={name:document.getElementById("id_s_filter_poodll_templatename_"+a),key:document.getElementById("id_s_filter_poodll_templatekey_"+a),version:document.getElementById("id_s_filter_poodll_templateversion_"+a),instructions:document.getElementById("id_s_filter_poodll_templateinstructions_"+a),showatto:document.getElementById("id_s_filter_poodll_template_showatto_"+a),showplayers:document.getElementById("id_s_filter_poodll_template_showplayers_"+a),requirecss:document.getElementById("id_s_filter_poodll_templaterequire_css_"+a),requirejs:document.getElementById("id_s_filter_poodll_templaterequire_js_"+a),shim:document.getElementById("id_s_filter_poodll_templaterequire_js_shim_"+a),defaults:document.getElementById("id_s_filter_poodll_templatedefaults_"+a),amd:document.getElementById("id_s_filter_poodll_template_amd_"+a),body:document.getElementById("id_s_filter_poodll_template_"+a),bodyend:document.getElementById("id_s_filter_poodll_templateend_"+a),script:document.getElementById("id_s_filter_poodll_templatescript_"+a),style:document.getElementById("id_s_filter_poodll_templatestyle_"+a),dataset:document.getElementById("id_s_filter_poodll_dataset_"+a),datasetvars:document.getElementById("id_s_filter_poodll_datasetvars_"+a),alternate:document.getElementById("id_s_filter_poodll_templatealternate_"+a),alternateend:document.getElementById("id_s_filter_poodll_templatealternate_end_"+a),presetdata:document.getElementById("id_s_filter_poodll_presetdata_"+a)};return b},fetchjsonbundle:function fetchjsonbundle(b,c){var d={};a.each(this.dataitems,function(a,b){d[b]=c[b].value});var e=JSON.stringify(d);return e},exportbundle:function exportbundle(a){var b=this.fetchcontrols(a);if(""==b.key.value){return}var c=this.fetchjsonbundle(a,b),d=document.createElement("a");d.setAttribute("href","data:text/json;charset=utf-8,"+encodeURIComponent(c));d.setAttribute("download",b.key.value+".txt");if(document.createEvent){var e=document.createEvent("MouseEvents");e.initEvent("click",!0,!0);d.dispatchEvent(e)}else{d.click()}},populateform:function populateform(b,c,d){var e=this.fetchcontrols(b);if(!c&&!d){return}if(!(0==c&&d)){d=this.presetdata}a.each(this.dataitems,function(a,b){if(d[c].hasOwnProperty(b)){if("cleartemplate"==d[c].key&&("key"==b||"name"==b)){var f=""}else{var f=d[c][b]}e[b].value=f}else{switch(b){case"amd":case"showplayers":case"showatto":e[b].value=0;break;default:e[b].value="";}}})},dopopulate:function dopopulate(a,b){this.populateform(a,0,Array(b))},init:function init(b){if(!this.presetdata){var c="#id_s_filter_poodll_presetdata_"+b.templateindex,d=a(c).get(0);this.presetdata=JSON.parse(d.value);a(c).remove()}var e=this;a("select[name='filter_poodll/presets']").change(function(){debugger;e.populateform(b.templateindex,a(this).val())});var f="#id_s_filter_poodll_dragdropsquare_"+b.templateindex;a(f).on("click",function(){e.exportbundle(b.templateindex)});a(f).on("dragover",function(b){b.preventDefault();b.stopPropagation();a(this).addClass("filter_poodll_dragging")});a(f).on("dragleave",function(b){b.preventDefault();b.stopPropagation();a(this).removeClass("filter_poodll_dragging")});a(f).on("drop",function(c){c.preventDefault();var d=c.originalEvent.dataTransfer.files;if(d.length){var g=d[0];if(g){var f=new FileReader;f.onload=function(a){var c=a.target.result,d=JSON.parse(c);if(d.key){e.dopopulate(b.templateindex,d)}};f.readAsText(g)}else{alert("Failed to load file")}}a(this).removeClass("filter_poodll_dragging")})}}});
-//# sourceMappingURL=template_presets_amd.min.js.map
+define(["jquery","core/log"],function(a,b){"use strict";return b.debug("Filter Poodll Presets initialising"),{presetdata:!1,dataitems:["name","key","version","instructions","showatto","showplayers","requirecss","requirejs","shim","defaults","amd","body","bodyend","script","style","dataset","datasetvars","alternate","alternateend"],fetchcontrols:function(a){var b={};return b.name=document.getElementById("id_s_filter_poodll_templatename_"+a),b.key=document.getElementById("id_s_filter_poodll_templatekey_"+a),b.version=document.getElementById("id_s_filter_poodll_templateversion_"+a),b.instructions=document.getElementById("id_s_filter_poodll_templateinstructions_"+a),b.showatto=document.getElementById("id_s_filter_poodll_template_showatto_"+a),b.showplayers=document.getElementById("id_s_filter_poodll_template_showplayers_"+a),b.requirecss=document.getElementById("id_s_filter_poodll_templaterequire_css_"+a),b.requirejs=document.getElementById("id_s_filter_poodll_templaterequire_js_"+a),b.shim=document.getElementById("id_s_filter_poodll_templaterequire_js_shim_"+a),b.defaults=document.getElementById("id_s_filter_poodll_templatedefaults_"+a),b.amd=document.getElementById("id_s_filter_poodll_template_amd_"+a),b.body=document.getElementById("id_s_filter_poodll_template_"+a),b.bodyend=document.getElementById("id_s_filter_poodll_templateend_"+a),b.script=document.getElementById("id_s_filter_poodll_templatescript_"+a),b.style=document.getElementById("id_s_filter_poodll_templatestyle_"+a),b.dataset=document.getElementById("id_s_filter_poodll_dataset_"+a),b.datasetvars=document.getElementById("id_s_filter_poodll_datasetvars_"+a),b.alternate=document.getElementById("id_s_filter_poodll_templatealternate_"+a),b.alternateend=document.getElementById("id_s_filter_poodll_templatealternate_end_"+a),b.presetdata=document.getElementById("id_s_filter_poodll_presetdata_"+a),b},fetchjsonbundle:function(b,c){var d={};a.each(this.dataitems,function(a,b){d[b]=c[b].value});var e=JSON.stringify(d);return e},exportbundle:function(a){var b=this.fetchcontrols(a);if(""!=b.key.value){var c=this.fetchjsonbundle(a,b),d=document.createElement("a");if(d.setAttribute("href","data:text/json;charset=utf-8,"+encodeURIComponent(c)),d.setAttribute("download",b.key.value+".txt"),document.createEvent){var e=document.createEvent("MouseEvents");e.initEvent("click",!0,!0),d.dispatchEvent(e)}else d.click()}},populateform:function(b,c,d){var e=this.fetchcontrols(b);(c||d)&&(0==c&&d||(d=this.presetdata),a.each(this.dataitems,function(a,b){if(d[c].hasOwnProperty(b)){if("cleartemplate"!=d[c].key||"key"!=b&&"name"!=b)var f=d[c][b];else var f="";e[b].value=f}else switch(b){case"amd":case"showplayers":case"showatto":e[b].value=0;break;default:e[b].value=""}}))},dopopulate:function(a,b){this.populateform(a,0,new Array(b))},init:function(b){if(!this.presetdata){var c="#id_s_filter_poodll_presetdata_"+b.templateindex,d=a(c).get(0);this.presetdata=JSON.parse(d.value),a(c).remove()}var e=this;a("select[name='filter_poodll/presets']").change(function(){e.populateform(b.templateindex,a(this).val())});var f="#id_s_filter_poodll_dragdropsquare_"+b.templateindex;a(f).on("click",function(){e.exportbundle(b.templateindex)}),a(f).on("dragover",function(b){b.preventDefault(),b.stopPropagation(),a(this).addClass("filter_poodll_dragging")}),a(f).on("dragleave",function(b){b.preventDefault(),b.stopPropagation(),a(this).removeClass("filter_poodll_dragging")}),a(f).on("drop",function(c){c.preventDefault();var d=c.originalEvent.dataTransfer.files;if(d.length){var f=d[0];if(f){var g=new FileReader;g.onload=function(a){var c=a.target.result,d=JSON.parse(c);d.key&&e.dopopulate(b.templateindex,d)},g.readAsText(f)}else alert("Failed to load file")}a(this).removeClass("filter_poodll_dragging")})}}});
\ No newline at end of file
diff --git a/amd/build/timer.min.js b/amd/build/timer.min.js
index ffe171b3..90661c11 100644
--- a/amd/build/timer.min.js
+++ b/amd/build/timer.min.js
@@ -1,2 +1 @@
-define ("filter_poodll/timer",["jquery","core/log"],function(a,b){"use strict";b.debug("Timer: initialising");return{increment:1,initseconds:0,seconds:0,finalseconds:0,intervalhandle:null,callback:null,enabled:!1,clone:function clone(){return a.extend(!0,{},this)},init:function init(a,b){this.initseconds=parseInt(a);this.seconds=parseInt(a);this.callback=b;this.enabled=!0},start:function start(){if(!this.enabled){return}var a=this;this.finalseconds=0;if(00?this.increment=-1:this.increment=1,this.intervalhandle=this.customSetInterval(function(){a.seconds=a.seconds+a.increment,a.finalseconds=a.finalseconds+1,a.callback()},1e3)}},customSetInterval:function(a,b){function c(){var g=Date.now(),h=g-d;d=g,e=b+e-h,f.id=setTimeout(c,e),a()}var d=Date.now(),e=b,f={};return f.id=setTimeout(c,b),f},disable:function(){this.enabled=!1},enable:function(){this.enabled=!0},fetch_display_time:function(a){a||(a=this.seconds);var b="00"+parseInt(a/3600);b=b.substr(b.length-2,2);var c="00"+parseInt(a/60);c=c.substr(c.length-2,2);var d="00"+parseInt(a%60);d=d.substr(d.length-2,2);var e=b+":"+c+":"+d;return e},stop:function(){clearTimeout(this.intervalhandle.id)},reset:function(){this.seconds=this.initseconds},pause:function(){this.increment=0},resume:function(){this.initseconds>0?this.increment=-1:this.increment=1}}});
\ No newline at end of file
diff --git a/amd/build/uploader.min.js b/amd/build/uploader.min.js
index e58a1dee..f07b85b7 100644
--- a/amd/build/uploader.min.js
+++ b/amd/build/uploader.min.js
@@ -1,2 +1 @@
-define ("filter_poodll/uploader",["jquery","core/log","filter_poodll/upskin_plain"],function(a,b,c){"use strict";b.debug("Universal Uploader: initialising");return{config:null,clone:function clone(){return a.extend(!0,{},this)},init:function init(a,b,d){this.config=b;if(d){this.upskin=d}else{this.upskin=c.clone();this.upskin.init(b,a,!1,!1)}this.upskin.initControls();this.registerEvents()},registerEvents:function registerEvents(){var a=this;this.config.hermes.on("fetch_upload_url",function(){a.fetchNewUploadDetails()})},fetchNewUploadDetails:function fetchNewUploadDetails(){var a=new XMLHttpRequest,c=this;a.onreadystatechange=function(){if(4===this.readyState){if(200==a.status){var d=a.responseText,e=JSON.parse(d);if(e){if(0");if(1>b){return!1}var c=a.indexOf(""),d=a.substring(b+"success".length,c);return d},fetchFileExtension:function fetchFileExtension(a){var b="";switch(a){case"image/jpeg":b="jpg";break;case"image/png":b="png";break;case"audio/wav":b="wav";break;case"audio/ogg":b="ogg";break;case"video/quicktime":b="mov";break;case"audio/mpeg3":b="mp3";break;case"audio/mp3":b="mp3";break;case"audio/webm":b="webm";break;case"audio/x-mpeg-3":b="mp3";break;case"audio/3gpp":b="3gpp";break;case"video/mpeg3":b="3gpp";break;case"video/mp4":b="mp4";break;case"video/webm":b="webm";break;case"video/ogg":b="ogg";break;}return b},pokeFilename:function pokeFilename(c,d){var e="";if("undefined"!=typeof d.config.updatecontrol&&""!==d.config.updatecontrol){e=a("[id=\""+d.config.updatecontrol+"\"]")}if(1>e.length){e=a("[id=\""+d.config.updatecontrol+"\"]",window.parent.document)}if(00){var g={};return g.id=d.config.id,g.type="error",g.code=f.returnCode,g.message=f.returnMessage,void d.config.hermes.postMessage(g)}d.config.allowedURL=f.allowedURL,d.config.posturl=f.postURL,d.config.filename=f.filename,d.config.s3filename=f.s3filename,d.config.s3root=f.s3root,d.config.cloudfilename=f.shortfilename,d.config.cloudroot=f.shortroot}else b.debug("error:"+f.message)}else b.debug("Not 200 response:"+c.status)};var e="wstoken="+this.config.wstoken+"&wsfunction="+a+"&moodlewsrestformat="+this.config.moodlewsrestformat+"&mediatype="+this.config.mediatype+"&parent="+this.config.parent+"&appid="+this.config.appid+"&owner="+this.config.owner+"®ion="+this.config.region+"&expiredays="+this.config.expiredays+"&transcode="+this.config.transcode+"&transcoder="+this.config.transcoder+"&transcribe="+this.config.transcribe+"&subtitle="+this.config.subtitle+"&transcribelanguage="+this.config.language+"&transcribevocab="+this.config.transcribevocab+"¬ificationurl="+this.config.notificationurl+"&sourcemimetype="+this.config.sourcemimetype,f=M.cfg.wwwroot+"/webservice/rest/server.php";c.open("POST",f,!0),c.setRequestHeader("Cache-Control","no-cache"),c.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),c.send(e)},uploadBlob:function(a,b){this.uploadFile(a,b)},extractFilename:function(a){var b="success",c=a.indexOf(b);if(c<1)return!1;var d=a.indexOf(" "),e=a.substring(c+b.length,d);return e},fetchFileExtension:function(a){var b="";switch(a){case"image/jpeg":b="jpg";break;case"image/png":b="png";break;case"audio/wav":b="wav";break;case"audio/ogg":b="ogg";break;case"video/quicktime":b="mov";break;case"audio/mpeg3":b="mp3";break;case"audio/mp3":b="mp3";break;case"audio/webm":b="webm";break;case"audio/x-mpeg-3":b="mp3";break;case"audio/3gpp":b="3gpp";break;case"video/mpeg3":b="3gpp";break;case"video/mp4":b="mp4";break;case"video/webm":b="webm";break;case"video/ogg":b="ogg"}return b},pokeFilename:function(c,d){var e="";return"undefined"!=typeof d.config.updatecontrol&&""!==d.config.updatecontrol&&(e=a('[id="'+d.config.updatecontrol+'"]')),e.length<1&&(e=a('[id="'+d.config.updatecontrol+'"]',window.parent.document)),e.length>0?(e.get(0).value=c,e.trigger("change"),!0):(b.debug("upload failed #2"),d.upskin.showMessage(M.util.get_string("recui_uploaderror","filter_poodll"),"recui_uploaderror"),!1)},alertRecorderSuccess:function(a){this.config.hasOwnProperty("onuploadsuccess")&&this.config.onuploadsuccess(a)},alertRecorderFailure:function(a){this.config.hasOwnProperty("onuploadfailure")&&this.config.onuploadfailure(a)},completeAfterProcessing:function(c,d,e){this.upskin.showMessage(M.util.get_string("recui_awaitingconversion","filter_poodll"),"recui_awaitingconversion"),c.config.iframeembed&&(d=c.config.s3root+c.config.s3filename);var f={};f.type="awaitingprocessing",f.mediaurl=d,f.mediafilename=c.config.s3filename,f.sourcefilename=c.config.sourcefilename,f.sourcemimetype=c.config.sourcemimetype,f.s3root=c.config.s3root,f.id=c.config.id,f.updatecontrol=c.config.updatecontrol,c.config.transcribe&&(f.transcripturl=d+".txt",f.transcriptfilename=c.config.s3filename+".txt"),c.config.hermes.postMessage(f);var g=this;a.ajax({url:c.config.s3root+c.config.s3filename,method:"HEAD",cache:!1,error:function(){b.debug("403 errors are normal here, till the file arrives back from conversion"),setTimeout(function(){g.completeAfterProcessing(c,d,e+500)},e)},success:function(a,b,f){switch(f.status){case 200:g.doUploadCompleteCallback(c,d);break;default:setTimeout(function(){g.completeAfterProcessing(c,d,e+500)},e)}}})},doUploadCompleteCallback:function(a,b){a.config.iframeembed&&(b=a.config.s3root+a.config.s3filename);var c=new Array;if(c[0]=a.config.widgetid,c[1]="filesubmitted",c[2]=b,c[3]=a.config.updatecontrol,c[4]=a.config.s3filename,this.upskin.showMessage(M.util.get_string("recui_uploadsuccess","filter_poodll"),"recui_uploadsuccess"),a.config.iframeembed){var d={};d.type="filesubmitted",d.mediaurl=a.config.s3root+a.config.s3filename,d.mediafilename=a.config.s3filename,d.sourcefilename=a.config.sourcefilename,d.sourcemimetype=a.config.sourcemimetype,d.s3root=a.config.s3root,d.id=a.config.id,d.updatecontrol=a.config.updatecontrol,a.config.transcribe&&(d.transcripturl=a.config.s3root+a.config.s3filename+".txt",d.transcriptfilename=a.config.s3filename+".txt"),a.config.hermes.postMessage(d)}else a.config.callbackjs&&""!=a.config.callbackjs?"function"==typeof a.config.callbackjs?a.config.callbackjs(c):this.executeFunctionByName(a.config.callbackjs,window,c):a.pokeFilename(b,a)},postProcessUpload:function(c,d){var e=c.currentTarget;if(4==e.readyState)if(d.upskin.deactivateProgressSession(),a(window).off("beforeunload",this.preventPrematureLeaving),200==e.status){var f=d.config.filename;if(f||(f=d.extractFilename(e.responseText)),!f)return b.debug("upload failed #1"),void b.debug(e);d.config.iframeembed?this.completeAfterProcessing(d,f,1e3):this.doUploadCompleteCallback(d,f),this.alertRecorderSuccess(d.config.widgetid)}else b.debug("upload failed #3"),b.debug(e),d.upskin.showMessage(M.util.get_string("recui_uploaderror","filter_poodll"),"recui_uploaderror"),this.alertRecorderFailure(d.config.widgetid)},preventPrematureLeaving:function(){return M.util.get_string("recui_waitwaitstilluploading","filter_poodll")},uploadFile:function(b,c){var d=new XMLHttpRequest,e=this.config,f=this,g=this.fetchFileExtension(c);"undefined"==typeof e.iframeembed&&(e.iframeembed=!1);var h=e.using_s3;if(this.upskin.initProgressSession(d),a(window).on("beforeunload",this.preventPrematureLeaving),this.upskin.showMessage(M.util.get_string("recui_uploading","filter_poodll"),"recui_uploading"),f.config.sourcemimetype=c,f.config.sourcefilename=f.config.s3filename,d.onreadystatechange=function(a){h&&4===this.readyState&&(e.iframeembed?f.update_filenames(f,g):f.postprocess_s3_upload(f)),f.postProcessUpload(a,f)},h)d.open("put",e.posturl,!0),d.setRequestHeader("Content-Type","application/octet-stream"),d.send(b);else if(b instanceof Blob){var i=new window.FileReader;i.readAsDataURL(b),i.onloadend=function(){var a=i.result,b="datatype=uploadfile";b+="¶mone="+encodeURIComponent(a),b+="¶mtwo="+g,b+="¶mthree="+e.mediatype,b+="&requestid="+e.widgetid,b+="&contextid="+e.p2,b+="&component="+e.p3,b+="&filearea="+e.p4,b+="&itemid="+e.p5,d.open("POST",e.posturl,!0),d.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),d.setRequestHeader("Cache-Control","no-cache"),d.send(b)}}else{var j="datatype=uploadfile";j+="¶mone="+encodeURIComponent(b),j+="¶mtwo="+g,j+="¶mthree="+e.mediatype,j+="&requestid="+e.widgetid,j+="&contextid="+e.p2,j+="&component="+e.p3,j+="&filearea="+e.p4,j+="&itemid="+e.p5,d.open("POST",e.posturl,!0),d.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),d.setRequestHeader("Cache-Control","no-cache"),d.send(j)}},update_filenames:function(a,b){var c=a.config;switch(c.mediatype){case"audio":a.config.sourcefilename=c.s3filename.replace(".mp3","."+b),c.transcode||(a.config.s3filename=a.config.sourcefilename,a.config.cloudfilename=a.config.s3filename);break;case"video":a.config.sourcefilename=c.s3filename.replace(".mp4","."+b),c.transcode||(a.config.s3filename=a.config.sourcefilename)}},postprocess_s3_upload:function(a){var b=a.config;const c=new FormData;c.append("datatype","handles3upload"),c.append("contextid",b.p2),c.append("component",b.p3),c.append("filearea",b.p4),c.append("itemid",b.p5),c.append("filename",b.filename),c.append("mediatype",b.mediatype),navigator.sendBeacon||(navigator.sendBeacon=function(a,b){window.fetch(a,{method:"POST",body:b,credentials:"include"})}),navigator.sendBeacon(M.cfg.wwwroot+"/filter/poodll/poodllfilelib.php",c)},executeFunctionByName:function(a,b,c){for(var d=a.split("."),e=d.pop(),f=0;f
";c+="
";a(this.element).append(c)},initProgressSession:function initProgressSession(b){var c=!1,d=a("#"+this.config.widgetid+"_progress");if(d.length){var e=d.get(0);c=e.firstChild;if(null===c){c=e.appendChild(document.createElement("p"))}c.className="";c.style.display="block";c.style.backgroundPosition="100% 0";b.upload.addEventListener("progress",function(a){var b=parseInt(100-100*(a.loaded/a.total));c.style.backgroundPosition=b+"% 0"})}},deactivateProgressSession:function deactivateProgressSession(){},showMessage:function showMessage(b){var c=a("#"+this.config.widgetid+"_messages");c.text(b)}}});
-//# sourceMappingURL=upskin_plain.min.js.map
+define(["jquery","core/log"],function(a,b){"use strict";return b.debug("upskin_plain: initialising"),{element:null,cvs:null,cvsctx:null,clone:function(){return a.extend(!0,{},this)},init:function(a,b,c,d){this.config=a,this.element=b,this.cvs=c,this.messagearea=d},initControls:function(){var b=this.config.media_skin_style,c='';c+='
',a(this.element).append(c)},initProgressSession:function(b){var c=!1,d=a("#"+this.config.widgetid+"_progress");if(d.length){var e=d.get(0);c=e.firstChild,null===c&&(c=e.appendChild(document.createElement("p"))),c.className="",c.style.display="block",c.style.backgroundPosition="100% 0",b.upload.addEventListener("progress",function(a){var b=parseInt(100-a.loaded/a.total*100);c.style.backgroundPosition=b+"% 0"})}},deactivateProgressSession:function(){},showMessage:function(b,c){var d=a("#"+this.config.widgetid+"_messages");d.text(b)}}});
\ No newline at end of file
diff --git a/amd/build/upskin_radial.min.js b/amd/build/upskin_radial.min.js
index 5a212cae..bc0b8f61 100644
--- a/amd/build/upskin_radial.min.js
+++ b/amd/build/upskin_radial.min.js
@@ -1,2 +1 @@
-define ("filter_poodll/upskin_radial",["jquery","core/log","filter_poodll/anim_progress_radial"],function(a,b,c){"use strict";b.debug("upskin_bar: initialising");return{element:null,cvs:null,percent:0,progressradial:null,messagearea:null,clone:function clone(){return a.extend(!0,{},this)},init:function init(a,b,d,e){this.config=a;this.element=b;this.cvs=d;this.progressradial=c.clone();this.messagearea=e},setDrawParam:function setDrawParam(a,b){this.progressradial.setDrawParam(a,b)},initControls:function initControls(){var a=this;this.progressradial.init(this.cvs,"#93c47d",!0);this.progressradial.fetchCurrent=function(){return a.percent}},initProgressSession:function initProgressSession(a){var b=this;b.percent=0;var c=M.util.get_string("recui_uploading","filter_poodll");a.upload.addEventListener("progress",function(a){if(a.lengthComputable){b.percent=a.loaded/a.total;b.showMessage(c+"("+Math.floor(100*b.percent)+"%)")}});this.progressradial.start()},deactivateProgressSession:function deactivateProgressSession(){this.progressradial.stop();b.debug("deactivating session")},showMessage:function showMessage(a,b){switch(b){case"recui_awaitingconversion":break;default:this.messagearea.html(a);}}}});
-//# sourceMappingURL=upskin_radial.min.js.map
+define(["jquery","core/log","filter_poodll/anim_progress_radial"],function(a,b,c){"use strict";return b.debug("upskin_bar: initialising"),{element:null,cvs:null,percent:0,progressradial:null,messagearea:null,clone:function(){return a.extend(!0,{},this)},init:function(a,b,d,e){this.config=a,this.element=b,this.cvs=d,this.progressradial=c.clone(),this.messagearea=e},setDrawParam:function(a,b){this.progressradial.setDrawParam(a,b)},initControls:function(){var a=this,b=!0;this.progressradial.init(this.cvs,"#93c47d",b),this.progressradial.fetchCurrent=function(){return a.percent}},initProgressSession:function(a){var b=this;b.percent=0;var c=M.util.get_string("recui_uploading","filter_poodll");a.upload.addEventListener("progress",function(a){a.lengthComputable&&(b.percent=a.loaded/a.total,b.showMessage(c+"("+Math.floor(100*b.percent)+"%)"))}),this.progressradial.start()},deactivateProgressSession:function(){this.progressradial.stop(),b.debug("deactivating session")},showMessage:function(a,b){switch(b){case"recui_awaitingconversion":break;default:this.messagearea.html(a)}}}});
\ No newline at end of file
diff --git a/amd/build/upskin_text.min.js b/amd/build/upskin_text.min.js
index 1aceb6bf..f09e30f4 100644
--- a/amd/build/upskin_text.min.js
+++ b/amd/build/upskin_text.min.js
@@ -1,2 +1 @@
-define ("filter_poodll/upskin_text",["jquery","core/log"],function(a,b){"use strict";b.debug("upskin_text: initialising");return{element:null,cvs:null,cvsctx:null,clone:function clone(){return a.extend(!0,{},this)},init:function init(a,b,c,d){this.config=a;this.element=b;this.cvs=c;this.messagearea=d},initControls:function initControls(){},initProgressSession:function initProgressSession(a){var b=this;b.percent=0;var c=M.util.get_string("recui_uploading","filter_poodll");a.upload.addEventListener("progress",function(a){if(a.lengthComputable){b.percent=a.loaded/a.total;b.showMessage(c+"("+Math.floor(100*b.percent)+"%)")}})},deactivateProgressSession:function deactivateProgressSession(){b.debug("deactivating session")},showMessage:function showMessage(a){this.messagearea.html(a)}}});
-//# sourceMappingURL=upskin_text.min.js.map
+define(["jquery","core/log"],function(a,b){"use strict";return b.debug("upskin_text: initialising"),{element:null,cvs:null,cvsctx:null,clone:function(){return a.extend(!0,{},this)},init:function(a,b,c,d){this.config=a,this.element=b,this.cvs=c,this.messagearea=d},initControls:function(){},initProgressSession:function(a){var b=this;b.percent=0;var c=M.util.get_string("recui_uploading","filter_poodll");a.upload.addEventListener("progress",function(a){a.lengthComputable&&(b.percent=a.loaded/a.total,b.showMessage(c+"("+Math.floor(100*b.percent)+"%)"))})},deactivateProgressSession:function(){b.debug("deactivating session")},showMessage:function(a,b){this.messagearea.html(a)}}});
\ No newline at end of file
diff --git a/amd/build/util_dragdrop.min.js b/amd/build/util_dragdrop.min.js
index 729aecf9..fe3132e0 100644
--- a/amd/build/util_dragdrop.min.js
+++ b/amd/build/util_dragdrop.min.js
@@ -1,2 +1 @@
-define ("filter_poodll/util_dragdrop",["jquery","jqueryui","core/log"],function(a,b,c){"use strict";c.debug("Poodll util drag drop: initialising");return{theelement:!1,uploadfunction:!1,uploader:!1,started:!1,filebutton:!1,init:function init(a,b,d){this.theelement=a;this.uploadfunction=b;this.uploader=d.uploader;this.filebutton=d.controlbar.filebutton;if(this.supports_dragdrop(a)){c.debug("registering drag drop");this.register_dragdrop();this.do_visuals()}else{c.debug("drag drop not supported")}},clone:function clone(){return a.extend(!0,{},this)},supports_dragdrop:function supports_dragdrop(a){return"draggable"in a||"ondragstart"in a&&"ondrop"in a},do_visuals:function do_visuals(){this.theelement.addClass("poodll-can-do-drag-drop")},turnoff_dragdrop:function turnoff_dragdrop(){if(!this.theelement){return}this.theelement.removeClass("poodll-can-do-drag-drop");this.theelement.removeClass("is-poodll-drag-over");this.theelement.off("drag dragstart dragend dragover dragenter dragleave drop");this.theelement.on("drag dragstart dragend dragover dragenter dragleave drop",function(a){a.preventDefault();a.stopPropagation()})},register_dragdrop:function register_dragdrop(){var a=this;this.theelement.on("drag dragstart dragend dragover dragenter dragleave drop",function(b){b.preventDefault();b.stopPropagation();if(a.started){}}).on("dragover dragenter",function(){a.theelement.addClass("is-poodll-drag-over")}).on("dragleave dragend drop",function(){a.theelement.removeClass("is-poodll-drag-over")}).on("drop",function(b){if(a.started){return}var c=b.originalEvent.dataTransfer.files;a.uploadfunction(c,a.uploader);a.turnoff_dragdrop();a.filebutton.off("change");a.filebutton.attr("disabled",!0);a.started=!0})}}});
-//# sourceMappingURL=util_dragdrop.min.js.map
+define(["jquery","jqueryui","core/log"],function(a,b,c){"use strict";return c.debug("Poodll util drag drop: initialising"),{theelement:!1,uploadfunction:!1,uploader:!1,started:!1,filebutton:!1,init:function(a,b,d){this.theelement=a,this.uploadfunction=b,this.uploader=d.uploader,this.filebutton=d.controlbar.filebutton,this.supports_dragdrop(a)?(c.debug("registering drag drop"),this.register_dragdrop(),this.do_visuals()):c.debug("drag drop not supported")},clone:function(){return a.extend(!0,{},this)},supports_dragdrop:function(a){return"draggable"in a||"ondragstart"in a&&"ondrop"in a},do_visuals:function(){this.theelement.addClass("poodll-can-do-drag-drop")},turnoff_dragdrop:function(){this.theelement&&(this.theelement.removeClass("poodll-can-do-drag-drop"),this.theelement.removeClass("is-poodll-drag-over"),this.theelement.off("drag dragstart dragend dragover dragenter dragleave drop"),this.theelement.on("drag dragstart dragend dragover dragenter dragleave drop",function(a){a.preventDefault(),a.stopPropagation()}))},register_dragdrop:function(){var a=this;this.theelement.on("drag dragstart dragend dragover dragenter dragleave drop",function(b){b.preventDefault(),b.stopPropagation(),a.started}).on("dragover dragenter",function(){a.theelement.addClass("is-poodll-drag-over")}).on("dragleave dragend drop",function(){a.theelement.removeClass("is-poodll-drag-over")}).on("drop",function(b){if(!a.started){var c=b.originalEvent.dataTransfer.files;a.uploadfunction(c,a.uploader),a.turnoff_dragdrop(),a.filebutton.off("change"),a.filebutton.attr("disabled",!0),a.started=!0}})}}});
\ No newline at end of file
diff --git a/amd/build/utils_amd.min.js b/amd/build/utils_amd.min.js
index bc24a01d..a8cd1905 100644
--- a/amd/build/utils_amd.min.js
+++ b/amd/build/utils_amd.min.js
@@ -1,2 +1 @@
-define ("filter_poodll/utils_amd",["jquery","core/log"],function(a,b){"use strict";b.debug("Filter PoodLL: utils initialising");return{timeouthandles:[],WhiteboardUploadHandler:function WhiteboardUploadHandler(b,c,d,e){var f=a("#"+b+"_btn_upload_whiteboard")[0];f.disabled=!0;clearTimeout(this.timeouthandles[b]);var g=this.getCvs(b,c,d);this.pokeVectorData(b,c,d);e.uploadFile(g.toDataURL(),"image")},getCvs:function getCvs(a,b){if(0==a.indexOf("drawingboard_")){var c=b.canvas}else{var c=b.canvasForExport()}return c},escapeColon:function escapeColon(a){return a.replace(/:/,"\\:")},pokeVectorData:function pokeVectorData(c,d,e){var f="";if(0==c.indexOf("drawingboard_")){f=JSON.stringify(d.history,null,2)}else{f=JSON.stringify(d.getSnapshot())}if("undefined"!=typeof e.vectorcontrol&&""!==e.vectorcontrol){a("#"+this.escapeColon(e.vectorcontrol)).val(f);b.debug("Vectorcontrol:"+e.vectorcontrol)}},_concatenateWavBlobs:function _concatenateWavBlobs(a,b){for(var c=[],d=0,e=0,f=a.length,g=0;g-1},is_chrome:function(){var a=window.chrome,b=window.navigator,c=b.vendor,d=b.userAgent.indexOf("OPR")>-1,e=b.userAgent.indexOf("Edge")>-1,f=b.userAgent.match("CriOS");return!!f||null!==a&&"undefined"!=typeof a&&"Google Inc."===c&&d===!1&&e===!1},is_safari:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)},is_ios:function(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream},is_opera:function(){return"undefined"!=typeof opera&&navigator.userAgent&&navigator.userAgent.indexOf("OPR/")!==-1},is_android:function(){var a=window.navigator.userAgent,b=a.indexOf("android")>-1||a.indexOf("Android")>-1;return b},is_ie:function(){var a=!1,b=window.navigator.userAgent,c=b.indexOf("MSIE "),d=b.indexOf("Trident/"),e=b.indexOf("Edge/");return(c>-1||d>-1||e>-1)&&(a=!0),a},parseQueryString:function(a){var b={};return a.replace(new RegExp("([^?=&]+)(=([^&]*))?","g"),function(a,c,d,e){b[c]=e}),b}}});
\ No newline at end of file
diff --git a/amd/build/webcam.min.js b/amd/build/webcam.min.js
index d6874ec4..d46020b5 100644
--- a/amd/build/webcam.min.js
+++ b/amd/build/webcam.min.js
@@ -1,2 +1 @@
-function _typeof(a){if("function"==typeof Symbol&&"symbol"==typeof Symbol.iterator){_typeof=function(a){return typeof a}}else{_typeof=function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a}}return _typeof(a)}(function(b){var e;function c(){var a=Error.apply(this,arguments);a.name=this.name="FlashError";this.stack=a.stack;this.message=a.message}function d(){var a=Error.apply(this,arguments);a.name=this.name="WebcamError";this.stack=a.stack;this.message=a.message}IntermediateInheritor=function IntermediateInheritor(){};IntermediateInheritor.prototype=Error.prototype;c.prototype=new IntermediateInheritor;d.prototype=new IntermediateInheritor;var f={version:"1.0.15",protocol:location.protocol.match(/https/i)?"https":"http",loaded:!1,live:!1,userMedia:!0,params:{width:0,height:0,dest_width:0,dest_height:0,image_format:"jpeg",jpeg_quality:90,enable_flash:!0,force_flash:!1,flip_horiz:!1,fps:30,upload_name:"webcam",constraints:null,swfURL:"",flashNotDetectedText:"ERROR: No Adobe Flash Player detected. Webcam.js relies on Flash for browsers that do not support getUserMedia (like yours).",noInterfaceFoundText:"No supported webcam interface found.",unfreeze_snap:!0},errors:{FlashError:c,WebcamError:d},hooks:{},init:function init(){var a=this;this.mediaDevices=navigator.mediaDevices&&navigator.mediaDevices.getUserMedia?navigator.mediaDevices:navigator.mozGetUserMedia||navigator.webkitGetUserMedia?{getUserMedia:function getUserMedia(b){return new Promise(function(c,d){(navigator.mozGetUserMedia||navigator.webkitGetUserMedia).call(navigator,b,c,d)})}}:null;b.URL=b.URL||b.webkitURL||b.mozURL||b.msURL;this.userMedia=this.userMedia&&!!this.mediaDevices&&!!b.URL;if(navigator.userAgent.match(/Firefox\D+(\d+)/)){if(21>parseInt(RegExp.$1,10))this.userMedia=null}if(this.userMedia){b.addEventListener("beforeunload",function(){a.reset()})}},attach:function attach(g){if("string"==typeof g){g=document.getElementById(g)||document.querySelector(g)}if(!g){return this.dispatch("error",new d("Could not locate DOM element to attach to."))}this.container=g;g.innerHTML="";var j=document.createElement("div");g.appendChild(j);this.peg=j;if(!this.params.width)this.params.width=g.offsetWidth;if(!this.params.height)this.params.height=g.offsetHeight;if(!this.params.width||!this.params.height){return this.dispatch("error",new d("No width and/or height for webcam. Please call set() first, or attach to a visible element."))}if(!this.params.dest_width)this.params.dest_width=this.params.width;if(!this.params.dest_height)this.params.dest_height=this.params.height;this.userMedia=e===void 0?this.userMedia:e;if(this.params.force_flash){e=this.userMedia;this.userMedia=null}if("number"!=typeof this.params.fps)this.params.fps=30;var i=this.params.width/this.params.dest_width,k=this.params.height/this.params.dest_height;if(this.userMedia){var o=document.createElement("video");o.setAttribute("autoplay","autoplay");o.style.width=""+this.params.dest_width+"px";o.style.height=""+this.params.dest_height+"px";if(1!=i||1!=k){g.style.overflow="hidden";o.style.webkitTransformOrigin="0px 0px";o.style.mozTransformOrigin="0px 0px";o.style.msTransformOrigin="0px 0px";o.style.oTransformOrigin="0px 0px";o.style.transformOrigin="0px 0px";o.style.webkitTransform="scaleX("+i+") scaleY("+k+")";o.style.mozTransform="scaleX("+i+") scaleY("+k+")";o.style.msTransform="scaleX("+i+") scaleY("+k+")";o.style.oTransform="scaleX("+i+") scaleY("+k+")";o.style.transform="scaleX("+i+") scaleY("+k+")"}g.appendChild(o);this.video=o;var n=this;this.mediaDevices.getUserMedia({audio:!1,video:this.params.constraints||{mandatory:{minWidth:this.params.dest_width,minHeight:this.params.dest_height}}}).then(function(a){o.onloadedmetadata=function(){n.stream=a;n.loaded=!0;n.live=!0;n.dispatch("load");n.dispatch("live");n.flip()};o.srcObject=a||a}).catch(function(a){if(n.params.enable_flash&&n.detectFlash()){setTimeout(function(){n.params.force_flash=1;n.attach(g)},1)}else{n.dispatch("error",a)}})}else if(this.params.enable_flash&&this.detectFlash()){b.Webcam=f;var h=document.createElement("div");h.innerHTML=this.getSWFHTML();g.appendChild(h)}else{this.dispatch("error",new d(this.params.noInterfaceFoundText))}if(this.params.crop_width&&this.params.crop_height){var l=Math.floor(this.params.crop_width*i),c=Math.floor(this.params.crop_height*k);g.style.width=""+l+"px";g.style.height=""+c+"px";g.style.overflow="hidden";g.scrollLeft=Math.floor(this.params.width/2-l/2);g.scrollTop=Math.floor(this.params.height/2-c/2)}else{g.style.width=""+this.params.width+"px";g.style.height=""+this.params.height+"px"}},reset:function reset(){if(this.preview_active)this.unfreeze();this.unflip();if(this.userMedia){if(this.stream){if(this.stream.getVideoTracks){var a=this.stream.getVideoTracks();if(a&&a[0]&&a[0].stop)a[0].stop()}else if(this.stream.stop){this.stream.stop()}}delete this.stream;delete this.video}if(!0!==this.userMedia){this.getMovie()._releaseCamera()}if(this.container){this.container.innerHTML="";delete this.container}this.loaded=!1;this.live=!1},set:function set(){if(1==arguments.length){for(var a in arguments[0]){this.params[a]=arguments[0][a]}}else{this.params[arguments[0]]=arguments[1]}},on:function on(a,b){a=a.replace(/^on/i,"").toLowerCase();if(!this.hooks[a])this.hooks[a]=[];this.hooks[a].push(b)},off:function off(b,c){b=b.replace(/^on/i,"").toLowerCase();if(this.hooks[b]){if(c){var d=this.hooks[b].indexOf(c);if(-1ERROR: the Webcam.js Flash fallback does not work from local disk. Please run it from a web server."}if(!this.detectFlash()){this.dispatch("error",new c("Adobe Flash Player not found. Please install from get.adobe.com/flashplayer and try again."));return""+this.params.flashNotDetectedText+" "}if(!d){for(var e="",f=document.getElementsByTagName("script"),g=0,j=f.length,k;g ";return a},getMovie:function getMovie(){if(!this.loaded)return this.dispatch("error",new c("Flash Movie is not loaded yet"));var a=document.getElementById("webcam_movie_obj");if(!a||!a._snap)a=document.getElementById("webcam_movie_embed");if(!a)this.dispatch("error",new c("Cannot locate Flash movie in DOM"));return a},freeze:function freeze(){var b=this,c=this.params;if(this.preview_active)this.unfreeze();var d=this.params.width/this.params.dest_width,a=this.params.height/this.params.dest_height;this.unflip();var e=c.crop_width||c.dest_width,f=c.crop_height||c.dest_height,g=document.createElement("canvas");g.width=e;g.height=f;var h=g.getContext("2d");this.preview_canvas=g;this.preview_context=h;if(1!=d||1!=a){g.style.webkitTransformOrigin="0px 0px";g.style.mozTransformOrigin="0px 0px";g.style.msTransformOrigin="0px 0px";g.style.oTransformOrigin="0px 0px";g.style.transformOrigin="0px 0px";g.style.webkitTransform="scaleX("+d+") scaleY("+a+")";g.style.mozTransform="scaleX("+d+") scaleY("+a+")";g.style.msTransform="scaleX("+d+") scaleY("+a+")";g.style.oTransform="scaleX("+d+") scaleY("+a+")";g.style.transform="scaleX("+d+") scaleY("+a+")"}this.snap(function(){g.style.position="relative";g.style.left=""+b.container.scrollLeft+"px";g.style.top=""+b.container.scrollTop+"px";b.container.insertBefore(g,b.peg);b.container.style.overflow="hidden";b.preview_active=!0},g)},unfreeze:function unfreeze(){if(this.preview_active){this.container.removeChild(this.preview_canvas);delete this.preview_context;delete this.preview_canvas;this.preview_active=!1;this.flip()}},flip:function flip(){if(this.params.flip_horiz){var a=this.container.style;a.webkitTransform="scaleX(-1)";a.mozTransform="scaleX(-1)";a.msTransform="scaleX(-1)";a.oTransform="scaleX(-1)";a.transform="scaleX(-1)";a.filter="FlipH";a.msFilter="FlipH"}},unflip:function unflip(){if(this.params.flip_horiz){var a=this.container.style;a.webkitTransform="scaleX(1)";a.mozTransform="scaleX(1)";a.msTransform="scaleX(1)";a.oTransform="scaleX(1)";a.transform="scaleX(1)";a.filter="";a.msFilter=""}},savePreview:function savePreview(b,c){var d=this.params,a=this.preview_canvas,e=this.preview_context;if(c){var f=c.getContext("2d");f.drawImage(a,0,0)}b(c?null:a.toDataURL("image/"+d.image_format,d.jpeg_quality/100),a,e);if(this.params.unfreeze_snap)this.unfreeze()},snap:function snap(b,c){var e=this,f=this.params;if(!this.loaded)return this.dispatch("error",new d("Webcam is not loaded yet"));if(!b)return this.dispatch("error",new d("Please provide a callback function or canvas to snap()"));if(this.preview_active){this.savePreview(b,c);return null}var g=document.createElement("canvas");g.width=this.params.dest_width;g.height=this.params.dest_height;var i=g.getContext("2d");if(this.params.flip_horiz){i.translate(f.dest_width,0);i.scale(-1,1)}var a=function(){if(this.src&&this.width&&this.height){i.drawImage(this,0,0,f.dest_width,f.dest_height)}if(f.crop_width&&f.crop_height){var d=document.createElement("canvas");d.width=f.crop_width;d.height=f.crop_height;var a=d.getContext("2d");a.drawImage(g,Math.floor(f.dest_width/2-f.crop_width/2),Math.floor(f.dest_height/2-f.crop_height/2),f.crop_width,f.crop_height,0,0,f.crop_width,f.crop_height);i=a;g=d}if(c){var e=c.getContext("2d");e.drawImage(g,0,0)}b(c?null:g.toDataURL("image/"+f.image_format,f.jpeg_quality/100),g,i)};if(this.userMedia){i.drawImage(this.video,0,0,this.params.dest_width,this.params.dest_height);a()}else{var j=this.getMovie()._snap(),h=new Image;h.onload=a;h.src="data:image/"+this.params.image_format+";base64,"+j}return null},configure:function configure(a){if(!a)a="camera";this.getMovie()._configure(a)},flashNotify:function flashNotify(a,b){switch(a){case"flashLoadComplete":this.loaded=!0;this.dispatch("load");break;case"cameraLive":this.live=!0;this.dispatch("live");break;case"error":this.dispatch("error",new c(b));break;default:break;}},b64ToUint6:function b64ToUint6(a){return 64a?a-65:96 a?a-71:47 a?a+4:43===a?62:47===a?63:0},base64DecToArr:function base64DecToArr(b,d){for(var e=b.replace(/[^A-Za-z0-9\+\/]/g,""),a=e.length,f=d?Math.ceil((3*a+1>>2)/d)*d:3*a+1>>2,g=new Uint8Array(f),i,j,k=0,m=0,p=0;p i&&m>>(24&16>>>i)}k=0}}return g},upload:function upload(b,c,d){var a=this.params.upload_name||"webcam",e="";if(b.match(/^data\:image\/(\w+)/))e=RegExp.$1;else throw"Cannot locate image format in Data URI";var g=b.replace(/^data\:image\/\w+\;base64\,/,""),j=new XMLHttpRequest;j.open("POST",c,!0);if(j.upload&&j.upload.addEventListener){j.upload.addEventListener("progress",function(a){if(a.lengthComputable){var b=a.loaded/a.total;f.dispatch("uploadProgress",b,a)}},!1)}var k=this;j.onload=function(){if(d)d.apply(k,[j.status,j.responseText,j.statusText]);f.dispatch("uploadComplete",j.status,j.responseText,j.statusText)};var m=new Blob([this.base64DecToArr(g)],{type:"image/"+e}),h=new FormData;h.append(a,m,a+"."+e.replace(/e/,""));j.send(h)}};f.init();if("function"==typeof define&&define.amd){define ("filter_poodll/webcam",function(){return f})}else if("object"===("undefined"==typeof module?"undefined":_typeof(module))&&module.exports){module.exports=f}else{b.Webcam=f}})(window);
-//# sourceMappingURL=webcam.min.js.map
+!function(a){function b(){var a=Error.apply(this,arguments);a.name=this.name="FlashError",this.stack=a.stack,this.message=a.message}function c(){var a=Error.apply(this,arguments);a.name=this.name="WebcamError",this.stack=a.stack,this.message=a.message}var d;IntermediateInheritor=function(){},IntermediateInheritor.prototype=Error.prototype,b.prototype=new IntermediateInheritor,c.prototype=new IntermediateInheritor;var e={version:"1.0.15",protocol:location.protocol.match(/https/i)?"https":"http",loaded:!1,live:!1,userMedia:!0,params:{width:0,height:0,dest_width:0,dest_height:0,image_format:"jpeg",jpeg_quality:90,enable_flash:!0,force_flash:!1,flip_horiz:!1,fps:30,upload_name:"webcam",constraints:null,swfURL:"",flashNotDetectedText:"ERROR: No Adobe Flash Player detected. Webcam.js relies on Flash for browsers that do not support getUserMedia (like yours).",noInterfaceFoundText:"No supported webcam interface found.",unfreeze_snap:!0},errors:{FlashError:b,WebcamError:c},hooks:{},init:function(){var b=this;this.mediaDevices=navigator.mediaDevices&&navigator.mediaDevices.getUserMedia?navigator.mediaDevices:navigator.mozGetUserMedia||navigator.webkitGetUserMedia?{getUserMedia:function(a){return new Promise(function(b,c){(navigator.mozGetUserMedia||navigator.webkitGetUserMedia).call(navigator,a,b,c)})}}:null,a.URL=a.URL||a.webkitURL||a.mozURL||a.msURL,this.userMedia=this.userMedia&&!!this.mediaDevices&&!!a.URL,navigator.userAgent.match(/Firefox\D+(\d+)/)&&parseInt(RegExp.$1,10)<21&&(this.userMedia=null),this.userMedia&&a.addEventListener("beforeunload",function(a){b.reset()})},attach:function(b){if("string"==typeof b&&(b=document.getElementById(b)||document.querySelector(b)),!b)return this.dispatch("error",new c("Could not locate DOM element to attach to."));this.container=b,b.innerHTML="";var f=document.createElement("div");if(b.appendChild(f),this.peg=f,this.params.width||(this.params.width=b.offsetWidth),this.params.height||(this.params.height=b.offsetHeight),!this.params.width||!this.params.height)return this.dispatch("error",new c("No width and/or height for webcam. Please call set() first, or attach to a visible element."));this.params.dest_width||(this.params.dest_width=this.params.width),this.params.dest_height||(this.params.dest_height=this.params.height),this.userMedia=void 0===d?this.userMedia:d,this.params.force_flash&&(d=this.userMedia,this.userMedia=null),"number"!=typeof this.params.fps&&(this.params.fps=30);var g=this.params.width/this.params.dest_width,h=this.params.height/this.params.dest_height;if(this.userMedia){var i=document.createElement("video");i.setAttribute("autoplay","autoplay"),i.style.width=""+this.params.dest_width+"px",i.style.height=""+this.params.dest_height+"px",1==g&&1==h||(b.style.overflow="hidden",i.style.webkitTransformOrigin="0px 0px",i.style.mozTransformOrigin="0px 0px",i.style.msTransformOrigin="0px 0px",i.style.oTransformOrigin="0px 0px",i.style.transformOrigin="0px 0px",i.style.webkitTransform="scaleX("+g+") scaleY("+h+")",i.style.mozTransform="scaleX("+g+") scaleY("+h+")",i.style.msTransform="scaleX("+g+") scaleY("+h+")",i.style.oTransform="scaleX("+g+") scaleY("+h+")",i.style.transform="scaleX("+g+") scaleY("+h+")"),b.appendChild(i),this.video=i;var j=this;this.mediaDevices.getUserMedia({audio:!1,video:this.params.constraints||{mandatory:{minWidth:this.params.dest_width,minHeight:this.params.dest_height}}}).then(function(a){i.onloadedmetadata=function(b){j.stream=a,j.loaded=!0,j.live=!0,j.dispatch("load"),j.dispatch("live"),j.flip()},i.srcObject=a||a})["catch"](function(a){j.params.enable_flash&&j.detectFlash()?setTimeout(function(){j.params.force_flash=1,j.attach(b)},1):j.dispatch("error",a)})}else if(this.params.enable_flash&&this.detectFlash()){a.Webcam=e;var k=document.createElement("div");k.innerHTML=this.getSWFHTML(),b.appendChild(k)}else this.dispatch("error",new c(this.params.noInterfaceFoundText));if(this.params.crop_width&&this.params.crop_height){var l=Math.floor(this.params.crop_width*g),m=Math.floor(this.params.crop_height*h);b.style.width=""+l+"px",b.style.height=""+m+"px",b.style.overflow="hidden",b.scrollLeft=Math.floor(this.params.width/2-l/2),b.scrollTop=Math.floor(this.params.height/2-m/2)}else b.style.width=""+this.params.width+"px",b.style.height=""+this.params.height+"px"},reset:function(){if(this.preview_active&&this.unfreeze(),this.unflip(),this.userMedia){if(this.stream)if(this.stream.getVideoTracks){var a=this.stream.getVideoTracks();a&&a[0]&&a[0].stop&&a[0].stop()}else this.stream.stop&&this.stream.stop();delete this.stream,delete this.video}this.userMedia!==!0&&this.getMovie()._releaseCamera(),this.container&&(this.container.innerHTML="",delete this.container),this.loaded=!1,this.live=!1},set:function(){if(1==arguments.length)for(var a in arguments[0])this.params[a]=arguments[0][a];else this.params[arguments[0]]=arguments[1]},on:function(a,b){a=a.replace(/^on/i,"").toLowerCase(),this.hooks[a]||(this.hooks[a]=[]),this.hooks[a].push(b)},off:function(a,b){if(a=a.replace(/^on/i,"").toLowerCase(),this.hooks[a])if(b){var c=this.hooks[a].indexOf(b);c>-1&&this.hooks[a].splice(c,1)}else this.hooks[a]=[]},dispatch:function(){var d=arguments[0].replace(/^on/i,"").toLowerCase(),e=Array.prototype.slice.call(arguments,1);if(this.hooks[d]&&this.hooks[d].length){for(var f=0,g=this.hooks[d].length;fERROR: the Webcam.js Flash fallback does not work from local disk. Please run it from a web server.';if(!this.detectFlash())return this.dispatch("error",new b("Adobe Flash Player not found. Please install from get.adobe.com/flashplayer and try again.")),''+this.params.flashNotDetectedText+" ";if(!d){for(var e="",f=document.getElementsByTagName("script"),g=0,h=f.length;g '},getMovie:function(){if(!this.loaded)return this.dispatch("error",new b("Flash Movie is not loaded yet"));var a=document.getElementById("webcam_movie_obj");return a&&a._snap||(a=document.getElementById("webcam_movie_embed")),a||this.dispatch("error",new b("Cannot locate Flash movie in DOM")),a},freeze:function(){var a=this,b=this.params;this.preview_active&&this.unfreeze();var c=this.params.width/this.params.dest_width,d=this.params.height/this.params.dest_height;this.unflip();var e=b.crop_width||b.dest_width,f=b.crop_height||b.dest_height,g=document.createElement("canvas");g.width=e,g.height=f;var h=g.getContext("2d");this.preview_canvas=g,this.preview_context=h,1==c&&1==d||(g.style.webkitTransformOrigin="0px 0px",g.style.mozTransformOrigin="0px 0px",g.style.msTransformOrigin="0px 0px",g.style.oTransformOrigin="0px 0px",g.style.transformOrigin="0px 0px",g.style.webkitTransform="scaleX("+c+") scaleY("+d+")",g.style.mozTransform="scaleX("+c+") scaleY("+d+")",g.style.msTransform="scaleX("+c+") scaleY("+d+")",g.style.oTransform="scaleX("+c+") scaleY("+d+")",g.style.transform="scaleX("+c+") scaleY("+d+")"),this.snap(function(){g.style.position="relative",g.style.left=""+a.container.scrollLeft+"px",g.style.top=""+a.container.scrollTop+"px",a.container.insertBefore(g,a.peg),a.container.style.overflow="hidden",a.preview_active=!0},g)},unfreeze:function(){this.preview_active&&(this.container.removeChild(this.preview_canvas),delete this.preview_context,delete this.preview_canvas,this.preview_active=!1,this.flip())},flip:function(){if(this.params.flip_horiz){var a=this.container.style;a.webkitTransform="scaleX(-1)",a.mozTransform="scaleX(-1)",a.msTransform="scaleX(-1)",a.oTransform="scaleX(-1)",a.transform="scaleX(-1)",a.filter="FlipH",a.msFilter="FlipH"}},unflip:function(){if(this.params.flip_horiz){var a=this.container.style;a.webkitTransform="scaleX(1)",a.mozTransform="scaleX(1)",a.msTransform="scaleX(1)",a.oTransform="scaleX(1)",a.transform="scaleX(1)",a.filter="",a.msFilter=""}},savePreview:function(a,b){var c=this.params,d=this.preview_canvas,e=this.preview_context;if(b){var f=b.getContext("2d");f.drawImage(d,0,0)}a(b?null:d.toDataURL("image/"+c.image_format,c.jpeg_quality/100),d,e),this.params.unfreeze_snap&&this.unfreeze()},snap:function(a,b){var d=this.params;if(!this.loaded)return this.dispatch("error",new c("Webcam is not loaded yet"));if(!a)return this.dispatch("error",new c("Please provide a callback function or canvas to snap()"));if(this.preview_active)return this.savePreview(a,b),null;var e=document.createElement("canvas");e.width=this.params.dest_width,e.height=this.params.dest_height;var f=e.getContext("2d");this.params.flip_horiz&&(f.translate(d.dest_width,0),f.scale(-1,1));var g=function(){if(this.src&&this.width&&this.height&&f.drawImage(this,0,0,d.dest_width,d.dest_height),d.crop_width&&d.crop_height){var c=document.createElement("canvas");c.width=d.crop_width,c.height=d.crop_height;var g=c.getContext("2d");g.drawImage(e,Math.floor(d.dest_width/2-d.crop_width/2),Math.floor(d.dest_height/2-d.crop_height/2),d.crop_width,d.crop_height,0,0,d.crop_width,d.crop_height),f=g,e=c}if(b){var h=b.getContext("2d");h.drawImage(e,0,0)}a(b?null:e.toDataURL("image/"+d.image_format,d.jpeg_quality/100),e,f)};if(this.userMedia)f.drawImage(this.video,0,0,this.params.dest_width,this.params.dest_height),g();else{var h=this.getMovie()._snap(),i=new Image;i.onload=g,i.src="data:image/"+this.params.image_format+";base64,"+h}return null},configure:function(a){a||(a="camera"),this.getMovie()._configure(a)},flashNotify:function(a,c){switch(a){case"flashLoadComplete":this.loaded=!0,this.dispatch("load");break;case"cameraLive":this.live=!0,this.dispatch("live");break;case"error":this.dispatch("error",new b(c))}},b64ToUint6:function(a){return a>64&&a<91?a-65:a>96&&a<123?a-71:a>47&&a<58?a+4:43===a?62:47===a?63:0},base64DecToArr:function(a,b){for(var c,d,e=a.replace(/[^A-Za-z0-9\+\/]/g,""),f=e.length,g=b?Math.ceil((3*f+1>>2)/b)*b:3*f+1>>2,h=new Uint8Array(g),i=0,j=0,k=0;k>>(16>>>c&24)&255;i=0}return h},upload:function(a,b,c){var d=this.params.upload_name||"webcam",f="";if(!a.match(/^data\:image\/(\w+)/))throw"Cannot locate image format in Data URI";f=RegExp.$1;var g=a.replace(/^data\:image\/\w+\;base64\,/,""),h=new XMLHttpRequest;h.open("POST",b,!0),h.upload&&h.upload.addEventListener&&h.upload.addEventListener("progress",function(a){if(a.lengthComputable){var b=a.loaded/a.total;e.dispatch("uploadProgress",b,a)}},!1);var i=this;h.onload=function(){c&&c.apply(i,[h.status,h.responseText,h.statusText]),e.dispatch("uploadComplete",h.status,h.responseText,h.statusText)};var j=new Blob([this.base64DecToArr(g)],{type:"image/"+f}),k=new FormData;k.append(d,j,d+"."+f.replace(/e/,"")),h.send(k)}};e.init(),"function"==typeof define&&define.amd?define(function(){return e}):"object"==typeof module&&module.exports?module.exports=e:a.Webcam=e}(window);
\ No newline at end of file
diff --git a/amd/src/uploader.js b/amd/src/uploader.js
index b6ec227e..dddd1055 100644
--- a/amd/src/uploader.js
+++ b/amd/src/uploader.js
@@ -28,9 +28,12 @@ define(['jquery', 'core/log', 'filter_poodll/upskin_plain'], function ($, log, u
registerEvents: function () {
var that = this;
- this.config.hermes.on('fetch_upload_url',function(e){
- that.fetchNewUploadDetails();
- });
+ //whteboard does not have a hermes
+ if(this.config.hermes) {
+ this.config.hermes.on('fetch_upload_url', function (e) {
+ that.fetchNewUploadDetails();
+ });
+ }
},
fetchNewUploadDetails: function () {
diff --git a/presets/glossaryttsreadercloud.txt b/presets/glossaryttsreadercloud.txt
new file mode 100644
index 00000000..069a3610
--- /dev/null
+++ b/presets/glossaryttsreadercloud.txt
@@ -0,0 +1 @@
+{"name":"Glossary TTS Reader (Cloud)","key":"glossaryttsreadercloud","version":"1.0.1","instructions":"This is a small html5 audio player that will read aloud the enclosed text block. It works anywhere but mainly in the glossary popup (Uses Cloud Poodll) ","showatto":"1","showplayers":"0","requirecss":"","requirejs":"","shim":"","defaults":"play=\"fa-volume-up\",background=\"red\",color=\"#fff\",width=\"40\",height=\"40\",defaultvoice=\"Kendra|Justin|Amy|Emma|Russell\"","amd":"1","body":" 0 indicates an error\n if (payloadobject.returnCode > 0) {\n console.log(payloadobject.returnMessage);\n return false;\n //if all good, then lets do the embed\n } else if (payloadobject.returnCode === 0){\n var pollyurl = payloadobject.returnMessage;\n callback(pollyurl);\n } else {\n console.log('Polly Signed URL Request failed:');\n console.log(payloadobject);\n }\n } else {\n console.log('Polly Signed URL Request something bad happened');\n }\n } else {\n console.log('Polly Signed URL Request Not 200 response:' + xhr.status);\n }\n }\n };\n\n //make our request\n var xhrparams = 'wstoken=' + '@@CLOUDPOODLLTOKEN@@'\n + '&wsfunction=' + functionname\n + '&moodlewsrestformat=' + 'json'\n + '&text=' + encodeURIComponent(speaktext)\n + '&texttype=text'\n + '&voice=' + voice\n + '&appid=' + 'filter_poodll'\n + '&owner=poodll'\n + '®ion=useast1';\n\n var serverurl = 'https://cloud.poodll.com' + '/webservice/rest/server.php';\n xhr.open('POST', serverurl, true);\n xhr.setRequestHeader('Cache-Control', 'no-cache');\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n xhr.send(xhrparams);\n };\n\n//fetch DOM elements that we care about\nvar thebutton =document.getElementById('@@AUTOID@@');\n var theaudio =document.getElementById('@@AUTOID@@_player');\n var theinnerdiv =document.getElementById('@@AUTOID@@_innerdiv');\n\n //if we are playing, then stop\n if(!theaudio.paused){\n theaudio.pause();\n theaudio.currentTime = 0;\n return;\n}\n \n//if we have the Polly URL, we do no need to get it again\nif(theaudio.getAttribute('src') == undefined){\n fetch_polly_url(theinnerdiv.textContent,'@@defaultvoice@@',function(pollyurl){\n theaudio.setAttribute('src',pollyurl);\n theaudio.play(); \n }); \n}else{\n theaudio.play(); \n}\n\n\n\n\">\n\t\n\t \n\t \n \n\n\n\n","script":"","style":"button.roundmini-audio-player{\n\tborder: none;\n\tcolor: #fff;\n}\nbutton.roundmini-audio-player .fa{\n font-size: 28px;\n}\n.activesentence {\n background: #c5efcf;\n /* font-weight: bold; */\n}","dataset":"","datasetvars":"","alternate":"","alternateend":""}
\ No newline at end of file
diff --git a/presets/textblockreadercloud.txt b/presets/textblockreadercloud.txt
index b172a258..cb0cfc1e 100644
--- a/presets/textblockreadercloud.txt
+++ b/presets/textblockreadercloud.txt
@@ -1 +1 @@
-{"name":"Passage reader (Cloud)","key":"textblockreadercloud","version":"1.0.0","instructions":"This is a small html5 audio player that will read aloud the enclosed text block. There are text to speech options as well as the option to highlight words or sentences. Sentences works better. (Uses Cloud Poodll) ","showatto":"1","showplayers":"0","requirecss":"//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css","requirejs":"","shim":"","defaults":"highlightmode=\"sentence|word|none\",pause=\"fa-stop\",play=\"fa-volume-up\",stoporpause=\"stop|pause\", background=\"red\",color=\"#fff\",width=\"40\",height=\"40\",speaker=\"Male|Female\",language=\"English(US)|English(GB)|English(AU)|English(In)|English(Welsh)|Danish|Dutch|French(FR)|French(CA)|German|Icelandic|Italian|Japanese|Korean|Norwegian|Polish|Portugese(BR)|Portugese(PT)|Romanian|Russian|Spanish(ES)|Spanish(US)|Swedish|Turkish|Welsh\"","amd":"1","body":"\n\t\n\t \n\t \n \n","script":"//DECLARATIONS and INITs ...........................\nvar thesentence_number =0;\nvar lettered= false;\n\n//audio player declarations\nvar aplayer = $('#' + @@AUTOID@@).children().first();\nvar fa = $('#' + @@AUTOID@@ + ' .fa');\n\n//text to audio preparation\nvar poodllfilelib = M.cfg.wwwroot + '/filter/poodll/poodllfilelib.php?datatype=speaktext¶mone=';\nvar format = \"text\";\n\n//determine the voice\nvar mf=@@speaker@@\nswitch(@@language@@){\ncase \"English(US)\": voice = mf=='Male'?'Joey':'Kendra';break;\ncase \"English(GB)\": voice = mf=='Male'?'Brian':'Amy';break;\ncase \"English(AU)\": voice = mf=='Male'?'Russell':'Nicole';break;\ncase \"English(IN)\": voice = mf=='Male'?'Aditi':'Raveena';break;\ncase \"English(WELSH)\": voice = mf=='Male'? 'Geraint':'Geraint';break;\ncase \"Danish\": voice = mf=='Male'?'Mads':'Naja';break;\ncase \"Dutch\": voice = mf=='Male'?'Ruben':'Lotte';break;\ncase \"French(FR)\": voice = mf=='Male'?'Mathieu':'Celine';break;\ncase \"French(CA)\": voice = mf=='Male'?'Chantal':'Chantal';break;\ncase \"German\": voice = mf=='Male'?'Hans':'Marlene';break;\ncase \"Icelandic\": voice = mf=='Male'?'Karl':'Dora';break;\ncase \"Italian\": voice = mf=='Male'?'Carla':'Giorgio';break;\ncase \"Japanese\": voice = mf=='Male'?'Takumi':'Mizuki';break;\ncase \"Korean\": voice = mf=='Male'?'Seoyan':'Seoyan';break;\ncase \"Norwegian\": voice = mf=='Male'?'Liv':'Liv';break;\ncase \"Polish\": voice = mf=='Male'?'Jacek':'Ewa';break;\ncase \"Portugese(BR)\": voice = mf=='Male'?'Ricardo':'Vitoria';break;\ncase \"Portugese(PT)\": voice = mf=='Male'?'Cristiano':'Ines';break;\ncase \"Romanian\": voice = mf=='Male'?'Carmen':'Carmen';break;\ncase \"Russian\": voice = mf=='Male'?'Maxim':'Tatyana';break;\ncase \"Spanish(ES)\": voice = mf=='Male'?'Enrique':'Conchita';break;\ncase \"Spanish(US)\": voice = mf=='Male'?'Miguel':'Penelope';break;\ncase \"Swedish\": voice = mf=='Male'?'Astrid':'Astrid';break;\ncase \"Turkish\": voice = mf=='Male'?'Filiz':'Filiz';break;\ncase \"Welsh\": voice = mf=='Male'?'Gwyneth':'Gwyneth';break;\ndefault: voice = mf=='Male'?'Brian':'Amy';\n}\n\n\n//fetch the text to read\nvar useblock = $('#' + @@AUTOID@@ + '_textblock');\nvar usetext = useblock.text();\n//we replace tags with markers to survive going into a URL and out again\nusetext = usetext.replace(//gi, \"dddd\");\n\n//some common selectors\nvar wordselector = '#' + @@AUTOID@@+ '_textblock span.tbr_word';\nvar sentenceselector = '#' + @@AUTOID@@+ '_textblock span.tbr_sentence';\n\n//FUNCTIONS ...........................\n//FUNCTION fetch polly url\n var fetch_polly_url = function(speaktext, voice, callback) {\n\n //The REST API we are calling\n var functionname = 'local_cpapi_fetch_polly_url';\n\n //fetch the Posturl. We need this.\n //set up our ajax request\n var xhr = new XMLHttpRequest();\n var that = this;\n\n //set up our handler for the response\n xhr.onreadystatechange = function (e) {\n if (this.readyState === 4) {\n if (xhr.status == 200) {\n\n //get a yes or forgetit or tryagain\n var payload = xhr.responseText;\n var payloadobject = JSON.parse(payload);\n if (payloadobject) {\n //returnCode > 0 indicates an error\n if (payloadobject.returnCode > 0) {\n console.log(payloadobject.returnMessage);\n return false;\n //if all good, then lets do the embed\n } else if (payloadobject.returnCode === 0){\n var pollyurl = payloadobject.returnMessage;\n callback(pollyurl);\n } else {\n console.log('Polly Signed URL Request failed:');\n console.log(payloadobject);\n }\n } else {\n console.log('Polly Signed URL Request something bad happened');\n }\n } else {\n console.log('Polly Signed URL Request Not 200 response:' + xhr.status);\n }\n }\n };\n\n //make our request\n var xhrparams = \"wstoken=\" + @@CLOUDPOODLLTOKEN@@\n + \"&wsfunction=\" + functionname\n + \"&moodlewsrestformat=\" + 'json'\n + \"&text=\" + encodeURIComponent(speaktext)\n + '&texttype=text'\n + '&voice=' + voice\n + '&appid=' + 'filter_poodll'\n + '&owner=poodll'\n + '®ion=useast1';\n\n var serverurl = 'https://cloud.poodll.com' + \"/webservice/rest/server.php\";\n xhr.open(\"POST\", serverurl, true);\n xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n xhr.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\n xhr.send(xhrparams);\n };\n\n//FUNCTION: determine if the string is text or HTML\nvar isHTML = function (testString) {\n var htmlRegex = new RegExp(\"<([A-Za-z][A-Za-z0-9]*)\\\\b[^>]*>(.*?)\\\\1>\");\n return htmlRegex.test(testString);\n};\n\n//FUNCTION: split a text passage into words\nvar split_into_words= function(thetext){\n thetext = thetext.replace(/\\s+/g,' ').trim();\n if(thetext==''){return[]};\n return thetext.split(' '); \n};\n\n//FUNCTION: split a text passage into sentences\nvar split_into_sentences = function(thetext){\n thetext = thetext.replace(/\\s+/g,' ').trim();\n if(thetext ==''){return[]};\n return thetext.match(/([^\\.!\\?]+[\\.!\\?\"']+)|([^\\.!\\?\"']+$)/g); \n};\n\n//FUNCTION: break a text passage into words/sentences, and surround the words with marker tags\nvar spanify_text_passage = function(){\n //the itemcount er\n var itemcount = -1;\n\n //get all the text nodes in the useblock\n var textnodes = useblock.find('*').contents().filter(function(){ return this.nodeType == 3; });\n //wrap sentence or words in text block with spans\n textnodes.each(function(){\n var retpieces = ''; \n if(@@highlightmode@@=='word'){\n //for words\n var thewords = split_into_words($(this).text());\n for (var theword=0; theword < thewords.length; theword++){\n itemcount++;\n retpieces = retpieces + '' + thewords[theword] + ' ';\n }//end of for loop\n }else{\n //for sentences\n var thesentences = split_into_sentences($(this).text());\n for (var thesentence=0; thesentence < thesentences.length; thesentence++){\n itemcount++;\n retpieces = retpieces + '' + thesentences[thesentence] + ' ';\n }//end of for loop\n }\n $(this).replaceWith(retpieces);\n });//end of textnodes each\n};\n\n//FUNCTION: unhighlight a sentence as active\nvar dehighlight_all = function(){\n switch(@@highlightmode@@){\n case 'word':\n $(wordselector,useblock).removeClass('activesentence');\n break;\n case 'sentence':\n $(sentenceselector,useblock).removeClass('activesentence');\n break;\n case 'none':\n default:\n //do nothing\n }\n}\n\n//FUNCTION: highlight a sentence as active\nvar highlight_sentence = function(thesentence){\n switch(@@highlightmode@@){\n case 'word':\n $(wordselector,useblock).removeClass('activesentence');\n $(wordselector,useblock).slice(instancedata[@@AUTOID@@].wordstarts[thesentence],\n instancedata[@@AUTOID@@].wordstarts[thesentence] + \n instancedata[@@AUTOID@@].wordcounts[thesentence]).addClass('activesentence');\n break;\n case 'sentence':\n $(sentenceselector).removeClass('activesentence');\n $(sentenceselector + '[data-sentenceindex=' + thesentence + ']').addClass('activesentence');\n break;\n case 'none':\n default:\n //do nothing\n }\n}\n\n//FUNCTION: play a single sentence and mark it active for display purposes\nvar doplayaudio = function(thesentence){\n highlight_sentence(thesentence);\n aplayer.attr('src', instancedata[@@AUTOID@@].sentenceURLs[thesentence]);\n aplayer[0].play();\n};\n\n//AUDIO PLAYER events\naplayer[0].addEventListener('ended', function(){\n if(thesentence_number< sentences.length -1){\n thesentence_number++;\n doplayaudio(thesentence_number);\n }else{\n dehighlight_all();\n $(fa).removeClass(@@pause@@);\n $(fa).addClass(@@play@@);\n aplayer[0].pause();\n }\n});\n\n//handle audio player button clicks\n$('#' + @@AUTOID@@).click(function(){\n if(!aplayer[0].paused && !aplayer[0].ended){\n aplayer[0].pause();\n if(@@stoporpause@@=='stop'){\n aplayer[0].load();\n thesentence_number=0;\n }\n $(fa).removeClass(@@pause@@);\n $(fa).addClass(@@play@@);\n\n //if paused and in limbo no src state\n }else if(aplayer[0].paused && aplayer.attr('src')){\n aplayer[0].play();\n $(fa).removeClass(@@play@@);\n $(fa).addClass(@@pause@@);\n//play \n}else{\n if(!lettered){\n spanify_text_passage();\n lettered=true;\n };//end of if lettered\n if(@@stoporpause@@=='stop'){\n thesentence_number=0;\n } \n doplayaudio(thesentence_number);\n $(fa).removeClass(@@play@@);\n $(fa).addClass(@@pause@@);\n }//end of if paused ended\n});\n\n//handle sentence clicks\n$('#' + @@AUTOID@@ + '_textblock .tbr_innerdiv').on('click', '.tbr_sentence',function(){\naplayer[0].pause();\n var sentenceindex = $(this).attr('data-sentenceindex');\n $(fa).removeClass(@@play@@);\n $(fa).addClass(@@pause@@);\n thesentence_number = sentenceindex; \n doplayaudio(sentenceindex );\n});\n\n//PROCEDURAL stuff ...........................\n//break it into sentences, and fetch data + TTS URL for each sentence\nvar sentences = split_into_sentences(usetext);\nwordstarts=[];\nwordcounts=[];\nsentenceURLs=[];\nvar previousend=0;\nfor (var currentsentence=0;currentsentence\n\t\n\t \n\t \n\n","script":"//now we need to ensure multiple passages so we wrap it all in a function and call it at the end.\n//start of instance wrapper\nvar passagereader = function(PASSAGEID){\n\n//DECLARATIONS and INITs ...........................\nvar thesentence_number =0;\nvar lettered= false;\n\n//audio player declarations\nvar aplayer = $('#' + PASSAGEID + '_player');\nvar fa = $('#' + PASSAGEID + ' .fa');\n\n//text to audio preparation\nvar format = \"text\";\n\n//determine the voice\nvar mf=@@speaker@@\nswitch(@@language@@){\ncase \"English(US)\": voice = mf=='Male'?'Joey':'Kendra';break;\ncase \"English(GB)\": voice = mf=='Male'?'Brian':'Amy';break;\ncase \"English(AU)\": voice = mf=='Male'?'Russell':'Nicole';break;\ncase \"English(IN)\": voice = mf=='Male'?'Aditi':'Raveena';break;\ncase \"English(WELSH)\": voice = mf=='Male'? 'Geraint':'Geraint';break;\ncase \"Danish\": voice = mf=='Male'?'Mads':'Naja';break;\ncase \"Dutch\": voice = mf=='Male'?'Ruben':'Lotte';break;\ncase \"French(FR)\": voice = mf=='Male'?'Mathieu':'Celine';break;\ncase \"French(CA)\": voice = mf=='Male'?'Chantal':'Chantal';break;\ncase \"German\": voice = mf=='Male'?'Hans':'Marlene';break;\ncase \"Icelandic\": voice = mf=='Male'?'Karl':'Dora';break;\ncase \"Italian\": voice = mf=='Male'?'Carla':'Giorgio';break;\ncase \"Japanese\": voice = mf=='Male'?'Takumi':'Mizuki';break;\ncase \"Korean\": voice = mf=='Male'?'Seoyan':'Seoyan';break;\ncase \"Norwegian\": voice = mf=='Male'?'Liv':'Liv';break;\ncase \"Polish\": voice = mf=='Male'?'Jacek':'Ewa';break;\ncase \"Portugese(BR)\": voice = mf=='Male'?'Ricardo':'Vitoria';break;\ncase \"Portugese(PT)\": voice = mf=='Male'?'Cristiano':'Ines';break;\ncase \"Romanian\": voice = mf=='Male'?'Carmen':'Carmen';break;\ncase \"Russian\": voice = mf=='Male'?'Maxim':'Tatyana';break;\ncase \"Spanish(ES)\": voice = mf=='Male'?'Enrique':'Conchita';break;\ncase \"Spanish(US)\": voice = mf=='Male'?'Miguel':'Penelope';break;\ncase \"Swedish\": voice = mf=='Male'?'Astrid':'Astrid';break;\ncase \"Turkish\": voice = mf=='Male'?'Filiz':'Filiz';break;\ncase \"Welsh\": voice = mf=='Male'?'Gwyneth':'Gwyneth';break;\ndefault: voice = mf=='Male'?'Brian':'Amy';\n}\n\n\n//fetch the text to read\nvar useblock = $('#' + PASSAGEID + '_textblock');\nvar usetext = useblock.text();\n\n//some common selectors\nvar wordselector = '#' + PASSAGEID+ '_textblock span.tbr_word';\nvar sentenceselector = '#' + PASSAGEID+ '_textblock span.tbr_sentence';\n\n//FUNCTIONS ...........................\n//FUNCTION fetch polly url\n var fetch_polly_url = function(speaktext, voice, callback) {\n\n //The REST API we are calling\n var functionname = 'local_cpapi_fetch_polly_url';\n\n //fetch the Posturl. We need this.\n //set up our ajax request\n var xhr = new XMLHttpRequest();\n var that = this;\n\n //set up our handler for the response\n xhr.onreadystatechange = function (e) {\n if (this.readyState === 4) {\n if (xhr.status == 200) {\n\n //get a yes or forgetit or tryagain\n var payload = xhr.responseText;\n var payloadobject = JSON.parse(payload);\n if (payloadobject) {\n //returnCode > 0 indicates an error\n if (payloadobject.returnCode > 0) {\n console.log(payloadobject.returnMessage);\n return false;\n //if all good, then lets do the embed\n } else if (payloadobject.returnCode === 0){\n var pollyurl = payloadobject.returnMessage;\n callback(pollyurl);\n } else {\n console.log('Polly Signed URL Request failed:');\n console.log(payloadobject);\n }\n } else {\n console.log('Polly Signed URL Request something bad happened');\n }\n } else {\n console.log('Polly Signed URL Request Not 200 response:' + xhr.status);\n }\n }\n };\n\n //make our request\n var xhrparams = \"wstoken=\" + @@CLOUDPOODLLTOKEN@@\n + \"&wsfunction=\" + functionname\n + \"&moodlewsrestformat=\" + 'json'\n + \"&text=\" + encodeURIComponent(speaktext)\n + '&texttype=text'\n + '&voice=' + voice\n + '&appid=' + 'filter_poodll'\n + '&owner=poodll'\n + '®ion=useast1';\n\n var serverurl = 'https://cloud.poodll.com' + \"/webservice/rest/server.php\";\n xhr.open(\"POST\", serverurl, true);\n xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n xhr.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\n xhr.send(xhrparams);\n };\n\n//FUNCTION: determine if the string is text or HTML\nvar isHTML = function (testString) {\n var htmlRegex = new RegExp(\"<([A-Za-z][A-Za-z0-9]*)\\\\b[^>]*>(.*?)\\\\1>\");\n return htmlRegex.test(testString);\n};\n\n//FUNCTION: split a text passage into words\nvar split_into_words= function(thetext){\n thetext = thetext.replace(/\\s+/g,' ').trim();\n if(thetext==''){return[]};\n return thetext.split(' '); \n};\n\n//FUNCTION: split a text passage into sentences\nvar split_into_sentences = function(thetext){\n thetext = thetext.replace(/\\s+/g,' ').trim();\n if(thetext ==''){return[]};\n return thetext.match(/([^\\.!\\?]+[\\.!\\?\"']+)|([^\\.!\\?\"']+$)/g); \n};\n\n//FUNCTION: break a text passage into words/sentences, and surround the words with marker tags\nvar spanify_text_passage = function(){\n //the itemcount er\n var itemcount = -1;\n\n //get all the text nodes in the useblock\n var textnodes = useblock.find('*').contents().filter(function(){ return this.nodeType == 3; });\n //wrap sentence or words in text block with spans\n textnodes.each(function(){\n var retpieces = ''; \n if(@@highlightmode@@=='word'){\n //for words\n var thewords = split_into_words($(this).text());\n for (var theword=0; theword < thewords.length; theword++){\n itemcount++;\n retpieces = retpieces + '' + thewords[theword] + ' ';\n }//end of for loop\n }else{\n //for sentences\n var thesentences = split_into_sentences($(this).text());\n for (var thesentence=0; thesentence < thesentences.length; thesentence++){\n itemcount++;\n retpieces = retpieces + '' + thesentences[thesentence] + ' ';\n }//end of for loop\n }\n $(this).replaceWith(retpieces);\n });//end of textnodes each\n};\n\n//FUNCTION: unhighlight a sentence as active\nvar dehighlight_all = function(){\n switch(@@highlightmode@@){\n case 'word':\n $(wordselector,useblock).removeClass('activesentence');\n break;\n case 'sentence':\n $(sentenceselector,useblock).removeClass('activesentence');\n break;\n case 'none':\n default:\n //do nothing\n }\n}\n\n//FUNCTION: highlight a sentence as active\nvar highlight_sentence = function(thesentence){\n switch(@@highlightmode@@){\n case 'word':\n $(wordselector,useblock).removeClass('activesentence');\n $(wordselector,useblock).slice(wordstarts[thesentence],\n wordstarts[thesentence] + \n wordcounts[thesentence]).addClass('activesentence');\n break;\n case 'sentence':\n $(sentenceselector).removeClass('activesentence');\n $(sentenceselector + '[data-sentenceindex=' + thesentence + ']').addClass('activesentence');\n break;\n case 'none':\n default:\n //do nothing\n }\n}\n\n//FUNCTION: play a single sentence and mark it active for display purposes\nvar doplayaudio = function(thesentence){\n highlight_sentence(thesentence);\n aplayer.attr('src',sentenceURLs[thesentence]);\n aplayer[0].play();\n};\n\n//AUDIO PLAYER events\naplayer[0].addEventListener('ended', function(){\n if(thesentence_number< sentences.length -1){\n thesentence_number++;\n doplayaudio(thesentence_number);\n }else{\n dehighlight_all();\n $(fa).removeClass(@@pause@@);\n $(fa).addClass(@@play@@);\n aplayer[0].pause();\n }\n});\n\n//handle audio player button clicks\n$('#' + PASSAGEID).click(function(){\n if(!aplayer[0].paused && !aplayer[0].ended){\n aplayer[0].pause();\n if(@@stoporpause@@=='stop'){\n aplayer[0].load();\n thesentence_number=0;\n }\n $(fa).removeClass(@@pause@@);\n $(fa).addClass(@@play@@);\n\n //if paused and in limbo no src state\n }else if(aplayer[0].paused && aplayer.attr('src')){\n aplayer[0].play();\n $(fa).removeClass(@@play@@);\n $(fa).addClass(@@pause@@);\n//play \n}else{\n if(!lettered){\n spanify_text_passage();\n lettered=true;\n };//end of if lettered\n if(@@stoporpause@@=='stop'){\n thesentence_number=0;\n } \n doplayaudio(thesentence_number);\n $(fa).removeClass(@@play@@);\n $(fa).addClass(@@pause@@);\n }//end of if paused ended\n});\n\n//handle sentence clicks\n$('#' + PASSAGEID + '_textblock .tbr_innerdiv').on('click', '.tbr_sentence',function(){\naplayer[0].pause();\n var sentenceindex = $(this).attr('data-sentenceindex');\n $(fa).removeClass(@@play@@);\n $(fa).addClass(@@pause@@);\n thesentence_number = sentenceindex; \n doplayaudio(sentenceindex );\n});\n\n//PROCEDURAL stuff ...........................\n//break it into sentences, and fetch data + TTS URL for each sentence\nvar sentences = split_into_sentences(usetext);\nvar wordstarts=[];\nvar wordcounts=[];\nvar sentenceURLs=[];\nvar previousend=0;\nfor (var currentsentence=0;currentsentence